Merge commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b'
authorJames Almer <jamrial@gmail.com>
Thu, 14 Mar 2019 17:47:57 +0000 (14:47 -0300)
committerJames Almer <jamrial@gmail.com>
Thu, 14 Mar 2019 17:59:45 +0000 (14:59 -0300)
* commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b':
  tests: Add a convenience function for video-only lavf tests

Merged-by: James Almer <jamrial@gmail.com>
17 files changed:
1  2 
tests/Makefile
tests/fate-run.sh
tests/fate/ffmpeg.mak
tests/fate/lavf-video.mak
tests/fate/seek.mak
tests/fate/segment.mak
tests/ref/fate/copy-apng
tests/ref/lavf/apng
tests/ref/lavf/apng.png
tests/ref/lavf/gbrap.fits
tests/ref/lavf/gbrap16be.fits
tests/ref/lavf/gbrp.fits
tests/ref/lavf/gbrp16be.fits
tests/ref/lavf/gif
tests/ref/lavf/gray.fits
tests/ref/lavf/gray16be.fits
tests/ref/seek/lavf-y4m

diff --cc tests/Makefile
@@@ -170,9 -117,6 +170,10 @@@ include $(SRC_PATH)/tests/fate/qt.ma
  include $(SRC_PATH)/tests/fate/qtrle.mak
  include $(SRC_PATH)/tests/fate/real.mak
  include $(SRC_PATH)/tests/fate/screen.mak
++include $(SRC_PATH)/tests/fate/segment.mak
 +include $(SRC_PATH)/tests/fate/source.mak
 +include $(SRC_PATH)/tests/fate/speedhq.mak
 +include $(SRC_PATH)/tests/fate/subtitles.mak
  include $(SRC_PATH)/tests/fate/utvideo.mak
  include $(SRC_PATH)/tests/fate/video.mak
  include $(SRC_PATH)/tests/fate/voice.mak
@@@ -340,27 -226,14 +340,23 @@@ lavf_image2pipe()
      do_avconv_crc $file $DEC_OPTS -f image2pipe -i $target_path/$file
  }
  
- lavffatetest(){
-     t="${test#lavf-fate-}"
-     ref=${base}/ref/lavf-fate/$t
-     ${base}/lavf-regression.sh $t lavf-fate tests/vsynth1 "$target_exec" "$target_path" "$threads" "$thread_type" "$cpuflags" "$target_samples"
- }
- lavftest(){
+ lavf_video(){
      t="${test#lavf-}"
-     ref=${base}/ref/lavf/$t
-     ${base}/lavf-regression.sh $t lavf tests/vsynth1 "$target_exec" "$target_path" "$threads" "$thread_type" "$cpuflags" "$target_samples"
+     outdir="tests/data/lavf"
+     file=${outdir}/lavf.$t
 -    do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 $1
++    do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src "$ENC_OPTS -metadata title=lavftest" -t 1 -qscale 10 $1 $2
+     do_avconv_crc $file $DEC_OPTS -i $target_path/$file $1
  }
  
 +refcmp_metadata(){
 +    refcmp=$1
 +    pixfmt=$2
 +    fuzz=${3:-0.001}
 +    ffmpeg $FLAGS $ENC_OPTS \
 +        -lavfi "testsrc2=size=300x200:rate=1:duration=5,format=${pixfmt},split[ref][tmp];[tmp]avgblur=4[enc];[enc][ref]${refcmp},metadata=print:file=-" \
 +        -f null /dev/null | awk -v ref=${ref} -v fuzz=${fuzz} -f ${base}/refcmp-metadata.awk -
 +}
 +
  pixfmt_conversion(){
      conversion="${test#pixfmt-}"
      outdir="tests/data/pixfmt"
index 0975af2,0000000..ac68cde
mode 100644,000000..100644
--- /dev/null
@@@ -1,148 -1,0 +1,152 @@@
 +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2
 +fate-mapchan-6ch-extract-2: tests/data/asynth-22050-6.wav
 +fate-mapchan-6ch-extract-2: CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-22050-6.wav -map_channel 0.0.0 -fflags +bitexact -f wav md5: -map_channel 0.0.1 -fflags +bitexact -f wav md5:
 +
 +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2-downmix-mono
 +fate-mapchan-6ch-extract-2-downmix-mono: tests/data/asynth-22050-6.wav
 +fate-mapchan-6ch-extract-2-downmix-mono: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-22050-6.wav -map_channel 0.0.1 -map_channel 0.0.0 -ac 1 -fflags +bitexact -f wav
 +
 +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-silent-mono
 +fate-mapchan-silent-mono: tests/data/asynth-22050-1.wav
 +fate-mapchan-silent-mono: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-22050-1.wav -map_channel -1 -map_channel 0.0.0 -fflags +bitexact -f wav
 +
 +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-2ch-extract-ch0-ch2-trailing
 +fate-mapchan-2ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-2.wav
 +fate-mapchan-2ch-extract-ch0-ch2-trailing: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-44100-2.wav -map_channel 0.0.0 -map_channel 0.0.2? -fflags +bitexact -f wav
 +
 +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-3ch-extract-ch0-ch2-trailing
 +fate-mapchan-3ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-3.wav
 +fate-mapchan-3ch-extract-ch0-ch2-trailing: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-44100-3.wav -map_channel 0.0.0 -map_channel 0.0.2? -fflags +bitexact -f wav
 +
 +FATE_MAPCHAN = $(FATE_MAPCHAN-yes)
 +
 +FATE_FFMPEG += $(FATE_MAPCHAN)
 +fate-mapchan: $(FATE_MAPCHAN)
 +
 +FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-filter_complex
 +fate-ffmpeg-filter_complex: CMD = framecrc -filter_complex color=d=1:r=5 -fflags +bitexact
 +
 +# Ticket 6603
 +FATE_FFMPEG-$(call ALLYES, AEVALSRC_FILTER ASETNSAMPLES_FILTER AC3_FIXED_ENCODER) += fate-ffmpeg-filter_complex_audio
 +fate-ffmpeg-filter_complex_audio: CMD = framecrc -filter_complex "aevalsrc=0:d=0.1,asetnsamples=1537" -c ac3_fixed
 +
 +# Ticket 6375, use case of NoX
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER PNG_DECODER ALAC_DECODER PCM_S16LE_ENCODER RAWVIDEO_ENCODER) += fate-ffmpeg-attached_pics
 +fate-ffmpeg-attached_pics: CMD = threads=2 framecrc -i $(TARGET_SAMPLES)/lossless-audio/inside.m4a -c:a pcm_s16le -max_muxing_queue_size 16
 +
 +FATE_SAMPLES_FFMPEG-$(CONFIG_COLORKEY_FILTER) += fate-ffmpeg-filter_colorkey
 +fate-ffmpeg-filter_colorkey: tests/data/filtergraphs/colorkey
 +fate-ffmpeg-filter_colorkey: CMD = framecrc -idct simple -fflags +bitexact -flags +bitexact  -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/cavs/cavs.mpg -fflags +bitexact -flags +bitexact -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/lena.pnm -an -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/colorkey -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -qscale 2 -frames:v 10
 +
 +FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-lavfi
 +fate-ffmpeg-lavfi: CMD = framecrc -lavfi color=d=1:r=5 -fflags +bitexact
 +
 +FATE_SAMPLES_FFMPEG-$(CONFIG_RAWVIDEO_DEMUXER) += fate-force_key_frames
 +fate-force_key_frames: tests/data/vsynth_lena.yuv
 +fate-force_key_frames: CMD = enc_dec \
 +  "rawvideo -s 352x288 -pix_fmt yuv420p" tests/data/vsynth_lena.yuv \
 +  avi "-c mpeg4 -g 240 -qscale 10 -force_key_frames 0.5,0:00:01.5" \
 +  framecrc "" "" "-skip_frame nokey"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, VOBSUB_DEMUXER DVDSUB_DECODER AVFILTER OVERLAY_FILTER DVDSUB_ENCODER) += fate-sub2video
 +fate-sub2video: tests/data/vsynth_lena.yuv
 +fate-sub2video: CMD = framecrc \
 +  -f rawvideo -r 5 -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv \
 +  -ss 132 -i $(TARGET_SAMPLES)/sub/vobsub.idx \
 +  -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:0]scale=720:480[v]\;[v][1:0]overlay[v2]" \
 +  -map "[v2]" -c:v rawvideo -map 1:s -c:s dvdsub
 +
 +FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER PCM_S16LE_MUXER PCM_S16LE_DECODER PCM_S16LE_ENCODER) += fate-unknown_layout-pcm
 +fate-unknown_layout-pcm: $(AREF)
 +fate-unknown_layout-pcm: CMD = md5 \
 +  -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) -f s16le
 +
 +FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER AC3_MUXER PCM_S16LE_DECODER AC3_FIXED_ENCODER) += fate-unknown_layout-ac3
 +fate-unknown_layout-ac3: $(AREF)
 +fate-unknown_layout-ac3: CMD = md5 \
 +  -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) \
 +  -f ac3 -flags +bitexact -c ac3_fixed
 +
 +
 +FATE_STREAMCOPY-$(call ALLYES, EAC3_DEMUXER MOV_MUXER) += fate-copy-trac3074
 +fate-copy-trac3074: $(TARGET_SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3
 +fate-copy-trac3074: CMD = transcode eac3 $(TARGET_SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3\
 +                     mp4 "-codec copy -map 0" "-codec copy"
 +
 +FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-trac236
 +fate-copy-trac236: $(TARGET_SAMPLES)/mov/fcp_export8-236.mov
 +fate-copy-trac236: CMD = transcode mov $(TARGET_SAMPLES)/mov/fcp_export8-236.mov\
 +                     mov "-codec copy -map 0"
 +
 +FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER MXF_MUXER PCM_S16LE_ENCODER) += fate-copy-trac4914
 +fate-copy-trac4914: $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts
 +fate-copy-trac4914: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\
 +                      mxf "-c:a pcm_s16le -c:v copy"
 +
 +FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER AVI_MUXER) += fate-copy-trac4914-avi
 +fate-copy-trac4914-avi: $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts
 +fate-copy-trac4914-avi: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\
 +                          avi "-c:a copy -c:v copy"
 +
 +FATE_STREAMCOPY-$(call ALLYES, H264_DEMUXER AVI_MUXER) += fate-copy-trac2211-avi
 +fate-copy-trac2211-avi: $(TARGET_SAMPLES)/h264/bbc2.sample.h264
 +fate-copy-trac2211-avi: CMD = transcode "h264 -r 14" $(TARGET_SAMPLES)/h264/bbc2.sample.h264\
 +                          avi "-c:a copy -c:v copy"
 +
++FATE_STREAMCOPY-$(call ALLYES, APNG_DEMUXER APNG_MUXER) += fate-copy-apng
++fate-copy-apng: fate-lavf-apng
++fate-copy-apng: CMD = transcode apng "$(TARGET_PATH)/tests/data/lavf/lavf.apng" apng "-c:v copy"
++
 +FATE_STREAMCOPY-$(call DEMMUX, OGG, OGG) += fate-limited_input_seek fate-limited_input_seek-copyts
 +fate-limited_input_seek: $(TARGET_SAMPLES)/vorbis/moog_small.ogg
 +fate-limited_input_seek: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -fflags +bitexact -f ogg
 +fate-limited_input_seek-copyts: $(TARGET_SAMPLES)/vorbis/moog_small.ogg
 +fate-limited_input_seek-copyts: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -copyts -fflags +bitexact -f ogg
 +
 +FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-psp
 +fate-copy-psp: $(TARGET_SAMPLES)/h264/wwwq_cut.mp4
 +fate-copy-psp: CMD = transcode "mov" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\
 +                      psp "-c copy" "-codec copy"
 +
 +fate-streamcopy: $(FATE_STREAMCOPY-yes)
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER MATROSKA_MUXER) += fate-rgb24-mkv
 +fate-rgb24-mkv: $(TARGET_SAMPLES)/qtrle/aletrek-rle.mov
 +fate-rgb24-mkv: CMD = transcode "mov" $(TARGET_SAMPLES)/qtrle/aletrek-rle.mov\
 +                      matroska "-c:v rawvideo -pix_fmt rgb24 -allow_raw_vfw 1 -frames:v 1"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, AAC_DEMUXER MOV_MUXER) += fate-adtstoasc_ticket3715
 +fate-adtstoasc_ticket3715: $(TARGET_SAMPLES)/aac/foo.aac
 +fate-adtstoasc_ticket3715: CMD = transcode "aac" $(TARGET_SAMPLES)/aac/foo.aac\
 +                      mov "-c copy -bsf:a aac_adtstoasc" "-codec copy"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket2991
 +fate-h264_mp4toannexb_ticket2991: $(TARGET_SAMPLES)/h264/wwwq_cut.mp4
 +fate-h264_mp4toannexb_ticket2991: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\
 +                                  h264 "-c:v copy -bsf:v h264_mp4toannexb" "-codec copy"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket5927 fate-h264_mp4toannexb_ticket5927_2
 +fate-h264_mp4toannexb_ticket5927:   CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \
 +                                          h264 "-c:v copy -bsf:v h264_mp4toannexb -an" "-c:v copy"
 +fate-h264_mp4toannexb_ticket5927_2: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \
 +                                          h264 "-c:v copy -an" "-c:v copy"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, MPEGPS_DEMUXER AVI_MUXER REMOVE_EXTRADATA_BSF) += fate-ffmpeg-bsf-remove-k fate-ffmpeg-bsf-remove-r fate-ffmpeg-bsf-remove-e
 +fate-ffmpeg-bsf-remove-k: $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg
 +fate-ffmpeg-bsf-remove-k: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
 +                          avi "-vbsf remove_extra=k" "-codec copy"
 +fate-ffmpeg-bsf-remove-r: $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg
 +fate-ffmpeg-bsf-remove-r: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
 +                          avi "-vbsf remove_extra=keyframe" "-codec copy"
 +fate-ffmpeg-bsf-remove-e: $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg
 +fate-ffmpeg-bsf-remove-e: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
 +                          avi "-vbsf remove_extra=e" "-codec copy"
 +
 +
 +FATE_SAMPLES_FFMPEG-yes += $(FATE_STREAMCOPY-yes)
 +
 +FATE_TIME_BASE-$(call ALLYES, MPEGPS_DEMUXER MXF_MUXER) += fate-time_base
 +fate-time_base: $(TARGET_SAMPLES)/mpeg2/dvd_single_frame.vob
 +fate-time_base: CMD = md5 -i $(TARGET_SAMPLES)/mpeg2/dvd_single_frame.vob -an -sn -c:v copy -r 25 -time_base 1001:30000 -fflags +bitexact -f mxf
 +
 +FATE_SAMPLES_FFMPEG-yes += $(FATE_TIME_BASE-yes)
