mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 10:40:34 +00:00
cuda: Hide memory copy util function
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>
This commit is contained in:
parent
f588932547
commit
e6585c89ea
4 changed files with 54 additions and 57 deletions
|
@ -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
|
||||
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
#include "gstcudautils.h"
|
||||
#include "gstcudacontext.h"
|
||||
#include "gstcuda-private.h"
|
||||
|
||||
#ifdef HAVE_NVCODEC_GST_GL
|
||||
#include <gst/gl/gl.h>
|
||||
|
|
|
@ -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__ */
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue