[FFmpeg-devel] [PATCH 1/2] lavc/encode: improve the empty frame check
Anton Khirnov
anton at khirnov.net
Mon Dec 13 15:30:32 EET 2021
Quoting James Almer (2021-12-13 12:40:49)
> On 12/13/2021 7:47 AM, Anton Khirnov wrote:
> > Test for buf[0] rather than data[0] (which is broken for some hwaccel
> > formats).
> > ---
> > libavcodec/encode.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/encode.c b/libavcodec/encode.c
> > index dd25cf999b..5575cf23db 100644
> > --- a/libavcodec/encode.c
> > +++ b/libavcodec/encode.c
> > @@ -366,7 +366,7 @@ int attribute_align_arg avcodec_send_frame(AVCodecContext *avctx, const AVFrame
> > if (avci->draining)
> > return AVERROR_EOF;
> >
> > - if (avci->buffer_frame->data[0])
> > + if (avci->buffer_frame->buf[0])
>
> (avci->buffer_frame->buf[0] || (avci->buffer_frame->data[0]). Right now
> you can pass it a non reference counted frame which will be made into
> one by av_frame_ref() when stored in the encode context for processing,
> which the doxy allows, and this patch as is will break it.
Will it? As you said - av_frame_ref() ensures buffer_frame is always
refcounted.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list