diff options
author | Pierre-Anthony Lemieux <pal@palemieux.com> | 2023-04-14 12:14:43 -0700 |
---|---|---|
committer | Pierre-Anthony Lemieux <pal@palemieux.com> | 2023-04-22 15:57:41 -0700 |
commit | 7ecf1bff6d216b83b8634783fb9024452b63f2d1 (patch) | |
tree | 2a29f21d83cc977c2c1de13aaca9234c67bb644b | |
parent | b9c42cdf8d9c38c9975c7fe5616a7f984a789de8 (diff) | |
download | ffmpeg-7ecf1bff6d216b83b8634783fb9024452b63f2d1.tar.gz |
fate/jpeg2000: add JPEG 2000 tests using ITU/ISO conformance materials
Adds JPEG 2000 decoder tests using materials from the conformance suite specified in
Rec. ITU-T T.803 | ISO/IEC 15444-4.
The test materials are available at https://gitlab.com/wg1/htj2k-codestreams
Signed-off-by: Pierre-Anthony Lemieux <pal@palemieux.com>
-rw-r--r-- | tests/Makefile | 1 | ||||
-rw-r--r-- | tests/fate/jpeg2000.mak | 64 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-ds0_ht_01_b11 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_01 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_02 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_03 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_04 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_05 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_07 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_08 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_09 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_11 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_12 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_14 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_15 | 6 | ||||
-rw-r--r-- | tests/ref/fate/jpeg2000dec-p0_16 | 6 |
16 files changed, 149 insertions, 0 deletions
diff --git a/tests/Makefile b/tests/Makefile index 1d50e1d175..d80065a9bf 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -200,6 +200,7 @@ include $(SRC_PATH)/tests/fate/id3v2.mak include $(SRC_PATH)/tests/fate/image.mak include $(SRC_PATH)/tests/fate/imf.mak include $(SRC_PATH)/tests/fate/indeo.mak +include $(SRC_PATH)/tests/fate/jpeg2000.mak include $(SRC_PATH)/tests/fate/libavcodec.mak include $(SRC_PATH)/tests/fate/libavdevice.mak include $(SRC_PATH)/tests/fate/libavformat.mak diff --git a/tests/fate/jpeg2000.mak b/tests/fate/jpeg2000.mak new file mode 100644 index 0000000000..b72908f710 --- /dev/null +++ b/tests/fate/jpeg2000.mak @@ -0,0 +1,64 @@ +# The following tests are based on the conformance suite specified in +# Rec. ITU-T T.803 | ISO/IEC 15444-4 available at the following URLs: +# * https://gitlab.com/wg1/htj2k-codestreams +# * https://www.itu.int/rec/T-REC-T.803/en +# * https://www.iso.org/standard/81574.html +# +# Notes: +# * p0_06.j2k is not included because it uses a pixel format that is not +# supported (4:2:2:1) +# * p0_10.j2k is not included because errors are emitted during decoding and +# there are significant deviations from the reference image in the bottom-left +# quadrant +# * p0_13.j2k is not included because it uses a pixel format that is not +# supported (257 color channels) +# * p0_04.j2k and p0_05.j2k exceed the error thresholds specified in the +# conformance suite +# * p0_09.j2k matches the reference image exactly when bitexact is not used, but +# exceed the error thresholds specified in the conformance suite when bitexact +# is used + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_01 +fate-jpeg2000dec-p0_01: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_01.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_02 +fate-jpeg2000dec-p0_02: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_02.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_03 +fate-jpeg2000dec-p0_03: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_03.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_04 +fate-jpeg2000dec-p0_04: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_04.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_05 +fate-jpeg2000dec-p0_05: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_05.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_07 +fate-jpeg2000dec-p0_07: CMD = framecrc -flags +bitexact -auto_conversion_filters -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_07.j2k -pix_fmt rgb48le + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_08 +fate-jpeg2000dec-p0_08: CMD = framecrc -flags +bitexact -auto_conversion_filters -lowres 1 -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_08.j2k -pix_fmt rgb48le + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_09 +fate-jpeg2000dec-p0_09: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_09.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_11 +fate-jpeg2000dec-p0_11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_11.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_12 +fate-jpeg2000dec-p0_12: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_12.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_14 +fate-jpeg2000dec-p0_14: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_14.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_15 +fate-jpeg2000dec-p0_15: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_15.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-p0_16 +fate-jpeg2000dec-p0_16: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_16.j2k + +FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_01_b11 +fate-jpeg2000dec-ds0_ht_01_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/ds0_ht_01_b11.j2k + +FATE_SAMPLES_FFMPEG += $(FATE_JPEG2000DEC) +fate-jpeg2000dec: $(FATE_JPEG2000DEC) diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_01_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_01_b11 new file mode 100644 index 0000000000..af3eaa086d --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-ds0_ht_01_b11 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 128x128 +#sar 0: 0/1 +0, 0, 0, 1, 16384, 0x44426324 diff --git a/tests/ref/fate/jpeg2000dec-p0_01 b/tests/ref/fate/jpeg2000dec-p0_01 new file mode 100644 index 0000000000..d923cc2109 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_01 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 128x128 +#sar 0: 0/1 +0, 0, 0, 1, 16384, 0x04a3647e diff --git a/tests/ref/fate/jpeg2000dec-p0_02 b/tests/ref/fate/jpeg2000dec-p0_02 new file mode 100644 index 0000000000..f96d24c121 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_02 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 64x126 +#sar 0: 0/1 +0, 0, 0, 1, 8064, 0xd634c70c diff --git a/tests/ref/fate/jpeg2000dec-p0_03 b/tests/ref/fate/jpeg2000dec-p0_03 new file mode 100644 index 0000000000..e508fb61e0 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_03 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 256x256 +#sar 0: 0/1 +0, 0, 0, 1, 65536, 0x252408c0 diff --git a/tests/ref/fate/jpeg2000dec-p0_04 b/tests/ref/fate/jpeg2000dec-p0_04 new file mode 100644 index 0000000000..5de7880c44 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_04 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 640x480 +#sar 0: 0/1 +0, 0, 0, 1, 921600, 0x097d9665 diff --git a/tests/ref/fate/jpeg2000dec-p0_05 b/tests/ref/fate/jpeg2000dec-p0_05 new file mode 100644 index 0000000000..bb215043a1 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_05 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 1024x1024 +#sar 0: 0/1 +0, 0, 0, 1, 2621440, 0x081f5048 diff --git a/tests/ref/fate/jpeg2000dec-p0_07 b/tests/ref/fate/jpeg2000dec-p0_07 new file mode 100644 index 0000000000..e561a1b780 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_07 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 2048x2048 +#sar 0: 0/1 +0, 0, 0, 1, 25165824, 0x9685aad6 diff --git a/tests/ref/fate/jpeg2000dec-p0_08 b/tests/ref/fate/jpeg2000dec-p0_08 new file mode 100644 index 0000000000..5e202b741b --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_08 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 257x1536 +#sar 0: 0/1 +0, 0, 0, 1, 2368512, 0xece49ff9 diff --git a/tests/ref/fate/jpeg2000dec-p0_09 b/tests/ref/fate/jpeg2000dec-p0_09 new file mode 100644 index 0000000000..1755e7cc7d --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_09 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 17x37 +#sar 0: 0/1 +0, 0, 0, 1, 629, 0x5c9c389d diff --git a/tests/ref/fate/jpeg2000dec-p0_11 b/tests/ref/fate/jpeg2000dec-p0_11 new file mode 100644 index 0000000000..9b15604361 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_11 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 128x1 +#sar 0: 0/1 +0, 0, 0, 1, 128, 0xae9630db diff --git a/tests/ref/fate/jpeg2000dec-p0_12 b/tests/ref/fate/jpeg2000dec-p0_12 new file mode 100644 index 0000000000..435c124c99 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_12 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 3x5 +#sar 0: 0/1 +0, 0, 0, 1, 15, 0x2a170596 diff --git a/tests/ref/fate/jpeg2000dec-p0_14 b/tests/ref/fate/jpeg2000dec-p0_14 new file mode 100644 index 0000000000..5d28e611a0 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_14 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 49x49 +#sar 0: 0/1 +0, 0, 0, 1, 7203, 0x61d40b41 diff --git a/tests/ref/fate/jpeg2000dec-p0_15 b/tests/ref/fate/jpeg2000dec-p0_15 new file mode 100644 index 0000000000..e508fb61e0 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_15 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 256x256 +#sar 0: 0/1 +0, 0, 0, 1, 65536, 0x252408c0 diff --git a/tests/ref/fate/jpeg2000dec-p0_16 b/tests/ref/fate/jpeg2000dec-p0_16 new file mode 100644 index 0000000000..d923cc2109 --- /dev/null +++ b/tests/ref/fate/jpeg2000dec-p0_16 @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 128x128 +#sar 0: 0/1 +0, 0, 0, 1, 16384, 0x04a3647e |