[FFmpeg-devel] [PATCH] fate/fits: add new test & gen few samples automatically

Carl Eugen Hoyos ceffmpeg at gmail.com
Sun Oct 29 22:25:12 EET 2017


2017-08-27 7:45 GMT+02:00 Paras Chadha <paraschadha18 at gmail.com>:
> Signed-off-by: Paras Chadha <paraschadha18 at gmail.com>
> ---
> All other FITS patches need to be applied before this one.
>
>  tests/fate/demux.mak                    |  3 +-
>  tests/fate/fits.mak                     | 57 ++++++++++++++++++++++++++-------
>  tests/ref/fate/fitsdec-bitpix-32        |  6 ++++
>  tests/ref/fate/fitsdec-bitpix-64        |  6 ++++
>  tests/ref/fate/fitsdec-blank_bitpix32   |  6 ++++
>  tests/ref/fate/fitsdec-ext_data_min_max |  6 ++++
>  6 files changed, 72 insertions(+), 12 deletions(-)
>  create mode 100644 tests/ref/fate/fitsdec-bitpix-32
>  create mode 100644 tests/ref/fate/fitsdec-bitpix-64
>  create mode 100644 tests/ref/fate/fitsdec-blank_bitpix32
>  create mode 100644 tests/ref/fate/fitsdec-ext_data_min_max
>
> diff --git a/tests/fate/demux.mak b/tests/fate/demux.mak
> index 66e26ed..261b004 100644
> --- a/tests/fate/demux.mak
> +++ b/tests/fate/demux.mak
> @@ -37,7 +37,8 @@ FATE_SAMPLES_DEMUX-$(CONFIG_EA_DEMUXER) += fate-d-eavp6-demux
>  fate-d-eavp6-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ea-vp6/SmallRing.vp6 -map 0 -vcodec copy
>
>  FATE_SAMPLES_DEMUX-$(CONFIG_FITS_DEMUXER) += fate-fits-demux
> -fate-fits-demux: CMD = framecrc -i $(TARGET_SAMPLES)/fits/fits-multi.fits -vcodec copy
> +fate-fits-demux: tests/data/fits-multi.fits
> +fate-fits-demux: CMD = framecrc -i $(TARGET_PATH)/tests/data/fits-multi.fits -vcodec copy
>
>  FATE_SAMPLES_DEMUX-$(CONFIG_FLV_DEMUXER) += fate-flv-demux
>  fate-flv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/flv/Enigma_Principles_of_Lust-part.flv -codec copy
> diff --git a/tests/fate/fits.mak b/tests/fate/fits.mak
> index 8202870..983946d 100644
> --- a/tests/fate/fits.mak
> +++ b/tests/fate/fits.mak
> @@ -1,25 +1,60 @@
> -FATE_FITS += fate-fitsdec-multi
> -fate-fitsdec-multi: CMD = framecrc -i $(TARGET_SAMPLES)/fits/fits-multi.fits -pix_fmt gbrap
> +tests/data/fits-multi.fits: TAG = GEN
> +tests/data/fits-multi.fits: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
> +       $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
> +        -i $(TARGET_SAMPLES)/gif/m4nb.gif \
> +        -y $(TARGET_PATH)/$(@) 2>/dev/null
> +
> +#mapping of fits file formats to png filenames
> +map.tests/data/lena-gray.fits    := gray8
> +map.tests/data/lena-gray16.fits  := gray16
> +map.tests/data/lena-gbrp.fits    := rgb24
> +map.tests/data/lena-gbrp16.fits  := rgb48
> +map.tests/data/lena-gbrap16.fits := rgba64
> +
> +tests/data/lena%.fits: TAG = GEN
> +tests/data/lena%.fits: NAME = $(map.$(@))
> +tests/data/lena%.fits: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
> +       $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
> +        -i $(TARGET_SAMPLES)/png1/lena-$(map.$(@)).png \
> +        -y $(TARGET_PATH)/$(@) 2>/dev/null

> +FATE_FITS_DEC-$(call DEMDEC, FITS, FITS) += fate-fitsdec-ext_data_min_max
> +fate-fitsdec-ext_data_min_max: CMD = framecrc -i $(TARGET_SAMPLES)/fits/x0cj010ct_d0h.fit -pix_fmt gray16
> +
> +FATE_FITS_DEC-$(call DEMDEC, FITS, FITS) += fate-fitsdec-blank_bitpix32
> +fate-fitsdec-blank_bitpix32: CMD = framecrc -blank_value 65535 -i $(TARGET_SAMPLES)/fits/file008.fits -pix_fmt gray16
> +
> +FATE_FITS_DEC-$(call DEMDEC, FITS, FITS) += fate-fitsdec-bitpix-32
> +fate-fitsdec-bitpix-32: CMD = framecrc -i $(TARGET_SAMPLES)/fits/tst0005.fits -pix_fmt gray16
> +
> +FATE_FITS_DEC-$(call DEMDEC, FITS, FITS) += fate-fitsdec-bitpix-64
> +fate-fitsdec-bitpix-64: CMD = framecrc -i $(TARGET_SAMPLES)/fits/tst0006.fits -pix_fmt gray16

I fixed those.

> +FATE_FITS_DEC-$(call DEMDEC, FITS, FITS) += fate-fitsdec-multi
> +fate-fitsdec-multi: tests/data/fits-multi.fits
> +fate-fitsdec-multi: CMD = framecrc -i $(TARGET_PATH)/tests/data/fits-multi.fits -pix_fmt gbrap

>  fate-fitsdec%: PIXFMT = $(word 3, $(subst -, ,$(@)))
> -fate-fitsdec%: SRC = $(TARGET_SAMPLES)/fits/lena-$(PIXFMT).fits
> +fate-fitsdec%: SRC = $(TARGET_PATH)/tests/data/lena-$(PIXFMT).fits
>  fate-fitsdec%: CMD = framecrc -i $(SRC) -pix_fmt $(PIXFMT)

Not sure how to fix this great idea.
I would be glad if somebody would send a patch (or even better,
push), if not I may be doing something silly.

Note that the choice of source apparently wasn't ideal:
The gbrp16 test does not fail on big-endian, it works
for both endianesses, imo indicating that it is not a
good test.
gbrap16 fails.

>  FATE_FITS_DEC_PIXFMT = gray gray16 gbrp gbrp16 gbrap16
> -FATE_FITS += $(FATE_FITS_DEC_PIXFMT:%=fate-fitsdec-%)
> +$(FATE_FITS_DEC_PIXFMT:%=fate-fitsdec-%): fate-fitsdec-%: tests/data/lena-%.fits
> +FATE_FITS_DEC-$(call DEMDEC, FITS, FITS) += $(FATE_FITS_DEC_PIXFMT:%=fate-fitsdec-%)

Is there no big-endian fate instance left?

Carl Eugen


More information about the ffmpeg-devel mailing list