Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] fate: add various FFv1 tests for 1024 slices
@ 2025-04-16  9:55 Lynne
  2025-04-16 10:22 ` Andreas Rheinhardt
  0 siblings, 1 reply; 3+ messages in thread
From: Lynne @ 2025-04-16  9:55 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Lynne

This lets us test features that were broken earlier, as well as
test the hardware decoder by using the HWACCEL=vulkan option.
---
 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 \
+  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 "" ""
+
+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
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
-- 
2.49.0.395.g12beb8f557c
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [FFmpeg-devel] [PATCH] fate: add various FFv1 tests for 1024 slices
  2025-04-16  9:55 [FFmpeg-devel] [PATCH] fate: add various FFv1 tests for 1024 slices Lynne
@ 2025-04-16 10:22 ` Andreas Rheinhardt
  2025-04-16 10:39   ` Lynne
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Rheinhardt @ 2025-04-16 10:22 UTC (permalink / raw)
  To: ffmpeg-devel

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".

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [FFmpeg-devel] [PATCH] fate: add various FFv1 tests for 1024 slices
  2025-04-16 10:22 ` Andreas Rheinhardt
@ 2025-04-16 10:39   ` Lynne
  0 siblings, 0 replies; 3+ messages in thread
From: Lynne @ 2025-04-16 10:39 UTC (permalink / raw)
  To: ffmpeg-devel


[-- Attachment #1.1.1.1: Type: text/plain, Size: 4564 bytes --]

On 16/04/2025 12:22, Andreas Rheinhardt wrote:
> 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?)

I'd rather not. vsynth is the AVCodecContext of tests.
It's a good point to clean up, IMO.

>> ---
>>   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?

Shouldn't really cause an issue.
Do you have a better suggestion on how to handle this?

>> +  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?

[-- Attachment #1.1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 637 bytes --]

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-04-16 10:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-16  9:55 [FFmpeg-devel] [PATCH] fate: add various FFv1 tests for 1024 slices Lynne
2025-04-16 10:22 ` Andreas Rheinhardt
2025-04-16 10:39   ` Lynne

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