[FFmpeg-devel] [PATCH v2] fate: Add test for Musepack SV8 decoding

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Sun Nov 1 00:56:05 EET 2020


Andreas Rheinhardt:
> While the FATE suite contains a sample file for Musepack 8, it did not
> use it to test the decoder; it is only used in the mpc8-demux test that
> tests the demuxer via streamcopy. Therefore this commit adds an actual
> encoder test.
> 
> The test uses the framecrc output, because Musepack SV8 is an encoder
> that returns multiple frames for a single packet, so that timing
> information in the test output is valueable. Output seeking has been
> used in order to limit the size of the ref file as well as to test this
> codepath for the first time.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
> For a short period of time, I pondered using the pcm_s16le_planar
> encoder (which would not need any format conversions), but given that
> one can't really put this in a file I instead opted for this.
> 
>  tests/fate/mpc.mak       |   5 ++
>  tests/ref/fate/musepack8 | 141 +++++++++++++++++++++++++++++++++++++++
>  2 files changed, 146 insertions(+)
>  create mode 100644 tests/ref/fate/musepack8
> 
> diff --git a/tests/fate/mpc.mak b/tests/fate/mpc.mak
> index 294dffeabf..3a3abfeaa5 100644
> --- a/tests/fate/mpc.mak
> +++ b/tests/fate/mpc.mak
> @@ -9,5 +9,10 @@ fate-musepack7: CMD = pcm -i $(TARGET_SAMPLES)/musepack/inside-mp7.mpc
>  fate-musepack7: CMP = oneoff
>  fate-musepack7: REF = $(SAMPLES)/musepack/inside-mp7.pcm
>  
> +FATE_MPC-$(call ALLYES, FILE_PROTOCOL MPC8_DEMUXER MPC8_DECODER  \
> +                        ARESAMPLE_FILTER PCM_S16LE_ENCODER  \
> +			FRAMECRC_MUXER PIPE_PROTOCOL) += fate-musepack8
> +fate-musepack8: CMD = framecrc -i $(TARGET_SAMPLES)/musepack/inside-mp8.mpc -ss 8.4 -af aresample -c:a pcm_s16le
> +
>  FATE_SAMPLES_AVCONV += $(FATE_MPC-yes)
>  fate-mpc: $(FATE_MPC-yes)

Will apply this tomorrow unless there are objections.

- Andreas


More information about the ffmpeg-devel mailing list