[FFmpeg-cvslog] avfilter/vf_chromakey: fix formula for calculation of difference

Paul B Mahol git at videolan.org
Tue May 19 21:12:58 EEST 2020


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sat May 16 19:48:17 2020 +0200| [5646d02cb37098d7581fddd6f09f7a0003318611] | committer: Paul B Mahol

avfilter/vf_chromakey: fix formula for calculation of difference

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5646d02cb37098d7581fddd6f09f7a0003318611
---

 libavfilter/vf_chromakey.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vf_chromakey.c b/libavfilter/vf_chromakey.c
index ce8003657c..4b1669d084 100644
--- a/libavfilter/vf_chromakey.c
+++ b/libavfilter/vf_chromakey.c
@@ -56,7 +56,7 @@ static uint8_t do_chromakey_pixel(ChromakeyContext *ctx, uint8_t u[9], uint8_t v
         du = (int)u[i] - ctx->chromakey_uv[0];
         dv = (int)v[i] - ctx->chromakey_uv[1];
 
-        diff += sqrt((du * du + dv * dv) / (255.0 * 255.0));
+        diff += sqrt((du * du + dv * dv) / (255.0 * 255.0 * 2));
     }
 
     diff /= 9.0;
@@ -78,7 +78,7 @@ static uint16_t do_chromakey_pixel16(ChromakeyContext *ctx, uint16_t u[9], uint1
         du = (int)u[i] - ctx->chromakey_uv[0];
         dv = (int)v[i] - ctx->chromakey_uv[1];
 
-        diff += sqrt((du * du + dv * dv) / (max * max));
+        diff += sqrt((du * du + dv * dv) / (max * max * 2));
     }
 
     diff /= 9.0;



More information about the ffmpeg-cvslog mailing list