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

James Almer jamrial at gmail.com
Fri Oct 28 03:14:33 EEST 2016


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.

> +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.



More information about the ffmpeg-devel mailing list