diff options
author | Jun Zhao <mypopydev@gmail.com> | 2018-09-18 14:57:49 +0800 |
---|---|---|
committer | Jun Zhao <jun.zhao@intel.com> | 2018-10-06 21:30:18 +0800 |
commit | 5a3ce4a92b84cded3aab7ffd7fb80e0c9130e74c (patch) | |
tree | bc7165906b625876878cd83e4023c22163d7d970 | |
parent | 6ff4473012bc0131a3a47ff613c3c0aa5ecb1881 (diff) | |
download | ffmpeg-5a3ce4a92b84cded3aab7ffd7fb80e0c9130e74c.tar.gz |
lavfi/deshake: fix deshake crash issue.
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>
-rw-r--r-- | libavfilter/vf_deshake.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c index 55ce5e18a1..c8480e74dd 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) { |