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
This commit is contained in:
Seungha Yang 2019-02-28 21:37:49 +09:00 committed by Víctor Manuel Jáquez Leal
parent 74d281fbc2
commit 1d17e3891d
5 changed files with 24 additions and 3 deletions

View file

@ -312,12 +312,14 @@ gst_msdk_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData * data)
data->B = data->R + 2; data->B = data->R + 2;
data->A = data->R + 3; data->A = data->R + 3;
break; break;
#if (MFX_VERSION >= 1028)
case VA_FOURCC_RGB565: case VA_FOURCC_RGB565:
data->Pitch = mem_id->image.pitches[0]; data->Pitch = mem_id->image.pitches[0];
data->R = buf + mem_id->image.offsets[0]; data->R = buf + mem_id->image.offsets[0];
data->G = data->R; data->G = data->R;
data->B = data->R; data->B = data->R;
break; break;
#endif
default: default:
g_assert_not_reached (); g_assert_not_reached ();
break; break;
@ -454,10 +456,12 @@ gst_msdk_export_dmabuf_to_vasurface (GstMsdkContext * context,
va_chroma = VA_RT_FORMAT_YUV422; va_chroma = VA_RT_FORMAT_YUV422;
va_fourcc = VA_FOURCC_UYVY; va_fourcc = VA_FOURCC_UYVY;
break; break;
#if (MFX_VERSION >= 1028)
case GST_VIDEO_FORMAT_RGB16: case GST_VIDEO_FORMAT_RGB16:
va_chroma = VA_RT_FORMAT_RGB16; va_chroma = VA_RT_FORMAT_RGB16;
va_fourcc = VA_FOURCC_RGB565; va_fourcc = VA_FOURCC_RGB565;
break; break;
#endif
default: default:
goto error_unsupported_format; goto error_unsupported_format;
} }

View file

@ -113,12 +113,14 @@ ensure_data (GstMsdkSystemMemory * mem)
mem->surface->Data.B = mem->surface->Data.R + 2; mem->surface->Data.B = mem->surface->Data.R + 2;
mem->surface->Data.Pitch = mem->destination_pitches[0]; mem->surface->Data.Pitch = mem->destination_pitches[0];
break; break;
#if (MFX_VERSION >= 1028)
case GST_VIDEO_FORMAT_RGB16: case GST_VIDEO_FORMAT_RGB16:
mem->surface->Data.R = mem->cached_data[0]; mem->surface->Data.R = mem->cached_data[0];
mem->surface->Data.G = mem->surface->Data.R; mem->surface->Data.G = mem->surface->Data.R;
mem->surface->Data.B = mem->surface->Data.R; mem->surface->Data.B = mem->surface->Data.R;
mem->surface->Data.Pitch = mem->destination_pitches[0]; mem->surface->Data.Pitch = mem->destination_pitches[0];
break; break;
#endif
default: default:
g_assert_not_reached (); g_assert_not_reached ();
break; break;

View file

@ -51,15 +51,26 @@
GST_DEBUG_CATEGORY_EXTERN (gst_msdkvpp_debug); GST_DEBUG_CATEGORY_EXTERN (gst_msdkvpp_debug);
#define GST_CAT_DEFAULT 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 = static GstStaticPadTemplate gst_msdkvpp_sink_factory =
GST_STATIC_PAD_TEMPLATE ("sink", GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK, GST_PAD_SINK,
GST_PAD_ALWAYS, GST_PAD_ALWAYS,
GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (SUPPORTED_SYSTEM_FORMAT)
("{ NV12, YV12, I420, YUY2, UYVY, BGRA, BGRx, RGB16, P010_10LE }")
", " "interlace-mode = (string){ progressive, interleaved, mixed }" ";" ", " "interlace-mode = (string){ progressive, interleaved, mixed }" ";"
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF, 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 = static GstStaticPadTemplate gst_msdkvpp_src_factory =
GST_STATIC_PAD_TEMPLATE ("src", GST_STATIC_PAD_TEMPLATE ("src",

View file

@ -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 (UYVY, YUV422, UYVY),
GST_VIDEO_INFO_TO_MFX_MAP (BGRA, YUV444, RGB4), GST_VIDEO_INFO_TO_MFX_MAP (BGRA, YUV444, RGB4),
GST_VIDEO_INFO_TO_MFX_MAP (BGRx, YUV444, RGB4), GST_VIDEO_INFO_TO_MFX_MAP (BGRx, YUV444, RGB4),
#if (MFX_VERSION >= 1028)
GST_VIDEO_INFO_TO_MFX_MAP (RGB16, YUV444, RGB565), GST_VIDEO_INFO_TO_MFX_MAP (RGB16, YUV444, RGB565),
#endif
{0, 0, 0} {0, 0, 0}
}; };

View file

@ -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 (RGB4, ARGB),
FOURCC_MFX_TO_VA (P8, P208), FOURCC_MFX_TO_VA (P8, P208),
FOURCC_MFX_TO_VA (P010, P010), FOURCC_MFX_TO_VA (P010, P010),
#if (MFX_VERSION >= 1028)
FOURCC_MFX_TO_VA (RGB565, RGB565), FOURCC_MFX_TO_VA (RGB565, RGB565),
#endif
{0, 0} {0, 0}
}; };