index 0000000,d964e91..7a70ac9
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,13 +1,29 @@@
 -FATE_LAVF_VIDEO-$(call ENCDEC,  GIF,        IMAGE2)             += gif
++FATE_LAVF_VIDEO-$(call ENCDEC,  APNG,       APNG)               += apng
++FATE_LAVF_VIDEO-$(call ENCDEC,  APNG,       APNG)               += apng.png
++FATE_LAVF_VIDEO-$(call ENCDEC,  FITS,       FITS)               += gray.fits
++FATE_LAVF_VIDEO-$(call ENCDEC,  FITS,       FITS)               += gray16be.fits
++FATE_LAVF_VIDEO-$(call ENCDEC,  FITS,       FITS)               += gbrp.fits
++FATE_LAVF_VIDEO-$(call ENCDEC,  FITS,       FITS)               += gbrap.fits
++FATE_LAVF_VIDEO-$(call ENCDEC,  FITS,       FITS)               += gbrp16be.fits
++FATE_LAVF_VIDEO-$(call ENCDEC,  FITS,       FITS)               += gbrap16be.fits
++FATE_LAVF_VIDEO-$(call ENCDEC,  GIF,        FITS)               += gif
+ FATE_LAVF_VIDEO-$(CONFIG_YUV4MPEGPIPE_MUXER)                    += y4m
+ FATE_LAVF_VIDEO = $(FATE_LAVF_VIDEO-yes:%=fate-lavf-%)
+ $(FATE_LAVF_VIDEO): CMD = lavf_video
+ $(FATE_LAVF_VIDEO): REF = $(SRC_PATH)/tests/ref/lavf/$(@:fate-lavf-%=%)
+ $(FATE_LAVF_VIDEO): $(VREF)
++fate-lavf-apng: CMD = lavf_video "-pix_fmt rgb24"
++fate-lavf-apng.png: CMD = lavf_video "-pix_fmt rgb24" "-frames:v 1 -f apng"
++fate-lavf-gray.fits: CMD = lavf_video "-pix_fmt gray"
++fate-lavf-gray16be.fits: CMD = lavf_video "-pix_fmt gray16be"
++fate-lavf-gbrp.fits: CMD = lavf_video "-pix_fmt gbrp"
++fate-lavf-gbrap.fits: CMD = lavf_video "-pix_fmt gbrap"
++fate-lavf-gbrp16be.fits: CMD = lavf_video "-pix_fmt gbrp16be"
++fate-lavf-gbrap16be.fits: CMD = lavf_video "-pix_fmt gbrap16be"
+ fate-lavf-gif: CMD = lavf_video "-pix_fmt rgb24"
+ FATE_AVCONV += $(FATE_LAVF_VIDEO)
+ fate-lavf-video fate-lavf: $(FATE_LAVF_VIDEO)
@@@ -199,8 -178,7 +199,8 @@@ FATE_SEEK_LAVF-$(call ENCDEC,  TIFF
  FATE_SEEK_LAVF-$(call ENCDEC2, MPEG2VIDEO, MP2,       MPEGTS)      += ts
  FATE_SEEK_LAVF-$(call ENCDEC,  PCM_U8,                VOC)         += voc
  FATE_SEEK_LAVF-$(call ENCDEC,  PCM_S16LE,             WAV)         += wav
- FATE_SEEK_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER)                        += yuv4mpeg
 +FATE_SEEK_LAVF-$(call ENCDEC,  MP2,                   WTV)         += wtv
