case GST_STR_FOURCC("S420"):
case GST_STR_FOURCC("I420"):
return TBM_FORMAT_YUV420;
+#if G_BYTE_ORDER == G_BIG_ENDIAN
case GST_STR_FOURCC("BGRA"):
+ case GST_STR_FOURCC("SR32"):
return TBM_FORMAT_BGRA8888;
case GST_STR_FOURCC("BGRx"):
return TBM_FORMAT_BGRX8888;
+#else
+ case GST_STR_FOURCC("BGRA"):
case GST_STR_FOURCC("SR32"):
return TBM_FORMAT_ARGB8888;
+ case GST_STR_FOURCC("BGRx"):
+ return TBM_FORMAT_XRGB8888;
+#endif
default:
TRACKRENDERER_ERROR("Not supported format %" GST_FOURCC_FORMAT,
GST_FOURCC_ARGS(fourcc));
}
BOOST_SCOPE_EXIT_END
- TRACKRENDERER_INFO("width %d, height %d, size %" G_GSIZE_FORMAT ", bo_size %d",
- width, height, mapinfo.size, bo_size);
+ TRACKRENDERER_INFO("format %s, bo format 0x%X, width %d, height %d, size %" G_GSIZE_FORMAT ", bo_size %d",
+ string_format, bo_format, width, height, mapinfo.size, bo_size);
unsigned char* src = NULL;
unsigned char* dest = NULL;
case TBM_FORMAT_BGRA8888:
case TBM_FORMAT_BGRX8888:
case TBM_FORMAT_ARGB8888:
+ case TBM_FORMAT_XRGB8888:
{
GstVideoMeta *vmeta = gst_buffer_get_video_meta(buffer);
int src_stride = (vmeta) ? (vmeta->stride[0]) : (width * 4);