[FFmpeg-devel] [PATCH] lavf/img2dec: change the default pattern to none

Marton Balint cus at passwd.hu
Sat Jan 16 21:42:48 CET 2016


The current default pattern type, glob_sequence is deprecated for almost 3.5
years, before removing it, we need a new, sensible pattern default. I suggest
"none" which turns off pattern matching, because using the filename as a
pattern can be a security risk exposing other files in the source directory,
and can also cause problems for file names which are patterns by themselves.

Signed-off-by: Marton Balint <cus at passwd.hu>
---
 doc/demuxers.texi           |   2 +-
 libavformat/img2dec.c       |   2 +-
 libavformat/seek-test.c     |   1 +
 tests/fate-run.sh           |   2 +-
 tests/fate/filter-video.mak | 196 ++++++++++++++++++++++----------------------
 tests/fate/utvideo.mak      |   2 +-
 tests/fate/video.mak        |   4 +-
 tests/ffserver.conf         |   2 +-
 tests/lavf-regression.sh    |  18 ++--
 9 files changed, 115 insertions(+), 114 deletions(-)

diff --git a/doc/demuxers.texi b/doc/demuxers.texi
index fb1e4fb..d544436 100644
--- a/doc/demuxers.texi
+++ b/doc/demuxers.texi
@@ -377,7 +377,7 @@ This pattern type is deprecated in favor of @var{glob} and
 @var{sequence}.
 @end table
 
-Default value is @var{glob_sequence}.
+Default value is @var{none}.
 @item pixel_format
 Set the pixel format of the images to read. If not specified the pixel
 format is guessed from the first image file in the sequence.
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
index db4b4b7..258f741 100644
--- a/libavformat/img2dec.c
+++ b/libavformat/img2dec.c
@@ -557,7 +557,7 @@ const AVOption ff_img_options[] = {
     { "framerate",    "set the video framerate",             OFFSET(framerate),    AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0, 0,   DEC },
     { "loop",         "force loop over input file sequence", OFFSET(loop),         AV_OPT_TYPE_BOOL,   {.i64 = 0   }, 0, 1,       DEC },
 
-    { "pattern_type", "set pattern type",                    OFFSET(pattern_type), AV_OPT_TYPE_INT,    {.i64=PT_GLOB_SEQUENCE}, 0,       INT_MAX, DEC, "pattern_type"},
+    { "pattern_type", "set pattern type",                    OFFSET(pattern_type), AV_OPT_TYPE_INT,    {.i64=PT_NONE}, 0,       INT_MAX, DEC, "pattern_type"},
     { "glob_sequence","select glob/sequence pattern type",   0, AV_OPT_TYPE_CONST,  {.i64=PT_GLOB_SEQUENCE}, INT_MIN, INT_MAX, DEC, "pattern_type" },
     { "glob",         "select glob pattern type",            0, AV_OPT_TYPE_CONST,  {.i64=PT_GLOB         }, INT_MIN, INT_MAX, DEC, "pattern_type" },
     { "sequence",     "select sequence pattern type",        0, AV_OPT_TYPE_CONST,  {.i64=PT_SEQUENCE     }, INT_MIN, INT_MAX, DEC, "pattern_type" },
diff --git a/libavformat/seek-test.c b/libavformat/seek-test.c
index bfd06db..f9de804 100644
--- a/libavformat/seek-test.c
+++ b/libavformat/seek-test.c
@@ -87,6 +87,7 @@ int main(int argc, char **argv)
 
     av_dict_set(&format_opts, "channels", "1", 0);
     av_dict_set(&format_opts, "sample_rate", "22050", 0);
+    av_dict_set(&format_opts, "pattern_type", "sequence", 0);
 
     /* initialize libavcodec, and register all codecs and formats */
     av_register_all();
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 16087cb..a353440 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -191,7 +191,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 -f image2 -vcodec pgmyuv -pattern_type sequence -i $raw_src \
         $FLAGS $ENC_OPTS -vf "$filters" -vcodec rawvideo -frames:v 5 $* -f nut md5:
 }
 
diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index 4186996..ae0d228 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -81,23 +81,23 @@ fate-filter-lavd-scalenorm: CMD = framecrc -f lavfi -graph_file $(TARGET_PATH)/t
 
 
 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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -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_VSYNTH-$(CONFIG_DRAWBOX_FILTER) += fate-filter-drawbox
