[FFmpeg-devel] [PATCH] libavfilter/vf_overlay.c Correct small error in intersection detection.

Benedict Endemann bendemann at make.tv
Sat Oct 26 15:22:44 CEST 2013


The image size of the destination image was used to
 determine if an source image was positioned in a way 
'left' or 'above' the destination image, that no
 intersection could occur.
 Actually for this two cases the size of the source image
 has to be used!

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

diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
index b5ade85..89e11e8 100644
--- a/libavfilter/vf_overlay.c
+++ b/libavfilter/vf_overlay.c
@@ -346,8 +346,8 @@ static void blend_image(AVFilterContext *ctx,
     const int dst_w = dst->width;
     const int dst_h = dst->height;
 
-    if (x >= dst_w || x+dst_w  < 0 ||
-        y >= dst_h || y+dst_h < 0)
+    if (x >= dst_w || x+src_w < 0 ||
+        y >= dst_h || y+src_h < 0)
         return; /* no intersection */
 
     if (s->main_is_packed_rgb) {
-- 
1.7.12.4 (Apple Git-37)



More information about the ffmpeg-devel mailing list