[FFmpeg-devel] [PATCH v6] lavc: convert frame threading to the receive_frame() pattern

James Almer jamrial at gmail.com
Tue Dec 20 18:15:24 EET 2022


On 12/20/2022 1:06 PM, Timo Rothenpieler wrote:
>>
>> Generally, I don't see the advantage of this. The only decoder that
>> would benefit from it is SMVJPEG, yet for all other codecs it will just
>> involve more allocs+frees.
> 
> Being unable to support newer encoders because only the old (and I 
> thought deprecated, but apprently not, given encoders are getting ported 
> back to it??) is a pretty bad situation, and could hold back some progress.

Decoders. And what was deprecated and removed was the public API, not 
the internal callback.
For 1:1 decoders, or decoders with no delay or buffering, the decoupled 
input/output callback is overkill, so you'll keep seeing new decoders 
added using the old one in the future.
But similarly, new decoders can and will be added using the decoupled IO 
callback, so this change is necessary so any future decoder that intends 
to have frame threading isn't forced to use the old callback when it 
could benefit from the new. An obvious case would be the (hopefully) 
eventual native AV1 decoder.

> 
> So adding the ability for frame threading to work for everything seems 
> natural and neccesary to me.

Yes.


More information about the ffmpeg-devel mailing list