]> git.sesse.net Git - ffmpeg/commitdiff
avfilter/vf_scale: store the offset in a local variable before adding it
authorJames Almer <jamrial@gmail.com>
Thu, 29 Apr 2021 16:14:06 +0000 (13:14 -0300)
committerJames Almer <jamrial@gmail.com>
Fri, 30 Apr 2021 22:35:56 +0000 (19:35 -0300)
Signed-off-by: James Almer <jamrial@gmail.com>
libavfilter/vf_scale.c

index d95a8ad48a638902861a25244f24a5a6696fc78d..759499395fcca267b85e839e40ee740dbd048178 100644 (file)
@@ -632,10 +632,12 @@ static int scale_slice(AVFilterLink *link, AVFrame *out_buf, AVFrame *cur_pic, s
 
     for (i=0; i<4; i++) {
         int vsub= ((i+1)&2) ? scale->vsub : 0;
+        ptrdiff_t  in_offset = ((y>>vsub)+field) * cur_pic->linesize[i];
+        ptrdiff_t out_offset =            field  * out_buf->linesize[i];
          in_stride[i] = cur_pic->linesize[i] * mul;
         out_stride[i] = out_buf->linesize[i] * mul;
-         in[i] = FF_PTR_ADD(cur_pic->data[i], ((y>>vsub)+field) * cur_pic->linesize[i]);
-        out[i] = FF_PTR_ADD(out_buf->data[i],            field  * out_buf->linesize[i]);
+         in[i] = FF_PTR_ADD(cur_pic->data[i],  in_offset);
+        out[i] = FF_PTR_ADD(out_buf->data[i], out_offset);
     }
     if (scale->input_is_pal)
          in[1] = cur_pic->data[1];