Builder ffmpegsos-solaris10-sparc Build #13757
Results:
Failed shell_2 shell_3 shell_4 shell_5
SourceStamp:
| Project | ffmpeg |
| Repository | https://git.ffmpeg.org/ffmpeg.git |
| Branch | master |
| Revision | 01a25f74cc446a683318bab13dfd98a467082ef7 |
| Got Revision | 01a25f74cc446a683318bab13dfd98a467082ef7 |
| Changes | 18 changes |
BuildSlave:
unstable10sReason:
The SingleBranchScheduler scheduler named 'schedule-ffmpegsos-solaris10-sparc' triggered this build
Steps and Logfiles:
-
git update ( 1 mins, 7 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 ( 8 secs )
-
shell_4 'gmake fate-rsync' failed ( 0 secs )
-
shell_5 '../../../ffmpeg/fate.sh ../../../ffmpeg/fate_config_sos.sh' failed ( 0 secs )
Build Properties:
| Name | Value | Source |
|---|---|---|
| branch | master | Build |
| builddir | /export/home/buildbot-unstable10s/slave/ffmpegsos-solaris10-sparc | slave |
| buildername | ffmpegsos-solaris10-sparc | Builder |
| buildnumber | 13757 | Build |
| codebase | Build | |
| got_revision | 01a25f74cc446a683318bab13dfd98a467082ef7 | Git |
| project | ffmpeg | Build |
| repository | https://git.ffmpeg.org/ffmpeg.git | Build |
| revision | 01a25f74cc446a683318bab13dfd98a467082ef7 | Build |
| scheduler | schedule-ffmpegsos-solaris10-sparc | Scheduler |
| slavename | unstable10s | BuildSlave |
| workdir | /export/home/buildbot-unstable10s/slave/ffmpegsos-solaris10-sparc | slave (deprecated) |
Forced Build Properties:
| Name | Label | Value |
|---|
Responsible Users:
- Niklas Haasgit@haasn.dev
Timing:
| Start | Mon Aug 3 09:56:16 2026 |
| End | Mon Aug 3 09:57:33 2026 |
| Elapsed | 1 mins, 17 secs |
All Changes:
:
Change #276812
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 08c90c60f7562301858f1bdf06e6bc8abd3ec878 Comments
swscale/ops: fix merge_comp_flags() for SWS_COMP_SWAPPED This violates the documentation (monoid property). It's a bit arbitrary whether to consider this an OR-type or AND-type flag, since mixing swapped and non-swapped components is almost surely a bug, but keeping it as an OR-type makes sure such cases at least show up in the result. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/ops.c
Change #276813
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision fc94457bb722159c1a8338b7f8454228210f9646 Comments
swscale/ops: refactor comp flags propagation slightly Introduce a unified FORWARD() helper macro that can be used for any type of op, whether it is independent per component or more complex. By initializing every op to the same IDENTITY state, we can leverage the monoid property to make this work for naive propagations as well. As an aside, we also properly zero out the unrelated fields when discarding a component (i.e. marking it as GARBAGE). This will make a couple of up-coming refactors a bit easier. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/ops.c
Change #276814
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 6321b5380939a4e676854d67fe41085d5f0c4ad8 Comments
swscale/ops: solve for component dependencies Needed to determine reverse dependencies of different input planes, for appropriately splitting op lists involving subsampled planes. Generates benign diffs that just reflect the new addition, e.g.: yuva444p 16x16 -> rgb24 16x16: [ u8 ===X] SWS_OP_READ : 3 elem(s) planar >> 0 min: {0 0 0 _}, max: {255 255 255 _} + inputs: {x y z _}, outputs: {xyz yz xy _} [ u8 ===X] SWS_OP_CONVERT : u8 -> f32 min: {0 0 0 _}, max: {255 255 255 _} + inputs: {x y z _}, outputs: {xyz yz xy _} [f32 ...X] SWS_OP_LINEAR : matrix3+off3 [[85/73 0 1.596027 0 -222.921566] [85/73 -0.391762 -0.812968 0 135.575295] [85/73 2.017232 0 0 -276.835851] [0 0 0 1 0]] min: {-222.921566 -171.630839 -276.835851 _}, max: {480.983073 432.493103 534.476153 _} + inputs: {xz xyz xy _}, outputs: {x y z _} [f32 ...X] SWS_OP_DITHER : 16x16 matrix + {0 3 2 -1} min: {-222.919612 -171.628886 -276.833898 _}, max: {481.981120 433.491150 535.474200 _} + inputs: {xz xyz xy _}, outputs: {x y z _} [f32 ...X] SWS_OP_MAX : {0 0 0 _} <= x min: {0 0 0 _}, max: {481.981120 433.491150 535.474200 _} + inputs: {xz xyz xy _}, outputs: {x y z _} [f32 ...X] SWS_OP_MIN : x <= {255 255 255 _} min: {0 0 0 _}, max: {255 255 255 _} + inputs: {xz xyz xy _}, outputs: {x y z _} [f32 +++X] SWS_OP_CONVERT : f32 -> u8 min: {0 0 0 _}, max: {255 255 255 _} + inputs: {xz xyz xy _}, outputs: {x y z _} [ u8 XXXX] SWS_OP_WRITE : 3 elem(s) packed >> 0 ('X' unused, 'z' byteswapped, '=' copied, '$' const, '+' integer, '0' zero) Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>Changed files
- libswscale/ops.c
- libswscale/ops.h
- tests/ref/fate/sws-ops-list
Change #276815
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 327319bb7b34d91a50b479f30055770f7ea603dd Comments
swscale/ops: remove SwsLinearOp.mask This was originally introduced to make matching linear ops against implementations faster. However, since this is now handled on the uops level, there is no more reason to carry this metadata on the ops level. Simplifies a lot of places in the code. It will simplify even more, once the linear optimizations are moved to the uops level. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/aarch64/ops_impl_conv.c
- libswscale/format.c
- libswscale/ops.h
- libswscale/ops_optimizer.c
- libswscale/uops.c
Change #276816
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 0ff884dabec72f9e8bb548739e2a75ab03d1487b Comments
swscale/csputils: remove unused struct Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/csputils.h
Change #276817
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision d0bf8cff9fd86d43d6eecfa1dba00ae454cf09c9 Comments
swscale/aarch64: reject unknown ops by default Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/aarch64/ops_impl_conv.c
Change #276818
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision ea8fb1b71eba487d0d5b5fc394d3760aa7fd7620 Comments
swscale/lut3d: alignment (cosmetic) Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/lut3d.c
Change #276819
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 69f0fa91d47c47c13c5182fc294f650aebacdf98 Comments
swscale/lut3d: pad 3DLUT to eliminate over-read Instead of clamping in the application function. Trivial simplicity gain for the SIMD code. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/lut3d.c
- libswscale/lut3d.h
Change #276820
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 6a56bd03620f7a6cdc934a34f17568e95f25fe19 Comments
swscale/lut3d: use refstruct for 3D LUT allocations Needed anyways for the upcoming SWS_OP_LUT_3D. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/graph.c
- libswscale/lut3d.c
- libswscale/lut3d.h
Change #276821
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision e43517c1d1b1e48399fec7f5a5d2c7158cff40ff Comments
swscale/lut3d: simplify and hard-code 3DLUT format The ops-based 3DLUT approach will take care of appropriately normalizing the input to the expected domain; so the format choice no longer matters here except for the lut3d_apply() function, which will only be used by the legacy reference code path. So we can just continue hard-coding the format there. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/graph.c
- libswscale/lut3d.c
- libswscale/lut3d.h
Change #276822
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 96e0967ecac6cd7aaf4e25c5af72de82b9814c8a Comments
swscale/cms: fix IPT rounding error av_round16f() was incorrectly scaling to 65534, which would correspond to a neutral PT offset of 32767 = (1 << 15) - 1, but the code was assuming a value of (1 << 15). To fix it, and make the PT channel correctly symmetric around the intended neutral value, we have to map PT = +0.5 to 65536, an unrepresentable value. This is not an issue because the PT channel values are strictly inside some subset of [-0.5, 0.5] in practice, for real in-gamut color values - it's already an envelope that includes quite a bit of safety margin. Similarly, av_round16f() is also the wrong tool for the I/RGB channels, because it incorrectly scaled those to 65534, an off by one of the intended unorm16 full range peak of 65535. This silently resulted in e.g. RGBA64 true white (65535) not round-tripping through the 3DLUT. Fix both by splitting this helper into two separate helpers, each of them fixed to the correct, intended value range. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/cms.c
Change #276823
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 6c770f33c8e94ea18000cd81da4f1e0ad0bac7a7 Comments
swscale/ops: add SWS_OP_LUT_3D and supporting code After extensive testing, prototyping and benchmarking across a range of systems, I determined that the optimal data layout for the SIMD 3DLUT is essentially exactly the one we have. 16-bit integers are near optimal for quality vs compactness, and crucially, x86 lets us load the entire packed 3DLUT entry with a single `vpgatherdq` instruction. This dwarfs the loss from needing to cast the resulting 16-bit integers back to f32 and renormalize. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/ops.c
- libswscale/ops.h
- libswscale/ops_optimizer.c
Change #276824
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 4bdb4d564f677d2f7f7f03b3b9a902a06cd916ee Comments
swscale/uops: add SWS_UOP_LUT_3D reference implementation The structure for the tetrahedral interpolation deviates slightly from the naive formulation in lut3d.c; instead of branching into every separate case, we sort the weights and offsets using a series of conditional swaps. This actually performs identically on my end, but results in code that is much closer to what SIMD will be doing. That should hopefully serve as a better reference for future SIMD implementors. (Myself included) I also reordered the dynamic tone-mapping code a bit to better indicate the sources of live register pressure that will manifest in the real SIMD kernel. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/csputils.h
- libswscale/uops.c
- libswscale/uops.h
- libswscale/uops_backend.c
- libswscale/uops_list.h
- libswscale/uops_macros.h
- libswscale/uops_tmpl.c
Change #276825
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision d803957307d3b6ffda8d998d2282f11531477595 Comments
swscale/graph: lift SwsLut3D to SwsGraph top level Since this depends on the overall picture parameters anyways, updating it directly from the private setup() function was always a bit hacky. More importantly, this needed for the ops-based 3DLUT implementation, which is already using the pass priv pointer to store the compiled function. Overall, simpler to just lift it to the top level and update it directly as needed. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/graph.c
- libswscale/graph.h
Change #276826
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 38196645f5e20b50a5143db6f0d14814fed77116 Comments
swscale/graph: move 3DLUT application to the conversion pass Instead of generating the 3DLUT and applying it right away, init_passes() now just generates it and passes it as a parameter to add_convert_pass(), which will forward it to the underlying implementation. I pre-emptively moved the function to the legacy section, in anticipation of the following commit which will make this legacy-only. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/graph.c
Change #276827
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 05d8891a20de059f901fbb106f45b7699f81bba0 Comments
swscale/format: add SwsLut3D support to the ops list generator The value range normalization and input range clamp will normally be optimized away. This commit also moves the legacy 3dlut pass to be legacy-exclusive, as the ops code now uses the new logic. This ordering ensures that the conversion works on every commit in isolation. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/format.c
- libswscale/format.h
- libswscale/graph.c
- libswscale/op_list_gen_template.c
Change #276828
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 3df239e113e5c5d23acbedc5cde4a5d70c5ad620 Comments
swscale/uops_macros: also generate op lists involving 3DLUTs These may differ from the regular op lists in nontrivial ways, due to e.g. different optimization steps being taken. In practice, it seems this just adds the extra LUT_3D uops, but we don't know that for sure, so better to brute force the list. That said, I do think we can safely skip the extra backend flags in this case, at least. Even in the worst case scenario, that would just force a fallback to the C reference backend. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- libswscale/op_list_gen_template.c
- libswscale/tests/sws_ops.c
- libswscale/tests/sws_ops_aarch64.c
- libswscale/uops_macros.h
- libswscale/uops_macros_gen.c
Change #276829
Category ffmpeg Changed by Niklas Haas <git@haasn.dev> Changed at Mon 03 Aug 2026 11:32:30 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 01a25f74cc446a683318bab13dfd98a467082ef7 Comments
checkasm/sw_ops: add SWS_UOP_LUT_3D test checkasm: - CPU: AMD Ryzen 9 9950X3D 16-Core Processor (00B40F40) - Timing source: x86 (rdtsc) - Bench duration: 100000 µs per function (448667793 cycles) - Random seed: 3773883393 Benchmark results: name cycles (vs ref) f32_lut_3d_xyz_dynamic_c: 125193.9 f32_lut_3d_xyz_static_c: 25792.1 f32_lut_3d_xyzw_dynamic_c: 123807.1 f32_lut_3d_xyzw_static_c: 25739.0 This is roughly ~50% faster than the existing code in lut3d.c, from a quick test. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- tests/checkasm/sw_ops.c