[FFmpeg-devel] [PATCH, v2] lavf/vf_deinterlace_vaapi: flush queued frame for field in DeinterlacingBob
Mark Thompson
sw at jkqxz.net
Sun Jan 9 20:32:07 EET 2022
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,
- Mark
More information about the ffmpeg-devel
mailing list