Skip to content
Snippets Groups Projects
Commit 5b369e6e authored by Haihao Xiang's avatar Haihao Xiang
Browse files

msdk: fix the build error with libva 2.4.0

parent d3ec0645
No related branches found
No related tags found
No related merge requests found
Pipeline #31220 passed
...@@ -98,8 +98,10 @@ gst_msdk_frame_alloc (mfxHDL pthis, mfxFrameAllocRequest * req, ...@@ -98,8 +98,10 @@ gst_msdk_frame_alloc (mfxHDL pthis, mfxFrameAllocRequest * req,
if (format == VA_RT_FORMAT_YUV420 && va_fourcc == VA_FOURCC_P010) if (format == VA_RT_FORMAT_YUV420 && va_fourcc == VA_FOURCC_P010)
format = VA_RT_FORMAT_YUV420_10; format = VA_RT_FORMAT_YUV420_10;
#if VA_CHECK_VERSION(1, 4, 1)
if (format == VA_RT_FORMAT_YUV444 && va_fourcc == VA_FOURCC_A2R10G10B10) if (format == VA_RT_FORMAT_YUV444 && va_fourcc == VA_FOURCC_A2R10G10B10)
format = VA_RT_FORMAT_RGB32_10; format = VA_RT_FORMAT_RGB32_10;
#endif
va_status = vaCreateSurfaces (gst_msdk_context_get_handle (context), va_status = vaCreateSurfaces (gst_msdk_context_get_handle (context),
format, format,
...@@ -331,6 +333,7 @@ gst_msdk_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData * data) ...@@ -331,6 +333,7 @@ gst_msdk_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData * data)
data->Y = data->V + 2; data->Y = data->V + 2;
data->A = data->V + 3; data->A = data->V + 3;
break; break;
#if VA_CHECK_VERSION(1, 4, 1)
case VA_FOURCC_A2R10G10B10: case VA_FOURCC_A2R10G10B10:
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];
...@@ -338,6 +341,7 @@ gst_msdk_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData * data) ...@@ -338,6 +341,7 @@ gst_msdk_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData * data)
data->B = data->R; data->B = data->R;
data->A = data->R; data->A = data->R;
break; break;
#endif
default: default:
g_assert_not_reached (); g_assert_not_reached ();
break; break;
...@@ -484,10 +488,12 @@ gst_msdk_export_dmabuf_to_vasurface (GstMsdkContext * context, ...@@ -484,10 +488,12 @@ gst_msdk_export_dmabuf_to_vasurface (GstMsdkContext * context,
va_chroma = VA_RT_FORMAT_YUV444; va_chroma = VA_RT_FORMAT_YUV444;
va_fourcc = VA_FOURCC_AYUV; va_fourcc = VA_FOURCC_AYUV;
break; break;
#if VA_CHECK_VERSION(1, 4, 1)
case GST_VIDEO_FORMAT_BGR10A2_LE: case GST_VIDEO_FORMAT_BGR10A2_LE:
va_chroma = VA_RT_FORMAT_RGB32_10; va_chroma = VA_RT_FORMAT_RGB32_10;
va_fourcc = VA_FOURCC_A2R10G10B10; va_fourcc = VA_FOURCC_A2R10G10B10;
break; break;
#endif
default: default:
goto error_unsupported_format; goto error_unsupported_format;
} }
......
...@@ -44,8 +44,14 @@ ...@@ -44,8 +44,14 @@
#include "gstmsdkcontextutil.h" #include "gstmsdkcontextutil.h"
#include "gstmsdkvpputil.h" #include "gstmsdkvpputil.h"
#define EXT_FORMATS ""
#ifndef _WIN32 #ifndef _WIN32
#include "gstmsdkallocator_libva.h" #include "gstmsdkallocator_libva.h"
#if VA_CHECK_VERSION(1, 4, 1)
#undef EXT_FORMATS
#define EXT_FORMATS ", BGR10A2_LE"
#endif
#endif #endif
GST_DEBUG_CATEGORY_EXTERN (gst_msdkvpp_debug); GST_DEBUG_CATEGORY_EXTERN (gst_msdkvpp_debug);
...@@ -78,9 +84,10 @@ static GstStaticPadTemplate gst_msdkvpp_src_factory = ...@@ -78,9 +84,10 @@ static GstStaticPadTemplate gst_msdkvpp_src_factory =
GST_PAD_ALWAYS, GST_PAD_ALWAYS,
GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
(GST_CAPS_FEATURE_MEMORY_DMABUF, (GST_CAPS_FEATURE_MEMORY_DMABUF,
"{ BGRA, YUY2, UYVY, NV12, VUYA, BGRx, P010_10LE, BGR10A2_LE}") ";" "{ BGRA, YUY2, UYVY, NV12, VUYA, BGRx, P010_10LE" EXT_FORMATS "}")
GST_VIDEO_CAPS_MAKE ";"
("{ BGRA, NV12, YUY2, UYVY, VUYA, BGRx, P010_10LE, BGR10A2_LE }") ", " GST_VIDEO_CAPS_MAKE ("{ BGRA, NV12, YUY2, UYVY, VUYA, BGRx, P010_10LE"
EXT_FORMATS "}") ", "
"interlace-mode = (string){ progressive, interleaved, mixed }" ";")); "interlace-mode = (string){ progressive, interleaved, mixed }" ";"));
enum enum
......
...@@ -66,7 +66,9 @@ static const struct fourcc_map gst_msdk_fourcc_mfx_to_va[] = { ...@@ -66,7 +66,9 @@ static const struct fourcc_map gst_msdk_fourcc_mfx_to_va[] = {
FOURCC_MFX_TO_VA (RGB565, RGB565), FOURCC_MFX_TO_VA (RGB565, RGB565),
#endif #endif
FOURCC_MFX_TO_VA (AYUV, AYUV), FOURCC_MFX_TO_VA (AYUV, AYUV),
#if VA_CHECK_VERSION(1, 4, 1)
FOURCC_MFX_TO_VA (A2RGB10, A2R10G10B10), FOURCC_MFX_TO_VA (A2RGB10, A2R10G10B10),
#endif
{0, 0} {0, 0}
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment