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

Git pushed a commit to branch master
in repository ffmpeg.

commit e20a32d730deae77cb3313f52e72e54fc9f051c8
Author:     Niklas Haas <[email protected]>
AuthorDate: Tue Apr 7 15:26:40 2026 +0200
Commit:     Niklas Haas <[email protected]>
CommitDate: Thu Apr 16 23:24:55 2026 +0200

    swscale/x86/ops: align linear kernels with reference backend
    
    See previous commit.
    
    Signed-off-by: Niklas Haas <[email protected]>
---
 libswscale/x86/ops.c         | 29 +++++++++++++++++++----------
 libswscale/x86/ops_float.asm | 12 +++++++-----
 2 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/libswscale/x86/ops.c b/libswscale/x86/ops.c
index 0545dd3d6d..c3f5f50838 100644
--- a/libswscale/x86/ops.c
+++ b/libswscale/x86/ops.c
@@ -738,17 +738,24 @@ static const SwsOpTable ops16##EXT = {
     DECL_LINEAR(EXT, luma,      SWS_MASK_LUMA)                                 
 \
     DECL_LINEAR(EXT, alpha,     SWS_MASK_ALPHA)                                
 \
     DECL_LINEAR(EXT, lumalpha,  SWS_MASK_LUMA | SWS_MASK_ALPHA)                
 \
+    DECL_LINEAR(EXT, yalpha,    SWS_MASK(1, 1))                                
 \
     DECL_LINEAR(EXT, dot3,      0x7)                                           
 \
-    DECL_LINEAR(EXT, row0,      SWS_MASK_ROW(0))                               
 \
-    DECL_LINEAR(EXT, row0a,     SWS_MASK_ROW(0) | SWS_MASK_ALPHA)              
 \
+    DECL_LINEAR(EXT, dot3a,     0x7 | SWS_MASK_ALPHA)                          
 \
+    DECL_LINEAR(EXT, row0,      SWS_MASK_ROW(0) ^ SWS_MASK(0, 3))              
 \
     DECL_LINEAR(EXT, diag3,     SWS_MASK_DIAG3)                                
 \
     DECL_LINEAR(EXT, diag4,     SWS_MASK_DIAG4)                                
 \
     DECL_LINEAR(EXT, diagoff3,  SWS_MASK_DIAG3 | SWS_MASK_OFF3)                
 \
-    DECL_LINEAR(EXT, matrix3,   SWS_MASK_MAT3)                                 
 \
     DECL_LINEAR(EXT, affine3,   SWS_MASK_MAT3 | SWS_MASK_OFF3)                 
 \
-    DECL_LINEAR(EXT, affine3a,  SWS_MASK_MAT3 | SWS_MASK_OFF3 | 
SWS_MASK_ALPHA) \
-    DECL_LINEAR(EXT, matrix4,   SWS_MASK_MAT4)                                 
 \
-    DECL_LINEAR(EXT, affine4,   SWS_MASK_MAT4 | SWS_MASK_OFF4)                 
 \
+    DECL_LINEAR(EXT, affine3uv,                                                
 \
+        SWS_MASK_MAT3 | SWS_MASK_OFF(1) | SWS_MASK_OFF(2))                     
 \
+    DECL_LINEAR(EXT, affine3x,                                                 
 \
+        SWS_MASK_MAT3 ^ SWS_MASK(0, 1) | SWS_MASK_OFF3)                        
 \
+    DECL_LINEAR(EXT, affine3xa,                                                
 \
+        SWS_MASK_MAT3 ^ SWS_MASK(0, 1) | SWS_MASK_OFF3 | SWS_MASK_ALPHA)       
 \
+    DECL_LINEAR(EXT, affine3xy,                                                
 \
+        SWS_MASK_MAT3 ^ SWS_MASK(0, 0) ^ SWS_MASK(0, 1) | SWS_MASK_OFF3)       
 \
+    DECL_LINEAR(EXT, affine3a,                                                 
 \
+        SWS_MASK_MAT3 | SWS_MASK_OFF3 | SWS_MASK_ALPHA)                        
 \
     DECL_FILTERS_GENERIC(EXT,  U8)                                             
 \
     DECL_FILTERS_GENERIC(EXT, U16)                                             
 \
     DECL_FILTERS_GENERIC(EXT, F32)                                             
 \
@@ -792,17 +799,19 @@ static const SwsOpTable ops32##EXT = {
         &op_luma##EXT,                                                         
 \
         &op_alpha##EXT,                                                        
 \
         &op_lumalpha##EXT,                                                     
 \
+        &op_yalpha##EXT,                                                       
 \
         &op_dot3##EXT,                                                         
 \
+        &op_dot3a##EXT,                                                        
 \
         &op_row0##EXT,                                                         
 \
-        &op_row0a##EXT,                                                        
 \
         &op_diag3##EXT,                                                        
 \
         &op_diag4##EXT,                                                        
 \
         &op_diagoff3##EXT,                                                     
 \
-        &op_matrix3##EXT,                                                      
 \
         &op_affine3##EXT,                                                      
 \
+        &op_affine3uv##EXT,                                                    
 \
+        &op_affine3x##EXT,                                                     
 \
+        &op_affine3xa##EXT,                                                    
 \
+        &op_affine3xy##EXT,                                                    
 \
         &op_affine3a##EXT,                                                     
 \
-        &op_matrix4##EXT,                                                      
 \
-        &op_affine4##EXT,                                                      
 \
         REF_FILTERS(filter_fma_v, _U8##EXT),                                   
 \
         REF_FILTERS(filter_fma_v, _U16##EXT),                                  
 \
         REF_FILTERS(filter_fma_v, _F32##EXT),                                  
 \
diff --git a/libswscale/x86/ops_float.asm b/libswscale/x86/ops_float.asm
index 2d36f6686e..8a0e0d9116 100644
--- a/libswscale/x86/ops_float.asm
+++ b/libswscale/x86/ops_float.asm
@@ -382,16 +382,18 @@ op dot3
         linear_mask luma,       MASK_LUMA
         linear_mask alpha,      MASK_ALPHA
         linear_mask lumalpha,   MASK_LUMA | MASK_ALPHA
-        linear_mask row0,       MASK_ROW(0)
-        linear_mask row0a,      MASK_ROW(0) | MASK_ALPHA
+        linear_mask yalpha,     MASK(1, 1)
+        linear_mask dot3a,      0x7 | MASK_ALPHA
+        linear_mask row0,       MASK_ROW(0) ^ MASK(0, 3)
         linear_mask diag3,      MASK_DIAG3
         linear_mask diag4,      MASK_DIAG4
         linear_mask diagoff3,   MASK_DIAG3 | MASK_OFF3
-        linear_mask matrix3,    MASK_MAT3
         linear_mask affine3,    MASK_MAT3 | MASK_OFF3
+        linear_mask affine3uv,  MASK_MAT3 | MASK_OFF(1) | MASK_OFF(2)
+        linear_mask affine3x,   MASK_MAT3 ^ MASK(0, 1) | MASK_OFF3
+        linear_mask affine3xa,  MASK_MAT3 ^ MASK(0, 1) | MASK_OFF3 | MASK_ALPHA
+        linear_mask affine3xy,  MASK_MAT3 ^ MASK(0, 0) ^ MASK(0, 1) | MASK_OFF3
         linear_mask affine3a,   MASK_MAT3 | MASK_OFF3 | MASK_ALPHA
-        linear_mask matrix4,    MASK_MAT4
-        linear_mask affine4,    MASK_MAT4 | MASK_OFF4
 %endmacro
 
 ;---------------------------------------------------------

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

Reply via email to