[FFmpeg-cvslog] bwdif_vulkan: clamp the temporarily interpolated sample spatially
Lynne
git at videolan.org
Tue Jul 4 01:53:29 EEST 2023
ffmpeg | branch: master | Lynne <dev at lynne.ee> | Tue Jul 4 00:48:09 2023 +0200| [9ff834c2a0dbbe5544ec09b56d077a3b21f728c0] | committer: Lynne
bwdif_vulkan: clamp the temporarily interpolated sample spatially
This makes the filter output match that of the C version.
It was left intentionally while we figured out if it was better
or not, and while it makes certain samples better, it makes static
samples jump around slightly.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9ff834c2a0dbbe5544ec09b56d077a3b21f728c0
---
libavfilter/vf_bwdif_vulkan.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/libavfilter/vf_bwdif_vulkan.c b/libavfilter/vf_bwdif_vulkan.c
index 1fc74d1544..db916b22cd 100644
--- a/libavfilter/vf_bwdif_vulkan.c
+++ b/libavfilter/vf_bwdif_vulkan.c
@@ -86,8 +86,7 @@ static const char filter_fn[] = {
C(0, )
C(1, bvec4 interpolate_cnd1 = greaterThan(abs(fc - fe), temp_diff[0]); )
C(1, vec4 interpol = mix(interpolate_cur, interpolate_all, interpolate_cnd1); )
- /* Cliping interpol between [fd - diff, fd + diff] is intentionally left out.
- * Removing the clipping increases quality. TODO: research and fix the C version to match this. */
+ C(1, interpol = clamp(interpol, fd - diff, fd + diff); )
C(1, return mix(interpol, fd, diff_mask); )
C(0, } )
};
More information about the ffmpeg-cvslog
mailing list