[FFmpeg-devel] [PATCH, v2] lavf/vf_deinterlace_vaapi: flush queued frame for field in DeinterlacingBob

Xiang, Haihao haihao.xiang at intel.com
Wed Jan 12 05:03:24 EET 2022


On Mon, 2022-01-10 at 06:58 +0000, Xiang, Haihao wrote:
> On Sun, 2022-01-09 at 18:32 +0000, Mark Thompson wrote:
> > On 29/12/2021 03:45, Xiang, Haihao wrote:
> > > > -----Original Message-----
> > > > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Linjie
> > > > Fu
> > > > Sent: Wednesday, September 18, 2019 16:20
> > > > To: ffmpeg-devel at ffmpeg.org
> > > > Cc: Fu, Linjie <linjie.fu at intel.com>
> > > > Subject: [FFmpeg-devel] [PATCH, v2] lavf/vf_deinterlace_vaapi: flush
> > > > queued
> > > > frame for field in DeinterlacingBob
> > > > 
> > > > For DeinterlacingBob mode with rate=field, the frame number of output
> > > > should equal 2x input total since only intra deinterlace is used.
> > > > 
> > > > Currently for "backward_ref = 0, rate = field", extra_delay is
> > > > introduced. Due to the async without flush, frame number of output is
> > > > [expected_number - 2].
> > > > 
> > > > Specifically, if the input only has 1 frame, the output will be empty.
> > > > 
> > > > Add deint_vaapi_request_frame for deinterlace_vaapi, send NULL frame
> > > > to flush the queued frame.
> > > > 
> > > > For 1 frame input in Bob mode with rate=field,
> > > > before patch: 0 frame;
> > > > after  patch: 2 frames;
> > > > 
> > > > ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128
> > > >          -hwaccel_output_format vaapi -i input.h264 -an -vf
> > > >          deinterlace_vaapi=mode=bob:rate=field -f null -
> > > 
> > > Sorry for picking up the old thread.
> > > 
> > > Hi Mark,
> > > 
> > > Is your issue mentioned in 
> > > http://ffmpeg.org/pipermail/ffmpeg-devel/2019-September/250080.html
> > > fixed by this patch version ? I'd like to apply this patch if it may work
> > > for you.
> > 
> > Yep, it now gives the expected number of frames and I do not have any
> > segfaults.
> > 
> > I tested drivers with { forward = 0, backward = 0 } (iHD), { forward = 1,
> > backward = 0 } (i965) and { forward = 2, backward = 1 } (gallium).
> > 
> > Thanks,
> 
> Thanks for confirming it works, and I will apply this patch version if no
> objection.
> 

Applied, thx!

-Haihao



More information about the ffmpeg-devel mailing list