This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 9b1c1fe95f72d1b69ee7a8e7f34bea065e7fe8e6
Author:     Niklas Haas <[email protected]>
AuthorDate: Tue Apr 7 14:37:25 2026 +0200
Commit:     Niklas Haas <[email protected]>
CommitDate: Thu Apr 16 23:24:55 2026 +0200

    swscale/ops_backend: align linear kernels with actually needed masks
    
    Using the power of libswscale/tests/sws_ops -summarize lets us see which
    kernels are actually needed by real op lists.
    
    Note: I'm working on a separate series which will obsolete this 
implementation
    whack-a-mole game altogether, by generating a list of all possible op 
kernels
    at compile time.
    
    Signed-off-by: Niklas Haas <[email protected]>
---
 libswscale/ops_tmpl_float.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/libswscale/ops_tmpl_float.c b/libswscale/ops_tmpl_float.c
index 687b08b99b..695de4ceb6 100644
--- a/libswscale/ops_tmpl_float.c
+++ b/libswscale/ops_tmpl_float.c
@@ -197,17 +197,19 @@ DECL_ENTRY(linear_##NAME,
 WRAP_LINEAR(luma,      SWS_MASK_LUMA)
 WRAP_LINEAR(alpha,     SWS_MASK_ALPHA)
 WRAP_LINEAR(lumalpha,  SWS_MASK_LUMA | SWS_MASK_ALPHA)
+WRAP_LINEAR(yalpha,    SWS_MASK(1, 1)) /* ya alpha */
 WRAP_LINEAR(dot3,      0x7)
-WRAP_LINEAR(row0,      SWS_MASK_ROW(0))
-WRAP_LINEAR(row0a,     SWS_MASK_ROW(0) | SWS_MASK_ALPHA)
+WRAP_LINEAR(dot3a,     0x7 | SWS_MASK_ALPHA)
+WRAP_LINEAR(row0,      SWS_MASK_ROW(0) ^ SWS_MASK(0, 3)) /* row0 sans alpha */
 WRAP_LINEAR(diag3,     SWS_MASK_DIAG3)
 WRAP_LINEAR(diag4,     SWS_MASK_DIAG4)
 WRAP_LINEAR(diagoff3,  SWS_MASK_DIAG3 | SWS_MASK_OFF3)
-WRAP_LINEAR(matrix3,   SWS_MASK_MAT3)
 WRAP_LINEAR(affine3,   SWS_MASK_MAT3 | SWS_MASK_OFF3)
+WRAP_LINEAR(affine3uv, SWS_MASK_MAT3 | SWS_MASK_OFF(1) | SWS_MASK_OFF(2))
+WRAP_LINEAR(affine3x,  SWS_MASK_MAT3 ^ SWS_MASK(0, 1) | SWS_MASK_OFF3)
+WRAP_LINEAR(affine3xa, SWS_MASK_MAT3 ^ SWS_MASK(0, 1) | SWS_MASK_OFF3 | 
SWS_MASK_ALPHA)
+WRAP_LINEAR(affine3xy, SWS_MASK_MAT3 ^ SWS_MASK(0, 0) ^ SWS_MASK(0, 1) | 
SWS_MASK_OFF3)
 WRAP_LINEAR(affine3a,  SWS_MASK_MAT3 | SWS_MASK_OFF3 | SWS_MASK_ALPHA)
-WRAP_LINEAR(matrix4,   SWS_MASK_MAT4)
-WRAP_LINEAR(affine4,   SWS_MASK_MAT4 | SWS_MASK_OFF4)
 
 static const SwsOpTable fn(op_table_float) = {
     .block_size = SWS_BLOCK_SIZE,
@@ -238,17 +240,19 @@ static const SwsOpTable fn(op_table_float) = {
         &fn(op_linear_luma),
         &fn(op_linear_alpha),
         &fn(op_linear_lumalpha),
+        &fn(op_linear_yalpha),
         &fn(op_linear_dot3),
+        &fn(op_linear_dot3a),
         &fn(op_linear_row0),
-        &fn(op_linear_row0a),
         &fn(op_linear_diag3),
         &fn(op_linear_diag4),
         &fn(op_linear_diagoff3),
-        &fn(op_linear_matrix3),
         &fn(op_linear_affine3),
+        &fn(op_linear_affine3uv),
+        &fn(op_linear_affine3x),
+        &fn(op_linear_affine3xa),
+        &fn(op_linear_affine3xy),
         &fn(op_linear_affine3a),
-        &fn(op_linear_matrix4),
-        &fn(op_linear_affine4),
 
         &fn(op_filter1_v),
         &fn(op_filter2_v),

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to