aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-06-21 15:55:42 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-06-21 19:25:35 +0200
commit3bcf61f495dcadbc9679a00e6b1023531288498d (patch)
tree886372c43961ed5c64b0301a65e01174bcb70196
parent5de3a589f16e2899aaf4a09e550027319f6e76ac (diff)
downloadffmpeg-3bcf61f495dcadbc9679a00e6b1023531288498d.tar.gz
avcodec/jpeg2000dwt: Fix value of F_LFTG_X and I_LFTG_X
Even if the jpeg2000 spec uses a wrong value this does not make mathematics work this way, also this has been corrected in the 2004 version AFAIK Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/jpeg2000dwt.c7
-rw-r--r--tests/ref/fate/j2k-dwt80
-rw-r--r--tests/ref/fate/jpeg2000-dcinema4
-rw-r--r--tests/ref/vsynth/vsynth1-jpeg2000-978
-rw-r--r--tests/ref/vsynth/vsynth2-jpeg2000-978
-rw-r--r--tests/ref/vsynth/vsynth3-jpeg2000-978
-rw-r--r--tests/ref/vsynth/vsynth_lena-jpeg2000-978
7 files changed, 60 insertions, 63 deletions
diff --git a/libavcodec/jpeg2000dwt.c b/libavcodec/jpeg2000dwt.c
index b7363a0358..5c2ec679c8 100644
--- a/libavcodec/jpeg2000dwt.c
+++ b/libavcodec/jpeg2000dwt.c
@@ -38,10 +38,7 @@
#define F_LFTG_GAMMA 0.882911075530934f
#define F_LFTG_DELTA 0.443506852043971f
#define F_LFTG_K 1.230174104914001f
-#define F_LFTG_X 1.625732422f
-/* FIXME: Why use 1.625732422 instead of 1/F_LFTG_K?
- * Incorrect value in JPEG2000 norm.
- * see (ISO/IEC 15444:1 (version 2002) F.3.8.2 */
+#define F_LFTG_X 1.625786132231922f
/* Lifting parameters in integer format.
* Computed as param = (float param) * (1 << 16) */
@@ -50,7 +47,7 @@
#define I_LFTG_GAMMA 57862
#define I_LFTG_DELTA 29066
#define I_LFTG_K 80621
-#define I_LFTG_X 106544
+#define I_LFTG_X 106548
static inline void extend53(int *p, int i0, int i1)
{
diff --git a/tests/ref/fate/j2k-dwt b/tests/ref/fate/j2k-dwt
index 0ebcc860f3..74b4d04458 100644
--- a/tests/ref/fate/j2k-dwt
+++ b/tests/ref/fate/j2k-dwt
@@ -1,60 +1,60 @@
5/3i, decomp:15 border 151 170 140 183 milli-err2: 0
-9/7i, decomp:15 border 151 170 140 183 milli-err2: 13030
-9/7f, decomp:15 border 151 170 140 183 err2: 0.2626
+9/7i, decomp:15 border 151 170 140 183 milli-err2: 13160
+9/7f, decomp:15 border 151 170 140 183 err2: 0.0001
5/3i, decomp:21 border 173 201 81 189 milli-err2: 0
-9/7i, decomp:21 border 173 201 81 189 milli-err2: 21587
-9/7f, decomp:21 border 173 201 81 189 err2: 0.3460
+9/7i, decomp:21 border 173 201 81 189 milli-err2: 24635
+9/7f, decomp:21 border 173 201 81 189 err2: 0.0001
5/3i, decomp:22 border 213 227 76 245 milli-err2: 0
-9/7i, decomp:22 border 213 227 76 245 milli-err2: 13454
-9/7f, decomp:22 border 213 227 76 245 err2: 0.2393
+9/7i, decomp:22 border 213 227 76 245 milli-err2: 15253
+9/7f, decomp:22 border 213 227 76 245 err2: 0.0001
5/3i, decomp:13 border 134 157 184 203 milli-err2: 0
-9/7i, decomp:13 border 134 157 184 203 milli-err2: 19745
-9/7f, decomp:13 border 134 157 184 203 err2: 0.1715
+9/7i, decomp:13 border 134 157 184 203 milli-err2: 21846
+9/7f, decomp:13 border 134 157 184 203 err2: 0.0001
5/3i, decomp: 1 border 204 237 6 106 milli-err2: 0
-9/7i, decomp: 1 border 204 237 6 106 milli-err2: 2236
-9/7f, decomp: 1 border 204 237 6 106 err2: 0.0063
+9/7i, decomp: 1 border 204 237 6 106 milli-err2: 2317
+9/7f, decomp: 1 border 204 237 6 106 err2: 0.0000
5/3i, decomp:28 border 76 211 13 210 milli-err2: 0
-9/7i, decomp:28 border 76 211 13 210 milli-err2: 22341
-9/7f, decomp:28 border 76 211 13 210 err2: 0.3931
+9/7i, decomp:28 border 76 211 13 210 milli-err2: 21360
+9/7f, decomp:28 border 76 211 13 210 err2: 0.0002
5/3i, decomp:21 border 76 99 43 123 milli-err2: 0
-9/7i, decomp:21 border 76 99 43 123 milli-err2: 15450
-9/7f, decomp:21 border 76 99 43 123 err2: 0.2005
+9/7i, decomp:21 border 76 99 43 123 milli-err2: 13513
+9/7f, decomp:21 border 76 99 43 123 err2: 0.0001
5/3i, decomp:15 border 192 243 174 204 milli-err2: 0
-9/7i, decomp:15 border 192 243 174 204 milli-err2: 56308
-9/7f, decomp:15 border 192 243 174 204 err2: 0.3373
+9/7i, decomp:15 border 192 243 174 204 milli-err2: 13302
+9/7f, decomp:15 border 192 243 174 204 err2: 0.0001
5/3i, decomp:21 border 17 68 93 204 milli-err2: 0
-9/7i, decomp:21 border 17 68 93 204 milli-err2: 26234
-9/7f, decomp:21 border 17 68 93 204 err2: 0.2765
+9/7i, decomp:21 border 17 68 93 204 milli-err2: 22975
+9/7f, decomp:21 border 17 68 93 204 err2: 0.0001
5/3i, decomp:11 border 142 168 82 174 milli-err2: 0
-9/7i, decomp:11 border 142 168 82 174 milli-err2: 14802
-9/7f, decomp:11 border 142 168 82 174 err2: 0.2064
+9/7i, decomp:11 border 142 168 82 174 milli-err2: 11936
+9/7f, decomp:11 border 142 168 82 174 err2: 0.0001
5/3i, decomp:23 border 142 209 171 235 milli-err2: 0
-9/7i, decomp:23 border 142 209 171 235 milli-err2: 26230
-9/7f, decomp:23 border 142 209 171 235 err2: 0.3092
+9/7i, decomp:23 border 142 209 171 235 milli-err2: 19428
+9/7f, decomp:23 border 142 209 171 235 err2: 0.0001
5/3i, decomp:30 border 37 185 79 245 milli-err2: 0
-9/7i, decomp:30 border 37 185 79 245 milli-err2: 18994
-9/7f, decomp:30 border 37 185 79 245 err2: 0.3921
+9/7i, decomp:30 border 37 185 79 245 milli-err2: 22981
+9/7f, decomp:30 border 37 185 79 245 err2: 0.0002
5/3i, decomp: 5 border 129 236 30 243 milli-err2: 0
-9/7i, decomp: 5 border 129 236 30 243 milli-err2: 14600
-9/7f, decomp: 5 border 129 236 30 243 err2: 0.1252
+9/7i, decomp: 5 border 129 236 30 243 milli-err2: 16632
+9/7f, decomp: 5 border 129 236 30 243 err2: 0.0001
5/3i, decomp:10 border 5 160 146 247 milli-err2: 0
-9/7i, decomp:10 border 5 160 146 247 milli-err2: 43905
-9/7f, decomp:10 border 5 160 146 247 err2: 0.2753
+9/7i, decomp:10 border 5 160 146 247 milli-err2: 39669
+9/7f, decomp:10 border 5 160 146 247 err2: 0.0002
5/3i, decomp: 5 border 104 162 6 47 milli-err2: 0
-9/7i, decomp: 5 border 104 162 6 47 milli-err2: 12942
-9/7f, decomp: 5 border 104 162 6 47 err2: 0.1237
+9/7i, decomp: 5 border 104 162 6 47 milli-err2: 18290
+9/7f, decomp: 5 border 104 162 6 47 err2: 0.0001
5/3i, decomp:24 border 78 250 102 218 milli-err2: 0
-9/7i, decomp:24 border 78 250 102 218 milli-err2: 24997
-9/7f, decomp:24 border 78 250 102 218 err2: 0.3907
+9/7i, decomp:24 border 78 250 102 218 milli-err2: 36623
+9/7f, decomp:24 border 78 250 102 218 err2: 0.0002
5/3i, decomp:28 border 86 98 56 79 milli-err2: 0
-9/7i, decomp:28 border 86 98 56 79 milli-err2: 8112
-9/7f, decomp:28 border 86 98 56 79 err2: 0.3094
+9/7i, decomp:28 border 86 98 56 79 milli-err2: 9891
+9/7f, decomp:28 border 86 98 56 79 err2: 0.0001
5/3i, decomp: 6 border 95 238 197 214 milli-err2: 0
-9/7i, decomp: 6 border 95 238 197 214 milli-err2: 12925
-9/7f, decomp: 6 border 95 238 197 214 err2: 0.1481
+9/7i, decomp: 6 border 95 238 197 214 milli-err2: 17172
+9/7f, decomp: 6 border 95 238 197 214 err2: 0.0001
5/3i, decomp:17 border 77 169 93 165 milli-err2: 0
-9/7i, decomp:17 border 77 169 93 165 milli-err2: 24949
-9/7f, decomp:17 border 77 169 93 165 err2: 0.4816
+9/7i, decomp:17 border 77 169 93 165 milli-err2: 23573
+9/7f, decomp:17 border 77 169 93 165 err2: 0.0001
5/3i, decomp:22 border 178 187 7 119 milli-err2: 0
-9/7i, decomp:22 border 178 187 7 119 milli-err2: 9838
-9/7f, decomp:22 border 178 187 7 119 err2: 0.0999
+9/7i, decomp:22 border 178 187 7 119 milli-err2: 11305
+9/7f, decomp:22 border 178 187 7 119 err2: 0.0000
diff --git a/tests/ref/fate/jpeg2000-dcinema b/tests/ref/fate/jpeg2000-dcinema
index 940759aeb4..343f438b86 100644
--- a/tests/ref/fate/jpeg2000-dcinema
+++ b/tests/ref/fate/jpeg2000-dcinema
@@ -1,3 +1,3 @@
#tb 0: 1/24
-0, 0, 0, 1, 12441600, 0xf0de508b
-0, 1, 1, 1, 12441600, 0x8e50c249
+0, 0, 0, 1, 12441600, 0x35b017fd
+0, 1, 1, 1, 12441600, 0xe94551b9
diff --git a/tests/ref/vsynth/vsynth1-jpeg2000-97 b/tests/ref/vsynth/vsynth1-jpeg2000-97
index 6be35d98d4..15ca696a07 100644
--- a/tests/ref/vsynth/vsynth1-jpeg2000-97
+++ b/tests/ref/vsynth/vsynth1-jpeg2000-97
@@ -1,4 +1,4 @@
-0bbcba25aaf987d1719a12c3f6e5a333 *tests/data/fate/vsynth1-jpeg2000-97.avi
-2188416 tests/data/fate/vsynth1-jpeg2000-97.avi
-9dd595c219b4ab5219a96b08cd18851f *tests/data/fate/vsynth1-jpeg2000-97.out.rawvideo
-stddev: 6.19 PSNR: 32.30 MAXDIFF: 57 bytes: 7603200/ 7603200
+4cac63aaf880ab0ee199ac44e520640a *tests/data/fate/vsynth1-jpeg2000-97.avi
+2188956 tests/data/fate/vsynth1-jpeg2000-97.avi
+d9227e7a7413cb48362654d879df985a *tests/data/fate/vsynth1-jpeg2000-97.out.rawvideo
+stddev: 6.18 PSNR: 32.30 MAXDIFF: 57 bytes: 7603200/ 7603200
diff --git a/tests/ref/vsynth/vsynth2-jpeg2000-97 b/tests/ref/vsynth/vsynth2-jpeg2000-97
index 0c0782e621..f6f4505bc5 100644
--- a/tests/ref/vsynth/vsynth2-jpeg2000-97
+++ b/tests/ref/vsynth/vsynth2-jpeg2000-97
@@ -1,4 +1,4 @@
-1894f3c438f817b6101a444e2af430d3 *tests/data/fate/vsynth2-jpeg2000-97.avi
-1448224 tests/data/fate/vsynth2-jpeg2000-97.avi
-c95f2c7138ec20a6f388d1d945cf0cf4 *tests/data/fate/vsynth2-jpeg2000-97.out.rawvideo
-stddev: 5.35 PSNR: 33.56 MAXDIFF: 55 bytes: 7603200/ 7603200
+352d3dc81b5c78638a2e7b575ce468c2 *tests/data/fate/vsynth2-jpeg2000-97.avi
+1448342 tests/data/fate/vsynth2-jpeg2000-97.avi
+d7b18b6dcac0139858e64e00073db1c6 *tests/data/fate/vsynth2-jpeg2000-97.out.rawvideo
+stddev: 5.35 PSNR: 33.56 MAXDIFF: 56 bytes: 7603200/ 7603200
diff --git a/tests/ref/vsynth/vsynth3-jpeg2000-97 b/tests/ref/vsynth/vsynth3-jpeg2000-97
index 6af082d5c0..236519863f 100644
--- a/tests/ref/vsynth/vsynth3-jpeg2000-97
+++ b/tests/ref/vsynth/vsynth3-jpeg2000-97
@@ -1,4 +1,4 @@
-324eac3241a5580725ba817a9d60f3f3 *tests/data/fate/vsynth3-jpeg2000-97.avi
-66568 tests/data/fate/vsynth3-jpeg2000-97.avi
-eb32ff15b5a23fc29cedd43430e1d46a *tests/data/fate/vsynth3-jpeg2000-97.out.rawvideo
-stddev: 6.15 PSNR: 32.35 MAXDIFF: 47 bytes: 86700/ 86700
+36dddf487c4919d890db3484ab5d6486 *tests/data/fate/vsynth3-jpeg2000-97.avi
+66522 tests/data/fate/vsynth3-jpeg2000-97.avi
+332c0924bc1477a41eb413455c5b9d90 *tests/data/fate/vsynth3-jpeg2000-97.out.rawvideo
+stddev: 6.17 PSNR: 32.32 MAXDIFF: 51 bytes: 86700/ 86700
diff --git a/tests/ref/vsynth/vsynth_lena-jpeg2000-97 b/tests/ref/vsynth/vsynth_lena-jpeg2000-97
index ce90be0d99..21160ef061 100644
--- a/tests/ref/vsynth/vsynth_lena-jpeg2000-97
+++ b/tests/ref/vsynth/vsynth_lena-jpeg2000-97
@@ -1,4 +1,4 @@
-aebe3eaa1fa5c6698cd1abc8d0569d7f *tests/data/fate/vsynth_lena-jpeg2000-97.avi
-1105382 tests/data/fate/vsynth_lena-jpeg2000-97.avi
-32069295493de2b3e348ecbed2ff41ab *tests/data/fate/vsynth_lena-jpeg2000-97.out.rawvideo
-stddev: 4.85 PSNR: 34.41 MAXDIFF: 58 bytes: 7603200/ 7603200
+a39e052e7d109e33714329800c9df90f *tests/data/fate/vsynth_lena-jpeg2000-97.avi
+1105046 tests/data/fate/vsynth_lena-jpeg2000-97.avi
+c151476d2ed807575122064ada37d5ef *tests/data/fate/vsynth_lena-jpeg2000-97.out.rawvideo
+stddev: 4.85 PSNR: 34.41 MAXDIFF: 59 bytes: 7603200/ 7603200