mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
video-converter: add orc splat functions to draw border
This commit is contained in:
parent
46e727ebde
commit
fc5dd035fa
2 changed files with 18 additions and 24 deletions
|
@ -755,11 +755,9 @@ gst_video_converter_new (GstVideoInfo * in_info, GstVideoInfo * out_info,
|
|||
|
||||
if (convert->fill_border && (convert->out_height < convert->out_maxheight ||
|
||||
convert->out_width < convert->out_maxwidth)) {
|
||||
gint i;
|
||||
guint8 *b;
|
||||
guint64 border_val, v;
|
||||
guint64 border_val;
|
||||
|
||||
b = convert->borderline = g_malloc0 (sizeof (guint16) * width * 4);
|
||||
convert->borderline = g_malloc0 (sizeof (guint16) * width * 4);
|
||||
|
||||
if (GST_VIDEO_INFO_IS_YUV (&convert->out_info)) {
|
||||
/* FIXME, convert to AYUV, just black for now */
|
||||
|
@ -767,26 +765,10 @@ gst_video_converter_new (GstVideoInfo * in_info, GstVideoInfo * out_info,
|
|||
} else {
|
||||
border_val = convert->border_argb;
|
||||
}
|
||||
|
||||
if (convert->out_bits == 8)
|
||||
v = (border_val << 32) | border_val;
|
||||
else {
|
||||
guint64 c;
|
||||
|
||||
c = (border_val >> 24) & 0xff;
|
||||
v = (c << 56) | (c << 48);
|
||||
c = (border_val >> 16) & 0xff;
|
||||
v |= (c << 40) | (c << 32);
|
||||
c = (border_val >> 8) & 0xff;
|
||||
v |= (c << 24) | (c << 16);
|
||||
c = (border_val) & 0xff;
|
||||
v |= (c << 8) | c;
|
||||
}
|
||||
v = GINT64_TO_BE (v);
|
||||
for (i = 0; i < width; i++) {
|
||||
memcpy (b, &v, 8);
|
||||
b += 8;
|
||||
}
|
||||
if (convert->pack_bits == 8)
|
||||
video_orc_splat_u32 (convert->borderline, border_val, width);
|
||||
else
|
||||
video_orc_splat_u64 (convert->borderline, border_val, width);
|
||||
} else {
|
||||
convert->borderline = NULL;
|
||||
}
|
||||
|
|
|
@ -542,6 +542,18 @@ convhwb d, s
|
|||
|
||||
mergebw d, s, s
|
||||
|
||||
.function video_orc_splat_u32
|
||||
.dest 4 d1 guint8
|
||||
.param 4 p1
|
||||
|
||||
storel d1, p1
|
||||
|
||||
.function video_orc_splat_u64
|
||||
.dest 8 d1 guint8
|
||||
.param 4 p1
|
||||
|
||||
x4 mergebw d1, p1, p1
|
||||
|
||||
.function video_orc_convert_I420_UYVY
|
||||
.dest 4 d1 guint8
|
||||
.dest 4 d2 guint8
|
||||
|
|
Loading…
Reference in a new issue