summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungha Yang <seungha.yang@navercorp.com>2019-02-28 21:37:49 +0900
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2019-03-01 07:03:01 +0000
commit1d17e3891debfdb72d9db44fcba32c8133ba1ea0 (patch)
treec24514192213de19be24bacd339eede731a92950
parent74d281fbc2c8017b8f2c58ec21f6882fd4731936 (diff)
mskd: Don't use MFX_FOURCC_RGB565 if it's undefined
../subprojects/gst-plugins-bad/sys/msdk/msdk.c(61): error C2065: 'MFX_FOURCC_RGB565' The minimum required version for the format seems to MFX_VERSION >= 1028
-rw-r--r--sys/msdk/gstmsdkallocator_libva.c4
-rw-r--r--sys/msdk/gstmsdksystemmemory.c2
-rw-r--r--sys/msdk/gstmsdkvpp.c17
-rw-r--r--sys/msdk/msdk.c2
-rw-r--r--sys/msdk/msdk_libva.c2
5 files changed, 24 insertions, 3 deletions
diff --git a/sys/msdk/gstmsdkallocator_libva.c b/sys/msdk/gstmsdkallocator_libva.c
index 30154517b..848de6804 100644
--- a/sys/msdk/gstmsdkallocator_libva.c
+++ b/sys/msdk/gstmsdkallocator_libva.c
@@ -312,12 +312,14 @@ gst_msdk_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData * data)
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;
@@ -454,10 +456,12 @@ gst_msdk_export_dmabuf_to_vasurface (GstMsdkContext * context,
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;
}
diff --git a/sys/msdk/gstmsdksystemmemory.c b/sys/msdk/gstmsdksystemmemory.c
index 3b659a34d..ecd159252 100644
--- a/sys/msdk/gstmsdksystemmemory.c
+++ b/sys/msdk/gstmsdksystemmemory.c
@@ -113,12 +113,14 @@ ensure_data (GstMsdkSystemMemory * mem)
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;
diff --git a/sys/msdk/gstmsdkvpp.c b/sys/msdk/gstmsdkvpp.c
index e3b0130d5..71d5feccc 100644
--- a/sys/msdk/gstmsdkvpp.c
+++ b/sys/msdk/gstmsdkvpp.c
@@ -51,15 +51,26 @@
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",
diff --git a/sys/msdk/msdk.c b/sys/msdk/msdk.c
index 4598eb542..e2c3b4520 100644
--- a/sys/msdk/msdk.c
+++ b/sys/msdk/msdk.c
@@ -58,7 +58,9 @@ static const struct map gst_msdk_video_format_to_mfx_map[] = {
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}
};
diff --git a/sys/msdk/msdk_libva.c b/sys/msdk/msdk_libva.c
index 98453f235..7a5d55433 100644
--- a/sys/msdk/msdk_libva.c
+++ b/sys/msdk/msdk_libva.c
@@ -62,7 +62,9 @@ static const struct fourcc_map gst_msdk_fourcc_mfx_to_va[] = {
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}
};