<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="white-space: pre-wrap;"><span class="Apple-style-span" style="font-size: 13px; ">Hi,

In attachment a patch that implements a vlc module/codec (my first vlc module implementation....) which takes benefits of the video acceleration API (VDA) on Mac OS X. I wrote the patch against the vlc-1.1 branche.

To compile you need to install the VDADecoder header as documented in the apple technical note 2267 :</span></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="white-space: pre-wrap;"><span class="Apple-style-span" style="font-size: 13px; "><a href="http://developer.apple.com/mac/library/technotes/tn2010/tn2267.html">http://developer.apple.com/mac/library/technotes/tn2010/tn2267.html</a>
And, then you have to link against the 10.6 sdk.

Note that the acceleration only works with H264 video in a mp4 container. The profits of video acceleration are visibles, they depend of the media's settings. I've to do some more advanced benchmark to quantify the performance improvment.</span></span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="white-space: pre-wrap;"><span class="Apple-style-span" style="font-size: 13px; ">H264 in MKV fail by generating "late picture" warnings (maybe the conversion : PIX_FMT_UYVY422 -> PIX_FMT_YUV420P or missing things in the DecodeBlock implementation).
I've noticed that the vda decoder is strict about the resolution: it is able to decode only 720p resolution (probably 1080p but i've no media for testing).

Moreover, the decoder needs more code to extract the avcC data from stream H264 in ts or m2ts container. Is there some existing vlc's code that parses H264 bytestream which is factorizable ? Maybe a vlc.git/module/codec/avcodec would be a better solution but it requires some changes in ffmpeg.git/libavcodec.
<br></span></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="white-space: pre-wrap;"><span class="Apple-style-span" style="font-size: 13px; ">Any help/advices appreciated... :)</span></span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="white-space: pre-wrap;"><span class="Apple-style-span" style="font-size: 13px; ">
--
Sebastien Zwickert</span></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="white-space: pre-wrap;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="white-space: pre-wrap;"><br>
</span></font></div>