mov.mak 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. FATE_MOV = fate-mov-3elist \
  2. fate-mov-3elist-1ctts \
  3. fate-mov-1elist-1ctts \
  4. fate-mov-1elist-noctts \
  5. fate-mov-elist-starts-ctts-2ndsample \
  6. fate-mov-1elist-ends-last-bframe \
  7. fate-mov-2elist-elist1-ends-bframe \
  8. fate-mov-3elist-encrypted \
  9. fate-mov-frag-encrypted \
  10. fate-mov-tenc-only-encrypted \
  11. fate-mov-invalid-elst-entry-count \
  12. fate-mov-gpmf-remux \
  13. fate-mov-440hz-10ms \
  14. fate-mov-ibi-elst-starts-b \
  15. fate-mov-elst-ends-betn-b-and-i \
  16. fate-mov-frag-overlap \
  17. fate-mov-bbi-elst-starts-b \
  18. fate-mov-neg-firstpts-discard-frames \
  19. fate-mov-stream-shorter-than-movie \
  20. FATE_MOV_FFPROBE = fate-mov-neg-firstpts-discard \
  21. fate-mov-neg-firstpts-discard-vorbis \
  22. fate-mov-aac-2048-priming \
  23. fate-mov-zombie \
  24. fate-mov-init-nonkeyframe \
  25. fate-mov-displaymatrix \
  26. fate-mov-spherical-mono \
  27. fate-mov-guess-delay-1 \
  28. fate-mov-guess-delay-2 \
  29. fate-mov-guess-delay-3 \
  30. fate-mov-mp4-with-mov-in24-ver \
  31. FATE_MOV_FASTSTART = fate-mov-faststart-4gb-overflow \
  32. FATE_SAMPLES_AVCONV += $(FATE_MOV)
  33. FATE_SAMPLES_FFPROBE += $(FATE_MOV_FFPROBE)
  34. FATE_SAMPLES_FASTSTART += $(FATE_MOV_FASTSTART)
  35. fate-mov: $(FATE_MOV) $(FATE_MOV_FFPROBE) $(FATE_MOV_FASTSTART)
  36. # Make sure we handle edit lists correctly in normal cases.
  37. fate-mov-1elist-noctts: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/mov-1elist-noctts.mov
  38. fate-mov-1elist-1ctts: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/mov-1elist-1ctts.mov
  39. fate-mov-3elist: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/mov-3elist.mov
  40. fate-mov-3elist-1ctts: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/mov-3elist-1ctts.mov
  41. # Edit list with encryption
  42. fate-mov-3elist-encrypted: CMD = framemd5 -decryption_key 12345678901234567890123456789012 -i $(TARGET_SAMPLES)/mov/mov-3elist-encrypted.mov
  43. # Fragmented encryption with senc boxes in movie fragments.
  44. fate-mov-frag-encrypted: CMD = framemd5 -decryption_key 12345678901234567890123456789012 -i $(TARGET_SAMPLES)/mov/mov-frag-encrypted.mp4
  45. # Full-sample encryption and constant IV using only tenc atom (no senc/saio/saiz).
  46. fate-mov-tenc-only-encrypted: CMD = framemd5 -decryption_key 12345678901234567890123456789012 -i $(TARGET_SAMPLES)/mov/mov-tenc-only-encrypted.mp4
  47. # Makes sure that the CTTS is also modified when we fix avindex in mov.c while parsing edit lists.
  48. fate-mov-elist-starts-ctts-2ndsample: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/mov-elist-starts-ctts-2ndsample.mov
  49. # Makes sure that we handle edit lists ending on a B-frame correctly.
  50. # The last frame in decoding order which is B-frame should be output, but the last but-one P-frame shouldn't be
  51. # output.
  52. fate-mov-1elist-ends-last-bframe: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/mov-1elist-ends-last-bframe.mov
  53. # Makes sure that we handle timestamps of packets in case of multiple edit lists with one of them ending on a B-frame correctly.
  54. fate-mov-2elist-elist1-ends-bframe: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/mov-2elist-elist1-ends-bframe.mov
  55. # Makes sure that if edit list ends on a B-frame but before the I-frame, then we output the B-frame but discard the I-frame.
  56. fate-mov-elst-ends-betn-b-and-i: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/elst_ends_betn_b_and_i.mp4
  57. # Makes sure that we handle edit lists and start padding correctly.
  58. fate-mov-440hz-10ms: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/440hz-10ms.m4a
  59. # Makes sure that we handle invalid edit list entry count correctly.
  60. fate-mov-invalid-elst-entry-count: CMD = framemd5 -idct simple -flags +bitexact -i $(TARGET_SAMPLES)/mov/invalid_elst_entry_count.mov
  61. # Makes sure that 1st key-frame is picked when,
  62. # i) One B-frame between 2 key-frames
  63. # ii) Edit list starts on B-frame.
  64. # iii) Both key-frames have their DTS < edit list start
  65. # i.e. Pts Order: I-B-I
  66. fate-mov-ibi-elst-starts-b: CMD = framemd5 -flags +bitexact -i $(TARGET_SAMPLES)/mov/mov_ibi_elst_starts_b.mov
  67. # Makes sure that we handle overlapping framgments
  68. fate-mov-frag-overlap: CMD = framemd5 -i $(TARGET_SAMPLES)/mov/frag_overlap.mp4
  69. # Makes sure that we pick the right frames according to edit list when there is no keyframe with PTS < edit list start.
  70. # For example, when video starts on a B-frame, and edit list starts on that B-frame too.
  71. # GOP structure : B B I in presentation order.
  72. fate-mov-bbi-elst-starts-b: CMD = framemd5 -flags +bitexact -acodec aac_fixed -i $(TARGET_SAMPLES)/h264/twofields_packet.mp4
  73. # Makes sure that the stream start_time is not negative when the first packet is a DISCARD packet with negative timestamp.
  74. fate-mov-neg-firstpts-discard: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream=start_time -bitexact $(TARGET_SAMPLES)/mov/mov_neg_first_pts_discard.mov
  75. # Makes sure that the VORBIS audio stream start_time is not negative when the first few packets are DISCARD packets
  76. # with negative timestamps (skip_samples is not set for Vorbis, so ffmpeg computes start_time as negative if not specified by demuxer).
  77. fate-mov-neg-firstpts-discard-vorbis: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream=start_time -bitexact $(TARGET_SAMPLES)/mov/mov_neg_first_pts_discard_vorbis.mp4
  78. # Makes sure that expected frames are generated for mov_neg_first_pts_discard.mov with -vsync 1
  79. fate-mov-neg-firstpts-discard-frames: CMD = framemd5 -flags +bitexact -i $(TARGET_SAMPLES)/mov/mov_neg_first_pts_discard.mov -vsync 1
  80. # Makes sure that no frame is dropped/duplicated with fps filter due to start_time / duration miscalculations.
  81. fate-mov-stream-shorter-than-movie: CMD = framemd5 -flags +bitexact -i $(TARGET_SAMPLES)/mov/mov_stream_shorter_than_movie.mov -vf fps=fps=24 -an
  82. fate-mov-aac-2048-priming: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_packets -print_format compact $(TARGET_SAMPLES)/mov/aac-2048-priming.mov
  83. fate-mov-zombie: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_streams -show_packets -show_frames -bitexact -print_format compact $(TARGET_SAMPLES)/mov/white_zombie_scrunch-part.mov
  84. fate-mov-init-nonkeyframe: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_packets -print_format compact -select_streams v $(TARGET_SAMPLES)/mov/mp4-init-nonkeyframe.mp4
  85. fate-mov-displaymatrix: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream=display_aspect_ratio,sample_aspect_ratio:stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mov/displaymatrix.mov
  86. fate-mov-spherical-mono: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mov/spherical.mov
  87. fate-mov-gpmf-remux: CMD = md5 -i $(TARGET_SAMPLES)/mov/fake-gp-media-with-real-gpmf.mp4 -map 0 -c copy -fflags +bitexact -f mp4
  88. fate-mov-gpmf-remux: CMP = oneline
  89. fate-mov-gpmf-remux: REF = 8f48e435ee1f6b7e173ea756141eabf3
  90. fate-mov-guess-delay-1: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream=has_b_frames -select_streams v $(TARGET_SAMPLES)/h264/h264_3bf_nopyramid_nobsrestriction.mp4
  91. fate-mov-guess-delay-2: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream=has_b_frames -select_streams v $(TARGET_SAMPLES)/h264/h264_3bf_pyramid_nobsrestriction.mp4
  92. fate-mov-guess-delay-3: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream=has_b_frames -select_streams v $(TARGET_SAMPLES)/h264/h264_4bf_pyramid_nobsrestriction.mp4
  93. fate-mov-faststart-4gb-overflow: CMD = run tools/qt-faststart$(EXESUF) $(TARGET_SAMPLES)/mov/faststart-4gb-overflow.mov faststart-4gb-overflow-output.mov > /dev/null ; do_md5sum faststart-4gb-overflow-output.mov | cut -d " " -f1 ; rm faststart-4gb-overflow-output.mov
  94. fate-mov-faststart-4gb-overflow: CMP = oneline
  95. fate-mov-faststart-4gb-overflow: REF = bc875921f151871e787c4b4023269b29
  96. fate-mov-mp4-with-mov-in24-ver: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream=codec_name -select_streams 1 $(TARGET_SAMPLES)/mov/mp4-with-mov-in24-ver.mp4