+ FATE_SEEK_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER)                        += y4m
  
  fate-seek-lavf-aiff:     SRC = lavf/lavf.aiff
  fate-seek-lavf-al:       SRC = lavf/lavf.al
@@@ -240,8 -214,7 +240,8 @@@ fate-seek-lavf-tiff:     SRC = images/t
  fate-seek-lavf-ts:       SRC = lavf/lavf.ts
  fate-seek-lavf-voc:      SRC = lavf/lavf.voc
  fate-seek-lavf-wav:      SRC = lavf/lavf.wav
- fate-seek-lavf-yuv4mpeg: SRC = lavf/lavf.y4m
 +fate-seek-lavf-wtv:      SRC = lavf/lavf.wtv
+ fate-seek-lavf-y4m:      SRC = lavf/lavf.y4m
  
  FATE_SEEK += $(FATE_SEEK_LAVF-yes:%=fate-seek-lavf-%)
  
index 0000000,0000000..ddefbed
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,55 @@@
++tests/data/mp4-to-ts.m3u8: TAG = GEN
++tests/data/mp4-to-ts.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
++      $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
++        -i $(TARGET_SAMPLES)/h264/interlaced_crop.mp4 \
++        -f ssegment -segment_time 1 -map 0 -flags +bitexact -codec copy \
++        -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/mp4-to-ts-%03d.ts 2>/dev/null
++
++tests/data/adts-to-mkv.m3u8: TAG = GEN
++tests/data/adts-to-mkv.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
++      $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
++        -i $(TARGET_SAMPLES)/audiomatch/tones_afconvert_16000_mono_aac_lc.m4a \
++        -f segment -segment_time 1 -map 0 -flags +bitexact -codec copy -segment_format_options live=1 \
++        -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/adts-to-mkv-%03d.mkv 2>/dev/null
++
++tests/data/adts-to-mkv-header.mkv: TAG = GEN
++tests/data/adts-to-mkv-header.mkv: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
++      $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
++        -i $(TARGET_SAMPLES)/audiomatch/tones_afconvert_16000_mono_aac_lc.m4a \
++        -f segment -segment_time 1 -map 0 -flags +bitexact -codec copy -segment_format_options live=1 \
++        -segment_header_filename $(TARGET_PATH)/tests/data/adts-to-mkv-header.mkv \
++        -y $(TARGET_PATH)/tests/data/adts-to-mkv-header-%03d.mkv 2>/dev/null
++
++tests/data/adts-to-mkv-header-%.mkv: tests/data/adts-to-mkv-header.mkv ;
++
++FATE_SEGMENT_PARTS += 000 001 002
++
++tests/data/adts-to-mkv-cated-all.mkv: TAG = GEN
++tests/data/adts-to-mkv-cated-all.mkv: tests/data/adts-to-mkv-header.mkv $(FATE_SEGMENT_PARTS:%=tests/data/adts-to-mkv-header-%.mkv) | tests/data
++      $(M)cat $^ >$@
++
++tests/data/adts-to-mkv-cated-%.mkv: TAG = GEN
++tests/data/adts-to-mkv-cated-%.mkv: tests/data/adts-to-mkv-header.mkv tests/data/adts-to-mkv-header-%.mkv | tests/data
++      $(M)cat $^ >$@
++
++FATE_SEGMENT += fate-segment-mp4-to-ts
++fate-segment-mp4-to-ts: tests/data/mp4-to-ts.m3u8
++fate-segment-mp4-to-ts: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/mp4-to-ts.m3u8 -c copy
++FATE_SEGMENT-$(call ALLYES, MOV_DEMUXER H264_MP4TOANNEXB_BSF MPEGTS_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER) += fate-segment-mp4-to-ts
++
++FATE_SEGMENT += fate-segment-adts-to-mkv
++fate-segment-adts-to-mkv: tests/data/adts-to-mkv.m3u8
++fate-segment-adts-to-mkv: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/adts-to-mkv.m3u8 -c copy
++fate-segment-adts-to-mkv: REF = $(SRC_PATH)/tests/ref/fate/segment-adts-to-mkv-header-all
++FATE_SEGMENT-$(call ALLYES, AAC_DEMUXER AAC_ADTSTOASC_BSF MATROSKA_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER) += fate-segment-adts-to-mkv
++
++FATE_SEGMENT_ALLPARTS = $(FATE_SEGMENT_PARTS)
++FATE_SEGMENT_ALLPARTS += all
++FATE_SEGMENT_SPLIT += $(FATE_SEGMENT_ALLPARTS:%=fate-segment-adts-to-mkv-header-%)
++$(foreach N,$(FATE_SEGMENT_ALLPARTS),$(eval $(N:%=fate-segment-adts-to-mkv-header-%): tests/data/adts-to-mkv-cated-$(N).mkv))
++fate-segment-adts-to-mkv-header-%: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/$(@:fate-segment-adts-to-mkv-header-%=adts-to-mkv-cated-%).mkv -c copy
++FATE_SEGMENT-$(call ALLYES, AAC_DEMUXER AAC_ADTSTOASC_BSF MATROSKA_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER) += $(FATE_SEGMENT_SPLIT)
++
++FATE_SAMPLES_FFMPEG += $(FATE_SEGMENT-yes)
++
++fate-segment: $(FATE_SEGMENT-yes)
index 0000000,0000000..3057573
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,32 @@@
++a4c46fad7716ad094eb3c78b74ca0244 *tests/data/fate/copy-apng.apng
++6209864 tests/data/fate/copy-apng.apng
++#tb 0: 1/25
++#media_type 0: video
++#codec_id 0: rawvideo
++#dimensions 0: 352x288
++#sar 0: 0/1
++0,          0,          0,        1,   304128, 0x348bb7a0
++0,          1,          1,        1,   304128, 0xaf9634d7
++0,          2,          2,        1,   304128, 0x81161fd3
++0,          3,          3,        1,   304128, 0x6839b383
++0,          4,          4,        1,   304128, 0xa55299b8
++0,          5,          5,        1,   304128, 0x66fb65b3
++0,          6,          6,        1,   304128, 0xe6be2a99
++0,          7,          7,        1,   304128, 0xfb33cb55
++0,          8,          8,        1,   304128, 0x51ab3d74
++0,          9,          9,        1,   304128, 0x67dc44ee
++0,         10,         10,        1,   304128, 0x2eac3b50
++0,         11,         11,        1,   304128, 0xd4a4c377
++0,         12,         12,        1,   304128, 0x1eefe29c
++0,         13,         13,        1,   304128, 0x3a84d488
++0,         14,         14,        1,   304128, 0x70d3b165
++0,         15,         15,        1,   304128, 0x578e58d4
++0,         16,         16,        1,   304128, 0x08bba87e
++0,         17,         17,        1,   304128, 0xccc86c47
++0,         18,         18,        1,   304128, 0x70bf9aa2
++0,         19,         19,        1,   304128, 0x3fc3d5b5
++0,         20,         20,        1,   304128, 0xef52590b
++0,         21,         21,        1,   304128, 0x4f7adde0
++0,         22,         22,        1,   304128, 0xc076ef54
++0,         23,         23,        1,   304128, 0xed2bba2d
++0,         24,         24,        1,   304128, 0x6fce6367
index 8e9e5e6,0000000..95f1fbe
mode 100644,000000..100644
--- /dev/null
@@@ -1,9 -1,0 +1,3 @@@
- a4c46fad7716ad094eb3c78b74ca0244 *./tests/data/lavf/lavf.apng
- 6209864 ./tests/data/lavf/lavf.apng
- ./tests/data/lavf/lavf.apng CRC=0x87b3c15f
- a4c46fad7716ad094eb3c78b74ca0244 *./tests/data/lavf/lavf.copy.apng
- 6209864 ./tests/data/lavf/lavf.copy.apng
- ./tests/data/lavf/lavf.copy.apng CRC=0x87b3c15f
- c5900fdd1b2fc30b985793f5226fd0c4 *./tests/data/lavf/lavf.png
- 248854 ./tests/data/lavf/lavf.png
- ./tests/data/lavf/lavf.png CRC=0xd8c7b7a1
++a4c46fad7716ad094eb3c78b74ca0244 *tests/data/lavf/lavf.apng
++6209864 tests/data/lavf/lavf.apng
++tests/data/lavf/lavf.apng CRC=0x87b3c15f
index 0000000,0000000..b42f5a8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++c5900fdd1b2fc30b985793f5226fd0c4 *tests/data/lavf/lavf.apng.png
++248854 tests/data/lavf/lavf.apng.png
++tests/data/lavf/lavf.apng.png CRC=0xd8c7b7a1
index 0000000,0000000..57c71e1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++28eb102547b82acca57ef097a6c639d8 *tests/data/lavf/lavf.gbrap.fits
++10224000 tests/data/lavf/lavf.gbrap.fits
++tests/data/lavf/lavf.gbrap.fits CRC=0x883af247
index 0000000,0000000..030a6d9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++ff5fb24a67aeabd4f56088ca8b03d8b0 *tests/data/lavf/lavf.gbrap16be.fits
++20376000 tests/data/lavf/lavf.gbrap16be.fits
++tests/data/lavf/lavf.gbrap16be.fits CRC=0xa981271b
index 0000000,0000000..2b60ddb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++dae49b5f6eb58981ba91e3e108355717 *tests/data/lavf/lavf.gbrp.fits
++7704000 tests/data/lavf/lavf.gbrp.fits
++tests/data/lavf/lavf.gbrp.fits CRC=0x80745c5e
index 0000000,0000000..9aa9db6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++693ea80c33eb9b348db27a0bc4a5cc8a *tests/data/lavf/lavf.gbrp16be.fits
++15336000 tests/data/lavf/lavf.gbrp16be.fits
++tests/data/lavf/lavf.gbrp16be.fits CRC=0x9573fb2b
@@@ -1,3 -1,3 +1,3 @@@
- e35f5ea283bbcb249818e0078ec72664 *./tests/data/lavf/lavf.gif
- 2011766 ./tests/data/lavf/lavf.gif
- ./tests/data/lavf/lavf.gif CRC=0x2429faff
 -e6089fd4ef3b9df44090ab3650bdd810 *tests/data/lavf/lavf.gif
 -2906401 tests/data/lavf/lavf.gif
 -tests/data/lavf/lavf.gif CRC=0xe5605ff6
