[FFmpeg-devel] [PATCH] dca: add new fate tests based on the dcadec-samples test suite

James Almer jamrial at gmail.com
Mon Feb 1 23:29:01 CET 2016


On 2/1/2016 7:01 PM, Hendrik Leppkes wrote:
> ---
>  tests/fate/dca.mak                            | 72 +++++++++++++++++++++++++++
>  tests/ref/fate/dca-xll_51_16_192_768_0        |  1 +
>  tests/ref/fate/dca-xll_51_16_192_768_1        |  1 +
>  tests/ref/fate/dca-xll_51_16_192_768_1-dmix_2 |  1 +
>  tests/ref/fate/dca-xll_51_24_48_768           |  1 +
>  tests/ref/fate/dca-xll_51_24_48_none          |  1 +
>  tests/ref/fate/dca-xll_71_24_48_768_0         |  1 +
>  tests/ref/fate/dca-xll_71_24_48_768_0-dmix_2  |  1 +
>  tests/ref/fate/dca-xll_71_24_48_768_0-dmix_6  |  1 +
>  tests/ref/fate/dca-xll_71_24_48_768_1         |  1 +
>  tests/ref/fate/dca-xll_71_24_48_768_1-dmix_2  |  1 +
>  tests/ref/fate/dca-xll_71_24_48_768_1-dmix_6  |  1 +
>  tests/ref/fate/dca-xll_71_24_96_768           |  1 +
>  tests/ref/fate/dca-xll_x96_51_24_96_1509      |  1 +
>  tests/ref/fate/dca-xll_xch_61_24_48_768       |  1 +
>  15 files changed, 86 insertions(+)
>  create mode 100644 tests/ref/fate/dca-xll_51_16_192_768_0
>  create mode 100644 tests/ref/fate/dca-xll_51_16_192_768_1
>  create mode 100644 tests/ref/fate/dca-xll_51_16_192_768_1-dmix_2
>  create mode 100644 tests/ref/fate/dca-xll_51_24_48_768
>  create mode 100644 tests/ref/fate/dca-xll_51_24_48_none
>  create mode 100644 tests/ref/fate/dca-xll_71_24_48_768_0
>  create mode 100644 tests/ref/fate/dca-xll_71_24_48_768_0-dmix_2
>  create mode 100644 tests/ref/fate/dca-xll_71_24_48_768_0-dmix_6
>  create mode 100644 tests/ref/fate/dca-xll_71_24_48_768_1
>  create mode 100644 tests/ref/fate/dca-xll_71_24_48_768_1-dmix_2
>  create mode 100644 tests/ref/fate/dca-xll_71_24_48_768_1-dmix_6
>  create mode 100644 tests/ref/fate/dca-xll_71_24_96_768
>  create mode 100644 tests/ref/fate/dca-xll_x96_51_24_96_1509
>  create mode 100644 tests/ref/fate/dca-xll_xch_61_24_48_768
> 
> diff --git a/tests/fate/dca.mak b/tests/fate/dca.mak
> index d8c1117..78d2f33 100644
> --- a/tests/fate/dca.mak
> +++ b/tests/fate/dca.mak
> @@ -1,3 +1,75 @@
> +# dcadec test samples
> +DCADEC_SUITE_LOSSLESS_16 = xll_51_16_192_768_0        \
> +                           xll_51_16_192_768_1        \
> +
> +DCADEC_SUITE_LOSSLESS_24 = xll_51_24_48_768           \
> +                           xll_51_24_48_none          \
> +                           xll_71_24_48_768_0         \
> +                           xll_71_24_48_768_1         \
> +                           xll_71_24_96_768           \
> +                           xll_x96_51_24_96_1509      \
> +                           xll_xch_61_24_48_768       \
> +
> +DCADEC_SUITE_LOSSY       = core_51_24_48_768_0        \
> +                           core_51_24_48_768_1        \
> +                           x96_51_24_96_1509          \
> +                           x96_xch_61_24_96_3840      \
> +                           x96_xxch_71_24_96_3840     \
> +                           xbr_51_24_48_3840          \
> +                           xbr_xch_61_24_48_3840      \
> +                           xbr_xxch_71_24_48_3840     \
> +                           xch_61_24_48_768           \
> +                           xxch_71_24_48_2046         \
> +
> +define FATE_DCADEC_LOSSLESS_SUITE
> +FATE_DCADEC_LOSSLESS += fate-dca-$(1)
> +fate-dca-$(1): CMD = md5 -i $(TARGET_SAMPLES)/dts/dcadec-suite/$(1).dtshd -f $(2)

Unlike the existing xll sample, all these new ones have six frames max, so you
could use framecrc or framemd5 instead.

> +endef
> +
> +define FATE_DCADEC_LOSSY_SUITE
> +FATE_DCADEC_LOSSY += fate-dca-$(1)
> +fate-dca-$(1): CMD = pcm -i $(TARGET_SAMPLES)/dts/dcadec-suite/$(1).dtshd
> +fate-dca-$(1): CMP = oneoff

Should be ok assuming converting to s16 before doing the comparison is acceptable.
I say this because the samples are 24bit if decoded using the fixed codepath, and
once we create the reference pcm files and add them to the fate suit, we'll be
stuck with them.

