From: Nicolas George <george@nsup.org> To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 7/7] tests: add coverage for libavfilter's format negotiation Date: Tue, 2 Aug 2022 18:54:21 +0200 Message-ID: <20220802165421.137563-7-george@nsup.org> (raw) In-Reply-To: <20220802165421.137563-1-george@nsup.org> Added coverage for the video part of pick_format(). Signed-off-by: Nicolas George <george@nsup.org> --- Only video for now, I would like to push before working on audio. Audio is easier because there are fewer formats. But audio is also harder because I need to test cases where format incompatibilities detected in two places for different aspects. Once I have good coverage, I can reorganise the negotiation process without risking breaking cases that were previously fixed. Note: the tests are very fast, since they only init the graph and do not filter anything. tests/Makefile | 1 + tests/fate-run.sh | 4 + tests/fate/libavfilter.mak | 86 +++++++++++++++++++ tests/ref/fate/libavfilter-negotiation-alpha | 20 +++++ ...avfilter-negotiation-alpha-over-chroma-rgb | 20 +++++ ...avfilter-negotiation-alpha-over-chroma-yuv | 20 +++++ .../libavfilter-negotiation-avoid-subsample | 20 +++++ .../fate/libavfilter-negotiation-chroma-rgb | 20 +++++ .../fate/libavfilter-negotiation-chroma-yuv | 20 +++++ .../libavfilter-negotiation-chroma-yuv420 | 20 +++++ ...ibavfilter-negotiation-chroma1-over-depth1 | 20 +++++ ...ilter-negotiation-chroma2-over-colorspace8 | 20 +++++ ...libavfilter-negotiation-colorspace-rgb-yuv | 20 +++++ ...libavfilter-negotiation-colorspace-yuv-rgb | 20 +++++ ...vfilter-negotiation-colorspace8-over-alpha | 20 +++++ .../fate/libavfilter-negotiation-depth-rgb | 20 +++++ .../fate/libavfilter-negotiation-depth-yuv | 20 +++++ ...libavfilter-negotiation-depth1-over-depth2 | 20 +++++ .../libavfilter-negotiation-depth2-over-alpha | 20 +++++ .../fate/libavfilter-negotiation-palette-rgb | 20 +++++ .../fate/libavfilter-negotiation-palette-yuv | 20 +++++ 21 files changed, 451 insertions(+) create mode 100644 tests/fate/libavfilter.mak create mode 100644 tests/ref/fate/libavfilter-negotiation-alpha create mode 100644 tests/ref/fate/libavfilter-negotiation-alpha-over-chroma-rgb create mode 100644 tests/ref/fate/libavfilter-negotiation-alpha-over-chroma-yuv create mode 100644 tests/ref/fate/libavfilter-negotiation-avoid-subsample create mode 100644 tests/ref/fate/libavfilter-negotiation-chroma-rgb create mode 100644 tests/ref/fate/libavfilter-negotiation-chroma-yuv create mode 100644 tests/ref/fate/libavfilter-negotiation-chroma-yuv420 create mode 100644 tests/ref/fate/libavfilter-negotiation-chroma1-over-depth1 create mode 100644 tests/ref/fate/libavfilter-negotiation-chroma2-over-colorspace8 create mode 100644 tests/ref/fate/libavfilter-negotiation-colorspace-rgb-yuv create mode 100644 tests/ref/fate/libavfilter-negotiation-colorspace-yuv-rgb create mode 100644 tests/ref/fate/libavfilter-negotiation-colorspace8-over-alpha create mode 100644 tests/ref/fate/libavfilter-negotiation-depth-rgb create mode 100644 tests/ref/fate/libavfilter-negotiation-depth-yuv create mode 100644 tests/ref/fate/libavfilter-negotiation-depth1-over-depth2 create mode 100644 tests/ref/fate/libavfilter-negotiation-depth2-over-alpha create mode 100644 tests/ref/fate/libavfilter-negotiation-palette-rgb create mode 100644 tests/ref/fate/libavfilter-negotiation-palette-yuv diff --git a/tests/Makefile b/tests/Makefile index d9c509a415..c4e01a26e9 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -202,6 +202,7 @@ include $(SRC_PATH)/tests/fate/imf.mak include $(SRC_PATH)/tests/fate/indeo.mak include $(SRC_PATH)/tests/fate/libavcodec.mak include $(SRC_PATH)/tests/fate/libavdevice.mak +include $(SRC_PATH)/tests/fate/libavfilter.mak include $(SRC_PATH)/tests/fate/libavformat.mak include $(SRC_PATH)/tests/fate/libavutil.mak include $(SRC_PATH)/tests/fate/libswresample.mak diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 4008bcbc16..53dcbb563b 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -571,6 +571,10 @@ venc_data(){ run tools/venc_data_dump${EXECSUF} ${file} ${stream} ${frames} ${threads} ${thread_type} } +lavfi_dump(){ + run ffmpeg${PROGSUF}${EXECSUF} -lavfi_dump -lavfi "$@" -f null - +} + null(){ : } diff --git a/tests/fate/libavfilter.mak b/tests/fate/libavfilter.mak new file mode 100644 index 0000000000..b7d3786942 --- /dev/null +++ b/tests/fate/libavfilter.mak @@ -0,0 +1,86 @@ +NEGO_PIXFMT = lavfi_dump testsrc2=d=0,format=$(1),scale,format=$(2) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : losing alpha +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-alpha +fate-libavfilter-negotiation-alpha: CMD = $(call NEGO_PIXFMT,rgba,yuv444p/yuva444p) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : subsampling +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-avoid-subsample +fate-libavfilter-negotiation-avoid-subsample: CMD = $(call NEGO_PIXFMT,yuv444p,yuv420p10le/yuva444p10le) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : losing depth (yuv) +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-depth-yuv +fate-libavfilter-negotiation-depth-yuv: CMD = $(call NEGO_PIXFMT,yuv444p10le,yuv444p9le/yuva444p12le) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : losing depth (rgb) +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-depth-rgb +fate-libavfilter-negotiation-depth-rgb: CMD = $(call NEGO_PIXFMT,rgb24,rgb555le/rgb48le) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : changing colorspace (yuv → rgb) +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-colorspace-yuv-rgb +fate-libavfilter-negotiation-colorspace-yuv-rgb: CMD = $(call NEGO_PIXFMT,yuv444p,rgb24/yuv444p9) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : changing colorspace (rgb → yuv) +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-colorspace-rgb-yuv +fate-libavfilter-negotiation-colorspace-rgb-yuv: CMD = $(call NEGO_PIXFMT,rgb24,yuv444p/rgb0) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : losing chroma (yuv) +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-chroma-yuv +fate-libavfilter-negotiation-chroma-yuv: CMD = $(call NEGO_PIXFMT,yuv444p,gray8/rgb24) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : losing chroma (rgb) +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-chroma-rgb +fate-libavfilter-negotiation-chroma-rgb: CMD = $(call NEGO_PIXFMT,rgb24,gray8/yuv444p) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : avoid palette (yuv) +# FIXME yuv → pal8 always loses depth +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-palette-yuv +fate-libavfilter-negotiation-palette-yuv: CMD = $(call NEGO_PIXFMT,yuv444p,pal8/rgb24) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : avoid palette (rgb) +# FIXME rgb → pal8 always loses depth +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-palette-rgb +fate-libavfilter-negotiation-palette-rgb: CMD = $(call NEGO_PIXFMT,rgb24,pal8/yuv444p) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : yuv420 exception +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-chroma-yuv420 +fate-libavfilter-negotiation-chroma-yuv420: CMD = $(call NEGO_PIXFMT,yuv444p,yuv422p/yuv420p) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : chroma subsampling -1 > depth -1 +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-chroma1-over-depth1 +fate-libavfilter-negotiation-chroma1-over-depth1: CMD = $(call NEGO_PIXFMT,yuv444p10le,yuv444p9le/yuv440p10le) + +# FIXME depth -1 > chroma subsampling -2 → impossible to test without triggering the exception for 420 + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : depth -1 > depth -2 +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-depth1-over-depth2 +fate-libavfilter-negotiation-depth1-over-depth2: CMD = $(call NEGO_PIXFMT,yuv444p10le,yuv444p/yuv444p9le) + +# FIXME chroma subsampling -2 > depth -2 → impossible to test without triggering the exception for 420 + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : chroma subsampling -2 > colorspace 8 +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-chroma2-over-colorspace8 +fate-libavfilter-negotiation-chroma2-over-colorspace8: CMD = $(call NEGO_PIXFMT,yuv444p,rgb24/yuv411p) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : depth -2 > lose alpha +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-depth2-over-alpha +fate-libavfilter-negotiation-depth2-over-alpha: CMD = $(call NEGO_PIXFMT,yuva444p10le,yuv444p10le/yuva444p) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : colorspace 8 > lose alpha +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-colorspace8-over-alpha +fate-libavfilter-negotiation-colorspace8-over-alpha: CMD = $(call NEGO_PIXFMT,yuva444p,yuv444p/rgba) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : lose alpha > lose chroma +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-alpha-over-chroma-yuv +fate-libavfilter-negotiation-alpha-over-chroma-yuv: CMD = $(call NEGO_PIXFMT,yuva444p,gray8a/yuv444p) + +# avfiltergraph.c : pick_format() → pixdesc.c : get_pix_fmt_score() : lose alpha > lose chroma +FATE_LIBAVFILTER_NEGOTIATION_VIDEO += fate-libavfilter-negotiation-alpha-over-chroma-rgb +fate-libavfilter-negotiation-alpha-over-chroma-rgb: CMD = $(call NEGO_PIXFMT,rgba,gray8a/rgb24) + +FATE_LIBAVFILTER_NEGOTIATION-$(call ALLYES, TESTSRC2_FILTER FORMAT_FILTER SCALE_FILTER) += $(FATE_LIBAVFILTER_NEGOTIATION_VIDEO) +FATE_LIBAVFILTER-yes += $(FATE_LIBAVFILTER_NEGOTIATION-yes) + +fate-libavfilter: $(FATE_LIBAVFILTER-yes) +fate-libavfilter-negotiation: $(FATE_LIBAVFILTER_NEGOTIATION-yes) +FATE_FFMPEG += $(FATE_LIBAVFILTER-yes) diff --git a/tests/ref/fate/libavfilter-negotiation-alpha b/tests/ref/fate/libavfilter-negotiation-alpha new file mode 100644 index 0000000000..00175f65cb --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-alpha @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 rgba] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 rgba] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 rgba] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 rgba] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuva444p] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuva444p] + out 0: default → out_0_0.0:default [320x240 1:1 yuva444p] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuva444p] + diff --git a/tests/ref/fate/libavfilter-negotiation-alpha-over-chroma-rgb b/tests/ref/fate/libavfilter-negotiation-alpha-over-chroma-rgb new file mode 100644 index 0000000000..38d4670ac4 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-alpha-over-chroma-rgb @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 rgba] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 rgba] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 rgba] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 rgba] + out 0: default → Parsed_format_3.0:default [320x240 1:1 rgb24] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 rgb24] + out 0: default → out_0_0.0:default [320x240 1:1 rgb24] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 rgb24] + diff --git a/tests/ref/fate/libavfilter-negotiation-alpha-over-chroma-yuv b/tests/ref/fate/libavfilter-negotiation-alpha-over-chroma-yuv new file mode 100644 index 0000000000..fecb493f88 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-alpha-over-chroma-yuv @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuva444p] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuva444p] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuva444p] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuva444p] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuv444p] + out 0: default → out_0_0.0:default [320x240 1:1 yuv444p] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuv444p] + diff --git a/tests/ref/fate/libavfilter-negotiation-avoid-subsample b/tests/ref/fate/libavfilter-negotiation-avoid-subsample new file mode 100644 index 0000000000..eafb6f04b2 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-avoid-subsample @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuva444p10le] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuva444p10le] + out 0: default → out_0_0.0:default [320x240 1:1 yuva444p10le] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuva444p10le] + diff --git a/tests/ref/fate/libavfilter-negotiation-chroma-rgb b/tests/ref/fate/libavfilter-negotiation-chroma-rgb new file mode 100644 index 0000000000..f317cc85cd --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-chroma-rgb @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 rgb24] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 rgb24] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 rgb24] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 rgb24] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuv444p] + out 0: default → out_0_0.0:default [320x240 1:1 yuv444p] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuv444p] + diff --git a/tests/ref/fate/libavfilter-negotiation-chroma-yuv b/tests/ref/fate/libavfilter-negotiation-chroma-yuv new file mode 100644 index 0000000000..ff3e54aa84 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-chroma-yuv @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_format_3.0:default [320x240 1:1 rgb24] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 rgb24] + out 0: default → out_0_0.0:default [320x240 1:1 rgb24] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 rgb24] + diff --git a/tests/ref/fate/libavfilter-negotiation-chroma-yuv420 b/tests/ref/fate/libavfilter-negotiation-chroma-yuv420 new file mode 100644 index 0000000000..f93f15d1b1 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-chroma-yuv420 @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuv420p] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuv420p] + out 0: default → out_0_0.0:default [320x240 1:1 yuv420p] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuv420p] + diff --git a/tests/ref/fate/libavfilter-negotiation-chroma1-over-depth1 b/tests/ref/fate/libavfilter-negotiation-chroma1-over-depth1 new file mode 100644 index 0000000000..01e3e0df56 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-chroma1-over-depth1 @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuv444p10le] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuv444p10le] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuv444p10le] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuv444p10le] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuv440p10le] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuv440p10le] + out 0: default → out_0_0.0:default [320x240 1:1 yuv440p10le] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuv440p10le] + diff --git a/tests/ref/fate/libavfilter-negotiation-chroma2-over-colorspace8 b/tests/ref/fate/libavfilter-negotiation-chroma2-over-colorspace8 new file mode 100644 index 0000000000..9c78d1cf94 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-chroma2-over-colorspace8 @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuv411p] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuv411p] + out 0: default → out_0_0.0:default [320x240 1:1 yuv411p] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuv411p] + diff --git a/tests/ref/fate/libavfilter-negotiation-colorspace-rgb-yuv b/tests/ref/fate/libavfilter-negotiation-colorspace-rgb-yuv new file mode 100644 index 0000000000..8e69fb572a --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-colorspace-rgb-yuv @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 rgb24] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 rgb24] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 rgb24] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 rgb24] + out 0: default → Parsed_format_3.0:default [320x240 1:1 rgb0] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 rgb0] + out 0: default → out_0_0.0:default [320x240 1:1 rgb0] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 rgb0] + diff --git a/tests/ref/fate/libavfilter-negotiation-colorspace-yuv-rgb b/tests/ref/fate/libavfilter-negotiation-colorspace-yuv-rgb new file mode 100644 index 0000000000..00a4b25599 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-colorspace-yuv-rgb @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuv444p9le] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuv444p9le] + out 0: default → out_0_0.0:default [320x240 1:1 yuv444p9le] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuv444p9le] + diff --git a/tests/ref/fate/libavfilter-negotiation-colorspace8-over-alpha b/tests/ref/fate/libavfilter-negotiation-colorspace8-over-alpha new file mode 100644 index 0000000000..7376f40526 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-colorspace8-over-alpha @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuva444p] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuva444p] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuva444p] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuva444p] + out 0: default → Parsed_format_3.0:default [320x240 1:1 rgba] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 rgba] + out 0: default → out_0_0.0:default [320x240 1:1 rgba] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 rgba] + diff --git a/tests/ref/fate/libavfilter-negotiation-depth-rgb b/tests/ref/fate/libavfilter-negotiation-depth-rgb new file mode 100644 index 0000000000..aa8c9a3a5c --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-depth-rgb @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 rgb24] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 rgb24] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 rgb24] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 rgb24] + out 0: default → Parsed_format_3.0:default [320x240 1:1 rgb48le] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 rgb48le] + out 0: default → out_0_0.0:default [320x240 1:1 rgb48le] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 rgb48le] + diff --git a/tests/ref/fate/libavfilter-negotiation-depth-yuv b/tests/ref/fate/libavfilter-negotiation-depth-yuv new file mode 100644 index 0000000000..b4570fbd22 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-depth-yuv @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuv444p10le] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuv444p10le] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuv444p10le] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuv444p10le] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuva444p12le] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuva444p12le] + out 0: default → out_0_0.0:default [320x240 1:1 yuva444p12le] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuva444p12le] + diff --git a/tests/ref/fate/libavfilter-negotiation-depth1-over-depth2 b/tests/ref/fate/libavfilter-negotiation-depth1-over-depth2 new file mode 100644 index 0000000000..dc6aff0817 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-depth1-over-depth2 @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuv444p10le] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuv444p10le] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuv444p10le] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuv444p10le] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuv444p9le] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuv444p9le] + out 0: default → out_0_0.0:default [320x240 1:1 yuv444p9le] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuv444p9le] + diff --git a/tests/ref/fate/libavfilter-negotiation-depth2-over-alpha b/tests/ref/fate/libavfilter-negotiation-depth2-over-alpha new file mode 100644 index 0000000000..96867239f8 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-depth2-over-alpha @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuva444p10le] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuva444p10le] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuva444p10le] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuva444p10le] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuva444p] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuva444p] + out 0: default → out_0_0.0:default [320x240 1:1 yuva444p] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuva444p] + diff --git a/tests/ref/fate/libavfilter-negotiation-palette-rgb b/tests/ref/fate/libavfilter-negotiation-palette-rgb new file mode 100644 index 0000000000..f317cc85cd --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-palette-rgb @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 rgb24] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 rgb24] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 rgb24] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 rgb24] + out 0: default → Parsed_format_3.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 yuv444p] + out 0: default → out_0_0.0:default [320x240 1:1 yuv444p] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 yuv444p] + diff --git a/tests/ref/fate/libavfilter-negotiation-palette-yuv b/tests/ref/fate/libavfilter-negotiation-palette-yuv new file mode 100644 index 0000000000..ff3e54aa84 --- /dev/null +++ b/tests/ref/fate/libavfilter-negotiation-palette-yuv @@ -0,0 +1,20 @@ +Dump of complex filter graph #0: + +Filter: Parsed_testsrc2_0 (testsrc2) + out 0: default → Parsed_format_1.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_format_1 (format) + in 0: default ← Parsed_testsrc2_0.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_scale_2.0:default [320x240 1:1 yuv444p] + +Filter: Parsed_scale_2 (scale) + in 0: default ← Parsed_format_1.0:default [320x240 1:1 yuv444p] + out 0: default → Parsed_format_3.0:default [320x240 1:1 rgb24] + +Filter: Parsed_format_3 (format) + in 0: default ← Parsed_scale_2.0:default [320x240 1:1 rgb24] + out 0: default → out_0_0.0:default [320x240 1:1 rgb24] + +Filter: out_0_0 (buffersink) + in 0: default ← Parsed_format_3.0:default [320x240 1:1 rgb24] + -- 2.35.1 _______________________________________________ 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:[~2022-08-02 16:55 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-08-02 16:54 [FFmpeg-devel] [PATCH 1/7] lavu/pixfmt: summarize yuv naming conventions Nicolas George 2022-08-02 16:54 ` [FFmpeg-devel] [PATCH 2/7] lavfi/graphdump: add plain listing output Nicolas George 2022-08-02 16:54 ` [FFmpeg-devel] [PATCH 3/7] fftools: add -lavfi_dump option Nicolas George 2022-08-02 16:54 ` [FFmpeg-devel] [PATCH 4/7] lavfi/(a)format: factor finding the delimiter Nicolas George 2022-08-02 16:54 ` [FFmpeg-devel] [PATCH 5/7] lavfi/(a)format: support slash as a delimiter Nicolas George 2022-08-02 16:54 ` [FFmpeg-devel] [PATCH 6/7] lavi/pixdesc: add comments about pixel format scoring Nicolas George 2022-08-04 13:52 ` Michael Niedermayer 2022-08-02 16:54 ` Nicolas George [this message] 2022-08-04 13:49 ` [FFmpeg-devel] [PATCH 1/7] lavu/pixfmt: summarize yuv naming conventions Michael Niedermayer 2022-08-04 13:57 ` Nicolas George 2022-08-04 15:04 ` Michael Niedermayer 2022-08-06 10:36 ` Nicolas George
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=20220802165421.137563-7-george@nsup.org \ --to=george@nsup.org \ --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