++e35f5ea283bbcb249818e0078ec72664 *tests/data/lavf/lavf.gif
++2011766 tests/data/lavf/lavf.gif
++tests/data/lavf/lavf.gif CRC=0x2429faff
index 0000000,0000000..ce6783b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++d76b46a5a336b56f73451817cdf3897c *tests/data/lavf/lavf.gray.fits
++2664000 tests/data/lavf/lavf.gray.fits
++tests/data/lavf/lavf.gray.fits CRC=0x7aa0122f
index 0000000,0000000..078d6c8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++15e85a553bbd07783f92377ed369308b *tests/data/lavf/lavf.gray16be.fits
++5184000 tests/data/lavf/lavf.gray16be.fits
++tests/data/lavf/lavf.gray16be.fits CRC=0x8b840cff
index 0000000,81c1de9..c416b46
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,27 +1,49 @@@
 -ret:-1         st:-1 flags:1  ts: 1.894167
 -ret:-1         st: 0 flags:0  ts: 0.800000
 -ret:-1         st: 0 flags:1  ts:-0.320000
 -ret:-1         st:-1 flags:0  ts: 2.576668
 -ret:-1         st:-1 flags:1  ts: 1.470835
 -ret:-1         st: 0 flags:0  ts: 0.360000
 -ret:-1         st: 0 flags:1  ts:-0.760000
 -ret:-1         st:-1 flags:0  ts: 2.153336
 -ret:-1         st:-1 flags:1  ts: 1.047503
+ ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     64 size:152064
+ ret:-1         st:-1 flags:0  ts:-1.000000
 -ret:-1         st: 0 flags:1  ts: 2.840000
 -ret:-1         st:-1 flags:0  ts: 1.730004
 -ret:-1         st:-1 flags:1  ts: 0.624171
++ret: 0         st:-1 flags:1  ts: 1.894167
++ret:-EOF
++ret: 0         st: 0 flags:0  ts: 0.800000
++ret: 0         st: 0 flags:1 dts: 0.800000 pts: 0.800000 pos:3041464 size:152064
++ret: 0         st: 0 flags:1  ts:-0.320000
++ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     64 size:152064
++ret: 0         st:-1 flags:0  ts: 2.576668
++ret:-EOF
++ret: 0         st:-1 flags:1  ts: 1.470835
++ret:-EOF
++ret: 0         st: 0 flags:0  ts: 0.360000
++ret: 0         st: 0 flags:1 dts: 0.360000 pts: 0.360000 pos:1368694 size:152064
++ret: 0         st: 0 flags:1  ts:-0.760000
++ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     64 size:152064
++ret: 0         st:-1 flags:0  ts: 2.153336
++ret:-EOF
++ret: 0         st:-1 flags:1  ts: 1.047503
++ret:-EOF
+ ret:-1         st: 0 flags:0  ts:-0.040000
 -ret:-1         st: 0 flags:1  ts: 2.400000
 -ret:-1         st:-1 flags:0  ts: 1.306672
 -ret:-1         st:-1 flags:1  ts: 0.200839
