summaryrefslogtreecommitdiff
path: root/libavcodec/jpeg2000dwt.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-06-17 14:45:15 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-06-17 15:07:50 +0200
commit9841024402e83e0d239edf4f356d97e0519aaf4d (patch)
tree7d539adbed9d3ac97957320569ea61db3414829d /libavcodec/jpeg2000dwt.c
parent63eaf529bcfa2f685f5978d4ba4d327ac837c2e2 (diff)
downloadffmpeg-9841024402e83e0d239edf4f356d97e0519aaf4d.tar.gz
avcodec/jpeg2000dwt: More special cases to handle singularities in 9/7 decode
Fixes Ticket4634 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/jpeg2000dwt.c')
-rw-r--r--libavcodec/jpeg2000dwt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/jpeg2000dwt.c b/libavcodec/jpeg2000dwt.c
index 225b08f3ef..511f223718 100644
--- a/libavcodec/jpeg2000dwt.c
+++ b/libavcodec/jpeg2000dwt.c
@@ -365,6 +365,8 @@ static void sr_1d97_float(float *p, int i0, int i1)
if (i1 <= i0 + 1) {
if (i0 == 1)
p[1] *= F_LFTG_K/2;
+ else
+ p[0] *= F_LFTG_X/2;
return;
}
@@ -440,6 +442,8 @@ static void sr_1d97_int(int32_t *p, int i0, int i1)
if (i1 <= i0 + 1) {
if (i0 == 1)
p[1] = (p[1] * I_LFTG_K + (1<<16)) >> 17;
+ else
+ p[0] = (p[0] * I_LFTG_X + (1<<16)) >> 17;
return;
}