[FFmpeg-devel] [PATCH] avfilter/vf_bwdif: Remove undesireable spatial preference logic
Thomas Mundt
tmundt75 at gmail.com
Sat Mar 25 01:02:03 EET 2023
Hi Philip,
Philip Langdale <philipl at overt.org> schrieb am Fr., 24. März 2023, 23:21:
> bwdif inherited this check from yadif, which was originally supposed to
> prefer the spatial predictor if the temporal predictor was too far off.
>
> However, the core bwdif algorithm already accounts for the spatial
> predictor, so this additional check actually ends up preferring a worse
> value, reducing the overall quality.
>
> This was found by cyanreg while writing bwdif_vulkan, and the visual
> improvement is pretty dramatic in some samples. If we agree that this
> change is desirable, we should update all implementations.
>
> Signed-off-by: Philip Langdale <philipl at overt.org>
> ---
> libavfilter/vf_bwdif.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/libavfilter/vf_bwdif.c b/libavfilter/vf_bwdif.c
> index 65c617ebb3..441bb11e7b 100644
> --- a/libavfilter/vf_bwdif.c
> +++ b/libavfilter/vf_bwdif.c
> @@ -106,11 +106,6 @@ typedef struct ThreadData {
> interpol = (c + e) >> 1;
>
> #define FILTER2() \
> - if (interpol > d + diff) \
> - interpol = d + diff; \
> - else if (interpol < d - diff) \
> - interpol = d - diff; \
> - \
>
Removing this will make lower thirds and other graphic jump up and down
each frame. It is the main improvement over w3fdif that I have ported from
yadif.
Can you provide samples including still graphics that are improved with
this patch?
Regards,
Thomas
>
More information about the ffmpeg-devel
mailing list