From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> To: ffmpeg-devel@ffmpeg.org Subject: Re: [FFmpeg-devel] [PATCH] fate: add various FFv1 tests for 1024 slices Date: Wed, 16 Apr 2025 12:22:27 +0200 Message-ID: <GV1P250MB073722AFD2D5F371896B876B8FBD2@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM> (raw) In-Reply-To: <20250416095508.210533-1-dev@lynne.ee> Lynne: > This lets us test features that were broken earlier, as well as > test the hardware decoder by using the HWACCEL=vulkan option. Can't you just adjust some of vsynth FFV1 tests to use this many slices? (Can one even use 1024 slices for such a low resolution?) > --- > tests/Makefile | 1 + > tests/fate/ffv1.mak | 53 +++++++++++++++++++++++++++++ > tests/ref/fate/ffv1-s1024-bgra | 4 +++ > tests/ref/fate/ffv1-s1024-bgra-r | 4 +++ > tests/ref/fate/ffv1-s1024-gbrp16 | 4 +++ > tests/ref/fate/ffv1-s1024-gray8 | 4 +++ > tests/ref/fate/ffv1-s1024-gray8-r | 4 +++ > tests/ref/fate/ffv1-s1024-yuv444p | 4 +++ > tests/ref/fate/ffv1-s1024-yuv444p-r | 4 +++ > 9 files changed, 82 insertions(+) > create mode 100644 tests/fate/ffv1.mak > create mode 100644 tests/ref/fate/ffv1-s1024-bgra > create mode 100644 tests/ref/fate/ffv1-s1024-bgra-r > create mode 100644 tests/ref/fate/ffv1-s1024-gbrp16 > create mode 100644 tests/ref/fate/ffv1-s1024-gray8 > create mode 100644 tests/ref/fate/ffv1-s1024-gray8-r > create mode 100644 tests/ref/fate/ffv1-s1024-yuv444p > create mode 100644 tests/ref/fate/ffv1-s1024-yuv444p-r > > diff --git a/tests/Makefile b/tests/Makefile > index f9f5fc07f3..b2386febd7 100644 > --- a/tests/Makefile > +++ b/tests/Makefile > @@ -180,6 +180,7 @@ include $(SRC_PATH)/tests/fate/enc_external.mak > # Must be included after lavf-video.mak > include $(SRC_PATH)/tests/fate/ffmpeg.mak > include $(SRC_PATH)/tests/fate/ffprobe.mak > +include $(SRC_PATH)/tests/fate/ffv1.mak > include $(SRC_PATH)/tests/fate/fifo-muxer.mak > include $(SRC_PATH)/tests/fate/filter-audio.mak > # Must be included after vcodec.mak > diff --git a/tests/fate/ffv1.mak b/tests/fate/ffv1.mak > new file mode 100644 > index 0000000000..16660b5ac2 > --- /dev/null > +++ b/tests/fate/ffv1.mak > @@ -0,0 +1,53 @@ > +FATE_FFV1 += fate-ffv1-s1024-gray8 > +fate-ffv1-s1024-gray8: tests/data/vsynth1.yuv > +fate-ffv1-s1024-gray8: CMD = enc_dec \ > + "rawvideo -s 352x288 -pix_fmt gray8" tests/data/vsynth1.yuv \ Seems like you are treating the input file as gray8 (as opposed to converting it to gray8). Is this intended? Can't this cause problems because the size of the input file is not necessarily a multiple of the size expected for a 352x288 gray8 frame? > + nut "-c ffv1 -g 1 -slices 1024 -coder ac" \ > + framecrc "" "" > + > +FATE_FFV1 += fate-ffv1-s1024-gray8-r > +fate-ffv1-s1024-gray8-r: tests/data/vsynth1.yuv > +fate-ffv1-s1024-gray8-r: CMD = enc_dec \ > + "rawvideo -s 352x288 -pix_fmt gray8" tests/data/vsynth1.yuv \ > + nut "-c ffv1 -g 1 -slices 1024 -coder rice" \ > + framecrc "" "" > + > +FATE_FFV1 += fate-ffv1-s1024-yuv444p > +fate-ffv1-s1024-yuv444p: tests/data/vsynth1.yuv > +fate-ffv1-s1024-yuv444p: CMD = enc_dec \ > + "rawvideo -s 352x288 -pix_fmt yuv444p" tests/data/vsynth1.yuv \ > + nut "-c ffv1 -g 1 -slices 1024 -coder ac" \ > + framecrc "" "" > + > +FATE_FFV1 += fate-ffv1-s1024-yuv444p-r > +fate-ffv1-s1024-yuv444p-r: tests/data/vsynth1.yuv > +fate-ffv1-s1024-yuv444p-r: CMD = enc_dec \ > + "rawvideo -s 352x288 -pix_fmt yuv444p" tests/data/vsynth1.yuv \ > + nut "-c ffv1 -g 1 -slices 1024 -coder rice" \ > + framecrc "" "" > + > +FATE_FFV1 += fate-ffv1-s1024-bgra > +fate-ffv1-s1024-bgra: tests/data/vsynth1.yuv > +fate-ffv1-s1024-bgra: CMD = enc_dec \ > + "rawvideo -s 352x288 -pix_fmt bgra" tests/data/vsynth1.yuv \ > + nut "-c ffv1 -g 1 -slices 1024 -coder ac" \ > + framecrc "" "" > + > +FATE_FFV1 += fate-ffv1-s1024-bgra-r > +fate-ffv1-s1024-bgra-r: tests/data/vsynth1.yuv > +fate-ffv1-s1024-bgra-r: CMD = enc_dec \ > + "rawvideo -s 352x288 -pix_fmt bgra" tests/data/vsynth1.yuv \ > + nut "-c ffv1 -g 1 -slices 1024 -coder rice" \ > + framecrc "" "" > + > +FATE_FFV1 += fate-ffv1-s1024-gbrp16 > +fate-ffv1-s1024-gbrp16: tests/data/vsynth1.yuv > +fate-ffv1-s1024-gbrp16: CMD = enc_dec \ > + "rawvideo -s 352x288 -pix_fmt gbrp16" tests/data/vsynth1.yuv \ > + nut "-c ffv1 -g 1 -slices 1024 -coder ac" \ > + framecrc "" "" Won't this test cause issues on BE? > + > +FATE_FFV1-$(call ENCDEC, FFV1, NUT) += $(FATE_FFV1) > +FATE_FFV1_ALL = $(FATE_FFV1-yes) > +FATE_SAMPLES_FFMPEG += $(FATE_FFV1_ALL) > +fate-ffv1: $(FATE_FFV1_ALL) > diff --git a/tests/ref/fate/ffv1-s1024-bgra b/tests/ref/fate/ffv1-s1024-bgra > new file mode 100644 > index 0000000000..9e8ecb0d17 > --- /dev/null > +++ b/tests/ref/fate/ffv1-s1024-bgra > @@ -0,0 +1,4 @@ > +b5374eb750c4eb58be89e56adba70294 *tests/data/fate/ffv1-s1024-bgra.nut > +5952517 tests/data/fate/ffv1-s1024-bgra.nut > +5a62bfcd55a764b27412ff4aa710d43a *tests/data/fate/ffv1-s1024-bgra.out.framecrc > +stddev:28579.81 PSNR: 7.21 MAXDIFF:60652 bytes: 7603200/ 1134 Why does this show differences given that FFV1 is a lossless encoder? Is it due to the input file size not being a multiple of the expected size for a 352x288 frame of type bgra? > diff --git a/tests/ref/fate/ffv1-s1024-bgra-r b/tests/ref/fate/ffv1-s1024-bgra-r > new file mode 100644 > index 0000000000..6432fc11c5 > --- /dev/null > +++ b/tests/ref/fate/ffv1-s1024-bgra-r > @@ -0,0 +1,4 @@ > +7d4a469b945db6a6a0020390742cfed0 *tests/data/fate/ffv1-s1024-bgra-r.nut > +7393681 tests/data/fate/ffv1-s1024-bgra-r.nut > +5a62bfcd55a764b27412ff4aa710d43a *tests/data/fate/ffv1-s1024-bgra-r.out.framecrc > +stddev:28579.81 PSNR: 7.21 MAXDIFF:60652 bytes: 7603200/ 1134 > diff --git a/tests/ref/fate/ffv1-s1024-gbrp16 b/tests/ref/fate/ffv1-s1024-gbrp16 > new file mode 100644 > index 0000000000..182d969afa > --- /dev/null > +++ b/tests/ref/fate/ffv1-s1024-gbrp16 > @@ -0,0 +1,4 @@ > +0da1f15bc7dbfb960cbb37b7554b9fd4 *tests/data/fate/ffv1-s1024-gbrp16.nut > +9611659 tests/data/fate/ffv1-s1024-gbrp16.nut > +40d9a119d8571e60e7bcd453ad211ca8 *tests/data/fate/ffv1-s1024-gbrp16.out.framecrc > +stddev:28754.89 PSNR: 7.16 MAXDIFF:60652 bytes: 7603200/ 786 > diff --git a/tests/ref/fate/ffv1-s1024-gray8 b/tests/ref/fate/ffv1-s1024-gray8 > new file mode 100644 > index 0000000000..4d12d826c7 > --- /dev/null > +++ b/tests/ref/fate/ffv1-s1024-gray8 > @@ -0,0 +1,4 @@ > +8c29422462a2c36f812f2c7f83d7194f *tests/data/fate/ffv1-s1024-gray8.nut > +5256256 tests/data/fate/ffv1-s1024-gray8.nut > +8b63ba6c862fd9fbf8f843ebffc1efe0 *tests/data/fate/ffv1-s1024-gray8.out.framecrc > +stddev:27758.05 PSNR: 7.46 MAXDIFF:60652 bytes: 7603200/ 4440 > diff --git a/tests/ref/fate/ffv1-s1024-gray8-r b/tests/ref/fate/ffv1-s1024-gray8-r > new file mode 100644 > index 0000000000..2d7ca446de > --- /dev/null > +++ b/tests/ref/fate/ffv1-s1024-gray8-r > @@ -0,0 +1,4 @@ > +53c546bc16903911d83f9b85b0db63c1 *tests/data/fate/ffv1-s1024-gray8-r.nut > +6096362 tests/data/fate/ffv1-s1024-gray8-r.nut > +8b63ba6c862fd9fbf8f843ebffc1efe0 *tests/data/fate/ffv1-s1024-gray8-r.out.framecrc > +stddev:27758.05 PSNR: 7.46 MAXDIFF:60652 bytes: 7603200/ 4440 > diff --git a/tests/ref/fate/ffv1-s1024-yuv444p b/tests/ref/fate/ffv1-s1024-yuv444p > new file mode 100644 > index 0000000000..35b34c45c3 > --- /dev/null > +++ b/tests/ref/fate/ffv1-s1024-yuv444p > @@ -0,0 +1,4 @@ > +a0aaa5cf8d09196dab2d7eb6ba354377 *tests/data/fate/ffv1-s1024-yuv444p.nut > +4640669 tests/data/fate/ffv1-s1024-yuv444p.nut > +11763ee488e7ec55b7d8a7b5b1bfd6ca *tests/data/fate/ffv1-s1024-yuv444p.out.framecrc > +stddev:28620.03 PSNR: 7.20 MAXDIFF:60652 bytes: 7603200/ 1540 > diff --git a/tests/ref/fate/ffv1-s1024-yuv444p-r b/tests/ref/fate/ffv1-s1024-yuv444p-r > new file mode 100644 > index 0000000000..7d95a31a39 > --- /dev/null > +++ b/tests/ref/fate/ffv1-s1024-yuv444p-r > @@ -0,0 +1,4 @@ > +0e8606ceaad521d2e33b14d608f7e266 *tests/data/fate/ffv1-s1024-yuv444p-r.nut > +5426601 tests/data/fate/ffv1-s1024-yuv444p-r.nut > +11763ee488e7ec55b7d8a7b5b1bfd6ca *tests/data/fate/ffv1-s1024-yuv444p-r.out.framecrc > +stddev:28620.03 PSNR: 7.20 MAXDIFF:60652 bytes: 7603200/ 1540 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2025-04-16 10:22 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-04-16 9:55 Lynne 2025-04-16 10:22 ` Andreas Rheinhardt [this message] 2025-04-16 10:39 ` Lynne
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=GV1P250MB073722AFD2D5F371896B876B8FBD2@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM \ --to=andreas.rheinhardt@outlook.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git