2015-08-09 19:19 GMT+08:00 Hendrik Leppkes <h.lepp...@gmail.com>:
> On Sun, Aug 9, 2015 at 1:11 PM, Sebastien Zwickert <dilar...@gmail.com> wrote:
>> This patch allows to use the Videotoolbox API in asynchonous mode.
>> Note that when using async decoding the user is responsible for
>> releasing the async frame.
>> Moreover, an option called videotoolbox_async was added to enable
>> async decoding with ffmpeg CLI.
>>
>
> I'm not sure about your approach. I can already see you getting loads
> of problems with frame order. pts is not guaranteed to be present or
> reliable, and using it for re-ordering your async frames is probably
> unreliable at best.
> avcodec does proper re-ordering, and the only reliable way would be to
> somehow manage to associate the AVFrame avcodec is going to output
> with your async frame, so that you can trust avcodecs re-ordering.

There is a trick used in VLC and XBMC.

if (newFrame->pts != AV_NOPTS_VALUE) {
    newFrame->sort = newFrame->pts;
} else {
    newFrame->sort = newFrame->dts;
}

avcodec API is better if any exists

> Isnt there a way to put a "handle" to the async frame into the AVFrame
> somehow, which can then be used by the user code to get it from VT?

The fourth parameter ''sourceFrameRefCon" of VTDecompressionSessionDecodeFrame
 is passed to callback.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to