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

Reply via email to