]> git.nihav.org Git - nihav.git/blob - nihav-itu/src/codecs/h264/test/conformance.rs
add LinePack decoder
[nihav.git] / nihav-itu / src / codecs / h264 / test / conformance.rs
1 use nihav_core::codecs::RegisteredDecoders;
2 use nihav_core::demuxers::RegisteredDemuxers;
3 use nihav_codec_support::test::dec_video::*;
4 use nihav_commonfmt::generic_register_all_demuxers;
5 use crate::itu_register_all_decoders;
6
7 use super::raw_demux::RawH264DemuxerCreator;
8
9 const PREFIX: &str = "assets/ITU/h264-conformance/";
10
11 fn test_files(names: &[(&str, [u32; 4])]) {
12 let mut dmx_reg = RegisteredDemuxers::new();
13 dmx_reg.add_demuxer(&RawH264DemuxerCreator{});
14 generic_register_all_demuxers(&mut dmx_reg);
15 let mut dec_reg = RegisteredDecoders::new();
16 itu_register_all_decoders(&mut dec_reg);
17
18 for (name, hash) in names.iter() {
19 let test_name = format!("{}{}", PREFIX, name);
20 println!("Testing {}", test_name);
21 test_decoding("rawh264", "h264", &test_name, None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5(*hash));
22 }
23 }
24
25 const GENERAL_TEST_STREAMS: &[(&str, [u32; 4])] = &[
26 ("NL1_Sony_D.jsv", [0xD4BB8D98, 0x0C1377EE, 0x45515763, 0xAE7989FD]),
27 ("SVA_NL1_B.264", [0xB5626983, 0xAC087749, 0x7FFF9A4B, 0x10D2F1D4]),
28 ("NL2_Sony_H.jsv", [0x48D8380C, 0xDB7EFF52, 0x116C1AAD, 0xDBC583F5]),
29 ("SVA_NL2_E.264", [0xB47E932D, 0x43628801, 0x3B8453D9, 0xA1D0F60D]),
30 ("BA1_Sony_D.jsv", [0x114D1CF9, 0x4A2FCAFF, 0xDA0CF1B4, 0x9964BF3D]),
31 ("SVA_BA1_B.264", [0xDAB92AA2, 0x145AB44A, 0xBAB2BEB2, 0x868DD326]),
32 ("BA2_Sony_F.jsv", [0x124D2830, 0x7B057028, 0x12A374CF, 0xC9AAD615]),
33 ("SVA_BA2_D.264", [0x66130B14, 0x295574BF, 0x35B725A8, 0xEADED3AE]),
34 ("BA_MW_D.264", [0x7D5D351A, 0xD0616402, 0x94BF43A4, 0x3150FBCA]),
35 ("BANM_MW_D.264", [0xE637D38E, 0xD004DF35, 0x40218E3D, 0x84B43E42]),
36 ("BA1_FT_C.264", [0x8598CFC0, 0x6EDE33D4, 0xF24D8552, 0x28E5C8BB]),
37 ("NLMQ1_JVC_C.264", [0xFFCABB64, 0x192CED39, 0x90872B46, 0x70AF05EB]),
38 ("NLMQ2_JVC_C.264", [0x90B70FBA, 0xA5CA679E, 0xC9BF5E01, 0x1DDBA8F9]),
39 ("BAMQ1_JVC_C.264", [0x2F4F0B86, 0xC76F0356, 0x491CE56D, 0x6331E885]),
40 ("BAMQ2_JVC_C.264", [0xE3F5D5B0, 0x774B5537, 0x0745F2D0, 0x4F009575]),
41 ("SVA_Base_B.264", [0x97F3F1F5, 0xB4034C8A, 0xBC29EF43, 0xE752005C]),
42 ("SVA_FM1_E.264", [0x079F354D, 0xAC1204EE, 0x1C31DCAE, 0xD421E99C]),
43 ("BASQP1_Sony_C.jsv", [0x630F0900, 0x8D248A40, 0xC3E04F7E, 0x43351EC6]),
44 /*"FM1_BT_B.h264",
45 "FM2_SVA_C.264",
46 "FM1_FT_E.264",*/ //special slice modes
47 ("CI_MW_D.264", [0x0EB95292, 0xAD9FC21C, 0x89D93F8B, 0x049E451A]),
48 ("SVA_CL1_E.264", [0x5723A151, 0x8DE9FADC, 0xA7499C5B, 0xA34DA7C4]),
49 ("CI1_FT_B.264", [0x16F329D0, 0x196938FD, 0xB1AB2402, 0x5B208CFD]),
50 ("CVFC1_Sony_C.jsv", [0x4A8F8461, 0xD42A83C5, 0x126C4E5E, 0x5B2060D6]),
51 ("AUD_MW_E.264", [0xE96FE505, 0x4DE0329A, 0x8868D060, 0x03375CDB]),
52 ("MIDR_MW_D.264", [0xD87BFF88, 0xB2C5B96C, 0xCB291EF6, 0x8A45BBC2]),
53 ("NRF_MW_E.264", [0xA8635615, 0xB50C5A16, 0xDECC555A, 0x3C6C81C8]),
54 ("MPS_MW_A.264", [0x88BB5A51, 0x3BD7F3CC, 0x8190C7C0, 0x3688AB22]),
55 ("CVBS3_Sony_C.jsv", [0xC7794005, 0xC8DA6D8D, 0xEB435ECE, 0x07908055]),
56 ("BA3_SVA_C.264", [0xBF1AE77A, 0x094AA1E7, 0x5316BE72, 0x5B46EF1B]),
57 ("SL1_SVA_B.264", [0xA44D8BAF, 0x7290B175, 0xC59A308D, 0x5C0D1E4C]),
58 ("NL3_SVA_E.264", [0x428B0604, 0xFF02E0A0, 0x0DA08577, 0xDA0EEB76]),
59 ("cvmp_mot_frm0_full_B.26l", [0x9F43ED02, 0xC0C322E8, 0x9FCAB584, 0xC9B31EC4]),
60 // no direct mention
61 //"FM2_SVA_B.264", //special slice mode
62 ];
63 #[test]
64 fn test_h264_general() {
65 test_files(GENERAL_TEST_STREAMS);
66 }
67
68 const I_PCM_TEST_STREAMS: &[(&str, [u32; 4])] = &[
69 ("CVPCMNL1_SVA_C.264", [0x5C1FD0F6, 0x8E875200, 0x711FEBF1, 0xD683E58F]),
70 ("CVPCMNL2_SVA_C.264", [0xAF1F1DBE, 0x1DD6569C, 0xB02271F0, 0x53217D88]),
71 ];
72 #[test]
73 fn test_h264_ipcm() {
74 test_files(I_PCM_TEST_STREAMS);
75 }
76
77 const MMCO_TEST_STREAMS: &[(&str, [u32; 4])] = &[
78 ("MR1_BT_A.h264", [0x617BF915, 0x48E89440, 0xC899A917, 0xC73CF171]),
79 ("MR2_TANDBERG_E.264", [0x69C17B20, 0xDF6E89E6, 0x82BD82F1, 0x93B6D282]),
80 ("MR3_TANDBERG_B.264", [0xC8AAC175, 0xE5E73C68, 0x87EE02FF, 0x6DEA0F64]),
81 ("MR4_TANDBERG_C.264", [0xA40042BC, 0xAB00C341, 0xA9651725, 0x46d31A2C]),
82 ("MR5_TANDBERG_C.264", [0x999EAE2E, 0x016DB374, 0x708B00E4, 0x335AE723]),
83 ("MR1_MW_A.264", [0xDD56DC8E, 0x403B18EC, 0x57EB5B3A, 0xD834FFDE]),
84 ("MR2_MW_A.264", [0xE1E93E65, 0x96AF2EFD, 0x0E7D0FE5, 0x94D5BE85]),
85 /*"MR6_BT_B.h264",
86 "MR7_BT_B.h264",
87 "MR8_BT_B.h264",*/ // interlaced coding
88 ("HCBP1_HHI_A.264", [0x2AD73C01, 0x57EA7763, 0x0F0BDE82, 0x17E27DC2]),
89 ("HCBP2_HHI_A.264", [0x93F3C560, 0x42519B03, 0x1A4F03B1, 0xFD2C3A84]),
90 ];
91 #[test]
92 fn test_h264_mmco() {
93 test_files(MMCO_TEST_STREAMS);
94 }
95
96 const WP_TEST_STREAMS: &[(&str, [u32; 4])] = &[
97 ("CVWP5_TOSHIBA_E.264", [0x9663DA55, 0xE5EF516C, 0x8BF0CA0B, 0xCC0ABBB8]),
98 ("CVWP1_TOSHIBA_E.264", [0xE8868CA5, 0xE934AD77, 0x9132CDB3, 0xC71BE000]),
99 ("CVWP2_TOSHIBA_E.264", [0xD06C81B6, 0x31FD4381, 0xF5AFB345, 0x4AF650AC]),
100 ("CVWP3_TOSHIBA_E.264", [0x909A1FC8, 0x63D649CC, 0x4F091CBB, 0x058ADA78]),
101 ];
102 #[test]
103 fn test_h264_wp() {
104 test_files(WP_TEST_STREAMS);
105 }
106
107 /*const FIELD_CODING_TEST_STREAMS: &[(&str, [u32; 4])] = &[
108 "CVNLFI1_Sony_C.jsv",
109 "CVNLFI2_Sony_H.jsv",
110 "Sharp_MP_Field_1_B.jvt",
111 "Sharp_MP_Field_2_B.jvt",
112 "Sharp_MP_Field_3_B.jvt",
113 "CVFI1_Sony_D.jsv",
114 "CVFI2_Sony_H.jsv",
115 "FI1_Sony_E.jsv",
116 "CVFI1_SVA_C.264",
117 "CVFI2_SVA_C.264",
118 "cvmp_mot_fld0_full_B.26l",
119 "CVMP_MOT_FLD_L30_B.26l",
120 ];
121 #[test]
122 fn test_h264_field() {
123 test_files(FIELD_CODING_TEST_STREAMS);
124 }*/
125
126 /*const FRAME_FIELD_CODING_TEST_STREAMS: &[(&str, [u32; 4])] = &[
127 "Sharp_MP_PAFF_1r2.jvt",
128 "CVPA1_TOSHIBA_B.264",
129 "cvmp_mot_picaff0_full_B.26l",
130 ];
131 #[test]
132 fn test_h264_frame_field() {
133 test_files(FRAME_FIELD_CODING_TEST_STREAMS);
134 }*/
135
136 /*const MBAFF_TEST_STREAMS: &[(&str, [u32; 4])] = &[
137 "CVMANL1_TOSHIBA_B.264",
138 "CVMANL2_TOSHIBA_B.264",
139 "CVMA1_Sony_D.jsv",
140 "CVMA1_TOSHIBA_B.264",
141 "CVMAQP2_Sony_G.jsv",
142 "CVMAQP3_Sony_D.jsv",
143 "CVMAPAQP3_Sony_E.jsv",
144 "cvmp_mot_mbaff0_full_B.26l",
145 "CVMP_MOT_FRM_L31_B.26l",
146 ];
147 #[test]
148 fn test_h264_mbaff() {
149 test_files(MBAFF_CODING_TEST_STREAMS);
150 }*/
151
152 /*const S_PICTURE_TEST_STREAMS: &[(&str, [u32; 4])] = &[
153 "sp1_bt_a.h264",
154 "sp2_bt_b.h264",
155 ];
156 #[test]
157 fn test_h264_s_picture() {
158 test_files(S_PICTURE_TEST_STREAMS);
159 }*/
160
161 const LONG_SEQUENCE_TEST_STREAMS: &[(&str, [u32; 4])] = &[
162 ("LS_SVA_D.264", [0x9C53BE4B, 0x1DEDCD45, 0x98D30293, 0xF01C7BFE]),
163 ];
164 #[test]
165 fn test_h264_long_sequence() {
166 test_files(LONG_SEQUENCE_TEST_STREAMS);
167 }
168
169 const SEI_VUI_TEST_STREAMS: &[(&str, [u32; 4])] = &[
170 ("CVSE2_Sony_B.jsv", [0xDD660FB4, 0x07FEB42E, 0xCD3AF06B, 0x42FDA90D]),
171 ("CVSE3_Sony_H.jsv", [0x14DBB021, 0x2CC75879, 0xAA2C6282, 0x14FD2FFE]),
172 ("CVSEFDFT3_Sony_E.jsv", [0xABEDFA7A, 0xAAAADE32, 0xE5E5CF35, 0x9A0DE4EA]),
173 ];
174 #[test]
175 fn test_h264_sei_vui() {
176 test_files(SEI_VUI_TEST_STREAMS);
177 }
178
179 const CABAC_TEST_STREAMS: &[(&str, [u32; 4])] = &[
180 ("CANL1_TOSHIBA_G.264", [0xAFA07274, 0x6B16BD96, 0xF3152B45, 0xE2F2881E]),
181 ("CANL1_Sony_E.jsv", [0x27F1D5D3, 0x89E110FC, 0x320788BF, 0x78006DB0]),
182 ("CANL2_Sony_E.jsv", [0x3A28438E, 0x3E0795DE, 0xAED795FC, 0xFEFBC833]),
183 ("CANL3_Sony_C.jsv", [0xFE2DC3CB, 0xA055044C, 0x739911B0, 0xE6AA66BA]),
184 ("CANL1_SVA_B.264", [0xB02DEFCB, 0x741C0E98, 0x2313C574, 0x9F2008ED]),
185 ("CANL2_SVA_B.264", [0xB02DEFCB, 0x741C0E98, 0x2313C574, 0x9F2008ED]),
186 ("CANL3_SVA_B.264", [0x04A6DE98, 0x4EF88D1B, 0x8C1B26FC, 0x8F33A425]),
187 ("CANL4_SVA_B.264", [0x19cee0ac, 0xcfbebacc, 0x57aa4cf0, 0x3e4ef26d]),
188 ("CABA1_Sony_D.jsv", [0x24B155A4, 0x00DC10D1, 0x1D45A3AA, 0xDF61AE25]),
189 ("CABA2_Sony_E.jsv", [0x3731F0F1, 0xACE3AD91, 0x76093A7B, 0x46347CEA]),
190 ("CABA3_Sony_C.jsv", [0x873A96BF, 0x9359056B, 0x3BF8D878, 0x469B0106]),
191 ("CABA3_TOSHIBA_E.264", [0x13651D01, 0xC5B533E6, 0xB7AA132B, 0xAE7669ED]),
192 ("CABA1_SVA_B.264", [0x2F5CABD5, 0xBB4954C0, 0x386CAFD8, 0xA9AA782A]),
193 ("CABA2_SVA_B.264", [0x6D4277A7, 0xFC70ED1F, 0xBE3C5F10, 0xB0A70671]),
194 ("CABA3_SVA_B.264", [0x0F6066DD, 0xFAED6801, 0x8B3FEE8C, 0xFE8A2E1D]),
195 ("camp_mot_frm0_full.26l", [0x22D837CA, 0x60037CC6, 0xA73AF607, 0x969E5422]),
196 ];
197 #[test]
198 fn test_h264_cabac() {
199 test_files(CABAC_TEST_STREAMS);
200 }
201
202 const CABAC_INIT_TEST_STREAMS: &[(&str, [u32; 4])] = &[
203 ("CABACI3_Sony_B.jsv", [0x5AFF6524, 0xAE5642C9, 0xE26D44CC, 0xE5BFBF02]),
204 ];
205 #[test]
206 fn test_h264_cabac_init() {
207 test_files(CABAC_INIT_TEST_STREAMS);
208 }
209
210 const CABAC_MB_QPTEST_STREAMS: &[(&str, [u32; 4])] = &[
211 ("CAQP1_Sony_B.jsv", [0xCAC07EAA, 0xBD141764, 0xD64CF9DE, 0x0230A92E]),
212 ("CACQP3_Sony_D.jsv", [0x9E3036F3, 0x79705C9C, 0x32E37D44, 0xF66E5B3A]),
213 ];
214 #[test]
215 fn test_h264_cabac_mb_qp() {
216 test_files(CABAC_MB_QPTEST_STREAMS);
217 }
218
219 const CABAC_SLICE_TEST_STREAMS: &[(&str, [u32; 4])] = &[
220 ("CABAST3_Sony_E.jsv", [0xDDA7F376, 0xA040B262, 0x79F6C7FB, 0x04E078BA]),
221 ("CABASTBR3_Sony_B.jsv", [0xE3A61D43, 0xCED165BC, 0xB9A745E0, 0x52F9A2A6]),
222 ];
223 #[test]
224 fn test_h264_cabac_slice() {
225 test_files(CABAC_SLICE_TEST_STREAMS);
226 }
227
228 const CABAC_I_PCM_TEST_STREAMS: &[(&str, [u32; 4])] = &[
229 ("CAPCMNL1_Sand_E.264", [0xEE9968EE, 0xEFE935F0, 0x45C6B70B, 0xE51691EB]),
230 ("CAPCM1_Sand_E.264", [0xCA073CA1, 0x06E70D5C, 0xD51F6748, 0x5846A5B1]),
231 ("CAPM3_Sony_D.jsv", [0xEA5C66FB, 0xD81D8A80, 0xFC876482, 0xF6A2DEC7]),
232 ];
233 #[test]
234 fn test_h264_cabac_ipcm() {
235 test_files(CABAC_I_PCM_TEST_STREAMS);
236 }
237
238 const CABAC_MMCO_TEST_STREAMS: &[(&str, [u32; 4])] = &[
239 /*"MR9_BT_B.h264",*/ //MBAFF
240 ("HCMP1_HHI_A.264", [0x18486B98, 0xA55E03D3, 0x8F57EF2B, 0x031FA660]),
241 ];
242 #[test]
243 fn test_h264_cabac_mmco() {
244 test_files(CABAC_MMCO_TEST_STREAMS);
245 }
246
247 const CABAC_WP_TEST_STREAMS: &[(&str, [u32; 4])] = &[
248 ("CAWP1_TOSHIBA_E.264", [0x87946607, 0xD1D774C2, 0xDA8EC863, 0x2710C84A]),
249 ("CAWP5_TOSHIBA_E.264", [0x9663DA55, 0xE5EF516C, 0x8BF0CA0B, 0xCC0ABBB8]),
250 ];
251 #[test]
252 fn test_h264_cabac_wp() {
253 test_files(CABAC_WP_TEST_STREAMS);
254 }
255
256 /*const CABAC_FIELD_TEST_STREAMS: &[(&str, [u32; 4])] = &[
257 "CABREF3_Sand_D.264",
258 "CAFI1_SVA_C.264",
259 "camp_mot_fld0_full.26l",
260 ];
261 #[test]
262 fn test_h264_cabac_field_() {
263 test_files(CABAC_FIELD_TEST_STREAMS);
264 }*/
265
266 /*const CABAC_FIELD_FRAME_TEST_STREAMS: &[(&str, [u32; 4])] = &[
267 "Sharp_MP_PAFF_2.jvt",
268 "CAPA1_TOSHIBA_B.264",
269 "camp_mot_picaff0_full.26l",
270 ];
271 #[test]
272 fn test_h264_cabac_field_frame() {
273 test_files(CABAC_FIELD_FRAMETEST_STREAMS);
274 }*/
275
276 /*const CABAC_MBAFF_TEST_STREAMS: &[(&str, [u32; 4])] = &[
277 "CAMANL1_TOSHIBA_B.264",
278 "CAMANL2_TOSHIBA_B.264",
279 "CANLMA2_Sony_C.jsv",
280 "CANLMA3_Sony_C.jsv",
281 "CAMA1_Sony_C.jsv",
282 "CAMA1_TOSHIBA_B.264",
283 "CAMANL3_Sand_E.264",
284 "CAMA3_Sand_E.264",
285 "CAMASL3_Sony_B.jsv",
286 "CAMACI3_Sony_C.jsv",
287 "camp_mot_mbaff0_full.26l",
288 "CAMP_MOT_MBAFF_L30.26l",
289 "CAMP_MOT_MBAFF_L31.26l",
290 "CAPAMA3_Sand_F.264",
291 "cama1_vtc_c.avc",
292 "cama2_vtc_b.avc",
293 "cama3_vtc_b.avc",
294 ];
295 #[test]
296 fn test_h264_cabac_mbaff() {
297 test_files(CABAC_MBAFF_TEST_STREAMS);
298 }*/
299
300 /*const CABAC_CAVLC_TEST_STREAMS: &[(&str, [u32; 4])] = &[
301 "CVCANLMA2_Sony_C.jsv",
302 ];
303 #[test]
304 fn test_h264_cabac_cavlc() {
305 test_files(CABAC_CAVLC_TEST_STREAMS);
306 }*/ // contains MBAFF
307
308 const CABAC_PRED_BW_TEST_STREAMS: &[(&str, [u32; 4])] = &[
309 ("src19td.IBP.264", [0x45C0D420, 0x524779D5, 0xF5D8F8D1, 0xFB02218B]),
310 ];
311 #[test]
312 fn test_h264_cabac_pred_bw() {
313 test_files(CABAC_PRED_BW_TEST_STREAMS);
314 }
315
316 const FREXT_420_8_TEST_STREAMS: &[(&str, [u32; 4])] = &[
317 ("FRext/FRExt1_Panasonic.avc", [0x2383599D, 0xA01FAE95, 0xCEE2C970, 0xD88CFA93]),
318 ("FRext/FRExt3_Panasonic.avc", [0x3C85643C, 0xE98FD834, 0xA1DA2600, 0x0307F1AF]),
319 ("FRext/HCAFR1_HHI.264", [0xB5B74CA7, 0xBA23DFA4, 0xEF89E066, 0x299EC511]),
320 //("FRext/HCAFF1_HHI.264", [0;4]), //PAFF
321 //("FRext/HCAMFF1_HHI.264", [0;4]), //MBAFF
322 //("FRext/FRExt2_Panasonic.avc", [0;4]), //PAFF
323 //("FRext/FRExt4_Panasonic.avc", [0;4]), //MBAFF
324 ("FRext/HPCANL_BRCM_C.264", [0x8B11529D, 0x9FF96CB8, 0xACC7EDCD, 0x81EDB1E6]),
325 ("FRext/HPCA_BRCM_C.264", [0xC38BCFE1, 0xC5A6A1BF, 0x54F08947, 0x23943FAE]),
326 /*("FRext/HPCAFLNL_BRCM_C.264", [0;4]), //PAFF
327 ("FRext/HPCAFL_BRCM_C.264", [0;4]),*/
328 ("FRext/HCAFR2_HHI.264", [0x0CBD7BBF, 0xE29B3C53, 0x64CF3F10, 0x34B1FF5A]),
329 ("FRext/HCAFR3_HHI.264", [0x5842BBA0, 0x6C01267B, 0xB093FD66, 0xD36CBA66]),
330 ("FRext/HCAFR4_HHI.264", [0x6E80B189, 0xAAE83055, 0x6F51F4EE, 0xC3BEE5C8]),
331 ("FRext/HPCADQ_BRCM_B.264", [0x976A176F, 0x89296F2B, 0x14F2141D, 0x74D684BB]),
332 ("FRext/HPCALQ_BRCM_B.264", [0x976A176F, 0x89296F2B, 0x14F2141D, 0x74D684BB]),
333 //("FRext/HPCAMAPALQ_BRCM_B.264", [0;4]), //MBAFF
334 ("FRext/HPCV_BRCM_A.264", [0xEB0EBC5D, 0xA5996EE1, 0x5F6B290F, 0x4F372F21]),
335 ("FRext/HPCVNL_BRCM_A.264", [0x441E6C4F, 0x861B69E6, 0xC007EEFB, 0x820D6494]),
336 /*("FRext/HPCVFL_BRCM_A.264", [0;4]), //PAFF
337 ("FRext/HPCVFLNL_BRCM_A.264", [0;4]),*/
338 //("FRext/HPCVMOLQ_BRCM_B.264", [0;4]), //grayscale
339 //("FRext/HPCAMOLQ_BRCM_B.264", [0;4]), //grayscale
340 ("FRext/HPCAQ2LQ_BRCM_B.264", [0xEF0F86EC, 0x8C1C79BA, 0xFA5DFB57, 0x85C2C4FC]),
341 ("FRext/Freh1_B.264", [0x852901B5, 0xC0F54669, 0xD32B9487, 0x40A2BAD9]),
342 ("FRext/Freh2_B.264", [0x28432234, 0x311A2C63, 0x6FE630A8, 0x007AA51E]),
343 ("FRext/freh3.264", [0x94A77E3E, 0xAE7391C7, 0x555071A9, 0xFD67FB69]),
344 //("FRext/freh4.264", [0;4]), //PAFF
345 //("FRext/freh5.264", [0;4]), //MBAFF
346 //("FRext/freh6.264", [0;4]), //PAFF
347 //("FRext/Freh7_B.264", [0;4]), //PAFF
348 ("FRext/freh8.264", [0x300C9E08, 0xED69F361, 0xF46A3BF5, 0x79D37EF1]),
349 ("FRext/freh9.264", [0x8B3C12A3, 0xC244D147, 0xD71A4F0E, 0x7109393D]),
350 //("FRext/freh10.264", [0;4]), //PAFF
351 //("FRext/freh11.264", [0;4]), //PAFF
352 ("FRext/Freh12_B.264", [0x73DEE4EE, 0x216B40CB, 0xF7647E2B, 0xCD2BBBD3]),
353 /*("FRext/FREXT01_JVC_D.264", [0;4]), //MBAFF
354 ("FRext/FREXT02_JVC_C.264", [0;4]),*/
355 ("FRext/FRExt_MMCO4_Sony_B.264", [0xD4048185, 0xA358D7E7, 0x95EA950D, 0x27C66788]),
356
357 ("FRext/test8b43.264", [0x921C816C, 0x14170EAD, 0x03C19C5C, 0x9ED3C0A4]),
358 ];
359 #[test]
360 fn test_h264_frext_420_8() {
361 test_files(FREXT_420_8_TEST_STREAMS);
362 }
363
364 /*const FREXT_420_10I_TEST_STREAMS: &[(&str, [u32; 4])] = &[
365 "FRext/PPH10I1_Panasonic_A.264",
366 "FRext/PPH10I2_Panasonic_A.264",
367 "FRext/PPH10I3_Panasonic_A.264",
368 "FRext/PPH10I4_Panasonic_A.264",
369 "FRext/PPH10I5_Panasonic_A.264",
370 "FRext/PPH10I6_Panasonic_A.264",
371 "FRext/PPH10I7_Panasonic_A.264",
372 ];
373 #[test]
374 fn test_h264_frext_420_10i() {
375 test_files(FREXT_420_10I_TEST_STREAMS);
376 }*/