data->B = data->R + 2;
data->A = data->R + 3;
break;
+#if (MFX_VERSION >= 1028)
case VA_FOURCC_RGB565:
data->Pitch = mem_id->image.pitches[0];
data->R = buf + mem_id->image.offsets[0];
data->G = data->R;
data->B = data->R;
break;
+#endif
default:
g_assert_not_reached ();
break;
va_chroma = VA_RT_FORMAT_YUV422;
va_fourcc = VA_FOURCC_UYVY;
break;
+#if (MFX_VERSION >= 1028)
case GST_VIDEO_FORMAT_RGB16:
va_chroma = VA_RT_FORMAT_RGB16;
va_fourcc = VA_FOURCC_RGB565;
break;
+#endif
default:
goto error_unsupported_format;
}
mem->surface->Data.B = mem->surface->Data.R + 2;
mem->surface->Data.Pitch = mem->destination_pitches[0];
break;
+#if (MFX_VERSION >= 1028)
case GST_VIDEO_FORMAT_RGB16:
mem->surface->Data.R = mem->cached_data[0];
mem->surface->Data.G = mem->surface->Data.R;
mem->surface->Data.B = mem->surface->Data.R;
mem->surface->Data.Pitch = mem->destination_pitches[0];
break;
+#endif
default:
g_assert_not_reached ();
break;
GST_DEBUG_CATEGORY_EXTERN (gst_msdkvpp_debug);
#define GST_CAT_DEFAULT gst_msdkvpp_debug
+#if (MFX_VERSION >= 1028)
+#define SUPPORTED_SYSTEM_FORMAT \
+ "{ NV12, YV12, I420, YUY2, UYVY, BGRA, BGRx, RGB16, P010_10LE }"
+#define SUPPORTED_DMABUF_FORMAT \
+ "{ NV12, BGRA, YUY2, UYVY, RGB16, P010_10LE}"
+#else
+#define SUPPORTED_SYSTEM_FORMAT \
+ "{ NV12, YV12, I420, YUY2, UYVY, BGRA, BGRx, P010_10LE }"
+#define SUPPORTED_DMABUF_FORMAT \
+ "{ NV12, BGRA, YUY2, UYVY, P010_10LE}"
+#endif
+
static GstStaticPadTemplate gst_msdkvpp_sink_factory =
GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE
- ("{ NV12, YV12, I420, YUY2, UYVY, BGRA, BGRx, RGB16, P010_10LE }")
+ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (SUPPORTED_SYSTEM_FORMAT)
", " "interlace-mode = (string){ progressive, interleaved, mixed }" ";"
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF,
- "{ NV12, BGRA, YUY2, UYVY, RGB16, P010_10LE}")));
+ SUPPORTED_DMABUF_FORMAT)));
static GstStaticPadTemplate gst_msdkvpp_src_factory =
GST_STATIC_PAD_TEMPLATE ("src",
GST_VIDEO_INFO_TO_MFX_MAP (UYVY, YUV422, UYVY),
GST_VIDEO_INFO_TO_MFX_MAP (BGRA, YUV444, RGB4),
GST_VIDEO_INFO_TO_MFX_MAP (BGRx, YUV444, RGB4),
+#if (MFX_VERSION >= 1028)
GST_VIDEO_INFO_TO_MFX_MAP (RGB16, YUV444, RGB565),
+#endif
{0, 0, 0}
};
FOURCC_MFX_TO_VA (RGB4, ARGB),
FOURCC_MFX_TO_VA (P8, P208),
FOURCC_MFX_TO_VA (P010, P010),
+#if (MFX_VERSION >= 1028)
FOURCC_MFX_TO_VA (RGB565, RGB565),
+#endif
{0, 0}
};