I have confirmed that these failures in FATE were due to the insufficient floating point precision of a 32-bit environment.
The commit 82467b635efced67c1767cb810af1f3c31a2e493 introduces the improved dequantization in FF_DWT97_INT path and makes FFmpeg compliant for ISO/IEC 15444-4 (Conformance testing.) Actually, both 64 and 32-bit FFmpeg with the commit pass the conformance testing. Current FATE tests for JPEG 2000 are to check the CRC of reconstructed images. Checking CRC is unsuitable for lossy codestream because even a patch that can improve the quality of a reconstructed image cannot pass the FATE. Passing FATE is, of course, important, but passing the official (ISO's) conformance tests is essential, too. I recommend introducing a way to allow some tolerance in FATE tests for JPEG 2000 lossy codestreams. For example, including the original files and using the PSNR value in FATE will be an option. > On Nov 10, 2024, at 10:40, Michael Niedermayer <mich...@niedermayer.cc> wrote: > > On Fri, Nov 08, 2024 at 01:09:34PM -0800, p...@sandflow.com wrote: >> From: Pierre-Anthony Lemieux <p...@palemieux.com> >> >> --- >> tests/fate/jpeg2000.mak | 122 ++++++++++++++++++++++- >> tests/ref/fate/jpeg2000dec-ds0_hm_15_b8 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_02_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_02_b12 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_03_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_03_b14 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_04_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_04_b12 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_05_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_05_b12 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_07_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_07_b15 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_07_b16 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_08_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_08_b15 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_08_b16 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_09_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_10_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_11_b10 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_12_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_14_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_15_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_15_b14 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds0_ht_16_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds1_ht_01_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds1_ht_01_b12 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds1_ht_02_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds1_ht_02_b12 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds1_ht_03_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds1_ht_03_b12 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds1_ht_04_b9 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds1_ht_05_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-ds1_ht_06_b11 | 6 ++ >> tests/ref/fate/jpeg2000dec-hifi_ht1_02 | 6 ++ >> tests/ref/fate/jpeg2000dec-hifi_p1_02 | 6 ++ >> tests/ref/fate/jpeg2000dec-p1_01 | 6 ++ >> tests/ref/fate/jpeg2000dec-p1_02 | 6 ++ >> tests/ref/fate/jpeg2000dec-p1_03 | 6 ++ >> tests/ref/fate/jpeg2000dec-p1_04 | 6 ++ >> tests/ref/fate/jpeg2000dec-p1_05 | 6 ++ >> tests/ref/fate/jpeg2000dec-p1_06 | 6 ++ >> 41 files changed, 361 insertions(+), 1 deletion(-) >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_hm_15_b8 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_02_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_02_b12 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_03_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_03_b14 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_04_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_04_b12 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_05_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_05_b12 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_07_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_07_b15 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_07_b16 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_08_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_08_b15 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_08_b16 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_09_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_10_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_11_b10 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_12_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_14_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_15_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_15_b14 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_16_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_01_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_01_b12 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_02_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_02_b12 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_03_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_03_b12 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_04_b9 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_05_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_06_b11 >> create mode 100644 tests/ref/fate/jpeg2000dec-hifi_ht1_02 >> create mode 100644 tests/ref/fate/jpeg2000dec-hifi_p1_02 >> create mode 100644 tests/ref/fate/jpeg2000dec-p1_01 >> create mode 100644 tests/ref/fate/jpeg2000dec-p1_02 >> create mode 100644 tests/ref/fate/jpeg2000dec-p1_03 >> create mode 100644 tests/ref/fate/jpeg2000dec-p1_04 >> create mode 100644 tests/ref/fate/jpeg2000dec-p1_05 >> create mode 100644 tests/ref/fate/jpeg2000dec-p1_06 > > on linux x86-32 > > --- tests/ref/fate/jpeg2000dec-p1_04 2024-11-10 01:23:28.599497603 +0100 > +++ tests/data/fate/jpeg2000dec-p1_04 2024-11-10 02:38:03.497270241 +0100 > @@ -3,4 +3,4 @@ > #codec_id 0: rawvideo > #dimensions 0: 1024x1024 > #sar 0: 0/1 > -0, 0, 0, 1, 2097152, 0x9df478aa > +0, 0, 0, 1, 2097152, 0x5b4dd999 > Test jpeg2000dec-p1_04 failed. Look at tests/data/fate/jpeg2000dec-p1_04.err > for details. > make: *** [tests/Makefile:310: fate-jpeg2000dec-p1_04] Error 1 > make: *** Waiting for unfinished jobs.... > --- tests/ref/fate/jpeg2000dec-ds1_ht_04_b9 2024-11-10 01:23:28.599497603 > +0100 > +++ tests/data/fate/jpeg2000dec-ds1_ht_04_b9 2024-11-10 02:38:03.529270529 > +0100 > @@ -3,4 +3,4 @@ > #codec_id 0: rawvideo > #dimensions 0: 1024x1024 > #sar 0: 0/1 > -0, 0, 0, 1, 2097152, 0x9df478aa > +0, 0, 0, 1, 2097152, 0x5b4dd999 > Test jpeg2000dec-ds1_ht_04_b9 failed. Look at > tests/data/fate/jpeg2000dec-ds1_ht_04_b9.err for details. > make: *** [tests/Makefile:310: fate-jpeg2000dec-ds1_ht_04_b9] Error 1 > > thx > > [...] > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > Modern terrorism, a quick summary: Need oil, start war with country that > has oil, kill hundread thousand in war. Let country fall into chaos, > be surprised about raise of fundamantalists. Drop more bombs, kill more > people, be surprised about them taking revenge and drop even more bombs > and strip your own citizens of their rights and freedoms. to be continued > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".