This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 09c0cd6837b1063d19e1dbda350281e0e4f99458 Author: Niklas Haas <[email protected]> AuthorDate: Sat Jun 20 16:27:09 2026 +0200 Commit: Niklas Haas <[email protected]> CommitDate: Tue Jun 23 11:48:13 2026 +0000 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 <[email protected]> --- libswscale/tests/sws_ops.c | 2 +- tests/ref/fate/sws-ops-list | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libswscale/tests/sws_ops.c b/libswscale/tests/sws_ops.c index ce7672040b..0da59b473f 100644 --- a/libswscale/tests/sws_ops.c +++ b/libswscale/tests/sws_ops.c @@ -92,7 +92,7 @@ static int print_passes(SwsContext *ctx, void *graph, SwsOpList *ops) return AVERROR(ENOMEM); pass_idx = 0; - const int flags = SWS_OP_FLAG_DRY_RUN; + const int flags = SWS_OP_FLAG_DRY_RUN | SWS_OP_FLAG_SPLIT_MEMCPY; return ff_sws_compile_pass(graph, &backend_print, ©, flags, NULL, NULL); } static void log_stdout(void *avcl, int level, const char *fmt, va_list vl) diff --git a/tests/ref/fate/sws-ops-list b/tests/ref/fate/sws-ops-list index ee37afb811..b5fc179208 100644 --- a/tests/ref/fate/sws-ops-list +++ b/tests/ref/fate/sws-ops-list @@ -1 +1 @@ -f14d6b179843b86854e9f80b599b5d86 +133f2f3066e2a853f6e77be084c9cd75 _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