-fate-filter-drawbox: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf drawbox=224:24:88:72:red at 0.5
+fate-filter-drawbox: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf drawbox=224:24:88:72:red at 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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf interlace=tff,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 -c:v pgmyuv -pattern_type sequence -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -c:v pgmyuv -pattern_type sequence -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -filter_complex framepack=$(1) -frames 15
 endef
 
 FPMODES = columns frameseq lines sbs tab
@@ -106,199 +106,199 @@ 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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf interlace
 
 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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -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 -vframes 3
+fate-filter-vectorscope_gray: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf vectorscope=gray -sws_flags +accurate_rnd+bitexact -vframes 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 -vframes 3
+fate-filter-vectorscope_color: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf vectorscope=color -sws_flags +accurate_rnd+bitexact -vframes 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 -vframes 3
+fate-filter-vectorscope_color2: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf vectorscope=color2 -sws_flags +accurate_rnd+bitexact -vframes 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 -vframes 3
+fate-filter-vectorscope_color3: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf vectorscope=color3 -sws_flags +accurate_rnd+bitexact -vframes 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 -vframes 3
+fate-filter-vectorscope_color4: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf vectorscope=color4 -sws_flags +accurate_rnd+bitexact -vframes 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 -vframes 3
+fate-filter-vectorscope_xy: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf vectorscope=x=0:y=1 -sws_flags +accurate_rnd+bitexact -vframes 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 -c:v pgmyuv -pattern_type sequence -i $(SRC) -c:v pgmyuv -pattern_type sequence -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/mergeplanes
 
 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 -c:v pgmyuv -pattern_type sequence -i $(SRC) -c:v pgmyuv -pattern_type sequence -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
-fate-filter-overlay_rgb: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_rgb
+fate-filter-overlay_rgb: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_rgb
 
 FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_yuv420
 fate-filter-overlay_yuv420: tests/data/filtergraphs/overlay_yuv420
-fate-filter-overlay_yuv420: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_yuv420
+fate-filter-overlay_yuv420: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_yuv420
 
 FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_yuv422
 fate-filter-overlay_yuv422: tests/data/filtergraphs/overlay_yuv422
-fate-filter-overlay_yuv422: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_yuv422
+fate-filter-overlay_yuv422: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_yuv422
 
 FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_yuv444
 fate-filter-overlay_yuv444: tests/data/filtergraphs/overlay_yuv444
-fate-filter-overlay_yuv444: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_yuv444
+fate-filter-overlay_yuv444: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_yuv444
 
 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 -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf phase
 
 FATE_REMOVEGRAIN += fate-filter-removegrain-mode-00
-fate-filter-removegrain-mode-00: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=0:0:0
+fate-filter-removegrain-mode-00: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=1:1:1
+fate-filter-removegrain-mode-01: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=2:2:2
+fate-filter-removegrain-mode-02: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=3:3:3
+fate-filter-removegrain-mode-03: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=4:4:4
+fate-filter-removegrain-mode-04: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=5:5:5
+fate-filter-removegrain-mode-05: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=6:6:6
+fate-filter-removegrain-mode-06: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=7:7:7
+fate-filter-removegrain-mode-07: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=8:8:8
+fate-filter-removegrain-mode-08: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=9:9:9
+fate-filter-removegrain-mode-09: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=10:10:10
+fate-filter-removegrain-mode-10: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=11:11:11
+fate-filter-removegrain-mode-11: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=12:12:12
+fate-filter-removegrain-mode-12: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=13:13:13
+fate-filter-removegrain-mode-13: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=14:14:14
+fate-filter-removegrain-mode-14: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=15:15:15
+fate-filter-removegrain-mode-15: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=16:16:16
+fate-filter-removegrain-mode-16: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=17:17:17
+fate-filter-removegrain-mode-17: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=18:18:18
+fate-filter-removegrain-mode-18: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=19:19:19
+fate-filter-removegrain-mode-19: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=20:20:20
+fate-filter-removegrain-mode-20: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=21:21:21
+fate-filter-removegrain-mode-21: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=22:22:22
+fate-filter-removegrain-mode-22: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=23:23:23
+fate-filter-removegrain-mode-23: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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) -vframes 1 -vf removegrain=24:24:24
+fate-filter-removegrain-mode-24: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 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 -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf separatefields
 
 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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -i $(SRC) -filter_script $(TARGET_PATH)/tests/data/filtergraphs/setpts
 
 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 -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf 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
