From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 25CC04D758 for ; Thu, 27 Nov 2025 02:46:57 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'wU7eqaHPFwi2bgMWjD75mANEDBeV3cTf8XZow+fP6qM=', expected b'BxeTdq7xV0WskTyICnlT5yDaM/G0DiXYJcWagwa6y60=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1764211591; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=wU7eqaHPFwi2bgMWjD75mANEDBeV3cTf8XZow+fP6qM=; b=YfBMJ5FCWF7vzpp+VIkVRXnPp/cqtOvXdrEKWhocUgqwjNI+bfiswSuIAwYlYbnleh7qm 4tSHUNfj+m1ZimryO1kFoF0TQ3LX/2QN99Z0S+wDTZI3UZ9JTcrUE4/8J1iytchKEzxM2L1 4gXi0MrTbZ1IB5SFcD5oVYSEO6nhkVxYyezwPmBOFcupz6Yy+QFSBkjZSNe3X5xzv9TTJ9T 4XCih87JUAtmdJx9xvE642FVOnyeosD4UlztdzvsHZTWap0a5GvbiaxPWqcf9pL0pFqTvSa MobrzNQE7sKmWiiEUu+N7ZsiX6CdZ3lSn4n+4oKVl1vmEPMUR4naRG+BNOew== Received: from [172.19.0.3] (unknown [172.19.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id C86F3690216; Thu, 27 Nov 2025 04:46:31 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1764211566; b=E7qyUhU4uAEJo5i/1aZrbQrzdvW+wTY6qIbEwmiKHJJbeYh33k70nzyeHPlxA5XfH3V77 AvBSZl3mqmjK49e+VccQLN6UHLRKhVH0rumlVUQ9npPj6z5yKa5tG5gVpXtqTdaCOcp4Fb4 iSIrWPM6rrUjWGFCdypeykancz479/IIXNjdyFGAhdsiBLLMSbzUZGFykl+5FruM+n1mGp3 CYbAuJ4fBe9IMe/cd2SvWcqYAO9QqH/xcYvge7IJzR7iHTiU5qwEPAmiCpozXZrvbeaEGqD 4y+JnFd+6mHIGUSlXHMl6EIjJm5eujVY/HplCRTx9KfTET6f7NfFlOae+Zvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1764211566; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=Na9KQSEKL8+0QaqpmxxM+0EosySDQiL2bp37fE54Ypw=; b=ScJ+49tqyR5VKeMzPZ/RH71Y6BaBjc0B/AeZ1cAKB8rF38zw/XqF1/b/kerLcp9ipbe/W +wn7XJtm+PMsgK2POCbSA5QzklSson8oUEN1ULiLyxyYMNkye4pfowruXntXf+c2sUajk2N /mv+Td3RUhTNou3MOGCZ+9yurJqW9bh9/o3z+01Gi6J/u9xoxJaLDnGgQzaB58POkZSSAHU gzXfwfmQlZ4CBTfg3TGOL7HC/zqqePwrPqSIeN2aj/7iN2pOGoASDPn65BkKKYbMv1Yi5YE A9zL48uFFOSqtl+JNZkxO4Ngc7kKfrhmdkf8g391noHQzxSgvVuiYQEFNQ3w== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1764211551; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=BxeTdq7xV0WskTyICnlT5yDaM/G0DiXYJcWagwa6y60=; b=Wp2AnYBgpx7Aah0/0OyjJhFSWTBjoBzXAmZRjPEyA3qcMr/HJHF2kdRkAK6VXyhrkvoHv 0PlgyEfi/2uIHPgUc8wV83KptezXptcTkoyEm/VWW9mZJ+Qd0sr9t0qyniBqiN+bQ0/VLux ISBVQLvcmZEtIHi0ccasOl1si6UDHGoX8C+9hFe5afQen8g+NlQjdmIOiL6iZD4TystnqMe /DLiN8Jd7qS/5i4l0TfgYA8U4iN/iSF/lRxXL/paBONRYFdllpZw9S41aCAZ5EuJzCUoToF R58Da5THzi+5IAr4yZq0XoChWEMqJBkqgCJNU6Ib37MmFh3Lo71JETIH2zrg== Received: from 55ca25703178 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id E592C6900BD for ; Thu, 27 Nov 2025 04:45:50 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Thu, 27 Nov 2025 02:45:50 -0000 Message-ID: <176421155109.39.6471860286356694912@2cb04c0e5124> Message-ID-Hash: BLYVRVVHENSUWAJYDPKCCJTV3VR5D4WP X-Message-ID-Hash: BLYVRVVHENSUWAJYDPKCCJTV3VR5D4WP X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] Fix fate-filter-drawvg-video in MINGW64. (PR #21030) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "Ayose C. via ffmpeg-devel" Cc: "Ayose C." Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21030 opened by Ayose C. (ayosec) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21030 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21030.patch This pull-request is an alternative to #21008. The test `fate-filter-drawvg-video` is failing on Windows when `SRC_PATH` contains the character `:` ([example](https://fate.ffmpeg.org/report.cgi?time=20251126171129&slot=msys2-mingw64)). I tried to find a way to escape the value that could work in both systems (Unix/Windows), but the way `tests/fate-run.sh` moves the command-line arguments between functions (a mix of `eval`, `$*`, and `$@`) makes very difficult to work with characters that can be interpreted by the shell (like `\` or `'`). Instead of escaping the value, the solution implemented is to copy the `drawvg.lines` file to the `tests/data` directory (which already has temp files), so the value for `file` is a fixed string with no problematic characters. ### Testing I'm not familiar with Windows, so I don't know if this is the correct way to test it. 1. With MSYS2 3.6.4, GCC-MINGW 15.2. ```console $ pacman -Qe ... mingw-w64-x86_64-gcc 15.2.0-8 msys2-runtime 3.6.4-1 ``` 2. A copy of the `master` branch is in `/tmp/ffmpeg-drawvg`. FFmpeg is built in `/tmp/build0`: ```console $ gcc -dumpmachine x86_64-w64-mingw32 $ mkdir /tmp/build0 $ cd /tmp/build0 $ E:/msys64/tmp/ffmpeg-drawvg/configure --enable-cairo --disable-x86asm ... ``` 3. Before the patch in this pull-request I can reproduce [the same error](https://fate.ffmpeg.org/log.cgi?slot=msys2-mingw64&log=test&time=20251126171129#:~:text=tiltandshift%2D444%0ATEST-,filter%2Ddrawvg%2Dvideo,-%2D%2D%2D%20/d/a/FFmpeg): ```console $ make fate-filter-drawvg-video V=1 ... +++ tests/data/fate/filter-drawvg-video @@ -1 +1 @@ -drawvg-video caa7642950ab2fb1367bd28c287f31bd +drawvg-video ... [AVFilterGraph @ 00000214b5882940] No option name near '/msys64/tmp/ffmpeg-drawvg/tests/ref/lavf/drawvg.lines' [AVFilterGraph @ 00000214b5882940] Error parsing a filter description around: [AVFilterGraph @ 00000214b5882940] Error parsing filterchain 'scale,format=bgr0,drawvg=file=E:/msys64/tmp/ffmpeg-drawvg/tests/ref/lavf/drawvg.lines' around: ``` 4. After the patch: ```console $ make fate-filter-drawvg-video V=1 cp /tmp/ffmpeg-drawvg/tests/ref/lavf/drawvg.lines tests/data/fate/drawvg.lines TEST filter-drawvg-video /tmp/ffmpeg-drawvg/tests/fate-run.sh fate-filter-drawvg-video "" "" "/tmp/build0" 'video_filter scale,format=bgr0,drawvg=file=tests/data/fate/drawvg.lines' '' '' '' '1' '' '' '' '' '' '' '' '' '' '' /tmp/build0/ffmpeg.exe -nostdin -nostats -noauto_conversion_filters -cpuflags all -flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact -threads 1 -f image2 -vcodec pgmyuv -hwaccel none -threads 1 -thread_type frame+slice -i /tmp/build0/tests/vsynth1/%02d.pgm -flags +bitexact -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact -threads 1 -dct fastint -vf scale,format=bgr0,drawvg=file=tests/data/fate/drawvg.lines -vcodec rawvideo -frames:v 5 -f nut md5: ``` Without `V=1`: ```console $ make fate-filter-drawvg-{interpreter,video} TEST filter-drawvg-interpreter TEST filter-drawvg-video $ echo $? 0 ``` >>From fbe28941af52da893257168fee3196fd83be8885 Mon Sep 17 00:00:00 2001 From: Ayose Date: Wed, 26 Nov 2025 22:00:39 +0000 Subject: [PATCH] tests/fate-filter-drawvg-video: copy drawvg.lines file to tests/data. If the SRC_PATH variable contains certain characters (like a `:`, which may happen when FATE is executed on Windows), the value for the `file` option is broken, so `make fate-filter-drawvg-video` always fails. The solution in this commit is to copy the `drawvg.lines` to the `tests/data` directory (which already has temp files), so the value for `file` is a fixed string with no problematic characters. Signed-off-by: Ayose --- tests/fate/filter-video.mak | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak index 3fe7f10476..087ba8d9cd 100644 --- a/tests/fate/filter-video.mak +++ b/tests/fate/filter-video.mak @@ -609,7 +609,10 @@ fate-filter-tiltandshift-410: CMD = framecrc -c:v pgmyuv -i $(SRC) -flags +bitex fate-filter-tiltandshift-422: CMD = framecrc -c:v pgmyuv -i $(SRC) -flags +bitexact -vf scale=sws_flags=+accurate_rnd+bitexact,format=yuv422p,tiltandshift fate-filter-tiltandshift-444: CMD = framecrc -c:v pgmyuv -i $(SRC) -flags +bitexact -vf scale=sws_flags=+accurate_rnd+bitexact,format=yuv444p,tiltandshift -DRAWVG_SCRIPT_LINES = $(SRC_PATH)/tests/ref/lavf/drawvg.lines +DRAWVG_SCRIPT_LINES = tests/data/fate/drawvg.lines +$(DRAWVG_SCRIPT_LINES): $(SRC_PATH)/tests/ref/lavf/drawvg.lines + $(M)cp $< $@ + FATE_FILTER_VSYNTH_VIDEO_FILTER-$(CONFIG_DRAWVG_FILTER) += fate-filter-drawvg-video fate-filter-drawvg-video: $(DRAWVG_SCRIPT_LINES) fate-filter-drawvg-video: CMD = video_filter scale,format=bgr0,drawvg=file=$(DRAWVG_SCRIPT_LINES) -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org