Ad hoc Networks are gaining popularity as a result of advances in smaller, more versatile and powerful mobile computing devices. The distinguishing feature of these networks is the universal mobility of all hosts. This requires re-engineering of basic network services including reliable multicast communication. This paper studies efficient routing mechanisms for multicast and broadcast in ad hoc wireless networks taking into consideration that, number of packet forwarding is the more important factor which has to be optimized than the number of links in the ad hoc network. As constructing minimum cost multicast tree is hard, two new coding methods, self pruning and dominant pruning are described. Both methods utilize neighbour information to reduce redundant transmissions. Performance analysis shows that both methods perform significantly better than blind coding which is considered as alternative for reliable multicast.