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

Git pushed a commit to branch master
in repository ffmpeg.

commit 3a37eb68f4a2c718c8ce0c7056db19d31da59173
Author:     Niklas Haas <[email protected]>
AuthorDate: Sun Oct 25 12:10:28 2026 +0100
Commit:     Niklas Haas <[email protected]>
CommitDate: Tue Oct 27 18:53:16 2026 +0000

    swscale/uops: correctly mark masked linear rows as identity rows
    
    They are currently emitted identically to an explicit zero row, which is
    wrong - a zero row would not be masked as it contains an operation (setting
    the component to zero *is* an explicit operation; only leaving it untouched
    is an implicit noop).
    
    And also emit a 1 coefficient in the expected location in the data matrix.
    
    I have verified that the resulting x86 and NEON kernels are bit-identical.
    
    Signed-off-by: Niklas Haas <[email protected]>
---
 libswscale/aarch64/ops_entries.c |  72 +++++++--------
 libswscale/uops.c                |   5 +-
 libswscale/uops_macros.h         |  92 +++++++++----------
 libswscale/x86/uops_macros.asm   |  94 ++++++++++----------
 libswscale/x86/uops_macros.h     | 188 +++++++++++++++++++--------------------
 5 files changed, 227 insertions(+), 224 deletions(-)

diff --git a/libswscale/aarch64/ops_entries.c b/libswscale/aarch64/ops_entries.c
index 2f99ace3e0..c2487e5a0c 100644
--- a/libswscale/aarch64/ops_entries.c
+++ b/libswscale/aarch64/ops_entries.c
@@ -372,47 +372,47 @@ ENTRY(ff_sws_clear_ffff_16_u16_0001_neon,           { 
.uop = SWS_UOP_CLEAR,
 ENTRY(ff_sws_clear_ffff_16_u16_0011_neon,           { .uop = SWS_UOP_CLEAR,    
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x3, .par.clear = { .one = 
0x0, .zero = 0x0 } })
 ENTRY(ff_sws_clear_ffff_16_u16_0111_neon,           { .uop = SWS_UOP_CLEAR,    
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7, .par.clear = { .one = 
0x0, .zero = 0x0 } })
 ENTRY(ff_sws_clear_ffff_16_u16_1000_neon,           { .uop = SWS_UOP_CLEAR,    
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x8, .par.clear = { .one = 
0x0, .zero = 0x0 } })
-ENTRY(ff_sws_linear_000000000f_8_u32_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_U32, .mask = 0x1, .par.lin = { .one = 
0x0, .zero = 0xfffee } })
-ENTRY(ff_sws_linear_000000000f_8_f32_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, .par.lin = { .one = 
0x0, .zero = 0xfffee } })
-ENTRY(ff_sws_linear_000000000f_16_u8_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U8,  .mask = 0x1, .par.lin = { .one = 
0x0, .zero = 0xfffee } })
-ENTRY(ff_sws_linear_000000000f_16_u16_0001_neon,    { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x1, .par.lin = { .one = 
0x0, .zero = 0xfffee } })
-ENTRY(ff_sws_linear_00000000fc_8_f32_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, .par.lin = { .one = 
0x0, .zero = 0xffff8 } })
-ENTRY(ff_sws_linear_00000000ff_8_f32_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, .par.lin = { .one = 
0x0, .zero = 0xfffe8 } })
-ENTRY(ff_sws_linear_000000c000_8_f32_0010_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x2, .par.lin = { .one = 
0x0, .zero = 0xfffbf } })
-ENTRY(ff_sws_linear_000000c000_16_u8_0010_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U8,  .mask = 0x2, .par.lin = { .one = 
0x0, .zero = 0xfffbf } })
-ENTRY(ff_sws_linear_000373dcc7_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x421, .zero = 0xfb10a } })
-ENTRY(ff_sws_linear_0003f3fccf_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfb10a } })
-ENTRY(ff_sws_linear_000c00c00c_8_u32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_U32, .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfefbe } })
-ENTRY(ff_sws_linear_000c00c00c_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfefbe } })
-ENTRY(ff_sws_linear_000c00c00c_16_u8_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U8,  .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfefbe } })
-ENTRY(ff_sws_linear_000c00c00c_16_u16_0111_neon,    { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfefbe } })
-ENTRY(ff_sws_linear_000c30cc0f_8_u32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_U32, .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfadae } })
-ENTRY(ff_sws_linear_000c30cc0f_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfadae } })
-ENTRY(ff_sws_linear_000c30cc0f_16_u8_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U8,  .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfadae } })
-ENTRY(ff_sws_linear_000c30cc0f_16_u16_0111_neon,    { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfadae } })
-ENTRY(ff_sws_linear_000ff3fcfc_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfa118 } })
-ENTRY(ff_sws_linear_000ff3fcff_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x0, .zero = 0xfa108 } })
-ENTRY(ff_sws_linear_c000000000_8_f32_1000_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x8, .par.lin = { .one = 
0x0, .zero = 0xbffff } })
-ENTRY(ff_sws_linear_c00000000f_8_f32_1001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x9, .par.lin = { .one = 
0x0, .zero = 0xbffee } })
-ENTRY(ff_sws_linear_c0000000fc_8_f32_1001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x9, .par.lin = { .one = 
0x0, .zero = 0xbfff8 } })
+ENTRY(ff_sws_linear_400373dcc7_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x40421, .zero = 0xbb10a } })
+ENTRY(ff_sws_linear_4003f3fccf_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xbb10a } })
+ENTRY(ff_sws_linear_400400400f_8_u32_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_U32, .mask = 0x1, .par.lin = { .one = 
0x41040, .zero = 0xbefae } })
+ENTRY(ff_sws_linear_400400400f_8_f32_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, .par.lin = { .one = 
0x41040, .zero = 0xbefae } })
+ENTRY(ff_sws_linear_400400400f_16_u8_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U8,  .mask = 0x1, .par.lin = { .one = 
0x41040, .zero = 0xbefae } })
+ENTRY(ff_sws_linear_400400400f_16_u16_0001_neon,    { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x1, .par.lin = { .one = 
0x41040, .zero = 0xbefae } })
+ENTRY(ff_sws_linear_40040040fc_8_f32_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, .par.lin = { .one = 
0x41040, .zero = 0xbefb8 } })
+ENTRY(ff_sws_linear_40040040ff_8_f32_0001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, .par.lin = { .one = 
0x41040, .zero = 0xbefa8 } })
+ENTRY(ff_sws_linear_400400c004_8_f32_0010_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x2, .par.lin = { .one = 
0x41001, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_400400c004_16_u8_0010_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U8,  .mask = 0x2, .par.lin = { .one = 
0x41001, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_400c00c00c_8_u32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_U32, .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_400c00c00c_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_400c00c00c_16_u8_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U8,  .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_400c00c00c_16_u16_0111_neon,    { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_400c30cc0f_8_u32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_U32, .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xbadae } })
+ENTRY(ff_sws_linear_400c30cc0f_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xbadae } })
+ENTRY(ff_sws_linear_400c30cc0f_16_u8_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U8,  .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xbadae } })
+ENTRY(ff_sws_linear_400c30cc0f_16_u16_0111_neon,    { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xbadae } })
+ENTRY(ff_sws_linear_400ff3fcfc_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xba118 } })
+ENTRY(ff_sws_linear_400ff3fcff_8_f32_0111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, .par.lin = { .one = 
0x40000, .zero = 0xba108 } })
 ENTRY(ff_sws_linear_c003f3fccf_8_f32_1111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0xf, .par.lin = { .one = 
0x0, .zero = 0xbb10a } })
+ENTRY(ff_sws_linear_c004004004_8_f32_1000_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x8, .par.lin = { .one = 
0x1041, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_c00400400f_8_f32_1001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x9, .par.lin = { .one = 
0x1040, .zero = 0xbefae } })
+ENTRY(ff_sws_linear_c0040040fc_8_f32_1001_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x9, .par.lin = { .one = 
0x1040, .zero = 0xbefb8 } })
 ENTRY(ff_sws_linear_c00c00c00c_8_f32_1111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0xf, .par.lin = { .one = 
0x0, .zero = 0xbefbe } })
 ENTRY(ff_sws_linear_c00c00c00c_16_u16_1111_neon,    { .uop = SWS_UOP_LINEAR,   
    .block_size = 16, .type = SWS_PIXEL_U16, .mask = 0xf, .par.lin = { .one = 
0x0, .zero = 0xbefbe } })
 ENTRY(ff_sws_linear_c00ff3fcff_8_f32_1111_neon,     { .uop = SWS_UOP_LINEAR,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0xf, .par.lin = { .one = 
0x0, .zero = 0xba108 } })
-ENTRY(ff_sws_linear_fma_000000000f_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, 
.par.lin = { .one = 0x0, .zero = 0xfffee } })
-ENTRY(ff_sws_linear_fma_00000000fc_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, 
.par.lin = { .one = 0x0, .zero = 0xffff8 } })
-ENTRY(ff_sws_linear_fma_00000000ff_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, 
.par.lin = { .one = 0x0, .zero = 0xfffe8 } })
-ENTRY(ff_sws_linear_fma_000000c000_8_f32_0010_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x2, 
.par.lin = { .one = 0x0, .zero = 0xfffbf } })
-ENTRY(ff_sws_linear_fma_000373dcc7_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x421, .zero = 0xfb10a } })
-ENTRY(ff_sws_linear_fma_0003f3fccf_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x0, .zero = 0xfb10a } })
-ENTRY(ff_sws_linear_fma_000c00c00c_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x0, .zero = 0xfefbe } })
-ENTRY(ff_sws_linear_fma_000c30cc0f_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x0, .zero = 0xfadae } })
-ENTRY(ff_sws_linear_fma_000ff3fcfc_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x0, .zero = 0xfa118 } })
-ENTRY(ff_sws_linear_fma_000ff3fcff_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x0, .zero = 0xfa108 } })
-ENTRY(ff_sws_linear_fma_c000000000_8_f32_1000_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x8, 
.par.lin = { .one = 0x0, .zero = 0xbffff } })
-ENTRY(ff_sws_linear_fma_c00000000f_8_f32_1001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x9, 
.par.lin = { .one = 0x0, .zero = 0xbffee } })
-ENTRY(ff_sws_linear_fma_c0000000fc_8_f32_1001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x9, 
.par.lin = { .one = 0x0, .zero = 0xbfff8 } })
+ENTRY(ff_sws_linear_fma_400373dcc7_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x40421, .zero = 0xbb10a } })
+ENTRY(ff_sws_linear_fma_4003f3fccf_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x40000, .zero = 0xbb10a } })
+ENTRY(ff_sws_linear_fma_400400400f_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, 
.par.lin = { .one = 0x41040, .zero = 0xbefae } })
+ENTRY(ff_sws_linear_fma_40040040fc_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, 
.par.lin = { .one = 0x41040, .zero = 0xbefb8 } })
+ENTRY(ff_sws_linear_fma_40040040ff_8_f32_0001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x1, 
.par.lin = { .one = 0x41040, .zero = 0xbefa8 } })
+ENTRY(ff_sws_linear_fma_400400c004_8_f32_0010_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x2, 
.par.lin = { .one = 0x41001, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_fma_400c00c00c_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x40000, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_fma_400c30cc0f_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x40000, .zero = 0xbadae } })
+ENTRY(ff_sws_linear_fma_400ff3fcfc_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x40000, .zero = 0xba118 } })
+ENTRY(ff_sws_linear_fma_400ff3fcff_8_f32_0111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x7, 
.par.lin = { .one = 0x40000, .zero = 0xba108 } })
 ENTRY(ff_sws_linear_fma_c003f3fccf_8_f32_1111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0xf, 
.par.lin = { .one = 0x0, .zero = 0xbb10a } })
+ENTRY(ff_sws_linear_fma_c004004004_8_f32_1000_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x8, 
.par.lin = { .one = 0x1041, .zero = 0xbefbe } })
+ENTRY(ff_sws_linear_fma_c00400400f_8_f32_1001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x9, 
.par.lin = { .one = 0x1040, .zero = 0xbefae } })
+ENTRY(ff_sws_linear_fma_c0040040fc_8_f32_1001_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0x9, 
.par.lin = { .one = 0x1040, .zero = 0xbefb8 } })
 ENTRY(ff_sws_linear_fma_c00c00c00c_8_f32_1111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0xf, 
.par.lin = { .one = 0x0, .zero = 0xbefbe } })
 ENTRY(ff_sws_linear_fma_c00ff3fcff_8_f32_1111_neon, { .uop = 
SWS_UOP_LINEAR_FMA,   .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0xf, 
.par.lin = { .one = 0x0, .zero = 0xba108 } })
 ENTRY(ff_sws_dither_0325_4_8_f32_1111_neon,         { .uop = SWS_UOP_DITHER,   
    .block_size =  8, .type = SWS_PIXEL_F32, .mask = 0xf, .par.dither = { 
.y_offset = {5, 2, 3, 0}, .size_log2 = 4 } })
diff --git a/libswscale/uops.c b/libswscale/uops.c
index e55102abc6..906cb0c7be 100644
--- a/libswscale/uops.c
+++ b/libswscale/uops.c
@@ -482,13 +482,16 @@ static int translate_linear_op(SwsContext *ctx, 
SwsUOpList *ops,
         .uop  = SWS_UOP_LINEAR,
     };
 