++ret: 0         st: 0 flags:1  ts: 2.840000
++ret:-EOF
++ret: 0         st:-1 flags:0  ts: 1.730004
++ret:-EOF
++ret: 0         st:-1 flags:1  ts: 0.624171
++ret: 0         st: 0 flags:1 dts: 0.600000 pts: 0.600000 pos:2281114 size:152064
+ ret:-1         st: 0 flags:0  ts:-0.480000
 -ret:-1         st: 0 flags:1  ts: 2.000000
 -ret:-1         st:-1 flags:0  ts: 0.883340
 -ret:-1         st:-1 flags:1  ts:-0.222493
 -ret:-1         st: 0 flags:0  ts: 2.680000
 -ret:-1         st: 0 flags:1  ts: 1.560000
 -ret:-1         st:-1 flags:0  ts: 0.460008
 -ret:-1         st:-1 flags:1  ts:-0.645825
++ret: 0         st: 0 flags:1  ts: 2.400000
++ret:-EOF
++ret: 0         st:-1 flags:0  ts: 1.306672
++ret:-EOF
++ret: 0         st:-1 flags:1  ts: 0.200839
++ret: 0         st: 0 flags:1 dts: 0.160000 pts: 0.160000 pos: 608344 size:152064
+ ret:-1         st: 0 flags:0  ts:-0.920000
++ret: 0         st: 0 flags:1  ts: 2.000000
++ret:-EOF
++ret: 0         st:-1 flags:0  ts: 0.883340
++ret: 0         st: 0 flags:1 dts: 0.880000 pts: 0.880000 pos:3345604 size:152064
++ret: 0         st:-1 flags:1  ts:-0.222493
++ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     64 size:152064
++ret: 0         st: 0 flags:0  ts: 2.680000
++ret:-EOF
++ret: 0         st: 0 flags:1  ts: 1.560000
++ret:-EOF
++ret: 0         st:-1 flags:0  ts: 0.460008
++ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos:1824904 size:152064
++ret: 0         st:-1 flags:1  ts:-0.645825
++ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     64 size:152064