From 0eb7de19736891a9386ab66549f780e904a3b6a7 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 15 Nov 2015 22:05:04 +0100 Subject: avcodec/jpeg2000: Change coord to 32bit to support larger than 32k width or height Fixes: 03e0abe721b1174856d41a1eb5d6a896/signal_sigabrt_7ffff6ae7cc9_3813_e71bf3541abed3ccba031cd5ba0269a4.avi Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavcodec/jpeg2000dwt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'libavcodec/jpeg2000dwt.c') diff --git a/libavcodec/jpeg2000dwt.c b/libavcodec/jpeg2000dwt.c index 28ac6c429e..2bf25a8c4e 100644 --- a/libavcodec/jpeg2000dwt.c +++ b/libavcodec/jpeg2000dwt.c @@ -534,7 +534,7 @@ static void dwt_decode97_int(DWTContext *s, int32_t *t) data[i] = (data[i] + ((1<>1)) >> I_PRESHIFT; } -int ff_jpeg2000_dwt_init(DWTContext *s, uint16_t border[2][2], +int ff_jpeg2000_dwt_init(DWTContext *s, int border[2][2], int decomp_levels, int type) { int i, j, lev = decomp_levels, maxlen, @@ -623,7 +623,7 @@ void ff_dwt_destroy(DWTContext *s) #define MAX_W 256 -static int test_dwt(int *array, int *ref, uint16_t border[2][2], int decomp_levels, int type, int max_diff) { +static int test_dwt(int *array, int *ref, int border[2][2], int decomp_levels, int type, int max_diff) { int ret, j; DWTContext s1={{{0}}}, *s= &s1; int64_t err2 = 0; @@ -662,7 +662,7 @@ static int test_dwt(int *array, int *ref, uint16_t border[2][2], int decomp_leve return 0; } -static int test_dwtf(float *array, float *ref, uint16_t border[2][2], int decomp_levels, float max_diff) { +static int test_dwtf(float *array, float *ref, int border[2][2], int decomp_levels, float max_diff) { int ret, j; DWTContext s1={{{0}}}, *s= &s1; double err2 = 0; @@ -708,7 +708,7 @@ static float reff [MAX_W * MAX_W]; int main(void) { AVLFG prng; int i,j; - uint16_t border[2][2]; + int border[2][2]; int ret, decomp_levels; av_lfg_init(&prng, 1); -- cgit v1.2.3