mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 00:31:13 +00:00
video-orc: fix unpack functions for RGB/RGB15 on BE
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745337
This commit is contained in:
parent
d1a9eacb75
commit
0062dadc35
2 changed files with 41 additions and 41 deletions
|
@ -7329,15 +7329,15 @@ video_orc_unpack_RGB15_be (guint32 * ORC_RESTRICT d1,
|
||||||
/* 14: mergewl */
|
/* 14: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var51.i;
|
_dest.x2[0] = var43.i;
|
||||||
_dest.x2[1] = var43.i;
|
_dest.x2[1] = var51.i;
|
||||||
var53.i = _dest.i;
|
var53.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 15: mergewl */
|
/* 15: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var52.i;
|
_dest.x2[0] = var50.i;
|
||||||
_dest.x2[1] = var50.i;
|
_dest.x2[1] = var52.i;
|
||||||
var54.i = _dest.i;
|
var54.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 16: shll */
|
/* 16: shll */
|
||||||
|
@ -7437,15 +7437,15 @@ _backup_video_orc_unpack_RGB15_be (OrcExecutor * ORC_RESTRICT ex)
|
||||||
/* 14: mergewl */
|
/* 14: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var51.i;
|
_dest.x2[0] = var43.i;
|
||||||
_dest.x2[1] = var43.i;
|
_dest.x2[1] = var51.i;
|
||||||
var53.i = _dest.i;
|
var53.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 15: mergewl */
|
/* 15: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var52.i;
|
_dest.x2[0] = var50.i;
|
||||||
_dest.x2[1] = var50.i;
|
_dest.x2[1] = var52.i;
|
||||||
var54.i = _dest.i;
|
var54.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 16: shll */
|
/* 16: shll */
|
||||||
|
@ -7481,8 +7481,8 @@ video_orc_unpack_RGB15_be (guint32 * ORC_RESTRICT d1,
|
||||||
14, 2, 0, 66, 0, 0, 14, 2, 255, 0, 0, 0, 14, 4, 8, 0,
|
14, 2, 0, 66, 0, 0, 14, 2, 255, 0, 0, 0, 14, 4, 8, 0,
|
||||||
0, 0, 20, 2, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 82, 32,
|
0, 0, 20, 2, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 82, 32,
|
||||||
4, 73, 33, 32, 16, 73, 34, 32, 17, 73, 35, 32, 18, 93, 35, 35,
|
4, 73, 33, 32, 16, 73, 34, 32, 17, 73, 35, 32, 18, 93, 35, 35,
|
||||||
19, 90, 33, 33, 20, 90, 34, 34, 21, 90, 35, 35, 21, 195, 36, 34,
|
19, 90, 33, 33, 20, 90, 34, 34, 21, 90, 35, 35, 21, 195, 36, 22,
|
||||||
22, 195, 37, 35, 33, 124, 36, 36, 23, 123, 0, 36, 37, 2, 0,
|
34, 195, 37, 33, 35, 124, 36, 36, 23, 123, 0, 36, 37, 2, 0,
|
||||||
};
|
};
|
||||||
p = orc_program_new_from_static_bytecode (bc);
|
p = orc_program_new_from_static_bytecode (bc);
|
||||||
orc_program_set_backup_function (p, _backup_video_orc_unpack_RGB15_be);
|
orc_program_set_backup_function (p, _backup_video_orc_unpack_RGB15_be);
|
||||||
|
@ -7523,9 +7523,9 @@ video_orc_unpack_RGB15_be (guint32 * ORC_RESTRICT d1,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C6,
|
orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C6,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_C7,
|
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T5, ORC_VAR_C7, ORC_VAR_T3,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T6, ORC_VAR_T4, ORC_VAR_T2,
|
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T6, ORC_VAR_T2, ORC_VAR_T4,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "shll", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C8,
|
orc_program_append_2 (p, "shll", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C8,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
|
@ -8987,15 +8987,15 @@ video_orc_unpack_BGR15_be (guint32 * ORC_RESTRICT d1,
|
||||||
/* 14: mergewl */
|
/* 14: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var51.i;
|
_dest.x2[0] = var43.i;
|
||||||
_dest.x2[1] = var43.i;
|
_dest.x2[1] = var51.i;
|
||||||
var53.i = _dest.i;
|
var53.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 15: mergewl */
|
/* 15: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var50.i;
|
_dest.x2[0] = var52.i;
|
||||||
_dest.x2[1] = var52.i;
|
_dest.x2[1] = var50.i;
|
||||||
var54.i = _dest.i;
|
var54.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 16: shll */
|
/* 16: shll */
|
||||||
|
@ -9095,15 +9095,15 @@ _backup_video_orc_unpack_BGR15_be (OrcExecutor * ORC_RESTRICT ex)
|
||||||
/* 14: mergewl */
|
/* 14: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var51.i;
|
_dest.x2[0] = var43.i;
|
||||||
_dest.x2[1] = var43.i;
|
_dest.x2[1] = var51.i;
|
||||||
var53.i = _dest.i;
|
var53.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 15: mergewl */
|
/* 15: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var50.i;
|
_dest.x2[0] = var52.i;
|
||||||
_dest.x2[1] = var52.i;
|
_dest.x2[1] = var50.i;
|
||||||
var54.i = _dest.i;
|
var54.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 16: shll */
|
/* 16: shll */
|
||||||
|
@ -9139,8 +9139,8 @@ video_orc_unpack_BGR15_be (guint32 * ORC_RESTRICT d1,
|
||||||
14, 2, 0, 66, 0, 0, 14, 2, 255, 0, 0, 0, 14, 4, 8, 0,
|
14, 2, 0, 66, 0, 0, 14, 2, 255, 0, 0, 0, 14, 4, 8, 0,
|
||||||
0, 0, 20, 2, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 82, 32,
|
0, 0, 20, 2, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 82, 32,
|
||||||
4, 73, 35, 32, 16, 73, 34, 32, 17, 73, 33, 32, 18, 93, 33, 33,
|
4, 73, 35, 32, 16, 73, 34, 32, 17, 73, 33, 32, 18, 93, 33, 33,
|
||||||
19, 90, 35, 35, 20, 90, 34, 34, 21, 90, 33, 33, 21, 195, 36, 34,
|
19, 90, 35, 35, 20, 90, 34, 34, 21, 90, 33, 33, 21, 195, 36, 22,
|
||||||
22, 195, 37, 35, 33, 124, 36, 36, 23, 123, 0, 36, 37, 2, 0,
|
34, 195, 37, 33, 35, 124, 36, 36, 23, 123, 0, 36, 37, 2, 0,
|
||||||
};
|
};
|
||||||
p = orc_program_new_from_static_bytecode (bc);
|
p = orc_program_new_from_static_bytecode (bc);
|
||||||
orc_program_set_backup_function (p, _backup_video_orc_unpack_BGR15_be);
|
orc_program_set_backup_function (p, _backup_video_orc_unpack_BGR15_be);
|
||||||
|
@ -9181,9 +9181,9 @@ video_orc_unpack_BGR15_be (guint32 * ORC_RESTRICT d1,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C6,
|
orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C6,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_C7,
|
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T5, ORC_VAR_C7, ORC_VAR_T3,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T6, ORC_VAR_T4, ORC_VAR_T2,
|
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T6, ORC_VAR_T2, ORC_VAR_T4,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "shll", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C8,
|
orc_program_append_2 (p, "shll", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C8,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
|
@ -9561,15 +9561,15 @@ video_orc_unpack_BGR15_be_trunc (guint32 * ORC_RESTRICT d1,
|
||||||
/* 11: mergewl */
|
/* 11: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var48.i;
|
_dest.x2[0] = var41.i;
|
||||||
_dest.x2[1] = var41.i;
|
_dest.x2[1] = var48.i;
|
||||||
var50.i = _dest.i;
|
var50.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 12: mergewl */
|
/* 12: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var47.i;
|
_dest.x2[0] = var49.i;
|
||||||
_dest.x2[1] = var49.i;
|
_dest.x2[1] = var47.i;
|
||||||
var51.i = _dest.i;
|
var51.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 13: shll */
|
/* 13: shll */
|
||||||
|
@ -9652,15 +9652,15 @@ _backup_video_orc_unpack_BGR15_be_trunc (OrcExecutor * ORC_RESTRICT ex)
|
||||||
/* 11: mergewl */
|
/* 11: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var48.i;
|
_dest.x2[0] = var41.i;
|
||||||
_dest.x2[1] = var41.i;
|
_dest.x2[1] = var48.i;
|
||||||
var50.i = _dest.i;
|
var50.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 12: mergewl */
|
/* 12: mergewl */
|
||||||
{
|
{
|
||||||
orc_union32 _dest;
|
orc_union32 _dest;
|
||||||
_dest.x2[0] = var47.i;
|
_dest.x2[0] = var49.i;
|
||||||
_dest.x2[1] = var49.i;
|
_dest.x2[1] = var47.i;
|
||||||
var51.i = _dest.i;
|
var51.i = _dest.i;
|
||||||
}
|
}
|
||||||
/* 13: shll */
|
/* 13: shll */
|
||||||
|
@ -9697,7 +9697,7 @@ video_orc_unpack_BGR15_be_trunc (guint32 * ORC_RESTRICT d1,
|
||||||
0, 0, 14, 4, 8, 0, 0, 0, 20, 2, 20, 2, 20, 2, 20, 2,
|
0, 0, 14, 4, 8, 0, 0, 0, 20, 2, 20, 2, 20, 2, 20, 2,
|
||||||
20, 4, 20, 4, 82, 32, 4, 73, 35, 32, 16, 73, 34, 32, 17, 73,
|
20, 4, 20, 4, 82, 32, 4, 73, 35, 32, 16, 73, 34, 32, 17, 73,
|
||||||
33, 32, 18, 95, 35, 35, 19, 95, 34, 34, 20, 93, 33, 33, 21, 195,
|
33, 32, 18, 95, 35, 35, 19, 95, 34, 34, 20, 93, 33, 33, 21, 195,
|
||||||
36, 34, 22, 195, 37, 35, 33, 124, 36, 36, 23, 123, 0, 36, 37, 2,
|
36, 22, 34, 195, 37, 33, 35, 124, 36, 36, 23, 123, 0, 36, 37, 2,
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
p = orc_program_new_from_static_bytecode (bc);
|
p = orc_program_new_from_static_bytecode (bc);
|
||||||
|
@ -9739,9 +9739,9 @@ video_orc_unpack_BGR15_be_trunc (guint32 * ORC_RESTRICT d1,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "shlw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C6,
|
orc_program_append_2 (p, "shlw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C6,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_C7,
|
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T5, ORC_VAR_C7, ORC_VAR_T3,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T6, ORC_VAR_T4, ORC_VAR_T2,
|
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T6, ORC_VAR_T2, ORC_VAR_T4,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
orc_program_append_2 (p, "shll", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C8,
|
orc_program_append_2 (p, "shll", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C8,
|
||||||
ORC_VAR_D1);
|
ORC_VAR_D1);
|
||||||
|
|
|
@ -502,8 +502,8 @@ shlw b, b, 5
|
||||||
mulhsw r, r, 0x0210
|
mulhsw r, r, 0x0210
|
||||||
mulhsw g, g, 0x4200
|
mulhsw g, g, 0x4200
|
||||||
mulhsw b, b, 0x4200
|
mulhsw b, b, 0x4200
|
||||||
mergewl ag, g, 0xff
|
mergewl ag, 0xff, g
|
||||||
mergewl rb, b, r
|
mergewl rb, r, b
|
||||||
shll ag, ag, 8
|
shll ag, ag, 8
|
||||||
orl argb, ag, rb
|
orl argb, ag, rb
|
||||||
|
|
||||||
|
@ -632,8 +632,8 @@ shlw r, r, 5
|
||||||
mulhsw b, b, 0x0210
|
mulhsw b, b, 0x0210
|
||||||
mulhsw g, g, 0x4200
|
mulhsw g, g, 0x4200
|
||||||
mulhsw r, r, 0x4200
|
mulhsw r, r, 0x4200
|
||||||
mergewl ag, g, 0xff
|
mergewl ag, 0xff, g
|
||||||
mergewl rb, b, r
|
mergewl rb, r, b
|
||||||
shll ag, ag, 8
|
shll ag, ag, 8
|
||||||
orl argb, ag, rb
|
orl argb, ag, rb
|
||||||
|
|
||||||
|
@ -676,8 +676,8 @@ andw r, t, 0x001f
|
||||||
shruw b, b, 7
|
shruw b, b, 7
|
||||||
shruw g, g, 2
|
shruw g, g, 2
|
||||||
shlw r, r, 3
|
shlw r, r, 3
|
||||||
mergewl ag, g, 0xff
|
mergewl ag, 0xff, g
|
||||||
mergewl rb, b, r
|
mergewl rb, r, b
|
||||||
shll ag, ag, 8
|
shll ag, ag, 8
|
||||||
orl argb, ag, rb
|
orl argb, ag, rb
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue