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

Builder ffmpegsos-solaris10-sparc Build #13682

Results:

Failed shell_2 shell_3 shell_4 shell_5

SourceStamp:

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

BuildSlave:

unstable10s

Reason:

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

Steps and Logfiles:

  1. git update ( 13 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 ( 9 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_sos.sh' failed ( 1 secs )
    1. stdio
    2. configure.log
    3. compile.log
    4. test.log

Build Properties:

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

Forced Build Properties:

NameLabelValue

Responsible Users:

  1. Niklas Haas

Timing:

StartTue Jun 23 13:54:52 2026
EndTue Jun 23 13:55:17 2026
Elapsed25 secs

All Changes:

:

  1. Change #272239

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b99247953902b62986801053a9f252dc8fa11a75

    Comments

    swscale/ops: keep track of copied/cleared components
    These represent components which have not (yet) been modified from their
    input values (i.e. after a read, or clear). Such components can be
    basically passed through via a refcopy (where applicable), as well as helping
    to distinguish dissimilar types of plane for (plane splitting).
    
    Generates benign diffs like:
    
     gray 16x16 -> yuv444p 16x16:
    -  [ u8 +XXX] SWS_OP_READ         : 1 elem(s) planar >> 0
    +  [ u8 =XXX] SWS_OP_READ         : 1 elem(s) planar >> 0
         min: {0 _ _ _}, max: {255 _ _ _}
    -  [ u8 +XXX] SWS_OP_CONVERT      : u8 -> f32
    +  [ u8 =XXX] SWS_OP_CONVERT      : u8 -> f32
         min: {0 _ _ _}, max: {255 _ _ _}
       [f32 .XXX] SWS_OP_LINEAR       : luma [[73/85 0 0 0 16] [0 1 0 0 0] [0 0 1 0 0] [0 0 0 1 0]]
         min: {16 _ _ _}, max: {235 _ _ _}
       [f32 .XXX] SWS_OP_DITHER       : 16x16 matrix + {0 -1 -1 -1}
         min: {16.001953 _ _ _}, max: {235.998047 _ _ _}
       [f32 +XXX] SWS_OP_CONVERT      : f32 -> u8
         min: {16 _ _ _}, max: {235 _ _ _}
    -  [ u8 +++X] SWS_OP_CLEAR        : {_ 128 128 _}
    +  [ u8 +$$X] SWS_OP_CLEAR        : {_ 128 128 _}
         min: {16 128 128 _}, max: {235 128 128 _}
       [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    -    (X = unused, z = byteswapped, + = exact, 0 = zero)
    +    ('X' unused, 'z' byteswapped, '=' copied, '$' const, '+' integer, '0' zero)
      translated micro-ops:
         u8_read_planar_x
         u8_to_f32_x
         f32_linear_x_x000x
         f32_dither_x_0_16x16
         f32_to_u8_x
         u8_clear_yz_xx
         u8_write_planar_xyz
    
    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
  2. Change #272240

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cd2109b3a682965b0fff8f0bdb2764d4bd5b2fcb

    Comments

    swscale/ops: fix stale comment
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops.h
  3. Change #272241

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision aecca98488ddcfb460186856e373336f0a24bfdc

    Comments

    swscale/ops: fix noop check ignoring read/write filters
    Fixes a few cases where we previously didn't actually scale:
    
     gbrpf32le 16x16 -> gbrpf32le 16x32:
    -  (no-op)
    +  [f32 ...X] SWS_OP_READ         : 3 elem(s) planar >> 0 + 2 tap bilinear filter (V)
    +    min: {nan nan nan _}, max: {nan nan nan _}
    +  [f32 XXXX] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    +    ('X' unused, 'z' byteswapped, '=' copied, '$' const, '+' integer, '0' zero)
    + translated micro-ops:
    +    f32_read_planar_fv_xyz_f32
    +    u32_write_planar_xyz
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops.c
    • tests/ref/fate/sws-ops-list
  4. Change #272242

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c1eee3d4d8ef91b1f7f651d92d54e30716996ec7

    Comments

    swscale/graph: add a function to allow reusing output buffers
    Used for plane splitting, among other things. (e.g. plane passthrough)
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/graph.c
    • libswscale/graph.h
  5. Change #272243

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d86f0ae534da6eeb80f05686bb744f0bb19fdf32

    Comments

    swscale/ops_dispatch: don't assume first operation is a read
    Makes ff_sws_compile_pass() more robust; will be needed for plane splitting.
    Besides, it's perfectly valid to have an operation list that starts with
    e.g. SWS_OP_CLEAR.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_dispatch.c
    • libswscale/ops_dispatch.h
  6. Change #272244

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 07e6ee54e7225694853a5a02c71fbcaed36be574

    Comments

    swscale/ops_dispatch: move no-op check after optimization pass
    Otherwise, this will false negative if the redundant operations haven't
    been optimized away yet, resulting in unnecessary memcpy operations.
    
    Fixes: a5341560839ad9d5432978e0a760d6771142c712
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_dispatch.c
  7. Change #272245

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e3d15d460691ab17dc374ad4fceef9751723b8e9

    Comments

    swscale/ops_dispatch: move compile flags from ops.h
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops.h
    • libswscale/ops_dispatch.h
  8. Change #272246

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 27ff50f6abb7b5e4e4ecf39cbfcd0c46211c5e7b

    Comments

    swscale/ops_dispatch: add SWS_OP_FLAG_DRY_RUN
    Avoids us having to write awkward code like `output ? &pass : NULL`.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_dispatch.c
    • libswscale/ops_dispatch.h
    • libswscale/tests/sws_ops.c
    • libswscale/uops.c
  9. Change #272247

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 17154619e55cc816a569d70c5a41c67590dde0f1

    Comments

    swscale/ops_dispatch: group compilation args into struct
    This will make it easier to keep passing around these parameters in helper
    functions in the upcoming refactor.
    
    Take the opportunity to also rename the plain `compile` function to
    `compile_single`.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_dispatch.c
  10. Change #272248

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 409b870bd6cd894910d3ae23a1c0858100b33071

    Comments

    swscale/tests/sws_ops: only print actually compiled ops lists
    We already have the unoptimized reference ops; printing each intermediate
    stage here is just noise that makes this file harder to scroll through IMO.
    
    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
  11. Change #272249

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2509eb3e8c6f029c0cc44c2e06c629b145921ec8

    Comments

    swscale/ops_optimizer: extract subpass splitting logic to helper
    I will also delete the old name in an upcoming commit.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_internal.h
    • libswscale/ops_optimizer.c
  12. Change #272250

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 848753352d4050d486ffdb523ab86bc08dc5f813

    Comments

    swscale/ops_dispatch: substantially refactor subpass compilation
    Instead of a loop with fixed structure, this function now recursively calls
    itself as many times as needed to satisfy all criteria.
    
    This is absolutely needed for the upcoming refactor which will allow for
    also splitting apart ops lists as needed to e.g. handle partially subsampled
    ops lists, which may need a complex sequence of filtering and merge steps
    to be fully satisfied.
    
    This does modify the way in which subpasses are compiled slightly, in that
    each new subpass first tried again un-split, rather than a single split
    resulting in all subsequent passes being split as well. This is mostly a
    benign change, though it might matter one day.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_dispatch.c
  13. Change #272251

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2eb254c5fd5c93a41f68db873ac52cff6904f966

    Comments

    swscale/ops_dispatch: avoid possible infinite recursion
    If the filter cannot actually be optimized into the read (for whatever
    reason), this code would previously loop infinitely. Bail out cleanly
    instead.
    
    The FFSWAP is there to make the error message print the remainder (the one
    containing unsplittable ops), rather than the noop list.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_dispatch.c
  14. Change #272252

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b494a82321774bfe3cb940d0f92f2a782a562704

    Comments

    swscale/ops: remove now-unneeded function
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_internal.h
    • libswscale/ops_optimizer.c
  15. Change #272253

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4f6d5c1794e9583b5669e6c072dbd82697dbf19d

    Comments

    swscale/uops: add a helper to print a comp mask as a string
    For debugging/logging purposes exclusively.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/uops.h
  16. Change #272254

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ed12cf75154f9eaee306133a393b0ad7d049a3ef

    Comments

    swscale/uops: simplify uop mask printing slightly
    We can re-use the helper we just added.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/uops.c
  17. Change #272255

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 291e849ee3938e70002bdea422cd99544358255b

    Comments

    swscale/ops_optimizer: add ff_sws_op_list_split_planes()
    Can be used to extract a reduced subset of operations affecting only certain
    output planes, e.g. splitting an op list into a "memcpy" and a "non-memcpy"
    part, or splitting apart op lists for independent or subsampled planes.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_internal.h
    • libswscale/ops_optimizer.c
  18. Change #272256

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 65197f67ffdcfd255dc4f8c40652c48b2f79f5ea

    Comments

    swscale/ops_dispatch: add option to link subpass outputs together
    Not needed currently but will be used for parallel splits.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_dispatch.c
  19. Change #272257

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0901ca410816ef77c64cf14127feac0ae41e9cb4

    Comments

    swscale/ops_dispatch: add option to split const/copied subpasses
    This already helps performance as-is, but will help performance massively
    once we add the ability for the memcpy backend to do a refcopy instead of
    an actual copy.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/ops_dispatch.c
    • libswscale/ops_dispatch.h
  20. Change #272258

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 09c0cd6837b1063d19e1dbda350281e0e4f99458

    Comments

    swscale/tests/sws_ops: split passes when printing ops lists
    This affects a large number of conversions across the board, either:
    
    1. Lifting a constant alpha/chroma clear out from the conversion pass:
    
     rgb24 16x16 -> yuva444p 16x16:
    +  [ u8 $XXX] SWS_OP_CLEAR        : {255 _ _ _}
    +  [ u8 XXXX] SWS_OP_WRITE        : 1 elem(s) planar >> 0, via {3}
    +    ('X' unused, 'z' byteswapped, '=' copied, '$' const, '+' integer, '0' zero)
    + translated micro-ops:
    +    u8_clear_x_1
    +    u8_write_planar_x
    + Sub-pass #1:
       [ u8 +++X] SWS_OP_READ         : 3 elem(s) packed >> 0
       [ u8 +++X] SWS_OP_CONVERT      : u8 -> f32
       [f32 ...X] SWS_OP_LINEAR       : matrix3+off3 [...]
       [f32 ...X] SWS_OP_DITHER       : 16x16 matrix + {0 3 2 -1}
       [f32 +++X] SWS_OP_CONVERT      : f32 -> u8
    -  [ u8 +++$] SWS_OP_CLEAR        : {_ _ _ 255}
    -  [ u8 XXXX] SWS_OP_WRITE        : 4 elem(s) planar >> 0
    +  [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) planar >> 0
         ('X' unused, 'z' byteswapped, '=' copied, '$' const, '+' integer, '0' zero)
    
     gray 16x16 -> yuv444p 16x16:
    +  [ u8 $$XX] SWS_OP_CLEAR        : {128 128 _ _}
    +  [ u8 XXXX] SWS_OP_WRITE        : 2 elem(s) planar >> 0, via {2, 1}
    +    ('X' unused, 'z' byteswapped, '=' copied, '$' const, '+' integer, '0' zero)
    + translated micro-ops:
    +    u8_clear_xy_xx
    +    u8_write_planar_xy
    + Sub-pass #1:
       [ u8 =XXX] SWS_OP_READ         : 1 elem(s) planar >> 0
       [ u8 =XXX] SWS_OP_CONVERT      : u8 -> f32
       [f32 .XXX] SWS_OP_LINEAR       : luma [...]
       [f32 .XXX] SWS_OP_DITHER       : 16x16 matrix + {0 -1 -1 -1}
       [f32 +XXX] SWS_OP_CONVERT      : f32 -> u8
    -  [ u8 +$$X] SWS_OP_CLEAR        : {_ 128 128 _}
    -  [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    +  [ u8 XXXX] SWS_OP_WRITE        : 1 elem(s) planar >> 0
         ('X' unused, 'z' byteswapped, '=' copied, '$' const, '+' integer, '0' zero)
      translated micro-ops:
         u8_read_planar_x
         u8_to_f32_x
         f32_linear_x_x000x
         f32_dither_x_0_16x16
         f32_to_u8_x
    -    u8_clear_yz_xx
    -    u8_write_planar_xyz
    +    u8_write_planar_x
    
    or
    
    2. Passing through a plane that was previously unmodified by an ops chain:
    
     gbrap 16x16 -> yuva444p 16x16:
    -  [ u8 ====] SWS_OP_READ         : 4 elem(s) planar >> 0, via {2, 0, 1, 3}
    -  [ u8 ====] SWS_OP_CONVERT      : u8 -> f32
    -  [f32 ...=] SWS_OP_LINEAR       : matrix3+off3 [...]
    -  [f32 ...=] SWS_OP_DITHER       : 16x16 matrix + {0 3 2 -1}
    -  [f32 +++=] SWS_OP_CONVERT      : f32 -> u8
    -  [ u8 XXXX] SWS_OP_WRITE        : 4 elem(s) planar >> 0
    +  [ u8 =XXX] SWS_OP_READ         : 1 elem(s) planar >> 0, via {3}
    +  [ u8 XXXX] SWS_OP_WRITE        : 1 elem(s) planar >> 0, via {3}
         ('X' unused, 'z' byteswapped, '=' copied, '$' const, '+' integer, '0' zero)
      translated micro-ops:
    -    u8_read_planar_xyzw
    -    u8_to_f32_xyzw
    +    u8_read_planar_x
    +    u8_write_planar_x
    + Sub-pass #1:
    +  [ u8 ===X] SWS_OP_READ         : 3 elem(s) planar >> 0, via {2, 0, 1}
    +  [ u8 ===X] SWS_OP_CONVERT      : u8 -> f32
    +  [f32 ...X] SWS_OP_LINEAR       : matrix3+off3 [...]
    +  [f32 ...X] SWS_OP_DITHER       : 16x16 matrix + {0 3 2 -1}
    +  [f32 +++X] SWS_OP_CONVERT      : f32 -> u8
    +  [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) planar >> 0
    +    ('X' unused, 'z' byteswapped, '=' copied, '$' const, '+' integer, '0' zero)
    + translated micro-ops:
    +    u8_read_planar_xyz
    +    u8_to_f32_xyz
         f32_linear_xyz_xxx0x_xxx0x_xxx0x
         f32_dither_xyz_0_3_2_16x16
    -    f32_to_u8_xyzw
    -    u8_write_planar_xyzw
    +    f32_to_u8_xyz
    +    u8_write_planar_xyz
    
    (Op lists are abridged slightly for brevity)
    
    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
  21. Change #272259

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Jun 2026 13:48:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 30155f9c3aa869fd0a2db25809c2bf2114236d75

    Comments

    swscale/uops: split planes when generating ops lists
    This updates uops_macros.h and the graph.c implementation in lockstep,
    otherwise we'd have an intermediate commit with a bunch of broken formats.
    
    Overall speedup=1.008x faster, min=0.144x max=5.550x
    
    The min/max numbers are mostly measurement noise, but the real speedup for
    affected formats is anywhere from 0.9x to around 2x-3x.
    
    It's worth noting that the speedup for the formats which currently regress
    is because we don't yet refcopy the planes, but I have another series in the
    works which will take care of this soon.
    
    Sponsored-by: Sovereign Tech Fund
    Signed-off-by: Niklas Haas <git@haasn.dev>

    Changed files

    • libswscale/graph.c
    • libswscale/uops.c
    • libswscale/uops_macros.h