mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
video-chroma: add ORC version of UP_H2_CS
It is however slower than the C version and thus disabled.
This commit is contained in:
parent
f73dee34e7
commit
dcd02cd323
2 changed files with 30 additions and 1 deletions
|
@ -526,7 +526,17 @@ MAKE_DOWNSAMPLE_VI4 (u8, guint8);
|
|||
* x x
|
||||
* a b
|
||||
*/
|
||||
#define MAKE_UPSAMPLE_H2_CS(name,type) \
|
||||
#define MAKE_UPSAMPLE_H2_CS_ORC(name,type) \
|
||||
static void \
|
||||
video_chroma_up_h2_cs_##name (GstVideoChromaResample *resample, \
|
||||
gpointer pixels, gint width) \
|
||||
{ \
|
||||
type *p = pixels; \
|
||||
/* ORC version is slower */ \
|
||||
video_orc_chroma_up_h2_cs_##name (p, p, p, width-1); \
|
||||
}
|
||||
|
||||
#define MAKE_UPSAMPLE_H2_CS(name,type) \
|
||||
static void \
|
||||
video_chroma_up_h2_cs_##name (GstVideoChromaResample *resample, \
|
||||
gpointer pixels, gint width) \
|
||||
|
|
|
@ -1659,6 +1659,25 @@ x2 avgub uv1, uv1, uv2
|
|||
mergewl ayuv1, ay1, uv1
|
||||
mergelq d, ayuv1, ayuv2
|
||||
|
||||
.function video_orc_chroma_up_h2_cs_u8
|
||||
.source 8 s guint8
|
||||
.source 4 s1 guint8
|
||||
.dest 8 d guint8
|
||||
.temp 4 ayuv1
|
||||
.temp 4 ayuv2
|
||||
.temp 4 ayuv3
|
||||
.temp 2 ay2
|
||||
.temp 2 uv2
|
||||
.temp 2 uv3
|
||||
|
||||
splitql ayuv2, ayuv1, s
|
||||
ldresnearl ayuv3, s1, 0x20000, 0x20000
|
||||
splitlw uv2, ay2, ayuv2
|
||||
select1lw uv3, ayuv3
|
||||
x2 avgub uv2, uv2, uv3
|
||||
mergewl ayuv2, ay2, uv2
|
||||
mergelq d, ayuv1, ayuv2
|
||||
|
||||
.function video_orc_chroma_down_v2_u8
|
||||
.source 4 s1 guint8
|
||||
.source 4 s2 guint8
|
||||
|
|
Loading…
Reference in a new issue