-gst-vaapi NEWS -- summary of changes. 2010-03-23
+gst-vaapi NEWS -- summary of changes. 2010-03-DD
Copyright (C) 2010 Splitted-Desktop Systems
+Version 0.1.2 - DD.Mar.2010
+* Add AYUV image format
+
Version 0.1.1 - 23.Mar.2010
* Document public API for libgstvaapi-*.so.*
* Optimize `vaapiconvert' pipeline (direct-rendering)
case VA_FOURCC('I','4','2','0'):
data_size = width * height + 2 * width2 * height2;
break;
+ case VA_FOURCC('A','Y','U','V'):
case VA_FOURCC('A','R','G','B'):
case VA_FOURCC('R','G','B','A'):
case VA_FOURCC('A','B','G','R'):
DEF_YUV(NV12, ('N','V','1','2'), LSB, 12),
DEF_YUV(YV12, ('Y','V','1','2'), LSB, 12),
DEF_YUV(I420, ('I','4','2','0'), LSB, 12),
+ DEF_YUV(AYUV, ('A','Y','U','V'), LSB, 32),
#if G_BYTE_ORDER == G_BIG_ENDIAN
DEF_RGB(ARGB, ('A','R','G','B'), MSB, 32,
32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000),
* planar YUV 4:2:0, 12-bit, 3 planes for Y V U
* @GST_VAAPI_IMAGE_I420:
* planar YUV 4:2:0, 12-bit, 3 planes for Y U V
+ * @GST_VAAPI_IMAGE_AYUV:
+ * packed YUV 4:4:4, 32-bit, A Y U V, native endian byte-order
* @GST_VAAPI_IMAGE_ARGB:
* packed RGB 8:8:8, 32-bit, A R G B
* @GST_VAAPI_IMAGE_RGBA:
GST_VAAPI_IMAGE_NV12 = VA_FOURCC('N','V','1','2'),
GST_VAAPI_IMAGE_YV12 = VA_FOURCC('Y','V','1','2'),
GST_VAAPI_IMAGE_I420 = VA_FOURCC('I','4','2','0'),
+ GST_VAAPI_IMAGE_AYUV = VA_FOURCC('A','Y','U','V'),
GST_VAAPI_IMAGE_ARGB = VA_FOURCC('A','R','G','B'),
GST_VAAPI_IMAGE_RGBA = VA_FOURCC('R','G','B','A'),
GST_VAAPI_IMAGE_ABGR = VA_FOURCC('A','B','G','R'),
}
}
+static void draw_rect_AYUV(
+ guchar *pixels[3],
+ guint stride[3],
+ gint x,
+ gint y,
+ guint width,
+ guint height,
+ guint32 color
+)
+{
+ guint i, j;
+
+ color = color | 0xff000000;
+
+ for (j = 0; j < height; j++) {
+ guint32 *p = (guint32 *)(pixels[0] + (y + j) * stride[0] + x * 4);
+ for (i = 0; i < width; i++)
+ p[i] = color;
+ }
+}
+
static gboolean draw_rgb_rects(GstVaapiImage *image)
{
GstVaapiImageFormat format = GST_VAAPI_IMAGE_FORMAT(image);
stride[1] = gst_vaapi_image_get_pitch(image, 1);
pixels[2] = gst_vaapi_image_get_plane(image, 2);
stride[2] = gst_vaapi_image_get_pitch(image, 2);
+ goto YUV_colors;
+ case GST_VAAPI_IMAGE_AYUV:
+ draw_rect = draw_rect_AYUV;
+ pixels[0] = gst_vaapi_image_get_plane(image, 0);
+ stride[0] = gst_vaapi_image_get_pitch(image, 0);
YUV_colors:
red_color = 0x515af0;
green_color = 0x913622;
GST_VAAPI_IMAGE_NV12,
GST_VAAPI_IMAGE_YV12,
GST_VAAPI_IMAGE_I420,
+ GST_VAAPI_IMAGE_AYUV,
GST_VAAPI_IMAGE_ARGB,
GST_VAAPI_IMAGE_BGRA,
GST_VAAPI_IMAGE_RGBA,