#endif
#endif
+#if (MFX_VERSION >= 1028)
+#define EXT_SINK_FORMATS ", RGB16, Y410, Y210"
+#define EXT_SRC_FORMATS ", Y410, Y210"
+#elif (MFX_VERSION >= 1027)
+#define EXT_SINK_FORMATS ", Y410, Y210"
+#define EXT_SRC_FORMATS ", Y410, Y210"
+#else
+#define EXT_SINK_FORMATS ""
+#define EXT_SRC_FORMATS ""
+#endif
+
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, VUYA, BGRA, BGRx, RGB16, P010_10LE }"
+ "{ NV12, YV12, I420, YUY2, UYVY, VUYA, BGRA, BGRx, P010_10LE" EXT_SINK_FORMATS "}"
#define SUPPORTED_DMABUF_FORMAT \
- "{ NV12, BGRA, YUY2, UYVY, VUYA, RGB16, P010_10LE}"
-#else
-#define SUPPORTED_SYSTEM_FORMAT \
- "{ NV12, YV12, I420, YUY2, UYVY, VUYA, BGRA, BGRx, P010_10LE }"
-#define SUPPORTED_DMABUF_FORMAT \
- "{ NV12, BGRA, YUY2, UYVY, VUYA, P010_10LE}"
-#endif
+ "{ 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 "}"
+#define SRC_DMABUF_FORMAT \
+ "{ BGRA, YUY2, UYVY, NV12, VUYA, BGRx, P010_10LE" EXT_FORMATS EXT_SRC_FORMATS "}"
#ifndef _WIN32
#define DMABUF_SINK_CAPS_STR \
#ifndef _WIN32
#define DMABUF_SRC_CAPS_STR \
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF, \
- "{ BGRA, YUY2, UYVY, NV12, VUYA, BGRx, P010_10LE" EXT_FORMATS "}") ";"
+ SRC_DMABUF_FORMAT) ";"
#else
#define DMABUF_SRC_CAPS_STR ""
#endif
GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS (DMABUF_SRC_CAPS_STR
- GST_VIDEO_CAPS_MAKE ("{ BGRA, NV12, YUY2, UYVY, VUYA, BGRx, P010_10LE"
- EXT_FORMATS "}") ", "
+ GST_VIDEO_CAPS_MAKE (SRC_SYSTEM_FORMAT) ", "
"interlace-mode = (string){ progressive, interleaved, mixed }" ";"));
enum
if (!gst_buffer_pool_set_config (pool, config))
goto error_pool_config;
- /* Updating pool_info with algined info of allocator */
+ /* Updating pool_info with aligned info of allocator */
*pool_info = info;
return pool;
gst_object_unref (thiz->srcpad_buffer_pool);
/* Always create a pool for vpp out buffers. Each of the msdk element
- * has to create it's own mfxsurfacepool which is an msdk contraint.
+ * has to create it's own mfxsurfacepool which is an msdk constraint.
* For eg: Each Msdk component (vpp, dec and enc) will invoke the external
* Frame allocator for video-memory usage.So sharing the pool between
* gst-msdk elements might not be a good idea, rather each element
gst_query_add_allocation_param (query, allocator, ¶ms);
gst_structure_free (config);
- /* if upstream does't have a pool requirement, set only
+ /* if upstream doesn't have a pool requirement, set only
* size, min_buffers and max_buffers in query */
gst_query_add_allocation_pool (query, need_pool ? pool : NULL, size,
min_buffers, 0);
error_more_data:
GST_WARNING_OBJECT (thiz,
- "MSDK Requries additional input for processing, "
+ "MSDK Requires additional input for processing, "
"Retruning FLOW_DROPPED since no output buffer was generated");
ret = GST_BASE_TRANSFORM_FLOW_DROPPED;
goto transform_end;
/* Enable the required filters */
ensure_filters (thiz);
- /* Add exteneded buffers */
+ /* Add extended buffers */
if (thiz->num_extra_params) {
thiz->param.NumExtParam = thiz->num_extra_params;
thiz->param.ExtParam = thiz->extra_params;