+    const SwsPixel one = ff_sws_pixel_from_q64(uop.type, (AVRational64) {1, 
1});
     const uint32_t mask = ff_sws_linear_mask(&op->lin);
     const bool bitexact = ctx->flags & SWS_BITEXACT;
     uint32_t exact = 0;
 
     for (int i = 0; i < 4; i++) {
         if (!SWS_OP_NEEDED(op, i) || !(mask & SWS_MASK_ROW(i))) {
-            uop.par.lin.zero |= SWS_MASK_ROW(i);
+            uop.par.lin.zero |= SWS_MASK_ROW(i) ^ SWS_MASK(i, i);
+            uop.par.lin.one |= SWS_MASK(i, i);
+            uop.data.mat4x5[i][i] = one;
             continue;
         }
         uop.mask |= SWS_COMP(i);
diff --git a/libswscale/uops_macros.h b/libswscale/uops_macros.h
index 92d61f4442..acad94d2f8 100644
--- a/libswscale/uops_macros.h
+++ b/libswscale/uops_macros.h
@@ -288,15 +288,15 @@
     MACRO(__VA_ARGS__, u8_clear_xzw_1xx                        , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00001, .par.clear.zero = 0x00000) \
     MACRO(__VA_ARGS__, u8_clear_xzw_xx1                        , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00008, .par.clear.zero = 0x00000)
 #define SWS_FOR_U8_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u8_linear_x_x000x                       , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee) \
-    MACRO(__VA_ARGS__, u8_linear_y_0x000                       , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x2, 0x00000, 0xfffbf) \
-    MACRO(__VA_ARGS__, u8_linear_xyz_x000x_0x00x_00x0x         , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae) \
-    MACRO(__VA_ARGS__, u8_linear_xyz_x0000_0x000_00x00         , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe)
+    MACRO(__VA_ARGS__, u8_linear_x_x000x                       , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae) \
+    MACRO(__VA_ARGS__, u8_linear_y_0x000                       , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x2, 0x41001, 0xbefbe) \
+    MACRO(__VA_ARGS__, u8_linear_xyz_x000x_0x00x_00x0x         , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae) \
+    MACRO(__VA_ARGS__, u8_linear_xyz_x0000_0x000_00x00         , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe)
 #define SWS_FOR_STRUCT_U8_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u8_linear_x_x000x                       , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee) \
-    MACRO(__VA_ARGS__, u8_linear_y_0x000                       , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x2, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffbf) \
-    MACRO(__VA_ARGS__, u8_linear_xyz_x000x_0x00x_00x0x         , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfadae) \
-    MACRO(__VA_ARGS__, u8_linear_xyz_x0000_0x000_00x00         , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfefbe)
+    MACRO(__VA_ARGS__, u8_linear_x_x000x                       , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, u8_linear_y_0x000                       , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x2, .par.lin.one = 
0x41001, .par.lin.zero = 0xbefbe) \
+    MACRO(__VA_ARGS__, u8_linear_xyz_x000x_0x00x_00x0x         , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbadae) \
+    MACRO(__VA_ARGS__, u8_linear_xyz_x0000_0x000_00x00         , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbefbe)
 #define SWS_FOR_U8_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_STRUCT_U8_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_U8_DITHER(MACRO, ...)
@@ -572,14 +572,14 @@
     MACRO(__VA_ARGS__, u16_clear_xzw_xx0                       , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00000, .par.clear.zero = 0x00008) \
     MACRO(__VA_ARGS__, u16_clear_xzw_1xx                       , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00001, .par.clear.zero = 0x00000)
 #define SWS_FOR_U16_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u16_linear_x_x000x                      , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee) \
-    MACRO(__VA_ARGS__, u16_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae) \
-    MACRO(__VA_ARGS__, u16_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe) \
+    MACRO(__VA_ARGS__, u16_linear_x_x000x                      , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae) \
+    MACRO(__VA_ARGS__, u16_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae) \
+    MACRO(__VA_ARGS__, u16_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe) \
     MACRO(__VA_ARGS__, u16_linear_xyzw_x0000_0x000_00x00_000x0 , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0xf, 0x00000, 0xbefbe)
 #define SWS_FOR_STRUCT_U16_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u16_linear_x_x000x                      , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee) \
-    MACRO(__VA_ARGS__, u16_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfadae) \
-    MACRO(__VA_ARGS__, u16_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfefbe) \
+    MACRO(__VA_ARGS__, u16_linear_x_x000x                      , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, u16_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbadae) \
+    MACRO(__VA_ARGS__, u16_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbefbe) \
     MACRO(__VA_ARGS__, u16_linear_xyzw_x0000_0x000_00x00_000x0 , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xbefbe)
 #define SWS_FOR_U16_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_STRUCT_U16_LINEAR_FMA(MACRO, ...)
@@ -802,13 +802,13 @@
     MACRO(__VA_ARGS__, u32_clear_xyw_xxx                       , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_CLEAR           , .mask = 0xb, .par.clear.one = 
0x00000, .par.clear.zero = 0x00000) \
     MACRO(__VA_ARGS__, u32_clear_xzw_xxx                       , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00000, .par.clear.zero = 0x00000)
 #define SWS_FOR_U32_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u32_linear_x_x000x                      , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee) \
-    MACRO(__VA_ARGS__, u32_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae) \
-    MACRO(__VA_ARGS__, u32_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe)
+    MACRO(__VA_ARGS__, u32_linear_x_x000x                      , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae) \
+    MACRO(__VA_ARGS__, u32_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae) \
+    MACRO(__VA_ARGS__, u32_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe)
 #define SWS_FOR_STRUCT_U32_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u32_linear_x_x000x                      , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee) \
-    MACRO(__VA_ARGS__, u32_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfadae) \
-    MACRO(__VA_ARGS__, u32_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfefbe)
+    MACRO(__VA_ARGS__, u32_linear_x_x000x                      , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, u32_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbadae) \
+    MACRO(__VA_ARGS__, u32_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbefbe)
 #define SWS_FOR_U32_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_STRUCT_U32_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_U32_DITHER(MACRO, ...)
@@ -988,36 +988,36 @@
 #define SWS_FOR_F32_CLEAR(MACRO, ...)
 #define SWS_FOR_STRUCT_F32_CLEAR(MACRO, ...)
 #define SWS_FOR_F32_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, f32_linear_x_xxx0x                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffe8) \
-    MACRO(__VA_ARGS__, f32_linear_x_x000x                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee) \
-    MACRO(__VA_ARGS__, f32_linear_x_xxx00                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xffff8) \
-    MACRO(__VA_ARGS__, f32_linear_y_0x000                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x2, 0x00000, 0xfffbf) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfa108) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x0x0x_xxx0x_xx00x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfb10a) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_xxx00_xxx0x_xxx0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfa118) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_10x0x_1xx0x_1x00x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00421, 0xfb10a) \
-    MACRO(__VA_ARGS__, f32_linear_w_000x0                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x8, 0x00000, 0xbffff) \
-    MACRO(__VA_ARGS__, f32_linear_xw_x000x_000x0               , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x9, 0x00000, 0xbffee) \
-    MACRO(__VA_ARGS__, f32_linear_xw_xxx00_000x0               , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x9, 0x00000, 0xbfff8) \
+    MACRO(__VA_ARGS__, f32_linear_x_xxx0x                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefa8) \
+    MACRO(__VA_ARGS__, f32_linear_x_x000x                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae) \
+    MACRO(__VA_ARGS__, f32_linear_x_xxx00                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefb8) \
+    MACRO(__VA_ARGS__, f32_linear_y_0x000                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x2, 0x41001, 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xba108) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x0x0x_xxx0x_xx00x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbb10a) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_xxx00_xxx0x_xxx0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xba118) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_10x0x_1xx0x_1x00x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40421, 0xbb10a) \
+    MACRO(__VA_ARGS__, f32_linear_w_000x0                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x8, 0x01041, 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xw_x000x_000x0               , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x9, 0x01040, 0xbefae) \
+    MACRO(__VA_ARGS__, f32_linear_xw_xxx00_000x0               , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x9, 0x01040, 0xbefb8) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_xxx0x_xxx0x_xxx0x_000x0 , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0xf, 0x00000, 0xba108) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_x0x0x_xxx0x_xx00x_000x0 , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0xf, 0x00000, 0xbb10a) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_x0000_0x000_00x00_000x0 , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0xf, 0x00000, 0xbefbe)
 #define SWS_FOR_STRUCT_F32_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, f32_linear_x_xxx0x                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffe8) \
-    MACRO(__VA_ARGS__, f32_linear_x_x000x                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee) \
-    MACRO(__VA_ARGS__, f32_linear_x_xxx00                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xffff8) \
-    MACRO(__VA_ARGS__, f32_linear_y_0x000                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x2, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffbf) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa108) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x0x0x_xxx0x_xx00x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfb10a) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_xxx00_xxx0x_xxx0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa118) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfadae) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfefbe) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_10x0x_1xx0x_1x00x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00421, .par.lin.zero = 0xfb10a) \
-    MACRO(__VA_ARGS__, f32_linear_w_000x0                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x8, .par.lin.one = 
0x00000, .par.lin.zero = 0xbffff) \
-    MACRO(__VA_ARGS__, f32_linear_xw_x000x_000x0               , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x9, .par.lin.one = 
0x00000, .par.lin.zero = 0xbffee) \
-    MACRO(__VA_ARGS__, f32_linear_xw_xxx00_000x0               , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x9, .par.lin.one = 
0x00000, .par.lin.zero = 0xbfff8) \
+    MACRO(__VA_ARGS__, f32_linear_x_xxx0x                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefa8) \
+    MACRO(__VA_ARGS__, f32_linear_x_x000x                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, f32_linear_x_xxx00                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefb8) \
+    MACRO(__VA_ARGS__, f32_linear_y_0x000                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x2, .par.lin.one = 
0x41001, .par.lin.zero = 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba108) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x0x0x_xxx0x_xx00x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbb10a) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_xxx00_xxx0x_xxx0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba118) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbadae) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_10x0x_1xx0x_1x00x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40421, .par.lin.zero = 0xbb10a) \
+    MACRO(__VA_ARGS__, f32_linear_w_000x0                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x8, .par.lin.one = 
0x01041, .par.lin.zero = 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xw_x000x_000x0               , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x9, .par.lin.one = 
0x01040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, f32_linear_xw_xxx00_000x0               , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x9, .par.lin.one = 
0x01040, .par.lin.zero = 0xbefb8) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_xxx0x_xxx0x_xxx0x_000x0 , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xba108) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_x0x0x_xxx0x_xx00x_000x0 , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xbb10a) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_x0000_0x000_00x00_000x0 , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xbefbe)
diff --git a/libswscale/x86/uops_macros.asm b/libswscale/x86/uops_macros.asm
index d7d539f286..09bc564ba3 100644
--- a/libswscale/x86/uops_macros.asm
+++ b/libswscale/x86/uops_macros.asm
@@ -231,10 +231,10 @@
 %endmacro
 
 %macro DECL_U8_LINEAR 1