+fate-filter-shuffleplanes-swapuv: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf shuffleplanes=0:2:1
 
 FATE_FILTER_VSYNTH-$(CONFIG_SHUFFLEPLANES_FILTER) += $(FATE_SHUFFLEPLANES)
 
 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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -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 -c:v pgmyuv -pattern_type sequence -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 -pattern_type sequence -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 -pattern_type sequence -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 -pattern_type sequence -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 -pattern_type sequence -i $(SRC) -vf trim=0:0.09
 
 FATE_FILTER_VSYNTH-$(CONFIG_TRIM_FILTER) += $(FATE_TRIM)
 
 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 -c:v pgmyuv -pattern_type sequence -i $(SRC) -vf unsharp=11:11:-1.5:11:11:-1.5
 
 FATE_FILTER-$(call ALLYES, SMJPEG_DEMUXER MJPEG_DECODER PERMS_FILTER HQDN3D_FILTER) += fate-filter-hqdn3d-sample
 fate-filter-hqdn3d-sample: tests/data/filtergraphs/hqdn3d
@@ -306,16 +306,16 @@ fate-filter-hqdn3d-sample: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/smjp
 
 FATE_FILTER_HQX-$(call ALLYES, IMAGE2_DEMUXER PNG_DECODER HQX_FILTER) = fate-filter-hq2x fate-filter-hq3x fate-filter-hq4x
 FATE_FILTER-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 -pattern_type sequence -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf hqx=2 -pix_fmt bgra
+fate-filter-hq3x: CMD = framecrc -pattern_type sequence -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf hqx=3 -pix_fmt bgra
+fate-filter-hq4x: CMD = framecrc -pattern_type sequence -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf 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-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 -pattern_type sequence -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf xbr=2 -pix_fmt bgra
+fate-filter-3xbr: CMD = framecrc -pattern_type sequence -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf xbr=3 -pix_fmt bgra
+fate-filter-4xbr: CMD = framecrc -pattern_type sequence -i $(TARGET_SAMPLES)/filter/pixelart%d.png -vf xbr=4 -pix_fmt bgra
 fate-filter-xbr: $(FATE_FILTER_XBR-yes)
 
 FATE_FILTER-$(call ALLYES, UTVIDEO_DECODER AVI_DEMUXER PERMS_FILTER CURVES_FILTER) += fate-filter-curves
@@ -334,11 +334,11 @@ fate-filter-mpdecimate: CMD = framecrc -lavfi testsrc2=r=2:d=10,fps=3,mpdecimate
 
 FATE_FILTER_VSYNTH-$(call ALLYES, FORMAT_FILTER SPLIT_FILTER ALPHAEXTRACT_FILTER ALPHAMERGE_FILTER) += fate-filter-alphaextract_alphamerge_rgb
 fate-filter-alphaextract_alphamerge_rgb: tests/data/filtergraphs/alphamerge_alphaextract_rgb
-fate-filter-alphaextract_alphamerge_rgb: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/alphamerge_alphaextract_rgb
+fate-filter-alphaextract_alphamerge_rgb: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/alphamerge_alphaextract_rgb
 
 FATE_FILTER_VSYNTH-$(call ALLYES, FORMAT_FILTER SPLIT_FILTER ALPHAEXTRACT_FILTER ALPHAMERGE_FILTER) += fate-filter-alphaextract_alphamerge_yuv
 fate-filter-alphaextract_alphamerge_yuv: tests/data/filtergraphs/alphamerge_alphaextract_yuv
-fate-filter-alphaextract_alphamerge_yuv: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/alphamerge_alphaextract_yuv
+fate-filter-alphaextract_alphamerge_yuv: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/alphamerge_alphaextract_yuv
 
 FATE_FILTER_VSYNTH-$(CONFIG_CROP_FILTER) += fate-filter-crop
 fate-filter-crop: CMD = video_filter "crop=iw-100:ih-100:100:100"
@@ -390,7 +390,7 @@ FATE_FILTER_VSYNTH-$(call ALLYES, PERMS_FILTER HUE_FILTER) += fate-filter-hue
 fate-filter-hue: CMD = video_filter "perms=random,hue=s=sin(2*PI*t)+1" -vframes 20
 
 FATE_FILTER_VSYNTH-$(CONFIG_IDET_FILTER) += fate-filter-idet
