From patchwork Fri Oct 18 17:53:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 52392 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:143:b0:48e:c0f8:d0de with SMTP id h3csp1293645vqi; Fri, 18 Oct 2024 18:39:13 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWrXAXWhEa4u9Ajy27rV7ZW6THKs+H1oD1Lg83YL347yv5j8q9aBFtxYG5h7jFZaIemeX9KfPUvcTaYNoqCG1nj@gmail.com X-Google-Smtp-Source: AGHT+IG7h/nuy2dA0tDLJ2fp2nSKTKX3XLtFOKXQpikW4pA41Hq0tCvR07nCZPMOiU1OU1eqqFaW X-Received: by 2002:a05:6512:ea9:b0:536:52ed:a23f with SMTP id 2adb3069b0e04-53a1519909cmr2317116e87.0.1729301953087; Fri, 18 Oct 2024 18:39:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1729301953; cv=none; d=google.com; s=arc-20240605; b=Hv9VoG+bDQ5sp7Sw56de4vL3A/RTtiUQ3XFCLRvhGCHOsYMibKkDWzYUd0NYhIp6BR uOSgf8/zF2XLSZDSMdaE9UeUfA/LBe5QD8S5QZh5ngyAeO96SpwcFRL+/llDo/vsHYjR 7Go6118CmetykI0BJWBpuOrO8aG0kWPwo0RWn4QbofuNWD3Yu98Cae/YbNVIn2CFhe8e pT6IUB4xFKOcPuHmRXrN+InLxernMj6/R/ff0/00qAFzizLHZC//7/o/Us4PeqnjlqTp fOQIkW2R7+sqBQgPIesG4SpFJvsyAD6pHEFpWH9JTFccsK5hUqPs/+8ulO4sxWSxqQg3 /TiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=dJRWpN+Bg8VAUNE8+KYb8WyJ/UjJBCkQa/7L8yeiD8I=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=VlB4FLMM3pLIj/B9sBkvXxQMJn35oqV9mA2DuPzW+Xh8S69zXbXbvYIkDwc0KJtc0J vjuGLC6mU+Z+8scdsduR/U71JbbjskUST/8KlL6alTunccPwIQxT2y+ZEspRpsiOvpJv rDH8/XDnmi8RpWRC+EMaOVbIf1ytIEWaI8rMA+hYV+h3nGPbmCMEuCHj5RIIMfQBwvT5 HZHzfuUPzi0qbeZkbuHoXkNPyKfE3nZ5Yu7JXuIiMtz/sYCLOtVnoNNQkrboK9tvlhvx 4JoILEAvj72APJlMLW0uKfdcmT9hii0icHEFnNFq1tSYjTRnuXmClqOPsn9ru2ty9QpX 1b/Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=WU2VjfaQ; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=fail header.i=@gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 2adb3069b0e04-53a151b3389si999745e87.102.2024.10.18.18.39.12; Fri, 18 Oct 2024 18:39:13 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=WU2VjfaQ; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8AEC668DD8B; Fri, 18 Oct 2024 20:53:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1499568DCAE for ; Fri, 18 Oct 2024 20:53:27 +0300 (EEST) Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-2e2dcf4b153so1859772a91.1 for ; Fri, 18 Oct 2024 10:53:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729274005; x=1729878805; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=PUQIwAzymq88Mep+ZWcLggqSqTX8pOW9zxL3BprY1mQ=; b=WU2VjfaQyzVJkkMgfYxpra4yEcPosgJ0ofqSZ1uVSSYinQDRE9uz5hWXb2mU0lbDd0 Wt3YxTvTm4iZwkynFuryKPweFceYIDVBfgQKc0Z3Qs32ikG42MZsWk/oz6xN1YsWYOve Wke0/cr0HgqNMS4U5gCybD+a8GchwlixIkjxUxr9eHjXRXgunDWr4AEeKsPJQjOfmRN6 10WjFQa1WMBJwuNYPharQP+BqRYO518EQWbOLlAyJAC1OjRDRfcrcTCEbk+ZQNbiZqDz ISjaImL1T1IodO/oMWbDcUcsoGXQtUCr7NQYBAQu+V0KLOvArAGfGC/pjTQw8JJwNsOH Mi4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729274005; x=1729878805; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PUQIwAzymq88Mep+ZWcLggqSqTX8pOW9zxL3BprY1mQ=; b=CIB4ywxg5M1AA3NcYzC7U4+OMAFoQr/878bMutN3svxj3ZW6+suhTTVuZHBD3mazZ8 XHTk/BRAsUFOFiPdCBcrXnc3g/zhw8ilrpX1pVRfE1RYkky4qHS4OB8cO3LeCVS/E0z/ NrBQ4Bk4qRNeEuPmew6bSECUxdY2KmhXb9qO1Hf2MBHLGzNVOZoI2S9uQOgm7c+9e0Om XFtOcyMYQ7lQRsf5UtxuCproSAuE96c3PIEynIjXnWbPQxO9N9dKq52Kr82mkEX2EuXo rNxXwSb608h34KDYpo0ROjSv9RWqofOfUESqxcHVsqX3+YF+2dkDETQOMkj4XnYpCPck 5+5w== X-Gm-Message-State: AOJu0YwJDKjN26mhiQlg+fo6DgYQVX4mRzBrT60SATW398Iu4PkxHITU fdJGJD50DgdEkw5xlznF3u9hBVDW0AGOnc6VbRWbAu70ts+DL6kTH7qbfA== X-Received: by 2002:a17:90a:b398:b0:2e0:853a:af47 with SMTP id 98e67ed59e1d1-2e561a15093mr3686862a91.33.1729274004461; Fri, 18 Oct 2024 10:53:24 -0700 (PDT) Received: from localhost.localdomain ([181.92.233.116]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e55da73fd8sm2417387a91.48.2024.10.18.10.53.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Oct 2024 10:53:23 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 18 Oct 2024 14:53:15 -0300 Message-ID: <20241018175315.5346-1-jamrial@gmail.com> X-Mailer: git-send-email 2.47.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH][WIP] fate: skip encoded output hashing for tests that depend on zlib X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: FnqpA80pFYnM As there's no guarantee that the output will be exactly the same across implementations, just don't test it at all. Signed-off-by: James Almer --- Marked as WIP beuse i can't get enc_dec() to work like transcode() and the rest. My bash-fu isn't good and the twopass argument handling in vcodec.mak is being a problem, so help welcome. tests/fate-run.sh | 18 ++++++++++++++---- tests/fate/image.mak | 4 ++-- tests/fate/lavf-image.mak | 5 +++-- tests/fate/lavf-video.mak | 4 ++-- tests/fate/mov.mak | 2 +- tests/ref/fate/mov-cover-image | 2 -- tests/ref/fate/png-icc | 2 -- tests/ref/fate/png-mdcv | 2 -- tests/ref/lavf/apng | 2 -- tests/ref/lavf/apng.png | 2 -- tests/ref/lavf/gray16be.png | 2 -- tests/ref/lavf/rgb48be.png | 2 -- 12 files changed, 22 insertions(+), 25 deletions(-) diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 309ab85134..11e063693c 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -257,6 +257,8 @@ transcode(){ additional_input=$7 final_decode=$8 enc_opt_in=$9 + shift + no_file_checksums=$9 test -z "$additional_input" || additional_input="$DEC_OPTS $additional_input" encfile="${outdir}/${test}.${enc_fmt}" test $keep -ge 1 || cleanfiles="$cleanfiles $encfile" @@ -264,8 +266,10 @@ transcode(){ tencfile=$(target_path $encfile) ffmpeg -f $src_fmt $DEC_OPTS $enc_opt_in -i $tsrcfile $additional_input \ $ENC_OPTS $enc_opt $FLAGS -f $enc_fmt -y $tencfile || return - do_md5sum $encfile - echo $(wc -c $encfile) + if [ -z "$no_file_checksums" ]; then + do_md5sum $encfile + echo $(wc -c $encfile) + fi ffmpeg $DEC_OPTS $final_decode -i $tencfile $ENC_OPTS $FLAGS $final_encode \ -f framecrc - || return test -z "$ffprobe_opts" || \ @@ -439,12 +443,18 @@ lavf_image2pipe(){ } lavf_video(){ + no_file_checksums="$3" t="${test#lavf-}" outdir="tests/data/lavf" + mkdir -p "$outdir" file=${outdir}/lavf.$t test "$keep" -ge 1 || cleanfiles="$cleanfiles $file" - do_avconv $file -auto_conversion_filters $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src \ - "$ENC_OPTS -metadata title=lavftest" -t 1 -qscale 10 $1 $2 || return + run_avconv -auto_conversion_filters $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src \ + "$ENC_OPTS -metadata title=lavftest" -t 1 -qscale 10 $1 $2 $target_path/$file || return + if [ -z "$no_file_checksums" ]; then + do_md5sum $file + echo $(wc -c $file) + fi do_avconv_crc $file -auto_conversion_filters $DEC_OPTS -i $target_path/$file $1 } diff --git a/tests/fate/image.mak b/tests/fate/image.mak index 042cf6438f..11bb058826 100644 --- a/tests/fate/image.mak +++ b/tests/fate/image.mak @@ -410,7 +410,7 @@ fate-png-side-data: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_frames \ -i $(TARGET_SAMPLES)/png1/lena-int_rgb24.png FATE_PNG_TRANSCODE-$(call TRANSCODE, PNG, IMAGE2 IMAGE_PNG_PIPE) += fate-png-icc -fate-png-icc: CMD = transcode png_pipe $(TARGET_SAMPLES)/png1/lena-int_rgb24.png image2 "-c png" "" "-show_frames" +fate-png-icc: CMD = transcode png_pipe $(TARGET_SAMPLES)/png1/lena-int_rgb24.png image2 "-c png" "" "-show_frames" "" "" "" "no_file_checksums" FATE_PNG_PROBE-$(call ALLYES, LCMS2) += fate-png-icc-parse fate-png-icc-parse: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_frames \ @@ -420,7 +420,7 @@ FATE_PNG_TRANSCODE-$(call TRANSCODE, PNG HEVC, IMAGE2PIPE HEVC, \ IMAGE_PNG_PIPE_DEMUXER HEVC_PARSER PNG_DECODER SCALE_FILTER) += fate-png-mdcv fate-png-mdcv: CMD = transcode hevc $(TARGET_SAMPLES)/hevc/hdr10_plus_h265_sample.hevc image2pipe \ "-pix_fmt rgb24 -vf scale -c png" "" \ - "-show_frames -show_entries frame=side_data_list -of flat" + "-show_frames -show_entries frame=side_data_list -of flat" "" "" "" "no_file_checksums" FATE_PNG-$(call DEMDEC, IMAGE2, PNG) += $(FATE_PNG) FATE_PNG_PROBE-$(call DEMDEC, IMAGE2, PNG) += $(FATE_PNG_PROBE) diff --git a/tests/fate/lavf-image.mak b/tests/fate/lavf-image.mak index 4177e091b3..236bbcf513 100644 --- a/tests/fate/lavf-image.mak +++ b/tests/fate/lavf-image.mak @@ -88,8 +88,9 @@ fate-lavf-grayf32le.pfm: CMD = lavf_image "-pix_fmt grayf32le" "-pix_fmt grayf fate-lavf-grayf32be.pfm: CMD = lavf_image "-pix_fmt grayf32be" "-pix_fmt grayf32be" fate-lavf-gbrpf32le.pfm: CMD = lavf_image "-pix_fmt gbrpf32le" "-pix_fmt gbrpf32le" fate-lavf-gbrpf32be.pfm: CMD = lavf_image "-pix_fmt gbrpf32be" "-pix_fmt gbrpf32be" -fate-lavf-gray16be.png: CMD = lavf_image "-pix_fmt gray16be" -fate-lavf-rgb48be.png: CMD = lavf_image "-pix_fmt rgb48be" +fate-lavf-png: CMD = lavf_image "-pix_fmt rgb24" "" "no_file_checksums" +fate-lavf-gray16be.png: CMD = lavf_image "-pix_fmt gray16be" "" "no_file_checksums" +fate-lavf-rgb48be.png: CMD = lavf_image "-pix_fmt rgb48be" "" "no_file_checksums" fate-lavf-rgba.xwd: CMD = lavf_image "-pix_fmt rgba" fate-lavf-rgb565be.xwd: CMD = lavf_image "-pix_fmt rgb565be" fate-lavf-rgb555be.xwd: CMD = lavf_image "-pix_fmt rgb555be" diff --git a/tests/fate/lavf-video.mak b/tests/fate/lavf-video.mak index da3b114bc8..b7970a9e1f 100644 --- a/tests/fate/lavf-video.mak +++ b/tests/fate/lavf-video.mak @@ -19,8 +19,8 @@ $(FATE_LAVF_VIDEO): CMD = lavf_video $(FATE_LAVF_VIDEO): REF = $(SRC_PATH)/tests/ref/lavf/$(@:fate-lavf-%=%) $(FATE_LAVF_VIDEO): $(VREF) -fate-lavf-apng: CMD = lavf_video "-pix_fmt rgb24" -fate-lavf-apng.png: CMD = lavf_video "-pix_fmt rgb24" "-frames:v 1 -f apng" +fate-lavf-apng: CMD = lavf_video "-pix_fmt rgb24" "" "no_file_checksums" +fate-lavf-apng.png: CMD = lavf_video "-pix_fmt rgb24" "-frames:v 1 -f apng" "no_file_checksums" fate-lavf-gray.fits: CMD = lavf_video "-pix_fmt gray" fate-lavf-gray16be.fits: CMD = lavf_video "-pix_fmt gray16be" fate-lavf-gbrp.fits: CMD = lavf_video "-pix_fmt gbrp" diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak index ca13ebfd44..845d577bcf 100644 --- a/tests/fate/mov.mak +++ b/tests/fate/mov.mak @@ -138,7 +138,7 @@ fate-mov-mp4-chapters: CMD = transcode ogg $(TARGET_SAMPLES)/vorbis/vorbis_chapt FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call TRANSCODE, PNG, MP4 MOV, MJPEG_DECODER SCALE_FILTER) \ += fate-mov-cover-image -fate-mov-cover-image: CMD = transcode mov $(TARGET_SAMPLES)/cover_art/Owner-iTunes_9.0.3.15.m4a mp4 "-map 0 -map 0:v -c:a copy -c:v:0 copy -filter:v:1 scale -c:v:1 png" "-map 0 -t 0.1 -c copy" "-show_entries stream_disposition=attached_pic:stream=index,codec_name" +fate-mov-cover-image: CMD = transcode mov $(TARGET_SAMPLES)/cover_art/Owner-iTunes_9.0.3.15.m4a mp4 "-map 0 -map 0:v -c:a copy -c:v:0 copy -filter:v:1 scale -c:v:1 png" "-map 0 -t 0.1 -c copy" "-show_entries stream_disposition=attached_pic:stream=index,codec_name" "" "" "" "no_file_checksums" FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call TRANSCODE, TTML SUBRIP, MP4 MOV, SRT_DEMUXER TTML_MUXER) += fate-mov-mp4-ttml-stpp fate-mov-mp4-ttml-dfxp fate-mov-mp4-ttml-stpp: CMD = transcode srt $(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt mp4 "-map 0:s -c:s ttml -time_base:s 1:1000" "-map 0 -c copy" "-of json -show_entries packet:stream=index,codec_type,codec_tag_string,codec_tag,codec_name,time_base,start_time,duration_ts,duration,nb_frames,nb_read_packets:stream_tags" diff --git a/tests/ref/fate/mov-cover-image b/tests/ref/fate/mov-cover-image index 5f65c630ea..6348df073a 100644 --- a/tests/ref/fate/mov-cover-image +++ b/tests/ref/fate/mov-cover-image @@ -1,5 +1,3 @@ -54a8870d5d1e6cc4da28ae422aa70898 *tests/data/fate/mov-cover-image.mp4 -1011919 tests/data/fate/mov-cover-image.mp4 #extradata 0: 2, 0x00340022 #tb 0: 1/44100 #media_type 0: audio diff --git a/tests/ref/fate/png-icc b/tests/ref/fate/png-icc index 19f8c0a752..ddd5502bec 100644 --- a/tests/ref/fate/png-icc +++ b/tests/ref/fate/png-icc @@ -1,5 +1,3 @@ -c460cd06a88ace94d7c76a6309aa8fb8 *tests/data/fate/png-icc.image2 -49441 tests/data/fate/png-icc.image2 #tb 0: 1/25 #media_type 0: video #codec_id 0: rawvideo diff --git a/tests/ref/fate/png-mdcv b/tests/ref/fate/png-mdcv index c524a94ded..eb88c53601 100644 --- a/tests/ref/fate/png-mdcv +++ b/tests/ref/fate/png-mdcv @@ -1,5 +1,3 @@ -fc68fe6c8c72343b96d2695f6913995b *tests/data/fate/png-mdcv.image2pipe -439248 tests/data/fate/png-mdcv.image2pipe #tb 0: 1/25 #media_type 0: video #codec_id 0: rawvideo diff --git a/tests/ref/lavf/apng b/tests/ref/lavf/apng index 95f1fbee6f..b52460b8af 100644 --- a/tests/ref/lavf/apng +++ b/tests/ref/lavf/apng @@ -1,3 +1 @@ -a4c46fad7716ad094eb3c78b74ca0244 *tests/data/lavf/lavf.apng -6209864 tests/data/lavf/lavf.apng tests/data/lavf/lavf.apng CRC=0x87b3c15f diff --git a/tests/ref/lavf/apng.png b/tests/ref/lavf/apng.png index b42f5a8db8..f23f6ccb23 100644 --- a/tests/ref/lavf/apng.png +++ b/tests/ref/lavf/apng.png @@ -1,3 +1 @@ -c5900fdd1b2fc30b985793f5226fd0c4 *tests/data/lavf/lavf.apng.png -248854 tests/data/lavf/lavf.apng.png tests/data/lavf/lavf.apng.png CRC=0xd8c7b7a1 diff --git a/tests/ref/lavf/gray16be.png b/tests/ref/lavf/gray16be.png index 4f4ce179d2..cd759993c1 100644 --- a/tests/ref/lavf/gray16be.png +++ b/tests/ref/lavf/gray16be.png @@ -1,3 +1 @@ -6cf54c13aa407b77547cf6dfe23ecba3 *tests/data/images/gray16be.png/02.gray16be.png -47365 tests/data/images/gray16be.png/02.gray16be.png tests/data/images/gray16be.png/%02d.gray16be.png CRC=0x893f10ef diff --git a/tests/ref/lavf/rgb48be.png b/tests/ref/lavf/rgb48be.png index b893401a8f..9e1e50c2ee 100644 --- a/tests/ref/lavf/rgb48be.png +++ b/tests/ref/lavf/rgb48be.png @@ -1,3 +1 @@ -b4e38244c97debe3f528e7d1adb283ef *tests/data/images/rgb48be.png/02.rgb48be.png -511900 tests/data/images/rgb48be.png/02.rgb48be.png tests/data/images/rgb48be.png/%02d.rgb48be.png CRC=0x5984c023