Hi, I'm starting work on bringing H264 support to Mac and it was suggested I post here to get some feedback from the resident Mac/Codec gurus.
Roughly, the plan is: 1. Find/implement an MP4 demuxer. (see end of email for "WHY?!") Seemed straightforward to implement at first, but quite fiddly getting at all the information we need to decode AVC. I'm currently looking at demuxers from open source projects I might be able to use. But, each demuxer is tied into its own project's streaming code, which is in turn tied up in all the other common code in the project, making repurposing them difficult. VLC's libmp4 looks the most attractive at the moment. 2. Decode things! Take the audio and video samples and pass them on to the corresponding Apple decompression framework -- AudioToolbox for audio, QuickTime Image Compression Manager for video (this framework gives us support back to 10.6). 3. Hardware acceleration. OSX 10.7 provides the VideoDecodeAcceleration framework which is specifically meant for hardware accelerated decoding of H264 video. Its API is very similar to that of QuickTime's ICM. Questions I have: - Are there any good demuxing libraries out there that I could use? - Is there any IP protection around the MP4 container format itself, or the AVC specific boxes, or the AVC Network Abstraction Layer, that would prevent us from being able to ship an MP4 parser capable of extracting AVC samples and the metadata required to decode those samples? Questions you have: Why not just use the AVFoundation/QTKit/QuickTime framework? (or, Y U IMPLEMENT MP4 PARSER?) All of these frameworks take URIs, filenames, or the whole file in memory at once. So far as I can see, there isn't a way to crack any of them open and stick a MediaResource in there. If I'm wrong about this, I'd be very interested to hear about it. Any guidance would be greatly appreciated. Cheers, Edwin _______________________________________________ dev-media mailing list [email protected] https://lists.mozilla.org/listinfo/dev-media

