[PATCH 1/2] ffmpeg: add disable_all_auto_conversion_filters option.
Signed-off-by: Nicolas George <george@nsup.org> --- doc/ffmpeg.texi | 5 +++++ fftools/ffmpeg.h | 1 + fftools/ffmpeg_filter.c | 2 ++ fftools/ffmpeg_opt.c | 3 +++ 4 files changed, 11 insertions(+) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index 267ddfe8b5..1603431d56 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -1746,6 +1746,11 @@ this buffer, in packets, for the matching output stream. The default value of this option should be high enough for most uses, so only touch this option if you are sure that you need it. +@item -disable_all_auto_conversion_filters (@emph{global}) +Disable automatically inserting conversion filters in all filter graphs, +including those defined by @option{-vf}, @option{-af}, +@option{-filter_complex} and @option{-lavfi}. + @end table As a special exception, you can use a bitmap subtitle stream as input: it diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h index 6e3f2545c7..acd297c8e8 100644 --- a/fftools/ffmpeg.h +++ b/fftools/ffmpeg.h @@ -613,6 +613,7 @@ extern char *videotoolbox_pixfmt; extern int filter_nbthreads; extern int filter_complex_nbthreads; extern int vstats_version; +extern int disable_all_auto_conversion_filters; extern const AVIOInterruptCB int_cb; diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 4784e8a575..8721403d7a 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -1104,6 +1104,8 @@ int configure_filtergraph(FilterGraph *fg) configure_output_filter(fg, fg->outputs[i], cur); avfilter_inout_free(&outputs); + if (disable_all_auto_conversion_filters) + avfilter_graph_set_auto_convert(fg->graph, AVFILTER_AUTO_CONVERT_NONE); if ((ret = avfilter_graph_config(fg->graph, NULL)) < 0) goto fail; diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c index 853550a142..e6131dac97 100644 --- a/fftools/ffmpeg_opt.c +++ b/fftools/ffmpeg_opt.c @@ -172,6 +172,7 @@ float max_error_rate = 2.0/3; int filter_nbthreads = 0; int filter_complex_nbthreads = 0; int vstats_version = 2; +int disable_all_auto_conversion_filters = 0; static int intra_only = 0; @@ -3545,6 +3546,8 @@ const OptionDef options[] = { "create a complex filtergraph", "graph_description" }, { "filter_complex_script", HAS_ARG | OPT_EXPERT, { .func_arg = opt_filter_complex_script }, "read complex filtergraph description from a file", "filename" }, + { "disable_all_auto_conversion_filters", OPT_BOOL | OPT_EXPERT, { &disable_all_auto_conversion_filters }, + "create a complex filtergraph", "graph_description" }, { "stats", OPT_BOOL, { &print_stats }, "print progress report during encoding", }, { "attach", HAS_ARG | OPT_PERFILE | OPT_EXPERT | -- 2.28.0
Explicitly insert the scale or aresample filter where it would have been inserted by the negotiation. If a conversion is needed in a test, we want to know about it. If the negotiation changes and makes new conversion necessary, we want to know about it even more. Signed-off-by: Nicolas George <george@nsup.org> --- tests/fate-run.sh | 4 +- tests/fate/filter-audio.mak | 112 ++++++------ tests/fate/filter-video.mak | 350 ++++++++++++++++++------------------ 3 files changed, 235 insertions(+), 231 deletions(-) diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 414ac6f825..7456216e9c 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -388,7 +388,7 @@ video_filter(){ label=${test#filter-} raw_src="${target_path}/tests/vsynth1/%02d.pgm" printf '%-20s' $label - ffmpeg $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src \ + ffmpeg $DEC_OPTS -disable_all_auto_conversion_filters -f image2 -vcodec pgmyuv -i $raw_src \ $FLAGS $ENC_OPTS -vf "$filters" -vcodec rawvideo -frames:v 5 $* -f nut md5: } @@ -416,7 +416,7 @@ pixfmts(){ outertest=$test for pix_fmt in $pix_fmts; do test=$pix_fmt - video_filter "${prefilter_chain}format=$pix_fmt,$filter=$filter_args" -pix_fmt $pix_fmt -frames:v $nframes + video_filter "${prefilter_chain}scale,format=$pix_fmt,$filter=$filter_args" -pix_fmt $pix_fmt -frames:v $nframes done rm $in_fmts $scale_in_fmts $scale_out_fmts $scale_exclude_fmts diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak index 79b1536df0..5dfafcccad 100644 --- a/tests/fate/filter-audio.mak +++ b/tests/fate/filter-audio.mak @@ -1,54 +1,56 @@ +NOCONV=-disable_all_auto_conversion_filters + FATE_AFILTER-$(call FILTERDEMDECENCMUX, ADELAY, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-adelay fate-filter-adelay: tests/data/asynth-44100-2.wav fate-filter-adelay: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-adelay: CMD = framecrc -i $(SRC) -af adelay=42 +fate-filter-adelay: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,adelay=42,aresample FATE_AFILTER-$(call FILTERDEMDECENCMUX, AECHO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aecho fate-filter-aecho: tests/data/asynth-44100-2.wav fate-filter-aecho: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-aecho: CMD = framecrc -i $(SRC) -af aecho=0.5:0.5:32:0.5 +fate-filter-aecho: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,aecho=0.5:0.5:32:0.5,aresample FATE_FILTER_AEMPHASIS += fate-filter-aemphasis-50fm fate-filter-aemphasis-50fm: tests/data/asynth-44100-2.wav fate-filter-aemphasis-50fm: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-aemphasis-50fm: CMD = framecrc -i $(SRC) -af aemphasis=1:5:reproduction:50fm +fate-filter-aemphasis-50fm: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,aemphasis=1:5:reproduction:50fm,aresample FATE_FILTER_AEMPHASIS += fate-filter-aemphasis-75kf fate-filter-aemphasis-75kf: tests/data/asynth-44100-2.wav fate-filter-aemphasis-75kf: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-aemphasis-75kf: CMD = framecrc -i $(SRC) -af aemphasis=2:8:reproduction:75kf +fate-filter-aemphasis-75kf: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,aemphasis=2:8:reproduction:75kf,aresample FATE_AFILTER-$(call FILTERDEMDECENCMUX, AEMPHASIS, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_AEMPHASIS) FATE_FILTER_AFADE += fate-filter-afade-qsin fate-filter-afade-qsin: tests/data/asynth-44100-2.wav fate-filter-afade-qsin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-afade-qsin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=qsin +fate-filter-afade-qsin: CMD = framecrc $(NOCONV) -i $(SRC) -af afade=t=in:ss=0:d=2:curve=qsin FATE_FILTER_AFADE += fate-filter-afade-iqsin fate-filter-afade-iqsin: tests/data/asynth-44100-2.wav fate-filter-afade-iqsin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-afade-iqsin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=iqsin +fate-filter-afade-iqsin: CMD = framecrc $(NOCONV) -i $(SRC) -af afade=t=in:ss=0:d=2:curve=iqsin FATE_FILTER_AFADE += fate-filter-afade-esin fate-filter-afade-esin: tests/data/asynth-44100-2.wav fate-filter-afade-esin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-afade-esin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=esin +fate-filter-afade-esin: CMD = framecrc $(NOCONV) -i $(SRC) -af afade=t=in:ss=0:d=2:curve=esin FATE_FILTER_AFADE += fate-filter-afade-hsin fate-filter-afade-hsin: tests/data/asynth-44100-2.wav fate-filter-afade-hsin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-afade-hsin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=hsin +fate-filter-afade-hsin: CMD = framecrc $(NOCONV) -i $(SRC) -af afade=t=in:ss=0:d=2:curve=hsin FATE_FILTER_AFADE += fate-filter-afade-exp fate-filter-afade-exp: tests/data/asynth-44100-2.wav fate-filter-afade-exp: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-afade-exp: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=exp +fate-filter-afade-exp: CMD = framecrc $(NOCONV) -i $(SRC) -af afade=t=in:ss=0:d=2:curve=exp FATE_FILTER_AFADE += fate-filter-afade-log fate-filter-afade-log: tests/data/asynth-44100-2.wav fate-filter-afade-log: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-afade-log: CMD = framecrc -i $(SRC) -af afade=t=in:ss=1:d=2.5:curve=log +fate-filter-afade-log: CMD = framecrc $(NOCONV) -i $(SRC) -af afade=t=in:ss=1:d=2.5:curve=log FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_AFADE) @@ -56,27 +58,27 @@ FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, ACROSSFADE, WAV, PCM_S16LE, PCM_ fate-filter-acrossfade: tests/data/asynth-44100-2.wav fate-filter-acrossfade: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav fate-filter-acrossfade: SRC2 = $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -fate-filter-acrossfade: CMD = framecrc -i $(SRC) -i $(SRC2) -filter_complex acrossfade=d=2:c1=log:c2=exp +fate-filter-acrossfade: CMD = framecrc $(NOCONV) -i $(SRC) -i $(SRC2) -filter_complex acrossfade=d=2:c1=log:c2=exp FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-agate fate-filter-agate: tests/data/asynth-44100-2.wav fate-filter-agate: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-agate: CMD = framecrc -i $(SRC) -af agate=level_in=10:range=0:threshold=1:ratio=1:attack=1:knee=1:makeup=4 +fate-filter-agate: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,agate=level_in=10:range=0:threshold=1:ratio=1:attack=1:knee=1:makeup=4,aresample FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-alimiter fate-filter-alimiter: tests/data/asynth-44100-2.wav fate-filter-alimiter: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-alimiter: CMD = framecrc -i $(SRC) -af alimiter=level_in=1:level_out=2:limit=0.2 +fate-filter-alimiter: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,alimiter=level_in=1:level_out=2:limit=0.2,aresample FATE_AFILTER-$(call FILTERDEMDECENCMUX, AMERGE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-amerge fate-filter-amerge: tests/data/asynth-44100-1.wav fate-filter-amerge: SRC = $(TARGET_PATH)/tests/data/asynth-44100-1.wav -fate-filter-amerge: CMD = framecrc -i $(SRC) -i $(SRC) -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" +fate-filter-amerge: CMD = framecrc $(NOCONV) -i $(SRC) -i $(SRC) -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" FATE_AFILTER-$(call FILTERDEMDECENCMUX, APAD, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-apad fate-filter-apad: tests/data/asynth-44100-2.wav fate-filter-apad: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-apad: CMD = framecrc -i $(SRC) -af apad=pad_len=10 +fate-filter-apad: CMD = framecrc $(NOCONV) -i $(SRC) -af apad=pad_len=10 FATE_AFILTER-$(call FILTERDEMDECENCMUX, ANEQUALIZER, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-anequalizer fate-filter-anequalizer: tests/data/asynth-44100-2.wav @@ -87,37 +89,37 @@ fate-filter-anequalizer: CMD = framecrc -i $(SRC) -filter_complex_script $(TARGE FATE_AFILTER-$(call FILTERDEMDECENCMUX, ASETNSAMPLES, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-asetnsamples-pad fate-filter-asetnsamples-pad: tests/data/asynth-44100-2.wav fate-filter-asetnsamples-pad: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-asetnsamples-pad: CMD = framecrc -i $(SRC) -af asetnsamples=512:p=1 +fate-filter-asetnsamples-pad: CMD = framecrc $(NOCONV) -i $(SRC) -af asetnsamples=512:p=1 FATE_AFILTER-$(call FILTERDEMDECENCMUX, ASETNSAMPLES, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-asetnsamples-nopad fate-filter-asetnsamples-nopad: tests/data/asynth-44100-2.wav fate-filter-asetnsamples-nopad: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-asetnsamples-nopad: CMD = framecrc -i $(SRC) -af asetnsamples=512:p=0 +fate-filter-asetnsamples-nopad: CMD = framecrc $(NOCONV) -i $(SRC) -af asetnsamples=512:p=0 FATE_AFILTER-$(call FILTERDEMDECENCMUX, ASETRATE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-asetrate fate-filter-asetrate: tests/data/asynth-44100-2.wav fate-filter-asetrate: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-asetrate: CMD = framecrc -i $(SRC) -frames:a 20 -af asetrate=20000 +fate-filter-asetrate: CMD = framecrc $(NOCONV) -i $(SRC) -frames:a 20 -af asetrate=20000 FATE_AFILTER-$(call FILTERDEMDECENCMUX, CHORUS, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-chorus fate-filter-chorus: tests/data/asynth-22050-1.wav fate-filter-chorus: SRC = $(TARGET_PATH)/tests/data/asynth-22050-1.wav -fate-filter-chorus: CMD = framecrc -i $(SRC) -frames:a 10 -af chorus=0.050001:0.050002:64:0.050001:0.025003:2.00004 +fate-filter-chorus: CMD = framecrc $(NOCONV) -i $(SRC) -frames:a 10 -af aresample,chorus=0.050001:0.050002:64:0.050001:0.025003:2.00004,aresample FATE_AFILTER-$(call FILTERDEMDECENCMUX, DCSHIFT, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-dcshift fate-filter-dcshift: tests/data/asynth-44100-2.wav fate-filter-dcshift: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-dcshift: CMD = framecrc -i $(SRC) -frames:a 20 -af dcshift=shift=0.25:limitergain=0.05 +fate-filter-dcshift: CMD = framecrc $(NOCONV) -i $(SRC) -frames:a 20 -af aresample,dcshift=shift=0.25:limitergain=0.05,aresample FATE_AFILTER-$(call FILTERDEMDECENCMUX, EARWAX, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-earwax fate-filter-earwax: tests/data/asynth-44100-2.wav fate-filter-earwax: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-earwax: CMD = framecrc -i $(SRC) -frames:a 20 -af earwax +fate-filter-earwax: CMD = framecrc $(NOCONV) -i $(SRC) -frames:a 20 -af earwax FATE_AFILTER-$(call FILTERDEMDECENCMUX, EXTRASTEREO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-extrastereo fate-filter-extrastereo: tests/data/asynth-44100-2.wav fate-filter-extrastereo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-extrastereo: CMD = framecrc -i $(SRC) -frames:a 20 -af extrastereo=m=2 +fate-filter-extrastereo: CMD = framecrc $(NOCONV) -i $(SRC) -frames:a 20 -af aresample,extrastereo=m=2,aresample FATE_AFILTER-$(call FILTERDEMDECENCMUX, FIREQUALIZER ATRIM VOLUME, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-firequalizer fate-filter-firequalizer: tests/data/asynth-44100-2.wav @@ -131,60 +133,60 @@ fate-filter-firequalizer: SIZE_TOLERANCE = 1058400 - 1097208 FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-mono1 fate-filter-pan-mono1: tests/data/asynth-44100-2.wav fate-filter-pan-mono1: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-pan-mono1: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=mono|FC=FL" +fate-filter-pan-mono1: CMD = framecrc $(NOCONV) -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=mono|FC=FL" FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-mono2 fate-filter-pan-mono2: tests/data/asynth-44100-2.wav fate-filter-pan-mono2: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-pan-mono2: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=1C|c0=c0+c1" +fate-filter-pan-mono2: CMD = framecrc $(NOCONV) -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=1C|c0=c0+c1" FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-stereo1 fate-filter-pan-stereo1: tests/data/asynth-44100-3.wav fate-filter-pan-stereo1: SRC = $(TARGET_PATH)/tests/data/asynth-44100-3.wav -fate-filter-pan-stereo1: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=2c|FL=FR|FR=FL" +fate-filter-pan-stereo1: CMD = framecrc $(NOCONV) -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=2c|FL=FR|FR=FL" FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-stereo2 fate-filter-pan-stereo2: tests/data/asynth-44100-3.wav fate-filter-pan-stereo2: SRC = $(TARGET_PATH)/tests/data/asynth-44100-3.wav -fate-filter-pan-stereo2: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=stereo|c0=c0-c2|c1=c1-c2" +fate-filter-pan-stereo2: CMD = framecrc $(NOCONV) -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=stereo|c0=c0-c2|c1=c1-c2" FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-stereo3 fate-filter-pan-stereo3: tests/data/asynth-44100-2.wav fate-filter-pan-stereo3: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-pan-stereo3: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=FL+FR|FL<3*c0+2*c1|FR<2*c0+3*c1" +fate-filter-pan-stereo3: CMD = framecrc $(NOCONV) -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=FL+FR|FL<3*c0+2*c1|FR<2*c0+3*c1" FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-stereo4 fate-filter-pan-stereo4: tests/data/asynth-44100-2.wav fate-filter-pan-stereo4: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-pan-stereo4: CMD = framecrc -ss 3.14 -guess_layout_max 0 -i $(SRC) -frames:a 20 -filter:a "pan=2C|c0=c0-0.5*c1|c1=c1+0.5*c0" +fate-filter-pan-stereo4: CMD = framecrc $(NOCONV) -ss 3.14 -guess_layout_max 0 -i $(SRC) -frames:a 20 -filter:a "pan=2C|c0=c0-0.5*c1|c1=c1+0.5*c0" FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-upmix1 fate-filter-pan-upmix1: tests/data/asynth-44100-2.wav fate-filter-pan-upmix1: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-pan-upmix1: CMD = framecrc -ss 3.14 -guess_layout_max 0 -i $(SRC) -frames:a 20 -filter:a "pan=4C|c0=c0-0.5*c1|c1=c1+0.5*c0|c2=0*c0|c3=0*c0" +fate-filter-pan-upmix1: CMD = framecrc $(NOCONV) -ss 3.14 -guess_layout_max 0 -i $(SRC) -frames:a 20 -filter:a "pan=4C|c0=c0-0.5*c1|c1=c1+0.5*c0|c2=0*c0|c3=0*c0" FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-upmix2 fate-filter-pan-upmix2: tests/data/asynth-44100-4.wav fate-filter-pan-upmix2: SRC = $(TARGET_PATH)/tests/data/asynth-44100-4.wav -fate-filter-pan-upmix2: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=9C|c0=c0-c1|c1=c2+c3|c2=c0+c1|c3=c2-c3|c4=c1-c0|c5=c3+c2|c6=c1+c0|c7=c3-c2|c8=c0-c3" +fate-filter-pan-upmix2: CMD = framecrc $(NOCONV) -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=9C|c0=c0-c1|c1=c2+c3|c2=c0+c1|c3=c2-c3|c4=c1-c0|c5=c3+c2|c6=c1+c0|c7=c3-c2|c8=c0-c3" FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-downmix1 fate-filter-pan-downmix1: tests/data/asynth-44100-4.wav fate-filter-pan-downmix1: SRC = $(TARGET_PATH)/tests/data/asynth-44100-4.wav -fate-filter-pan-downmix1: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=2c|FL<FL+0.5*FC+0.6*BL+0.6*SL|FR<FR+0.5*FC+0.6*BR+0.6*SR" +fate-filter-pan-downmix1: CMD = framecrc $(NOCONV) -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=2c|FL<FL+0.5*FC+0.6*BL+0.6*SL|FR<FR+0.5*FC+0.6*BR+0.6*SR" FATE_AFILTER-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-pan-downmix2 fate-filter-pan-downmix2: tests/data/asynth-44100-11.wav fate-filter-pan-downmix2: SRC = $(TARGET_PATH)/tests/data/asynth-44100-11.wav -fate-filter-pan-downmix2: CMD = framecrc -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=5C|c0=0.7*c0+0.7*c10|c1=c9|c2=c8|c3=c7|c4=c6" +fate-filter-pan-downmix2: CMD = framecrc $(NOCONV) -ss 3.14 -i $(SRC) -frames:a 20 -filter:a "pan=5C|c0=0.7*c0+0.7*c10|c1=c9|c2=c8|c3=c7|c4=c6" FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, SILENCEREMOVE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-silenceremove fate-filter-silenceremove: SRC = $(TARGET_SAMPLES)/audio-reference/divertimenti_2ch_96kHz_s24.wav -fate-filter-silenceremove: CMD = framecrc -i $(SRC) -frames:a 30 -af silenceremove=start_periods=0:start_duration=0:start_threshold=0:stop_periods=-1:stop_duration=0:stop_threshold=-90dB +fate-filter-silenceremove: CMD = framecrc $(NOCONV) -i $(SRC) -frames:a 30 -af aresample,silenceremove=start_periods=0:start_duration=0:start_threshold=0:stop_periods=-1:stop_duration=0:stop_threshold=-90dB,aresample FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, STEREOTOOLS, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-stereotools fate-filter-stereotools: SRC = $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav -fate-filter-stereotools: CMD = framecrc -i $(SRC) -frames:a 20 -af stereotools=mlev=0.015625 +fate-filter-stereotools: CMD = framecrc $(NOCONV) -i $(SRC) -frames:a 20 -af aresample,stereotools=mlev=0.015625,aresample FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, TREMOLO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-tremolo fate-filter-tremolo: tests/data/asynth-44100-2.wav @@ -208,7 +210,7 @@ tests/data/hls-list.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data FATE_AFILTER-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-filter-hls fate-filter-hls: tests/data/hls-list.m3u8 -fate-filter-hls: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list.m3u8 +fate-filter-hls: CMD = framecrc $(NOCONV) -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list.m3u8 -af aresample tests/data/hls-list-append.m3u8: TAG = GEN tests/data/hls-list-append.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data @@ -222,7 +224,7 @@ tests/data/hls-list-append.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data FATE_AFILTER-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-filter-hls-append fate-filter-hls-append: tests/data/hls-list-append.m3u8 -fate-filter-hls-append: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list-append.m3u8 -af asetpts=N*23 +fate-filter-hls-append: CMD = framecrc $(NOCONV) -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list-append.m3u8 -af asetpts=N*23,aresample FATE_AMIX += fate-filter-amix-simple fate-filter-amix-simple: CMD = ffmpeg -filter_complex amix -i $(SRC) -ss 3 -i $(SRC1) -f f32le - @@ -252,15 +254,15 @@ fate-filter-aresample: CMP = oneoff fate-filter-aresample: REF = $(SAMPLES)/nellymoser/nellymoser-discont.pcm FATE_ATRIM += fate-filter-atrim-duration -fate-filter-atrim-duration: CMD = framecrc -i $(SRC) -af atrim=start=0.1:duration=0.01 +fate-filter-atrim-duration: CMD = framecrc $(NOCONV) -i $(SRC) -af atrim=start=0.1:duration=0.01 FATE_ATRIM += fate-filter-atrim-mixed -fate-filter-atrim-mixed: CMD = framecrc -i $(SRC) -af atrim=start=0.05:start_sample=1025:end=0.1:end_sample=4411 +fate-filter-atrim-mixed: CMD = framecrc $(NOCONV) -i $(SRC) -af atrim=start=0.05:start_sample=1025:end=0.1:end_sample=4411 FATE_ATRIM += fate-filter-atrim-samples -fate-filter-atrim-samples: CMD = framecrc -i $(SRC) -af atrim=start_sample=26:end_sample=80 +fate-filter-atrim-samples: CMD = framecrc $(NOCONV) -i $(SRC) -af atrim=start_sample=26:end_sample=80 FATE_ATRIM += fate-filter-atrim-time -fate-filter-atrim-time: CMD = framecrc -i $(SRC) -af atrim=0.1:0.2 +fate-filter-atrim-time: CMD = framecrc $(NOCONV) -i $(SRC) -af atrim=0.1:0.2 $(FATE_ATRIM): tests/data/asynth-44100-2.wav $(FATE_ATRIM): SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav @@ -303,7 +305,7 @@ fate-filter-join: REF = 88b0d24a64717ba8635b29e8dac6ecd8 FATE_AFILTER-$(call ALLYES, WAV_DEMUXER PCM_S16LE_DECODER PCM_S16LE_ENCODER PCM_S16LE_MUXER APERMS_FILTER VOLUME_FILTER) += fate-filter-volume fate-filter-volume: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav fate-filter-volume: tests/data/asynth-44100-2.wav -fate-filter-volume: CMD = md5 -i $(SRC) -af aperms=random,volume=precision=fixed:volume=0.5 -f s16le +fate-filter-volume: CMD = md5 $(NOCONV) -i $(SRC) -af aperms=random,volume=precision=fixed:volume=0.5 -f s16le fate-filter-volume: CMP = oneline fate-filter-volume: REF = 4d6ba75ef3e32d305d066b9bc771d6f4 @@ -313,83 +315,83 @@ fate-filter-volume: REF = 4d6ba75ef3e32d305d066b9bc771d6f4 # last 10 seconds is not HDCD but has a coincidental HDCD packet, it needs to be 10 seconds because it also tests the cdt expiration FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-mix fate-filter-hdcd-mix: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac -fate-filter-hdcd-mix: CMD = md5 -i $(SRC) -af hdcd -f s24le +fate-filter-hdcd-mix: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd -f s24le fate-filter-hdcd-mix: CMP = oneline fate-filter-hdcd-mix: REF = 77443573e0bd3532de52a8bc0e825da7 # output will be different because of the gain mismatch in the second and third parts FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-mix-psoff fate-filter-hdcd-mix-psoff: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac -fate-filter-hdcd-mix-psoff: CMD = md5 -i $(SRC) -af hdcd=process_stereo=false -f s24le +fate-filter-hdcd-mix-psoff: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd=process_stereo=false -f s24le fate-filter-hdcd-mix-psoff: CMP = oneline fate-filter-hdcd-mix-psoff: REF = 89e57885917a436b30855db4d478cefb # test the different analyze modes FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-pe fate-filter-hdcd-analyze-pe: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac -fate-filter-hdcd-analyze-pe: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=pe -f s24le +fate-filter-hdcd-analyze-pe: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd=analyze_mode=pe -f s24le fate-filter-hdcd-analyze-pe: CMP = oneline fate-filter-hdcd-analyze-pe: REF = 2d839d8a1cf73b10a566ce3d4cfaa79e FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-lle fate-filter-hdcd-analyze-lle: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac -fate-filter-hdcd-analyze-lle: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=lle -f s24le +fate-filter-hdcd-analyze-lle: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd=analyze_mode=lle -f s24le fate-filter-hdcd-analyze-lle: CMP = oneline fate-filter-hdcd-analyze-lle: REF = b4b185332b7025c191062f49a2c015f1 FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-cdt fate-filter-hdcd-analyze-cdt: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac -fate-filter-hdcd-analyze-cdt: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=cdt -f s24le +fate-filter-hdcd-analyze-cdt: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd=analyze_mode=cdt -f s24le fate-filter-hdcd-analyze-cdt: CMP = oneline fate-filter-hdcd-analyze-cdt: REF = afa6577675c63e87da3edbd442b7b6e2 FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-tgm fate-filter-hdcd-analyze-tgm: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac -fate-filter-hdcd-analyze-tgm: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=tgm -f s24le +fate-filter-hdcd-analyze-tgm: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd=analyze_mode=tgm -f s24le fate-filter-hdcd-analyze-tgm: CMP = oneline fate-filter-hdcd-analyze-tgm: REF = 285f0fd2249b4903cd5e1ad5ce004219 # the two additional analyze modes from libhdcd FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-ltgm fate-filter-hdcd-analyze-ltgm: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac -fate-filter-hdcd-analyze-ltgm: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=lle:process_stereo=false -f s24le +fate-filter-hdcd-analyze-ltgm: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd=analyze_mode=lle:process_stereo=false -f s24le fate-filter-hdcd-analyze-ltgm: CMP = oneline fate-filter-hdcd-analyze-ltgm: REF = 404dc2301ea97e9f96c3d6d2ebcfeaa5 FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-analyze-pel fate-filter-hdcd-analyze-pel: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac -fate-filter-hdcd-analyze-pel: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=pe:force_pe=true -f s24le +fate-filter-hdcd-analyze-pel: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd=analyze_mode=pe:force_pe=true -f s24le fate-filter-hdcd-analyze-pel: CMP = oneline fate-filter-hdcd-analyze-pel: REF = 9342983208ec1a7f2b3e332ac4dcb723 FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-false-positive fate-filter-hdcd-false-positive: SRC = $(TARGET_SAMPLES)/filter/hdcd-false-positive.flac -fate-filter-hdcd-false-positive: CMD = md5 -i $(SRC) -af hdcd -f s24le +fate-filter-hdcd-false-positive: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd -f s24le fate-filter-hdcd-false-positive: CMP = grep fate-filter-hdcd-false-positive: REF = HDCD detected: no FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-detect-errors fate-filter-hdcd-detect-errors: SRC = $(TARGET_SAMPLES)/filter/hdcd-encoding-errors.flac -fate-filter-hdcd-detect-errors: CMD = md5 -i $(SRC) -af hdcd -f s24le +fate-filter-hdcd-detect-errors: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd -f s24le fate-filter-hdcd-detect-errors: CMP = grep fate-filter-hdcd-detect-errors: REF = detectable errors: [1-9] # 20bit HDCD FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S32LE, PCM_S32LE) += fate-filter-hdcd-20bit fate-filter-hdcd-20bit: SRC = $(TARGET_SAMPLES)/filter/hdcd-fake20bit.flac -fate-filter-hdcd-20bit: CMD = md5 -i $(SRC) -af hdcd=bits_per_sample=20 -f s32le +fate-filter-hdcd-20bit: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd=bits_per_sample=20 -f s32le fate-filter-hdcd-20bit: CMP = oneline fate-filter-hdcd-20bit: REF = 365ded883a4a92483b15b69babc81390 # non-hdcd tests of different input formats for code coverage FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, WAV, PCM_S16LE, PCM_S24LE, PCM_S24LE) += fate-filter-hdcd-mono fate-filter-hdcd-mono: SRC = $(TARGET_SAMPLES)/audiomatch/tones_44100_mono.wav -fate-filter-hdcd-mono: CMD = md5 -i $(SRC) -af hdcd -f s24le +fate-filter-hdcd-mono: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd -f s24le fate-filter-hdcd-mono: CMP = oneline fate-filter-hdcd-mono: REF = f51b114b20728e6a463a9491c643d166 FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, WV, WAVPACK, PCM_S32LE, PCM_S32LE) += fate-filter-hdcd-s16p fate-filter-hdcd-s16p: SRC = $(TARGET_SAMPLES)/wavpack/lossless/16bit-partial.wv -fate-filter-hdcd-s16p: CMD = md5 -i $(SRC) -af hdcd -f s32le +fate-filter-hdcd-s16p: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd -f s32le fate-filter-hdcd-s16p: CMP = oneline fate-filter-hdcd-s16p: REF = 4e767f436b891ac59810a8b2b1d7e96b FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, WV, WAVPACK, PCM_S32LE, PCM_S32LE) += fate-filter-hdcd-s32p fate-filter-hdcd-s32p: SRC = $(TARGET_SAMPLES)/wavpack/lossless/24bit-partial.wv -fate-filter-hdcd-s32p: CMD = md5 -i $(SRC) -af hdcd -f s32le +fate-filter-hdcd-s32p: CMD = md5 $(NOCONV) -i $(SRC) -af hdcd -f s32le fate-filter-hdcd-s32p: CMP = oneline fate-filter-hdcd-s32p: REF = 0c5513e83eedaa10ab6fac9ddc173cf5 diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak index 18fe4f7016..dafa8c5d35 100644 --- a/tests/fate/filter-video.mak +++ b/tests/fate/filter-video.mak @@ -1,3 +1,5 @@ +NOCONV=-disable_all_auto_conversion_filters + FATE_FILTER_SAMPLES-$(call ALLYES, SMJPEG_DEMUXER MJPEG_DECODER PERMS_FILTER OWDENOISE_FILTER) += fate-filter-owdenoise-sample fate-filter-owdenoise-sample: CMD = ffmpeg -idct simple -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -vf "trim=duration=0.5,perms=random,owdenoise=10:20:20:enable=not(between(t\,0.2\,1.2))" -an -f rawvideo - fate-filter-owdenoise-sample: REF = $(SAMPLES)/filter-reference/owdenoise-scenwin.raw @@ -6,49 +8,49 @@ fate-filter-owdenoise-sample: FUZZ = 3539 fate-filter-owdenoise-sample: CMP = oneoff FATE_FILTER_SAMPLES-$(call ALLYES, PERMS_FILTER DELOGO_FILTER RM_DEMUXER RV30_DECODER) += fate-filter-delogo -fate-filter-delogo: CMD = framecrc -i $(TARGET_SAMPLES)/real/rv30.rm -vf perms=random,delogo=show=0:x=290:y=25:w=26:h=16 -an +fate-filter-delogo: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/real/rv30.rm -vf perms=random,delogo=show=0:x=290:y=25:w=26:h=16 -an FATE_YADIF += fate-filter-yadif-mode0 -fate-filter-yadif-mode0: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf yadif=0 +fate-filter-yadif-mode0: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf yadif=0 FATE_YADIF += fate-filter-yadif-mode1 -fate-filter-yadif-mode1: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 59 -vf yadif=1 +fate-filter-yadif-mode1: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 59 -vf yadif=1 FATE_YADIF += fate-filter-yadif10 -fate-filter-yadif10: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -flags bitexact -pix_fmt yuv420p10le -frames:v 30 -vf yadif=0 +fate-filter-yadif10: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -flags bitexact -pix_fmt yuv420p10le -frames:v 30 -vf yadif=0,scale FATE_YADIF += fate-filter-yadif16 -fate-filter-yadif16: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -flags bitexact -pix_fmt yuv420p16le -frames:v 30 -vf yadif=0 +fate-filter-yadif16: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -flags bitexact -pix_fmt yuv420p16le -frames:v 30 -vf yadif=0,scale FATE_FILTER_SAMPLES-$(call FILTERDEMDEC, YADIF, MPEGTS, MPEG2VIDEO) += $(FATE_YADIF) FATE_W3FDIF += fate-filter-w3fdif-simple -fate-filter-w3fdif-simple: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf w3fdif=0 +fate-filter-w3fdif-simple: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf w3fdif=0 FATE_W3FDIF += fate-filter-w3fdif-complex -fate-filter-w3fdif-complex: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf w3fdif=1 +fate-filter-w3fdif-complex: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf w3fdif=1 FATE_FILTER_SAMPLES-$(call FILTERDEMDEC, W3FDIF, MPEGTS, MPEG2VIDEO) += $(FATE_W3FDIF) FATE_MCDEINT += fate-filter-mcdeint-fast -fate-filter-mcdeint-fast: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf mcdeint=fast +fate-filter-mcdeint-fast: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf mcdeint=fast FATE_MCDEINT += fate-filter-mcdeint-medium -fate-filter-mcdeint-medium: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf mcdeint=mode=medium +fate-filter-mcdeint-medium: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf mcdeint=mode=medium FATE_FILTER_SAMPLES-$(call ALLYES, MCDEINT_FILTER, MPEGTS_DEMUXER, MPEG2VIDEO_DECODER SNOW_ENCODER) += $(FATE_MCDEINT) FATE_FILTER_SAMPLES-$(call ALLYES, CODECVIEW_FILTER RM_DEMUXER RV40_DECODER) += fate-filter-codecview-mvs -fate-filter-codecview-mvs: CMD = framecrc -flags2 +export_mvs -i $(TARGET_SAMPLES)/real/spygames-2MB.rmvb -vf codecview=mv=pf+bf+bb -frames:v 60 -an +fate-filter-codecview-mvs: CMD = framecrc $(NOCONV) -flags2 +export_mvs -i $(TARGET_SAMPLES)/real/spygames-2MB.rmvb -vf codecview=mv=pf+bf+bb -frames:v 60 -an FATE_FILTER_SAMPLES-$(call ALLYES, SHOWPALETTE_FILTER FLIC_DEMUXER FLIC_DECODER) += fate-filter-showpalette -fate-filter-showpalette: CMD = framecrc -i $(TARGET_SAMPLES)/fli/fli-engines.fli -vf showpalette=3 -pix_fmt bgra +fate-filter-showpalette: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/fli/fli-engines.fli -vf showpalette=3 -pix_fmt bgra FATE_FILTER_PALETTEGEN += fate-filter-palettegen-1 -fate-filter-palettegen-1: CMD = framecrc -i $(TARGET_SAMPLES)/filter/anim.mkv -vf palettegen -pix_fmt bgra +fate-filter-palettegen-1: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/filter/anim.mkv -vf scale,palettegen -pix_fmt bgra FATE_FILTER_PALETTEGEN += fate-filter-palettegen-2 -fate-filter-palettegen-2: CMD = framecrc -i $(TARGET_SAMPLES)/filter/anim.mkv -vf palettegen=max_colors=128:reserve_transparent=0:stats_mode=diff -pix_fmt bgra +fate-filter-palettegen-2: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/filter/anim.mkv -vf scale,palettegen=max_colors=128:reserve_transparent=0:stats_mode=diff -pix_fmt bgra fate-filter-palettegen: $(FATE_FILTER_PALETTEGEN) FATE_FILTER_SAMPLES-$(call ALLYES, PALETTEGEN_FILTER MATROSKA_DEMUXER H264_DECODER) += $(FATE_FILTER_PALETTEGEN) @@ -66,84 +68,84 @@ fate-filter-paletteuse: $(FATE_FILTER_PALETTEUSE) FATE_FILTER_SAMPLES-$(call ALLYES, PALETTEUSE_FILTER MATROSKA_DEMUXER H264_DECODER IMAGE2_DEMUXER PNG_DECODER) += $(FATE_FILTER_PALETTEUSE) FATE_FILTER-$(call ALLYES, AVDEVICE LIFE_FILTER) += fate-filter-lavd-life -fate-filter-lavd-life: CMD = framecrc -f lavfi -i life=s=40x40:r=5:seed=42:mold=64:ratio=0.1:death_color=red:life_color=green -t 2 +fate-filter-lavd-life: CMD = framecrc $(NOCONV) -f lavfi -i life=s=40x40:r=5:seed=42:mold=64:ratio=0.1:death_color=red:life_color=green -t 2 FATE_FILTER-$(call ALLYES, AVDEVICE TESTSRC_FILTER) += fate-filter-lavd-testsrc -fate-filter-lavd-testsrc: CMD = framecrc -f lavfi -i testsrc=r=7:n=2:d=10 +fate-filter-lavd-testsrc: CMD = framecrc $(NOCONV) -f lavfi -i testsrc=r=7:n=2:d=10 FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER) += fate-filter-testsrc2-yuv420p -fate-filter-testsrc2-yuv420p: CMD = framecrc -lavfi testsrc2=r=7:d=10 -pix_fmt yuv420p +fate-filter-testsrc2-yuv420p: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=10 -pix_fmt yuv420p FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER) += fate-filter-testsrc2-yuv444p -fate-filter-testsrc2-yuv444p: CMD = framecrc -lavfi testsrc2=r=7:d=10 -pix_fmt yuv444p +fate-filter-testsrc2-yuv444p: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=10 -pix_fmt yuv444p FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER) += fate-filter-testsrc2-rgb24 -fate-filter-testsrc2-rgb24: CMD = framecrc -lavfi testsrc2=r=7:d=10 -pix_fmt rgb24 +fate-filter-testsrc2-rgb24: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=10 -pix_fmt rgb24 FATE_FILTER-$(call ALLYES, LAVFI_INDEV TESTSRC2_FILTER) += fate-filter-testsrc2-rgba -fate-filter-testsrc2-rgba: CMD = framecrc -lavfi testsrc2=r=7:d=10 -pix_fmt rgba +fate-filter-testsrc2-rgba: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=10 -pix_fmt rgba FATE_FILTER-$(call ALLYES, LAVFI_INDEV ALLRGB_FILTER) += fate-filter-allrgb -fate-filter-allrgb: CMD = framecrc -lavfi allrgb=rate=5:duration=1 -pix_fmt rgb24 +fate-filter-allrgb: CMD = framecrc $(NOCONV) -lavfi allrgb=rate=5:duration=1 -pix_fmt rgb24 FATE_FILTER-$(call ALLYES, LAVFI_INDEV ALLYUV_FILTER) += fate-filter-allyuv -fate-filter-allyuv: CMD = framecrc -lavfi allyuv=rate=5:duration=1 -pix_fmt yuv444p +fate-filter-allyuv: CMD = framecrc $(NOCONV) -lavfi allyuv=rate=5:duration=1 -pix_fmt yuv444p FATE_FILTER-$(call ALLYES, LAVFI_INDEV PAL75BARS_FILTER) += fate-filter-pal75bars -fate-filter-pal75bars: CMD = framecrc -lavfi pal75bars=rate=5:duration=1 -pix_fmt yuv420p +fate-filter-pal75bars: CMD = framecrc $(NOCONV) -lavfi pal75bars=rate=5:duration=1 -pix_fmt yuv420p FATE_FILTER-$(call ALLYES, LAVFI_INDEV PAL100BARS_FILTER) += fate-filter-pal100bars -fate-filter-pal100bars: CMD = framecrc -lavfi pal100bars=rate=5:duration=1 -pix_fmt yuv420p +fate-filter-pal100bars: CMD = framecrc $(NOCONV) -lavfi pal100bars=rate=5:duration=1 -pix_fmt yuv420p FATE_FILTER-$(call ALLYES, LAVFI_INDEV RGBTESTSRC_FILTER) += fate-filter-rgbtestsrc -fate-filter-rgbtestsrc: CMD = framecrc -lavfi rgbtestsrc=rate=5:duration=1 -pix_fmt rgb24 +fate-filter-rgbtestsrc: CMD = framecrc $(NOCONV) -lavfi rgbtestsrc=rate=5:duration=1 -pix_fmt rgb24 FATE_FILTER-$(call ALLYES, LAVFI_INDEV SMPTEBARS_FILTER) += fate-filter-smptebars -fate-filter-smptebars: CMD = framecrc -lavfi smptebars=rate=5:duration=1 -pix_fmt yuv420p +fate-filter-smptebars: CMD = framecrc $(NOCONV) -lavfi smptebars=rate=5:duration=1 -pix_fmt yuv420p FATE_FILTER-$(call ALLYES, LAVFI_INDEV SMPTEHDBARS_FILTER) += fate-filter-smptehdbars -fate-filter-smptehdbars: CMD = framecrc -lavfi smptehdbars=rate=5:duration=1 -pix_fmt yuv444p +fate-filter-smptehdbars: CMD = framecrc $(NOCONV) -lavfi smptehdbars=rate=5:duration=1 -pix_fmt yuv444p FATE_FILTER-$(call ALLYES, LAVFI_INDEV YUVTESTSRC_FILTER) += fate-filter-yuvtestsrc-yuv444p -fate-filter-yuvtestsrc-yuv444p: CMD = framecrc -lavfi yuvtestsrc=rate=5:duration=1 -pix_fmt yuv444p +fate-filter-yuvtestsrc-yuv444p: CMD = framecrc $(NOCONV) -lavfi yuvtestsrc=rate=5:duration=1 -pix_fmt yuv444p FATE_FILTER-$(call ALLYES, LAVFI_INDEV YUVTESTSRC_FILTER) += fate-filter-yuvtestsrc-yuv444p12 -fate-filter-yuvtestsrc-yuv444p12: CMD = framecrc -lavfi yuvtestsrc=rate=5:duration=1,format=yuv444p12 -pix_fmt yuv444p12le +fate-filter-yuvtestsrc-yuv444p12: CMD = framecrc $(NOCONV) -lavfi yuvtestsrc=rate=5:duration=1,format=yuv444p12 -pix_fmt yuv444p12le FATE_FILTER-$(call ALLYES, AVDEVICE TESTSRC_FILTER FORMAT_FILTER CONCAT_FILTER SCALE_FILTER) += fate-filter-lavd-scalenorm fate-filter-lavd-scalenorm: tests/data/filtergraphs/scalenorm -fate-filter-lavd-scalenorm: CMD = framecrc -f lavfi -graph_file $(TARGET_PATH)/tests/data/filtergraphs/scalenorm -i dummy +fate-filter-lavd-scalenorm: CMD = framecrc $(NOCONV) -f lavfi -graph_file $(TARGET_PATH)/tests/data/filtergraphs/scalenorm -i dummy FATE_FILTER-$(call ALLYES, FRAMERATE_FILTER TESTSRC2_FILTER) += fate-filter-framerate-up fate-filter-framerate-down -fate-filter-framerate-up: CMD = framecrc -lavfi testsrc2=r=2:d=10,framerate=fps=10 -t 1 -fate-filter-framerate-down: CMD = framecrc -lavfi testsrc2=r=2:d=10,framerate=fps=1 -t 1 +fate-filter-framerate-up: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=2:d=10,framerate=fps=10 -t 1 +fate-filter-framerate-down: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=2:d=10,framerate=fps=1 -t 1 FATE_FILTER-$(call ALLYES, FRAMERATE_FILTER TESTSRC2_FILTER FORMAT_FILTER) += fate-filter-framerate-12bit-up fate-filter-framerate-12bit-down -fate-filter-framerate-12bit-up: CMD = framecrc -lavfi testsrc2=r=50:d=1,format=pix_fmts=yuv422p12le,framerate=fps=60 -t 1 -pix_fmt yuv422p12le -fate-filter-framerate-12bit-down: CMD = framecrc -lavfi testsrc2=r=60:d=1,format=pix_fmts=yuv422p12le,framerate=fps=50 -t 1 -pix_fmt yuv422p12le +fate-filter-framerate-12bit-up: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=50:d=1,format=pix_fmts=yuv422p12le,framerate=fps=60 -t 1 -pix_fmt yuv422p12le +fate-filter-framerate-12bit-down: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=60:d=1,format=pix_fmts=yuv422p12le,framerate=fps=50 -t 1 -pix_fmt yuv422p12le FATE_FILTER-$(call ALLYES, MINTERPOLATE_FILTER TESTSRC2_FILTER) += fate-filter-minterpolate-up fate-filter-minterpolate-down -fate-filter-minterpolate-up: CMD = framecrc -lavfi testsrc2=r=2:d=10,framerate=fps=10 -t 1 -fate-filter-minterpolate-down: CMD = framecrc -lavfi testsrc2=r=2:d=10,framerate=fps=1 -t 1 +fate-filter-minterpolate-up: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=2:d=10,framerate=fps=10 -t 1 +fate-filter-minterpolate-down: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=2:d=10,framerate=fps=1 -t 1 FATE_FILTER_VSYNTH-$(CONFIG_BOXBLUR_FILTER) += fate-filter-boxblur -fate-filter-boxblur: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf boxblur=2:1 +fate-filter-boxblur: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf boxblur=2:1 FATE_FILTER_VSYNTH-$(call ALLYES, COLORCHANNELMIXER_FILTER FORMAT_FILTER PERMS_FILTER) += fate-filter-colorchannelmixer -fate-filter-colorchannelmixer: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=rgb24,perms=random,colorchannelmixer=.31415927:.4:.31415927:0:.27182818:.8:.27182818:0:.2:.6:.2:0 -flags +bitexact -sws_flags +accurate_rnd+bitexact +fate-filter-colorchannelmixer: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf scale,format=rgb24,perms=random,colorchannelmixer=.31415927:.4:.31415927:0:.27182818:.8:.27182818:0:.2:.6:.2:0 -flags +bitexact -sws_flags +accurate_rnd+bitexact FATE_FILTER_VSYNTH-$(CONFIG_DRAWBOX_FILTER) += fate-filter-drawbox -fate-filter-drawbox: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf drawbox=224:24:88:72:red@0.5 +fate-filter-drawbox: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf drawbox=224:24:88:72:red@0.5 FATE_FILTER_VSYNTH-$(CONFIG_FADE_FILTER) += fate-filter-fade -fate-filter-fade: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf fade=in:5:15,fade=out:30:15 +fate-filter-fade: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf fade=in:5:15,fade=out:30:15 FATE_FILTER_VSYNTH-$(call ALLYES, INTERLACE_FILTER FIELDORDER_FILTER) += fate-filter-fieldorder -fate-filter-fieldorder: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf interlace=tff,fieldorder=bff -sws_flags +accurate_rnd+bitexact +fate-filter-fieldorder: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf interlace=tff,scale,fieldorder=bff -sws_flags +accurate_rnd+bitexact define FATE_FPFILTER_SUITE FATE_FILTER_FRAMEPACK += fate-filter-framepack-$(1) -fate-filter-framepack-$(1): CMD = framecrc -c:v pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -c:v pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -filter_complex framepack=$(1) -frames 15 +fate-filter-framepack-$(1): CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -c:v pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -filter_complex framepack=$(1) -frames 15 endef FPMODES = columns frameseq lines sbs tab @@ -152,68 +154,68 @@ FATE_FILTER_VSYNTH-$(CONFIG_FRAMEPACK_FILTER) += $(FATE_FILTER_FRAMEPACK) fate-filter-framepack: $(FATE_FILTER_FRAMEPACK) FATE_FILTER_VSYNTH-$(CONFIG_GRADFUN_FILTER) += fate-filter-gradfun -fate-filter-gradfun: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf gradfun +fate-filter-gradfun: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf gradfun FATE_FILTER_VSYNTH-$(CONFIG_HQDN3D_FILTER) += fate-filter-hqdn3d -fate-filter-hqdn3d: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf hqdn3d +fate-filter-hqdn3d: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf hqdn3d FATE_FILTER_VSYNTH-$(CONFIG_INTERLACE_FILTER) += fate-filter-interlace -fate-filter-interlace: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf interlace +fate-filter-interlace: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf interlace FATE_FILTER_VSYNTH-$(CONFIG_INTERLACE_FILTER) += fate-filter-interlace-complex -fate-filter-interlace-complex: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf interlace=lowpass=complex +fate-filter-interlace-complex: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf interlace=lowpass=complex FATE_FILTER_VSYNTH-$(call ALLYES, NEGATE_FILTER PERMS_FILTER) += fate-filter-negate -fate-filter-negate: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf perms=random,negate +fate-filter-negate: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf perms=random,negate FATE_FILTER_VSYNTH-$(CONFIG_HISTOGRAM_FILTER) += fate-filter-histogram-levels -fate-filter-histogram-levels: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf histogram -flags +bitexact -sws_flags +accurate_rnd+bitexact +fate-filter-histogram-levels: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf histogram -flags +bitexact -sws_flags +accurate_rnd+bitexact FATE_FILTER_VSYNTH-$(CONFIG_WAVEFORM_FILTER) += fate-filter-waveform_column -fate-filter-waveform_column: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf waveform -flags +bitexact -sws_flags +accurate_rnd+bitexact +fate-filter-waveform_column: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf waveform -flags +bitexact -sws_flags +accurate_rnd+bitexact FATE_FILTER_VSYNTH-$(CONFIG_WAVEFORM_FILTER) += fate-filter-waveform_row -fate-filter-waveform_row: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf waveform=m=row -flags +bitexact -sws_flags +accurate_rnd+bitexact +fate-filter-waveform_row: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf waveform=m=row -flags +bitexact -sws_flags +accurate_rnd+bitexact FATE_FILTER_VSYNTH-$(CONFIG_WAVEFORM_FILTER) += fate-filter-waveform_envelope -fate-filter-waveform_envelope: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf waveform=e=3 -flags +bitexact -sws_flags +accurate_rnd+bitexact +fate-filter-waveform_envelope: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf waveform=e=3 -flags +bitexact -sws_flags +accurate_rnd+bitexact FATE_FILTER_VSYNTH-$(CONFIG_WAVEFORM_FILTER) += fate-filter-waveform_uv -fate-filter-waveform_uv: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf waveform=c=6 -flags +bitexact -sws_flags +accurate_rnd+bitexact +fate-filter-waveform_uv: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf waveform=c=6 -flags +bitexact -sws_flags +accurate_rnd+bitexact FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_gray -fate-filter-vectorscope_gray: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=gray -sws_flags +accurate_rnd+bitexact -frames:v 3 +fate-filter-vectorscope_gray: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf vectorscope=gray -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_color -fate-filter-vectorscope_color: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color -sws_flags +accurate_rnd+bitexact -frames:v 3 +fate-filter-vectorscope_color: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf vectorscope=color -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_color2 -fate-filter-vectorscope_color2: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color2 -sws_flags +accurate_rnd+bitexact -frames:v 3 +fate-filter-vectorscope_color2: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf vectorscope=color2 -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_color3 -fate-filter-vectorscope_color3: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color3 -sws_flags +accurate_rnd+bitexact -frames:v 3 +fate-filter-vectorscope_color3: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf vectorscope=color3 -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_color4 -fate-filter-vectorscope_color4: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color4 -sws_flags +accurate_rnd+bitexact -frames:v 3 +fate-filter-vectorscope_color4: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf vectorscope=color4 -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_xy fate-filter-vectorscope_xy: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=x=0:y=1 -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_MERGEPLANES_FILTER) += fate-filter-mergeplanes fate-filter-mergeplanes: tests/data/filtergraphs/mergeplanes -fate-filter-mergeplanes: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/mergeplanes +fate-filter-mergeplanes: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/mergeplanes FATE_FILTER_VSYNTH-$(CONFIG_HSTACK_FILTER) += fate-filter-hstack fate-filter-hstack: tests/data/filtergraphs/hstack -fate-filter-hstack: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/hstack +fate-filter-hstack: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/hstack FATE_FILTER_VSYNTH-$(CONFIG_VSTACK_FILTER) += fate-filter-vstack fate-filter-vstack: tests/data/filtergraphs/vstack -fate-filter-vstack: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/vstack +fate-filter-vstack: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/vstack FATE_FILTER_VSYNTH-$(CONFIG_OVERLAY_FILTER) += fate-filter-overlay fate-filter-overlay: tests/data/filtergraphs/overlay -fate-filter-overlay: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay +fate-filter-overlay: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_rgb fate-filter-overlay_rgb: tests/data/filtergraphs/overlay_rgb @@ -252,167 +254,167 @@ fate-filter-overlay_yuv444: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex FATE_FILTER_OVERLAY_ALPHA += fate-filter-overlay_yuv420_yuva420 fate-filter-overlay_yuv422_yuva422 fate-filter-overlay_yuv444_yuva444 fate-filter-overlay_rgb_rgba fate-filter-overlay_gbrp_gbrap FATE_FILTER_OVERLAY_ALPHA += fate-filter-overlay_yuva420_yuva420 fate-filter-overlay_yuva422_yuva422 fate-filter-overlay_yuva444_yuva444 fate-filter-overlay_rgba_rgba fate-filter-overlay_gbrap_gbrap $(FATE_FILTER_OVERLAY_ALPHA): SRC = $(TARGET_SAMPLES)/png1/lena-rgba.png -$(FATE_FILTER_OVERLAY_ALPHA): CMD = framecrc -i $(SRC) -sws_flags +accurate_rnd+bitexact -vf $(FILTER) -frames:v 1 +$(FATE_FILTER_OVERLAY_ALPHA): CMD = framecrc $(NOCONV) -i $(SRC) -sws_flags +accurate_rnd+bitexact -vf $(FILTER) -frames:v 1 -fate-filter-overlay_yuv420_yuva420: FILTER = "format=yuva420p[over];color=black:128x128,format=yuv420p[main];[main][over]overlay=format=yuv420" -fate-filter-overlay_yuv422_yuva422: FILTER = "format=yuva422p[over];color=black:128x128,format=yuv422p[main];[main][over]overlay=format=yuv422" -fate-filter-overlay_yuv444_yuva444: FILTER = "format=yuva444p[over];color=black:128x128,format=yuv444p[main];[main][over]overlay=format=yuv444" -fate-filter-overlay_rgb_rgba: FILTER = "format=rgba[over];color=black:128x128,format=rgb24[main];[main][over]overlay=format=rgb" -fate-filter-overlay_gbrp_gbrap: FILTER = "format=gbrap[over];color=black:128x128,format=gbrp[main];[main][over]overlay=format=gbrp" +fate-filter-overlay_yuv420_yuva420: FILTER = "scale,format=yuva420p[over];color=black:128x128,format=yuv420p[main];[main][over]overlay=format=yuv420" +fate-filter-overlay_yuv422_yuva422: FILTER = "scale,format=yuva422p[over];color=black:128x128,format=yuv422p[main];[main][over]overlay=format=yuv422" +fate-filter-overlay_yuv444_yuva444: FILTER = "scale,format=yuva444p[over];color=black:128x128,format=yuv444p[main];[main][over]overlay=format=yuv444" +fate-filter-overlay_rgb_rgba: FILTER = "scale,format=rgba[over];color=black:128x128,format=rgb24[main];[main][over]overlay=format=rgb" +fate-filter-overlay_gbrp_gbrap: FILTER = "scale,format=gbrap[over];color=black:128x128,format=gbrp[main];[main][over]overlay=format=gbrp" -fate-filter-overlay_yuva420_yuva420: FILTER = "format=yuva420p[over];color=black:128x128,format=yuva420p[main];[main][over]overlay=format=yuv420" -fate-filter-overlay_yuva422_yuva422: FILTER = "format=yuva422p[over];color=black:128x128,format=yuva422p[main];[main][over]overlay=format=yuv422" -fate-filter-overlay_yuva444_yuva444: FILTER = "format=yuva444p[over];color=black:128x128,format=yuva444p[main];[main][over]overlay=format=yuv444" -fate-filter-overlay_rgba_rgba: FILTER = "format=rgba[over];color=black:128x128,format=rgba[main];[main][over]overlay=format=rgb" -fate-filter-overlay_gbrap_gbrap: FILTER = "format=gbrap[over];color=black:128x128,format=gbrap[main];[main][over]overlay=format=gbrp" +fate-filter-overlay_yuva420_yuva420: FILTER = "scale,format=yuva420p[over];color=black:128x128,format=yuva420p[main];[main][over]overlay=format=yuv420" +fate-filter-overlay_yuva422_yuva422: FILTER = "scale,format=yuva422p[over];color=black:128x128,format=yuva422p[main];[main][over]overlay=format=yuv422" +fate-filter-overlay_yuva444_yuva444: FILTER = "scale,format=yuva444p[over];color=black:128x128,format=yuva444p[main];[main][over]overlay=format=yuv444" +fate-filter-overlay_rgba_rgba: FILTER = "scale,format=rgba[over];color=black:128x128,format=rgba[main];[main][over]overlay=format=rgb" +fate-filter-overlay_gbrap_gbrap: FILTER = "scale,format=gbrap[over];color=black:128x128,format=gbrap[main];[main][over]overlay=format=gbrp" FATE_FILTER_SAMPLES-$(call ALLYES, PNG_DECODER APNG_DEMUXER FORMAT_FILTER COLOR_FILTER OVERLAY_FILTER) += $(FATE_FILTER_OVERLAY_ALPHA) FATE_FILTER_VSYNTH-$(CONFIG_PHASE_FILTER) += fate-filter-phase -fate-filter-phase: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf phase +fate-filter-phase: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf phase FATE_REMOVEGRAIN += fate-filter-removegrain-mode-00 -fate-filter-removegrain-mode-00: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=0:0:0 +fate-filter-removegrain-mode-00: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=0:0:0 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-01 -fate-filter-removegrain-mode-01: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=1:1:1 +fate-filter-removegrain-mode-01: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=1:1:1 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-02 -fate-filter-removegrain-mode-02: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=2:2:2 +fate-filter-removegrain-mode-02: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=2:2:2 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-03 -fate-filter-removegrain-mode-03: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=3:3:3 +fate-filter-removegrain-mode-03: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=3:3:3 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-04 -fate-filter-removegrain-mode-04: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=4:4:4 +fate-filter-removegrain-mode-04: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=4:4:4 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-05 -fate-filter-removegrain-mode-05: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=5:5:5 +fate-filter-removegrain-mode-05: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=5:5:5 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-06 -fate-filter-removegrain-mode-06: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=6:6:6 +fate-filter-removegrain-mode-06: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=6:6:6 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-07 -fate-filter-removegrain-mode-07: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=7:7:7 +fate-filter-removegrain-mode-07: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=7:7:7 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-08 -fate-filter-removegrain-mode-08: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=8:8:8 +fate-filter-removegrain-mode-08: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=8:8:8 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-09 -fate-filter-removegrain-mode-09: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=9:9:9 +fate-filter-removegrain-mode-09: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=9:9:9 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-10 -fate-filter-removegrain-mode-10: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=10:10:10 +fate-filter-removegrain-mode-10: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=10:10:10 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-11 -fate-filter-removegrain-mode-11: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=11:11:11 +fate-filter-removegrain-mode-11: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=11:11:11 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-12 -fate-filter-removegrain-mode-12: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=12:12:12 +fate-filter-removegrain-mode-12: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=12:12:12 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-13 -fate-filter-removegrain-mode-13: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=13:13:13 +fate-filter-removegrain-mode-13: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=13:13:13 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-14 -fate-filter-removegrain-mode-14: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=14:14:14 +fate-filter-removegrain-mode-14: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=14:14:14 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-15 -fate-filter-removegrain-mode-15: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=15:15:15 +fate-filter-removegrain-mode-15: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=15:15:15 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-16 -fate-filter-removegrain-mode-16: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=16:16:16 +fate-filter-removegrain-mode-16: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=16:16:16 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-17 -fate-filter-removegrain-mode-17: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=17:17:17 +fate-filter-removegrain-mode-17: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=17:17:17 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-18 -fate-filter-removegrain-mode-18: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=18:18:18 +fate-filter-removegrain-mode-18: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=18:18:18 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-19 -fate-filter-removegrain-mode-19: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=19:19:19 +fate-filter-removegrain-mode-19: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=19:19:19 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-20 -fate-filter-removegrain-mode-20: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=20:20:20 +fate-filter-removegrain-mode-20: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=20:20:20 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-21 -fate-filter-removegrain-mode-21: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=21:21:21 +fate-filter-removegrain-mode-21: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=21:21:21 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-22 -fate-filter-removegrain-mode-22: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=22:22:22 +fate-filter-removegrain-mode-22: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=22:22:22 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-23 -fate-filter-removegrain-mode-23: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=23:23:23 +fate-filter-removegrain-mode-23: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=23:23:23 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-24 -fate-filter-removegrain-mode-24: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=24:24:24 +fate-filter-removegrain-mode-24: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=24:24:24 fate-filter-removegrain: $(FATE_REMOVEGRAIN) FATE_FILTER_VSYNTH-$(CONFIG_REMOVEGRAIN_FILTER) += $(FATE_REMOVEGRAIN) FATE_FILTER_VSYNTH-$(CONFIG_SEPARATEFIELDS_FILTER) += fate-filter-separatefields -fate-filter-separatefields: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf separatefields +fate-filter-separatefields: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf separatefields FATE_FILTER_VSYNTH-$(CONFIG_WEAVE_FILTER) += fate-filter-weave -fate-filter-weave: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf weave=bottom +fate-filter-weave: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf weave=bottom FATE_FILTER_VSYNTH-$(CONFIG_SELECT_FILTER) += fate-filter-select-alternate fate-filter-select-alternate: tests/data/filtergraphs/select-alternate -fate-filter-select-alternate: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_script $(TARGET_PATH)/tests/data/filtergraphs/select-alternate +fate-filter-select-alternate: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -filter_script $(TARGET_PATH)/tests/data/filtergraphs/select-alternate FATE_FILTER_VSYNTH-$(call ALLYES, SETPTS_FILTER SETTB_FILTER) += fate-filter-setpts fate-filter-setpts: tests/data/filtergraphs/setpts -fate-filter-setpts: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_script $(TARGET_PATH)/tests/data/filtergraphs/setpts +fate-filter-setpts: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -filter_script $(TARGET_PATH)/tests/data/filtergraphs/setpts FATE_SHUFFLEFRAMES += fate-filter-shuffleframes -fate-filter-shuffleframes: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf shuffleframes="2|1|0" +fate-filter-shuffleframes: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf shuffleframes="2|1|0" FATE_FILTER_VSYNTH-$(CONFIG_SHUFFLEFRAMES_FILTER) += $(FATE_SHUFFLEFRAMES) FATE_SHUFFLEPLANES += fate-filter-shuffleplanes-dup-luma -fate-filter-shuffleplanes-dup-luma: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=yuva444p,shuffleplanes=0:0:0:0 +fate-filter-shuffleplanes-dup-luma: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf scale,format=yuva444p,shuffleplanes=0:0:0:0 FATE_SHUFFLEPLANES += fate-filter-shuffleplanes-swapuv -fate-filter-shuffleplanes-swapuv: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf shuffleplanes=0:2:1:0 +fate-filter-shuffleplanes-swapuv: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf shuffleplanes=0:2:1:0 FATE_FILTER_VSYNTH-$(CONFIG_SHUFFLEPLANES_FILTER) += $(FATE_SHUFFLEPLANES) FATE_SWAPRECT += fate-filter-swaprect -fate-filter-swaprect: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf swaprect +fate-filter-swaprect: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf swaprect FATE_FILTER_VSYNTH-$(CONFIG_SWAPRECT_FILTER) += $(FATE_SWAPRECT) FATE_FILTER_VSYNTH-$(CONFIG_TBLEND_FILTER) += fate-filter-tblend -fate-filter-tblend: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf tblend=all_mode=difference128 +fate-filter-tblend: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf tblend=all_mode=difference128 FATE_FILTER_VSYNTH-$(CONFIG_TELECINE_FILTER) += fate-filter-telecine -fate-filter-telecine: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf telecine +fate-filter-telecine: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf telecine FATE_FILTER_VSYNTH-$(CONFIG_TRANSPOSE_FILTER) += fate-filter-transpose -fate-filter-transpose: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf transpose +fate-filter-transpose: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf transpose FATE_TRIM += fate-filter-trim-duration -fate-filter-trim-duration: CMD = framecrc -i $(SRC) -vf trim=start=0.4:duration=0.05 +fate-filter-trim-duration: CMD = framecrc $(NOCONV) -i $(SRC) -vf trim=start=0.4:duration=0.05 FATE_TRIM += fate-filter-trim-frame -fate-filter-trim-frame: CMD = framecrc -i $(SRC) -vf trim=start_frame=3:end_frame=10 +fate-filter-trim-frame: CMD = framecrc $(NOCONV) -i $(SRC) -vf trim=start_frame=3:end_frame=10 FATE_TRIM += fate-filter-trim-mixed -fate-filter-trim-mixed: CMD = framecrc -i $(SRC) -vf trim=start=0.2:end=0.4:start_frame=1:end_frame=3 +fate-filter-trim-mixed: CMD = framecrc $(NOCONV) -i $(SRC) -vf trim=start=0.2:end=0.4:start_frame=1:end_frame=3 FATE_TRIM += fate-filter-trim-time -fate-filter-trim-time: CMD = framecrc -i $(SRC) -vf trim=0:0.09 +fate-filter-trim-time: CMD = framecrc $(NOCONV) -i $(SRC) -vf trim=0:0.09 FATE_FILTER_VSYNTH-$(CONFIG_TRIM_FILTER) += $(FATE_TRIM) FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER UNTILE_FILTER) += fate-filter-untile -fate-filter-untile: CMD = framecrc -lavfi testsrc2=d=1:r=2,untile=2x2 +fate-filter-untile: CMD = framecrc $(NOCONV) -lavfi testsrc2=d=1:r=2,untile=2x2 FATE_FILTER_VSYNTH-$(CONFIG_UNSHARP_FILTER) += fate-filter-unsharp -fate-filter-unsharp: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf unsharp=11:11:-1.5:11:11:-1.5 +fate-filter-unsharp: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf unsharp=11:11:-1.5:11:11:-1.5 FATE_FILTER_SAMPLES-$(call ALLYES, SMJPEG_DEMUXER MJPEG_DECODER PERMS_FILTER HQDN3D_FILTER) += fate-filter-hqdn3d-sample fate-filter-hqdn3d-sample: tests/data/filtergraphs/hqdn3d -fate-filter-hqdn3d-sample: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/hqdn3d -an +fate-filter-hqdn3d-sample: CMD = framecrc $(NOCONV) -idct simple -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/hqdn3d -an FATE_FILTER_SAMPLES-$(call ALLYES, MATROSKA_DEMUXER OVERLAY_FILTER H264_DECODER DVDSUB_DECODER) += fate-filter-overlay-dvdsub-2397 fate-filter-overlay-dvdsub-2397: tests/data/filtergraphs/overlay-dvdsub-2397 @@ -420,20 +422,20 @@ fate-filter-overlay-dvdsub-2397: CMD = framecrc -flags bitexact -i $(TARGET_SAMP FATE_FILTER_HQX-$(call ALLYES, IMAGE2_DEMUXER PNG_DECODER HQX_FILTER) = fate-filter-hq2x fate-filter-hq3x fate-filter-hq4x FATE_FILTER_SAMPLES-yes += $(FATE_FILTER_HQX-yes) -fate-filter-hq2x: CMD = framecrc -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf hqx=2 -pix_fmt bgra -fate-filter-hq3x: CMD = framecrc -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf hqx=3 -pix_fmt bgra -fate-filter-hq4x: CMD = framecrc -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf hqx=4 -pix_fmt bgra +fate-filter-hq2x: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf scale,hqx=2 -pix_fmt bgra +fate-filter-hq3x: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf scale,hqx=3 -pix_fmt bgra +fate-filter-hq4x: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf scale,hqx=4 -pix_fmt bgra fate-filter-hqx: $(FATE_FILTER_HQX-yes) FATE_FILTER_XBR-$(call ALLYES, IMAGE2_DEMUXER PNG_DECODER XBR_FILTER) = fate-filter-2xbr fate-filter-3xbr fate-filter-4xbr FATE_FILTER_SAMPLES-yes += $(FATE_FILTER_XBR-yes) -fate-filter-2xbr: CMD = framecrc -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf xbr=2 -pix_fmt bgra -fate-filter-3xbr: CMD = framecrc -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf xbr=3 -pix_fmt bgra -fate-filter-4xbr: CMD = framecrc -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf xbr=4 -pix_fmt bgra +fate-filter-2xbr: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf scale,xbr=2,scale -pix_fmt bgra +fate-filter-3xbr: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf scale,xbr=3,scale -pix_fmt bgra +fate-filter-4xbr: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf scale,xbr=4,scale -pix_fmt bgra fate-filter-xbr: $(FATE_FILTER_XBR-yes) FATE_FILTER_SAMPLES-$(call ALLYES, UTVIDEO_DECODER AVI_DEMUXER PERMS_FILTER CURVES_FILTER) += fate-filter-curves -fate-filter-curves: CMD = framecrc -i $(TARGET_SAMPLES)/utvideo/utvideo_rgb_median.avi -vf perms=random,curves=vintage +fate-filter-curves: CMD = framecrc $(NOCONV) -i $(TARGET_SAMPLES)/utvideo/utvideo_rgb_median.avi -vf perms=random,curves=vintage FATE_FILTER_SAMPLES-$(call ALLYES, VMD_DEMUXER VMDVIDEO_DECODER FORMAT_FILTER PERMS_FILTER GRADFUN_FILTER) += fate-filter-gradfun-sample fate-filter-gradfun-sample: tests/data/filtergraphs/gradfun @@ -441,23 +443,23 @@ fate-filter-gradfun-sample: CMD = framecrc -i $(TARGET_SAMPLES)/vmd/12.vmd -filt FATE_FILTER-$(call ALLYES, TESTSRC_FILTER SINE_FILTER CONCAT_FILTER) += fate-filter-concat fate-filter-concat-vfr fate-filter-concat: tests/data/filtergraphs/concat -fate-filter-concat: CMD = framecrc -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/concat +fate-filter-concat: CMD = framecrc $(NOCONV) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/concat fate-filter-concat-vfr: tests/data/filtergraphs/concat-vfr -fate-filter-concat-vfr: CMD = framecrc -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/concat-vfr +fate-filter-concat-vfr: CMD = framecrc $(NOCONV) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/concat-vfr FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER FPS_FILTER MPDECIMATE_FILTER) += fate-filter-mpdecimate -fate-filter-mpdecimate: CMD = framecrc -lavfi testsrc2=r=2:d=10,fps=3,mpdecimate -r 3 -pix_fmt yuv420p +fate-filter-mpdecimate: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=2:d=10,fps=3,mpdecimate -r 3 -pix_fmt yuv420p FATE_FILTER-$(call ALLYES, FPS_FILTER TESTSRC2_FILTER) += fate-filter-fps-up fate-filter-fps-up-round-down fate-filter-fps-up-round-up fate-filter-fps-down fate-filter-fps-down-round-down fate-filter-fps-down-round-up fate-filter-fps-down-eof-pass fate-filter-fps-start-drop fate-filter-fps-start-fill -fate-filter-fps-up: CMD = framecrc -lavfi testsrc2=r=3:d=2,fps=7 -fate-filter-fps-up-round-down: CMD = framecrc -lavfi testsrc2=r=3:d=2,fps=7:round=down -fate-filter-fps-up-round-up: CMD = framecrc -lavfi testsrc2=r=3:d=2,fps=7:round=up -fate-filter-fps-down: CMD = framecrc -lavfi testsrc2=r=7:d=3.5,fps=3 -fate-filter-fps-down-round-down: CMD = framecrc -lavfi testsrc2=r=7:d=3.5,fps=3:round=down -fate-filter-fps-down-round-up: CMD = framecrc -lavfi testsrc2=r=7:d=3.5,fps=3:round=up -fate-filter-fps-down-eof-pass: CMD = framecrc -lavfi testsrc2=r=7:d=3.5,fps=3:eof_action=pass -fate-filter-fps-start-drop: CMD = framecrc -lavfi testsrc2=r=7:d=3.5,fps=3:start_time=1.5 -fate-filter-fps-start-fill: CMD = framecrc -lavfi testsrc2=r=7:d=1.5,setpts=PTS+14,fps=3:start_time=1.5 +fate-filter-fps-up: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=3:d=2,fps=7 +fate-filter-fps-up-round-down: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=3:d=2,fps=7:round=down +fate-filter-fps-up-round-up: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=3:d=2,fps=7:round=up +fate-filter-fps-down: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=3.5,fps=3 +fate-filter-fps-down-round-down: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=3.5,fps=3:round=down +fate-filter-fps-down-round-up: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=3.5,fps=3:round=up +fate-filter-fps-down-eof-pass: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=3.5,fps=3:eof_action=pass +fate-filter-fps-start-drop: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=3.5,fps=3:start_time=1.5 +fate-filter-fps-start-fill: CMD = framecrc $(NOCONV) -lavfi testsrc2=r=7:d=1.5,setpts=PTS+14,fps=3:start_time=1.5 FATE_FILTER_SAMPLES-$(call ALLYES, MOV_DEMUXER FPS_FILTER QTRLE_DECODER) += fate-filter-fps-cfr fate-filter-fps fate-filter-fps-r fate-filter-fps-cfr: CMD = framecrc -i $(TARGET_SAMPLES)/qtrle/apple-animation-variable-fps-bug.mov -r 30 -vsync cfr -pix_fmt yuv420p @@ -499,28 +501,28 @@ fate-filter-scale2ref_keep_aspect: CMD = framemd5 -frames:v 5 -filter_complex_sc FATE_FILTER_VSYNTH-$(CONFIG_SCALE_FILTER) += fate-filter-scalechroma fate-filter-scalechroma: tests/data/vsynth1.yuv -fate-filter-scalechroma: CMD = framecrc -flags bitexact -s 352x288 -pix_fmt yuv444p -i $(TARGET_PATH)/tests/data/vsynth1.yuv -pix_fmt yuv420p -sws_flags +bitexact -vf scale=out_v_chr_pos=33:out_h_chr_pos=151 +fate-filter-scalechroma: CMD = framecrc $(NOCONV) -flags bitexact -s 352x288 -pix_fmt yuv444p -i $(TARGET_PATH)/tests/data/vsynth1.yuv -pix_fmt yuv420p -sws_flags +bitexact -vf scale=out_v_chr_pos=33:out_h_chr_pos=151 FATE_FILTER_VSYNTH-$(CONFIG_VFLIP_FILTER) += fate-filter-vflip fate-filter-vflip: CMD = video_filter "vflip" FATE_FILTER_VSYNTH-$(CONFIG_COLORLEVELS_FILTER) += fate-filter-colorlevels -fate-filter-colorlevels: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=rgb24,colorlevels -flags +bitexact -sws_flags +accurate_rnd+bitexact +fate-filter-colorlevels: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf scale,format=rgb24,colorlevels -flags +bitexact -sws_flags +accurate_rnd+bitexact FATE_FILTER_VSYNTH-$(CONFIG_COLORLEVELS_FILTER) += fate-filter-colorlevels-16 -fate-filter-colorlevels-16: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=rgb48,colorlevels -pix_fmt rgb48le -flags +bitexact -sws_flags +accurate_rnd+bitexact +fate-filter-colorlevels-16: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf scale,format=rgb48,colorlevels -pix_fmt rgb48le -flags +bitexact -sws_flags +accurate_rnd+bitexact FATE_FILTER_VSYNTH-$(CONFIG_COLORBALANCE_FILTER) += fate-filter-colorbalance -fate-filter-colorbalance: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=rgb24,colorbalance=rs=.2 -flags +bitexact -sws_flags +accurate_rnd+bitexact -frames:v 3 +fate-filter-colorbalance: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf scale,format=rgb24,colorbalance=rs=.2 -flags +bitexact -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_COLORBALANCE_FILTER) += fate-filter-colorbalance-gbrap -fate-filter-colorbalance-gbrap: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=gbrap,colorbalance=gh=.2 -flags +bitexact -sws_flags +accurate_rnd+bitexact -frames:v 3 +fate-filter-colorbalance-gbrap: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf scale,format=gbrap,colorbalance=gh=.2 -flags +bitexact -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_COLORBALANCE_FILTER) += fate-filter-colorbalance-rgba64 -fate-filter-colorbalance-rgba64: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=rgba64,colorbalance=rm=.2 -pix_fmt rgba64le -flags +bitexact -sws_flags +accurate_rnd+bitexact -frames:v 3 +fate-filter-colorbalance-rgba64: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf scale,format=rgba64,colorbalance=rm=.2 -pix_fmt rgba64le -flags +bitexact -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_COLORBALANCE_FILTER) += fate-filter-colorbalance-gbrap-16 -fate-filter-colorbalance-gbrap-16: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf format=gbrap,colorbalance=bh=.2 -pix_fmt gbrap -flags +bitexact -sws_flags +accurate_rnd+bitexact -frames:v 3 +fate-filter-colorbalance-gbrap-16: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -vf scale,format=gbrap,colorbalance=bh=.2 -pix_fmt gbrap -flags +bitexact -sws_flags +accurate_rnd+bitexact -frames:v 3 FATE_FILTER_VSYNTH-$(CONFIG_COLORMATRIX_FILTER) += fate-filter-colormatrix1 fate-filter-colormatrix1: CMD = video_filter "colormatrix=bt601:smpte240m,colormatrix=smpte240m:fcc,colormatrix=fcc:bt601,colormatrix=bt601:fcc,colormatrix=fcc:smpte240m,colormatrix=smpte240m:bt709" @@ -535,10 +537,10 @@ FATE_FILTER_VSYNTH-$(CONFIG_VFLIP_FILTER) += fate-filter-vflip_vflip fate-filter-vflip_vflip: CMD = video_filter "vflip,vflip" FATE_FILTER_VSYNTH-$(call ALLYES, FORMAT_FILTER PERMS_FILTER EDGEDETECT_FILTER) += fate-filter-edgedetect -fate-filter-edgedetect: CMD = video_filter "format=gray,perms=random,edgedetect" -frames:v 20 +fate-filter-edgedetect: CMD = video_filter "scale,format=gray,perms=random,edgedetect" -frames:v 20 FATE_FILTER_VSYNTH-$(call ALLYES, FORMAT_FILTER PERMS_FILTER EDGEDETECT_FILTER) += fate-filter-edgedetect-colormix -fate-filter-edgedetect-colormix: CMD = video_filter "format=gbrp,perms=random,edgedetect=mode=colormix" -frames:v 20 +fate-filter-edgedetect-colormix: CMD = video_filter "scale,format=gbrp,perms=random,edgedetect=mode=colormix" -frames:v 20 FATE_FILTER_VSYNTH-$(call ALLYES, PERMS_FILTER HUE_FILTER) += fate-filter-hue1 fate-filter-hue1: CMD = video_filter "perms=random,hue=s=sin(2*PI*t)+1" -frames:v 20 @@ -550,10 +552,10 @@ FATE_FILTER_VSYNTH-$(call ALLYES, PERMS_FILTER HUE_FILTER) += fate-filter-hue3 fate-filter-hue3: CMD = video_filter "perms=random,hue=b=n-10" -frames:v 20 FATE_FILTER_VSYNTH-$(call ALLYES, FORMAT_FILTER PERMS_FILTER HUE_FILTER) += fate-filter-hue4 -fate-filter-hue4: CMD = video_filter "format=yuv422p10,perms=random,hue=h=18*n:s=n/10" -frames:v 20 -pix_fmt yuv422p10le +fate-filter-hue4: CMD = video_filter "scale,format=yuv422p10,perms=random,hue=h=18*n:s=n/10" -frames:v 20 -pix_fmt yuv422p10le FATE_FILTER_VSYNTH-$(CONFIG_IDET_FILTER) += fate-filter-idet -fate-filter-idet: CMD = framecrc -flags bitexact -idct simple -i $(SRC) -vf idet -frames:v 25 -flags +bitexact +fate-filter-idet: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(SRC) -vf idet -frames:v 25 -flags +bitexact FATE_FILTER_VSYNTH-$(CONFIG_PAD_FILTER) += fate-filter-pad fate-filter-pad: CMD = video_filter "pad=iw*1.5:ih*1.5:iw*0.3:ih*0.2" @@ -562,7 +564,7 @@ FATE_FILTER_PP = fate-filter-pp fate-filter-pp1 fate-filter-pp2 fate-filter-pp3 FATE_FILTER_VSYNTH-$(CONFIG_PP_FILTER) += $(FATE_FILTER_PP) $(FATE_FILTER_PP): fate-vsynth1-mpeg4-qprd -fate-filter-pp: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf "pp=be/hb/vb/tn/l5/al" +fate-filter-pp: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf "pp=be/hb/vb/tn/l5/al" fate-filter-pp1: CMD = video_filter "pp=fq|4/be/hb/vb/tn/l5/al" fate-filter-pp2: CMD = video_filter "qp=x+y,pp=be/h1/v1/lb" fate-filter-pp3: CMD = video_filter "qp=x+y,pp=be/ha|128|7/va/li" @@ -572,21 +574,21 @@ fate-filter-pp6: CMD = video_filter "pp=be/fd" FATE_FILTER_VSYNTH-$(CONFIG_PP7_FILTER) += fate-filter-pp7 fate-filter-pp7: fate-vsynth1-mpeg4-qprd -fate-filter-pp7: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf "pp7" +fate-filter-pp7: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf "pp7" FATE_FILTER_VSYNTH-$(CONFIG_SPP_FILTER) += fate-filter-spp fate-filter-spp: fate-vsynth1-mpeg4-qprd -fate-filter-spp: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf "spp=idct=simple:dct=int" +fate-filter-spp: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf "spp=idct=simple:dct=int" FATE_FILTER_VSYNTH-$(CONFIG_CODECVIEW_FILTER) += fate-filter-codecview fate-filter-codecview: fate-vsynth1-mpeg4-qprd -fate-filter-codecview: CMD = framecrc -flags bitexact -idct simple -flags2 +export_mvs -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf codecview=mv=pf+bf+bb +fate-filter-codecview: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -flags2 +export_mvs -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf codecview=mv=pf+bf+bb FATE_FILTER_VSYNTH-$(call ALLYES, QP_FILTER PP_FILTER) += fate-filter-qp fate-filter-qp: CMD = video_filter "qp=17,pp=be/hb/vb/tn/l5/al" FATE_FILTER_VSYNTH-$(CONFIG_SELECT_FILTER) += fate-filter-select -fate-filter-select: CMD = framecrc -flags bitexact -idct simple -i $(SRC) -vf "select=not(eq(mod(n\,2)\,0)+eq(mod(n\,3)\,0))" -frames:v 25 -flags +bitexact +fate-filter-select: CMD = framecrc $(NOCONV) -flags bitexact -idct simple -i $(SRC) -vf "select=not(eq(mod(n\,2)\,0)+eq(mod(n\,3)\,0))" -frames:v 25 -flags +bitexact FATE_FILTER_VSYNTH-$(CONFIG_SETDAR_FILTER) += fate-filter-setdar fate-filter-setdar: CMD = video_filter "setdar=dar=16/9" @@ -595,76 +597,76 @@ FATE_FILTER_VSYNTH-$(CONFIG_SETSAR_FILTER) += fate-filter-setsar fate-filter-setsar: CMD = video_filter "setsar=sar=16/11" FATE_STEREO3D += fate-filter-stereo3d-al-sbsl -fate-filter-stereo3d-al-sbsl: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=al:sbsl +fate-filter-stereo3d-al-sbsl: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=al:sbsl FATE_STEREO3D += fate-filter-stereo3d-ar-abl -fate-filter-stereo3d-ar-abl: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=ar:abl +fate-filter-stereo3d-ar-abl: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=ar:abl FATE_STEREO3D += fate-filter-stereo3d-abr-mr -fate-filter-stereo3d-abr-mr: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:mr +fate-filter-stereo3d-abr-mr: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=abr:mr FATE_STEREO3D += fate-filter-stereo3d-abr-ml -fate-filter-stereo3d-abr-ml: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:ml +fate-filter-stereo3d-abr-ml: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=abr:ml FATE_STEREO3D += fate-filter-stereo3d-sbsl-abl -fate-filter-stereo3d-sbsl-abl: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abl +fate-filter-stereo3d-sbsl-abl: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:abl FATE_STEREO3D += fate-filter-stereo3d-sbsl-abr -fate-filter-stereo3d-sbsl-abr: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abr +fate-filter-stereo3d-sbsl-abr: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:abr FATE_STEREO3D += fate-filter-stereo3d-sbsl-al -fate-filter-stereo3d-sbsl-al: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:al +fate-filter-stereo3d-sbsl-al: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:al FATE_STEREO3D += fate-filter-stereo3d-sbsl-sbsr -fate-filter-stereo3d-sbsl-sbsr: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:sbsr +fate-filter-stereo3d-sbsl-sbsr: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:sbsr FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmc -fate-filter-stereo3d-sbsl-agmc: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmc +fate-filter-stereo3d-sbsl-agmc: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:agmc FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmd -fate-filter-stereo3d-sbsl-agmd: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmd +fate-filter-stereo3d-sbsl-agmd: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:agmd FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmg -fate-filter-stereo3d-sbsl-agmg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmg +fate-filter-stereo3d-sbsl-agmg: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:agmg FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmh -fate-filter-stereo3d-sbsl-agmh: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmh +fate-filter-stereo3d-sbsl-agmh: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:agmh FATE_STEREO3D += fate-filter-stereo3d-sbsl-arbg -fate-filter-stereo3d-sbsl-arbg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arbg +fate-filter-stereo3d-sbsl-arbg: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:arbg FATE_STEREO3D += fate-filter-stereo3d-sbsl-arcc -fate-filter-stereo3d-sbsl-arcc: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcc +fate-filter-stereo3d-sbsl-arcc: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:arcc FATE_STEREO3D += fate-filter-stereo3d-sbsl-arcd -fate-filter-stereo3d-sbsl-arcd: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcd +fate-filter-stereo3d-sbsl-arcd: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:arcd FATE_STEREO3D += fate-filter-stereo3d-sbsl-arcg -fate-filter-stereo3d-sbsl-arcg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcg +fate-filter-stereo3d-sbsl-arcg: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:arcg FATE_STEREO3D += fate-filter-stereo3d-sbsl-arch -fate-filter-stereo3d-sbsl-arch: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arch +fate-filter-stereo3d-sbsl-arch: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:arch FATE_STEREO3D += fate-filter-stereo3d-sbsl-argg -fate-filter-stereo3d-sbsl-argg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:argg +fate-filter-stereo3d-sbsl-argg: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:argg FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybc -fate-filter-stereo3d-sbsl-aybc: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybc +fate-filter-stereo3d-sbsl-aybc: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:aybc FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybd -fate-filter-stereo3d-sbsl-aybd: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybd +fate-filter-stereo3d-sbsl-aybd: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:aybd FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybg -fate-filter-stereo3d-sbsl-aybg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybg +fate-filter-stereo3d-sbsl-aybg: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:aybg FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybh -fate-filter-stereo3d-sbsl-aybh: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybh +fate-filter-stereo3d-sbsl-aybh: CMD = framecrc $(NOCONV) -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf scale,stereo3d=sbsl:aybh fate-filter-stereo3d: $(FATE_STEREO3D) FATE_FILTER_VSYNTH-$(CONFIG_STEREO3D_FILTER) += $(FATE_STEREO3D) FATE_FILTER_VSYNTH-$(CONFIG_THUMBNAIL_FILTER) += fate-filter-thumbnail -fate-filter-thumbnail: CMD = video_filter "thumbnail=10" +fate-filter-thumbnail: CMD = video_filter "scale,thumbnail=10" FATE_FILTER_VSYNTH-$(CONFIG_TILE_FILTER) += fate-filter-tile fate-filter-tile: CMD = video_filter "tile=3x3:nb_frames=5:padding=7:margin=2" @@ -684,7 +686,7 @@ endif define PIXDESC_TEST FATE_FILTER_PIXDESC-$(CONFIG_FORMAT_FILTER) += fate-filter-pixdesc-$(1) -fate-filter-pixdesc-$(1): CMD = video_filter "format=$(1),pixdesctest" -pix_fmt $(1) +fate-filter-pixdesc-$(1): CMD = video_filter "scale,format=$(1),pixdesctest" -pix_fmt $(1) endef $(foreach fmt, $(PIXFMTS), $(eval $(call PIXDESC_TEST,$(fmt)))) -- 2.28.0
On 14/08/2020 18:14, Nicolas George wrote:
Explicitly insert the scale or aresample filter where it would have been inserted by the negotiation.
If a conversion is needed in a test, we want to know about it. If the negotiation changes and makes new conversion necessary, we want to know about it even more.
Signed-off-by: Nicolas George <george@nsup.org> --- tests/fate-run.sh | 4 +- tests/fate/filter-audio.mak | 112 ++++++------ tests/fate/filter-video.mak | 350 ++++++++++++++++++------------------ 3 files changed, 235 insertions(+), 231 deletions(-)
I like it, this is a good idea.
diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 414ac6f825..7456216e9c 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -388,7 +388,7 @@ video_filter(){ label=${test#filter-} raw_src="${target_path}/tests/vsynth1/%02d.pgm" printf '%-20s' $label - ffmpeg $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src \ + ffmpeg $DEC_OPTS -disable_all_auto_conversion_filters -f image2 -vcodec pgmyuv -i $raw_src \ $FLAGS $ENC_OPTS -vf "$filters" -vcodec rawvideo -frames:v 5 $* -f nut md5: }
@@ -416,7 +416,7 @@ pixfmts(){ outertest=$test for pix_fmt in $pix_fmts; do test=$pix_fmt - video_filter "${prefilter_chain}format=$pix_fmt,$filter=$filter_args" -pix_fmt $pix_fmt -frames:v $nframes + video_filter "${prefilter_chain}scale,format=$pix_fmt,$filter=$filter_args" -pix_fmt $pix_fmt -frames:v $nframes done
rm $in_fmts $scale_in_fmts $scale_out_fmts $scale_exclude_fmts diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak index 79b1536df0..5dfafcccad 100644 --- a/tests/fate/filter-audio.mak +++ b/tests/fate/filter-audio.mak @@ -1,54 +1,56 @@ +NOCONV=-disable_all_auto_conversion_filters
Adding this variable to the command line of large numbers of tests is not very fun, because it's not relevant to the test definition itself. Is it possible that it might be better to split some of the commands into multiple forms if there are some tests which still want autoconversion? Depending on which variant is more common, "framecrc_autoconv" or "framecrc_noconv". (Alternatively: how many tests /do/ want autoconversion? The option could be added in the top-level ffmpeg() function and then disabled selectively in tests.)
+ FATE_AFILTER-$(call FILTERDEMDECENCMUX, ADELAY, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-adelay fate-filter-adelay: tests/data/asynth-44100-2.wav fate-filter-adelay: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-adelay: CMD = framecrc -i $(SRC) -af adelay=42 +fate-filter-adelay: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,adelay=42,aresample
FATE_AFILTER-$(call FILTERDEMDECENCMUX, AECHO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aecho fate-filter-aecho: tests/data/asynth-44100-2.wav fate-filter-aecho: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-aecho: CMD = framecrc -i $(SRC) -af aecho=0.5:0.5:32:0.5 +fate-filter-aecho: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,aecho=0.5:0.5:32:0.5,aresample
FATE_FILTER_AEMPHASIS += fate-filter-aemphasis-50fm fate-filter-aemphasis-50fm: tests/data/asynth-44100-2.wav fate-filter-aemphasis-50fm: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-aemphasis-50fm: CMD = framecrc -i $(SRC) -af aemphasis=1:5:reproduction:50fm +fate-filter-aemphasis-50fm: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,aemphasis=1:5:reproduction:50fm,aresample
FATE_FILTER_AEMPHASIS += fate-filter-aemphasis-75kf fate-filter-aemphasis-75kf: tests/data/asynth-44100-2.wav fate-filter-aemphasis-75kf: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav -fate-filter-aemphasis-75kf: CMD = framecrc -i $(SRC) -af aemphasis=2:8:reproduction:75kf +fate-filter-aemphasis-75kf: CMD = framecrc $(NOCONV) -i $(SRC) -af aresample,aemphasis=2:8:reproduction:75kf,aresample
(Not something to change in this patch, but the way that some of these tests are resampling on both input and output is rather suggesting that they could be written more nicely.)
...
Thanks, - Mark
Mark Thompson (12020-08-14):
Adding this variable to the command line of large numbers of tests is not very fun, because it's not relevant to the test definition itself.
Is it possible that it might be better to split some of the commands into multiple forms if there are some tests which still want autoconversion? Depending on which variant is more common, "framecrc_autoconv" or "framecrc_noconv".
(Alternatively: how many tests /do/ want autoconversion? The option could be added in the top-level ffmpeg() function and then disabled selectively in tests.)
I agree, the other direction would be better. I am trying this approach, but it gives me ~850 failing tests, but some fail the same way and can be fixed as a bunch. Regards, -- Nicolas George
On 14/08/2020 18:14, Nicolas George wrote:
Signed-off-by: Nicolas George <george@nsup.org> --- doc/ffmpeg.texi | 5 +++++ fftools/ffmpeg.h | 1 + fftools/ffmpeg_filter.c | 2 ++ fftools/ffmpeg_opt.c | 3 +++ 4 files changed, 11 insertions(+)
diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index 267ddfe8b5..1603431d56 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -1746,6 +1746,11 @@ this buffer, in packets, for the matching output stream. The default value of this option should be high enough for most uses, so only touch this option if you are sure that you need it.
+@item -disable_all_auto_conversion_filters (@emph{global}) +Disable automatically inserting conversion filters in all filter graphs, +including those defined by @option{-vf}, @option{-af}, +@option{-filter_complex} and @option{-lavfi}.
The relation to the existing -autorotate and -autoscale options is confusing - those aren't disabled by this (because they are applied differently), but it sounds like they would be. I'm not sure how to make this better. Maybe it should be called "-autoconvert" to match and then override the others?
+ @end table
As a special exception, you can use a bitmap subtitle stream as input: it diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h index 6e3f2545c7..acd297c8e8 100644 --- a/fftools/ffmpeg.h +++ b/fftools/ffmpeg.h @@ -613,6 +613,7 @@ extern char *videotoolbox_pixfmt; extern int filter_nbthreads; extern int filter_complex_nbthreads; extern int vstats_version; +extern int disable_all_auto_conversion_filters;
extern const AVIOInterruptCB int_cb;
diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 4784e8a575..8721403d7a 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -1104,6 +1104,8 @@ int configure_filtergraph(FilterGraph *fg) configure_output_filter(fg, fg->outputs[i], cur); avfilter_inout_free(&outputs);
+ if (disable_all_auto_conversion_filters) + avfilter_graph_set_auto_convert(fg->graph, AVFILTER_AUTO_CONVERT_NONE); if ((ret = avfilter_graph_config(fg->graph, NULL)) < 0) goto fail;
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c index 853550a142..e6131dac97 100644 --- a/fftools/ffmpeg_opt.c +++ b/fftools/ffmpeg_opt.c @@ -172,6 +172,7 @@ float max_error_rate = 2.0/3; int filter_nbthreads = 0; int filter_complex_nbthreads = 0; int vstats_version = 2; +int disable_all_auto_conversion_filters = 0;
static int intra_only = 0; @@ -3545,6 +3546,8 @@ const OptionDef options[] = { "create a complex filtergraph", "graph_description" }, { "filter_complex_script", HAS_ARG | OPT_EXPERT, { .func_arg = opt_filter_complex_script }, "read complex filtergraph description from a file", "filename" }, + { "disable_all_auto_conversion_filters", OPT_BOOL | OPT_EXPERT, { &disable_all_auto_conversion_filters }, + "create a complex filtergraph", "graph_description" },
The help strings here looks suspiciously similar to the -filter_complex ones...
{ "stats", OPT_BOOL, { &print_stats }, "print progress report during encoding", }, { "attach", HAS_ARG | OPT_PERFILE | OPT_EXPERT |
- Mark
Mark Thompson (12020-08-14):
The relation to the existing -autorotate and -autoscale options is confusing - those aren't disabled by this (because they are applied differently), but it sounds like they would be.
I updated the doc to: Disable automatically inserting format conversion filters in all filter graphs, including those defined by @option{-vf}, @option{-af}, @option{-filter_complex} and @option{-lavfi}. If filter format negotiation requires a conversion, the initialization of the filters will fail. Conversions can still be performed by inserting the relevant conversion filter (scale, aresample) in the graph.
I'm not sure how to make this better. Maybe it should be called "-autoconvert" to match and then override the others?
I disagree: auto rotation and auto scaling are options for normal users, to control the output. This is for very advanced users, only for technical use by somebody who knows the inner workings of lavfi. They should not be merged, and also this is why I chose a very long and explicit name.
The help strings here looks suspiciously similar to the -filter_complex ones...
Oops. Locally changed to: "disable all automatic conversion filters" }, Thanks. Regards, -- Nicolas George
On 15/08/2020 16:03, Nicolas George wrote:
Mark Thompson (12020-08-14):
The relation to the existing -autorotate and -autoscale options is confusing - those aren't disabled by this (because they are applied differently), but it sounds like they would be.
I updated the doc to:
Disable automatically inserting format conversion filters in all filter graphs, including those defined by @option{-vf}, @option{-af}, @option{-filter_complex} and @option{-lavfi}. If filter format negotiation requires a conversion, the initialization of the filters will fail. Conversions can still be performed by inserting the relevant conversion filter (scale, aresample) in the graph.
I'm not sure how to make this better. Maybe it should be called "-autoconvert" to match and then override the others?
I disagree: auto rotation and auto scaling are options for normal users, to control the output. This is for very advanced users, only for technical use by somebody who knows the inner workings of lavfi. They should not be merged, and also this is why I chose a very long and explicit name.
Thank you for the clarification; I'm happy with that answer.
The help strings here looks suspiciously similar to the -filter_complex ones...
Oops. Locally changed to:
"disable all automatic conversion filters" },
Sounds good to me with those changes. Thanks, - Mark
participants (2)
-
Mark Thompson -
Nicolas George