-fate-filter-idet: CMD = framecrc -flags bitexact -idct simple -i $(SRC) -vf idet -vframes 25 -flags +bitexact
+fate-filter-idet: CMD = framecrc -flags bitexact -idct simple -pattern_type sequence -i $(SRC) -vf idet -vframes 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"
@@ -411,7 +411,7 @@ 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))" -vframes 25 -flags +bitexact
+fate-filter-select: CMD = framecrc -flags bitexact -idct simple -pattern_type sequence -i $(SRC) -vf "select=not(eq(mod(n\,2)\,0)+eq(mod(n\,3)\,0))" -vframes 25 -flags +bitexact
 
 FATE_FILTER_VSYNTH-$(CONFIG_SETDAR_FILTER) += fate-filter-setdar
 fate-filter-setdar: CMD = video_filter "setdar=dar=16/9"
@@ -420,70 +420,70 @@ 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) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=al:sbsl
+fate-filter-stereo3d-al-sbsl: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=al:sbsl
 
 FATE_STEREO3D += fate-filter-stereo3d-ar-abl
-fate-filter-stereo3d-ar-abl: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=ar:abl
+fate-filter-stereo3d-ar-abl: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=ar:abl
 
 FATE_STEREO3D += fate-filter-stereo3d-abr-mr
-fate-filter-stereo3d-abr-mr: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:mr
+fate-filter-stereo3d-abr-mr: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:mr
 
 FATE_STEREO3D += fate-filter-stereo3d-abr-ml
-fate-filter-stereo3d-abr-ml: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:ml
+fate-filter-stereo3d-abr-ml: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:ml
 
 FATE_STEREO3D  += fate-filter-stereo3d-sbsl-abl
-fate-filter-stereo3d-sbsl-abl: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abl
+fate-filter-stereo3d-sbsl-abl: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abl
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-abr
-fate-filter-stereo3d-sbsl-abr: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abr
+fate-filter-stereo3d-sbsl-abr: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abr
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-al
-fate-filter-stereo3d-sbsl-al: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:al
+fate-filter-stereo3d-sbsl-al: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:al
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-sbsr
-fate-filter-stereo3d-sbsl-sbsr: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:sbsr
+fate-filter-stereo3d-sbsl-sbsr: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:sbsr
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmc
-fate-filter-stereo3d-sbsl-agmc: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmc
+fate-filter-stereo3d-sbsl-agmc: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmc
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmd
-fate-filter-stereo3d-sbsl-agmd: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmd
+fate-filter-stereo3d-sbsl-agmd: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmd
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmg
-fate-filter-stereo3d-sbsl-agmg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmg
+fate-filter-stereo3d-sbsl-agmg: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmg
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmh
-fate-filter-stereo3d-sbsl-agmh: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmh
+fate-filter-stereo3d-sbsl-agmh: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmh
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-arbg
-fate-filter-stereo3d-sbsl-arbg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arbg
+fate-filter-stereo3d-sbsl-arbg: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arbg
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-arcc
-fate-filter-stereo3d-sbsl-arcc: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcc
+fate-filter-stereo3d-sbsl-arcc: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcc
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-arcd
-fate-filter-stereo3d-sbsl-arcd: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcd
+fate-filter-stereo3d-sbsl-arcd: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcd
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-arcg
-fate-filter-stereo3d-sbsl-arcg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcg
+fate-filter-stereo3d-sbsl-arcg: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcg
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-arch
-fate-filter-stereo3d-sbsl-arch: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arch
+fate-filter-stereo3d-sbsl-arch: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arch
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-argg
-fate-filter-stereo3d-sbsl-argg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:argg
+fate-filter-stereo3d-sbsl-argg: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:argg
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybc
-fate-filter-stereo3d-sbsl-aybc: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybc
+fate-filter-stereo3d-sbsl-aybc: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybc
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybd
-fate-filter-stereo3d-sbsl-aybd: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybd
+fate-filter-stereo3d-sbsl-aybd: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybd
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybg
-fate-filter-stereo3d-sbsl-aybg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybg
+fate-filter-stereo3d-sbsl-aybg: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybg
 
 FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybh
-fate-filter-stereo3d-sbsl-aybh: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybh
+fate-filter-stereo3d-sbsl-aybh: CMD = framecrc -c:v pgmyuv -pattern_type sequence -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybh
 
 fate-filter-stereo3d: $(FATE_STEREO3D)
 FATE_FILTER_VSYNTH-$(CONFIG_STEREO3D_FILTER) += $(FATE_STEREO3D)
