On 5/6/2025 6:26 PM, Michael Niedermayer wrote:
On Tue, May 06, 2025 at 06:10:22PM -0300, James Almer wrote:
On 5/6/2025 5:44 PM, Michael Niedermayer wrote:
On Mon, May 05, 2025 at 04:44:06PM -0300, James Almer wrote:
Signed-off-by: James Almer <jamr...@gmail.com>
---
   tests/fate/image.mak                        | 3 +++
   tests/ref/fate/rgb-scanline-dwab-half-float | 6 ++++++
   2 files changed, 9 insertions(+)
   create mode 100644 tests/ref/fate/rgb-scanline-dwab-half-float

diff --git a/tests/fate/image.mak b/tests/fate/image.mak
index 042cf6438f..abf204f69f 100644
--- a/tests/fate/image.mak
+++ b/tests/fate/image.mak
@@ -124,6 +124,9 @@ fate-exr-rgb-scanline-pxr24-float-12x8: CMD = framecrc -i 
$(TARGET_SAMPLES)/exr/
   FATE_EXR += fate-exr-rgba-multiscanline-half-b44
   fate-exr-rgba-multiscanline-half-b44: CMD = framecrc -i 
$(TARGET_SAMPLES)/exr/rgba_multiscanline_half_b44.exr -vf scale -pix_fmt 
gbrapf32le
+FATE_EXR += fate-rgb-scanline-dwab-half-float
+fate-rgb-scanline-dwab-half-float: CMD = framecrc -i 
$(TARGET_SAMPLES)/exr/rgb_scanline_dwab_half_float.exr -vf scale -pix_fmt 
gbrpf32le
+
   FATE_EXR += fate-exr-rgb-scanline-float-b44
   fate-exr-rgb-scanline-float-b44: CMD = framecrc -i 
$(TARGET_SAMPLES)/exr/rgb_scanline_float_b44.exr -vf scale -pix_fmt gbrpf32le
diff --git a/tests/ref/fate/rgb-scanline-dwab-half-float 
b/tests/ref/fate/rgb-scanline-dwab-half-float
new file mode 100644
index 0000000000..a5a1997785
--- /dev/null
+++ b/tests/ref/fate/rgb-scanline-dwab-half-float
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 512x512
+#sar 0: 1/1
+0,          0,          0,        1,  3145728, 0xbb11b00a

differnt result here: (on linux x86-64)

--- ./tests/ref/fate/rgb-scanline-dwab-half-float       2025-05-06 
22:40:40.017406113 +0200
+++ tests/data/fate/rgb-scanline-dwab-half-float        2025-05-06 
22:40:53.297513198 +0200
@@ -3,4 +3,4 @@
   #codec_id 0: rawvideo
   #dimensions 0: 512x512
   #sar 0: 1/1
-0,          0,          0,        1,  3145728, 0xbb11b00a
+0,          0,          0,        1,  3145728, 0x2a15f7aa
Test rgb-scanline-dwab-half-float failed. Look at 
tests/data/fate/rgb-scanline-dwab-half-float.err for details.

Yeah, I can reproduce it, and even if i add "sws_flags
+accurate_rnd+bitexact" i get the same results (0xbb11b00a on Win64,
0x2a15f7aa on Linux x86-64). I also get a different hash in both targets if
i don't rescale to gbrpf32, so the problem is not in swscale.

Neither Valgrind or gcc-usan complain, so I'm not sure what could be
producing this difference.

float is not bitexact in C, and float on x86 might use old x87 style while
x86-64 might be SSE*/AVX, so if theres any float in the code slight differences
can happen, no idea if half float in this case is affected by this or not
x87 float instructions are not used in x86_64, which is both these targets. For float16 it will either use CPU instructions if available, or the fallback we have using a lookup table (through float2half and half2float).

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to