-    DECL_OP %1, u8_linear_x_x000x                       , SWS_PIXEL_U8 , 
SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee
-    DECL_OP %1, u8_linear_y_0x000                       , SWS_PIXEL_U8 , 
SWS_UOP_LINEAR          , 0x2, 0x00000, 0xfffbf
-    DECL_OP %1, u8_linear_xyz_x000x_0x00x_00x0x         , SWS_PIXEL_U8 , 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae
-    DECL_OP %1, u8_linear_xyz_x0000_0x000_00x00         , SWS_PIXEL_U8 , 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe
+    DECL_OP %1, u8_linear_x_x000x                       , SWS_PIXEL_U8 , 
SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae
+    DECL_OP %1, u8_linear_y_0x000                       , SWS_PIXEL_U8 , 
SWS_UOP_LINEAR          , 0x2, 0x41001, 0xbefbe
+    DECL_OP %1, u8_linear_xyz_x000x_0x00x_00x0x         , SWS_PIXEL_U8 , 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae
+    DECL_OP %1, u8_linear_xyz_x0000_0x000_00x00         , SWS_PIXEL_U8 , 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe
 %endmacro
 
 %macro DECL_U8_LINEAR_FMA 1
@@ -449,9 +449,9 @@
 %endmacro
 
 %macro DECL_U16_LINEAR 1
-    DECL_OP %1, u16_linear_x_x000x                      , SWS_PIXEL_U16, 
SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee
-    DECL_OP %1, u16_linear_xyz_x000x_0x00x_00x0x        , SWS_PIXEL_U16, 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae
-    DECL_OP %1, u16_linear_xyz_x0000_0x000_00x00        , SWS_PIXEL_U16, 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe
+    DECL_OP %1, u16_linear_x_x000x                      , SWS_PIXEL_U16, 
SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae
+    DECL_OP %1, u16_linear_xyz_x000x_0x00x_00x0x        , SWS_PIXEL_U16, 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae
+    DECL_OP %1, u16_linear_xyz_x0000_0x000_00x00        , SWS_PIXEL_U16, 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe
     DECL_OP %1, u16_linear_xyzw_x0000_0x000_00x00_000x0 , SWS_PIXEL_U16, 
SWS_UOP_LINEAR          , 0xf, 0x00000, 0xbefbe
 %endmacro
 
@@ -636,9 +636,9 @@
 %endmacro
 
 %macro DECL_U32_LINEAR 1
-    DECL_OP %1, u32_linear_x_x000x                      , SWS_PIXEL_U32, 
SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee
-    DECL_OP %1, u32_linear_xyz_x000x_0x00x_00x0x        , SWS_PIXEL_U32, 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae
-    DECL_OP %1, u32_linear_xyz_x0000_0x000_00x00        , SWS_PIXEL_U32, 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe
+    DECL_OP %1, u32_linear_x_x000x                      , SWS_PIXEL_U32, 
SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae
+    DECL_OP %1, u32_linear_xyz_x000x_0x00x_00x0x        , SWS_PIXEL_U32, 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae
+    DECL_OP %1, u32_linear_xyz_x0000_0x000_00x00        , SWS_PIXEL_U32, 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe
 %endmacro
 
 %macro DECL_U32_LINEAR_FMA 1
@@ -805,49 +805,49 @@
 %endmacro
 
 %macro DECL_F32_LINEAR 1
-    DECL_OP %1, f32_linear_x_xxx0x                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffe8
-    DECL_OP %1, f32_linear_x_x000x                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee
-    DECL_OP %1, f32_linear_x_xxx00                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x1, 0x00000, 0xffff8
-    DECL_OP %1, f32_linear_y_0x000                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x2, 0x00000, 0xfffbf
-    DECL_OP %1, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfa108
-    DECL_OP %1, f32_linear_xyz_x0x0x_xxx0x_xx00x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfb10a
-    DECL_OP %1, f32_linear_xyz_xxx00_xxx0x_xxx0x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfa118
-    DECL_OP %1, f32_linear_xyz_x000x_0x00x_00x0x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae
-    DECL_OP %1, f32_linear_xyz_x0000_0x000_00x00        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe
-    DECL_OP %1, f32_linear_xyz_10x0x_1xx0x_1x00x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x00421, 0xfb10a
-    DECL_OP %1, f32_linear_w_000x0                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x8, 0x00000, 0xbffff
-    DECL_OP %1, f32_linear_xw_x000x_000x0               , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x9, 0x00000, 0xbffee
-    DECL_OP %1, f32_linear_xw_xxx00_000x0               , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x9, 0x00000, 0xbfff8
+    DECL_OP %1, f32_linear_x_xxx0x                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefa8
+    DECL_OP %1, f32_linear_x_x000x                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae
+    DECL_OP %1, f32_linear_x_xxx00                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefb8
+    DECL_OP %1, f32_linear_y_0x000                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x2, 0x41001, 0xbefbe
+    DECL_OP %1, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xba108
+    DECL_OP %1, f32_linear_xyz_x0x0x_xxx0x_xx00x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbb10a
+    DECL_OP %1, f32_linear_xyz_xxx00_xxx0x_xxx0x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xba118
+    DECL_OP %1, f32_linear_xyz_x000x_0x00x_00x0x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae
+    DECL_OP %1, f32_linear_xyz_x0000_0x000_00x00        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe
+    DECL_OP %1, f32_linear_xyz_10x0x_1xx0x_1x00x        , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x7, 0x40421, 0xbb10a
+    DECL_OP %1, f32_linear_w_000x0                      , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x8, 0x01041, 0xbefbe
+    DECL_OP %1, f32_linear_xw_x000x_000x0               , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x9, 0x01040, 0xbefae
+    DECL_OP %1, f32_linear_xw_xxx00_000x0               , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0x9, 0x01040, 0xbefb8
     DECL_OP %1, f32_linear_xyzw_xxx0x_xxx0x_xxx0x_000x0 , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0xf, 0x00000, 0xba108
     DECL_OP %1, f32_linear_xyzw_x0x0x_xxx0x_xx00x_000x0 , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0xf, 0x00000, 0xbb10a
     DECL_OP %1, f32_linear_xyzw_x0000_0x000_00x00_000x0 , SWS_PIXEL_F32, 
