Builder ffmpeg-solaris10-i386 Build #14011
Results:
Failed shell_2 shell_3 shell_4 shell_5
SourceStamp:
| Project | ffmpeg |
| Repository | https://git.ffmpeg.org/ffmpeg.git |
| Branch | master |
| Revision | a554d0aa8a64673364baf04affb62ce0df219db7 |
| Got Revision | a554d0aa8a64673364baf04affb62ce0df219db7 |
| Changes | 2 changes |
BuildSlave:
unstable10xReason:
The SingleBranchScheduler scheduler named 'schedule-ffmpeg-solaris10-i386' triggered this build
Steps and Logfiles:
-
git update ( 5 secs )
-
shell 'gsed -i ...' ( 0 secs )
-
shell_1 'gsed -i ...' ( 0 secs )
-
shell_2 'gsed -i ...' failed ( 0 secs )
-
shell_3 './configure --samples="../../../ffmpeg/fate-suite" ...' failed ( 12 secs )
-
shell_4 'gmake fate-rsync' failed ( 1 secs )
-
shell_5 '../../../ffmpeg/fate.sh ../../../ffmpeg/fate_config.sh' failed ( 3 secs )
Build Properties:
| Name | Value | Source |
|---|---|---|
| branch | master | Build |
| builddir | /export/home/buildbot/slave/ffmpeg-solaris10-i386 | slave |
| buildername | ffmpeg-solaris10-i386 | Builder |
| buildnumber | 14011 | Build |
| codebase | Build | |
| got_revision | a554d0aa8a64673364baf04affb62ce0df219db7 | Git |
| project | ffmpeg | Build |
| repository | https://git.ffmpeg.org/ffmpeg.git | Build |
| revision | a554d0aa8a64673364baf04affb62ce0df219db7 | Build |
| scheduler | schedule-ffmpeg-solaris10-i386 | Scheduler |
| slavename | unstable10x | BuildSlave |
| workdir | /export/home/buildbot/slave/ffmpeg-solaris10-i386 | slave (deprecated) |
Forced Build Properties:
| Name | Label | Value |
|---|
Responsible Users:
- Michael Niedermayermichael@niedermayer.cc
Timing:
| Start | Wed Jun 17 02:59:21 2026 |
| End | Wed Jun 17 02:59:46 2026 |
| Elapsed | 24 secs |
All Changes:
:
Change #271412
Category ffmpeg Changed by Michael Niedermayer <michael@niedermayer.cc> Changed at Wed 17 Jun 2026 02:40:59 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 21782b7b3143a3ed68de635c83b2094523e4cf39 Comments
swscale/x86/rgb_2_rgb: fix uyvytoyuv422 overwrite on odd width uyvytoyuv422 converts packed UYVY, whose macroblocks are pixel pairs, and the SIMD code only handled even widths. On an odd width the trailing half macroblock made the kernel write past the end of the Y/U/V destinations: the AVX512ICL masked tail dropped the odd pixel and the fall-through re-entered the SIMD loop, writing a full mmsize*2 chunk past the planes (127 bytes of Y, 63 of U and 63 of V); the sse2/avx/avx2 scalar tail wrote one byte past the Y plane. Process only whole pairs and emit the trailing odd column from a small per-row epilogue that matches uyvytoyuv422_c (ydst[w-1] = src[2w-1], udst[cw-1] = src[2w-2], vdst[cw-1] = src[2w]). All four SIMD variants are now bit-exact with the C reference for even and odd widths and no longer overwrite the destination. Verified on AVX512ICL hardware (Ryzen 9 9950X) with checkasm. Found-by: Claude (Anthropic). Human-verified and reported by Omkhar Arasaratnam <omkhar@linkedin.com>. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Changed files
- libswscale/x86/rgb_2_rgb.asm
Change #271413
Category ffmpeg Changed by Michael Niedermayer <michael@niedermayer.cc> Changed at Wed 17 Jun 2026 02:40:59 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision a554d0aa8a64673364baf04affb62ce0df219db7 Comments
swscale/aarch64: fix uyvy/yuyv to yuv420p/yuv422p on odd width interleaved_yuv_to_planar, shared by uyvytoyuv422, uyvytoyuv420, yuyvtoyuv422 and yuyvtoyuv420, only handled even widths. The packed UYVY/YUYV macroblocks are pixel pairs and the trailing half macroblock of an odd width was mishandled: - the slow path (width <= 31) decrements its pixel counter by two from an odd value, so it never reaches zero and the loop runs far past the line, overwriting the destination (observed as a crash in checkasm); - the fast path (width >= 32) shifts the tail pointers back by width-32 and reprocesses an overlapping, misaligned tuple, producing wrong samples and dropping the last chroma column. Process only whole pixel pairs and emit the trailing odd column from a per-line epilogue that matches the C reference: for yuv422 one Y, U and V sample; for yuv420 the Y of both lines of the pair with the chroma averaged across them, and luma only for the final line when the height is odd. The empty even part (width 0 or 1) is guarded so the slow path no longer enters its run-past loop. All four variants are now bit-exact with the C reference for even and odd widths. Verified with checkasm under qemu-aarch64. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Changed files
- libswscale/aarch64/rgb2rgb_neon.S