diff mbox

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

Message ID 1503812714-15433-1-git-send-email-paraschadha18@gmail.com
State New
Headers show

Commit Message

Paras Aug. 27, 2017, 5:45 a.m. UTC
Signed-off-by: Paras Chadha <paraschadha18@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

--
2.4.11

Comments

James Almer Aug. 31, 2017, 11:56 p.m. UTC | #1
On 8/27/2017 2:45 AM, Paras Chadha wrote:
> Signed-off-by: Paras Chadha <paraschadha18@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

Could you look at the current tests' failures first?

http://fate.ffmpeg.org/report.cgi?time=20170831190621&slot=x86_32-msvc12-windows-native
http://fate.ffmpeg.org/report.cgi?time=20170831131711&slot=x86_64-msvc12-windows-native
http://fate.ffmpeg.org/report.cgi?time=20170831182302&slot=x86_32-mingw-w64-dll-windows-native

The mingw x86_32 one seems to be related to the usage of floating point
math in the decoder (x87 vs sse). No idea what's wrong with MSVC, but
it's failing in both x86_64 and x86_32 there.
Paras Sept. 1, 2017, 4:27 p.m. UTC | #2
On Fri, Sep 1, 2017 at 5:26 AM, James Almer <jamrial@gmail.com> wrote:

> On 8/27/2017 2:45 AM, Paras Chadha wrote:
> > Signed-off-by: Paras Chadha <paraschadha18@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
>
> Could you look at the current tests' failures first?
>

Yes, thanks for telling. I am looking into them.


>
> http://fate.ffmpeg.org/report.cgi?time=20170831190621&slot=x
> 86_32-msvc12-windows-native
> http://fate.ffmpeg.org/report.cgi?time=20170831131711&slot=x
> 86_64-msvc12-windows-native
> http://fate.ffmpeg.org/report.cgi?time=20170831182302&slot=x
> 86_32-mingw-w64-dll-windows-native
>
> The mingw x86_32 one seems to be related to the usage of floating point
> math in the decoder (x87 vs sse). No idea what's wrong with MSVC, but
> it's failing in both x86_64 and x86_32 there.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
Carl Eugen Hoyos Oct. 29, 2017, 8:25 p.m. UTC | #3
2017-08-27 7:45 GMT+02:00 Paras Chadha <paraschadha18@gmail.com>:
> Signed-off-by: Paras Chadha <paraschadha18@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
diff mbox

Patch

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

 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-%)
+
+FATE_FITS += $(FATE_FITS_DEC-yes)
+fate-fitsdec: $(FATE_FITS_DEC-yes)

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

 FATE_FITS_ENC_PIXFMT = gray gray16be gbrp gbrap gbrp16be gbrap16be
-FATE_FITS_ENC-$(call ENCDEC, FITS, FITS) = $(FATE_FITS_ENC_PIXFMT:%=fate-fitsenc-%)
+$(FATE_FITS_ENC_PIXFMT:%=fate-fitsenc-%): tests/data/fits-multi.fits
+FATE_FITS_ENC-$(call ENCDEC, FITS, FITS) += $(FATE_FITS_ENC_PIXFMT:%=fate-fitsenc-%)

 FATE_FITS += $(FATE_FITS_ENC-yes)
 fate-fitsenc: $(FATE_FITS_ENC-yes)

-FATE_FITS-$(call DEMDEC, FITS, FITS) += $(FATE_FITS)
-
-FATE_SAMPLES_FFMPEG += $(FATE_FITS-yes)
-fate-fits: $(FATE_FITS-yes)
+FATE_SAMPLES_FFMPEG += $(FATE_FITS)
+fate-fits: $(FATE_FITS)
diff --git a/tests/ref/fate/fitsdec-bitpix-32 b/tests/ref/fate/fitsdec-bitpix-32
new file mode 100644
index 0000000..9bce361
--- /dev/null
+++ b/tests/ref/fate/fitsdec-bitpix-32
@@ -0,0 +1,6 @@ 
+#tb 0: 1/1
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 102x109
+#sar 0: 0/1
+0,          0,          0,        1,    22236, 0x34490902
diff --git a/tests/ref/fate/fitsdec-bitpix-64 b/tests/ref/fate/fitsdec-bitpix-64
new file mode 100644
index 0000000..9febdd6
--- /dev/null
+++ b/tests/ref/fate/fitsdec-bitpix-64
@@ -0,0 +1,6 @@ 
+#tb 0: 1/1
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 77x173
+#sar 0: 0/1
+0,          0,          0,        1,    26642, 0x0ad2a46a
diff --git a/tests/ref/fate/fitsdec-blank_bitpix32 b/tests/ref/fate/fitsdec-blank_bitpix32
new file mode 100644
index 0000000..184fd41
--- /dev/null
+++ b/tests/ref/fate/fitsdec-blank_bitpix32
@@ -0,0 +1,6 @@ 
+#tb 0: 1/1
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 256x256
+#sar 0: 0/1
+0,          0,          0,        1,   131072, 0x7fb22427
diff --git a/tests/ref/fate/fitsdec-ext_data_min_max b/tests/ref/fate/fitsdec-ext_data_min_max
new file mode 100644
index 0000000..9009a4e
--- /dev/null
+++ b/tests/ref/fate/fitsdec-ext_data_min_max
@@ -0,0 +1,6 @@ 
+#tb 0: 1/1
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 512x512
+#sar 0: 0/1
+0,          0,          0,        1,   524288, 0xc327ed23