There are 2^28 possible IP multicast addresses, but only 2^23 possible Ethernet (MAC) multicast addresses (http://technet.microsoft.com/en-us/library/cc957928.aspx), which is why e.g. 224.1.1.1 gets mapped to the same MAC address as 224.129.1.1.
This can be inefficient as hosts interested in only the former address will end up receiving packets for the latter as well, i.e. filtering is not done by the switch/router, but in the host itself.
Now IGMP works using IP addresses, and IGMP snooping switches descend to layer 3 anyway. Doesn't this mean that IGMP snooping switches don't suffer from this MAC multicast address ambiguity problem and can route in a way that hosts only interested in 224.1.1.1 don't get packets for 224.129.1.1?