Message ID | 20230624043853.12237-5-leo.izen@gmail.com |
---|---|
State | New |
Headers | show |
Series | JPEG XL Parser addition | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | fail | Make fate failed |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | fail | Make fate failed |
On 6/24/2023 1:38 AM, Leo Izen wrote: > Adds a fate test for the jpegxl_anim demuxer, that should allow testing > for true positives and false positives for animated jpegxl files. Note > that two of the test cases are not animated, in order to help sort out > false positives. > > Signed-off-by: <leo.izen@gmail.com> > --- > tests/Makefile | 1 + > tests/fate/jxl.mak | 16 ++++++++++++++++ > tests/ref/fate/jxl-anim-demux-belgium | 6 ++++++ > tests/ref/fate/jxl-anim-demux-icos4d | 6 ++++++ > tests/ref/fate/jxl-anim-demux-lenna256 | 7 +++++++ > tests/ref/fate/jxl-anim-demux-newton | 6 ++++++ > 6 files changed, 42 insertions(+) > create mode 100644 tests/fate/jxl.mak > create mode 100644 tests/ref/fate/jxl-anim-demux-belgium > create mode 100644 tests/ref/fate/jxl-anim-demux-icos4d > create mode 100644 tests/ref/fate/jxl-anim-demux-lenna256 > create mode 100644 tests/ref/fate/jxl-anim-demux-newton > > diff --git a/tests/Makefile b/tests/Makefile > index e09f30a0fc..7b80762e81 100644 > --- a/tests/Makefile > +++ b/tests/Makefile > @@ -201,6 +201,7 @@ 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/jxl.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/jxl.mak b/tests/fate/jxl.mak > new file mode 100644 > index 0000000000..057d3be0e1 > --- /dev/null > +++ b/tests/fate/jxl.mak > @@ -0,0 +1,16 @@ > +# These two are animated JXL files > +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-newton > +fate-jxl-anim-demux-newton: CMD = framecrc -i $(TARGET_SAMPLES)/jxl/newton.jxl -c copy > +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-icos4d > +fate-jxl-anim-demux-icos4d: CMD = framecrc -i $(TARGET_SAMPLES)/jxl/icos4d.jxl -c copy > + > +# These two are not animated JXL. They are here to check false positives. > +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-belgium > +fate-jxl-anim-demux-belgium: CMD = framecrc -i $(TARGET_SAMPLES)/jxl/belgium.jxl -c copy > +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-lenna256 > +fate-jxl-anim-demux-lenna256: CMD = framecrc -i $(TARGET_SAMPLES)/jxl/lenna-256.jxl -c copy > + > +FATE_JPEGXL_ANIM_DEMUX += $(FATE_JPEGXL_ANIM_DEMUX-yes) > + > +FATE_SAMPLES_FFMPEG-$(call FRAMECRC, JPEGXL_ANIM) += $(FATE_JPEGXL_ANIM_DEMUX) > +fate-jxl-anim-demux: $(FATE_JPEGXL_ANIM_DEMUX) > diff --git a/tests/ref/fate/jxl-anim-demux-belgium b/tests/ref/fate/jxl-anim-demux-belgium > new file mode 100644 > index 0000000000..b2fe5035ac > --- /dev/null > +++ b/tests/ref/fate/jxl-anim-demux-belgium > @@ -0,0 +1,6 @@ > +#tb 0: 1/25 > +#media_type 0: video > +#codec_id 0: jpegxl > +#dimensions 0: 768x512 > +#sar 0: 0/1 > +0, 0, 0, 1, 32, 0xa2930a20 > diff --git a/tests/ref/fate/jxl-anim-demux-icos4d b/tests/ref/fate/jxl-anim-demux-icos4d > new file mode 100644 > index 0000000000..eff6ff1f1b > --- /dev/null > +++ b/tests/ref/fate/jxl-anim-demux-icos4d > @@ -0,0 +1,6 @@ > +#tb 0: 1/1000 > +#media_type 0: video > +#codec_id 0: jpegxl > +#dimensions 0: 48x48 > +#sar 0: 0/1 > +0, 0, 0, 0, 67898, 0x53b6516b > diff --git a/tests/ref/fate/jxl-anim-demux-lenna256 b/tests/ref/fate/jxl-anim-demux-lenna256 > new file mode 100644 > index 0000000000..0bd286a451 > --- /dev/null > +++ b/tests/ref/fate/jxl-anim-demux-lenna256 > @@ -0,0 +1,7 @@ > +#tb 0: 1/25 > +#media_type 0: video > +#codec_id 0: jpegxl > +#dimensions 0: 256x256 > +#sar 0: 0/1 > +0, 0, 0, 1, 4096, 0x2409e9e3 > +0, 1, 1, 1, 3992, 0x966dbfcb Why is this returning two frames when it's not an animation? And why the two animated files are returning only one frame? Do the latter have the animation bits in the header but still are a single frame? > diff --git a/tests/ref/fate/jxl-anim-demux-newton b/tests/ref/fate/jxl-anim-demux-newton > new file mode 100644 > index 0000000000..6fcb85c41e > --- /dev/null > +++ b/tests/ref/fate/jxl-anim-demux-newton > @@ -0,0 +1,6 @@ > +#tb 0: 1/1000 > +#media_type 0: video > +#codec_id 0: jpegxl > +#dimensions 0: 128x96 > +#sar 0: 0/1 > +0, 0, 0, 0, 43376, 0xb2296182
On 6/24/23 08:26, James Almer wrote: > On 6/24/2023 1:38 AM, Leo Izen wrote: >> Adds a fate test for the jpegxl_anim demuxer, that should allow testing >> for true positives and false positives for animated jpegxl files. Note >> that two of the test cases are not animated, in order to help sort out >> false positives. >> >> Signed-off-by: <leo.izen@gmail.com> >> --- >> tests/Makefile | 1 + >> tests/fate/jxl.mak | 16 ++++++++++++++++ >> tests/ref/fate/jxl-anim-demux-belgium | 6 ++++++ >> tests/ref/fate/jxl-anim-demux-icos4d | 6 ++++++ >> tests/ref/fate/jxl-anim-demux-lenna256 | 7 +++++++ >> tests/ref/fate/jxl-anim-demux-newton | 6 ++++++ >> 6 files changed, 42 insertions(+) >> create mode 100644 tests/fate/jxl.mak >> create mode 100644 tests/ref/fate/jxl-anim-demux-belgium >> create mode 100644 tests/ref/fate/jxl-anim-demux-icos4d >> create mode 100644 tests/ref/fate/jxl-anim-demux-lenna256 >> create mode 100644 tests/ref/fate/jxl-anim-demux-newton >> >> diff --git a/tests/Makefile b/tests/Makefile >> index e09f30a0fc..7b80762e81 100644 >> --- a/tests/Makefile >> +++ b/tests/Makefile >> @@ -201,6 +201,7 @@ 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/jxl.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/jxl.mak b/tests/fate/jxl.mak >> new file mode 100644 >> index 0000000000..057d3be0e1 >> --- /dev/null >> +++ b/tests/fate/jxl.mak >> @@ -0,0 +1,16 @@ >> +# These two are animated JXL files >> +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-newton >> +fate-jxl-anim-demux-newton: CMD = framecrc -i >> $(TARGET_SAMPLES)/jxl/newton.jxl -c copy >> +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-icos4d >> +fate-jxl-anim-demux-icos4d: CMD = framecrc -i >> $(TARGET_SAMPLES)/jxl/icos4d.jxl -c copy >> + >> +# These two are not animated JXL. They are here to check false >> positives. >> +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-belgium >> +fate-jxl-anim-demux-belgium: CMD = framecrc -i >> $(TARGET_SAMPLES)/jxl/belgium.jxl -c copy >> +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-lenna256 >> +fate-jxl-anim-demux-lenna256: CMD = framecrc -i >> $(TARGET_SAMPLES)/jxl/lenna-256.jxl -c copy >> + >> +FATE_JPEGXL_ANIM_DEMUX += $(FATE_JPEGXL_ANIM_DEMUX-yes) >> + >> +FATE_SAMPLES_FFMPEG-$(call FRAMECRC, JPEGXL_ANIM) += >> $(FATE_JPEGXL_ANIM_DEMUX) >> +fate-jxl-anim-demux: $(FATE_JPEGXL_ANIM_DEMUX) >> diff --git a/tests/ref/fate/jxl-anim-demux-belgium >> b/tests/ref/fate/jxl-anim-demux-belgium >> new file mode 100644 >> index 0000000000..b2fe5035ac >> --- /dev/null >> +++ b/tests/ref/fate/jxl-anim-demux-belgium >> @@ -0,0 +1,6 @@ >> +#tb 0: 1/25 >> +#media_type 0: video >> +#codec_id 0: jpegxl >> +#dimensions 0: 768x512 >> +#sar 0: 0/1 >> +0, 0, 0, 1, 32, 0xa2930a20 >> diff --git a/tests/ref/fate/jxl-anim-demux-icos4d >> b/tests/ref/fate/jxl-anim-demux-icos4d >> new file mode 100644 >> index 0000000000..eff6ff1f1b >> --- /dev/null >> +++ b/tests/ref/fate/jxl-anim-demux-icos4d >> @@ -0,0 +1,6 @@ >> +#tb 0: 1/1000 >> +#media_type 0: video >> +#codec_id 0: jpegxl >> +#dimensions 0: 48x48 >> +#sar 0: 0/1 >> +0, 0, 0, 0, 67898, 0x53b6516b >> diff --git a/tests/ref/fate/jxl-anim-demux-lenna256 >> b/tests/ref/fate/jxl-anim-demux-lenna256 >> new file mode 100644 >> index 0000000000..0bd286a451 >> --- /dev/null >> +++ b/tests/ref/fate/jxl-anim-demux-lenna256 >> @@ -0,0 +1,7 @@ >> +#tb 0: 1/25 >> +#media_type 0: video >> +#codec_id 0: jpegxl >> +#dimensions 0: 256x256 >> +#sar 0: 0/1 >> +0, 0, 0, 1, 4096, 0x2409e9e3 >> +0, 1, 1, 1, 3992, 0x966dbfcb > > Why is this returning two frames when it's not an animation? And why the > two animated files are returning only one frame? Do the latter have the > animation bits in the header but still are a single frame? > Because this is with -c copy, these are AVPackets, not AVFrames. For some reason, the image2 demuxer is returning 4k-sized packets when fed through the parser. This is what prompted the original patch to libjxldec, to accommodate those 4k-sized packets that aren't complete frames. >> diff --git a/tests/ref/fate/jxl-anim-demux-newton >> b/tests/ref/fate/jxl-anim-demux-newton >> new file mode 100644 >> index 0000000000..6fcb85c41e >> --- /dev/null >> +++ b/tests/ref/fate/jxl-anim-demux-newton >> @@ -0,0 +1,6 @@ >> +#tb 0: 1/1000 >> +#media_type 0: video >> +#codec_id 0: jpegxl >> +#dimensions 0: 128x96 >> +#sar 0: 0/1 >> +0, 0, 0, 0, 43376, 0xb2296182 > _______________________________________________ - Leo Izen
diff --git a/tests/Makefile b/tests/Makefile index e09f30a0fc..7b80762e81 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -201,6 +201,7 @@ 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/jxl.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/jxl.mak b/tests/fate/jxl.mak new file mode 100644 index 0000000000..057d3be0e1 --- /dev/null +++ b/tests/fate/jxl.mak @@ -0,0 +1,16 @@ +# These two are animated JXL files +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-newton +fate-jxl-anim-demux-newton: CMD = framecrc -i $(TARGET_SAMPLES)/jxl/newton.jxl -c copy +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-icos4d +fate-jxl-anim-demux-icos4d: CMD = framecrc -i $(TARGET_SAMPLES)/jxl/icos4d.jxl -c copy + +# These two are not animated JXL. They are here to check false positives. +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-belgium +fate-jxl-anim-demux-belgium: CMD = framecrc -i $(TARGET_SAMPLES)/jxl/belgium.jxl -c copy +FATE_JPEGXL_ANIM_DEMUX += fate-jxl-anim-demux-lenna256 +fate-jxl-anim-demux-lenna256: CMD = framecrc -i $(TARGET_SAMPLES)/jxl/lenna-256.jxl -c copy + +FATE_JPEGXL_ANIM_DEMUX += $(FATE_JPEGXL_ANIM_DEMUX-yes) + +FATE_SAMPLES_FFMPEG-$(call FRAMECRC, JPEGXL_ANIM) += $(FATE_JPEGXL_ANIM_DEMUX) +fate-jxl-anim-demux: $(FATE_JPEGXL_ANIM_DEMUX) diff --git a/tests/ref/fate/jxl-anim-demux-belgium b/tests/ref/fate/jxl-anim-demux-belgium new file mode 100644 index 0000000000..b2fe5035ac --- /dev/null +++ b/tests/ref/fate/jxl-anim-demux-belgium @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: jpegxl +#dimensions 0: 768x512 +#sar 0: 0/1 +0, 0, 0, 1, 32, 0xa2930a20 diff --git a/tests/ref/fate/jxl-anim-demux-icos4d b/tests/ref/fate/jxl-anim-demux-icos4d new file mode 100644 index 0000000000..eff6ff1f1b --- /dev/null +++ b/tests/ref/fate/jxl-anim-demux-icos4d @@ -0,0 +1,6 @@ +#tb 0: 1/1000 +#media_type 0: video +#codec_id 0: jpegxl +#dimensions 0: 48x48 +#sar 0: 0/1 +0, 0, 0, 0, 67898, 0x53b6516b diff --git a/tests/ref/fate/jxl-anim-demux-lenna256 b/tests/ref/fate/jxl-anim-demux-lenna256 new file mode 100644 index 0000000000..0bd286a451 --- /dev/null +++ b/tests/ref/fate/jxl-anim-demux-lenna256 @@ -0,0 +1,7 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: jpegxl +#dimensions 0: 256x256 +#sar 0: 0/1 +0, 0, 0, 1, 4096, 0x2409e9e3 +0, 1, 1, 1, 3992, 0x966dbfcb diff --git a/tests/ref/fate/jxl-anim-demux-newton b/tests/ref/fate/jxl-anim-demux-newton new file mode 100644 index 0000000000..6fcb85c41e --- /dev/null +++ b/tests/ref/fate/jxl-anim-demux-newton @@ -0,0 +1,6 @@ +#tb 0: 1/1000 +#media_type 0: video +#codec_id 0: jpegxl +#dimensions 0: 128x96 +#sar 0: 0/1 +0, 0, 0, 0, 43376, 0xb2296182
Adds a fate test for the jpegxl_anim demuxer, that should allow testing for true positives and false positives for animated jpegxl files. Note that two of the test cases are not animated, in order to help sort out false positives. Signed-off-by: <leo.izen@gmail.com> --- tests/Makefile | 1 + tests/fate/jxl.mak | 16 ++++++++++++++++ tests/ref/fate/jxl-anim-demux-belgium | 6 ++++++ tests/ref/fate/jxl-anim-demux-icos4d | 6 ++++++ tests/ref/fate/jxl-anim-demux-lenna256 | 7 +++++++ tests/ref/fate/jxl-anim-demux-newton | 6 ++++++ 6 files changed, 42 insertions(+) create mode 100644 tests/fate/jxl.mak create mode 100644 tests/ref/fate/jxl-anim-demux-belgium create mode 100644 tests/ref/fate/jxl-anim-demux-icos4d create mode 100644 tests/ref/fate/jxl-anim-demux-lenna256 create mode 100644 tests/ref/fate/jxl-anim-demux-newton