Builder ffmpegsos-solaris10-i386 Build #14308
Results:
Failed
SourceStamp:
| Project | ffmpeg |
| Repository | https://git.ffmpeg.org/ffmpeg.git |
| Branch | master |
| Revision | 1b5041c785f1e735e14ef2db2c98a786ef180954 |
| Changes | 14 changes |
BuildSlave:
unstable10xReason:
The SingleBranchScheduler scheduler named 'schedule-ffmpegsos-solaris10-i386' triggered this build
Steps and Logfiles:
Build Properties:
| Name | Value | Source |
|---|---|---|
| branch | master | Build |
| builddir | /export/home/buildbot/slave/ffmpegsos-solaris10-i386 | slave |
| buildername | ffmpegsos-solaris10-i386 | Builder |
| buildnumber | 14308 | Build |
| codebase | Build | |
| project | ffmpeg | Build |
| repository | https://git.ffmpeg.org/ffmpeg.git | Build |
| revision | 1b5041c785f1e735e14ef2db2c98a786ef180954 | Build |
| scheduler | schedule-ffmpegsos-solaris10-i386 | Scheduler |
| slavename | unstable10x | BuildSlave |
| workdir | /export/home/buildbot/slave/ffmpegsos-solaris10-i386 | slave (deprecated) |
Forced Build Properties:
| Name | Label | Value |
|---|
Responsible Users:
- Lynnedev@lynne.ee
Timing:
| Start | Sun Sep 20 08:44:41 2026 |
| End | Sun Sep 20 08:44:47 2026 |
| Elapsed | 6 secs |
All Changes:
:
Change #282274
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 07:45:46 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision daa210cfd7b166e01a231264ad3bdec281b8788d Comments
h264: correct the comment on the field POCs of frame_num gap dummies Hwaccels submit the field POCs of a picture, not its frame POC.
Changed files
- libavcodec/h264_slice.c
Change #282275
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 07:45:50 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 0ae15fffefd66d78828902176da25d19ae652a0e Comments
vulkan_decode: do not bind the current picture twice when its slot is active When decoding the second field of a pair, the picture is already bound as an active reference at its DPB slot, since the first field made it one. Appending it again as an inactive slot duplicates the picture resource within the coding scope, which is not allowed (VUID-vkCmdBeginVideoCodingKHR-pPictureResource-07238).
Changed files
- libavcodec/vulkan_decode.c
Change #282276
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 07:45:52 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 2f0c34b10e02df29a707cdc4d16a29044fbbe2bd Comments
vulkan_h264: only bind reference fields that were decoded into their slot A Vulkan DPB slot only becomes active once a decode operation sets it up, and from then on holds exactly the picture resource that was decoded into it. The H.264 decoder however hands us references that never went through the hwaccel: the dummies it synthesizes to fill frame_num gaps and to stand in for missing references, and fields lost to a seek. Binding those as active slots fails validation (VUIDs 07239, 07265, 07266, 07151), and since the slot lookup for long-term references only searched the first 16 pictures and fell back to slot 0, a resource could end up bound twice (07238, 07264). Track, per picture, which fields were actually decoded into its slot, and bind only the references, and only the fields of them, that were: vk_h264_fill_pict returns 1 when it bound the picture and 0 when it cannot be bound, and the reference loops advance by that. Use the picture's index in the DPB as its slot directly instead of searching for it, and describe the setup slot by the structure of the picture being decoded rather than by its reference marking, which does not describe the slot's contents while decoding the second field of a pair.
Changed files
- libavcodec/vulkan_h264.c
Change #282277
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 07:45:56 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 82a2875192b6e6d45ee3ed8d0baf03e91dcca532 Comments
vulkan_h264: give each picture a persistent DPB slot instead of its DPB index A frame_num gap dummy shares the duplicated picture's hwaccel state, and with it the DPB slot that picture was decoded into, which can differ from the dummy's own index into h->DPB: the dummy and the picture it duplicates are distinct H264Picture entries. Deriving the Vulkan slot from the DPB index, as before, could then bind the dummy at an index nothing was ever decoded into, or one currently in use by an unrelated picture. Assign the slot once, when a picture is first decoded, to the lowest index no current reference holds, and keep it for as long as the picture (or a dummy sharing its state) remains referenced. ff_ctz(0) is undefined, so guard the case where every slot is taken rather than fall into it. A slot can still end up requested twice in the same scope: once for the original picture, once for a dummy sharing its state. Detect that by identity on the shared hwaccel state rather than by DPB index, since the two no longer coincide.
Changed files
- libavcodec/vulkan_h264.c
Change #282284
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 08:13:01 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 9a69dc787de7ec6a5a17c74247eaadd46b7a5066 Comments
vulkan/prores_idct: clip values to maximum allowed range This matches the software decoder.
Changed files
- libavcodec/vulkan/prores_idct.comp.glsl
Change #282286
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 09:45:55 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 8cf5b8b0b335ba8d524a14542027c3593e6d3bfe Comments
vulkan_prores: undo quant matrix permutation The quantization matrix gets immediately permuted for the assembly. But the Vulkan decoder uses it in regular standard order.
Changed files
- libavcodec/vulkan_prores.c
Change #282288
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 09:45:57 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 083bf5cecb1bdbe3d5f9ba28e558d38511000874 Comments
vulkan_prores_raw: undo potential quant matrix permutation Same as last commit, except this is done just in case someone introduces a ProRes RAW iDCT.
Changed files
- libavcodec/vulkan_prores_raw.c
Change #282289
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 09:45:59 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 3110b21964fa8317abd1a33975ae6233a30c1e7c Comments
vulkan_apv: remove unnecessary image clear We moved to using a dedicated buffer for the intermediate data.
Changed files
- libavcodec/vulkan/apv_decode.comp.glsl
- libavcodec/vulkan_apv.c
Change #282290
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 09:46:03 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision fe06105c8a9ab4e873efdbea7cd00da1d0e1295c Comments
prores_raw: parse the frame before honouring skip_frame The decoder returned before parsing anything when skip_frame was AVDISCARD_ALL, yet advertises FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, so it never set the pixel format and dimensions while probing. Probing gives up after probesize, and ProRes RAW frames are larger than the default, so ffmpeg failed to open such files at all with "Could not find codec parameters ... unspecified pixel format". Parse up to the tile table, which sets every stream parameter, before skipping the frame.
Changed files
- libavcodec/prores_raw.c
Change #282291
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 09:46:07 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision bc1cf21643f6cb63c0756268f61bf33ebd0b8712 Comments
prores_raw: end a component at 32 zero bits, like the reference decoder The reference decoder reads every symbol from a 32-bit window that is zero-filled past the end of the component's data, and stops decoding the component as soon as that window is all zero. Both our decoders checked for remaining bits instead, and near the end of the data decoded a zero symbol from a short window and stored spurious coefficients of magnitude 1 at the end of the last blocks of a tile. The software decoder also ran one coefficient past the end of the block array. Decode the way the reference does, in both, so their coefficients match it, and each other.
Changed files
- libavcodec/prores_raw.c
- libavcodec/vulkan/prores_raw_decode.comp.glsl
Change #282292
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 10:19:11 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision e9e698f482589285049a58ee7a3286f9af37405c Comments
vulkan: clamp GET_BITS_SMEM refills to the end of the bitstream FILL_SMEM read up to 16*GET_BITS_SMEM bytes past the end of the buffer. At the default depth of 4 that is exactly AV_INPUT_BUFFER_PADDING_SIZE, so it only worked by coincidence; deeper windows faulted. Clamp lines past the end onto the last line; nothing reads them. Issuing each line as its own load is also ~3% faster than one indexed fetch.
Changed files
- libavcodec/vulkan/common.glsl
Change #282293
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 10:19:16 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision e99556134446a7672915a82c6a6a425eb875f908 Comments
vulkan_prores_raw: pick the bitstream prefetch depth per device With the packet host-mapped, the decode shader is bound by fetch latency over the bus: 5.49 ms per frame for the VLD alone, versus 0.21 ms from a device-local buffer. Make GET_BITS_SMEM a specialization constant: 64 lines (1 KB) per invocation on discrete GPUs reading host-mapped packets, 4 otherwise. Integrated GPUs get slower with every extra line. 5.7K ProRes RAW on an RX 6900 XT: 145 -> 249 fps (non-HQ), 98 -> 154 fps (HQ), bit-identical output. Intel Iris Xe unchanged.
Changed files
- libavcodec/vulkan/prores_raw_decode.comp.glsl
- libavcodec/vulkan_prores_raw.c
Change #282294
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 10:19:22 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision e3654ccab4e19ffbbaf1a73b534ad44bdfcaac72 Comments
vulkan/ffv1: initialize the version 4 slice header fields on older streams slice_reset_contexts, remap and remap_count were only set on version 4 streams. The slice context buffer is pooled and never cleared, so on older streams the reset shader read stale memory as the reset flag and wiped the range coder state carried over from the previous frame. Non-keyframes of pre-version-4 streams intermittently decoded to garbage, with the slice CRCs still passing.
Changed files
- libavcodec/vulkan/ffv1_dec_setup.comp.glsl
Change #282295
Category ffmpeg Changed by Lynne <dev@lynne.ee> Changed at Sun 20 Sep 2026 10:19:28 Repository https://git.ffmpeg.org/ffmpeg.git Project ffmpeg Branch master Revision 1b5041c785f1e735e14ef2db2c98a786ef180954 Comments
vulkan: keep the iDCT scale factors separable The 8x8 scale table was 64 specialization constants indexed per coefficient. The index is divergent, so nothing folds and every coefficient costs a load from the constant-data segment. The table is an outer product, s[y]*s[x], so pass the eight 1D factors instead: the x factor hoists out of the coefficient loop and the y factor folds once the loop is unrolled. ProRes RAW's gain of 8 becomes a literal in its shader. Reassociation moves a few samples in ten thousand by an LSB or so, well below the existing float iDCT error; PSNR versus software is unchanged.
Changed files
- libavcodec/vulkan/apv_idct.comp.glsl
- libavcodec/vulkan/dct.glsl
- libavcodec/vulkan/prores_idct.comp.glsl
- libavcodec/vulkan/prores_raw_idct.comp.glsl
- libavcodec/vulkan_apv.c
- libavcodec/vulkan_prores.c
- libavcodec/vulkan_prores_raw.c