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

Anton Khirnov anton at khirnov.net
Wed Jul 31 14:26:23 EEST 2024


Quoting Michael Niedermayer (2024-07-24 20:44:50)
> On Tue, Jul 16, 2024 at 07:11:48PM +0200, Anton Khirnov wrote:
> > Reorganize the code such that the frame threading code does not call the
> > decoders directly, but instead calls back into the generic decoding
> > code. This avoids duplicating the logic that wraps the decoder
> > invocation and allows receive_frame()-based decoders to use frame
> > threading.
> > 
> > Further work by Timo Rothenpieler <timo at rothenpieler.org>.
> > ---
> >  libavcodec/avcodec.c          |   9 +-
> >  libavcodec/avcodec_internal.h |  25 +--
> >  libavcodec/decode.c           |  40 +++--
> >  libavcodec/internal.h         |   7 +
> >  libavcodec/pthread_frame.c    | 278 +++++++++++++++++++++-------------
> >  5 files changed, 235 insertions(+), 124 deletions(-)
> 
> this (frm your recive_frame branch) breaks:

Then I will need to reintroduce some form of patch 28 - ideally its
second iteration split into 3 patches, as then the ownership semantics
of slice_damaged is much simpler.

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list