Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Builder ffmpeg-solaris10-sparc Build #13160

Results:

Failed shell_2 shell_3 shell_4 shell_5

SourceStamp:

Projectffmpeg
Repositoryhttps://git.ffmpeg.org/ffmpeg.git
Branchmaster
Revisionc9404f5b9c85cea772bc155b518291cfe4cb31fa
Got Revisionc9404f5b9c85cea772bc155b518291cfe4cb31fa
Changes21 changes

BuildSlave:

unstable10s

Reason:

The SingleBranchScheduler scheduler named 'schedule-ffmpeg-solaris10-sparc' triggered this build

Steps and Logfiles:

  1. git update ( 8 secs )
    1. stdio
  2. shell 'gsed -i ...' ( 0 secs )
    1. stdio
  3. shell_1 'gsed -i ...' ( 0 secs )
    1. stdio
  4. shell_2 'gsed -i ...' failed ( 0 secs )
    1. stdio
  5. shell_3 './configure --samples="../../../ffmpeg/fate-suite" ...' failed ( 7 secs )
    1. stdio
    2. config.log
  6. shell_4 'gmake fate-rsync' failed ( 0 secs )
    1. stdio
  7. shell_5 '../../../ffmpeg/fate.sh ../../../ffmpeg/fate_config.sh' failed ( 0 secs )
    1. stdio
    2. configure.log
    3. compile.log
    4. test.log

Build Properties:

NameValueSource
branch master Build
builddir /export/home/buildbot-unstable10s/slave/ffmpeg-solaris10-sparc slave
buildername ffmpeg-solaris10-sparc Builder
buildnumber 13160 Build
codebase Build
got_revision c9404f5b9c85cea772bc155b518291cfe4cb31fa Git
project ffmpeg Build
repository https://git.ffmpeg.org/ffmpeg.git Build
revision c9404f5b9c85cea772bc155b518291cfe4cb31fa Build
scheduler schedule-ffmpeg-solaris10-sparc Scheduler
slavename unstable10s BuildSlave
workdir /export/home/buildbot-unstable10s/slave/ffmpeg-solaris10-sparc slave (deprecated)

Forced Build Properties:

NameLabelValue

Responsible Users:

  1. Niklas Haas

Timing:

StartThu Feb 19 20:56:17 2026
EndThu Feb 19 20:56:34 2026
Elapsed16 secs

All Changes:

