3
# automatic regression test for avconv
10
. $(dirname $0)/regression-funcs.sh
14
# generate reference for quality check
15
if [ -n "$do_vref" ]; then
16
do_avconv $raw_ref -f image2 -vcodec pgmyuv -i $raw_src -an -f rawvideo
18
if [ -n "$do_aref" ]; then
19
do_avconv $pcm_ref -b 128k -ac 2 -ar 44100 -f s16le -i $pcm_src -f wav
22
if [ -n "$do_cljr" ] ; then
23
do_video_encoding cljr.avi "-an -vcodec cljr"
27
if [ -n "$do_mpeg" ] ; then
29
do_video_encoding mpeg1.mpg "-qscale 10 -f mpeg1video"
33
if [ -n "$do_mpeg2" ] ; then
35
do_video_encoding mpeg2.mpg "-qscale 10 -vcodec mpeg2video -f mpeg1video"
39
if [ -n "$do_mpeg2_ivlc_qprd" ]; then
40
# mpeg2 encoding intra vlc qprd
41
do_video_encoding mpeg2ivlc-qprd.mpg "-vb 500k -bf 2 -trellis 1 -flags +qprd+mv0 -flags2 +ivlc -cmp 2 -subcmp 2 -mbd rd -vcodec mpeg2video -f mpeg2video"
45
if [ -n "$do_mpeg2_422" ]; then
47
do_video_encoding mpeg2_422.mpg "-vb 1000k -bf 2 -trellis 1 -flags +qprd+mv0+ildct+ilme -flags2 +ivlc -mbd rd -vcodec mpeg2video -pix_fmt yuv422p -f mpeg2video"
51
if [ -n "$do_mpeg2_idct_int" ]; then
53
do_video_encoding mpeg2_idct_int.mpg "-qscale 10 -vcodec mpeg2video -idct int -dct int -f mpeg1video"
54
do_video_decoding "-idct int"
57
if [ -n "$do_mpeg2_ilace" ]; then
58
# mpeg2 encoding interlaced
59
do_video_encoding mpeg2i.mpg "-qscale 10 -vcodec mpeg2video -f mpeg1video -flags +ildct+ilme"
63
if [ -n "$do_mpeg2thread" ] ; then
64
# mpeg2 encoding interlaced
65
do_video_encoding mpeg2thread.mpg "-qscale 10 -vcodec mpeg2video -f mpeg1video -bf 2 -flags +ildct+ilme -threads 2 -slices 2"
69
if [ -n "$do_mpeg2thread_ilace" ]; then
70
# mpeg2 encoding interlaced using intra vlc
71
do_video_encoding mpeg2threadivlc.mpg "-qscale 10 -vcodec mpeg2video -f mpeg1video -bf 2 -flags +ildct+ilme -flags2 +ivlc -threads 2 -slices 2"
75
if [ -n "$do_msmpeg4v2" ] ; then
76
do_video_encoding msmpeg4v2.avi "-qscale 10 -an -vcodec msmpeg4v2"
80
if [ -n "$do_msmpeg4" ] ; then
81
do_video_encoding msmpeg4.avi "-qscale 10 -an -vcodec msmpeg4"
85
if [ -n "$do_wmv1" ] ; then
86
do_video_encoding wmv1.avi "-qscale 10 -an -vcodec wmv1"
90
if [ -n "$do_wmv2" ] ; then
91
do_video_encoding wmv2.avi "-qscale 10 -an -vcodec wmv2"
95
if [ -n "$do_h261" ] ; then
96
do_video_encoding h261.avi "-qscale 11 -s 352x288 -an -vcodec h261"
100
if [ -n "$do_h263" ] ; then
101
do_video_encoding h263.avi "-qscale 10 -s 352x288 -an -vcodec h263"
105
if [ -n "$do_h263p" ] ; then
106
do_video_encoding h263p.avi "-qscale 2 -flags +umv+aiv+aic -s 352x288 -an -vcodec h263p -ps 300"
110
if [ -n "$do_mpeg4" ] ; then
111
do_video_encoding odivx.mp4 "-flags +mv4 -mbd bits -qscale 10 -an -vcodec mpeg4"
115
if [ -n "$do_huffyuv" ] ; then
116
do_video_encoding huffyuv.avi "-an -vcodec huffyuv -pix_fmt yuv422p -sws_flags neighbor+bitexact"
117
do_video_decoding "" "-strict -2 -pix_fmt yuv420p -sws_flags neighbor+bitexact"
120
if [ -n "$do_rc" ] ; then
121
do_video_encoding mpeg4-rc.avi "-b 400k -bf 2 -an -vcodec mpeg4"
125
if [ -n "$do_mpeg4adv" ] ; then
126
do_video_encoding mpeg4-adv.avi "-qscale 9 -flags +mv4+part+aic -trellis 1 -mbd bits -ps 200 -an -vcodec mpeg4"
130
if [ -n "$do_mpeg4_qprd" ]; then
131
do_video_encoding mpeg4-qprd.avi "-b 450k -bf 2 -trellis 1 -flags +mv4+qprd+mv0 -cmp 2 -subcmp 2 -mbd rd -an -vcodec mpeg4"
135
if [ -n "$do_mpeg4_adap" ]; then
136
do_video_encoding mpeg4-adap.avi "-b 550k -bf 2 -flags +mv4+mv0 -trellis 1 -cmp 1 -subcmp 2 -mbd rd -scplx_mask 0.3 -an -vcodec mpeg4"
140
if [ -n "$do_mpeg4_qpel" ]; then
141
do_video_encoding mpeg4-Q.avi "-qscale 7 -flags +mv4+qpel -mbd 2 -bf 2 -cmp 1 -subcmp 2 -an -vcodec mpeg4"
145
if [ -n "$do_mpeg4thread" ] ; then
146
do_video_encoding mpeg4-thread.avi "-b 500k -flags +mv4+part+aic -trellis 1 -mbd bits -ps 200 -bf 2 -an -vcodec mpeg4 -threads 2 -slices 2"
150
if [ -n "$do_error" ] ; then
151
do_video_encoding error-mpeg4-adv.avi "-qscale 7 -flags +mv4+part+aic -mbd rd -ps 250 -error 10 -an -vcodec mpeg4"
155
if [ -n "$do_mpeg4nr" ] ; then
156
do_video_encoding mpeg4-nr.avi "-qscale 8 -flags +mv4 -mbd rd -nr 200 -an -vcodec mpeg4"
160
if [ -n "$do_mpeg1b" ] ; then
161
do_video_encoding mpeg1b.mpg "-qscale 8 -bf 3 -ps 200 -an -vcodec mpeg1video -f mpeg1video"
165
if [ -n "$do_mjpeg" ] ; then
166
do_video_encoding mjpeg.avi "-qscale 9 -an -vcodec mjpeg -pix_fmt yuvj420p"
167
do_video_decoding "" "-pix_fmt yuv420p"
170
if [ -n "$do_ljpeg" ] ; then
171
do_video_encoding ljpeg.avi "-an -vcodec ljpeg -strict -1"
175
if [ -n "$do_jpegls" ] ; then
176
do_video_encoding jpegls.avi "-an -vcodec jpegls -vtag MJPG -sws_flags neighbor+full_chroma_int+accurate_rnd+bitexact"
177
do_video_decoding "" "-pix_fmt yuv420p -sws_flags area+bitexact"
180
if [ -n "$do_rv10" ] ; then
181
do_video_encoding rv10.rm "-qscale 10 -an"
185
if [ -n "$do_rv20" ] ; then
186
do_video_encoding rv20.rm "-qscale 10 -vcodec rv20 -an"
190
if [ -n "$do_asv1" ] ; then
191
do_video_encoding asv1.avi "-qscale 10 -an -vcodec asv1"
195
if [ -n "$do_asv2" ] ; then
196
do_video_encoding asv2.avi "-qscale 10 -an -vcodec asv2"
200
if [ -n "$do_flv" ] ; then
201
do_video_encoding flv.flv "-qscale 10 -an -vcodec flv"
205
if [ -n "$do_ffv1" ] ; then
206
do_video_encoding ffv1.avi "-strict -2 -an -vcodec ffv1"
210
if [ -n "$do_snow" ] ; then
211
do_video_encoding snow.avi "-strict -2 -an -vcodec snow -qscale 2 -flags +qpel -me_method iter -dia_size 2 -cmp 12 -subcmp 12 -s 128x64"
212
do_video_decoding "" "-s 352x288"
215
if [ -n "$do_snowll" ] ; then
216
do_video_encoding snow53.avi "-strict -2 -an -vcodec snow -qscale .001 -pred 1 -flags +mv4+qpel"
220
if [ -n "$do_dv" ] ; then
221
do_video_encoding dv.dv "-dct int -s pal -an"
222
do_video_decoding "" "-s cif"
225
if [ -n "$do_dv_411" ]; then
226
do_video_encoding dv411.dv "-dct int -s pal -an -pix_fmt yuv411p -sws_flags area+accurate_rnd+bitexact"
227
do_video_decoding "" "-s cif -sws_flags area+accurate_rnd+bitexact"
230
if [ -n "$do_dv50" ] ; then
231
do_video_encoding dv50.dv "-dct int -s pal -pix_fmt yuv422p -an -sws_flags neighbor+bitexact"
232
do_video_decoding "" "-s cif -pix_fmt yuv420p -sws_flags neighbor+bitexact"
235
if [ -n "$do_dnxhd_1080i" ] ; then
236
# FIXME: interlaced raw DNxHD decoding is broken
237
do_video_encoding dnxhd-1080i.mov "-vcodec dnxhd -flags +ildct -s hd1080 -b 120M -pix_fmt yuv422p -vframes 5 -an"
238
do_video_decoding "" "-s cif -pix_fmt yuv420p"
241
if [ -n "$do_dnxhd_720p" ] ; then
242
do_video_encoding dnxhd-720p.dnxhd "-s hd720 -b 90M -pix_fmt yuv422p -vframes 5 -an"
243
do_video_decoding "" "-s cif -pix_fmt yuv420p"
246
if [ -n "$do_dnxhd_720p_rd" ] ; then
247
do_video_encoding dnxhd-720p-rd.dnxhd "-threads 4 -mbd rd -s hd720 -b 90M -pix_fmt yuv422p -vframes 5 -an"
248
do_video_decoding "" "-s cif -pix_fmt yuv420p"
251
if [ -n "$do_dnxhd_720p_10bit" ] ; then
252
do_video_encoding dnxhd-720p-10bit.dnxhd "-s hd720 -b 90M -pix_fmt yuv422p10 -vframes 5 -an"
253
do_video_decoding "" "-s cif -pix_fmt yuv420p"
256
if [ -n "$do_svq1" ] ; then
257
do_video_encoding svq1.mov "-an -vcodec svq1 -qscale 3 -pix_fmt yuv410p"
258
do_video_decoding "" "-pix_fmt yuv420p"
261
if [ -n "$do_flashsv" ] ; then
262
do_video_encoding flashsv.flv "-an -vcodec flashsv -sws_flags neighbor+full_chroma_int+accurate_rnd+bitexact"
263
do_video_decoding "" "-pix_fmt yuv420p -sws_flags area+accurate_rnd+bitexact"
266
if [ -n "$do_roq" ] ; then
267
do_video_encoding roqav.roq "-vframes 5"
268
do_video_decoding "" "-pix_fmt yuv420p"
271
if [ -n "$do_qtrle" ] ; then
272
do_video_encoding qtrle.mov "-an -vcodec qtrle"
273
do_video_decoding "" "-pix_fmt yuv420p"
276
if [ -n "$do_rgb" ] ; then
277
do_video_encoding rgb.avi "-an -vcodec rawvideo -pix_fmt bgr24"
278
do_video_decoding "" "-pix_fmt yuv420p"
281
if [ -n "$do_v210" ] ; then
282
do_video_encoding v210.avi "-an -c:v v210"
283
do_video_decoding "" "-pix_fmt yuv420p"
286
if [ -n "$do_yuv" ] ; then
287
do_video_encoding yuv.avi "-an -vcodec rawvideo -pix_fmt yuv420p"
288
do_video_decoding "" "-pix_fmt yuv420p"
291
if [ -n "$do_mp2" ] ; then
292
do_audio_encoding mp2.mp2
294
$tiny_psnr $pcm_dst $pcm_ref 2 1924
297
if [ -n "$do_ac3_fixed" ] ; then
298
do_audio_encoding ac3.rm "-vn -acodec ac3_fixed"
299
# binaries configured with --disable-sse decode ac3 differently
301
#$tiny_psnr $pcm_dst $pcm_ref 2 1024
304
if [ -n "$do_g722" ] ; then
305
do_audio_encoding g722.wav "-b 64k -ac 1 -ar 16000 -acodec g722"
309
if [ -n "$do_g726" ] ; then
310
do_audio_encoding g726.wav "-b 32k -ac 1 -ar 8000 -acodec g726"
314
if [ -n "$do_adpcm_adx" ] ; then
315
do_audio_encoding adpcm_adx.adx "-acodec adpcm_adx"
319
if [ -n "$do_adpcm_ima_wav" ] ; then
320
do_audio_encoding adpcm_ima.wav "-acodec adpcm_ima_wav"
324
if [ -n "$do_adpcm_ima_qt" ] ; then
325
do_audio_encoding adpcm_qt.aiff "-acodec adpcm_ima_qt"
329
if [ -n "$do_adpcm_ms" ] ; then
330
do_audio_encoding adpcm_ms.wav "-acodec adpcm_ms"
334
if [ -n "$do_adpcm_yam" ] ; then
335
do_audio_encoding adpcm_yam.wav "-acodec adpcm_yamaha"
339
if [ -n "$do_adpcm_swf" ] ; then
340
do_audio_encoding adpcm_swf.flv "-acodec adpcm_swf"
344
if [ -n "$do_alac" ] ; then
345
do_audio_encoding alac.m4a "-acodec alac -compression_level 1"
349
if [ -n "$do_flac" ] ; then
350
do_audio_encoding flac.flac "-acodec flac -compression_level 2"
354
if [ -n "$do_wmav1" ] ; then
355
do_audio_encoding wmav1.asf "-acodec wmav1"
356
do_avconv_nomd5 $pcm_dst $DEC_OPTS -i $target_path/$file -f wav
357
$tiny_psnr $pcm_dst $pcm_ref 2 8192
359
if [ -n "$do_wmav2" ] ; then
360
do_audio_encoding wmav2.asf "-acodec wmav2"
361
do_avconv_nomd5 $pcm_dst $DEC_OPTS -i $target_path/$file -f wav
362
$tiny_psnr $pcm_dst $pcm_ref 2 8192
365
#if [ -n "$do_vorbis" ] ; then
367
#disabled because it is broken
368
#do_audio_encoding vorbis.asf "-acodec vorbis"
373
do_audio_encoding $3.$1 "$4 -sample_fmt $2 -acodec $3"
377
if [ -n "$do_pcm_alaw" ] ; then
378
do_audio_enc_dec wav s16 pcm_alaw
380
if [ -n "$do_pcm_mulaw" ] ; then
381
do_audio_enc_dec wav s16 pcm_mulaw
383
if [ -n "$do_pcm_s8" ] ; then
384
do_audio_enc_dec mov u8 pcm_s8
386
if [ -n "$do_pcm_u8" ] ; then
387
do_audio_enc_dec wav u8 pcm_u8
389
if [ -n "$do_pcm_s16be" ] ; then
390
do_audio_enc_dec mov s16 pcm_s16be
392
if [ -n "$do_pcm_s16le" ] ; then
393
do_audio_enc_dec wav s16 pcm_s16le
395
if [ -n "$do_pcm_s24be" ] ; then
396
do_audio_enc_dec mov s32 pcm_s24be
398
if [ -n "$do_pcm_s24le" ] ; then
399
do_audio_enc_dec wav s32 pcm_s24le
401
# no compatible muxer or demuxer
402
# if [ -n "$do_pcm_u24be" ] ; then
403
# do_audio_enc_dec ??? u32 pcm_u24be
405
# if [ -n "$do_pcm_u24le" ] ; then
406
# do_audio_enc_dec ??? u32 pcm_u24le
408
if [ -n "$do_pcm_s32be" ] ; then
409
do_audio_enc_dec mov s32 pcm_s32be
411
if [ -n "$do_pcm_s32le" ] ; then
412
do_audio_enc_dec wav s32 pcm_s32le
414
# no compatible muxer or demuxer
415
# if [ -n "$do_pcm_u32be" ] ; then
416
# do_audio_enc_dec ??? u32 pcm_u32be
418
# if [ -n "$do_pcm_u32le" ] ; then
419
# do_audio_enc_dec ??? u32 pcm_u32le
421
if [ -n "$do_pcm_f32be" ] ; then
422
do_audio_enc_dec au flt pcm_f32be
424
if [ -n "$do_pcm_f32le" ] ; then
425
do_audio_enc_dec wav flt pcm_f32le
427
if [ -n "$do_pcm_f64be" ] ; then
428
do_audio_enc_dec au dbl pcm_f64be
430
if [ -n "$do_pcm_f64le" ] ; then
431
do_audio_enc_dec wav dbl pcm_f64le
433
if [ -n "$do_pcm_s24daud" ] ; then
434
do_audio_enc_dec 302 s16 pcm_s24daud "-ac 6 -ar 96000"