SWS_UOP_LINEAR          , 0xf, 0x00000, 0xbefbe
 %endmacro
 
 %macro DECL_F32_LINEAR_FMA 1
-    DECL_OP %1, f32_linear_fma_x_xxx0x                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xfffe8, 0xfffe8
-    DECL_OP %1, f32_linear_fma_x_XXX0x                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xfffe8, 0xfffef
-    DECL_OP %1, f32_linear_fma_x_x000x                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xfffee, 0xfffee
-    DECL_OP %1, f32_linear_fma_x_X000x                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xfffee, 0xfffef
-    DECL_OP %1, f32_linear_fma_x_xxx00                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xffff8, 0xffff8
-    DECL_OP %1, f32_linear_fma_x_xXx00                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xffff8, 0xffffa
-    DECL_OP %1, f32_linear_fma_x_xxX00                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xffff8, 0xffffc
-    DECL_OP %1, f32_linear_fma_x_xXX00                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xffff8, 0xffffe
-    DECL_OP %1, f32_linear_fma_y_0x000                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x2, 0x00000, 0xfffbf, 0xfffbf
-    DECL_OP %1, f32_linear_fma_xyz_xxx0x_xxx0x_xxx0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa108, 0xfa108
-    DECL_OP %1, f32_linear_fma_xyz_XXX0x_XxX0x_XXX0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa108, 0xfbdaf
-    DECL_OP %1, f32_linear_fma_xyz_XXX0x_XXX0x_XXX0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa108, 0xfbdef
-    DECL_OP %1, f32_linear_fma_xyz_X0X0x_XXX0x_XX00x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfb10a, 0xfbdef
-    DECL_OP %1, f32_linear_fma_xyz_xxx00_xxx0x_xxx0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa118, 0xfa118
-    DECL_OP %1, f32_linear_fma_xyz_xXX00_XxX0x_XXX0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa118, 0xfbdbe
-    DECL_OP %1, f32_linear_fma_xyz_xXX00_XXX0x_XXX0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa118, 0xfbdfe
-    DECL_OP %1, f32_linear_fma_xyz_X000x_0X00x_00X0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfadae, 0xfbdef
-    DECL_OP %1, f32_linear_fma_xyz_x0000_0x000_00x00    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfefbe, 0xfefbe
-    DECL_OP %1, f32_linear_fma_xyz_10X0x_1XX0x_1X00x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x00421, 0xfb10a, 0xfbdef
-    DECL_OP %1, f32_linear_fma_w_000x0                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x8, 0x00000, 0xbffff, 0xbffff
-    DECL_OP %1, f32_linear_fma_xw_x000x_000x0           , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x9, 0x00000, 0xbffee, 0xbffee
-    DECL_OP %1, f32_linear_fma_xw_X000x_000x0           , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x9, 0x00000, 0xbffee, 0xbffef
-    DECL_OP %1, f32_linear_fma_xw_xxx00_000x0           , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x9, 0x00000, 0xbfff8, 0xbfff8
-    DECL_OP %1, f32_linear_fma_xw_xXX00_000x0           , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x9, 0x00000, 0xbfff8, 0xbfffe
+    DECL_OP %1, f32_linear_fma_x_xxx0x                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefa8, 0xfffe8
+    DECL_OP %1, f32_linear_fma_x_XXX0x                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefa8, 0xfffef
+    DECL_OP %1, f32_linear_fma_x_x000x                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefae, 0xfffee
+    DECL_OP %1, f32_linear_fma_x_X000x                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefae, 0xfffef
+    DECL_OP %1, f32_linear_fma_x_xxx00                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefb8, 0xffff8
+    DECL_OP %1, f32_linear_fma_x_xXx00                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefb8, 0xffffa
+    DECL_OP %1, f32_linear_fma_x_xxX00                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefb8, 0xffffc
+    DECL_OP %1, f32_linear_fma_x_xXX00                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefb8, 0xffffe
+    DECL_OP %1, f32_linear_fma_y_0x000                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x2, 0x41001, 0xbefbe, 0xfffbf
+    DECL_OP %1, f32_linear_fma_xyz_xxx0x_xxx0x_xxx0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba108, 0xfa108
+    DECL_OP %1, f32_linear_fma_xyz_XXX0x_XxX0x_XXX0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba108, 0xfbdaf
+    DECL_OP %1, f32_linear_fma_xyz_XXX0x_XXX0x_XXX0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba108, 0xfbdef
+    DECL_OP %1, f32_linear_fma_xyz_X0X0x_XXX0x_XX00x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xbb10a, 0xfbdef
+    DECL_OP %1, f32_linear_fma_xyz_xxx00_xxx0x_xxx0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba118, 0xfa118
+    DECL_OP %1, f32_linear_fma_xyz_xXX00_XxX0x_XXX0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba118, 0xfbdbe
+    DECL_OP %1, f32_linear_fma_xyz_xXX00_XXX0x_XXX0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba118, 0xfbdfe
+    DECL_OP %1, f32_linear_fma_xyz_X000x_0X00x_00X0x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xbadae, 0xfbdef
+    DECL_OP %1, f32_linear_fma_xyz_x0000_0x000_00x00    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xbefbe, 0xfefbe
+    DECL_OP %1, f32_linear_fma_xyz_10X0x_1XX0x_1X00x    , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x7, 0x40421, 0xbb10a, 0xfbdef
+    DECL_OP %1, f32_linear_fma_w_000x0                  , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x8, 0x01041, 0xbefbe, 0xbffff
+    DECL_OP %1, f32_linear_fma_xw_x000x_000x0           , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x9, 0x01040, 0xbefae, 0xbffee
+    DECL_OP %1, f32_linear_fma_xw_X000x_000x0           , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x9, 0x01040, 0xbefae, 0xbffef
+    DECL_OP %1, f32_linear_fma_xw_xxx00_000x0           , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x9, 0x01040, 0xbefb8, 0xbfff8
+    DECL_OP %1, f32_linear_fma_xw_xXX00_000x0           , SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0x9, 0x01040, 0xbefb8, 0xbfffe
     DECL_OP %1, f32_linear_fma_xyzw_xxx0x_xxx0x_xxx0x_000x0, SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0xf, 0x00000, 0xba108, 0xba108
     DECL_OP %1, f32_linear_fma_xyzw_XXX0x_XXX0x_XXX0x_000x0, SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0xf, 0x00000, 0xba108, 0xbbdef
     DECL_OP %1, f32_linear_fma_xyzw_X0X0x_XXX0x_XX00x_000x0, SWS_PIXEL_F32, 
