+++ /dev/null
-/* GStreamer Intel MSDK plugin
- * Copyright (c) 2021, Intel Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the copyright holder nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGDECE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _WIN32
-#include "gstmsdk_va.h"
-
-#define GST_MAP_VA (GST_MAP_FLAG_LAST << 1)
-
-static GQuark
-gst_msdk_va_memory_surface_quark_get (void)
-{
- static gsize g_quark;
-
- if (g_once_init_enter (&g_quark)) {
- gsize quark = (gsize) g_quark_from_static_string ("GstMsdkMemoryVASurface");
- g_once_init_leave (&g_quark, quark);
- }
- return g_quark;
-}
-
-static gboolean
-gst_msdk_is_va_mem (GstMemory * mem)
-{
- GstAllocator *allocator;
-
- allocator = mem->allocator;
- if (!allocator)
- return FALSE;
-
- return g_str_equal (allocator->mem_type, "VAMemory");
-}
-
-VASurfaceID
-gst_msdk_va_peek_buffer_surface (GstBuffer * buffer)
-{
- GstMemory *mem;
- VASurfaceID surface;
- GstMapInfo map_info;
- gpointer data;
-
- g_return_val_if_fail (buffer, VA_INVALID_SURFACE);
-
- mem = gst_buffer_peek_memory (buffer, 0);
- if (!mem)
- return VA_INVALID_SURFACE;
-
- if (!gst_msdk_is_va_mem (mem))
- return VA_INVALID_SURFACE;
-
- data = gst_mini_object_get_qdata (GST_MINI_OBJECT (mem),
- gst_msdk_va_memory_surface_quark_get ());
- if (data) {
- surface = *(VASurfaceID *) data;
- g_assert (surface != VA_INVALID_SURFACE);
- return surface;
- }
-
- if (!gst_buffer_map (buffer, &map_info, GST_MAP_READ | GST_MAP_VA))
- return VA_INVALID_SURFACE;
-
- surface = (*(VASurfaceID *) map_info.data);
- gst_buffer_unmap (buffer, &map_info);
-
- if (surface == VA_INVALID_ID) {
- GST_WARNING ("Fail to get va surface by GST_MAP_VA mapping");
- } else {
- data = g_new (VASurfaceID, 1);
- *(VASurfaceID *) data = surface;
- gst_mini_object_set_qdata (GST_MINI_OBJECT_CAST (mem),
- gst_msdk_va_memory_surface_quark_get (), data, g_free);
- }
-
- return surface;
-}
-
-#endif /* _WIN32 */
+++ /dev/null
-/* GStreamer Intel MSDK plugin
- * Copyright (c) 2021, Intel Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the copyright holder nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGDECE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef GST_MSDK_VA_H_
-#define GST_MSDK_VA_H_
-
-#ifndef _WIN32
-
-#include "msdk.h"
-#include <va/va.h>
-#include <va/va_drmcommon.h>
-
-G_BEGIN_DECLS
-
-VASurfaceID gst_msdk_va_peek_buffer_surface (GstBuffer * buffer);
-
-G_END_DECLS
-
-#endif /* _WIN32 */
-#endif /* GST_MSDK_VA_H_ */