diff options
Diffstat (limited to 'debian/tests')
-rw-r--r-- | debian/tests/control | 8 | ||||
-rwxr-xr-x | debian/tests/encdec | 443 | ||||
-rwxr-xr-x | debian/tests/encdec-extra | 7 | ||||
-rw-r--r-- | debian/tests/encdec-extra_list.txt | 13 | ||||
-rw-r--r-- | debian/tests/encdec_list.txt | 59 | ||||
-rwxr-xr-x | debian/tests/examples | 19 |
6 files changed, 549 insertions, 0 deletions
diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000..96c4a03 --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,8 @@ +Tests: examples +Depends: build-essential, ffmpeg-doc, libavdevice-dev, libavformat-dev, libavfilter-dev, libavcodec-dev, libswresample-dev, libswscale-dev, libavutil-dev, pkg-config + +Tests: encdec +Depends: ffmpeg + +Tests: encdec-extra +Depends: ffmpeg, libavcodec-extra diff --git a/debian/tests/encdec b/debian/tests/encdec new file mode 100755 index 0000000..c480742 --- /dev/null +++ b/debian/tests/encdec @@ -0,0 +1,443 @@ +#!/bin/bash + +set -e + +# test encoders and decoders + +SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +TEST_NAME="$1" +[ ! -z $TEST_NAME ] || TEST_NAME=${BASH_SOURCE[0]##*/} +ENCDECLIST="$SCRIPT_DIR/${TEST_NAME}"_list.txt +TEST_DIR="$ADTTMP/test" + +encode_file() { + test=$1 + dir=$2 + mux=${test%%;*} + tenc=${test##*;} + type=${tenc%%=*} + enc=${tenc##*=} + codec=${enc%%:*} + encoder=${enc##*:} + file_name="$dir/$encoder.$mux" + opts= + # some codecs require extra options + if [ "$codec" == "avui" ]; then + opts="-s 720x486" + elif [ "$codec" == "dnxhd" ]; then + opts="-s 1280x720 -b:v 90M" + elif [ "$codec" == "dvvideo" ]; then + opts="-s 720x480 -pix_fmt yuv411p" + elif [ "$codec" == "h261" ]; then + opts="-s 176x144" + elif [ "$codec" == "h263" ]; then + opts="-s 128x96" + elif [ "$codec" == "hevc" ]; then + opts="-s 64x64" + elif [ "$codec" == "roq" ]; then + opts="-s 128x128" + elif [ "$codec" == "xface" ]; then + opts="-s 48x48" + elif [ "$codec" == "g723_1" ]; then + opts="-ar 8000 -b:a 6300" + elif [ "$codec" == "gsm" ]; then + opts="-ar 8000 -b:a 13000" + elif [ "$codec" == "gsm_ms" ]; then + opts="-ar 8000 -b:a 13000" + elif [ "$codec" == "roq_dpcm" ]; then + opts="-ar 22050" + elif [ "$codec" == "s302m" ]; then + opts="-ac 2" + elif [ "$codec" == "vorbis" ]; then + opts="-ac 2" + fi + src= + if [ "$type" = "v" ]; then + src=testsrc=s=32x32:d=0.1 + elif [ "$type" = "a" ]; then + src=sine=d=0.1 + else + # unknown codec type + return 10 + fi + echo -e "trying muxer '$mux' with '$type' encoder '$encoder' for codec '$codec'\n" + ret=0 + CMD="ffmpeg -f lavfi -i $src -strict -2 $opts -c:$type $encoder -f $mux $file_name -y -hide_banner -nostdin" + echo $CMD + $CMD 2>&1 || ret=$? + return $ret +} + +probe_file() { + file_name=$1 + test=$2 + mux=${test%%;*} + tenc=${test##*;} + enc=${tenc##*=} + codec=${enc%%:*} + + # determine the codec/format + ret=0 + info=$(ffprobe -hide_banner -strict -2 "$file_name" 2>&1) || ret=$? + if [ "$ret" != 0 ]; then + echo "probing failed: $ret" + return "$ret" + fi + # file formats can be a comma-separated list, e.g. matroska,webm + file_formats=$(echo "$info" | grep "Input #" | sed "s/.*Input #[0-9]*, \([^ ]*\), from.*/\1/") + file_formats=${file_formats//,/ } + # there can be multiple streams, thus multiple codecs + file_codecs=$(echo "$info" | grep "Stream #" | sed "s/.*Stream #.*:.*:.*: \([^ ,]*\).*/\1/") + same_format= + same_codec= + + # test if the file has the correct codec/format + for file_format in $file_formats; do + if [ "$mux" == "$file_format" ]; then + same_format="$file_format" + fi + done + if [ ! "$same_format" ]; then + # wrong format + echo "file has the wrong format: $file_formats" + return 10 + fi + for file_codec in $file_codecs; do + if [ "$codec" == "$file_codec" ]; then + same_codec="$file_codec" + fi + done + if [ ! "$same_codec" ]; then + # wrong codec + echo "file has the wrong codec: $file_codecs" + return 11 + fi + return 0 +} + +decode_file() { + file_name=$1 + ret=0 + # The option '-t 1' is necessary, because the comfortnoise decoder never stops producing noise. + CMD="ffmpeg -strict -2 -i $file_name -t 1 -c:v rawvideo -c:a pcm_s32le -f nut /dev/null -y -hide_banner -nostdin" + echo $CMD + $CMD 2>&1 || ret=$? + return $ret +} + +streamcopy_file() { + file_name=$1 + test=$2 + mux=${test%%;*} + file_name_copy="$file_name.copy.$mux" + ret=0 + # The option '-t 1' is necessary, because the comfortnoise decoder never stops producing noise. + CMD="ffmpeg -strict -2 -i $file_name -t 1 -c copy -f $mux $file_name_copy -y -hide_banner -nostdin" + echo $CMD + $CMD 2>&1 || ret=$? + return $ret +} + +list_formats() { + match="$1" + old_IFS=$IFS + # Set the field seperator to a newline + IFS=" +" + # Get the raw list + lines=$(ffmpeg -hide_banner -formats | grep "^ $match") + for line in $lines; do + item=$(echo "$line" | sed "s/^ [D ][E ] \([^ ]*\) .*/\1/") + item=${item%%,*} + echo "$item" + done + IFS=$old_IFS +} + +list_codecs() { + what=$1 + match="$2" + type="$3" + old_IFS=$IFS + # Set the field seperator to a newline + IFS=" +" + # Get the raw list + lines=$(ffmpeg -hide_banner -codecs | grep "^ $match$type") + for line in $lines; do + items=$(echo "$line" | grep "($what:") + codec=$(echo "$line" | sed "s/^ [^ ]* \([^ ]*\) .*/\1/") + if [ -z "$items" ]; then + echo "${type,,}=$codec" + else + # de/encoder(s) name(s) differ from codec name + items=$(echo "$items" | sed "s/.*($what: \([^)]*\) ).*/\1/") + IFS=" " + for item in $items; do + echo "${type,,}=$codec:$item" + done + IFS=" +" + fi + done + IFS=$old_IFS +} + +list_muxers() { + muxs=$(list_formats ".E [^=]") + echo $muxs +} + +list_demuxers() { + dems=$(list_formats "D. [^=]") + echo $dems +} + +list_video_encoders() { + vencs=$(list_codecs encoders ".E" "V") + echo $vencs +} + +list_video_decoders() { + vdecs=$(list_codecs decoders "D." "V") + echo $vdecs +} + +list_audio_encoders() { + aencs=$(list_codecs encoders ".E" "A") + echo $aencs +} + +list_audio_decoders() { + adecs=$(list_codecs decoders "D." "A") + echo $adecs +} + +read_tests() { + filename=$1 + old_IFS=$IFS + # Set the field seperator to a newline + IFS=" +" + # Get the raw list + lines=$(cat "$filename") + for line in $lines; do + muxer=${line%%;*} + tencs=${line##*;} + if [ "$tencs" ]; then + IFS=" " + for tenc in $tencs; do + echo "$muxer;$tenc" + done + IFS=" +" + fi + done + IFS=$old_IFS +} + +echo "TEST: $TEST_NAME" +echo -e "ADTTMP directory: $ADTTMP\n\n" + +mkdir -p "$TEST_DIR" + +ffmpeg -version 2>&1 + +echo -e "\n" + +# determine the supported muxers and encoders +echo "muxers:" +muxs=$(list_muxers) +echo "$muxs" +echo -e "\n" + +vencs=$(list_video_encoders) +aencs=$(list_audio_encoders) +echo "encoders:" +encs="$vencs $aencs" +echo "$encs" +echo -e "\n" + +for mux in $muxs; do + mux_tests= + for tenc in $encs; do + mux_tests="$mux_tests $mux;$tenc " + done + possible_tests="$possible_tests$mux_tests" +done + +if [ -f $ENCDECLIST ]; then + tests=$(read_tests $ENCDECLIST) +else + # create the list of working tests if it doesn't exist + update="true" + tests=$possible_tests +fi + +num_tests=$(echo $tests | wc -w) +echo -e "$num_tests tests\n" + +crashes= +failures= +skipped= + +num_test=0 +num_success=0 + +for test in $tests; do + num_test=$((num_test + 1)) + echo "Test $num_test:" + streamcopy=${test##*|} + if [ "$update" ]; then + streamcopy=1 + fi + test=${test%%|*} + # skip the test, if the muxer/encoder is not available + available=$(echo "$possible_tests" | grep " $test ") || true + if [ ! "$available" ]; then + skipped="${skipped}${test}\n" + echo -e "SKIPPED: $test\n\n" + continue + fi + mux=${test%%;*} + tenc=${test##*;} + ret=0 + # try encoding a file + # this also sets the file_name variable + encode_file $test $TEST_DIR || ret=$? + echo -e "\n" + if [ "$ret" != "0" ]; then + errmsg="$test; encoding return code: $ret" + if [ "$ret" -gt 128 ]; then + crashes="${crashes}${errmsg}\n" + else + failures="${failures}${errmsg}\n" + fi + echo -e "\nFAILED: $errmsg\n\n" + continue + fi + ret=0 + # test if the file has the correct format/codec + err=$(probe_file "$file_name" $test) || ret=$? + if [ "$ret" != "0" ]; then + errmsg="$test; $err" + if [ "$ret" -gt 128 ]; then + crashes="${crashes}${errmsg}\n" + else + failures="${failures}${errmsg}\n" + fi + echo -e "\nFAILED: $errmsg\n\n" + continue + fi + ret=0 + # test decoding the file + decode_file "$file_name" || ret=$? + if [ "$ret" != "0" ]; then + errmsg="$test; decoding return code: $ret" + if [ "$ret" -gt 128 ]; then + crashes="${crashes}${errmsg}\n" + else + failures="${failures}${errmsg}\n" + fi + echo -e "\nFAILED: $errmsg\n\n" + continue + fi + streamcopy_orig="$streamcopy" + if [ "$streamcopy" == "1" ]; then + ret=0 + # test streamcopying the file + # this also sets the file_name_copy variable + echo -e "\n" + streamcopy_file "$file_name" "$test" || ret=$? + if [ "$ret" != "0" ]; then + errmsg="$test; streamcopy return code: $ret" + if [ "$ret" -gt 128 ]; then + crashes="${crashes}${errmsg}\n" + else + failures="${failures}${errmsg}\n" + fi + echo -e "\nFAILED: $errmsg\n\n" + streamcopy=0 + fi + fi + if [ "$streamcopy" == "1" ]; then + ret=0 + # test if the file has the correct format/codec + err=$(probe_file "$file_name_copy" $test) || ret=$? + if [ "$ret" != "0" ]; then + errmsg="$test; streamcopy: $err" + if [ "$ret" -gt 128 ]; then + crashes="${crashes}${errmsg}\n" + else + failures="${failures}${errmsg}\n" + fi + echo -e "\nFAILED: $errmsg\n\n" + streamcopy=0 + fi + fi + works=$([ "$streamcopy" = "1" ] && echo works || echo fails) + if [ "$streamcopy_orig" = "$streamcopy" ]; then + echo -e "\nSUCCESS: correctly created file with format '$mux' and codec '$tenc'; streamcopying $works\n\n" + num_success=$((num_success + 1)) + fi + if [ "$update" ]; then + if [ "x$last_mux" != "x$mux" ]; then + if [ "$last_mux" ]; then + # newline + echo "" >> $ENCDECLIST + fi + echo -n "$mux;" >> $ENCDECLIST + fi + last_mux=$mux + echo -n " $tenc|$streamcopy" >> $ENCDECLIST + fi +done + + +echo "done!" + + +ret=0 + +num_crashes=0 +num_failures=0 +num_skipped=0 + +if [ "$crashes" ]; then + num_crashes=$(echo -e "$crashes" | wc -l) + num_crashes=$((num_crashes - 1)) +fi +if [ "$failures" ]; then + num_failures=$(echo -e "$failures" | wc -l) + num_failures=$((num_failures - 1)) +fi +if [ "$skipped" ]; then + num_skipped=$(echo -e "$skipped" | wc -l) + num_skipped=$((num_skipped - 1)) +fi + +if [ "$num_crashes" != "0" ]; then + ret=1 + echo -e "\n\ncrashes: $num_crashes\n" + echo -e "$crashes" +fi + +if [ "$num_failures" != "0" ]; then + ret=1 + echo -e "\n\nfailures: $num_failures\n" + echo -e "$failures" +fi + +if [ "$num_skipped" != "0" ]; then + echo -e "\n\nskipped: $num_skipped\n" + echo -e "$skipped" +fi + +if [ "$num_success" != "0" ]; then + echo -e "\n\nsuccess: $num_success\n" +else + ret=1 + echo -e "\n\nno single success: something is definitely wrong\n" +fi + +exit $ret diff --git a/debian/tests/encdec-extra b/debian/tests/encdec-extra new file mode 100755 index 0000000..be80c74 --- /dev/null +++ b/debian/tests/encdec-extra @@ -0,0 +1,7 @@ +#!/bin/bash + +set -e + +SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) + +"$SCRIPT_DIR"/encdec encdec-extra diff --git a/debian/tests/encdec-extra_list.txt b/debian/tests/encdec-extra_list.txt new file mode 100644 index 0000000..85be0e3 --- /dev/null +++ b/debian/tests/encdec-extra_list.txt @@ -0,0 +1,13 @@ +3g2; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +3gp; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +amr; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +asf; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +avi; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +caf; a=amr_nb:libopencore_amrnb|1 +ffm; a=amr_nb:libopencore_amrnb|0 a=amr_wb:libvo_amrwbenc|0 +matroska; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +mov; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +nut; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +w64; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +wav; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 +wtv; a=amr_nb:libopencore_amrnb|1 a=amr_wb:libvo_amrwbenc|1 diff --git a/debian/tests/encdec_list.txt b/debian/tests/encdec_list.txt new file mode 100644 index 0000000..13f2335 --- /dev/null +++ b/debian/tests/encdec_list.txt @@ -0,0 +1,59 @@ +3g2; v=h263|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 a=aac|1 +3gp; v=h263|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 a=aac|1 +ac3; a=ac3:ac3|1 +adx; a=adpcm_adx|0 +aiff; a=adpcm_ima_qt|1 a=pcm_alaw|1 a=pcm_f32be|1 a=pcm_f64be|1 a=pcm_mulaw|1 a=pcm_s16be|1 a=pcm_s16le|1 a=pcm_s24be|1 a=pcm_s32be|1 a=pcm_s8|1 a=pcm_u8|1 +apng; v=apng|1 +asf; v=amv|1 v=asv1|1 v=asv2|1 v=ayuv|1 v=cinepak|1 v=cljr|1 v=dirac:vc2|1 v=dpx|1 v=dvvideo|1 v=ffv1|1 v=ffvhuff|1 v=flashsv|1 v=flv1:flv|1 v=h261|1 v=h263|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=huffyuv|1 v=jpeg2000:jpeg2000|1 v=jpeg2000:libopenjpeg|1 v=jpegls|1 v=mjpeg:mjpeg|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 v=msmpeg4v2|1 v=msmpeg4v3:msmpeg4|1 v=msvideo1|1 v=png|1 v=r10k|1 v=r210|1 v=snow|1 v=svq1|1 v=targa|1 v=theora:libtheora|1 v=utvideo|1 v=v210|1 v=v308|1 v=v408|1 v=v410|1 v=vp8:libvpx|1 v=vp9:libvpx-vp9|1 v=wmv1|1 v=wmv2|1 v=y41p|1 v=yuv4|1 v=zlib|1 v=zmbv|1 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=adpcm_g722:g722|1 a=adpcm_g726:g726|1 a=adpcm_ima_wav|1 a=adpcm_ms|1 a=adpcm_swf|1 a=adpcm_yamaha|1 a=dts:dca|1 a=eac3|1 a=flac|1 a=g723_1|1 a=gsm_ms:libgsm_ms|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=pcm_alaw|1 a=pcm_f32le|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16le|1 a=pcm_s24le|1 a=pcm_s32le|1 a=pcm_s64le|1 a=pcm_u8|1 a=sonic|1 a=speex:libspeex|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 a=wmav1|1 a=wmav2|1 +ast; a=pcm_s16be_planar|1 +au; a=adpcm_g722:g722|1 a=pcm_alaw|1 a=pcm_f32be|1 a=pcm_f64be|1 a=pcm_mulaw|1 a=pcm_s16be|1 a=pcm_s24be|1 a=pcm_s32be|1 a=pcm_s8|1 +avi; v=amv|1 v=asv1|1 v=asv2|1 v=ayuv|1 v=cinepak|1 v=cljr|1 v=dirac:vc2|1 v=dpx|1 v=dvvideo|1 v=ffv1|1 v=ffvhuff|1 v=flashsv|1 v=flv1:flv|1 v=h261|1 v=h263|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=hap|1 v=huffyuv|1 v=jpeg2000:jpeg2000|1 v=jpeg2000:libopenjpeg|1 v=jpegls|1 v=mjpeg:mjpeg|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 v=msmpeg4v2|1 v=msmpeg4v3:msmpeg4|1 v=msvideo1|1 v=png|1 v=prores:prores|1 v=prores:prores_aw|1 v=prores:prores_ks|1 v=r10k|1 v=r210|1 v=snow|1 v=svq1|1 v=targa|1 v=theora:libtheora|1 v=utvideo|1 v=v210|1 v=v308|1 v=v408|1 v=v410|1 v=vp8:libvpx|1 v=vp9:libvpx-vp9|1 v=wmv1|1 v=wmv2|1 v=y41p|1 v=yuv4|1 v=zlib|1 v=zmbv|1 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=adpcm_g722:g722|1 a=adpcm_g726:g726|1 a=adpcm_ima_wav|1 a=adpcm_ms|1 a=adpcm_swf|1 a=adpcm_yamaha|1 a=dts:dca|1 a=eac3|1 a=flac|1 a=g723_1|1 a=gsm_ms:libgsm_ms|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=pcm_alaw|1 a=pcm_f32le|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16le|1 a=pcm_s24le|1 a=pcm_s32le|1 a=pcm_s64le|1 a=pcm_u8|1 a=sonic|1 a=speex:libspeex|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 a=wmav1|1 a=wmav2|1 +caf; a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=adpcm_ima_qt|1 a=adpcm_ima_wav|1 a=adpcm_ms|1 a=alac|1 a=gsm:libgsm|1 a=gsm_ms:libgsm_ms|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=pcm_alaw|1 a=pcm_f32be|1 a=pcm_f32le|1 a=pcm_f64be|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16be|1 a=pcm_s16le|1 a=pcm_s24be|1 a=pcm_s24le|1 a=pcm_s32be|1 a=pcm_s32le|1 a=pcm_s8|1 +dirac; v=dirac:vc2|1 +dnxhd; v=dnxhd|1 +dts; a=dts:dca|1 +dv; v=dvvideo|1 +eac3; a=eac3|1 +ffm; v=alias_pix|0 v=amv|0 v=asv1|0 v=asv2|0 v=avrp|0 v=ayuv|0 v=bmp|0 v=cinepak|0 v=cljr|0 v=dirac:vc2|0 v=dnxhd|0 v=dpx|0 v=dvvideo|0 v=ffv1|0 v=ffvhuff|0 v=flashsv|0 v=flashsv2|0 v=flv1:flv|0 v=h261|0 v=h263|0 v=h263p|0 v=h264:libx264|0 v=h264:libx264rgb|0 v=hap|0 v=hevc:libx265|0 v=huffyuv|0 v=jpeg2000:jpeg2000|0 v=jpeg2000:libopenjpeg|0 v=jpegls|0 v=mjpeg:mjpeg|0 v=mpeg1video|0 v=mpeg2video|0 v=mpeg4:mpeg4|0 v=mpeg4:libxvid|0 v=msmpeg4v2|0 v=msmpeg4v3:msmpeg4|0 v=msvideo1|0 v=pam|0 v=pbm|0 v=pcx|0 v=pgm|0 v=pgmyuv|0 v=png|0 v=ppm|0 v=prores:prores|0 v=prores:prores_aw|0 v=prores:prores_ks|0 v=qtrle|0 v=r10k|0 v=r210|0 v=rawvideo|0 v=roq:roqvideo|0 v=sgi|0 v=snow|0 v=sunrast|0 v=svq1|0 v=targa|0 v=tiff|0 v=v210|0 v=v308|0 v=v408|0 v=v410|0 v=vp8:libvpx|0 v=vp9:libvpx-vp9|0 v=webp:libwebp|0 v=wmv1|0 v=wmv2|0 v=xbm|0 v=xface|0 v=xwd|0 v=y41p|0 v=yuv4|0 v=zmbv|0 a=aac|0 a=ac3:ac3|0 a=ac3:ac3_fixed|0 a=adpcm_adx|0 a=adpcm_g722:g722|0 a=adpcm_g726:g726|0 a=adpcm_ima_qt|0 a=adpcm_ima_wav|0 a=adpcm_ms|0 a=adpcm_swf|0 a=adpcm_yamaha|0 a=comfortnoise|0 a=dts:dca|0 a=eac3|0 a=flac|0 a=g723_1|0 a=gsm:libgsm|0 a=gsm_ms:libgsm_ms|0 a=mlp|0 a=mp2:mp2|0 a=mp2:mp2fixed|0 a=mp2:libtwolame|0 a=mp3:libmp3lame|0 a=mp3:libshine|0 a=nellymoser|0 a=opus:libopus|0 a=pcm_alaw|0 a=pcm_f32be|0 a=pcm_f32le|0 a=pcm_f64be|0 a=pcm_f64le|0 a=pcm_mulaw|0 a=pcm_s16be|0 a=pcm_s16be_planar|0 a=pcm_s16le|0 a=pcm_s16le_planar|0 a=pcm_s24be|0 a=pcm_s24daud|0 a=pcm_s24le|0 a=pcm_s24le_planar|0 a=pcm_s32be|0 a=pcm_s32le|0 a=pcm_s32le_planar|0 a=pcm_s64be|0 a=pcm_s64le|0 a=pcm_s8|0 a=pcm_s8_planar|0 a=pcm_u16be|0 a=pcm_u16le|0 a=pcm_u24be|0 a=pcm_u24le|0 a=pcm_u32be|0 a=pcm_u32le|0 a=pcm_u8|0 a=ra_144:real_144|0 a=roq_dpcm|0 a=s302m|0 a=speex:libspeex|0 a=truehd|0 a=wavpack:wavpack|0 a=wavpack:libwavpack|0 a=wmav1|0 a=wmav2|0 +flac; a=flac|1 +flv; v=flashsv|1 v=flashsv2|1 v=flv1:flv|1 v=h263|0 v=h264:libx264|1 v=h264:libx264rgb|1 a=aac|1 a=adpcm_swf|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=nellymoser|1 a=pcm_alaw|1 a=pcm_mulaw|1 a=pcm_s16le|1 a=pcm_u8|1 +g722; a=adpcm_g722:g722|1 +g723_1; a=g723_1|1 +gif; v=gif|0 +gsm; a=gsm:libgsm|1 +gxf; v=dvvideo|1 +h261; v=h261|1 +h263; v=h263|1 +h264; v=h264:libx264|1 v=h264:libx264rgb|1 +hevc; v=hevc:libx265|1 +hls; v=dirac:vc2|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=hevc:libx265|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=dts:dca|1 a=eac3|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=opus:libopus|1 a=s302m|1 +ircam; a=pcm_alaw|1 a=pcm_f32le|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16le|1 a=pcm_s24le|1 a=pcm_s32le|1 a=pcm_s8|1 +ivf; v=vp8:libvpx|1 v=vp9:libvpx-vp9|1 +m4v; v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 +matroska; v=amv|1 v=asv1|1 v=asv2|1 v=avrp|1 v=ayuv|1 v=cinepak|1 v=cljr|1 v=dirac:vc2|1 v=dnxhd|1 v=dpx|1 v=dvvideo|1 v=ffv1|1 v=ffvhuff|1 v=flashsv|1 v=flv1:flv|1 v=h261|1 v=h263|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=hap|1 v=hevc:libx265|1 v=huffyuv|1 v=jpeg2000:jpeg2000|1 v=jpeg2000:libopenjpeg|1 v=jpegls|1 v=mjpeg:mjpeg|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 v=msmpeg4v2|1 v=msmpeg4v3:msmpeg4|1 v=msvideo1|1 v=png|1 v=prores:prores|1 v=prores:prores_aw|1 v=prores:prores_ks|1 v=r10k|1 v=r210|1 v=rawvideo|0 v=sgi|1 v=snow|1 v=svq1|1 v=targa|1 v=theora:libtheora|1 v=tiff|1 v=utvideo|1 v=v210|1 v=v308|1 v=v408|1 v=v410|1 v=vp8:libvpx|1 v=vp9:libvpx-vp9|1 v=wmv1|1 v=wmv2|1 v=y41p|1 v=yuv4|1 v=zlib|1 v=zmbv|1 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=adpcm_g722:g722|1 a=adpcm_g726:g726|1 a=adpcm_ima_wav|1 a=adpcm_ms|1 a=adpcm_swf|1 a=adpcm_yamaha|1 a=alac|1 a=dts:dca|1 a=eac3|1 a=flac|1 a=g723_1|1 a=gsm_ms:libgsm_ms|1 a=mlp|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=opus:libopus|1 a=pcm_alaw|1 a=pcm_f32le|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16be|1 a=pcm_s16le|1 a=pcm_s24be|1 a=pcm_s24le|1 a=pcm_s32be|1 a=pcm_s32le|1 a=pcm_s64le|1 a=pcm_u8|1 a=ra_144:real_144|1 a=sonic|1 a=speex:libspeex|1 a=truehd|1 a=tta|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 a=wavpack:wavpack|1 a=wavpack:libwavpack|1 a=wmav1|1 a=wmav2|1 +mjpeg; v=mjpeg:mjpeg|1 +mlp; a=mlp|1 +mmf; a=adpcm_yamaha|1 +mov; v=amv|1 v=asv1|1 v=asv2|1 v=avrp|1 v=avui|1 v=ayuv|1 v=cinepak|1 v=cljr|1 v=dirac:vc2|1 v=dnxhd|1 v=dpx|1 v=dvvideo|1 v=ffv1|1 v=ffvhuff|1 v=flashsv|1 v=flv1:flv|1 v=h261|1 v=h263|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=hap|1 v=hevc:libx265|1 v=huffyuv|1 v=jpeg2000:jpeg2000|1 v=jpeg2000:libopenjpeg|1 v=jpegls|1 v=mjpeg:mjpeg|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 v=msmpeg4v2|1 v=msmpeg4v3:msmpeg4|1 v=msvideo1|1 v=png|1 v=prores:prores|1 v=prores:prores_aw|1 v=prores:prores_ks|1 v=qtrle|1 v=r10k|1 v=r210|1 v=sgi|1 v=snow|1 v=svq1|1 v=targa|1 v=theora:libtheora|1 v=tiff|1 v=utvideo|1 v=v210|1 v=v308|1 v=v408|1 v=v410|1 v=vp8:libvpx|1 v=vp9:libvpx-vp9|1 v=wmv1|1 v=wmv2|1 v=y41p|1 v=yuv4|1 v=zlib|1 v=zmbv|0 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=adpcm_g722:g722|1 a=adpcm_g726:g726|1 a=adpcm_ima_qt|1 a=adpcm_ima_wav|0 a=adpcm_ms|0 a=adpcm_swf|1 a=adpcm_yamaha|1 a=alac|1 a=dts:dca|1 a=eac3|1 a=flac|1 a=g723_1|1 a=gsm:libgsm|1 a=gsm_ms:libgsm_ms|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=nellymoser|1 a=pcm_alaw|1 a=pcm_f32be|1 a=pcm_f32le|1 a=pcm_f64be|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16be|1 a=pcm_s16le|1 a=pcm_s24be|1 a=pcm_s24le|1 a=pcm_s32be|1 a=pcm_s32le|1 a=pcm_s8|1 a=pcm_u8|1 a=sonic|1 a=speex:libspeex|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 +mp3; a=mp3:libmp3lame|1 a=mp3:libshine|1 +mp4; v=dirac:vc2|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=hevc:libx265|1 v=jpeg2000:jpeg2000|1 v=jpeg2000:libopenjpeg|1 v=mjpeg:mjpeg|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 v=png|1 v=vp9:libvpx-vp9|0 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=dts:dca|1 a=eac3|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 +mpeg; v=h264:libx264|1 v=h264:libx264rgb|1 v=hevc:libx265|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=dts:dca|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 +mpegts; v=dirac:vc2|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=hevc:libx265|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=dts:dca|1 a=eac3|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=opus:libopus|1 a=s302m|1 +mpjpeg; v=mjpeg:mjpeg|1 +mxf; v=dnxhd|1 v=dvvideo|1 v=jpeg2000:jpeg2000|1 v=jpeg2000:libopenjpeg|1 v=mpeg2video|1 +nut; v=amv|1 v=asv1|1 v=asv2|1 v=ayuv|1 v=cinepak|1 v=cljr|1 v=dirac:vc2|0 v=dpx|1 v=dvvideo|1 v=ffv1|1 v=ffvhuff|1 v=flashsv|1 v=flv1:flv|1 v=h261|1 v=h263|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=hap|1 v=huffyuv|1 v=jpeg2000:jpeg2000|1 v=jpeg2000:libopenjpeg|1 v=jpegls|1 v=mjpeg:mjpeg|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 v=msmpeg4v2|1 v=msmpeg4v3:msmpeg4|1 v=msvideo1|1 v=png|1 v=prores:prores|1 v=prores:prores_aw|1 v=prores:prores_ks|1 v=r10k|1 v=r210|1 v=rawvideo|1 v=snow|1 v=svq1|1 v=targa|1 v=theora:libtheora|1 v=utvideo|1 v=v210|1 v=v308|1 v=v408|1 v=v410|1 v=vp8:libvpx|1 v=vp9:libvpx-vp9|1 v=wmv1|1 v=wmv2|1 v=xface|1 v=y41p|1 v=yuv4|1 v=zlib|1 v=zmbv|1 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=adpcm_g722:g722|1 a=adpcm_ms|1 a=adpcm_swf|1 a=adpcm_yamaha|1 a=comfortnoise|1 a=dts:dca|1 a=flac|1 a=g723_1|1 a=gsm_ms:libgsm_ms|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=pcm_alaw|1 a=pcm_f32be|1 a=pcm_f32le|1 a=pcm_f64be|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16be|1 a=pcm_s16be_planar|1 a=pcm_s16le|1 a=pcm_s16le_planar|1 a=pcm_s24be|1 a=pcm_s24le|1 a=pcm_s24le_planar|1 a=pcm_s32be|1 a=pcm_s32le|1 a=pcm_s32le_planar|1 a=pcm_s8|1 a=pcm_s8_planar|1 a=pcm_u16be|1 a=pcm_u16le|1 a=pcm_u24be|1 a=pcm_u24le|1 a=pcm_u32be|1 a=pcm_u32le|1 a=pcm_u8|1 a=sonic|1 a=speex:libspeex|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 a=wavpack:wavpack|1 a=wavpack:libwavpack|1 +ogg; v=theora:libtheora|1 v=vp8:libvpx|1 a=flac|1 a=opus:libopus|1 a=speex:libspeex|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 +rm; v=rv10|1 v=rv20|1 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=ra_144:real_144|1 +roq; v=roq:roqvideo|0 a=roq_dpcm|1 +rso; a=pcm_u8|1 +smjpeg; v=mjpeg:mjpeg|1 a=pcm_s16le|1 +sox; a=pcm_s32be|1 a=pcm_s32le|1 +spdif; a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 +swf; v=flv1:flv|0 v=mjpeg:mjpeg|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 +tta; a=tta|1 +voc; a=pcm_alaw|1 a=pcm_mulaw|1 a=pcm_s16le|1 a=pcm_u8|1 +w64; a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=adpcm_g722:g722|1 a=adpcm_g726:g726|1 a=adpcm_ima_wav|1 a=adpcm_ms|1 a=adpcm_swf|1 a=adpcm_yamaha|1 a=dts:dca|1 a=eac3|1 a=flac|1 a=g723_1|1 a=gsm_ms:libgsm_ms|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=pcm_alaw|1 a=pcm_f32le|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16le|1 a=pcm_s24le|1 a=pcm_s32le|1 a=pcm_s64le|1 a=pcm_u8|1 a=sonic|1 a=speex:libspeex|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 a=wmav1|1 a=wmav2|1 +wav; a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=adpcm_g722:g722|1 a=adpcm_g726:g726|1 a=adpcm_ima_wav|1 a=adpcm_ms|1 a=adpcm_swf|1 a=adpcm_yamaha|1 a=dts:dca|1 a=eac3|1 a=flac|1 a=g723_1|1 a=gsm_ms:libgsm_ms|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=pcm_alaw|1 a=pcm_f32le|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16le|1 a=pcm_s24le|1 a=pcm_s32le|1 a=pcm_s64le|1 a=pcm_u8|1 a=sonic|1 a=speex:libspeex|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 a=wmav1|1 a=wmav2|1 +webm; v=vp8:libvpx|1 v=vp9:libvpx-vp9|1 a=opus:libopus|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 +wtv; v=amv|1 v=asv1|1 v=asv2|1 v=ayuv|1 v=cinepak|0 v=cljr|1 v=dirac:vc2|1 v=dpx|1 v=dvvideo|1 v=ffv1|0 v=ffvhuff|1 v=flashsv|0 v=flv1:flv|0 v=h261|1 v=h263|1 v=h264:libx264|1 v=h264:libx264rgb|1 v=huffyuv|1 v=jpeg2000:jpeg2000|1 v=jpeg2000:libopenjpeg|1 v=jpegls|1 v=mpeg1video|1 v=mpeg2video|1 v=mpeg4:mpeg4|1 v=mpeg4:libxvid|1 v=msmpeg4v2|0 v=msmpeg4v3:msmpeg4|0 v=msvideo1|0 v=png|0 v=r10k|1 v=r210|1 v=snow|0 v=svq1|0 v=targa|1 v=v210|1 v=v308|1 v=v408|1 v=v410|1 v=vp8:libvpx|1 v=vp9:libvpx-vp9|1 v=wmv1|0 v=wmv2|0 v=y41p|1 v=yuv4|1 v=zmbv|0 a=aac|1 a=ac3:ac3|1 a=ac3:ac3_fixed|1 a=adpcm_g722:g722|1 a=adpcm_g726:g726|1 a=adpcm_ima_wav|1 a=adpcm_ms|1 a=adpcm_swf|1 a=adpcm_yamaha|1 a=dts:dca|1 a=eac3|1 a=flac|1 a=g723_1|1 a=gsm_ms:libgsm_ms|1 a=mp2:mp2|1 a=mp2:mp2fixed|1 a=mp2:libtwolame|1 a=mp3:libmp3lame|1 a=mp3:libshine|1 a=pcm_alaw|1 a=pcm_f32le|1 a=pcm_f64le|1 a=pcm_mulaw|1 a=pcm_s16le|1 a=pcm_s24le|1 a=pcm_s32le|1 a=pcm_s64le|1 a=pcm_u8|1 a=sonic|1 a=speex:libspeex|1 a=vorbis:vorbis|1 a=vorbis:libvorbis|1 a=wmav1|1 a=wmav2|1 +wv; a=wavpack:wavpack|1 a=wavpack:libwavpack|1
\ No newline at end of file diff --git a/debian/tests/examples b/debian/tests/examples new file mode 100755 index 0000000..06b5d2e --- /dev/null +++ b/debian/tests/examples @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +# build the examples + +echo "ADTTMP directory: $ADTTMP" +cd "$ADTTMP" + +cp -r /usr/share/doc/ffmpeg/examples ./ +cd examples + +echo "building the examples..." +ret=0 +make -k all 2>&1 +ret=$? +echo "done!" + +exit $ret |