cuda: Hide memory copy util function
authorSeungha Yang <seungha@centricular.com>
Wed, 7 Dec 2022 20:58:48 +0000 (05:58 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 8 Dec 2022 19:52:23 +0000 (19:52 +0000)
The method was intended to be used by only cudaupload/download elements
and not ready to be a part of public API

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3545>

subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcuda-private.h [new file with mode: 0644]
subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudautils.c
subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudautils.h
subprojects/gst-plugins-bad/sys/nvcodec/gstcudamemorycopy.c

diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcuda-private.h b/subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcuda-private.h
new file mode 100644 (file)
index 0000000..e8c4eff
--- /dev/null
@@ -0,0 +1,52 @@
+/* GStreamer
+ * Copyright (C) 2022 Seungha Yang <seungha@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#pragma once
+
+#include "cuda-prelude.h"
+#include "cuda-gst.h"
+
+#include <gst/video/video.h>
+
+G_BEGIN_DECLS
+
+typedef enum
+{
+  GST_CUDA_BUFFER_COPY_SYSTEM,
+  GST_CUDA_BUFFER_COPY_CUDA,
+  GST_CUDA_BUFFER_COPY_GL,
+  GST_CUDA_BUFFER_COPY_D3D11,
+  GST_CUDA_BUFFER_COPY_NVMM,
+} GstCudaBufferCopyType;
+
+GST_CUDA_API
+const gchar * gst_cuda_buffer_copy_type_to_string (GstCudaBufferCopyType type);
+
+GST_CUDA_API
+gboolean      gst_cuda_buffer_copy (GstBuffer * dst,
+                                    GstCudaBufferCopyType dst_type,
+                                    const GstVideoInfo * dst_info,
+                                    GstBuffer * src,
+                                    GstCudaBufferCopyType src_type,
+                                    const GstVideoInfo * src_info,
+                                    GstCudaContext * context,
+                                    CUstream stream);
+
+G_END_DECLS
+
index f4d5f5d..647e23e 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "gstcudautils.h"
 #include "gstcudacontext.h"
+#include "gstcuda-private.h"
 
 #ifdef HAVE_NVCODEC_GST_GL
 #include <gst/gl/gl.h>
index 8bccb8f..eb680c4 100644 (file)
@@ -184,63 +184,6 @@ void            gst_cuda_graphics_resource_unmap (GstCudaGraphicsResource * reso
 GST_CUDA_API
 void            gst_cuda_graphics_resource_free (GstCudaGraphicsResource * resource);
 
-/**
- * GstCudaBufferCopyType:
- * @GST_CUDA_BUFFER_COPY_SYSTEM: Copy from/to system memory
- * @GST_CUDA_BUFFER_COPY_CUDA: Copy from/to cuda memory
- * @GST_CUDA_BUFFER_COPY_GL: Copy from/to GL memory
- * @GST_CUDA_BUFFER_COPY_D3D11: Copy from/to D3D11 memory
- * @GST_CUDA_BUFFER_COPY_NVMM: Copy from/to NVMM memory
- *
- * Since: 1.22
- */
-typedef enum
-{
-  GST_CUDA_BUFFER_COPY_SYSTEM,
-  GST_CUDA_BUFFER_COPY_CUDA,
-  GST_CUDA_BUFFER_COPY_GL,
-  GST_CUDA_BUFFER_COPY_D3D11,
-  GST_CUDA_BUFFER_COPY_NVMM,
-} GstCudaBufferCopyType;
-
-/**
- * gst_cuda_buffer_copy_type_to_string:
- * @type: The #GstCudaBufferCopyType to get name from
- *
- * Returns: The human readable name of @type
- *
- * Since: 1.22
- */
-GST_CUDA_API
-const gchar * gst_cuda_buffer_copy_type_to_string (GstCudaBufferCopyType type);
-
-/**
- * gst_cuda_buffer_copy:
- * @dst: The buffer into which to copy @src content
- * @dst_type: The #GstCudaBufferCopyType to copy @src into
- * @dst_info: #GstVideoInfo defining @dst
- * @src: The source buffer to copy
- * @src_type: The #GstCudaBufferCopyType @src is in
- * @src_info: $GstVideoInfo defining @src
- * @context: The #GstCudaContext to use to copy @src into @dst
- * @stream: The @CUStream to use to copy @src into @dst
- *
- * Copies @src into @dst with the specified arguments.
- *
- * Returns: %TRUE if the buffer could be copied %FALSE otherwise
- *
- * Since: 1.22
- */
-GST_CUDA_API
-gboolean      gst_cuda_buffer_copy (GstBuffer * dst,
-                                    GstCudaBufferCopyType dst_type,
-                                    const GstVideoInfo * dst_info,
-                                    GstBuffer * src,
-                                    GstCudaBufferCopyType src_type,
-                                    const GstVideoInfo * src_info,
-                                    GstCudaContext * context,
-                                    CUstream stream);
-
 G_END_DECLS
 
 #endif /* __GST_CUDA_UTILS_H__ */
index 3961ee8..0a70adc 100644 (file)
@@ -42,6 +42,7 @@
 #include "gstcudamemorycopy.h"
 #include "gstcudaformat.h"
 #include <gst/cuda/gstcudautils.h>
+#include <gst/cuda/gstcuda-private.h>
 #ifdef HAVE_NVCODEC_NVMM
 #include "gstcudanvmm.h"
 #endif