diff --git a/tests/fate/utvideo.mak b/tests/fate/utvideo.mak
index 1e4755e..70c14ae 100644
--- a/tests/fate/utvideo.mak
+++ b/tests/fate/utvideo.mak
@@ -28,7 +28,7 @@ fate-utvideo_yuv422_median: CMD = framecrc -i $(TARGET_SAMPLES)/utvideo/utvideo_
 FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, UTVIDEO) += $(FATE_UTVIDEO)
 fate-utvideo: $(FATE_UTVIDEO)
 
-fate-utvideoenc%: CMD = framemd5 -f image2 -vcodec pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -vcodec utvideo -slices 1 -sws_flags +accurate_rnd+bitexact ${OPTS}
+fate-utvideoenc%: CMD = framemd5 -f image2 -vcodec pgmyuv -pattern_type sequence -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -vcodec utvideo -slices 1 -sws_flags +accurate_rnd+bitexact ${OPTS}
 
 FATE_UTVIDEOENC += fate-utvideoenc_rgba_left
 fate-utvideoenc_rgba_left: OPTS = -pix_fmt rgba -pred left
diff --git a/tests/fate/video.mak b/tests/fate/video.mak
index 8b70b08..e69eb85 100644
--- a/tests/fate/video.mak
+++ b/tests/fate/video.mak
@@ -181,7 +181,7 @@ FATE_VIDEO-$(call DEMDEC, IDCIN, IDCIN) += fate-id-cin-video
 fate-id-cin-video: CMD = framecrc -i $(TARGET_SAMPLES)/idcin/idlog-2MB.cin -pix_fmt rgb24
 
 FATE_VIDEO-$(call ENCDEC, ROQ PGMYUV, ROQ IMAGE2) += fate-idroq-video-encode
-fate-idroq-video-encode: CMD = md5 -f image2 -vcodec pgmyuv -i $(TARGET_SAMPLES)/ffmpeg-synthetic/vsynth1/%02d.pgm -r 30 -sws_flags +bitexact -vf pad=512:512:80:112 -f roq -t 0.2
+fate-idroq-video-encode: CMD = md5 -f image2 -vcodec pgmyuv -pattern_type sequence -i $(TARGET_SAMPLES)/ffmpeg-synthetic/vsynth1/%02d.pgm -r 30 -sws_flags +bitexact -vf pad=512:512:80:112 -f roq -t 0.2
 
 FATE_HAP += fate-hap1
 fate-hap1: CMD = framecrc -i $(TARGET_SAMPLES)/hap/hap1.mov
@@ -330,7 +330,7 @@ fate-v410dec: CMD = framecrc -i $(TARGET_SAMPLES)/v410/lenav410.mov -pix_fmt yuv
 
 FATE_VIDEO-$(call ENCDEC, V410 PGMYUV, AVI IMAGE2) += fate-v410enc
 fate-v410enc: $(VREF)
-fate-v410enc: CMD = md5 -f image2 -vcodec pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -fflags +bitexact -vcodec v410 -f avi
+fate-v410enc: CMD = md5 -f image2 -vcodec pgmyuv -pattern_type sequence -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -fflags +bitexact -vcodec v410 -f avi
 
 FATE_VIDEO-$(call DEMDEC, SIFF, VB) += fate-vb
 fate-vb: CMD = framecrc -i $(TARGET_SAMPLES)/SIFF/INTRO_B.VB -t 3 -pix_fmt rgb24 -an
diff --git a/tests/ffserver.conf b/tests/ffserver.conf
index ae35d7f..63be4f7 100644
--- a/tests/ffserver.conf
+++ b/tests/ffserver.conf
@@ -57,7 +57,7 @@ FileMaxSize 100M
 
 # Fire up ffmpeg pointing at this stream
 
-Launch ./ffmpeg -v 0 -y -f image2 -i tests/vsynth1/%02d.pgm
+Launch ./ffmpeg -v 0 -y -f image2 -pattern_type sequence -i tests/vsynth1/%02d.pgm
 
 ACL allow localhost
 </Feed>
diff --git a/tests/lavf-regression.sh b/tests/lavf-regression.sh
index a37f714..2926473 100755
--- a/tests/lavf-regression.sh
+++ b/tests/lavf-regression.sh
@@ -24,7 +24,7 @@ do_lavf_fate()
 do_lavf()
 {
     file=${outfile}lavf.$1
-    do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $DEC_OPTS -ar 44100 -f s16le $2 -i $pcm_src $ENC_OPTS -b:a 64k -t 1 -qscale:v 10 $3
+    do_avconv $file $DEC_OPTS -f image2 -pattern_type sequence -vcodec pgmyuv -i $raw_src $DEC_OPTS -ar 44100 -f s16le $2 -i $pcm_src $ENC_OPTS -b:a 64k -t 1 -qscale:v 10 $3
     do_avconv_crc $file $DEC_OPTS -i $target_path/$file $4
 }
 