> +fate-dca-$(1): REF = $(SAMPLES)/dts/dcadec-suite/$(1).pcm
> +endef
> +
> +$(foreach N,$(DCADEC_SUITE_LOSSLESS_16),$(eval $(call FATE_DCADEC_LOSSLESS_SUITE,$(N),s16le)))
> +$(foreach N,$(DCADEC_SUITE_LOSSLESS_24),$(eval $(call FATE_DCADEC_LOSSLESS_SUITE,$(N),s24le)))
> +$(foreach N,$(DCADEC_SUITE_LOSSY),$(eval $(call FATE_DCADEC_LOSSY_SUITE,$(N))))
> +
> +# downmix tests
> +FATE_DCADEC_LOSSLESS += fate-dca-xll_51_16_192_768_1-dmix_2
> +fate-dca-xll_51_16_192_768_1-dmix_2: CMD = md5 -request_channel_layout 3 -i $(TARGET_SAMPLES)/dts/dcadec-suite/xll_51_16_192_768_1.dtshd -f s16le
> +
> +FATE_DCADEC_LOSSLESS += fate-dca-xll_71_24_48_768_0-dmix_2
> +fate-dca-xll_71_24_48_768_0-dmix_2: CMD = md5 -request_channel_layout 3 -i $(TARGET_SAMPLES)/dts/dcadec-suite/xll_71_24_48_768_0.dtshd -f s24le

This sample doesn't have stereo coeffs, so you're testing the same 5.1 stream as
the one below. Notice the md5 ref values for both are the same.

> +
> +FATE_DCADEC_LOSSLESS += fate-dca-xll_71_24_48_768_0-dmix_6
> +fate-dca-xll_71_24_48_768_0-dmix_6: CMD = md5 -request_channel_layout 0x60f -i $(TARGET_SAMPLES)/dts/dcadec-suite/xll_71_24_48_768_0.dtshd -f s24le
> +
> +FATE_DCADEC_LOSSLESS += fate-dca-xll_71_24_48_768_1-dmix_2
> +fate-dca-xll_71_24_48_768_1-dmix_2: CMD = md5 -request_channel_layout 3 -i $(TARGET_SAMPLES)/dts/dcadec-suite/xll_71_24_48_768_1.dtshd -f s24le
> +
> +FATE_DCADEC_LOSSLESS += fate-dca-xll_71_24_48_768_1-dmix_6
> +fate-dca-xll_71_24_48_768_1-dmix_6: CMD = md5 -request_channel_layout 0x60f -i $(TARGET_SAMPLES)/dts/dcadec-suite/xll_71_24_48_768_1.dtshd -f s24le
> +
> +FATE_DCADEC_LOSSY += fate-dca-core_51_24_48_768_1-dmix_2
> +fate-dca-core_51_24_48_768_1-dmix_2: CMD = pcm -request_channel_layout 3 -i $(TARGET_SAMPLES)/dts/dcadec-suite/core_51_24_48_768_1.dtshd
> +fate-dca-core_51_24_48_768_1-dmix_2: CMP = oneoff
> +fate-dca-core_51_24_48_768_1-dmix_2: REF = $(SAMPLES)/dts/dcadec-suite/core_51_24_48_768_1-dmix_2.pcm
> +
> +FATE_DCADEC_LOSSY += fate-dca-x96_xxch_71_24_96_3840-dmix_2
> +fate-dca-x96_xxch_71_24_96_3840-dmix_2: CMD = pcm -request_channel_layout 3 -i $(TARGET_SAMPLES)/dts/dcadec-suite/x96_xxch_71_24_96_3840.dtshd

Also here. The pcm ref files this test and the one below create are exactly the
same.

> +fate-dca-x96_xxch_71_24_96_3840-dmix_2: CMP = oneoff
> +fate-dca-x96_xxch_71_24_96_3840-dmix_2: REF = $(SAMPLES)/dts/dcadec-suite/x96_xxch_71_24_96_3840-dmix_2.pcm
> +
> +FATE_DCADEC_LOSSY += fate-dca-x96_xxch_71_24_96_3840-dmix_6
> +fate-dca-x96_xxch_71_24_96_3840-dmix_6: CMD = pcm -request_channel_layout 0x60f -i $(TARGET_SAMPLES)/dts/dcadec-suite/x96_xxch_71_24_96_3840.dtshd
> +fate-dca-x96_xxch_71_24_96_3840-dmix_6: CMP = oneoff
> +fate-dca-x96_xxch_71_24_96_3840-dmix_6: REF = $(SAMPLES)/dts/dcadec-suite/x96_xxch_71_24_96_3840-dmix_6.pcm
> +
> +FATE_DCA-$(call DEMDEC, DTS, DCA) += $(FATE_DCADEC_LOSSLESS) $(FATE_DCADEC_LOSSY)
> +
>  FATE_DCA-$(call DEMDEC, MPEGTS, DCA) += fate-dca-core
>  fate-dca-core: CMD = pcm -i $(TARGET_SAMPLES)/dts/dts.ts
>  fate-dca-core: CMP = oneoff



More information about the ffmpeg-devel mailing list