diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-06-16 20:33:54 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-06-16 20:33:54 +0200 |
commit | 34121ca187340129851e2c41427b0e6db8820c8d (patch) | |
tree | 1f61450c018d9745dd96a887a4e0aef4d96becca /libavcodec/jpeg2000dwt.c | |
parent | 8294ec67b5b18c44d2406c77b6f6cd09201055c7 (diff) | |
download | ffmpeg-34121ca187340129851e2c41427b0e6db8820c8d.tar.gz |
avcodec/jpeg2000dwt: Fix 9/7 IDWT for small sizes
Fixes Ticket4631
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/jpeg2000dwt.c')
-rw-r--r-- | libavcodec/jpeg2000dwt.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libavcodec/jpeg2000dwt.c b/libavcodec/jpeg2000dwt.c index a5eb0b77fc..dba8393e65 100644 --- a/libavcodec/jpeg2000dwt.c +++ b/libavcodec/jpeg2000dwt.c @@ -357,8 +357,11 @@ static void sr_1d97_float(float *p, int i0, int i1) { int i; - if (i1 == i0 + 1) + if (i1 <= i0 + 1) { + if (i0 == 1) + p[1] *= F_LFTG_K/2; return; + } extend97_float(p, i0, i1); @@ -429,8 +432,11 @@ static void sr_1d97_int(int32_t *p, int i0, int i1) { int i; - if (i1 == i0 + 1) + if (i1 <= i0 + 1) { + if (i0 == 1) + p[1] = (p[1] * I_LFTG_K + (1<<16)) >> 17; return; + } extend97_int(p, i0, i1); |