Dear Apple: Please bring 3rd Party Codec Support to AVFoundation

Hey everyone!

Like many other developers who are writing video software for the Macintosh one of the biggest road blocks for us moving to a 64-bit version of VDMX is swapping out QuickTime code for AVFoundation. While this is becoming more and more possible with the release of Mavericks, in particular the ability to use specialized 3rd party codecs such as Hap has not been opened to the developer community and is severely limiting to real-time visual artists working on the Mac.

Front Pictures using 26 layers of Hap Q on 52 projectors played from Touch Designer on Renaissance

If you're a developer or video professional on the Mac, please take a few minutes and fill out a feature request for 10.10 asking Apple to release the documentation for the "Professional Video Workflow Plug-In" specification. Below is a template you can use, or write your own feature request explaining how you use 3rd party codecs like Hap in your own work.


 

Please post documentation and/or sample code with the specs and requirements necessary to produce a "Professional Video Workflow Plug-In" for OS X.

The quiet addition of "Professional Video Workflow Plug-Ins" and their use in Apple's own professional applications is a tacit admission that a modular plugin architecture for working with codecs is still a necessary and vitally important step in using AVFoundation to develop professional and special-purpose video applications.  Third-party developers need this capability every bit as much as apple's internal dev teams, for the very same reasons.

If a specific example would help clarify the issue, look no further than the Hap codec, which has been specifically optimized to enable the playback of large numbers of high-res video files simultaneously: 
https://github.com/vidvox/hap

-- Under QuickTime, a stock retina MBP can play back 10 layers of 1080p/30fps Hap video in OS X before it starts dropping frames; more video can be played back simply by adding more/faster drives:
http://vdmx.vidvox.net/blog/hap

-- The d3 "4x4 pro"- a media server for major event production widely used by more professional touring musicians than you can shake a stick at- uses Hap to play back eight layers of 4k video in realtime:
http://www.d3technologies.com/products/4x4pro

…and to nobody's surprise, we've learned that Hap is extremely well-suited to projection mapping and dome installations, both of which are typically seen in large-scale, high-end events:
http://www.augmentedart.com/projects/red-bull-murals-a-heros-journey/
http://www.blendydomevj.com/
http://omnido.me/

None of the examples on this page can be achieved with AVFoundation in its current state- all of the above apps are either based on QuickTime (OS X and Windows) or DirectShow (Windows).  Unfortunately, AVFoundation's built-in codecs are several orders of magnitude too slow for this type of application, and our inability to create a third-party codec means that this sort of performance simply cannot be realized with the framework- and this is just one concrete example.

This is an unfortunate and hopefully short-lived shortcoming, as AVFoundation appears to be capable of working with externally-produced codecs installed as "Professional Video Workflow Plug-Ins".  Please publish the information necessary to allow third-party devs to produce their own "Professional Video Workflow Plug-Ins".  Doing so can only help to cement OS X as the platform of choice for creative professionals with ambitious visions- visions that depend on the sort of bleeding-edge performance and flexible, useful API everyone should associate with OS X and Apple hardware.

 

(How to fill out a feature request for 3rd party codec support)

Once again, the place to point your web browser is https://bugreport.apple.com/ to ask Apple to include official 3rd party codec support in AVFoundation for the next version of the Mac OS!

Thanks for taking the time!