SWS_UOP_LINEAR_FMA      , 0xf, 0x00000, 0xbb10a, 0xbbdef
diff --git a/libswscale/x86/uops_macros.h b/libswscale/x86/uops_macros.h
index 8226feb981..66b3a6afe2 100644
--- a/libswscale/x86/uops_macros.h
+++ b/libswscale/x86/uops_macros.h
@@ -336,15 +336,15 @@
     MACRO(__VA_ARGS__, u8_clear_xzw_1xx                        , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00001, .par.clear.zero = 0x00000) \
     MACRO(__VA_ARGS__, u8_clear_xzw_xx1                        , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00008, .par.clear.zero = 0x00000)
 #define SWS_FOR_U8_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u8_linear_x_x000x                       , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee) \
-    MACRO(__VA_ARGS__, u8_linear_y_0x000                       , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x2, 0x00000, 0xfffbf) \
-    MACRO(__VA_ARGS__, u8_linear_xyz_x000x_0x00x_00x0x         , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae) \
-    MACRO(__VA_ARGS__, u8_linear_xyz_x0000_0x000_00x00         , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe)
+    MACRO(__VA_ARGS__, u8_linear_x_x000x                       , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae) \
+    MACRO(__VA_ARGS__, u8_linear_y_0x000                       , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x2, 0x41001, 0xbefbe) \
+    MACRO(__VA_ARGS__, u8_linear_xyz_x000x_0x00x_00x0x         , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae) \
+    MACRO(__VA_ARGS__, u8_linear_xyz_x0000_0x000_00x00         , SWS_PIXEL_U8 
, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe)
 #define SWS_FOR_STRUCT_U8_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u8_linear_x_x000x                       , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee) \
-    MACRO(__VA_ARGS__, u8_linear_y_0x000                       , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x2, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffbf) \
-    MACRO(__VA_ARGS__, u8_linear_xyz_x000x_0x00x_00x0x         , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfadae) \
-    MACRO(__VA_ARGS__, u8_linear_xyz_x0000_0x000_00x00         , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfefbe)
+    MACRO(__VA_ARGS__, u8_linear_x_x000x                       , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, u8_linear_y_0x000                       , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x2, .par.lin.one = 
0x41001, .par.lin.zero = 0xbefbe) \
+    MACRO(__VA_ARGS__, u8_linear_xyz_x000x_0x00x_00x0x         , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbadae) \
+    MACRO(__VA_ARGS__, u8_linear_xyz_x0000_0x000_00x00         , .type = 
SWS_PIXEL_U8 , .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbefbe)
 #define SWS_FOR_U8_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_STRUCT_U8_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_U8_DITHER(MACRO, ...)
@@ -628,14 +628,14 @@
     MACRO(__VA_ARGS__, u16_clear_xzw_xx0                       , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00000, .par.clear.zero = 0x00008) \
     MACRO(__VA_ARGS__, u16_clear_xzw_1xx                       , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00001, .par.clear.zero = 0x00000)
 #define SWS_FOR_U16_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u16_linear_x_x000x                      , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee) \
-    MACRO(__VA_ARGS__, u16_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae) \
-    MACRO(__VA_ARGS__, u16_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe) \
+    MACRO(__VA_ARGS__, u16_linear_x_x000x                      , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae) \
+    MACRO(__VA_ARGS__, u16_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae) \
+    MACRO(__VA_ARGS__, u16_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe) \
     MACRO(__VA_ARGS__, u16_linear_xyzw_x0000_0x000_00x00_000x0 , 
SWS_PIXEL_U16, SWS_UOP_LINEAR          , 0xf, 0x00000, 0xbefbe)
 #define SWS_FOR_STRUCT_U16_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u16_linear_x_x000x                      , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee) \
-    MACRO(__VA_ARGS__, u16_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfadae) \
-    MACRO(__VA_ARGS__, u16_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfefbe) \
+    MACRO(__VA_ARGS__, u16_linear_x_x000x                      , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, u16_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbadae) \
+    MACRO(__VA_ARGS__, u16_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbefbe) \
     MACRO(__VA_ARGS__, u16_linear_xyzw_x0000_0x000_00x00_000x0 , .type = 
SWS_PIXEL_U16, .uop = SWS_UOP_LINEAR          , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xbefbe)
 #define SWS_FOR_U16_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_STRUCT_U16_LINEAR_FMA(MACRO, ...)
@@ -858,13 +858,13 @@
     MACRO(__VA_ARGS__, u32_clear_xyw_xxx                       , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_CLEAR           , .mask = 0xb, .par.clear.one = 
0x00000, .par.clear.zero = 0x00000) \
     MACRO(__VA_ARGS__, u32_clear_xzw_xxx                       , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_CLEAR           , .mask = 0xd, .par.clear.one = 
0x00000, .par.clear.zero = 0x00000)
 #define SWS_FOR_U32_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u32_linear_x_x000x                      , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee) \
-    MACRO(__VA_ARGS__, u32_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae) \
-    MACRO(__VA_ARGS__, u32_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe)
+    MACRO(__VA_ARGS__, u32_linear_x_x000x                      , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae) \
+    MACRO(__VA_ARGS__, u32_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae) \
+    MACRO(__VA_ARGS__, u32_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_U32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe)
 #define SWS_FOR_STRUCT_U32_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, u32_linear_x_x000x                      , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee) \
-    MACRO(__VA_ARGS__, u32_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfadae) \
-    MACRO(__VA_ARGS__, u32_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfefbe)
+    MACRO(__VA_ARGS__, u32_linear_x_x000x                      , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, u32_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbadae) \
+    MACRO(__VA_ARGS__, u32_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_U32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbefbe)
 #define SWS_FOR_U32_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_STRUCT_U32_LINEAR_FMA(MACRO, ...)
 #define SWS_FOR_U32_DITHER(MACRO, ...)
@@ -1052,93 +1052,93 @@
 #define SWS_FOR_F32_CLEAR(MACRO, ...)
 #define SWS_FOR_STRUCT_F32_CLEAR(MACRO, ...)
 #define SWS_FOR_F32_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, f32_linear_x_xxx0x                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffe8) \
