ffmpeg.mak 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2
  2. fate-mapchan-6ch-extract-2: tests/data/asynth-22050-6.wav
  3. 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:
  4. FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2-downmix-mono
  5. fate-mapchan-6ch-extract-2-downmix-mono: tests/data/asynth-22050-6.wav
  6. 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
  7. FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-silent-mono
  8. fate-mapchan-silent-mono: tests/data/asynth-22050-1.wav
  9. 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
  10. FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-2ch-extract-ch0-ch2-trailing
  11. fate-mapchan-2ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-2.wav
  12. 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
  13. FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-3ch-extract-ch0-ch2-trailing
  14. fate-mapchan-3ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-3.wav
  15. 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
  16. FATE_MAPCHAN = $(FATE_MAPCHAN-yes)
  17. FATE_FFMPEG += $(FATE_MAPCHAN)
  18. fate-mapchan: $(FATE_MAPCHAN)
  19. FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-filter_complex
  20. fate-ffmpeg-filter_complex: CMD = framecrc -filter_complex color=d=1:r=5 -fflags +bitexact
  21. # Ticket 6603
  22. FATE_FFMPEG-$(call ALLYES, AEVALSRC_FILTER ASETNSAMPLES_FILTER AC3_FIXED_ENCODER) += fate-ffmpeg-filter_complex_audio
  23. fate-ffmpeg-filter_complex_audio: CMD = framecrc -filter_complex "aevalsrc=0:d=0.1,asetnsamples=1537" -c ac3_fixed
  24. # Ticket 6375, use case of NoX
  25. FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER PNG_DECODER ALAC_DECODER PCM_S16LE_ENCODER RAWVIDEO_ENCODER) += fate-ffmpeg-attached_pics
  26. fate-ffmpeg-attached_pics: CMD = threads=2 framecrc -i $(TARGET_SAMPLES)/lossless-audio/inside.m4a -c:a pcm_s16le -max_muxing_queue_size 16
  27. FATE_SAMPLES_FFMPEG-$(CONFIG_COLORKEY_FILTER) += fate-ffmpeg-filter_colorkey
  28. fate-ffmpeg-filter_colorkey: tests/data/filtergraphs/colorkey
  29. 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
  30. FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-lavfi
  31. fate-ffmpeg-lavfi: CMD = framecrc -lavfi color=d=1:r=5 -fflags +bitexact
  32. FATE_SAMPLES_FFMPEG-$(CONFIG_RAWVIDEO_DEMUXER) += fate-force_key_frames
  33. fate-force_key_frames: tests/data/vsynth_lena.yuv
  34. fate-force_key_frames: CMD = enc_dec \
  35. "rawvideo -s 352x288 -pix_fmt yuv420p" tests/data/vsynth_lena.yuv \
  36. avi "-c mpeg4 -g 240 -qscale 10 -force_key_frames 0.5,0:00:01.5" \
  37. framecrc "" "" "-skip_frame nokey"
  38. FATE_SAMPLES_FFMPEG-$(call ALLYES, VOBSUB_DEMUXER DVDSUB_DECODER AVFILTER OVERLAY_FILTER DVDSUB_ENCODER) += fate-sub2video
  39. fate-sub2video: tests/data/vsynth_lena.yuv
  40. fate-sub2video: CMD = framecrc \
  41. -f rawvideo -r 5 -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv \
  42. -ss 132 -i $(TARGET_SAMPLES)/sub/vobsub.idx \
  43. -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:0]scale=720:480[v]\;[v][1:0]overlay[v2]" \
  44. -map "[v2]" -c:v rawvideo -map 1:s -c:s dvdsub
  45. # Very basic sub2video example, decode and convert to AVFrame with sub2video.
  46. # Attempt to not touch timestamps.
  47. FATE_SAMPLES_FFMPEG-$(call ALLYES, VOBSUB_DEMUXER DVDSUB_DECODER AVFILTER) += fate-sub2video_basic
  48. fate-sub2video_basic: CMD = framecrc \
  49. -i $(TARGET_SAMPLES)/sub/vobsub.idx \
  50. -vsync passthrough -copyts \
  51. -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:s:0]scale" \
  52. -c:v rawvideo
  53. # Time-limited run with a sample that doesn't require seeking and
  54. # contains samples within the initial period.
  55. FATE_SAMPLES_FFMPEG-$(call ALLYES, SUP_DEMUXER PGSSUB_DECODER AVFILTER) += fate-sub2video_time_limited
  56. fate-sub2video_time_limited: CMD = framecrc \
  57. -i $(TARGET_SAMPLES)/sub/pgs_sub.sup \
  58. -vsync passthrough -copyts \
  59. -t 15 \
  60. -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:s:0]scale" \
  61. -c:v rawvideo
  62. FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER PCM_S16LE_MUXER PCM_S16LE_DECODER PCM_S16LE_ENCODER) += fate-unknown_layout-pcm
  63. fate-unknown_layout-pcm: $(AREF)
  64. fate-unknown_layout-pcm: CMD = md5 \
  65. -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) -f s16le
  66. FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER AC3_MUXER PCM_S16LE_DECODER AC3_FIXED_ENCODER) += fate-unknown_layout-ac3
  67. fate-unknown_layout-ac3: $(AREF)
  68. fate-unknown_layout-ac3: CMD = md5 \
  69. -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) \
  70. -f ac3 -flags +bitexact -c ac3_fixed
  71. FATE_STREAMCOPY-$(call ALLYES, EAC3_DEMUXER MOV_MUXER) += fate-copy-trac3074
  72. fate-copy-trac3074: $(SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3
  73. fate-copy-trac3074: CMD = transcode eac3 $(TARGET_SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3\
  74. mp4 "-codec copy -map 0" "-codec copy"
  75. FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-trac236
  76. fate-copy-trac236: $(SAMPLES)/mov/fcp_export8-236.mov
  77. fate-copy-trac236: CMD = transcode mov $(TARGET_SAMPLES)/mov/fcp_export8-236.mov\
  78. mov "-codec copy -map 0"
  79. FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER MXF_MUXER PCM_S16LE_ENCODER) += fate-copy-trac4914
  80. fate-copy-trac4914: $(SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts
  81. fate-copy-trac4914: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\
  82. mxf "-c:a pcm_s16le -c:v copy"
  83. FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER AVI_MUXER) += fate-copy-trac4914-avi
  84. fate-copy-trac4914-avi: $(SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts
  85. fate-copy-trac4914-avi: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\
  86. avi "-c:a copy -c:v copy"
  87. FATE_STREAMCOPY-$(call ALLYES, H264_DEMUXER AVI_MUXER) += fate-copy-trac2211-avi
  88. fate-copy-trac2211-avi: $(SAMPLES)/h264/bbc2.sample.h264
  89. fate-copy-trac2211-avi: CMD = transcode "h264 -r 14" $(TARGET_SAMPLES)/h264/bbc2.sample.h264\
  90. avi "-c:a copy -c:v copy"
  91. FATE_STREAMCOPY-$(call ENCDEC, APNG, APNG) += fate-copy-apng
  92. fate-copy-apng: fate-lavf-apng
  93. fate-copy-apng: CMD = transcode apng tests/data/lavf/lavf.apng apng "-c:v copy"
  94. FATE_STREAMCOPY-$(call DEMMUX, OGG, OGG) += fate-limited_input_seek fate-limited_input_seek-copyts
  95. fate-limited_input_seek: $(SAMPLES)/vorbis/moog_small.ogg
  96. 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
  97. fate-limited_input_seek-copyts: $(SAMPLES)/vorbis/moog_small.ogg
  98. 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
  99. FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-psp
  100. fate-copy-psp: $(SAMPLES)/h264/wwwq_cut.mp4
  101. fate-copy-psp: CMD = transcode "mov" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\
  102. psp "-c copy" "-codec copy"
  103. FATE_STREAMCOPY-$(CONFIG_FLV_DEMUXER) += fate-ffmpeg-streamloop
  104. fate-ffmpeg-streamloop: $(SAMPLES)/flv/streamloop.flv
  105. fate-ffmpeg-streamloop: CMD = framemd5 -stream_loop 2 -i $(TARGET_SAMPLES)/flv/streamloop.flv -c copy
  106. fate-streamcopy: $(FATE_STREAMCOPY-yes)
  107. FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER MATROSKA_MUXER) += fate-rgb24-mkv
  108. fate-rgb24-mkv: $(SAMPLES)/qtrle/aletrek-rle.mov
  109. fate-rgb24-mkv: CMD = transcode "mov" $(TARGET_SAMPLES)/qtrle/aletrek-rle.mov\
  110. matroska "-c:v rawvideo -pix_fmt rgb24 -allow_raw_vfw 1 -frames:v 1"
  111. FATE_SAMPLES_FFMPEG-$(call ALLYES, AAC_DEMUXER MOV_MUXER) += fate-adtstoasc_ticket3715
  112. fate-adtstoasc_ticket3715: $(SAMPLES)/aac/foo.aac
  113. fate-adtstoasc_ticket3715: CMD = transcode "aac" $(TARGET_SAMPLES)/aac/foo.aac\
  114. mov "-c copy -bsf:a aac_adtstoasc" "-codec copy"
  115. FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket2991
  116. fate-h264_mp4toannexb_ticket2991: $(SAMPLES)/h264/wwwq_cut.mp4
  117. fate-h264_mp4toannexb_ticket2991: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\
  118. h264 "-c:v copy -bsf:v h264_mp4toannexb" "-codec copy"
  119. FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket5927 fate-h264_mp4toannexb_ticket5927_2
  120. fate-h264_mp4toannexb_ticket5927: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \
  121. h264 "-c:v copy -bsf:v h264_mp4toannexb -an" "-c:v copy"
  122. fate-h264_mp4toannexb_ticket5927_2: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \
  123. h264 "-c:v copy -an" "-c:v copy"
  124. 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
  125. fate-ffmpeg-bsf-remove-k: $(SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg
  126. fate-ffmpeg-bsf-remove-k: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
  127. avi "-vbsf remove_extra=k" "-codec copy"
  128. fate-ffmpeg-bsf-remove-r: $(SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg
  129. fate-ffmpeg-bsf-remove-r: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
  130. avi "-vbsf remove_extra=keyframe" "-codec copy"
  131. fate-ffmpeg-bsf-remove-e: $(SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg
  132. fate-ffmpeg-bsf-remove-e: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
  133. avi "-vbsf remove_extra=e" "-codec copy"
  134. FATE_SAMPLES_FFMPEG-yes += $(FATE_STREAMCOPY-yes)
  135. FATE_TIME_BASE-$(call ALLYES, MPEGPS_DEMUXER MXF_MUXER) += fate-time_base
  136. fate-time_base: $(SAMPLES)/mpeg2/dvd_single_frame.vob
  137. 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
  138. FATE_SAMPLES_FFMPEG-yes += $(FATE_TIME_BASE-yes)