:

  1. Change #258226

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e96332cb65c6103fc5ac66db5f1568e37515b50e

    Comments

    swscale/ops: add ff_sws_op_list_is_noop()
    And use it in ff_sws_compile_pass() instead of hard-coding the check there.
    This check will become more sophisticated in the following commits.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/graph.c
    • libswscale/ops.c
    • libswscale/ops.h
  2. Change #258228

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c17a9ba0b808d9a1c17c7ea0115d20ba19838447

    Comments

    tests/sws_ops: explicitly skip no-op operation lists
    These are not necessarily empty, as a result of the previous changes.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/tests/sws_ops.c
    • tests/ref/fate/sws-ops-list
  3. Change #258229

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9662d1fa970b89429a9ada9627aea6c4eef37753

    Comments

    swscale/optimizer: remove read+write optimization
    This optimization is lossy, since it removes important information about the
    number of planes to be copied. Subsumed by the more correct
    
    Instead, move this code to the new ff_sws_op_list_is_noop().
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops.c
    • libswscale/ops_optimizer.c
  4. Change #258230

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2dfde1531d0bfc1eeab33cbdf77a457f4c7572ec

    Comments

    swscale/ops: reset comp flags on SWS_OP_CLEAR
    Even if we clear to a non-integer value.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops.c
  5. Change #258231

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 998cffb4327b0ebbe154bcfa19410e01b972a914

    Comments

    swscale/ops: add input/output plane swizzle mask to SwsOpList
    This can be used to have the execution code directly swizzle the plane
    pointers, instead of swizzling the data via SWS_OP_SWIZZLE. This can be used
    to, for example, extract a subset of the input/output planes for partial
    processing of split graphs (e.g. subsampled chroma, or independent alpha),
    or just to skip an SWS_OP_SWIZZLE operation.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops.c
    • libswscale/ops.h
  6. Change #258232

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 70d30056dccd2d667f8b2be8c318371e839d4cb9

    Comments

    swscale/ops: also print plane order when swizzled
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops.c
  7. Change #258233

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d0cb74881cf10d7ab437074a175c6bcbf4ffde5f

    Comments

    swscale/ops: fix PRINTQ snprintf buffer size
    There is no reason to subtract 1 here; snprintf guarantees zero-termination.

    Changed files

    • libswscale/ops.c
  8. Change #258234

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1940662ac6abc12a5c322541dcf5c948cdb5c4e0

    Comments

    swscale/ops: take plane order into account during noop() check
    This helper function now also takes into account the plane order, and only
    returns true if the SwsOpList is a true no-op (i.e. the input image may be
    exactly ref'd to the output, with no change in plane order, etc.)
    
    As pointed out in the code, this is unlikely to actually matter, but still
    technically correct.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops.c
  9. Change #258235

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision da47951bd7b0dc8bfb82f347eb43a30542d0fdf9

    Comments

    swscale/ops: lift read op metadata to SwsOpList
    Instead of awkwardly preserving these from the `SwsOp` itself. This
    interpretation lessens the risk of bugs as a result of changing the plane
    swizzle mask without updating the corresponding components.
    
    After this commit, the plane swizzle mask is automatically taken into
    account; i.e. the src_comps mask is always interpreted as if the read op
    was in-order (unswizzled).
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/format.c
    • libswscale/ops.c
    • libswscale/ops.h
  10. Change #258236

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ef4e16ed50aa72a8db84f7a193236f230d61c991

    Comments

    swscale/x86/ops: make the presence of a read op optional
    Allows this backend to process op lists without a read, e.g. for pure clear
    operations. I decided to change `write` to a pointer as well for symmetry.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/x86/ops.c
  11. Change #258237

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 272e7a047bb69a5f27d6265038dc6f58756fef8f

    Comments

    swscale/ops_backend: add clear pattern for ya8 alpha
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_tmpl_common.c
    • libswscale/ops_tmpl_int.c
    • libswscale/x86/ops_int.asm
  12. Change #258238

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7961e3a48ffbfdad50a5182d213099a05846911f

    Comments

    swscale/ops_backend: add float clear patterns
    These have no implementation at all otherwise.
    
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_tmpl_float.c
  13. Change #258239

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e729f49645b6f60e1f45efffee14ff8645a050f7

    Comments

    swscale/ops_backend: allocate block storage up-front
    Instead of in each read() function. Not only is this slightly faster, due
    to promoting more tail calls, but it also allows us to have operation chains
    that don't start with a read.
    
    Also simplifies the implementations.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_backend.c
    • libswscale/ops_backend.h
    • libswscale/ops_tmpl_int.c
  14. Change #258240

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4b8790f1078e6c3b0506514bb8079e4c4c8af3a7

    Comments

    swscale/optimizer: allow commuting CLEAR past SWAP_BYTES
    This requires a bit of a manual check in the 32-bit integer case to
    make sure we don't exceed the value range of AVRational; but it still allows
    quite a number of optimizations despite that restriction.
    
    e.g.
    
    rgb24 -> yuva444p9be:
    -  [u16 ...X -> ++++] SWS_OP_CLEAR        : {_ _ _ 511}
    -  [u16 .... -> zzzz] SWS_OP_SWAP_BYTES
    -  [u16 .... -> zzzz] SWS_OP_WRITE        : 4 elem(s) planar >> 0
    +  [u16 ...X -> zzzX] SWS_OP_SWAP_BYTES
    +  [u16 ...X -> zzz+] SWS_OP_CLEAR        : {_ _ _ 65281}
    +  [u16 .... -> zzz+] SWS_OP_WRITE        : 4 elem(s) planar >> 0
    
    gray -> yuv444p12be:
    -  [u16 .XXX -> +++X] SWS_OP_CLEAR        : {_ 2048 2048 _}
    -  [u16 ...X -> zzzX] SWS_OP_SWAP_BYTES
    -  [u16 ...X -> zzzX] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    +  [u16 .XXX -> zzXX] SWS_OP_SWAP_BYTES
    +  [u16 .XXX -> z++X] SWS_OP_CLEAR        : {_ 8 8 _}
    +  [u16 ...X -> z++X] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    
    Ultimately, the benefit of this will only become relevant once we start
    splitting apart planes, since then we can have planes with only CLEAR
    operations.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_optimizer.c
    • tests/ref/fate/sws-ops-list
  15. Change #258241

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e7965e84c50218c0ae6bb0183582ae03f5db5517

    Comments

    swscale/optimizer: fix unswizzle optimization
    The way this code was written relied on the implicit assumption that no other
    row was reading from the same column, which was true in practice so far but
    not necessarily true in general. Fix it by precomputing the nonzero component
    mask and then adding an explicit check.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_optimizer.c
  16. Change #258242

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6df8174f7758a66837f3c9ed9986d0c51a818ace

    Comments

    swscale/optimizer: don't reject op lists without read
    When splitting planes, some planes can end up without a read operation
    altogether, e.g. when just clearing the alpha plane.
    
    Just return ENOTSUP for such lists instead of EINVAL.
    
    Also fixes the !ops->num_ops check to avoid UB.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_optimizer.c
  17. Change #258243

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a02860a2924270f94502e74419af3de5f66e2ba8

    Comments

    swscale/optimizer: don't assume op lists start with read
    This was just a minor/pointless optimization in the first place. We keep
    the skip on the last component because we can never commute that past the
    end of the list.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_optimizer.c
  18. Change #258244

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision aaa898a2d13625afd2c67d27e27ae60575d122cc

    Comments

    swscale/optimizer: promote component swizzles to plane swizzles
    In some cases, we can just directly swizzle the order of input/output
    planes, rather than applying a swizzle operation on the data itself.
    
    This can eliminate some such swizzle operations entirely, for example
    yuv444p -> vuya is now just a read, clear and write.
    
    Results in a lot of simplifications like this:
    
     rgb24 -> gbrp:
       [ u8 XXXX -> +++X] SWS_OP_READ         : 3 elem(s) packed >> 0
    -  [ u8 ...X -> +++X] SWS_OP_SWIZZLE      : 1203
    -  [ u8 ...X -> +++X] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    +  [ u8 ...X -> +++X] SWS_OP_WRITE        : 3 elem(s) planar >> 0, via {2, 0, 1}
    
     rgb24 -> gbrap16le:
       [ u8 XXXX -> +++X] SWS_OP_READ         : 3 elem(s) packed >> 0
       [ u8 ...X -> +++X] SWS_OP_CONVERT      : u8 -> u16 (expand)
    -  [u16 ...X -> +++X] SWS_OP_SWIZZLE      : 1203
       [u16 ...X -> ++++] SWS_OP_CLEAR        : {_ _ _ 65535}
    -  [u16 .... -> ++++] SWS_OP_WRITE        : 4 elem(s) planar >> 0
    +  [u16 .... -> ++++] SWS_OP_WRITE        : 4 elem(s) planar >> 0, via {2, 0, 1, 3}
    
     yuv444p -> vuya:
    -  [ u8 XXXX -> +++X] SWS_OP_READ         : 3 elem(s) planar >> 0
    -  [ u8 ...X -> +++X] SWS_OP_SWIZZLE      : 2103
    +  [ u8 XXXX -> +++X] SWS_OP_READ         : 3 elem(s) planar >> 0, via {2, 1, 0}
       [ u8 ...X -> ++++] SWS_OP_CLEAR        : {_ _ _ 255}
       [ u8 .... -> ++++] SWS_OP_WRITE        : 4 elem(s) packed >> 0
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_optimizer.c
    • tests/ref/fate/sws-ops-list
  19. Change #258245

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b01236d5fb4404cbcf633b05b5e8b83f9cbda135

    Comments

    swscale/optimizer: try pushing all swizzles towards the output
    Now that we can directly promote these to plane swizzles, we generally want
    to try pushing them in one direction - ideally towards the output, as in the
    case of split subpasses, the output is guaranteed to be planar. (And there
    may not even be a read)
    
    Results in a lot of diffs, ranging from the benign, e.g.:
    
     rgb24 -> bgr48be:
       [ u8 XXXX -> +++X] SWS_OP_READ         : 3 elem(s) packed >> 0
       [ u8 ...X -> +++X] SWS_OP_CONVERT      : u8 -> u16 (expand)
    -  [u16 ...X -> +++X] SWS_OP_SWIZZLE      : 2103
       [u16 ...X -> zzzX] SWS_OP_SWAP_BYTES
    +  [u16 ...X -> zzzX] SWS_OP_SWIZZLE      : 2103
       [u16 ...X -> zzzX] SWS_OP_WRITE        : 3 elem(s) packed >> 0
    
     rgb24 -> gbrp9be:
       [ u8 XXXX -> +++X] SWS_OP_READ         : 3 elem(s) packed >> 0
       [ u8 ...X -> +++X] SWS_OP_CONVERT      : u8 -> f32
       [f32 ...X -> ...X] SWS_OP_SCALE        : * 511/255
       [f32 ...X -> ...X] SWS_OP_DITHER       : 16x16 matrix + {0 3 2 5}
       [f32 ...X -> ...X] SWS_OP_MIN          : x <= {511 511 511 _}
       [f32 ...X -> +++X] SWS_OP_CONVERT      : f32 -> u16
    -  [u16 ...X -> +++X] SWS_OP_SWIZZLE      : 1203
       [u16 ...X -> zzzX] SWS_OP_SWAP_BYTES
    -  [u16 ...X -> zzzX] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    +  [u16 ...X -> zzzX] SWS_OP_WRITE        : 3 elem(s) planar >> 0, via {2, 0, 1}
    
    To the clear improvements, e.g.:
    
     bgr24 -> gbrp16be:
       [ u8 XXXX -> +++X] SWS_OP_READ         : 3 elem(s) packed >> 0
    -  [ u8 ...X -> +++X] SWS_OP_SWIZZLE      : 2103
       [ u8 ...X -> +++X] SWS_OP_CONVERT      : u8 -> u16 (expand)
    -  [u16 ...X -> +++X] SWS_OP_SWIZZLE      : 1203
       [u16 ...X -> zzzX] SWS_OP_SWAP_BYTES
    -  [u16 ...X -> zzzX] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    +  [u16 ...X -> zzzX] SWS_OP_WRITE        : 3 elem(s) planar >> 0, via {1, 0, 2}
    
    The only case worth careful consideration is when there are swizzled inputs
    that result in unusual plane patterns, e.g.:
    
     argb -> gbrp9be:
       [ u8 XXXX -> ++++] SWS_OP_READ         : 4 elem(s) packed >> 0
    -  [ u8 X... -> ++++] SWS_OP_SWIZZLE      : 1230
    -  [ u8 ...X -> ++++] SWS_OP_CONVERT      : u8 -> f32
    -  [f32 ...X -> ....] SWS_OP_SCALE        : * 511/255
    -  [f32 ...X -> ....] SWS_OP_DITHER       : 16x16 matrix + {0 3 2 5}
    -  [f32 ...X -> ....] SWS_OP_MIN          : x <= {511 511 511 _}
    -  [f32 ...X -> ++++] SWS_OP_CONVERT      : f32 -> u16
    -  [u16 ...X -> ++++] SWS_OP_SWIZZLE      : 1203
    -  [u16 ...X -> zzzz] SWS_OP_SWAP_BYTES
    -  [u16 ...X -> zzzz] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    +  [ u8 X... -> ++++] SWS_OP_CONVERT      : u8 -> f32
    +  [f32 X... -> ....] SWS_OP_SCALE        : * 511/255
    +  [f32 X... -> ....] SWS_OP_DITHER       : 16x16 matrix + {0 0 3 2}
    +  [f32 X... -> ....] SWS_OP_MIN          : x <= {511 511 511 511}
    +  [f32 X... -> ++++] SWS_OP_CONVERT      : f32 -> u16
    +  [u16 X... -> zzzz] SWS_OP_SWAP_BYTES
    +  [u16 X... -> zzzz] SWS_OP_SWIZZLE      : 3120
    +  [u16 ...X -> zzzz] SWS_OP_WRITE        : 3 elem(s) planar >> 0, via {1, 2, 0}
         (X = unused, z = byteswapped, + = exact, 0 = zero)
    
    Observe the change from ...X to X..., which is a pattern that doesn't
    necessarily have a fast path and would usually end up falling back to the
    generic 4-component implementations (rather than the 3-component ones).
    
    That said, this is not a big deal, since we can ultimately re-align the
    set of implementations with what's actually needed; once we're done with
    plane splitting and so forth.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_optimizer.c
    • tests/ref/fate/sws-ops-list
  20. Change #258246

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 46d721a69aa17de5c526ff5b27c67988985683cf

    Comments

    swscale/optimizer: compress planar reads with unused planes
    After plane splitting, we can end up with a situation where a subpass wants
    to read only, say, the alpha plane. In this case, we should compress the
    planar read by instead swizzling the alpha plane into the correct place
    in the src plane order, and then reading only a single plane.
    
    Results in a bunch of benign diffs like:
    
     yuva444p -> ya8:
    -  [ u8 XXXX -> ++++] SWS_OP_READ         : 4 elem(s) planar >> 0
    -  [ u8 .XX. -> ++++] SWS_OP_CONVERT      : u8 -> f32
    -  [f32 .XX. -> .+++] SWS_OP_LINEAR       : luma [...]
    -  [f32 .XX. -> .+++] SWS_OP_DITHER       : 16x16 matrix + {0 3 2 5}
    -  [f32 .XX. -> .+++] SWS_OP_MAX          : {0 0 0 0} <= x
    -  [f32 .XX. -> .+++] SWS_OP_MIN          : x <= {255 _ _ 255}
    -  [f32 .XX. -> ++++] SWS_OP_CONVERT      : f32 -> u8
    -  [ u8 .XX. -> ++++] SWS_OP_SWIZZLE      : 0312
    -  [ u8 ..XX -> ++++] SWS_OP_WRITE        : 2 elem(s) packed >> 0
    +  [ u8 XXXX -> ++XX] SWS_OP_READ         : 2 elem(s) planar >> 0, via {0, 3}
    +  [ u8 ..XX -> ++XX] SWS_OP_CONVERT      : u8 -> f32
    +  [f32 ..XX -> +XX+] SWS_OP_SWIZZLE      : 0321
    +  [f32 .XX. -> .XX+] SWS_OP_LINEAR       : luma [...]
    +  [f32 .XX. -> .XX+] SWS_OP_DITHER       : 16x16 matrix + {0 3 2 5}
    +  [f32 .XX. -> .XX+] SWS_OP_MAX          : {0 0 0 0} <= x
    +  [f32 .XX. -> .XX+] SWS_OP_MIN          : x <= {255 _ _ 255}
    +  [f32 .XX. -> +XX+] SWS_OP_CONVERT      : f32 -> u8
    +  [ u8 .XX. -> ++XX] SWS_OP_SWIZZLE      : 0312
    +  [ u8 ..XX -> ++XX] SWS_OP_WRITE        : 2 elem(s) packed >> 0
    
    This may seem noisy, but really is mostly a result of the fact that the unused
    middle components are now marked as garbage instead of as valid data.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_optimizer.c
    • tests/ref/fate/sws-ops-list
  21. Change #258247

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 19 Feb 2026 20:44:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c9404f5b9c85cea772bc155b518291cfe4cb31fa

    Comments

    swscale/optimizer: eliminate completely unused operations
    e.g. empty read when all components are eventually cleared
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_optimizer.c