@@ -41,7 +41,7 @@ do_lavf_timecode()
 do_streamed_images()
 {
     file=${outfile}${1}pipe.$1
-    do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src -f image2pipe $ENC_OPTS -t 1 -qscale 10
+    do_avconv $file $DEC_OPTS -f image2 -pattern_type sequence -vcodec pgmyuv -i $raw_src -f image2pipe $ENC_OPTS -t 1 -qscale 10
     do_avconv_crc $file $DEC_OPTS -f image2pipe -i $target_path/$file
 }
 
@@ -50,9 +50,9 @@ do_image_formats()
     outfile="$datadir/images/$1/"
     mkdir -p "$outfile"
     file=${outfile}%02d.$1
-    run_avconv $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $2 $ENC_OPTS -frames 13 -y -qscale 10 $target_path/$file
+    run_avconv $DEC_OPTS -f image2 -pattern_type sequence -vcodec pgmyuv -pattern_type sequence -i $raw_src $2 $ENC_OPTS -frames 13 -y -qscale 10 $target_path/$file
     do_md5sum ${outfile}02.$1
-    do_avconv_crc $file $DEC_OPTS -i $target_path/$file $3
+    do_avconv_crc $file $DEC_OPTS -pattern_type sequence -i $target_path/$file $3
     echo $(wc -c ${outfile}02.$1)
 }
 
@@ -73,7 +73,7 @@ fi
 
 if [ -n "$do_rm" ] ; then
 file=${outfile}lavf.rm
-do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $DEC_OPTS -ar 44100 -f s16le -i $pcm_src $ENC_OPTS -t 1 -qscale 10 -acodec ac3_fixed -ab 64k
+do_avconv $file $DEC_OPTS -f image2 -pattern_type sequence -vcodec pgmyuv -i $raw_src $DEC_OPTS -ar 44100 -f s16le -i $pcm_src $ENC_OPTS -t 1 -qscale 10 -acodec ac3_fixed -ab 64k
 # broken
 #do_avconv_crc $file -i $target_path/$file
 fi
@@ -172,7 +172,7 @@ fi
 # streamed images
 # mjpeg
 #file=${outfile}lavf.mjpeg
-#do_avconv $file -t 1 -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src
+#do_avconv $file -t 1 -qscale 10 -f image2 -pattern_type sequence -vcodec pgmyuv -i $raw_src
 #do_avconv_crc $file -i $target_path/$file
 
 if [ -n "$do_pbmpipe" ] ; then
@@ -189,13 +189,13 @@ fi
 
 if [ -n "$do_gif" ] ; then
 file=${outfile}lavf.gif
-do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -pix_fmt rgb24
+do_avconv $file $DEC_OPTS -f image2 -pattern_type sequence -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -pix_fmt rgb24
 do_avconv_crc $file $DEC_OPTS -i $target_path/$file -pix_fmt rgb24
 fi
 
 if [ -n "$do_yuv4mpeg" ] ; then
 file=${outfile}lavf.y4m
-do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10
+do_avconv $file $DEC_OPTS -f image2 -pattern_type sequence -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10
 #do_avconv_crc $file -i $target_path/$file
 fi
 
@@ -361,7 +361,7 @@ conversions="yuv420p yuv422p yuv444p yuyv422 yuv410p yuv411p yuvj420p \
              monob yuv440p yuvj440p"
 for pix_fmt in $conversions ; do
     file=${outfile}${pix_fmt}.yuv
-    run_avconv $DEC_OPTS -r 1 -f image2 -vcodec pgmyuv -i $raw_src \
+    run_avconv $DEC_OPTS -r 1 -f image2 -pattern_type sequence -vcodec pgmyuv -i $raw_src \
                $ENC_OPTS -f rawvideo -t 1 -s 352x288 -pix_fmt $pix_fmt $target_path/$raw_dst
     do_avconv $file $DEC_OPTS -f rawvideo -s 352x288 -pix_fmt $pix_fmt -i $target_path/$raw_dst \
                     $ENC_OPTS -f rawvideo -s 352x288 -pix_fmt yuv444p
-- 
2.6.2



More information about the ffmpeg-devel mailing list