fate: add tests for h264 and vp9 video enc parameters export
[ffmpeg.git] / tests / fate / vpx.mak
1 FATE_TRUEMOTION1 += fate-truemotion1-15
2 fate-truemotion1-15: CMD = framecrc -i $(TARGET_SAMPLES)/duck/phant2-940.duk -pix_fmt rgb24 -an
3
4 FATE_TRUEMOTION1 += fate-truemotion1-24
5 fate-truemotion1-24: CMD = framecrc -i $(TARGET_SAMPLES)/duck/sonic3dblast_intro-partial.avi -pix_fmt rgb24 -an
6
7 FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, TRUEMOTION1) += $(FATE_TRUEMOTION1)
8 fate-truemotion1: $(FATE_TRUEMOTION1)
9
10 FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, TRUEMOTION2) += fate-truemotion2
11 fate-truemotion2: CMD = framecrc -i $(TARGET_SAMPLES)/duck/tm20.avi
12
13 FATE_TRUEMOTION2RT += fate-truemotion2rt-low
14 fate-truemotion2rt-low: CMD = framecrc -i $(TARGET_SAMPLES)/duck/tr20_low.avi -an
15
16 FATE_TRUEMOTION2RT += fate-truemotion2rt-mid
17 fate-truemotion2rt-mid: CMD = framecrc -i $(TARGET_SAMPLES)/duck/tr20_mid.avi -an
18
19 FATE_TRUEMOTION2RT += fate-truemotion2rt-high
20 fate-truemotion2rt-high: CMD = framecrc -i $(TARGET_SAMPLES)/duck/tr20_high.avi -an
21
22 FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, TRUEMOTION2RT) += $(FATE_TRUEMOTION2RT)
23 fate-truemotion2rt: $(FATE_TRUEMOTION2RT)
24
25 FATE_VP3-$(call DEMDEC, MATROSKA, THEORA) += fate-theora-coeff-level64
26 fate-theora-coeff-level64: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/vp3/coeff_level64.mkv
27
28 FATE_VP3-$(call DEMDEC, OGG, THEORA) += fate-theora-offset
29 fate-theora-offset: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/vp3/offset_test.ogv
30
31 FATE_VP3-$(call DEMDEC, AVI, VP3) += fate-vp31
32 fate-vp31: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/vp3/vp31.avi
33
34 FATE_SAMPLES_AVCONV += $(FATE_VP3-yes)
35 fate-vp3: $(FATE_VP3-yes)
36
37 FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, VP4) += fate-vp4
38 fate-vp4: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/vp4/KTkvw8dg1J8.avi
39
40 FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, VP5) += fate-vp5
41 fate-vp5: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/vp5/potter512-400-partial.avi -an
42
43 FATE_VP6-$(call DEMDEC, EA, VP6) += fate-vp60
44 fate-vp60: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/ea-vp6/g36.vp6
45
46 FATE_VP6-$(call DEMDEC, EA, VP6) += fate-vp61
47 fate-vp61: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/ea-vp6/MovieSkirmishGondor.vp6 -t 4
48
49 FATE_VP6-$(call DEMDEC, MOV, VP6A) += fate-vp6a
50 fate-vp6a: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/flash-vp6/300x180-Scr-f8-056alpha.mov
51
52 FATE_VP6-$(call DEMDEC, MOV, VP6A) += fate-vp6a-skip_alpha
53 fate-vp6a-skip_alpha: CMD = framecrc -flags +bitexact -skip_alpha 1 -i $(TARGET_SAMPLES)/flash-vp6/300x180-Scr-f8-056alpha.mov
54
55 FATE_VP6-$(call DEMDEC, FLV, VP6F) += fate-vp6f
56 fate-vp6f: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/flash-vp6/clip1024.flv
57
58 FATE_VP8-$(CONFIG_MATROSKA_DEMUXER) += fate-vp8-alpha
59 fate-vp8-alpha: CMD = framecrc -i $(TARGET_SAMPLES)/vp8_alpha/vp8_video_with_alpha.webm -c:v copy
60
61 FATE_VP8-$(CONFIG_WEBM_DASH_MANIFEST_DEMUXER) += fate-webm-dash-manifest
62 fate-webm-dash-manifest: CMD = run $(FFMPEG) -nostdin -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video2.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio2.webm -c copy -map 0 -map 1 -map 2 -map 3 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1 id=1,streams=2,3" -
63
64 FATE_VP8-$(CONFIG_WEBM_DASH_MANIFEST_DEMUXER) += fate-webm-dash-manifest-unaligned-video-streams
65 fate-webm-dash-manifest-unaligned-video-streams: CMD = run $(FFMPEG) -nostdin -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video3.webm -c copy -map 0 -map 1 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1" -
66
67 FATE_VP8-$(CONFIG_WEBM_DASH_MANIFEST_DEMUXER) += fate-webm-dash-manifest-unaligned-audio-streams
68 fate-webm-dash-manifest-unaligned-audio-streams: CMD = run $(FFMPEG) -nostdin -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio3.webm -c copy -map 0 -map 1 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1" -
69
70 FATE_VP8-$(CONFIG_WEBM_DASH_MANIFEST_DEMUXER) += fate-webm-dash-manifest-representations
71 fate-webm-dash-manifest-representations: CMD = run $(FFMPEG) -nostdin -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video4.webm -c copy -map 0 -map 1 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1" -
72
73 FATE_VP8-$(CONFIG_WEBM_DASH_MANIFEST_DEMUXER) += fate-webm-dash-manifest-live
74 fate-webm-dash-manifest-live: CMD = run $(FFMPEG) -nostdin -f webm_dash_manifest -live 1 -i $(TARGET_SAMPLES)/vp8/dash_live_video_360.hdr -f webm_dash_manifest -live 1 -i $(TARGET_SAMPLES)/vp8/dash_live_audio_171.hdr -c copy -map 0 -map 1 -fflags +bitexact -f webm_dash_manifest -live 1 -adaptation_sets "id=0,streams=0 id=1,streams=1" -chunk_start_index 1 -chunk_duration_ms 5000 -time_shift_buffer_depth 7200 -minimum_update_period 60 -
75
76 FATE_VP8-$(CONFIG_WEBM_DASH_MANIFEST_DEMUXER) += fate-webm-dash-manifest-live-bandwidth
77 fate-webm-dash-manifest-live-bandwidth: CMD = run $(FFMPEG) -nostdin -f webm_dash_manifest -live 1 -bandwidth 100 -i $(TARGET_SAMPLES)/vp8/dash_live_video_360.hdr -f webm_dash_manifest -live 1 -bandwidth 200 -i $(TARGET_SAMPLES)/vp8/dash_live_audio_171.hdr -c copy -map 0 -map 1 -fflags +bitexact -f webm_dash_manifest -live 1 -adaptation_sets "id=0,streams=0 id=1,streams=1" -chunk_start_index 1 -chunk_duration_ms 5000 -time_shift_buffer_depth 7200 -minimum_update_period 60 -
78
79 FATE_VP8-$(call DEMDEC, MATROSKA, VP8) += fate-vp8-2451
80 fate-vp8-2451: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/vp8/RRSF49-short.webm -vsync cfr -an
81
82 FATE_SAMPLES_AVCONV += $(FATE_VP6-yes)
83 fate-vp6: $(FATE_VP6-yes)
84
85 FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, VP7) += fate-vp7
86 fate-vp7: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/vp7/potter-40.vp7 -frames 30 -an
87
88 VP8_SUITE = 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017
89
90 define FATE_VP8_SUITE
91 FATE_VP8-$(call DEMDEC, IVF, VP8) += fate-vp8-test-vector$(2)-$(1)
92 fate-vp8-test-vector$(2)-$(1): CMD = framemd5 $(3) -i $(TARGET_SAMPLES)/vp8-test-vectors-r1/vp80-00-comprehensive-$(1).ivf
93 fate-vp8-test-vector$(2)-$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-test-vector-$(1)
94 endef
95
96 define FATE_VP8_FULL
97 $(foreach N,$(VP8_SUITE),$(eval $(call FATE_VP8_SUITE,$(N),$(1),$(2))))
98
99 # FIXME this file contains two frames with identical timestamps,
100 # so ffmpeg drops one of them
101 FATE_VP8-$(call DEMDEC, IVF, VP8) += fate-vp8-sign-bias$(1)
102 fate-vp8-sign-bias$(1): CMD = framemd5 $(2) -i $(TARGET_SAMPLES)/vp8/sintel-signbias.ivf
103 fate-vp8-sign-bias$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-sign-bias
104
105 FATE_VP8-$(call DEMDEC, MATROSKA, VP8) += fate-vp8-size-change$(1)
106 fate-vp8-size-change$(1): CMD = framemd5 $(2) -flags +bitexact -i $(TARGET_SAMPLES)/vp8/frame_size_change.webm -frames:v 30 -sws_flags bitexact+bilinear
107 fate-vp8-size-change$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-size-change
108 endef
109
110 $(eval $(call FATE_VP8_FULL))
111
112 FATE_SAMPLES_AVCONV += $(FATE_VP8-yes)
113 fate-vp8: $(FATE_VP8-yes)
114
115 define FATE_VP9_SUITE
116 FATE_VP9-$(CONFIG_MATROSKA_DEMUXER) += fate-vp9$(2)-$(1)
117 fate-vp9$(2)-$(1): CMD = framemd5 $(3) -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-$(1).webm
118 fate-vp9$(2)-$(1): REF = $(SRC_PATH)/tests/ref/fate/vp9-$(1)
119 endef
120
121 define FATE_VP9_PROFILE_SUITE
122 FATE_VP9-$(CONFIG_MATROSKA_DEMUXER) += fate-vp9p$(2)-$(1)
123 fate-vp9p$(2)-$(1): CMD = framemd5 -i $(TARGET_SAMPLES)/vp9-test-vectors/vp9$(2)-2-$(1).webm $(3)
124 fate-vp9p$(2)-$(1): REF = $(SRC_PATH)/tests/ref/fate/vp9p$(2)-$(1)
125 endef
126
127 VP9_Q = 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 \
128         16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 \
129         32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 \
130         48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
131 VP9_SHARP = 1 2 3 4 5 6 7
132 VP9_SIZE_A = 08 10 16 18 32 34 64 66
133 VP9_SIZE_B = 196 198 200 202 208 210 224 226
134 VP9_CHROMA_SUBSAMPLE = 422 440 444
135 VP9_HIGH_BITDEPTH = 10 12
136
137 define FATE_VP9_FULL
138 $(foreach Q,$(VP9_Q),$(eval $(call FATE_VP9_SUITE,00-quantizer-$(Q))))
139 $(foreach SHARP,$(VP9_SHARP),$(eval $(call FATE_VP9_SUITE,01-sharpness-$(SHARP))))
140 $(foreach W,$(VP9_SIZE_A),$(eval $(foreach H,$(VP9_SIZE_A),$(eval $(call FATE_VP9_SUITE,02-size-$(W)x$(H))))))
141 $(foreach W,$(VP9_SIZE_B),$(eval $(foreach H,$(VP9_SIZE_B),$(eval $(call FATE_VP9_SUITE,03-size-$(W)x$(H))))))
142 $(eval $(call FATE_VP9_SUITE,03-deltaq))
143 $(foreach SS,$(VP9_CHROMA_SUBSAMPLE),$(eval $(call FATE_VP9_PROFILE_SUITE,04-yuv$(SS),1,)))
144 $(foreach BD,$(VP9_HIGH_BITDEPTH),$(eval $(call FATE_VP9_PROFILE_SUITE,20-$(BD)bit-yuv420,2,-pix_fmt yuv420p$(BD)le)))
145 $(foreach BD,$(VP9_HIGH_BITDEPTH),$(eval $(foreach SS,$(VP9_CHROMA_SUBSAMPLE),$(eval $(call FATE_VP9_PROFILE_SUITE,20-$(BD)bit-yuv$(SS),3,-pix_fmt yuv$(SS)p$(BD)le)))))
146 $(eval $(call FATE_VP9_SUITE,06-bilinear))
147 $(eval $(call FATE_VP9_SUITE,09-lf_deltas))
148 $(eval $(call FATE_VP9_SUITE,10-show-existing-frame))
149 $(eval $(call FATE_VP9_SUITE,10-show-existing-frame2))
150 $(eval $(call FATE_VP9_SUITE,15-segkey_adpq))
151 $(eval $(call FATE_VP9_SUITE,16-intra-only))
152 $(eval $(call FATE_VP9_SUITE,2pass-akiyo))
153 $(eval $(call FATE_VP9_SUITE,parallelmode-akiyo))
154 $(eval $(call FATE_VP9_SUITE,segmentation-aq-akiyo))
155 $(eval $(call FATE_VP9_SUITE,segmentation-sf-akiyo))
156 $(eval $(call FATE_VP9_SUITE,tiling-pedestrian))
157 $(eval $(call FATE_VP9_SUITE,trac3849))
158 $(eval $(call FATE_VP9_SUITE,trac4359))
159 endef
160
161 $(eval $(call FATE_VP9_FULL))
162 FATE_VP9-$(CONFIG_IVF_DEMUXER) += fate-vp9-05-resize
163 fate-vp9-05-resize: CMD = framemd5 -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-05-resize.ivf -s 352x288 -sws_flags bitexact+bilinear
164 fate-vp9-05-resize: REF = $(SRC_PATH)/tests/ref/fate/vp9-05-resize
165
166 fate-vp9-encparams: CMD = venc_data $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-segmentation-aq-akiyo.webm 0 5
167 FATE_SAMPLES_DUMP_DATA += fate-vp9-encparams
168
169 FATE_VP9-$(CONFIG_MATROSKA_DEMUXER) += fate-vp9-encparams
170
171 FATE_SAMPLES_AVCONV-$(CONFIG_VP9_DECODER) += $(FATE_VP9-yes)
172 fate-vp9: $(FATE_VP9-yes)