From d5a677683e7a1deb9b8b5bfbd294a57cb45b84c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sat, 4 Jul 2020 12:13:14 +0100 Subject: [PATCH] Update disted generated orc backup files Part-of: --- gst/compositor/compositororc-dist.c | 460 +++++++++++++--------------- 1 file changed, 221 insertions(+), 239 deletions(-) diff --git a/gst/compositor/compositororc-dist.c b/gst/compositor/compositororc-dist.c index a931b4d6d5..b57e75d1d7 100644 --- a/gst/compositor/compositororc-dist.c +++ b/gst/compositor/compositororc-dist.c @@ -957,82 +957,79 @@ compositor_orc_source_argb (guint8 * ORC_RESTRICT d1, int d1_stride, orc_union32 var40; #endif orc_union32 var41; - orc_union32 var42; - orc_union16 var43; - orc_int8 var44; - orc_union32 var45; + orc_union16 var42; + orc_int8 var43; + orc_union32 var44; + orc_union64 var45; orc_union64 var46; orc_union64 var47; - orc_union64 var48; + orc_union32 var48; orc_union32 var49; orc_union32 var50; orc_union32 var51; - orc_union32 var52; for (j = 0; j < m; j++) { ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j); ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j); - /* 6: loadpw */ + /* 5: loadpw */ var38.x4[0] = p1; var38.x4[1] = p1; var38.x4[2] = p1; var38.x4[3] = p1; - /* 9: loadpl */ + /* 8: loadpl */ var39.i = 0xffffff00; /* -256 or 2.122e-314f */ - /* 12: loadpl */ + /* 11: loadpl */ var40.i = 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadl */ var41 = ptr4[i]; - /* 1: shrul */ - var42.i = ((orc_uint32) var41.i) >> 24; - /* 2: convlw */ - var43.i = var42.i; - /* 3: convwb */ - var44 = var43.i; - /* 4: splatbl */ - var45.i = - ((((orc_uint32) var44) & 0xff) << 24) | ((((orc_uint32) var44) & 0xff) - << 16) | ((((orc_uint32) var44) & 0xff) << 8) | (((orc_uint32) var44) + /* 1: convlw */ + var42.i = var41.i; + /* 2: convwb */ + var43 = var42.i; + /* 3: splatbl */ + var44.i = + ((((orc_uint32) var43) & 0xff) << 24) | ((((orc_uint32) var43) & 0xff) + << 16) | ((((orc_uint32) var43) & 0xff) << 8) | (((orc_uint32) var43) & 0xff); - /* 5: convubw */ - var46.x4[0] = (orc_uint8) var45.x4[0]; - var46.x4[1] = (orc_uint8) var45.x4[1]; - var46.x4[2] = (orc_uint8) var45.x4[2]; - var46.x4[3] = (orc_uint8) var45.x4[3]; - /* 7: mullw */ - var47.x4[0] = (var46.x4[0] * var38.x4[0]) & 0xffff; - var47.x4[1] = (var46.x4[1] * var38.x4[1]) & 0xffff; - var47.x4[2] = (var46.x4[2] * var38.x4[2]) & 0xffff; - var47.x4[3] = (var46.x4[3] * var38.x4[3]) & 0xffff; - /* 8: div255w */ - var48.x4[0] = - ((orc_uint16) (((orc_uint16) (var47.x4[0] + 128)) + - (((orc_uint16) (var47.x4[0] + 128)) >> 8))) >> 8; - var48.x4[1] = - ((orc_uint16) (((orc_uint16) (var47.x4[1] + 128)) + - (((orc_uint16) (var47.x4[1] + 128)) >> 8))) >> 8; - var48.x4[2] = - ((orc_uint16) (((orc_uint16) (var47.x4[2] + 128)) + - (((orc_uint16) (var47.x4[2] + 128)) >> 8))) >> 8; - var48.x4[3] = - ((orc_uint16) (((orc_uint16) (var47.x4[3] + 128)) + - (((orc_uint16) (var47.x4[3] + 128)) >> 8))) >> 8; - /* 10: andl */ - var49.i = var41.i & var39.i; - /* 11: convwb */ - var50.x4[0] = var48.x4[0]; - var50.x4[1] = var48.x4[1]; - var50.x4[2] = var48.x4[2]; - var50.x4[3] = var48.x4[3]; - /* 13: andl */ - var51.i = var50.i & var40.i; - /* 14: orl */ - var52.i = var49.i | var51.i; - /* 15: storel */ - ptr0[i] = var52; + /* 4: convubw */ + var45.x4[0] = (orc_uint8) var44.x4[0]; + var45.x4[1] = (orc_uint8) var44.x4[1]; + var45.x4[2] = (orc_uint8) var44.x4[2]; + var45.x4[3] = (orc_uint8) var44.x4[3]; + /* 6: mullw */ + var46.x4[0] = (var45.x4[0] * var38.x4[0]) & 0xffff; + var46.x4[1] = (var45.x4[1] * var38.x4[1]) & 0xffff; + var46.x4[2] = (var45.x4[2] * var38.x4[2]) & 0xffff; + var46.x4[3] = (var45.x4[3] * var38.x4[3]) & 0xffff; + /* 7: div255w */ + var47.x4[0] = + ((orc_uint16) (((orc_uint16) (var46.x4[0] + 128)) + + (((orc_uint16) (var46.x4[0] + 128)) >> 8))) >> 8; + var47.x4[1] = + ((orc_uint16) (((orc_uint16) (var46.x4[1] + 128)) + + (((orc_uint16) (var46.x4[1] + 128)) >> 8))) >> 8; + var47.x4[2] = + ((orc_uint16) (((orc_uint16) (var46.x4[2] + 128)) + + (((orc_uint16) (var46.x4[2] + 128)) >> 8))) >> 8; + var47.x4[3] = + ((orc_uint16) (((orc_uint16) (var46.x4[3] + 128)) + + (((orc_uint16) (var46.x4[3] + 128)) >> 8))) >> 8; + /* 9: andl */ + var48.i = var41.i & var39.i; + /* 10: convwb */ + var49.x4[0] = var47.x4[0]; + var49.x4[1] = var47.x4[1]; + var49.x4[2] = var47.x4[2]; + var49.x4[3] = var47.x4[3]; + /* 12: andl */ + var50.i = var49.i & var40.i; + /* 13: orl */ + var51.i = var48.i | var50.i; + /* 14: storel */ + ptr0[i] = var51; } } @@ -1060,82 +1057,79 @@ _backup_compositor_orc_source_argb (OrcExecutor * ORC_RESTRICT ex) orc_union32 var40; #endif orc_union32 var41; - orc_union32 var42; - orc_union16 var43; - orc_int8 var44; - orc_union32 var45; + orc_union16 var42; + orc_int8 var43; + orc_union32 var44; + orc_union64 var45; orc_union64 var46; orc_union64 var47; - orc_union64 var48; + orc_union32 var48; orc_union32 var49; orc_union32 var50; orc_union32 var51; - orc_union32 var52; for (j = 0; j < m; j++) { ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j); ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j); - /* 6: loadpw */ + /* 5: loadpw */ var38.x4[0] = ex->params[24]; var38.x4[1] = ex->params[24]; var38.x4[2] = ex->params[24]; var38.x4[3] = ex->params[24]; - /* 9: loadpl */ + /* 8: loadpl */ var39.i = 0xffffff00; /* -256 or 2.122e-314f */ - /* 12: loadpl */ + /* 11: loadpl */ var40.i = 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadl */ var41 = ptr4[i]; - /* 1: shrul */ - var42.i = ((orc_uint32) var41.i) >> 24; - /* 2: convlw */ - var43.i = var42.i; - /* 3: convwb */ - var44 = var43.i; - /* 4: splatbl */ - var45.i = - ((((orc_uint32) var44) & 0xff) << 24) | ((((orc_uint32) var44) & 0xff) - << 16) | ((((orc_uint32) var44) & 0xff) << 8) | (((orc_uint32) var44) + /* 1: convlw */ + var42.i = var41.i; + /* 2: convwb */ + var43 = var42.i; + /* 3: splatbl */ + var44.i = + ((((orc_uint32) var43) & 0xff) << 24) | ((((orc_uint32) var43) & 0xff) + << 16) | ((((orc_uint32) var43) & 0xff) << 8) | (((orc_uint32) var43) & 0xff); - /* 5: convubw */ - var46.x4[0] = (orc_uint8) var45.x4[0]; - var46.x4[1] = (orc_uint8) var45.x4[1]; - var46.x4[2] = (orc_uint8) var45.x4[2]; - var46.x4[3] = (orc_uint8) var45.x4[3]; - /* 7: mullw */ - var47.x4[0] = (var46.x4[0] * var38.x4[0]) & 0xffff; - var47.x4[1] = (var46.x4[1] * var38.x4[1]) & 0xffff; - var47.x4[2] = (var46.x4[2] * var38.x4[2]) & 0xffff; - var47.x4[3] = (var46.x4[3] * var38.x4[3]) & 0xffff; - /* 8: div255w */ - var48.x4[0] = - ((orc_uint16) (((orc_uint16) (var47.x4[0] + 128)) + - (((orc_uint16) (var47.x4[0] + 128)) >> 8))) >> 8; - var48.x4[1] = - ((orc_uint16) (((orc_uint16) (var47.x4[1] + 128)) + - (((orc_uint16) (var47.x4[1] + 128)) >> 8))) >> 8; - var48.x4[2] = - ((orc_uint16) (((orc_uint16) (var47.x4[2] + 128)) + - (((orc_uint16) (var47.x4[2] + 128)) >> 8))) >> 8; - var48.x4[3] = - ((orc_uint16) (((orc_uint16) (var47.x4[3] + 128)) + - (((orc_uint16) (var47.x4[3] + 128)) >> 8))) >> 8; - /* 10: andl */ - var49.i = var41.i & var39.i; - /* 11: convwb */ - var50.x4[0] = var48.x4[0]; - var50.x4[1] = var48.x4[1]; - var50.x4[2] = var48.x4[2]; - var50.x4[3] = var48.x4[3]; - /* 13: andl */ - var51.i = var50.i & var40.i; - /* 14: orl */ - var52.i = var49.i | var51.i; - /* 15: storel */ - ptr0[i] = var52; + /* 4: convubw */ + var45.x4[0] = (orc_uint8) var44.x4[0]; + var45.x4[1] = (orc_uint8) var44.x4[1]; + var45.x4[2] = (orc_uint8) var44.x4[2]; + var45.x4[3] = (orc_uint8) var44.x4[3]; + /* 6: mullw */ + var46.x4[0] = (var45.x4[0] * var38.x4[0]) & 0xffff; + var46.x4[1] = (var45.x4[1] * var38.x4[1]) & 0xffff; + var46.x4[2] = (var45.x4[2] * var38.x4[2]) & 0xffff; + var46.x4[3] = (var45.x4[3] * var38.x4[3]) & 0xffff; + /* 7: div255w */ + var47.x4[0] = + ((orc_uint16) (((orc_uint16) (var46.x4[0] + 128)) + + (((orc_uint16) (var46.x4[0] + 128)) >> 8))) >> 8; + var47.x4[1] = + ((orc_uint16) (((orc_uint16) (var46.x4[1] + 128)) + + (((orc_uint16) (var46.x4[1] + 128)) >> 8))) >> 8; + var47.x4[2] = + ((orc_uint16) (((orc_uint16) (var46.x4[2] + 128)) + + (((orc_uint16) (var46.x4[2] + 128)) >> 8))) >> 8; + var47.x4[3] = + ((orc_uint16) (((orc_uint16) (var46.x4[3] + 128)) + + (((orc_uint16) (var46.x4[3] + 128)) >> 8))) >> 8; + /* 9: andl */ + var48.i = var41.i & var39.i; + /* 10: convwb */ + var49.x4[0] = var47.x4[0]; + var49.x4[1] = var47.x4[1]; + var49.x4[2] = var47.x4[2]; + var49.x4[3] = var47.x4[3]; + /* 12: andl */ + var50.i = var49.i & var40.i; + /* 13: orl */ + var51.i = var48.i | var50.i; + /* 14: storel */ + ptr0[i] = var51; } } @@ -1160,11 +1154,11 @@ compositor_orc_source_argb (guint8 * ORC_RESTRICT d1, int d1_stride, 1, 7, 9, 26, 99, 111, 109, 112, 111, 115, 105, 116, 111, 114, 95, 111, 114, 99, 95, 115, 111, 117, 114, 99, 101, 95, 97, 114, 103, 98, 11, 4, 4, 12, 4, 4, 14, 4, 255, 0, 0, 0, 14, 4, 0, 255, 255, 255, - 14, 4, 24, 0, 0, 0, 16, 2, 20, 4, 20, 4, 20, 2, 20, 1, - 20, 4, 20, 8, 113, 32, 4, 126, 33, 32, 18, 163, 34, 33, 157, 35, - 34, 152, 36, 35, 21, 2, 150, 37, 36, 21, 2, 89, 37, 37, 24, 21, - 2, 80, 37, 37, 106, 32, 32, 17, 21, 2, 157, 33, 37, 106, 33, 33, - 16, 123, 32, 32, 33, 128, 0, 32, 2, 0, + 16, 2, 20, 4, 20, 4, 20, 2, 20, 1, 20, 4, 20, 8, 113, 32, + 4, 163, 34, 32, 157, 35, 34, 152, 36, 35, 21, 2, 150, 37, 36, 21, + 2, 89, 37, 37, 24, 21, 2, 80, 37, 37, 106, 32, 32, 17, 21, 2, + 157, 33, 37, 106, 33, 33, 16, 123, 32, 32, 33, 128, 0, 32, 2, 0, + }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, _backup_compositor_orc_source_argb); @@ -1177,7 +1171,6 @@ compositor_orc_source_argb (guint8 * ORC_RESTRICT d1, int d1_stride, orc_program_add_source (p, 4, "s1"); orc_program_add_constant (p, 4, 0x000000ff, "c1"); orc_program_add_constant (p, 4, 0xffffff00, "c2"); - orc_program_add_constant (p, 4, 0x00000018, "c3"); orc_program_add_parameter (p, 2, "p1"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); @@ -1188,9 +1181,7 @@ compositor_orc_source_argb (guint8 * ORC_RESTRICT d1, int d1_stride, orc_program_append_2 (p, "loadl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1); - orc_program_append_2 (p, "shrul", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_C3, - ORC_VAR_D1); - orc_program_append_2 (p, "convlw", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_D1, + orc_program_append_2 (p, "convlw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); orc_program_append_2 (p, "convwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1, ORC_VAR_D1); @@ -1644,82 +1635,79 @@ compositor_orc_source_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, orc_union32 var40; #endif orc_union32 var41; - orc_union32 var42; - orc_union16 var43; - orc_int8 var44; - orc_union32 var45; + orc_union16 var42; + orc_int8 var43; + orc_union32 var44; + orc_union64 var45; orc_union64 var46; orc_union64 var47; - orc_union64 var48; + orc_union32 var48; orc_union32 var49; orc_union32 var50; orc_union32 var51; - orc_union32 var52; for (j = 0; j < m; j++) { ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j); ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j); - /* 6: loadpw */ + /* 5: loadpw */ var38.x4[0] = p1; var38.x4[1] = p1; var38.x4[2] = p1; var38.x4[3] = p1; - /* 9: loadpl */ + /* 8: loadpl */ var39.i = 0x00ffffff; /* 16777215 or 8.28905e-317f */ - /* 12: loadpl */ + /* 11: loadpl */ var40.i = 0xff000000; /* -16777216 or 2.11371e-314f */ for (i = 0; i < n; i++) { /* 0: loadl */ var41 = ptr4[i]; - /* 1: shrul */ - var42.i = ((orc_uint32) var41.i) >> 24; - /* 2: convlw */ - var43.i = var42.i; - /* 3: convwb */ - var44 = var43.i; - /* 4: splatbl */ - var45.i = - ((((orc_uint32) var44) & 0xff) << 24) | ((((orc_uint32) var44) & 0xff) - << 16) | ((((orc_uint32) var44) & 0xff) << 8) | (((orc_uint32) var44) + /* 1: convhlw */ + var42.i = ((orc_uint32) var41.i) >> 16; + /* 2: convhwb */ + var43 = ((orc_uint16) var42.i) >> 8; + /* 3: splatbl */ + var44.i = + ((((orc_uint32) var43) & 0xff) << 24) | ((((orc_uint32) var43) & 0xff) + << 16) | ((((orc_uint32) var43) & 0xff) << 8) | (((orc_uint32) var43) & 0xff); - /* 5: convubw */ - var46.x4[0] = (orc_uint8) var45.x4[0]; - var46.x4[1] = (orc_uint8) var45.x4[1]; - var46.x4[2] = (orc_uint8) var45.x4[2]; - var46.x4[3] = (orc_uint8) var45.x4[3]; - /* 7: mullw */ - var47.x4[0] = (var46.x4[0] * var38.x4[0]) & 0xffff; - var47.x4[1] = (var46.x4[1] * var38.x4[1]) & 0xffff; - var47.x4[2] = (var46.x4[2] * var38.x4[2]) & 0xffff; - var47.x4[3] = (var46.x4[3] * var38.x4[3]) & 0xffff; - /* 8: div255w */ - var48.x4[0] = - ((orc_uint16) (((orc_uint16) (var47.x4[0] + 128)) + - (((orc_uint16) (var47.x4[0] + 128)) >> 8))) >> 8; - var48.x4[1] = - ((orc_uint16) (((orc_uint16) (var47.x4[1] + 128)) + - (((orc_uint16) (var47.x4[1] + 128)) >> 8))) >> 8; - var48.x4[2] = - ((orc_uint16) (((orc_uint16) (var47.x4[2] + 128)) + - (((orc_uint16) (var47.x4[2] + 128)) >> 8))) >> 8; - var48.x4[3] = - ((orc_uint16) (((orc_uint16) (var47.x4[3] + 128)) + - (((orc_uint16) (var47.x4[3] + 128)) >> 8))) >> 8; - /* 10: andl */ - var49.i = var41.i & var39.i; - /* 11: convwb */ - var50.x4[0] = var48.x4[0]; - var50.x4[1] = var48.x4[1]; - var50.x4[2] = var48.x4[2]; - var50.x4[3] = var48.x4[3]; - /* 13: andl */ - var51.i = var50.i & var40.i; - /* 14: orl */ - var52.i = var49.i | var51.i; - /* 15: storel */ - ptr0[i] = var52; + /* 4: convubw */ + var45.x4[0] = (orc_uint8) var44.x4[0]; + var45.x4[1] = (orc_uint8) var44.x4[1]; + var45.x4[2] = (orc_uint8) var44.x4[2]; + var45.x4[3] = (orc_uint8) var44.x4[3]; + /* 6: mullw */ + var46.x4[0] = (var45.x4[0] * var38.x4[0]) & 0xffff; + var46.x4[1] = (var45.x4[1] * var38.x4[1]) & 0xffff; + var46.x4[2] = (var45.x4[2] * var38.x4[2]) & 0xffff; + var46.x4[3] = (var45.x4[3] * var38.x4[3]) & 0xffff; + /* 7: div255w */ + var47.x4[0] = + ((orc_uint16) (((orc_uint16) (var46.x4[0] + 128)) + + (((orc_uint16) (var46.x4[0] + 128)) >> 8))) >> 8; + var47.x4[1] = + ((orc_uint16) (((orc_uint16) (var46.x4[1] + 128)) + + (((orc_uint16) (var46.x4[1] + 128)) >> 8))) >> 8; + var47.x4[2] = + ((orc_uint16) (((orc_uint16) (var46.x4[2] + 128)) + + (((orc_uint16) (var46.x4[2] + 128)) >> 8))) >> 8; + var47.x4[3] = + ((orc_uint16) (((orc_uint16) (var46.x4[3] + 128)) + + (((orc_uint16) (var46.x4[3] + 128)) >> 8))) >> 8; + /* 9: andl */ + var48.i = var41.i & var39.i; + /* 10: convwb */ + var49.x4[0] = var47.x4[0]; + var49.x4[1] = var47.x4[1]; + var49.x4[2] = var47.x4[2]; + var49.x4[3] = var47.x4[3]; + /* 12: andl */ + var50.i = var49.i & var40.i; + /* 13: orl */ + var51.i = var48.i | var50.i; + /* 14: storel */ + ptr0[i] = var51; } } @@ -1747,82 +1735,79 @@ _backup_compositor_orc_source_bgra (OrcExecutor * ORC_RESTRICT ex) orc_union32 var40; #endif orc_union32 var41; - orc_union32 var42; - orc_union16 var43; - orc_int8 var44; - orc_union32 var45; + orc_union16 var42; + orc_int8 var43; + orc_union32 var44; + orc_union64 var45; orc_union64 var46; orc_union64 var47; - orc_union64 var48; + orc_union32 var48; orc_union32 var49; orc_union32 var50; orc_union32 var51; - orc_union32 var52; for (j = 0; j < m; j++) { ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j); ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j); - /* 6: loadpw */ + /* 5: loadpw */ var38.x4[0] = ex->params[24]; var38.x4[1] = ex->params[24]; var38.x4[2] = ex->params[24]; var38.x4[3] = ex->params[24]; - /* 9: loadpl */ + /* 8: loadpl */ var39.i = 0x00ffffff; /* 16777215 or 8.28905e-317f */ - /* 12: loadpl */ + /* 11: loadpl */ var40.i = 0xff000000; /* -16777216 or 2.11371e-314f */ for (i = 0; i < n; i++) { /* 0: loadl */ var41 = ptr4[i]; - /* 1: shrul */ - var42.i = ((orc_uint32) var41.i) >> 24; - /* 2: convlw */ - var43.i = var42.i; - /* 3: convwb */ - var44 = var43.i; - /* 4: splatbl */ - var45.i = - ((((orc_uint32) var44) & 0xff) << 24) | ((((orc_uint32) var44) & 0xff) - << 16) | ((((orc_uint32) var44) & 0xff) << 8) | (((orc_uint32) var44) + /* 1: convhlw */ + var42.i = ((orc_uint32) var41.i) >> 16; + /* 2: convhwb */ + var43 = ((orc_uint16) var42.i) >> 8; + /* 3: splatbl */ + var44.i = + ((((orc_uint32) var43) & 0xff) << 24) | ((((orc_uint32) var43) & 0xff) + << 16) | ((((orc_uint32) var43) & 0xff) << 8) | (((orc_uint32) var43) & 0xff); - /* 5: convubw */ - var46.x4[0] = (orc_uint8) var45.x4[0]; - var46.x4[1] = (orc_uint8) var45.x4[1]; - var46.x4[2] = (orc_uint8) var45.x4[2]; - var46.x4[3] = (orc_uint8) var45.x4[3]; - /* 7: mullw */ - var47.x4[0] = (var46.x4[0] * var38.x4[0]) & 0xffff; - var47.x4[1] = (var46.x4[1] * var38.x4[1]) & 0xffff; - var47.x4[2] = (var46.x4[2] * var38.x4[2]) & 0xffff; - var47.x4[3] = (var46.x4[3] * var38.x4[3]) & 0xffff; - /* 8: div255w */ - var48.x4[0] = - ((orc_uint16) (((orc_uint16) (var47.x4[0] + 128)) + - (((orc_uint16) (var47.x4[0] + 128)) >> 8))) >> 8; - var48.x4[1] = - ((orc_uint16) (((orc_uint16) (var47.x4[1] + 128)) + - (((orc_uint16) (var47.x4[1] + 128)) >> 8))) >> 8; - var48.x4[2] = - ((orc_uint16) (((orc_uint16) (var47.x4[2] + 128)) + - (((orc_uint16) (var47.x4[2] + 128)) >> 8))) >> 8; - var48.x4[3] = - ((orc_uint16) (((orc_uint16) (var47.x4[3] + 128)) + - (((orc_uint16) (var47.x4[3] + 128)) >> 8))) >> 8; - /* 10: andl */ - var49.i = var41.i & var39.i; - /* 11: convwb */ - var50.x4[0] = var48.x4[0]; - var50.x4[1] = var48.x4[1]; - var50.x4[2] = var48.x4[2]; - var50.x4[3] = var48.x4[3]; - /* 13: andl */ - var51.i = var50.i & var40.i; - /* 14: orl */ - var52.i = var49.i | var51.i; - /* 15: storel */ - ptr0[i] = var52; + /* 4: convubw */ + var45.x4[0] = (orc_uint8) var44.x4[0]; + var45.x4[1] = (orc_uint8) var44.x4[1]; + var45.x4[2] = (orc_uint8) var44.x4[2]; + var45.x4[3] = (orc_uint8) var44.x4[3]; + /* 6: mullw */ + var46.x4[0] = (var45.x4[0] * var38.x4[0]) & 0xffff; + var46.x4[1] = (var45.x4[1] * var38.x4[1]) & 0xffff; + var46.x4[2] = (var45.x4[2] * var38.x4[2]) & 0xffff; + var46.x4[3] = (var45.x4[3] * var38.x4[3]) & 0xffff; + /* 7: div255w */ + var47.x4[0] = + ((orc_uint16) (((orc_uint16) (var46.x4[0] + 128)) + + (((orc_uint16) (var46.x4[0] + 128)) >> 8))) >> 8; + var47.x4[1] = + ((orc_uint16) (((orc_uint16) (var46.x4[1] + 128)) + + (((orc_uint16) (var46.x4[1] + 128)) >> 8))) >> 8; + var47.x4[2] = + ((orc_uint16) (((orc_uint16) (var46.x4[2] + 128)) + + (((orc_uint16) (var46.x4[2] + 128)) >> 8))) >> 8; + var47.x4[3] = + ((orc_uint16) (((orc_uint16) (var46.x4[3] + 128)) + + (((orc_uint16) (var46.x4[3] + 128)) >> 8))) >> 8; + /* 9: andl */ + var48.i = var41.i & var39.i; + /* 10: convwb */ + var49.x4[0] = var47.x4[0]; + var49.x4[1] = var47.x4[1]; + var49.x4[2] = var47.x4[2]; + var49.x4[3] = var47.x4[3]; + /* 12: andl */ + var50.i = var49.i & var40.i; + /* 13: orl */ + var51.i = var48.i | var50.i; + /* 14: storel */ + ptr0[i] = var51; } } @@ -1847,11 +1832,11 @@ compositor_orc_source_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, 1, 7, 9, 26, 99, 111, 109, 112, 111, 115, 105, 116, 111, 114, 95, 111, 114, 99, 95, 115, 111, 117, 114, 99, 101, 95, 98, 103, 114, 97, 11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0, 255, 14, 4, 255, 255, 255, 0, - 14, 4, 24, 0, 0, 0, 16, 2, 20, 4, 20, 4, 20, 2, 20, 1, - 20, 4, 20, 8, 113, 32, 4, 126, 33, 32, 18, 163, 34, 33, 157, 35, - 34, 152, 36, 35, 21, 2, 150, 37, 36, 21, 2, 89, 37, 37, 24, 21, - 2, 80, 37, 37, 106, 32, 32, 17, 21, 2, 157, 33, 37, 106, 33, 33, - 16, 123, 32, 32, 33, 128, 0, 32, 2, 0, + 16, 2, 20, 4, 20, 4, 20, 2, 20, 1, 20, 4, 20, 8, 113, 32, + 4, 164, 34, 32, 158, 35, 34, 152, 36, 35, 21, 2, 150, 37, 36, 21, + 2, 89, 37, 37, 24, 21, 2, 80, 37, 37, 106, 32, 32, 17, 21, 2, + 157, 33, 37, 106, 33, 33, 16, 123, 32, 32, 33, 128, 0, 32, 2, 0, + }; p = orc_program_new_from_static_bytecode (bc); orc_program_set_backup_function (p, _backup_compositor_orc_source_bgra); @@ -1864,7 +1849,6 @@ compositor_orc_source_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, orc_program_add_source (p, 4, "s1"); orc_program_add_constant (p, 4, 0xff000000, "c1"); orc_program_add_constant (p, 4, 0x00ffffff, "c2"); - orc_program_add_constant (p, 4, 0x00000018, "c3"); orc_program_add_parameter (p, 2, "p1"); orc_program_add_temporary (p, 4, "t1"); orc_program_add_temporary (p, 4, "t2"); @@ -1875,11 +1859,9 @@ compositor_orc_source_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, orc_program_append_2 (p, "loadl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1); - orc_program_append_2 (p, "shrul", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_C3, + orc_program_append_2 (p, "convhlw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - orc_program_append_2 (p, "convlw", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "convwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1, + orc_program_append_2 (p, "convhwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1, ORC_VAR_D1); orc_program_append_2 (p, "splatbl", 0, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_D1, ORC_VAR_D1);