-    MACRO(__VA_ARGS__, f32_linear_x_x000x                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xfffee) \
-    MACRO(__VA_ARGS__, f32_linear_x_xxx00                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x00000, 0xffff8) \
-    MACRO(__VA_ARGS__, f32_linear_y_0x000                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x2, 0x00000, 0xfffbf) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfa108) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x0x0x_xxx0x_xx00x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfb10a) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_xxx00_xxx0x_xxx0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfa118) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfadae) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00000, 0xfefbe) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_10x0x_1xx0x_1x00x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x00421, 0xfb10a) \
-    MACRO(__VA_ARGS__, f32_linear_w_000x0                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x8, 0x00000, 0xbffff) \
-    MACRO(__VA_ARGS__, f32_linear_xw_x000x_000x0               , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x9, 0x00000, 0xbffee) \
-    MACRO(__VA_ARGS__, f32_linear_xw_xxx00_000x0               , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x9, 0x00000, 0xbfff8) \
+    MACRO(__VA_ARGS__, f32_linear_x_xxx0x                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefa8) \
+    MACRO(__VA_ARGS__, f32_linear_x_x000x                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefae) \
+    MACRO(__VA_ARGS__, f32_linear_x_xxx00                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x1, 0x41040, 0xbefb8) \
+    MACRO(__VA_ARGS__, f32_linear_y_0x000                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x2, 0x41001, 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xba108) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x0x0x_xxx0x_xx00x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbb10a) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_xxx00_xxx0x_xxx0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xba118) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x000x_0x00x_00x0x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbadae) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x0000_0x000_00x00        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40000, 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_10x0x_1xx0x_1x00x        , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x7, 0x40421, 0xbb10a) \
+    MACRO(__VA_ARGS__, f32_linear_w_000x0                      , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x8, 0x01041, 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xw_x000x_000x0               , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x9, 0x01040, 0xbefae) \
+    MACRO(__VA_ARGS__, f32_linear_xw_xxx00_000x0               , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0x9, 0x01040, 0xbefb8) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_xxx0x_xxx0x_xxx0x_000x0 , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0xf, 0x00000, 0xba108) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_x0x0x_xxx0x_xx00x_000x0 , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0xf, 0x00000, 0xbb10a) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_x0000_0x000_00x00_000x0 , 
SWS_PIXEL_F32, SWS_UOP_LINEAR          , 0xf, 0x00000, 0xbefbe)
 #define SWS_FOR_STRUCT_F32_LINEAR(MACRO, ...) \
-    MACRO(__VA_ARGS__, f32_linear_x_xxx0x                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffe8) \
-    MACRO(__VA_ARGS__, f32_linear_x_x000x                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee) \
-    MACRO(__VA_ARGS__, f32_linear_x_xxx00                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xffff8) \
-    MACRO(__VA_ARGS__, f32_linear_y_0x000                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x2, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffbf) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa108) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x0x0x_xxx0x_xx00x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfb10a) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_xxx00_xxx0x_xxx0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa118) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfadae) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfefbe) \
-    MACRO(__VA_ARGS__, f32_linear_xyz_10x0x_1xx0x_1x00x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x00421, .par.lin.zero = 0xfb10a) \
-    MACRO(__VA_ARGS__, f32_linear_w_000x0                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x8, .par.lin.one = 
0x00000, .par.lin.zero = 0xbffff) \
-    MACRO(__VA_ARGS__, f32_linear_xw_x000x_000x0               , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x9, .par.lin.one = 
0x00000, .par.lin.zero = 0xbffee) \
-    MACRO(__VA_ARGS__, f32_linear_xw_xxx00_000x0               , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x9, .par.lin.one = 
0x00000, .par.lin.zero = 0xbfff8) \
+    MACRO(__VA_ARGS__, f32_linear_x_xxx0x                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefa8) \
+    MACRO(__VA_ARGS__, f32_linear_x_x000x                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, f32_linear_x_xxx00                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefb8) \
+    MACRO(__VA_ARGS__, f32_linear_y_0x000                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x2, .par.lin.one = 
0x41001, .par.lin.zero = 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_xxx0x_xxx0x_xxx0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba108) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x0x0x_xxx0x_xx00x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbb10a) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_xxx00_xxx0x_xxx0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba118) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x000x_0x00x_00x0x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbadae) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_x0000_0x000_00x00        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xyz_10x0x_1xx0x_1x00x        , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x7, .par.lin.one = 
0x40421, .par.lin.zero = 0xbb10a) \
+    MACRO(__VA_ARGS__, f32_linear_w_000x0                      , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x8, .par.lin.one = 
0x01041, .par.lin.zero = 0xbefbe) \
+    MACRO(__VA_ARGS__, f32_linear_xw_x000x_000x0               , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x9, .par.lin.one = 
0x01040, .par.lin.zero = 0xbefae) \
+    MACRO(__VA_ARGS__, f32_linear_xw_xxx00_000x0               , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0x9, .par.lin.one = 
0x01040, .par.lin.zero = 0xbefb8) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_xxx0x_xxx0x_xxx0x_000x0 , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xba108) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_x0x0x_xxx0x_xx00x_000x0 , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xbb10a) \
     MACRO(__VA_ARGS__, f32_linear_xyzw_x0000_0x000_00x00_000x0 , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR          , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xbefbe)
 #define SWS_FOR_F32_LINEAR_FMA(MACRO, ...) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xxx0x                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xfffe8, 0xfffe8) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_XXX0x                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xfffe8, 0xfffef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_x000x                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xfffee, 0xfffee) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_X000x                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xfffee, 0xfffef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xxx00                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xffff8, 0xffff8) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xXx00                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xffff8, 0xffffa) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xxX00                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xffff8, 0xffffc) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xXX00                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x00000, 0xffff8, 0xffffe) \
-    MACRO(__VA_ARGS__, f32_linear_fma_y_0x000                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x2, 0x00000, 0xfffbf, 0xfffbf) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xxx0x_xxx0x_xxx0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa108, 0xfa108) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_XXX0x_XxX0x_XXX0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa108, 0xfbdaf) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_XXX0x_XXX0x_XXX0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa108, 0xfbdef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_X0X0x_XXX0x_XX00x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfb10a, 0xfbdef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xxx00_xxx0x_xxx0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa118, 0xfa118) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xXX00_XxX0x_XXX0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa118, 0xfbdbe) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xXX00_XXX0x_XXX0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfa118, 0xfbdfe) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_X000x_0X00x_00X0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfadae, 0xfbdef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_x0000_0x000_00x00    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00000, 0xfefbe, 0xfefbe) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_10X0x_1XX0x_1X00x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x00421, 0xfb10a, 0xfbdef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_w_000x0                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x8, 0x00000, 0xbffff, 0xbffff) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xw_x000x_000x0           , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x9, 0x00000, 0xbffee, 0xbffee) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xw_X000x_000x0           , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x9, 0x00000, 0xbffee, 0xbffef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xw_xxx00_000x0           , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x9, 0x00000, 0xbfff8, 0xbfff8) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xw_xXX00_000x0           , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x9, 0x00000, 0xbfff8, 0xbfffe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xxx0x                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefa8, 0xfffe8) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_XXX0x                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefa8, 0xfffef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_x000x                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefae, 0xfffee) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_X000x                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefae, 0xfffef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xxx00                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefb8, 0xffff8) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xXx00                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefb8, 0xffffa) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xxX00                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefb8, 0xffffc) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xXX00                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x1, 0x41040, 0xbefb8, 0xffffe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_y_0x000                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x2, 0x41001, 0xbefbe, 0xfffbf) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xxx0x_xxx0x_xxx0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba108, 0xfa108) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_XXX0x_XxX0x_XXX0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba108, 0xfbdaf) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_XXX0x_XXX0x_XXX0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba108, 0xfbdef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_X0X0x_XXX0x_XX00x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xbb10a, 0xfbdef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xxx00_xxx0x_xxx0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba118, 0xfa118) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xXX00_XxX0x_XXX0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba118, 0xfbdbe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xXX00_XXX0x_XXX0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xba118, 0xfbdfe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_X000x_0X00x_00X0x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xbadae, 0xfbdef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_x0000_0x000_00x00    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40000, 0xbefbe, 0xfefbe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_10X0x_1XX0x_1X00x    , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x7, 0x40421, 0xbb10a, 0xfbdef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_w_000x0                  , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x8, 0x01041, 0xbefbe, 0xbffff) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xw_x000x_000x0           , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x9, 0x01040, 0xbefae, 0xbffee) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xw_X000x_000x0           , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x9, 0x01040, 0xbefae, 0xbffef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xw_xxx00_000x0           , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x9, 0x01040, 0xbefb8, 0xbfff8) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xw_xXX00_000x0           , 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0x9, 0x01040, 0xbefb8, 0xbfffe) \
     MACRO(__VA_ARGS__, f32_linear_fma_xyzw_xxx0x_xxx0x_xxx0x_000x0, 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0xf, 0x00000, 0xba108, 0xba108) \
     MACRO(__VA_ARGS__, f32_linear_fma_xyzw_XXX0x_XXX0x_XXX0x_000x0, 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0xf, 0x00000, 0xba108, 0xbbdef) \
     MACRO(__VA_ARGS__, f32_linear_fma_xyzw_X0X0x_XXX0x_XX00x_000x0, 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0xf, 0x00000, 0xbb10a, 0xbbdef) \
     MACRO(__VA_ARGS__, f32_linear_fma_xyzw_x0000_0x000_00x00_000x0, 
SWS_PIXEL_F32, SWS_UOP_LINEAR_FMA      , 0xf, 0x00000, 0xbefbe, 0xbefbe)
 #define SWS_FOR_STRUCT_F32_LINEAR_FMA(MACRO, ...) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xxx0x                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffe8, .par.lin.exact = 0xfffe8) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_XXX0x                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffe8, .par.lin.exact = 0xfffef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_x000x                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee, .par.lin.exact = 0xfffee) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_X000x                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffee, .par.lin.exact = 0xfffef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xxx00                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xffff8, .par.lin.exact = 0xffff8) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xXx00                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xffff8, .par.lin.exact = 0xffffa) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xxX00                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xffff8, .par.lin.exact = 0xffffc) \
