msdkvpp: add RGBA and RGBx support
I quickly tried the following and it seems to work but I wanted if this is something known be working and why it was not in msdkvpp before (just a miss ? or you found any issue with that ?).
+++ b/sys/msdk/gstmsdkvpp.c
@@ -73,7 +73,7 @@ GST_DEBUG_CATEGORY_EXTERN (gst_msdkvpp_debug);
#define SUPPORTED_DMABUF_FORMAT \
"{ NV12, BGRA, YUY2, UYVY, VUYA, P010_10LE" EXT_SINK_FORMATS "}"
#define SRC_SYSTEM_FORMAT \
- "{ BGRA, NV12, YUY2, UYVY, VUYA, BGRx, P010_10LE" EXT_FORMATS EXT_SRC_FORMATS "}"
+ "{ RGBA, BGRA, NV12, YUY2, UYVY, VUYA, BGRx, P010_10LE" EXT_FORMATS EXT_SRC_FORMATS "}"
#define SRC_DMABUF_FORMAT \
"{ BGRA, YUY2, UYVY, NV12, VUYA, BGRx, P010_10LE" EXT_FORMATS EXT_SRC_FORMATS "}"
diff --git a/sys/msdk/msdk.c b/sys/msdk/msdk.c
index 2f4903950..66714963e 100644
--- a/sys/msdk/msdk.c
+++ b/sys/msdk/msdk.c
@@ -56,6 +56,7 @@ static const struct map gst_msdk_video_format_to_mfx_map[] = {
GST_VIDEO_INFO_TO_MFX_MAP (P010_10LE, YUV420, P010),
GST_VIDEO_INFO_TO_MFX_MAP (YUY2, YUV422, YUY2),
GST_VIDEO_INFO_TO_MFX_MAP (UYVY, YUV422, UYVY),
+ GST_VIDEO_INFO_TO_MFX_MAP (RGBA, YUV444, RGB4),
GST_VIDEO_INFO_TO_MFX_MAP (BGRA, YUV444, RGB4),
GST_VIDEO_INFO_TO_MFX_MAP (BGRx, YUV444, RGB4),
#if (MFX_VERSION >= 1028)
This is useful when testing with msdkvpp ! "video/x-raw(memory:SystemMemory), format=RGBA" ! glimagesink
so that internally glcolorconvert is a no-op since no need to convert to RGBA.
I have not tested with DMABuf yet.