[vlc-devel] [PATCH] Fixed incorrect backward/forward reference ordering in vaapi deinterlacing

Steve Lhomme robux4 at gmail.com
Wed Jun 28 08:33:46 CEST 2017


On Tue, Jun 27, 2017 at 9:21 PM, Oliver Collyer <ovcollyer at mac.com> wrote:
>
>> On 27 Jun 2017, at 16:25, Victorien Le Couviour--Tuffet <victorien.lecouviour.tuffet at gmail.com> wrote:
>>
>> On Tue, Jun 27, 2017 at 03:58:48PM +0300, Oliver Collyer wrote:
>>> After testing the Motion Adaptive deinterlacing mode and finding it produced lots of flicker/judder and not much deinterlacing I traced the error back to the below.
>>>
>>> Although it seems a little counter-intuitive, the "forward_refs" are actually the frames older than the current one, and the "backward_refs" are those later.
>>>
>>> In addition, the forward_refs (previously the backward_refs) have to be ordered such that [0] is most recent, [1] older, etc; before this patch it was the opposite.
>>>
>>> Just to be 100% sure, I have also cross-referenced this approach with how FFmpeg does it:
>>>
>>> https://github.com/FFmpeg/FFmpeg/blob/master/libavfilter/vf_deinterlace_vaapi.c <https://github.com/FFmpeg/FFmpeg/blob/master/libavfilter/vf_deinterlace_vaapi.c>
>>>
>>> See function deint_vaapi_filter_frame.
>>>
>>
>> Oh thanks I would have never guessed that. It is indeed a bit
>> counter-intuitive. And obviously the VA documentation does not tell you that.
>> I was probably not able to see those flicker/judder by myself as on my computer
>> I only have one backward frame. Anyway, thanks again.
>> Also, LGTM.
>>
>
> I may have noticed it more clearly because I had hacked in frame doubling too.
>
> Do you have any plans to add support for a frame rate doubling output? i.e. some sort of "Output one frame per field" option? Both dxva2 and vaapi deinterlacing lack this, and I think it's rather important. Watching any sort of interlaced sports content is way smoother.

It's coming for DXVA2 and D3D11VA for bob and yadif2x.

> I would be happy to add it, it's quite straightforward, but I wasn't too sure how the option should be specified. Would each of the interlace modes "Bob" and "x" have an extra "Bobx2" and "xx2" counterpart (like the way Yadfifx2 works for software deinterlacing), or should it be a different option completely?
>
> Of course, you may already have this in your plans, in which case you may ignore me!
>
>> Regards.
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list