-    MACRO(__VA_ARGS__, f32_linear_fma_x_xXX00                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x00000, .par.lin.zero = 0xffff8, .par.lin.exact = 0xffffe) \
-    MACRO(__VA_ARGS__, f32_linear_fma_y_0x000                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x2, .par.lin.one = 
0x00000, .par.lin.zero = 0xfffbf, .par.lin.exact = 0xfffbf) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xxx0x_xxx0x_xxx0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa108, .par.lin.exact = 0xfa108) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_XXX0x_XxX0x_XXX0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa108, .par.lin.exact = 0xfbdaf) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_XXX0x_XXX0x_XXX0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa108, .par.lin.exact = 0xfbdef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_X0X0x_XXX0x_XX00x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfb10a, .par.lin.exact = 0xfbdef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xxx00_xxx0x_xxx0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa118, .par.lin.exact = 0xfa118) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xXX00_XxX0x_XXX0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa118, .par.lin.exact = 0xfbdbe) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xXX00_XXX0x_XXX0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfa118, .par.lin.exact = 0xfbdfe) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_X000x_0X00x_00X0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfadae, .par.lin.exact = 0xfbdef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_x0000_0x000_00x00    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00000, .par.lin.zero = 0xfefbe, .par.lin.exact = 0xfefbe) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xyz_10X0x_1XX0x_1X00x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x00421, .par.lin.zero = 0xfb10a, .par.lin.exact = 0xfbdef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_w_000x0                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x8, .par.lin.one = 
0x00000, .par.lin.zero = 0xbffff, .par.lin.exact = 0xbffff) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xw_x000x_000x0           , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x9, .par.lin.one = 
0x00000, .par.lin.zero = 0xbffee, .par.lin.exact = 0xbffee) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xw_X000x_000x0           , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x9, .par.lin.one = 
0x00000, .par.lin.zero = 0xbffee, .par.lin.exact = 0xbffef) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xw_xxx00_000x0           , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x9, .par.lin.one = 
0x00000, .par.lin.zero = 0xbfff8, .par.lin.exact = 0xbfff8) \
-    MACRO(__VA_ARGS__, f32_linear_fma_xw_xXX00_000x0           , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x9, .par.lin.one = 
0x00000, .par.lin.zero = 0xbfff8, .par.lin.exact = 0xbfffe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xxx0x                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefa8, .par.lin.exact = 0xfffe8) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_XXX0x                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefa8, .par.lin.exact = 0xfffef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_x000x                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae, .par.lin.exact = 0xfffee) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_X000x                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefae, .par.lin.exact = 0xfffef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xxx00                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefb8, .par.lin.exact = 0xffff8) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xXx00                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefb8, .par.lin.exact = 0xffffa) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xxX00                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefb8, .par.lin.exact = 0xffffc) \
+    MACRO(__VA_ARGS__, f32_linear_fma_x_xXX00                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x1, .par.lin.one = 
0x41040, .par.lin.zero = 0xbefb8, .par.lin.exact = 0xffffe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_y_0x000                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x2, .par.lin.one = 
0x41001, .par.lin.zero = 0xbefbe, .par.lin.exact = 0xfffbf) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xxx0x_xxx0x_xxx0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba108, .par.lin.exact = 0xfa108) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_XXX0x_XxX0x_XXX0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba108, .par.lin.exact = 0xfbdaf) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_XXX0x_XXX0x_XXX0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba108, .par.lin.exact = 0xfbdef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_X0X0x_XXX0x_XX00x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbb10a, .par.lin.exact = 0xfbdef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xxx00_xxx0x_xxx0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba118, .par.lin.exact = 0xfa118) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xXX00_XxX0x_XXX0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba118, .par.lin.exact = 0xfbdbe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_xXX00_XXX0x_XXX0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xba118, .par.lin.exact = 0xfbdfe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_X000x_0X00x_00X0x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbadae, .par.lin.exact = 0xfbdef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_x0000_0x000_00x00    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40000, .par.lin.zero = 0xbefbe, .par.lin.exact = 0xfefbe) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xyz_10X0x_1XX0x_1X00x    , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x7, .par.lin.one = 
0x40421, .par.lin.zero = 0xbb10a, .par.lin.exact = 0xfbdef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_w_000x0                  , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x8, .par.lin.one = 
0x01041, .par.lin.zero = 0xbefbe, .par.lin.exact = 0xbffff) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xw_x000x_000x0           , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x9, .par.lin.one = 
0x01040, .par.lin.zero = 0xbefae, .par.lin.exact = 0xbffee) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xw_X000x_000x0           , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x9, .par.lin.one = 
0x01040, .par.lin.zero = 0xbefae, .par.lin.exact = 0xbffef) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xw_xxx00_000x0           , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x9, .par.lin.one = 
0x01040, .par.lin.zero = 0xbefb8, .par.lin.exact = 0xbfff8) \
+    MACRO(__VA_ARGS__, f32_linear_fma_xw_xXX00_000x0           , .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0x9, .par.lin.one = 
0x01040, .par.lin.zero = 0xbefb8, .par.lin.exact = 0xbfffe) \
     MACRO(__VA_ARGS__, f32_linear_fma_xyzw_xxx0x_xxx0x_xxx0x_000x0, .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xba108, .par.lin.exact = 0xba108) \
     MACRO(__VA_ARGS__, f32_linear_fma_xyzw_XXX0x_XXX0x_XXX0x_000x0, .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xba108, .par.lin.exact = 0xbbdef) \
     MACRO(__VA_ARGS__, f32_linear_fma_xyzw_X0X0x_XXX0x_XX00x_000x0, .type = 
SWS_PIXEL_F32, .uop = SWS_UOP_LINEAR_FMA      , .mask = 0xf, .par.lin.one = 
0x00000, .par.lin.zero = 0xbb10a, .par.lin.exact = 0xbbdef) \

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to