[FFmpeg-devel] [PATCH] fate: add apng encoding/muxing test

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Sat Oct 29 01:57:12 EEST 2016


On 28.10.2016 02:14, James Almer wrote:
> On 10/27/2016 8:45 PM, Andreas Cadhalpun wrote:
>> Also test the fallback to png creation for a single frame.
>>
>> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
>> ---
>>
>> Obviously, the patch fixing this has to be applied first.
>>
>> ---
>>  tests/fate/avformat.mak  | 1 +
>>  tests/lavf-regression.sh | 9 +++++++++
>>  tests/ref/lavf/apng      | 6 ++++++
>>  3 files changed, 16 insertions(+)
>>  create mode 100644 tests/ref/lavf/apng
>>
>> diff --git a/tests/fate/avformat.mak b/tests/fate/avformat.mak
>> index 3760e41..bbb1f98 100644
>> --- a/tests/fate/avformat.mak
>> +++ b/tests/fate/avformat.mak
>> @@ -1,5 +1,6 @@
>>  FATE_LAVF-$(call ENCDEC,  PCM_S16BE,             AIFF)               += aiff
>>  FATE_LAVF-$(call ENCDEC,  PCM_ALAW,              PCM_ALAW)           += alaw
>> +FATE_LAVF-$(call ENCDEC,  APNG,                  APNG)               += apng
>>  FATE_LAVF-$(call ENCDEC2, MSMPEG4V3,  MP2,       ASF)                += asf
>>  FATE_LAVF-$(call ENCDEC,  PCM_S16BE_PLANAR,      AST)                += ast
>>  FATE_LAVF-$(call ENCDEC,  PCM_S16BE,             AU)                 += au
>> diff --git a/tests/lavf-regression.sh b/tests/lavf-regression.sh
>> index 8d96178..9050027 100755
>> --- a/tests/lavf-regression.sh
>> +++ b/tests/lavf-regression.sh
>> @@ -212,6 +212,15 @@ do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -q
>>  do_avconv_crc $file $DEC_OPTS -i $target_path/$file -pix_fmt rgb24
>>  fi
>>  
>> +if [ -n "$do_apng" ] ; then
>> +file=${outfile}lavf.apng
>> +do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -pix_fmt rgb24
>> +do_avconv_crc $file $DEC_OPTS -i $target_path/$file -pix_fmt rgb24
>> +file=${outfile}lavf.png
>> +do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -pix_fmt rgb24 -frames:v 1
> 
> You're already using -frames:v 1, so -t 1 is superfluous.
> 
> And you need to force apng as muxer, otherwise it will default to the image2
> muxer because the output file extension is png.

Fixed that and also dropped the useless qscale argument.

>> +do_avconv_crc $file $DEC_OPTS -i $target_path/$file -pix_fmt rgb24
>> +fi
>> +
>>  if [ -n "$do_yuv4mpeg" ] ; then
>>  file=${outfile}lavf.y4m
>>  do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10
>> diff --git a/tests/ref/lavf/apng b/tests/ref/lavf/apng
>> new file mode 100644
>> index 0000000..4d35408
>> --- /dev/null
>> +++ b/tests/ref/lavf/apng
>> @@ -0,0 +1,6 @@
>> +a4c46fad7716ad094eb3c78b74ca0244 *./tests/data/lavf/lavf.apng
>> +6209864 ./tests/data/lavf/lavf.apng
>> +./tests/data/lavf/lavf.apng CRC=0x87b3c15f
>> +c5900fdd1b2fc30b985793f5226fd0c4 *./tests/data/lavf/lavf.png
>> +248854 ./tests/data/lavf/lavf.png
>> +./tests/data/lavf/lavf.png CRC=0xd8c7b7a1
> 
> LGTM after the above changes.

Pushed.

Best regards,
Andreas



More information about the ffmpeg-devel mailing list