Просмотр исходного кода

fate/pixfmts: test conversion of high bitdepth formats

Signed-off-by: James Almer <jamrial@gmail.com>
James Almer 4 месяцев назад
Родитель
Сommit
40878dfb11

+ 12 - 0
tests/fate-run.sh

@@ -503,6 +503,18 @@ pixfmt_conversion(){
               $ENC_OPTS -f rawvideo -s 352x288 -pix_fmt yuv444p -color_range mpeg
 }
 
+pixfmt_conversion_ext(){
+    prefix=$1
+    color_range="${test#pixfmt-}"
+    color_range=${color_range%-*}
+    conversion="${test#pixfmt-$color_range-}"
+    outdir="tests/data/pixfmt"
+    file=${outdir}/${color_range}-${conversion}.yuv
+    cleanfiles="$cleanfiles $file"
+    do_avconv $file $DEC_OPTS -lavfi ${prefix}testsrc=s=352x288,format=${color_range},scale,format=$conversion \
+              $ENC_OPTS -t 1 -f rawvideo -s 352x288 -pix_fmt ${color_range}le -color_range mpeg
+}
+
 pixdesc(){
     pix_fmt=${test#filter-pixdesc-}
     label=${test#filter-}

+ 105 - 2
tests/fate/pixfmt.mak

@@ -25,5 +25,108 @@ $(FATE_PIXFMT): CMD = pixfmt_conversion
 $(FATE_PIXFMT): REF = $(SRC_PATH)/tests/ref/pixfmt/$(@:fate-pixfmt-%=%)
 $(FATE_PIXFMT): $(VREF)
 
-FATE_AVCONV += $(FATE_PIXFMT)
-fate-pixfmt:   $(FATE_PIXFMT)
+PIXFMT_10_LIST =        gray10le        \
+                        gray10be        \
+                        yuv420p10le     \
+                        yuv420p10be     \
+                        yuv422p10le     \
+                        yuv422p10be     \
+                        yuv440p10le     \
+                        yuv440p10be     \
+                        yuv444p10le     \
+                        yuv444p10be     \
+                        y210le          \
+                        p010le          \
+                        p010be          \
+                        p210le          \
+                        p210be          \
+                        p410le          \
+                        p410be          \
+                        v30xle          \
+                        xv30le          \
+                        x2rgb10le       \
+                        x2bgr10le       \
+                        gbrp10le        \
+                        gbrp10be        \
+
+FATE_PIXFMT_10-YUV-$(call ALLYES, SCALE_FILTER YUVTESTSRC_FILTER LAVFI_INDEV) += $(PIXFMT_10_LIST)
+FATE_PIXFMT_10-RGB-$(call ALLYES, SCALE_FILTER RGBTESTSRC_FILTER LAVFI_INDEV) += $(PIXFMT_10_LIST)
+
+FATE_PIXFMT_10-YUV := $(FATE_PIXFMT_10-YUV-yes:%=fate-pixfmt-yuv444p10-%)
+FATE_PIXFMT_10-RGB := $(FATE_PIXFMT_10-RGB-yes:%=fate-pixfmt-gbrp10-%)
+
+$(FATE_PIXFMT_10-YUV): CMD = pixfmt_conversion_ext "yuv"
+$(FATE_PIXFMT_10-RGB): CMD = pixfmt_conversion_ext "rgb"
+
+FATE_PIXFMT_10 := $(FATE_PIXFMT_10-YUV) $(FATE_PIXFMT_10-RGB)
+$(FATE_PIXFMT_10): REF = $(SRC_PATH)/tests/ref/pixfmt/$(@:fate-pixfmt-%=%)
+
+PIXFMT_12_LIST =        gray12le        \
+                        gray12be        \
+                        yuv420p12le     \
+                        yuv420p12be     \
+                        yuv422p12le     \
+                        yuv422p12be     \
+                        yuv440p12le     \
+                        yuv440p12be     \
+                        yuv444p12le     \
+                        yuv444p12be     \
+                        y212le          \
+                        p012le          \
+                        p012be          \
+                        p212le          \
+                        p212be          \
+                        p412le          \
+                        p412be          \
+                        xv36le          \
+                        xv36be          \
+                        gbrp12le        \
+                        gbrp12be        \
+
+FATE_PIXFMT_12-YUV-$(call ALLYES, SCALE_FILTER YUVTESTSRC_FILTER LAVFI_INDEV) += $(PIXFMT_12_LIST)
+FATE_PIXFMT_12-RGB-$(call ALLYES, SCALE_FILTER RGBTESTSRC_FILTER LAVFI_INDEV) += $(PIXFMT_12_LIST)
+
+FATE_PIXFMT_12-YUV := $(FATE_PIXFMT_12-YUV-yes:%=fate-pixfmt-yuv444p12-%)
+FATE_PIXFMT_12-RGB := $(FATE_PIXFMT_12-RGB-yes:%=fate-pixfmt-gbrp12-%)
+
+$(FATE_PIXFMT_12-YUV): CMD = pixfmt_conversion_ext "yuv"
+$(FATE_PIXFMT_12-RGB): CMD = pixfmt_conversion_ext "rgb"
+
+FATE_PIXFMT_12 := $(FATE_PIXFMT_12-YUV) $(FATE_PIXFMT_12-RGB)
+$(FATE_PIXFMT_12): REF = $(SRC_PATH)/tests/ref/pixfmt/$(@:fate-pixfmt-%=%)
+
+PIXFMT_16_LIST =        gray16le        \
+                        gray16be        \
+                        yuv420p16le     \
+                        yuv420p16be     \
+                        yuv422p16le     \
+                        yuv422p16be     \
+                        yuv444p16le     \
+                        yuv444p16be     \
+                        y216le          \
+                        p016le          \
+                        p016be          \
+                        p216le          \
+                        p216be          \
+                        p416le          \
+                        p416be          \
+                        xv48le          \
+                        xv48be          \
+                        rgb48           \
+                        gbrp16le        \
+                        gbrp16be        \
+
+FATE_PIXFMT_16-YUV-$(call ALLYES, SCALE_FILTER YUVTESTSRC_FILTER LAVFI_INDEV) += $(PIXFMT_16_LIST)
+FATE_PIXFMT_16-RGB-$(call ALLYES, SCALE_FILTER RGBTESTSRC_FILTER LAVFI_INDEV) += $(PIXFMT_16_LIST)
+
+FATE_PIXFMT_16-YUV := $(FATE_PIXFMT_16-YUV-yes:%=fate-pixfmt-yuv444p16-%)
+FATE_PIXFMT_16-RGB := $(FATE_PIXFMT_16-RGB-yes:%=fate-pixfmt-gbrp16-%)
+
+$(FATE_PIXFMT_16-YUV): CMD = pixfmt_conversion_ext "yuv"
+$(FATE_PIXFMT_16-RGB): CMD = pixfmt_conversion_ext "rgb"
+
+FATE_PIXFMT_16 := $(FATE_PIXFMT_16-YUV) $(FATE_PIXFMT_16-RGB)
+$(FATE_PIXFMT_16): REF = $(SRC_PATH)/tests/ref/pixfmt/$(@:fate-pixfmt-%=%)
+
+FATE_AVCONV += $(FATE_PIXFMT) $(FATE_PIXFMT_8) $(FATE_PIXFMT_10) $(FATE_PIXFMT_12) $(FATE_PIXFMT_16)
+fate-pixfmt:   $(FATE_PIXFMT) $(FATE_PIXFMT_8) $(FATE_PIXFMT_10) $(FATE_PIXFMT_12) $(FATE_PIXFMT_16)

+ 2 - 0
tests/ref/pixfmt/gbrp10-gbrp10be

@@ -0,0 +1,2 @@
+1f9cc212a4081b6e35811df461b18fec *tests/data/pixfmt/gbrp10-gbrp10be.yuv
+15206400 tests/data/pixfmt/gbrp10-gbrp10be.yuv

+ 2 - 0
tests/ref/pixfmt/gbrp10-gbrp10le

@@ -0,0 +1,2 @@
+1f9cc212a4081b6e35811df461b18fec *tests/data/pixfmt/gbrp10-gbrp10le.yuv
+15206400 tests/data/pixfmt/gbrp10-gbrp10le.yuv

+ 2 - 0
tests/ref/pixfmt/gbrp10-gray10be

@@ -0,0 +1,2 @@
+3d81484df522da621f2735c53bc3856b *tests/data/pixfmt/gbrp10-gray10be.yuv
+15206400 tests/data/pixfmt/gbrp10-gray10be.yuv

+ 2 - 0
tests/ref/pixfmt/gbrp10-gray10le

@@ -0,0 +1,2 @@
+3d81484df522da621f2735c53bc3856b *tests/data/pixfmt/gbrp10-gray10le.yuv
+15206400 tests/data/pixfmt/gbrp10-gray10le.yuv

+ 2 - 0
tests/ref/pixfmt/gbrp10-p010be

@@ -0,0 +1,2 @@
+361fa84042e8618d322a3c1cbd0a5824 *tests/data/pixfmt/gbrp10-p010be.yuv
+15206400 tests/data/pixfmt/gbrp10-p010be.yuv

+ 2 - 0
tests/ref/pixfmt/gbrp10-p010le

@@ -0,0 +1,2 @@
+361fa84042e8618d322a3c1cbd0a5824 *tests/data/pixfmt/gbrp10-p010le.yuv
+15206400 tests/data/pixfmt/gbrp10-p010le.yuv

+ 2 - 0
tests/ref/pixfmt/gbrp10-p210be

@@ -0,0 +1,2 @@
+d3ae9cee6bae0df1bf830014bd07d2ed *tests/data/pixfmt/gbrp10-p210be.yuv
+15206400 tests/data/pixfmt/gbrp10-p210be.yuv

+ 2 - 0
tests/ref/pixfmt/gbrp10-p210le

@@ -0,0 +1,2 @@
+d3ae9cee6bae0df1bf830014bd07d2ed *tests/data/pixfmt/gbrp10-p210le.yuv
+15206400 tests/data/pixfmt/gbrp10-p210le.yuv

Некоторые файлы не были показаны из-за большого количества измененных файлов