ffmpeg / tests / lavf-regression.sh @ e8723e24
History | View | Annotate | Download (4.79 KB)
1 |
#!/bin/sh |
---|---|
2 |
# |
3 |
# automatic regression test for libavformat |
4 |
# |
5 |
# |
6 |
#set -x |
7 |
|
8 |
set -e |
9 |
|
10 |
. $(dirname $0)/regression-funcs.sh |
11 |
|
12 |
eval do_$test=y |
13 |
|
14 |
do_lavf() |
15 |
{ |
16 |
file=${outfile}lavf.$1 |
17 |
do_ffmpeg $file -t 1 -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src -f s16le -i $pcm_src $2 |
18 |
do_ffmpeg_crc $file -i $target_path/$file $3 |
19 |
} |
20 |
|
21 |
do_streamed_images() |
22 |
{ |
23 |
file=${outfile}${1}pipe.$1 |
24 |
do_ffmpeg $file -t 1 -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src -f image2pipe |
25 |
do_ffmpeg_crc $file -f image2pipe -i $target_path/$file |
26 |
} |
27 |
|
28 |
do_image_formats() |
29 |
{ |
30 |
outfile="$datadir/images/$1/" |
31 |
mkdir -p "$outfile" |
32 |
file=${outfile}%02d.$1 |
33 |
$echov $ffmpeg -t 0.5 -y -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src $2 $3 -flags +bitexact -sws_flags +accurate_rnd+bitexact $target_path/$file |
34 |
$ffmpeg -t 0.5 -y -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src $2 $3 -flags +bitexact -sws_flags +accurate_rnd+bitexact $target_path/$file |
35 |
do_md5sum ${outfile}02.$1 >> $logfile |
36 |
do_ffmpeg_crc $file $3 -i $target_path/$file |
37 |
wc -c ${outfile}02.$1 >> $logfile |
38 |
} |
39 |
|
40 |
do_audio_only() |
41 |
{ |
42 |
file=${outfile}lavf.$1 |
43 |
do_ffmpeg $file -t 1 -qscale 10 -f s16le -i $pcm_src |
44 |
do_ffmpeg_crc $file -i $target_path/$file |
45 |
} |
46 |
|
47 |
rm -f "$logfile" |
48 |
rm -f "$benchfile" |
49 |
|
50 |
if [ -n "$do_avi" ] ; then |
51 |
do_lavf avi |
52 |
fi |
53 |
|
54 |
if [ -n "$do_asf" ] ; then |
55 |
do_lavf asf "-acodec mp2" "-r 25" |
56 |
fi |
57 |
|
58 |
if [ -n "$do_rm" ] ; then |
59 |
file=${outfile}lavf.rm |
60 |
do_ffmpeg $file -t 1 -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src -f s16le -i $pcm_src |
61 |
# broken |
62 |
#do_ffmpeg_crc $file -i $target_path/$file |
63 |
fi |
64 |
|
65 |
if [ -n "$do_mpg" ] ; then |
66 |
do_lavf mpg |
67 |
fi |
68 |
|
69 |
if [ -n "$do_mxf" ] ; then |
70 |
do_lavf mxf "-ar 48000 -bf 2 -timecode_frame_start 264363" |
71 |
do_lavf mxf_d10 "-ar 48000 -ac 2 -r 25 -s 720x576 -vf pad=720:608:0:32 -vcodec mpeg2video -intra -flags +ildct+low_delay -dc 10 -flags2 +ivlc+non_linear_q -qscale 1 -ps 1 -qmin 1 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -pix_fmt yuv422p -minrate 30000k -maxrate 30000k -b 30000k -bufsize 1200000 -top 1 -rc_init_occupancy 1200000 -qmax 12 -f mxf_d10" |
72 |
fi |
73 |
|
74 |
if [ -n "$do_ts" ] ; then |
75 |
do_lavf ts |
76 |
fi |
77 |
|
78 |
if [ -n "$do_swf" ] ; then |
79 |
do_lavf swf -an |
80 |
fi |
81 |
|
82 |
if [ -n "$do_ffm" ] ; then |
83 |
do_lavf ffm |
84 |
fi |
85 |
|
86 |
if [ -n "$do_flv_fmt" ] ; then |
87 |
do_lavf flv -an |
88 |
fi |
89 |
|
90 |
if [ -n "$do_mov" ] ; then |
91 |
do_lavf mov "-acodec pcm_alaw" |
92 |
fi |
93 |
|
94 |
if [ -n "$do_dv_fmt" ] ; then |
95 |
do_lavf dv "-ar 48000 -r 25 -s pal -ac 2" |
96 |
fi |
97 |
|
98 |
if [ -n "$do_gxf" ] ; then |
99 |
do_lavf gxf "-ar 48000 -r 25 -s pal -ac 1" |
100 |
fi |
101 |
|
102 |
if [ -n "$do_nut" ] ; then |
103 |
do_lavf nut "-acodec mp2" |
104 |
fi |
105 |
|
106 |
if [ -n "$do_mkv" ] ; then |
107 |
do_lavf mkv |
108 |
fi |
109 |
|
110 |
|
111 |
# streamed images |
112 |
# mjpeg |
113 |
#file=${outfile}lavf.mjpeg |
114 |
#do_ffmpeg $file -t 1 -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src |
115 |
#do_ffmpeg_crc $file -i $target_path/$file |
116 |
|
117 |
if [ -n "$do_pbmpipe" ] ; then |
118 |
do_streamed_images pbm |
119 |
fi |
120 |
|
121 |
if [ -n "$do_pgmpipe" ] ; then |
122 |
do_streamed_images pgm |
123 |
fi |
124 |
|
125 |
if [ -n "$do_ppmpipe" ] ; then |
126 |
do_streamed_images ppm |
127 |
fi |
128 |
|
129 |
if [ -n "$do_gif" ] ; then |
130 |
file=${outfile}lavf.gif |
131 |
do_ffmpeg $file -t 1 -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src -pix_fmt rgb24 |
132 |
#do_ffmpeg_crc $file -i $target_path/$file |
133 |
fi |
134 |
|
135 |
if [ -n "$do_yuv4mpeg" ] ; then |
136 |
file=${outfile}lavf.y4m |
137 |
do_ffmpeg $file -t 1 -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src |
138 |
#do_ffmpeg_crc $file -i $target_path/$file |
139 |
fi |
140 |
|
141 |
# image formats |
142 |
|
143 |
if [ -n "$do_pgm" ] ; then |
144 |
do_image_formats pgm |
145 |
fi |
146 |
|
147 |
if [ -n "$do_ppm" ] ; then |
148 |
do_image_formats ppm |
149 |
fi |
150 |
|
151 |
if [ -n "$do_bmp" ] ; then |
152 |
do_image_formats bmp |
153 |
fi |
154 |
|
155 |
if [ -n "$do_tga" ] ; then |
156 |
do_image_formats tga |
157 |
fi |
158 |
|
159 |
if [ -n "$do_tiff" ] ; then |
160 |
do_image_formats tiff "-pix_fmt rgb24" |
161 |
fi |
162 |
|
163 |
if [ -n "$do_sgi" ] ; then |
164 |
do_image_formats sgi |
165 |
fi |
166 |
|
167 |
if [ -n "$do_jpg" ] ; then |
168 |
do_image_formats jpg "-flags +bitexact -dct fastint -idct simple -pix_fmt yuvj420p" "-f image2" |
169 |
fi |
170 |
|
171 |
if [ -n "$do_pcx" ] ; then |
172 |
do_image_formats pcx |
173 |
fi |
174 |
|
175 |
# audio only |
176 |
|
177 |
if [ -n "$do_wav" ] ; then |
178 |
do_audio_only wav |
179 |
fi |
180 |
|
181 |
if [ -n "$do_alaw" ] ; then |
182 |
do_audio_only al |
183 |
fi |
184 |
|
185 |
if [ -n "$do_mulaw" ] ; then |
186 |
do_audio_only ul |
187 |
fi |
188 |
|
189 |
if [ -n "$do_au" ] ; then |
190 |
do_audio_only au |
191 |
fi |
192 |
|
193 |
if [ -n "$do_mmf" ] ; then |
194 |
do_audio_only mmf |
195 |
fi |
196 |
|
197 |
if [ -n "$do_aiff" ] ; then |
198 |
do_audio_only aif |
199 |
fi |
200 |
|
201 |
if [ -n "$do_voc" ] ; then |
202 |
do_audio_only voc |
203 |
fi |
204 |
|
205 |
if [ -n "$do_ogg" ] ; then |
206 |
do_audio_only ogg |
207 |
fi |
208 |
|
209 |
if [ -n "$do_rso" ] ; then |
210 |
do_audio_only rso |
211 |
fi |
212 |
|
213 |
# pix_fmt conversions |
214 |
|
215 |
if [ -n "$do_pixfmt" ] ; then |
216 |
outfile="$datadir/pixfmt/" |
217 |
mkdir -p "$outfile" |
218 |
conversions="yuv420p yuv422p yuv444p yuyv422 yuv410p yuv411p yuvj420p \ |
219 |
yuvj422p yuvj444p rgb24 bgr24 rgb32 rgb565 rgb555 gray monow \ |
220 |
monob yuv440p yuvj440p" |
221 |
for pix_fmt in $conversions ; do |
222 |
file=${outfile}${pix_fmt}.yuv |
223 |
do_ffmpeg_nocheck $file -r 1 -t 1 -f image2 -vcodec pgmyuv -i $raw_src \ |
224 |
-f rawvideo -s 352x288 -pix_fmt $pix_fmt $target_path/$raw_dst |
225 |
do_ffmpeg $file -f rawvideo -s 352x288 -pix_fmt $pix_fmt -i $target_path/$raw_dst \ |
226 |
-f rawvideo -s 352x288 -pix_fmt yuv444p |
227 |
done |
228 |
fi |
229 |
|
230 |
rm -f "$bench" "$bench2" |