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]
