diff mbox

[FFmpeg-devel,V2] lavfi/deshake: fix deshake crash issue.

Message ID 1537524144-24668-1-git-send-email-mypopydev@gmail.com
State Accepted
Commit 5a3ce4a92b84cded3aab7ffd7fb80e0c9130e74c
Headers show

Commit Message

Jun Zhao Sept. 21, 2018, 10:02 a.m. UTC
Fixes ticket #7441.

for block contrast calculate, the block is like this:

|<---------------- stride-----------------------|
+----------------------------------------------->  X
|
|            w = 16
|    (cx,cy)+------+
|           |      |
|h=blocksize|      |
|           |      |
|           +------+
V

Y

so we calc the block contrast use:
   (cy + y) * stride + (cx + x)

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
---
 libavfilter/vf_deshake.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff mbox

Patch

diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c
index 55ce5e1..c8480e7 100644
--- a/libavfilter/vf_deshake.c
+++ b/libavfilter/vf_deshake.c
@@ -196,7 +196,7 @@  static int block_contrast(uint8_t *src, int x, int y, int stride, int blocksize)
     for (i = 0; i <= blocksize * 2; i++) {
         // We use a width of 16 here to match the sad function
         for (j = 0; j <= 15; j++) {
-            pos = (y - i) * stride + (x - j);
+            pos = (y + i) * stride + (x + j);
             if (src[pos] < lowest)
                 lowest = src[pos];
             else if (src[pos] > highest) {