fate/filter-video: make fate-filter-pixdesc compare the hashed output with and without pixdesctest filtering

This helps detecting inconsistencies in swscale input/output code and
a av_read_image_line()/av_write_image_line() pass.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
James Almer 2024-10-18 21:04:06 -03:00 committed by Paul B Mahol
parent 1a442ad19a
commit f67c76aaee
2 changed files with 22 additions and 1 deletions

View File

@ -503,6 +503,27 @@ pixfmt_conversion(){
$ENC_OPTS -f rawvideo -s 352x288 -pix_fmt yuv444p -color_range mpeg
}
pixdesc(){
pix_fmt=${test#filter-pixdesc-}
label=${test#filter-}
raw_src="${target_path}/tests/vsynth1/%02d.pgm"
md5file1="${outdir}/${test}-1.md5"
md5file2="${outdir}/${test}-2.md5"
cleanfiles="$cleanfiles $md5file1 $md5file2"
ffmpeg $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src \
$FLAGS $ENC_OPTS -vf "scale,format=$pix_fmt" -vcodec rawvideo -frames:v 5 \
"-pix_fmt $pix_fmt" -f nut md5:$md5file1
ffmpeg $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src \
$FLAGS $ENC_OPTS -vf "scale,format=$pix_fmt,pixdesctest" -vcodec rawvideo -frames:v 5 \
"-pix_fmt $pix_fmt" -f nut md5:$md5file2
diff -u -q $md5file1 $md5file2 || return
printf '%-20s' $label
cat $md5file1
}
video_filter(){
filters=$1
shift

View File

@ -569,7 +569,7 @@ ifneq (,$(RUNNING_PIXFMTS_TESTS))
endif
FATE_FILTER_PIXDESC-$(call VIDEO_FILTER, SCALE FORMAT PIXDESCTEST) += $(addprefix fate-filter-pixdesc-, $(PIXFMTS))
fate-filter-pixdesc-%: CMD = video_filter "scale,format=$(@:fate-filter-pixdesc-%=%),pixdesctest" -pix_fmt $(@:fate-filter-pixdesc-%=%)
fate-filter-pixdesc-%: CMD = pixdesc
fate-filter-pixdesc: $(FATE_FILTER_PIXDESC-yes)
FATE_FILTER_VSYNTH-yes += $(FATE_FILTER_PIXDESC-yes)