From e4fdf569bde84c3a6f03acb4e7932b9807d6d4fc Mon Sep 17 00:00:00 2001 From: svcmobrel-release Date: Mon, 15 Aug 2022 08:54:30 -0700 Subject: [PATCH] Updating prebuilts and/or headers 290e58e7e6e6663d811a5222d7781b70fec79272 - gst-nvvidconv/gstnvvconv.c c2b683c77f90fbca8b8c2e0b59efee45db468369 - gst-nvvidconv/nvbufsurface.h 83e21353d1fe20cba4bd630c3b41c1615b8268ed - gst-nvvidconv/nvbuf_utils.h 444b666f460d87e0278892a2d7520d65e68679ec - gst-nvvidconv/Makefile be709a89089ce6b51857e35f0440859188b3ed87 - gst-nvvidconv/gstnvvconv.h 021f7493b289c1de6e76418417e40ffdc2f89710 - gst-nvvidconv/3rdpartyheaders.tbz2 Change-Id: I59c18fd1acd8d9f24a8fcac7517589386c27c556 --- commitFile.txt | 8 + gst-nvvidconv/3rdpartyheaders.tbz2 | Bin 0 -> 603385 bytes gst-nvvidconv/Makefile | 83 + gst-nvvidconv/README.txt | 49 + gst-nvvidconv/gstnvvconv.c | 3389 ++++++++++++++++++++++++++++ gst-nvvidconv/gstnvvconv.h | 237 ++ gst-nvvidconv/nvbuf_utils.h | 897 ++++++++ gst-nvvidconv/nvbufsurface.h | 740 ++++++ push_info.txt | 1 + 9 files changed, 5404 insertions(+) create mode 100644 commitFile.txt create mode 100644 gst-nvvidconv/3rdpartyheaders.tbz2 create mode 100644 gst-nvvidconv/Makefile create mode 100644 gst-nvvidconv/README.txt create mode 100644 gst-nvvidconv/gstnvvconv.c create mode 100644 gst-nvvidconv/gstnvvconv.h create mode 100644 gst-nvvidconv/nvbuf_utils.h create mode 100644 gst-nvvidconv/nvbufsurface.h create mode 100644 push_info.txt diff --git a/commitFile.txt b/commitFile.txt new file mode 100644 index 0000000..cdd6ac1 --- /dev/null +++ b/commitFile.txt @@ -0,0 +1,8 @@ +Updating prebuilts and/or headers + +290e58e7e6e6663d811a5222d7781b70fec79272 - gst-nvvidconv/gstnvvconv.c +c2b683c77f90fbca8b8c2e0b59efee45db468369 - gst-nvvidconv/nvbufsurface.h +83e21353d1fe20cba4bd630c3b41c1615b8268ed - gst-nvvidconv/nvbuf_utils.h +444b666f460d87e0278892a2d7520d65e68679ec - gst-nvvidconv/Makefile +be709a89089ce6b51857e35f0440859188b3ed87 - gst-nvvidconv/gstnvvconv.h +021f7493b289c1de6e76418417e40ffdc2f89710 - gst-nvvidconv/3rdpartyheaders.tbz2 diff --git a/gst-nvvidconv/3rdpartyheaders.tbz2 b/gst-nvvidconv/3rdpartyheaders.tbz2 new file mode 100644 index 0000000000000000000000000000000000000000..70e4575d07206f13e09becdcf9fcc58c89e4e40d GIT binary patch literal 603385 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 z%0D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

=e{+GEyKEplZwClbMAw7<|=FwKkGI6+I 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

);Q-Bg$4b@QjKOWi30KP%Z*Vd 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�=CNJTbLBcDlf&V~GT4eQ5P5=P2? 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�+^6I9{vW1xDyKcKV%Uu{ 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%0Ac%}G#|#mMu~%(k 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

Ylb*9g`vu$xlO|*ZDGq;aoE?F%as3bUC5ne$pE0 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

mZP3Sy9PJ?6;_cqtB+QEfL`cG4k$e)&ZHi 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 make install + + Note: "make install" will copy library "libgstnvvidconv.so" + into "/usr/lib/aarch64-linux-gnu/gstreamer-1.0" directory. diff --git a/gst-nvvidconv/gstnvvconv.c b/gst-nvvidconv/gstnvvconv.c new file mode 100644 index 0000000..6d56c83 --- /dev/null +++ b/gst-nvvidconv/gstnvvconv.c @@ -0,0 +1,3389 @@ +/* + * Copyright (c) 2014-2022, NVIDIA 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 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Relation between width, height, PAR(Pixel Aspect Ratio), DAR(Display Aspect Ration): + * + * dar_n par_d + * width = height * ----- * ----- + * dar_d par_n + * + * dar_d par_n + * height = width * ----- * ----- + * dar_n par_d + * + * par_n height dar_n + * ----- = ------ * ----- + * par_d width dar_d + * + * dar_n width par_n + * ----- = ------ * ----- + * dar_d height par_d + */ + +#include +#include +#include + +#include "gstnvvconv.h" + +#define NVBUF_MAGIC_NUM 0x70807580 + +GST_DEBUG_CATEGORY_STATIC (gst_nvvconv_debug); +#define GST_CAT_DEFAULT gst_nvvconv_debug + +/* Filter signals and args */ +enum +{ + /* FILL ME */ + LAST_SIGNAL +}; + +/* Filter properties */ +enum +{ + PROP_0, + PROP_SILENT, + PROP_FLIP_METHOD, + PROP_NUM_OUT_BUFS, + PROP_INTERPOLATION_METHOD, + PROP_LEFT, + PROP_RIGHT, + PROP_TOP, + PROP_BOTTOM, + PROP_ENABLE_BLOCKLINEAR_OUTPUT, + PROP_GPU_DEVICE_ID, + PROP_COMPUTE_HW, + PROP_NVBUF_MEMORY_TYPE, +}; + +#undef MAX_NUM_PLANES +#include "nvbufsurface.h" + + +#define PROP_FLIP_METHOD_DEFAULT GST_VIDEO_NVFLIP_METHOD_IDENTITY + +#define GST_TYPE_VIDEO_NVFLIP_METHOD (gst_video_nvflip_method_get_type()) + +static const GEnumValue video_nvflip_methods[] = { + {GST_VIDEO_NVFLIP_METHOD_IDENTITY, "Identity (no rotation)", "none"}, + {GST_VIDEO_NVFLIP_METHOD_90L, "Rotate counter-clockwise 90 degrees", + "counterclockwise"}, + {GST_VIDEO_NVFLIP_METHOD_180, "Rotate 180 degrees", "rotate-180"}, + {GST_VIDEO_NVFLIP_METHOD_90R, "Rotate clockwise 90 degrees", "clockwise"}, + {GST_VIDEO_NVFLIP_METHOD_HORIZ, "Flip horizontally", "horizontal-flip"}, + {GST_VIDEO_NVFLIP_METHOD_INVTRANS, + "Flip across upper right/lower left diagonal", "upper-right-diagonal"}, + {GST_VIDEO_NVFLIP_METHOD_VERT, "Flip vertically", "vertical-flip"}, + {GST_VIDEO_NVFLIP_METHOD_TRANS, + "Flip across upper left/lower right diagonal", "upper-left-diagonal"}, + {0, NULL, NULL}, +}; + +static GType +gst_video_nvflip_method_get_type (void) +{ + static GType video_nvflip_method_type = 0; + + if (!video_nvflip_method_type) { + video_nvflip_method_type = g_enum_register_static ("GstNvVideoFlipMethod", + video_nvflip_methods); + } + return video_nvflip_method_type; +} + +#define GST_TYPE_INTERPOLATION_METHOD (gst_video_interpolation_method_get_type()) + +static const GEnumValue video_interpolation_methods[] = { + {GST_INTERPOLATION_NEAREST, "Nearest", "Nearest"}, + {GST_INTERPOLATION_BILINEAR, "Bilinear", "Bilinear"}, + {GST_INTERPOLATION_5_TAP, "5-Tap", "5-Tap"}, + {GST_INTERPOLATION_10_TAP, "10-Tap", "10-Tap"}, + {GST_INTERPOLATION_SMART, "Smart", "Smart"}, + {GST_INTERPOLATION_NICEST, "Nicest", "Nicest"}, + {0, NULL, NULL}, +}; + +static GType +gst_video_interpolation_method_get_type (void) +{ + static GType video_interpolation_method_type = 0; + + if (!video_interpolation_method_type) { + video_interpolation_method_type = g_enum_register_static ("GstInterpolationMethod", + video_interpolation_methods); + } + return video_interpolation_method_type; +} + +#define GST_TYPE_COMPUTE_HW (gst_compute_hw_get_type ()) + +static const GEnumValue compute_hw[] = { + {NvBufSurfTransformCompute_Default, "Default, VIC for Jetson", "Default"}, + {NvBufSurfTransformCompute_GPU, "GPU", "GPU"}, + {NvBufSurfTransformCompute_VIC, "VIC", "VIC"}, + {0, NULL, NULL}, +}; + +static GType +gst_compute_hw_get_type (void) +{ + static GType compute_hw_type = 0; + + if(!compute_hw_type) { + compute_hw_type = g_enum_register_static ("GstNvVidConvComputeHWType", + compute_hw); + } + + return compute_hw_type; +} + +#define GST_TYPE_NVBUF_MEMORY_TYPE (gst_nvbuf_memory_get_type ()) + +static const GEnumValue memory_format[] = { + { NVBUF_MEM_DEFAULT, + "Default memory allocated, specific to particular platform", "nvbuf-mem-default"}, + { NVBUF_MEM_CUDA_PINNED, + "Allocate Pinned/Host cuda memory", "nvbuf-mem-cuda-pinned"}, + { NVBUF_MEM_CUDA_DEVICE, + "Allocate Device cuda memory", "nvbuf-mem-cuda-device"}, + { NVBUF_MEM_SURFACE_ARRAY, + "Allocate Surface Array memory, applicable for Jetson", "nvbuf-mem-surface-array"}, + {0, NULL, NULL} +}; + +static GType +gst_nvbuf_memory_get_type (void) +{ + static GType memory_format_type = 0; + + if (!memory_format_type) { + memory_format_type = g_enum_register_static ("GstNvVidConvBufMemoryType", + memory_format); + } + + return memory_format_type; +} + +/* capabilities of the inputs and outputs */ + +/* Input capabilities. */ +static GstStaticPadTemplate gst_nvvconv_sink_template = + GST_STATIC_PAD_TEMPLATE ("sink", + GST_PAD_SINK, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES + (GST_CAPS_FEATURE_MEMORY_NVMM, + "{ " "I420, I420_10LE, P010_10LE, I420_12LE, UYVY, YUY2, YVYU, NV12, NV16, NV24, GRAY8, BGRx, RGBA, Y42B }") ";" GST_VIDEO_CAPS_MAKE ("{ " + "I420, UYVY, YUY2, YVYU, NV12, NV16, NV24, P010_10LE, GRAY8, BGRx, RGBA, Y42B }"))); + +/* Output capabilities. */ +static GstStaticPadTemplate gst_nvvconv_src_template = + GST_STATIC_PAD_TEMPLATE ("src", + GST_PAD_SRC, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES + (GST_CAPS_FEATURE_MEMORY_NVMM, + "{ " "I420, I420_10LE, P010_10LE, UYVY, YUY2, YVYU, NV12, NV16, NV24, GRAY8, BGRx, RGBA, Y42B }") ";" GST_VIDEO_CAPS_MAKE ("{ " + "I420, UYVY, YUY2, YVYU, NV12, NV16, NV24, GRAY8, BGRx, RGBA, Y42B }"))); + +static GstElementClass *gparent_class = NULL; + +#define gst_nvvconv_parent_class parent_class +G_DEFINE_TYPE (Gstnvvconv, gst_nvvconv, GST_TYPE_BASE_TRANSFORM); + +/* internal methods */ +static void gst_nvvconv_init_params (Gstnvvconv * filter); +static gboolean gst_nvvconv_get_pix_fmt (GstVideoInfo * info, + NvBufSurfaceColorFormat * pix_fmt, gint * isurf_count); +static GstCaps *gst_nvvconv_caps_remove_format_info (GstCaps * caps); +static gboolean gst_nvvconv_do_clearchroma (Gstnvvconv * filter, + NvBufSurface *surface); +static void gst_nvvconv_free_buf (Gstnvvconv * filter); + +/* base transform vmethods */ +static gboolean gst_nvvconv_start (GstBaseTransform * btrans); +static gboolean gst_nvvconv_stop (GstBaseTransform * btrans); +static void gst_nvvconv_finalize (GObject * object); +static GstStateChangeReturn gst_nvvconv_change_state (GstElement * element, + GstStateChange transition); +static GstFlowReturn gst_nvvconv_transform (GstBaseTransform * btrans, + GstBuffer * inbuf, GstBuffer * outbuf); +static gboolean gst_nvvconv_set_caps (GstBaseTransform * btrans, + GstCaps * incaps, GstCaps * outcaps); +static GstCaps *gst_nvvconv_transform_caps (GstBaseTransform * btrans, + GstPadDirection direction, GstCaps * caps, GstCaps * filter); +static gboolean gst_nvvconv_accept_caps (GstBaseTransform * btrans, + GstPadDirection direction, GstCaps * caps); +static gboolean gst_nvvconv_transform_size (GstBaseTransform * btrans, + GstPadDirection direction, GstCaps * caps, gsize size, + GstCaps * othercaps, gsize * othersize); +static gboolean gst_nvvconv_get_unit_size (GstBaseTransform * btrans, + GstCaps * caps, gsize * size); +static GstCaps *gst_nvvconv_fixate_caps (GstBaseTransform * btrans, + GstPadDirection direction, GstCaps * caps, GstCaps * othercaps); +static gboolean gst_nvvconv_decide_allocation (GstBaseTransform * btrans, + GstQuery * query); + +static void gst_nvvconv_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec); +static void gst_nvvconv_get_property (GObject * object, guint prop_id, + GValue * value, GParamSpec * pspec); + +#define GST_NV_FILTER_MEMORY_TYPE "nvfilter" + +/* NvFilter memory allocator Implementation */ + +typedef struct _GstNvFilterMemory GstNvFilterMemory; +typedef struct _GstNvFilterMemoryAllocator GstNvFilterMemoryAllocator; +typedef struct _GstNvFilterMemoryAllocatorClass GstNvFilterMemoryAllocatorClass; + +struct _GstNvFilterMemory +{ + GstMemory mem; + GstNvvConvBuffer *buf; +}; + +struct _GstNvFilterMemoryAllocator +{ + GstAllocator parent; +}; + +struct _GstNvFilterMemoryAllocatorClass +{ + GstAllocatorClass parent_class; +}; + +/** + * implementation that acquire memory. + * + * @param allocator : gst memory allocatot object + * @param size : memory size + * @param params : allovcation params + */ +static GstMemory * +gst_nv_filter_memory_allocator_alloc_dummy (GstAllocator * allocator, + gsize size, GstAllocationParams * params) +{ + g_assert_not_reached (); + return NULL; +} + +/** + * implementation that releases memory. + * + * @param allocator : gst memory allocatot object + * @param mem : gst memory + */ +static void +gst_nv_filter_memory_allocator_free (GstAllocator * allocator, GstMemory * mem) +{ + gint ret = 0; + GstNvFilterMemory *omem = (GstNvFilterMemory *) mem; + GstNvvConvBuffer *nvbuf = omem->buf; + + ret = NvBufSurfaceDestroy (nvbuf->surface); + if (ret != 0) { + GST_ERROR ("%s: NvBufSurfaceDestroy Failed \n", __func__); + goto error; + } + +error: + g_slice_free (GstNvvConvBuffer, nvbuf); + g_slice_free (GstNvFilterMemory, omem); +} + +/** + * memory map function. + * + * @param mem : gst memory + * @param maxsize : memory max size + * @param flags : Flags for wrapped memory + */ +static gpointer +gst_nv_filter_memory_map (GstMemory * mem, gsize maxsize, GstMapFlags flags) +{ + GstNvFilterMemory *omem = (GstNvFilterMemory *) mem; + + if (!omem) { + g_print ("%s: GstNvFilterMemory object ptr is NULL\n", __func__); + return NULL; + } + + return (gpointer)(omem->buf->surface); +} + +/** + * memory unmap function. + * + * @param mem : gst memory + */ +static void +gst_nv_filter_memory_unmap (GstMemory * mem) +{ +} + +/** + * memory share function. + * + * @param mem : gst memory + */ +static GstMemory * +gst_nv_filter_memory_share (GstMemory * mem, gssize offset, gssize size) +{ + g_assert_not_reached (); + return NULL; +} + +GType gst_nv_filter_memory_allocator_get_type (void); +G_DEFINE_TYPE (GstNvFilterMemoryAllocator, gst_nv_filter_memory_allocator, + GST_TYPE_ALLOCATOR); + +#define GST_TYPE_NV_FILTER_MEMORY_ALLOCATOR (gst_nv_filter_memory_allocator_get_type()) +#define GST_IS_NV_FILTER_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_NV_FILTER_MEMORY_ALLOCATOR)) + +/** + * initialize the nvfilter allocator's class. + * + * @param klass : nvfilter memory allocator objectclass + */ +static void +gst_nv_filter_memory_allocator_class_init (GstNvFilterMemoryAllocatorClass * + klass) +{ + GstAllocatorClass *allocator_class; + + allocator_class = GST_ALLOCATOR_CLASS (klass); + + allocator_class->alloc = gst_nv_filter_memory_allocator_alloc_dummy; + allocator_class->free = gst_nv_filter_memory_allocator_free; +} + +/** + * nvfilter allocator init function. + * + * @param allocator : nvfilter allocator object instance + */ +static void +gst_nv_filter_memory_allocator_init (GstNvFilterMemoryAllocator * allocator) +{ + GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator); + + alloc->mem_type = GST_NV_FILTER_MEMORY_TYPE; + alloc->mem_map = gst_nv_filter_memory_map; + alloc->mem_unmap = gst_nv_filter_memory_unmap; + alloc->mem_share = gst_nv_filter_memory_share; + + GST_OBJECT_FLAG_SET (allocator, GST_ALLOCATOR_FLAG_CUSTOM_ALLOC); +} + +/** + * custom memory allocation. + * + * @param allocator : nvfilter bufferpool allocator + * @param flags : Flags for wrapped memory + * @param space : nvvidconv object instance + */ +static GstMemory * +gst_nv_filter_memory_allocator_alloc (GstAllocator * allocator, + GstMemoryFlags flags, Gstnvvconv * space) +{ + gint ret = 0; + GstNvFilterMemory *mem = NULL; + GstNvvConvBuffer *nvbuf = NULL; + + NvBufSurfaceAllocateParams input_params = {0}; + + mem = g_slice_new0 (GstNvFilterMemory); + nvbuf = g_slice_new0 (GstNvvConvBuffer); + + input_params.params.width = space->to_width; + input_params.params.height = space->to_height; + /* + * GPU supports only pitch linear memory for output + */ + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + input_params.params.layout = NVBUF_LAYOUT_PITCH; + } + else { + if (space->enable_blocklinear_output && + (space->out_pix_fmt == NVBUF_COLOR_FORMAT_NV12 || + space->out_pix_fmt == NVBUF_COLOR_FORMAT_NV12_10LE)) + input_params.params.layout = NVBUF_LAYOUT_BLOCK_LINEAR; + else + input_params.params.layout = NVBUF_LAYOUT_PITCH; + } + + input_params.params.colorFormat = space->out_pix_fmt; + /* + * GPU supports CUDA memories as well as surface array + * memory through EGL mapping where as VIC only supports + * surface array memory + */ + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + input_params.params.memType = space->nvbuf_mem_type; + input_params.params.gpuId = space->gpu_id; + } else { + if (space->nvbuf_mem_type == NVBUF_MEM_CUDA_DEVICE || + space->nvbuf_mem_type == NVBUF_MEM_CUDA_PINNED) { + GST_DEBUG ("VIC don't support CUDA memory so taking surface array memory"); + } + input_params.params.memType = NVBUF_MEM_SURFACE_ARRAY; + } + input_params.memtag = NvBufSurfaceTag_VIDEO_CONVERT; + + ret = NvBufSurfaceAllocate(&nvbuf->surface, 1, &input_params); + if (ret != 0) { + GST_ERROR ("%s: NvBufSurfaceAllocate Failed \n", __func__); + goto error; + } + nvbuf->surface->numFilled = 1; + nvbuf->dmabuf_fd = nvbuf->surface->surfaceList[0].bufferDesc; + + flags |= GST_MEMORY_FLAG_NO_SHARE; + + /* Check for init params */ + gst_memory_init (GST_MEMORY_CAST (mem), flags, allocator, NULL, + sizeof(NvBufSurface), 0 /* Alignment */, + 0, sizeof(NvBufSurface)); + mem->buf = nvbuf; + mem->buf->dmabuf_fd = nvbuf->dmabuf_fd; + + return GST_MEMORY_CAST (mem); + +error: + g_slice_free (GstNvvConvBuffer, nvbuf); + g_slice_free (GstNvFilterMemory, mem); + + return NULL; +} + +/* nvfilter Buffer Pool for nvmm buffers */ + +GQuark gst_nv_filter_data_quark = 0; +typedef struct _GstNvFilterBufferPool GstNvFilterBufferPool; +typedef struct _GstNvFilterBufferPoolClass GstNvFilterBufferPoolClass; +#define GST_NV_FILTER_BUFFER_POOL(pool) ((GstNvFilterBufferPool *) pool) + +struct _GstNvFilterBufferPool +{ + GstBufferPool parent; + + GstElement *element; + + GstCaps *caps; + gboolean add_videometa; + GstVideoInfo video_info; + + GstAllocator *allocator; + + guint current_buffer_index; +}; + +struct _GstNvFilterBufferPoolClass +{ + GstBufferPoolClass parent_class; +}; + +GType gst_nv_filter_buffer_pool_get_type (void); + +G_DEFINE_TYPE (GstNvFilterBufferPool, gst_nv_filter_buffer_pool, + GST_TYPE_BUFFER_POOL); + +#define GST_TYPE_NV_FILTER_BUFFER_POOL (gst_nv_filter_buffer_pool_get_type()) + +/** + * object class finallize. + * + * @param object : object + */ +static void +gst_nv_filter_buffer_pool_finalize (GObject * object) +{ + GstNvFilterBufferPool *pool = GST_NV_FILTER_BUFFER_POOL (object); + + if (pool->element) + gst_object_unref (pool->element); + pool->element = NULL; + + if (pool->allocator) + gst_object_unref (pool->allocator); + pool->allocator = NULL; + + if (pool->caps) + gst_caps_unref (pool->caps); + pool->caps = NULL; + + G_OBJECT_CLASS (gst_nv_filter_buffer_pool_parent_class)->finalize (object); +} + +/** + * start the bufferpool. + * + * @param bpool : nvfilter bufferpool object + */ +static gboolean +gst_nv_filter_buffer_pool_start (GstBufferPool * bpool) +{ + GstNvFilterBufferPool *pool = GST_NV_FILTER_BUFFER_POOL (bpool); + + GST_DEBUG_OBJECT (pool, "start"); + + GST_OBJECT_LOCK (pool); + /* Start the pool only if we have component attached to it. */ + if (!pool->element) { + GST_OBJECT_UNLOCK (pool); + return FALSE; + } + GST_OBJECT_UNLOCK (pool); + + return + GST_BUFFER_POOL_CLASS (gst_nv_filter_buffer_pool_parent_class)->start + (bpool); +} + +/** + * stop the bufferpool. + * + * @param bpool : nvfilter bufferpool object + */ +static gboolean +gst_nv_filter_buffer_pool_stop (GstBufferPool * bpool) +{ + GstNvFilterBufferPool *pool = GST_NV_FILTER_BUFFER_POOL (bpool); + + GST_DEBUG_OBJECT (pool, "stop"); + + if (pool->caps) + gst_caps_unref (pool->caps); + + pool->caps = NULL; + pool->add_videometa = FALSE; + + return + GST_BUFFER_POOL_CLASS (gst_nv_filter_buffer_pool_parent_class)->stop + (bpool); +} + + +/** + * get a list of options supported by this pool. + * + * @param bpool : nvfilter bufferpool object + */ +static const gchar ** +gst_nv_filter_buffer_pool_get_options (GstBufferPool * bpool) +{ + static const gchar *video_options[] = + { GST_BUFFER_POOL_OPTION_VIDEO_META, NULL }; + + /* Currently, we are only providing VIDEO_META option by default. */ + + return video_options; +} + +/** + * apply the bufferpool configuration. + * + * @param bpool : nvfilter bufferpool object + * @param config : config parameters + */ +static gboolean +gst_nv_filter_buffer_pool_set_config (GstBufferPool * bpool, + GstStructure * config) +{ + GstNvFilterBufferPool *pool = GST_NV_FILTER_BUFFER_POOL (bpool); + GstCaps *caps; + + GST_DEBUG_OBJECT (pool, "set_config"); + + GST_OBJECT_LOCK (pool); + + if (!gst_buffer_pool_config_get_params (config, &caps, NULL, NULL, NULL)) + goto wrong_config; + + if (caps == NULL) + goto no_caps; + + GstVideoInfo info; + + /* now parse the caps from the config */ + if (!gst_video_info_from_caps (&info, caps)) + goto wrong_video_caps; + + /* enable metadata based on config of the pool */ + pool->add_videometa = + gst_buffer_pool_config_has_option (config, + GST_BUFFER_POOL_OPTION_VIDEO_META); + + pool->video_info = info; + + if (pool->caps) + gst_caps_unref (pool->caps); + pool->caps = gst_caps_ref (caps); + + GST_OBJECT_UNLOCK (pool); + + return + GST_BUFFER_POOL_CLASS (gst_nv_filter_buffer_pool_parent_class)->set_config + (bpool, config); + + /* ERRORS */ +wrong_config: + { + GST_OBJECT_UNLOCK (pool); + GST_WARNING_OBJECT (pool, "invalid config"); + return FALSE; + } +no_caps: + { + GST_OBJECT_UNLOCK (pool); + GST_WARNING_OBJECT (pool, "no caps in config"); + return FALSE; + } +wrong_video_caps: + { + GST_OBJECT_UNLOCK (pool); + GST_WARNING_OBJECT (pool, + "failed getting geometry from caps %" GST_PTR_FORMAT, caps); + return FALSE; + } +} + +/** + * allocate a buffer. + * + * @param bpool : nvfilter bufferpool object + * @param buffer : GstBuffer of pool + * @param params : pool acquire parameters + */ +static GstFlowReturn +gst_nv_filter_buffer_pool_alloc_buffer (GstBufferPool * bpool, + GstBuffer ** buffer, GstBufferPoolAcquireParams * params) +{ + GstNvFilterBufferPool *pool = GST_NV_FILTER_BUFFER_POOL (bpool); + Gstnvvconv *space = GST_NVVCONV (pool->element); + GstBuffer *buf = NULL; + GstMemory *mem = NULL; + + GST_DEBUG_OBJECT (pool, "alloc_buffer"); + + mem = gst_nv_filter_memory_allocator_alloc (pool->allocator, 0, space); + g_return_val_if_fail (mem, GST_FLOW_ERROR); + + buf = gst_buffer_new (); + gst_buffer_append_memory (buf, mem); + + if (pool->add_videometa) { + /* TODO : Add video meta to buffer */ + } + + gst_mini_object_set_qdata (GST_MINI_OBJECT_CAST (mem), + gst_nv_filter_data_quark, buf, NULL); + + *buffer = buf; + + pool->current_buffer_index++; + + return GST_FLOW_OK; +} + + +/** + * free a buffer. + * + * @param bpool : nvfilter bufferpool object + * @param buffer : GstBuffer of pool + */ +static void +gst_nv_filter_buffer_pool_free_buffer (GstBufferPool * bpool, + GstBuffer * buffer) +{ + GstMemory *memory; + GstNvFilterBufferPool *pool = GST_NV_FILTER_BUFFER_POOL (bpool); + + GST_DEBUG_OBJECT (pool, "free_buffer"); + + memory = gst_buffer_peek_memory (buffer, 0); + + gst_mini_object_set_qdata (GST_MINI_OBJECT_CAST (memory), + gst_nv_filter_data_quark, NULL, NULL); + + GST_BUFFER_POOL_CLASS (gst_nv_filter_buffer_pool_parent_class)->free_buffer + (bpool, buffer); +} + +/** + * get a new buffer from the nvfilter bufferpool. + * + * @param bpool : nvfilter bufferpool object + * @param buffer : GstBuffer of pool + * @param params : pool acquire parameters + */ +static GstFlowReturn +gst_nv_filter_buffer_pool_acquire_buffer (GstBufferPool * bpool, + GstBuffer ** buffer, GstBufferPoolAcquireParams * params) +{ + GstFlowReturn ret; + GstNvFilterBufferPool *pool = GST_NV_FILTER_BUFFER_POOL (bpool); + + GST_DEBUG_OBJECT (pool, "acquire_buffer"); + + ret = + GST_BUFFER_POOL_CLASS (gst_nv_filter_buffer_pool_parent_class)-> + acquire_buffer (bpool, buffer, params); + + return ret; +} + +/** + * release a buffer back in the nvfilter bufferpool. + * + * @param bpool : nvfilter bufferpool object + * @param buffer : GstBuffer of pool + */ +static void +gst_nv_filter_buffer_pool_release_buffer (GstBufferPool * bpool, + GstBuffer * buffer) +{ + GstNvFilterBufferPool *pool = GST_NV_FILTER_BUFFER_POOL (bpool); + + GST_DEBUG_OBJECT (pool, "release_buffer"); + + GST_BUFFER_POOL_CLASS (gst_nv_filter_buffer_pool_parent_class)->release_buffer + (bpool, buffer); +} + +/** + * initialize the nvfilter bufferpool's class. + * + * @param klass : nvfilter bufferpool objectclass + */ +static void +gst_nv_filter_buffer_pool_class_init (GstNvFilterBufferPoolClass * klass) +{ + GObjectClass *gobject_class = (GObjectClass *) klass; + GstBufferPoolClass *gstbufferpool_class = (GstBufferPoolClass *) klass; + + gst_nv_filter_data_quark = + g_quark_from_static_string ("GstNvFilterBufferData"); + + gobject_class->finalize = gst_nv_filter_buffer_pool_finalize; + gstbufferpool_class->start = gst_nv_filter_buffer_pool_start; + gstbufferpool_class->stop = gst_nv_filter_buffer_pool_stop; + gstbufferpool_class->get_options = gst_nv_filter_buffer_pool_get_options; + gstbufferpool_class->set_config = gst_nv_filter_buffer_pool_set_config; + gstbufferpool_class->alloc_buffer = gst_nv_filter_buffer_pool_alloc_buffer; + gstbufferpool_class->free_buffer = gst_nv_filter_buffer_pool_free_buffer; + gstbufferpool_class->acquire_buffer = + gst_nv_filter_buffer_pool_acquire_buffer; + gstbufferpool_class->release_buffer = + gst_nv_filter_buffer_pool_release_buffer; +} + +/** + * nvfilter bufferpool init function. + * + * @param pool : nvfilter bufferpool object instance + */ +static void +gst_nv_filter_buffer_pool_init (GstNvFilterBufferPool * pool) +{ + pool->allocator = + g_object_new (gst_nv_filter_memory_allocator_get_type (), NULL); + pool->current_buffer_index = 0; +} + +/** + * Create nvfilter bufferpool object instance. + * + * @param element : GstElement object instance + */ +static GstBufferPool * +gst_nv_filter_buffer_pool_new (GstElement * element) +{ + GstNvFilterBufferPool *pool; + + pool = g_object_new (GST_TYPE_NV_FILTER_BUFFER_POOL, NULL); + pool->element = gst_object_ref (element); + + return GST_BUFFER_POOL (pool); +} + +/** + * copies the given caps. + * + * @param caps : given pad caps + */ +static GstCaps * +gst_nvvconv_caps_remove_format_info (GstCaps * caps) +{ + GstStructure *str; + GstCapsFeatures *features; + gint i, n; + GstCaps *ret; + + ret = gst_caps_new_empty (); + + n = gst_caps_get_size (caps); + for (i = 0; i < n; i++) { + str = gst_caps_get_structure (caps, i); + features = gst_caps_get_features (caps, i); + + /* If this is already expressed by the existing caps + * skip this structure */ + if (i > 0 && gst_caps_is_subset_structure_full (ret, str, features)) + continue; + + str = gst_structure_copy (str); + /* Only remove format info for the cases when we can actually convert */ + { + gst_structure_remove_fields (str, "format", "colorimetry", "chroma-site", + NULL); + + gst_structure_set (str, "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, + "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, NULL); + + /* if pixel aspect ratio, make a range */ + if (gst_structure_has_field (str, "pixel-aspect-ratio")) { + gst_structure_set (str, "pixel-aspect-ratio", + GST_TYPE_FRACTION_RANGE, 1, G_MAXINT, G_MAXINT, 1, NULL); + } + } + gst_caps_append_structure_full (ret, str, + gst_caps_features_copy (features)); + } + + return ret; +} + +/** + * Determine pixel format. + * + * @param info : Information describing frame properties + * @param pix_fmt : pixel format + * @param isurf_count : intermediate surface count + */ +static gboolean +gst_nvvconv_get_pix_fmt (GstVideoInfo * info, + NvBufSurfaceColorFormat * pix_fmt, gint * isurf_count) +{ + gboolean ret = TRUE; + + if (GST_VIDEO_INFO_IS_YUV (info)) { + switch (GST_VIDEO_FORMAT_INFO_FORMAT (info->finfo)) { + case GST_VIDEO_FORMAT_I420: + *pix_fmt = NVBUF_COLOR_FORMAT_YUV420; + break; + case GST_VIDEO_FORMAT_UYVY: + *pix_fmt = NVBUF_COLOR_FORMAT_UYVY; + *isurf_count = 1; + break; + case GST_VIDEO_FORMAT_YUY2: + *pix_fmt = NVBUF_COLOR_FORMAT_YUYV; + *isurf_count = 1; + break; + case GST_VIDEO_FORMAT_Y42B: + *pix_fmt = NVBUF_COLOR_FORMAT_YUV422; + *isurf_count=3; + break; + case GST_VIDEO_FORMAT_YVYU: + *pix_fmt = NVBUF_COLOR_FORMAT_YVYU; + *isurf_count = 1; + break; + case GST_VIDEO_FORMAT_NV12: + *pix_fmt = NVBUF_COLOR_FORMAT_NV12; + *isurf_count = 2; + break; + case GST_VIDEO_FORMAT_NV16: + *pix_fmt = NVBUF_COLOR_FORMAT_NV16; + *isurf_count = 2; + break; + case GST_VIDEO_FORMAT_NV24: + *pix_fmt = NVBUF_COLOR_FORMAT_NV24; + *isurf_count = 2; + break; + case GST_VIDEO_FORMAT_I420_10LE: + case GST_VIDEO_FORMAT_P010_10LE: + *pix_fmt = NVBUF_COLOR_FORMAT_NV12_10LE; + *isurf_count = 2; + break; + case GST_VIDEO_FORMAT_I420_12LE: + *pix_fmt = NVBUF_COLOR_FORMAT_NV12_12LE; + *isurf_count = 2; + break; + default: + ret = FALSE; + break; + } + } else if (GST_VIDEO_INFO_IS_GRAY (info)) { + switch (GST_VIDEO_FORMAT_INFO_BITS (info->finfo)) { + case 8: + *pix_fmt = NVBUF_COLOR_FORMAT_GRAY8; + *isurf_count = 1; + break; + default: + ret = FALSE; + break; + } + } else if (GST_VIDEO_INFO_IS_RGB (info)) { + switch (GST_VIDEO_FORMAT_INFO_FORMAT (info->finfo)) { + case GST_VIDEO_FORMAT_BGRx: + *pix_fmt = NVBUF_COLOR_FORMAT_BGRx; + *isurf_count = 1; + break; + case GST_VIDEO_FORMAT_RGBA: + *pix_fmt = NVBUF_COLOR_FORMAT_RGBA; + *isurf_count = 1; + break; + default: + ret = FALSE; + break; + } + } + + return ret; +} + +/** + * Initialize nvvconv instance structure members. + * + * @param filter : Gstnvvconv object instance + */ +static void +gst_nvvconv_init_params (Gstnvvconv * filter) +{ + filter->silent = FALSE; + filter->to_width = 0; + filter->to_height = 0; + filter->from_width = 0; + filter->from_height = 0; + filter->tsurf_width = 0; + filter->tsurf_height = 0; + + filter->inbuf_type = BUF_NOT_SUPPORTED; + filter->inbuf_memtype = BUF_MEM_SW; + filter->outbuf_memtype = BUF_MEM_SW; + + memset(&filter->src_rect, 0, sizeof(NvBufSurfTransformRect)); + memset(&filter->transform_params, 0, sizeof(NvBufSurfTransformParams)); + filter->in_pix_fmt = NVBUF_COLOR_FORMAT_INVALID; + filter->out_pix_fmt = NVBUF_COLOR_FORMAT_INVALID; + + filter->do_scaling = FALSE; + filter->need_intersurf = FALSE; + filter->isurf_flag = FALSE; + filter->nvfilterpool = FALSE; + + filter->insurf_count = 0; + filter->isurf_count = 0; + filter->tsurf_count = 0; + filter->ibuf_count = 0; + + filter->silent = FALSE; + filter->no_dimension = FALSE; + filter->do_flip = FALSE; + filter->flip_method = GST_VIDEO_NVFLIP_METHOD_IDENTITY; + filter->interpolation_method = GST_INTERPOLATION_NEAREST; + filter->negotiated = FALSE; + filter->num_output_buf = NVFILTER_MAX_BUF; + filter->enable_blocklinear_output = TRUE; + + filter->do_cropping = FALSE; + filter->crop_right = 0; + filter->crop_left = 0; + filter->crop_top = 0; + filter->crop_bottom = 0; + + filter->compute_hw = NvBufSurfTransformCompute_Default; + filter->gpu_id = 0; + filter->nvbuf_mem_type = NVBUF_MEM_DEFAULT; + + filter->sinkcaps = + gst_static_pad_template_get_caps (&gst_nvvconv_sink_template); + filter->srccaps = + gst_static_pad_template_get_caps (&gst_nvvconv_src_template); + + g_mutex_init (&filter->flow_lock); +} + +/** + * clear the chroma + * + * @param filter : Gstnvvconv object instance + * @param dmabuf_fd : process buffer fd + */ +static gboolean +gst_nvvconv_do_clearchroma (Gstnvvconv * filter, NvBufSurface *surface) +{ + gint ret = 0; + guint i, size; + + for (i = 1; i < filter->tsurf_count; i++) { + ret = NvBufSurfaceMap (surface, 0, i, NVBUF_MAP_READ_WRITE); + if (ret != 0) { + g_print ("%s: NvBufSurfaceMap Failed \n", __func__); + return FALSE; + } + + ret = NvBufSurfaceSyncForCpu (surface, 0, i); + if (ret != 0) { + g_print ("%s: NvBufSurfaceSyncForCpu Failed \n", __func__); + return FALSE; + } + + size = surface->surfaceList[0].planeParams.height[i] * surface->surfaceList[0].planeParams.pitch[i]; + memset (surface->surfaceList[0].mappedAddr.addr[i], 0x80, size); + + ret = NvBufSurfaceSyncForDevice (surface, 0, i); + if (ret != 0) { + GST_ERROR ("%s: NvBufSurfaceSyncForDevice Failed \n", __func__); + return FALSE; + } + + ret = NvBufSurfaceUnMap (surface, 0, i); + if (ret != 0) { + g_print ("%s: NvBufSurfaceUnMap Failed \n", __func__); + return FALSE; + } + } + + return TRUE; +} + +/* GObject vmethod implementations */ + +/** + * initialize the nvvconv's class. + * + * @param klass : Gstnvvconv objectclass + */ +static void +gst_nvvconv_class_init (GstnvvconvClass * klass) +{ + GObjectClass *gobject_class; + GstElementClass *gstelement_class; + GstBaseTransformClass *gstbasetransform_class; + + gobject_class = (GObjectClass *) klass; + gstelement_class = (GstElementClass *) klass; + gstbasetransform_class = (GstBaseTransformClass *) klass; + + gparent_class = g_type_class_peek_parent (gstbasetransform_class); + + gobject_class->set_property = gst_nvvconv_set_property; + gobject_class->get_property = gst_nvvconv_get_property; + gobject_class->finalize = gst_nvvconv_finalize; + + gstelement_class->change_state = gst_nvvconv_change_state; + + gstbasetransform_class->set_caps = GST_DEBUG_FUNCPTR (gst_nvvconv_set_caps); + gstbasetransform_class->transform_caps = + GST_DEBUG_FUNCPTR (gst_nvvconv_transform_caps); + gstbasetransform_class->accept_caps = + GST_DEBUG_FUNCPTR (gst_nvvconv_accept_caps); + gstbasetransform_class->transform_size = + GST_DEBUG_FUNCPTR (gst_nvvconv_transform_size); + gstbasetransform_class->get_unit_size = + GST_DEBUG_FUNCPTR (gst_nvvconv_get_unit_size); + gstbasetransform_class->transform = GST_DEBUG_FUNCPTR (gst_nvvconv_transform); + gstbasetransform_class->start = GST_DEBUG_FUNCPTR (gst_nvvconv_start); + gstbasetransform_class->stop = GST_DEBUG_FUNCPTR (gst_nvvconv_stop); + gstbasetransform_class->fixate_caps = + GST_DEBUG_FUNCPTR (gst_nvvconv_fixate_caps); + gstbasetransform_class->decide_allocation = + GST_DEBUG_FUNCPTR (gst_nvvconv_decide_allocation); + + gstbasetransform_class->passthrough_on_same_caps = TRUE; + + g_object_class_install_property (gobject_class, PROP_SILENT, + g_param_spec_boolean ("silent", "Silent", "Produce verbose output ?", + FALSE, G_PARAM_READWRITE)); + + g_object_class_install_property (gobject_class, PROP_FLIP_METHOD, + g_param_spec_enum ("flip-method", "Flip-Method", "video flip methods", + GST_TYPE_VIDEO_NVFLIP_METHOD, PROP_FLIP_METHOD_DEFAULT, + GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_CONSTRUCT | + G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_NUM_OUT_BUFS, + g_param_spec_uint ("output-buffers", "Output-Buffers", + "number of output buffers", + 1, G_MAXUINT, NVFILTER_MAX_BUF, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | + GST_PARAM_MUTABLE_PLAYING)); + + g_object_class_install_property (gobject_class, PROP_INTERPOLATION_METHOD, + g_param_spec_enum ("interpolation-method", "Interpolation-method", "Set interpolation methods", + GST_TYPE_INTERPOLATION_METHOD, GST_INTERPOLATION_NEAREST, + GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_CONSTRUCT | + G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_LEFT, + g_param_spec_int ("left", "left", "Pixels to crop at left", + 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_RIGHT, + g_param_spec_int ("right", "right", "Pixels to crop at right", + 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_TOP, + g_param_spec_int ("top", "top", "Pixels to crop at top", + 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_BOTTOM, + g_param_spec_int ("bottom", "bottom", "Pixels to crop at bottom", + 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_ENABLE_BLOCKLINEAR_OUTPUT, + g_param_spec_boolean ("bl-output", " Enable BlockLinear output", + "Blocklinear output, applicable only for memory:NVMM NV12 format output buffer when compute hw is VIC", + TRUE, G_PARAM_READWRITE)); + + g_object_class_install_property (gobject_class, PROP_COMPUTE_HW, + g_param_spec_enum ("compute-hw", "compute-hw", "Compute Scaling HW", + GST_TYPE_COMPUTE_HW, NvBufSurfTransformCompute_Default, + (GParamFlags)(G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | + GST_PARAM_CONTROLLABLE | G_PARAM_CONSTRUCT))); + + g_object_class_install_property (gobject_class, PROP_GPU_DEVICE_ID, + g_param_spec_uint ("gpu-id", "Set GPU Device ID for operation", + "Set GPU Device ID for operation", 0, G_MAXUINT, 0, + (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | + GST_PARAM_MUTABLE_READY))); + + g_object_class_install_property (gobject_class, PROP_NVBUF_MEMORY_TYPE, + g_param_spec_enum ("nvbuf-memory-type", "Type of NvBufSurface memory allocated", + "Type of NvBufSurface Memory to be allocated for output buffers when compute hw is GPU and memory is NVMM", + GST_TYPE_NVBUF_MEMORY_TYPE, NVBUF_MEM_DEFAULT, + (GParamFlags)(G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | GST_PARAM_MUTABLE_READY))); + + gst_element_class_set_details_simple (gstelement_class, + "NvVidConv Plugin", + "Filter/Converter/Video/Scaler", + "Converts video from one colorspace to another & Resizes", + "amit pandya "); + + gst_element_class_add_pad_template (gstelement_class, + gst_static_pad_template_get (&gst_nvvconv_src_template)); + gst_element_class_add_pad_template (gstelement_class, + gst_static_pad_template_get (&gst_nvvconv_sink_template)); +} + +/** + * initialize nvvconv instance structure. + * + * @param filter : Gstnvvconv object instance + */ +static void +gst_nvvconv_init (Gstnvvconv * filter) +{ + gst_nvvconv_init_params (filter); +} + +static void +get_NvBufferTransform(Gstnvvconv * filter) +{ + switch (filter->flip_method) + { + case GST_VIDEO_NVFLIP_METHOD_IDENTITY: + filter->transform_params.transform_flip = NvBufSurfTransform_None; + break; + case GST_VIDEO_NVFLIP_METHOD_90L: + filter->transform_params.transform_flip = NvBufSurfTransform_Rotate90; + break; + case GST_VIDEO_NVFLIP_METHOD_180: + filter->transform_params.transform_flip = NvBufSurfTransform_Rotate180; + break; + case GST_VIDEO_NVFLIP_METHOD_90R: + filter->transform_params.transform_flip = NvBufSurfTransform_Rotate270; + break; + case GST_VIDEO_NVFLIP_METHOD_HORIZ: + filter->transform_params.transform_flip = NvBufSurfTransform_FlipX; + break; + case GST_VIDEO_NVFLIP_METHOD_VERT: + filter->transform_params.transform_flip = NvBufSurfTransform_FlipY; + break; + case GST_VIDEO_NVFLIP_METHOD_TRANS: + filter->transform_params.transform_flip = NvBufSurfTransform_Transpose; + break; + case GST_VIDEO_NVFLIP_METHOD_INVTRANS: + filter->transform_params.transform_flip = NvBufSurfTransform_InvTranspose; + break; + default: + break; + } +} + +static void +get_NvBufferTransform_filter(Gstnvvconv * filter) +{ + switch(filter->interpolation_method) + { + case GST_INTERPOLATION_NEAREST: + filter->transform_params.transform_filter = NvBufSurfTransformInter_Nearest; + break; + case GST_INTERPOLATION_BILINEAR: + filter->transform_params.transform_filter = NvBufSurfTransformInter_Bilinear; + break; + case GST_INTERPOLATION_5_TAP: + filter->transform_params.transform_filter = NvBufSurfTransformInter_Algo1; + break; + case GST_INTERPOLATION_10_TAP: + filter->transform_params.transform_filter = NvBufSurfTransformInter_Algo2; + break; + case GST_INTERPOLATION_SMART: + filter->transform_params.transform_filter = NvBufSurfTransformInter_Algo3; + break; + case GST_INTERPOLATION_NICEST: + filter->transform_params.transform_filter = NvBufSurfTransformInter_Algo4; + break; + default: + filter->transform_params.transform_filter = NvBufSurfTransformInter_Algo3; + break; + } +} + +/** + * initialize nvvconv instance structure. + * + * @param filter : Gstnvvconv object instance + */ +static void +gst_nvvconv_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec) +{ + Gstnvvconv *filter = GST_NVVCONV (object); + + switch (prop_id) { + case PROP_SILENT: + filter->silent = g_value_get_boolean (value); + break; + case PROP_FLIP_METHOD: + filter->transform_params.transform_flag |= NVBUFSURF_TRANSFORM_FLIP; + filter->do_flip = TRUE; + filter->flip_method = g_value_get_enum (value); + get_NvBufferTransform (filter); + gst_base_transform_reconfigure_src (GST_BASE_TRANSFORM(filter)); + break; + case PROP_NUM_OUT_BUFS: + filter->num_output_buf = g_value_get_uint (value); + break; + case PROP_INTERPOLATION_METHOD: + filter->transform_params.transform_flag |= NVBUFSURF_TRANSFORM_FILTER; + filter->interpolation_method = g_value_get_enum (value); + get_NvBufferTransform_filter (filter); + break; + case PROP_LEFT: + filter->transform_params.transform_flag |= NVBUFSURF_TRANSFORM_CROP_SRC; + filter->do_cropping = TRUE; + filter->crop_left = g_value_get_int (value); + filter->src_rect.left = filter->crop_left; + filter->transform_params.src_rect = &filter->src_rect; + break; + case PROP_RIGHT: + filter->transform_params.transform_flag |= NVBUFSURF_TRANSFORM_CROP_SRC; + filter->do_cropping = TRUE; + filter->crop_right = g_value_get_int (value); + filter->src_rect.width = (filter->crop_right - filter->crop_left); + filter->transform_params.src_rect = &filter->src_rect; + break; + case PROP_TOP: + filter->transform_params.transform_flag |= NVBUFSURF_TRANSFORM_CROP_SRC; + filter->do_cropping = TRUE; + filter->crop_top = g_value_get_int (value); + filter->src_rect.top = filter->crop_top; + filter->transform_params.src_rect = &filter->src_rect; + break; + case PROP_BOTTOM: + filter->transform_params.transform_flag |= NVBUFSURF_TRANSFORM_CROP_SRC; + filter->do_cropping = TRUE; + filter->crop_bottom = g_value_get_int (value); + filter->src_rect.height = (filter->crop_bottom - filter->crop_top); + filter->transform_params.src_rect = &filter->src_rect; + break; + case PROP_ENABLE_BLOCKLINEAR_OUTPUT: + filter->enable_blocklinear_output = g_value_get_boolean (value); + break; + case PROP_COMPUTE_HW: + filter->compute_hw = g_value_get_enum (value); + break; + case PROP_GPU_DEVICE_ID: + filter->gpu_id = g_value_get_uint (value); + break; + case PROP_NVBUF_MEMORY_TYPE: + filter->nvbuf_mem_type = g_value_get_enum (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +/** + * initialize nvvconv instance structure. + * + * @param filter : Gstnvvconv object instance + */ +static void +gst_nvvconv_get_property (GObject * object, guint prop_id, + GValue * value, GParamSpec * pspec) +{ + Gstnvvconv *filter = GST_NVVCONV (object); + + switch (prop_id) { + case PROP_SILENT: + g_value_set_boolean (value, filter->silent); + break; + case PROP_FLIP_METHOD: + g_value_set_enum (value, filter->flip_method); + break; + case PROP_NUM_OUT_BUFS: + g_value_set_uint (value, filter->num_output_buf); + break; + case PROP_INTERPOLATION_METHOD: + g_value_set_enum (value, filter->interpolation_method); + break; + case PROP_LEFT: + g_value_set_int (value, filter->crop_left); + break; + case PROP_RIGHT: + g_value_set_int (value, filter->crop_right); + break; + case PROP_TOP: + g_value_set_int (value, filter->crop_top); + break; + case PROP_BOTTOM: + g_value_set_int (value, filter->crop_bottom); + break; + case PROP_ENABLE_BLOCKLINEAR_OUTPUT: + g_value_set_boolean (value, filter->enable_blocklinear_output); + break; + case PROP_COMPUTE_HW: + g_value_set_enum (value, filter->compute_hw); + break; + case PROP_GPU_DEVICE_ID: + g_value_set_uint (value, filter->gpu_id); + break; + case PROP_NVBUF_MEMORY_TYPE: + g_value_set_enum (value, filter->nvbuf_mem_type); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +/** + * Free all allocated resources(Rmsurface). + * + * @param filter : Gstnvvconv object instance + */ +static void +gst_nvvconv_free_buf (Gstnvvconv * filter) +{ + gint ret; + + if (filter->input_interbuf.isurface) { + ret = NvBufSurfaceDestroy (filter->input_interbuf.isurface); + if (ret != 0) { + GST_ERROR ("%s: intermediate NvBufferDestroy Failed \n", __func__); + } + filter->input_interbuf.isurface = NULL; + filter->ibuf_count--; + } + if (filter->output_interbuf.isurface) { + ret = NvBufSurfaceDestroy (filter->output_interbuf.isurface); + if (ret != 0) { + GST_ERROR ("%s: intermediate NvBufferDestroy Failed \n", __func__); + } + filter->output_interbuf.isurface = NULL; + filter->ibuf_count--; + } + filter->isurf_count = 0; + filter->ibuf_count = 0; +} + +/** + * nvvidconv element state change function. + * + * @param element : Gstnvvconv element instance + * @param transition : state transition + */ +static GstStateChangeReturn +gst_nvvconv_change_state (GstElement * element, GstStateChange transition) +{ + GstStateChangeReturn result = GST_STATE_CHANGE_SUCCESS; + Gstnvvconv *space; + + space = GST_NVVCONV (element); + + switch (transition) { + case GST_STATE_CHANGE_NULL_TO_READY:{ + } + break; + case GST_STATE_CHANGE_READY_TO_PAUSED:{ + } + break; + case GST_STATE_CHANGE_PAUSED_TO_PLAYING:{ + } + break; + case GST_STATE_CHANGE_PLAYING_TO_PAUSED:{ + } + break; + case GST_STATE_CHANGE_PAUSED_TO_READY:{ + } + break; + case GST_STATE_CHANGE_READY_TO_NULL:{ + } + break; + case GST_STATE_CHANGE_NULL_TO_NULL:{ + } + break; + case GST_STATE_CHANGE_READY_TO_READY:{ + } + break; + case GST_STATE_CHANGE_PAUSED_TO_PAUSED:{ + } + break; + case GST_STATE_CHANGE_PLAYING_TO_PLAYING:{ + } + break; + } + + GST_ELEMENT_CLASS (gparent_class)->change_state (element, transition); + + switch (transition) { + case GST_STATE_CHANGE_NULL_TO_READY:{ + } + break; + case GST_STATE_CHANGE_READY_TO_PAUSED:{ + } + break; + case GST_STATE_CHANGE_PAUSED_TO_PLAYING:{ + } + break; + case GST_STATE_CHANGE_PLAYING_TO_PAUSED:{ + } + break; + case GST_STATE_CHANGE_PAUSED_TO_READY:{ + gst_nvvconv_free_buf (space); + } + break; + case GST_STATE_CHANGE_READY_TO_NULL:{ + } + break; + case GST_STATE_CHANGE_NULL_TO_NULL:{ + } + break; + case GST_STATE_CHANGE_READY_TO_READY:{ + } + break; + case GST_STATE_CHANGE_PAUSED_TO_PAUSED:{ + } + break; + case GST_STATE_CHANGE_PLAYING_TO_PLAYING:{ + } + break; + } + + return result; +} + +/** + * nvvidconv element finalize function. + * + * @param object : element object instance + */ +static void +gst_nvvconv_finalize (GObject * object) +{ + Gstnvvconv *filter; + + filter = GST_NVVCONV(object); + + if (filter->sinkcaps) { + gst_caps_unref (filter->sinkcaps); + filter->sinkcaps = NULL; + } + + if (filter->srccaps) { + gst_caps_unref (filter->srccaps); + filter->sinkcaps = NULL; + } + + g_mutex_clear (&filter->flow_lock); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +/* GstBaseTransform vmethod implementations */ + +/** + * notified of the actual caps set. + * + * @param btrans : basetransform object instance + * @param incaps : input capabilities + * @param outcaps : output capabilities + */ +static gboolean +gst_nvvconv_set_caps (GstBaseTransform * btrans, GstCaps * incaps, + GstCaps * outcaps) +{ + gboolean ret = TRUE; + Gstnvvconv *space; + gint from_dar_n, from_dar_d, to_dar_n, to_dar_d; + GstVideoInfo in_info, out_info; + GstBufferPool *newpool, *oldpool; + GstStructure *config; + gint min, surf_count = 0; + GstCapsFeatures *ift = NULL; + GstCapsFeatures *oft = NULL; + + space = GST_NVVCONV (btrans); + + /* input caps */ + if (!gst_video_info_from_caps (&in_info, incaps)) + goto invalid_caps; + + /* output caps */ + if (!gst_video_info_from_caps (&out_info, outcaps)) + goto invalid_caps; + + space->in_info = in_info; + space->out_info = out_info; + + space->from_width = GST_VIDEO_INFO_WIDTH (&in_info); + space->from_height = GST_VIDEO_INFO_HEIGHT (&in_info); + + space->to_width = GST_VIDEO_INFO_WIDTH (&out_info); + space->to_height = GST_VIDEO_INFO_HEIGHT (&out_info); + + if ((space->from_width != space->to_width) + || (space->from_height != space->to_height)) + space->do_scaling = TRUE; + + /* get input pixel format */ + ret = + gst_nvvconv_get_pix_fmt (&in_info, &space->in_pix_fmt, + &surf_count); + if (ret != TRUE) + goto invalid_pix_fmt; + + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + if ((space->in_pix_fmt == NVBUF_COLOR_FORMAT_YUV422) || + (space->in_pix_fmt == NVBUF_COLOR_FORMAT_NV24) || + (space->in_pix_fmt == NVBUF_COLOR_FORMAT_NV16) || + (space->in_pix_fmt == NVBUF_COLOR_FORMAT_UYVY) || + (space->in_pix_fmt == NVBUF_COLOR_FORMAT_YVYU) || + (space->in_pix_fmt == NVBUF_COLOR_FORMAT_YUYV)) { + g_print ("Transform not supported using GPU for provided input format\n"); + goto invalid_pix_fmt; + } + } + + /* get output pixel format */ + ret = + gst_nvvconv_get_pix_fmt (&out_info, &space->out_pix_fmt, + &surf_count); + if (ret != TRUE) + goto invalid_pix_fmt; + + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + if ((space->out_pix_fmt == NVBUF_COLOR_FORMAT_YUV422) || + (space->out_pix_fmt == NVBUF_COLOR_FORMAT_NV24) || + (space->out_pix_fmt == NVBUF_COLOR_FORMAT_NV16) || + (space->out_pix_fmt == NVBUF_COLOR_FORMAT_UYVY) || + (space->out_pix_fmt == NVBUF_COLOR_FORMAT_YVYU) || + (space->out_pix_fmt == NVBUF_COLOR_FORMAT_YUYV)) { + g_print ("Transform not supported using GPU for provided output format\n"); + goto invalid_pix_fmt; + } + } + + ift = gst_caps_get_features (incaps, 0); + if (gst_caps_features_contains (ift, GST_CAPS_FEATURE_MEMORY_NVMM)) + space->inbuf_memtype = BUF_MEM_HW; + + oft = gst_caps_get_features (outcaps, 0); + if (gst_caps_features_contains (oft, GST_CAPS_FEATURE_MEMORY_NVMM)) + space->outbuf_memtype = BUF_MEM_HW; + + if (gst_caps_features_is_equal (ift, oft) && + (space->in_pix_fmt == space->out_pix_fmt) && + (!space->do_scaling) && + (!space->do_cropping) && + (!space->flip_method) && + (space->enable_blocklinear_output)) { + /* We are not processing input buffer. Initializations/allocations in this + function can be skipped */ + gst_base_transform_set_passthrough (btrans, TRUE); + return TRUE; + } + + switch (space->in_pix_fmt) { + case NVBUF_COLOR_FORMAT_YUV420: + case NVBUF_COLOR_FORMAT_YUV422: + space->inbuf_type = BUF_TYPE_YUV; + space->insurf_count = 3; + break; + case NVBUF_COLOR_FORMAT_NV12: + case NVBUF_COLOR_FORMAT_NV16: + case NVBUF_COLOR_FORMAT_NV24: + case NVBUF_COLOR_FORMAT_NV12_10LE: + case NVBUF_COLOR_FORMAT_NV12_12LE: + space->inbuf_type = BUF_TYPE_YUV; + space->insurf_count = 2; + break; + case NVBUF_COLOR_FORMAT_UYVY: + case NVBUF_COLOR_FORMAT_YUYV: + case NVBUF_COLOR_FORMAT_YVYU: + space->inbuf_type = BUF_TYPE_YUV; + space->insurf_count = 1; + break; + case NVBUF_COLOR_FORMAT_BGRx: + case NVBUF_COLOR_FORMAT_RGBA: + space->inbuf_type = BUF_TYPE_RGB; + space->insurf_count = 1; + break; + case NVBUF_COLOR_FORMAT_GRAY8: + space->inbuf_type = BUF_TYPE_GRAY; + space->insurf_count = 1; + break; + default: + goto not_supported_inbuf; + break; + } + + min = space->num_output_buf; + + space->tsurf_width = space->to_width; + space->tsurf_height = space->to_height; + + switch (space->out_pix_fmt) { + case NVBUF_COLOR_FORMAT_YUV420: + case NVBUF_COLOR_FORMAT_YUV422: + space->tsurf_count = 3; + break; + case NVBUF_COLOR_FORMAT_NV12: + case NVBUF_COLOR_FORMAT_NV16: + case NVBUF_COLOR_FORMAT_NV24: + case NVBUF_COLOR_FORMAT_NV12_10LE: + space->tsurf_count = 2; + break; + case NVBUF_COLOR_FORMAT_UYVY: + case NVBUF_COLOR_FORMAT_YUYV: + case NVBUF_COLOR_FORMAT_YVYU: + space->tsurf_count = 1; + break; + case NVBUF_COLOR_FORMAT_BGRx: + case NVBUF_COLOR_FORMAT_RGBA: + case NVBUF_COLOR_FORMAT_GRAY8: + space->tsurf_count = 1; + break; + default: + goto not_supported_outbuf; + break; + } + + if ((space->in_pix_fmt != space->out_pix_fmt) || + (space->do_scaling) || + (space->flip_method) || + (!gst_caps_features_is_equal (ift, oft)) || + (space->do_cropping)) { + space->need_intersurf = TRUE; + space->isurf_flag = TRUE; + } + + if (!gst_util_fraction_multiply (in_info.width, + in_info.height, in_info.par_n, in_info.par_d, &from_dar_n, + &from_dar_d)) { + from_dar_n = from_dar_d = -1; + } + + if (!gst_util_fraction_multiply (out_info.width, + out_info.height, out_info.par_n, out_info.par_d, &to_dar_n, + &to_dar_d)) { + to_dar_n = to_dar_d = -1; + } + + if (to_dar_n != from_dar_n || to_dar_d != from_dar_d) { + GST_WARNING_OBJECT (space, "Cannot keep DAR"); + } + + /* check for outcaps feature */ + ift = gst_caps_features_new (GST_CAPS_FEATURE_MEMORY_NVMM, NULL); + if (gst_caps_features_is_equal (gst_caps_get_features (outcaps, 0), ift)) { + space->nvfilterpool = TRUE; + } + gst_caps_features_free (ift); + + if (space->nvfilterpool) { + g_mutex_lock (&space->flow_lock); + newpool = gst_nv_filter_buffer_pool_new (GST_ELEMENT_CAST (space)); + + config = gst_buffer_pool_get_config (newpool); + gst_buffer_pool_config_set_params (config, outcaps, sizeof (NvBufSurface), min, min); + gst_buffer_pool_config_set_allocator (config, + ((GstNvFilterBufferPool *) newpool)->allocator, NULL); + if (!gst_buffer_pool_set_config (newpool, config)) + goto config_failed; + + oldpool = space->pool; + space->pool = newpool; + + g_mutex_unlock (&space->flow_lock); + + /* unref the old nvfilter bufferpool */ + if (oldpool) { + gst_object_unref (oldpool); + } + } + + gst_base_transform_set_passthrough (btrans, FALSE); + + GST_DEBUG_OBJECT (space, "from=%dx%d (par=%d/%d dar=%d/%d), size %" + G_GSIZE_FORMAT " -> to=%dx%d (par=%d/%d dar=%d/%d), " + "size %" G_GSIZE_FORMAT, + in_info.width, in_info.height, in_info.par_n, in_info.par_d, + from_dar_n, from_dar_d, in_info.size, out_info.width, + out_info.height, out_info.par_n, out_info.par_d, to_dar_n, to_dar_d, + out_info.size); + + space->negotiated = ret; + + return ret; + + /* ERRORS */ +config_failed: + { + GST_ERROR ("failed to set config on bufferpool"); + g_mutex_unlock (&space->flow_lock); + return FALSE; + } +not_supported_inbuf: + { + GST_ERROR ("input buffer type not supported"); + return FALSE; + } +not_supported_outbuf: + { + GST_ERROR ("output buffer type not supported"); + return FALSE; + } +invalid_pix_fmt: + { + GST_ERROR ("could not configure for input/output format"); + space->in_pix_fmt = NVBUF_COLOR_FORMAT_INVALID; + space->out_pix_fmt = NVBUF_COLOR_FORMAT_INVALID; + return FALSE; + } +invalid_caps: + { + GST_ERROR ("invalid caps"); + space->negotiated = FALSE; + return FALSE; + } +} + +/** + * Open external resources. + * + * @param btrans : basetransform object instance + */ +static gboolean +gst_nvvconv_start (GstBaseTransform * btrans) +{ + Gstnvvconv *space; + + space = GST_NVVCONV (btrans); + + space->session_created = 0; + + return TRUE; +} + +/** + * Close external resources. + * + * @param btrans : basetransform object instance + */ +static gboolean +gst_nvvconv_stop (GstBaseTransform * btrans) +{ + Gstnvvconv *space; + + space = GST_NVVCONV (btrans); + if (space->pool) { + gst_object_unref (space->pool); + space->pool = NULL; + } + + if (space->session_created == 1) { + if (space->config_params.cuda_stream) + cudaStreamDestroy(space->config_params.cuda_stream); + space->config_params.cuda_stream = 0; + space->session_created = 0; + } + + return TRUE; +} + +/** + * calculate the size in bytes of a buffer on the other pad + * with the given other caps, output size only depends on the caps, + * not on the input caps. + * + * @param btrans : basetransform object instance + * @param direction : pad direction + * @param caps : input caps + * @param size : input buffer size + * @param othercaps : other caps + * @param othersize : otherpad buffer size + */ +static gboolean +gst_nvvconv_transform_size (GstBaseTransform * btrans, + GstPadDirection direction, GstCaps * caps, gsize size, + GstCaps * othercaps, gsize * othersize) +{ + gboolean ret = TRUE; + GstVideoInfo vinfo; + + /* size of input buffer cannot be zero */ + g_assert (size); + + ret = gst_video_info_from_caps (&vinfo, othercaps); + if (ret) { + *othersize = vinfo.size; + } + + GST_DEBUG_OBJECT (btrans, "Othersize %" G_GSIZE_FORMAT " bytes" + "for othercaps %" GST_PTR_FORMAT, *othersize, othercaps); + + return ret; +} + +/** + * Get the size in bytes of one unit for the given caps. + * + * @param btrans : basetransform object instance + * @param caps : given caps + * @param size : size of one unit + */ +static gboolean +gst_nvvconv_get_unit_size (GstBaseTransform * btrans, GstCaps * caps, + gsize * size) +{ + gboolean ret = TRUE; + GstVideoInfo vinfo; + + if (!gst_video_info_from_caps (&vinfo, caps)) { + GST_WARNING_OBJECT (btrans, "Parsing failed for caps %" GST_PTR_FORMAT, caps); + return FALSE; + } + + *size = vinfo.size; + + GST_DEBUG_OBJECT (btrans, "size %" G_GSIZE_FORMAT " bytes" + "for caps %" GST_PTR_FORMAT, *size, caps); + + return ret; +} + +/** + * Given the pad in direction and the given caps, + * fixate the caps on the other pad. + * + * @param btrans : basetransform object instance + * @param direction : pad direction + * @param caps : given caps + * @param othercaps : other caps + */ +static GstCaps * +gst_nvvconv_fixate_caps (GstBaseTransform * btrans, + GstPadDirection direction, GstCaps * caps, GstCaps * othercaps) +{ + Gstnvvconv *space; + gint tt_width = 0, tt_height = 0; + GstStructure *in_struct, *out_struct; + const GValue *from_pix_ar, *to_pix_ar; + const gchar *from_fmt = NULL, *to_fmt = NULL; + const gchar *from_interlace_mode = NULL; + const gchar *to_interlace_mode = NULL; + GValue from_par = { 0, }, to_par = { + 0,}; + gint n, i, index = 0; + GstCapsFeatures *features = NULL; + gboolean have_nvfeature = FALSE; + + space = GST_NVVCONV (btrans); + GstCapsFeatures *ift = NULL; + ift = gst_caps_features_new (GST_CAPS_FEATURE_MEMORY_NVMM, NULL); + + n = gst_caps_get_size (othercaps); + for (i = 0; i < n; i++) { + features = gst_caps_get_features (othercaps, i); + if (gst_caps_features_is_equal (features, ift)) { + index = i; + have_nvfeature = TRUE; + } + } + gst_caps_features_free (ift); + + if (have_nvfeature) { + while (index > 0) { + gst_caps_remove_structure (othercaps, 0); + index--; + } + } + + othercaps = gst_caps_truncate (othercaps); + othercaps = gst_caps_make_writable (othercaps); + + GST_DEBUG_OBJECT (space, "trying to fixate othercaps %" GST_PTR_FORMAT + " based on caps %" GST_PTR_FORMAT, othercaps, caps); + + in_struct = gst_caps_get_structure (caps, 0); + out_struct = gst_caps_get_structure (othercaps, 0); + + from_pix_ar = gst_structure_get_value (in_struct, "pixel-aspect-ratio"); + to_pix_ar = gst_structure_get_value (out_struct, "pixel-aspect-ratio"); + + from_fmt = gst_structure_get_string (in_struct, "format"); + to_fmt = gst_structure_get_string (out_struct, "format"); + + if (!to_fmt) { + /* Output format not fixed */ + if (!gst_structure_fixate_field_string (out_struct, "format", from_fmt)) { + GST_ERROR_OBJECT (space, "Failed to fixate output format"); + goto finish; + } + } + + if (gst_structure_has_field (out_struct, "interlace-mode")) { + /* interlace-mode present */ + to_interlace_mode = gst_structure_get_string (out_struct, "interlace-mode"); + if (!to_interlace_mode) { + /* interlace-mode not fixed */ + from_interlace_mode = gst_structure_get_string (in_struct, "interlace-mode"); + if (from_interlace_mode) + gst_structure_fixate_field_string (out_struct, "interlace-mode", from_interlace_mode); + else + gst_structure_fixate_field_string (out_struct, "interlace-mode", "progessive"); + } + } + + /* If fixating from the sinkpad always set the PAR and + * assume that missing PAR on the sinkpad means 1/1 and + * missing PAR on the srcpad means undefined + */ + if (direction == GST_PAD_SINK) { + if (!from_pix_ar) { + g_value_init (&from_par, GST_TYPE_FRACTION); + gst_value_set_fraction (&from_par, 1, 1); + from_pix_ar = &from_par; + } + if (!to_pix_ar) { + g_value_init (&to_par, GST_TYPE_FRACTION_RANGE); + gst_value_set_fraction_range_full (&to_par, 1, G_MAXINT, G_MAXINT, 1); + to_pix_ar = &to_par; + } + } else { + if (!to_pix_ar) { + g_value_init (&to_par, GST_TYPE_FRACTION); + gst_value_set_fraction (&to_par, 1, 1); + to_pix_ar = &to_par; + + gst_structure_set (out_struct, "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, + 1, NULL); + } + if (!from_pix_ar) { + g_value_init (&from_par, GST_TYPE_FRACTION); + gst_value_set_fraction (&from_par, 1, 1); + from_pix_ar = &from_par; + } + } + + /* have both PAR but they might not be fixated */ + { + gint f_width, f_height, f_par_n, f_par_d, t_par_n, t_par_d; + gint t_width = 0, t_height = 0; + gint f_dar_n, f_dar_d; + gint numerator, denominator; + + /* from_pix_ar should be fixed */ + g_return_val_if_fail (gst_value_is_fixed (from_pix_ar), othercaps); + + f_par_n = gst_value_get_fraction_numerator (from_pix_ar); + f_par_d = gst_value_get_fraction_denominator (from_pix_ar); + + gst_structure_get_int (in_struct, "width", &f_width); + gst_structure_get_int (in_struct, "height", &f_height); + + gst_structure_get_int (out_struct, "width", &t_width); + gst_structure_get_int (out_struct, "height", &t_height); + + /* if both width and height are already fixed, can't do anything + * about it anymore */ + if (t_width && t_height) { + guint num, den; + + GST_DEBUG_OBJECT (space, "dimensions already set to %dx%d, not fixating", + t_width, t_height); + if (!gst_value_is_fixed (to_pix_ar)) { + if (gst_video_calculate_display_ratio (&num, &den, f_width, f_height, + f_par_n, f_par_d, t_width, t_height)) { + GST_DEBUG_OBJECT (space, "fixating to_pix_ar to %dx%d", num, den); + if (gst_structure_has_field (out_struct, "pixel-aspect-ratio")) { + gst_structure_fixate_field_nearest_fraction (out_struct, + "pixel-aspect-ratio", num, den); + } else if (num != den) { + gst_structure_set (out_struct, "pixel-aspect-ratio", + GST_TYPE_FRACTION, num, den, NULL); + } + } + } + goto finish; + } + + /* Calc input DAR */ + if (!gst_util_fraction_multiply (f_width, f_height, f_par_n, f_par_d, + &f_dar_n, &f_dar_d)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + goto finish; + } + + GST_DEBUG_OBJECT (space, "Input DAR: %d / %d", f_dar_n, f_dar_d); + + /* If either w or h are fixed either except choose a height or + * width and PAR that matches the DAR as near as possible + */ + if (t_width) { + /* width is already fixed */ + gint set_par_n; + gint set_par_d; + + gint s_height = 0; + GstStructure *tmp_struct = NULL; + + /* Choose the height nearest to + * height with same DAR, as PAR is fixed */ + if (gst_value_is_fixed (to_pix_ar)) { + /* get PAR denominator */ + t_par_d = gst_value_get_fraction_denominator (to_pix_ar); + /* get PAR numerator */ + t_par_n = gst_value_get_fraction_numerator (to_pix_ar); + + if (!gst_util_fraction_multiply (f_dar_n, f_dar_d, + t_par_d, t_par_n, + &numerator, &denominator)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + goto finish; + } + + /* calc height */ + t_height = (guint) gst_util_uint64_scale_int (t_width, + denominator, numerator); + /* set height */ + gst_structure_fixate_field_nearest_int (out_struct, "height", t_height); + + goto finish; + } + + /* The PAR is not fixed set arbitrary PAR. */ + + /* can keep the input height check */ + tmp_struct = gst_structure_copy (out_struct); + gst_structure_fixate_field_nearest_int (tmp_struct, "height", f_height); + gst_structure_get_int (tmp_struct, "height", &s_height); + + /* May failed but try to keep the DAR however by + * adjusting the PAR */ + if (!gst_util_fraction_multiply (f_dar_n, f_dar_d, s_height, t_width, + &t_par_n, &t_par_d)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + gst_structure_free (tmp_struct); + goto finish; + } + + if (!gst_structure_has_field (tmp_struct, "pixel-aspect-ratio")) { + gst_structure_set_value (tmp_struct, "pixel-aspect-ratio", to_pix_ar); + } + + /* set fixate PAR */ + if (gst_structure_fixate_field_nearest_fraction (tmp_struct, + "pixel-aspect-ratio", + t_par_n, t_par_d)) { + /* get PAR */ + if (gst_structure_get_field_type (tmp_struct, "pixel-aspect-ratio") != + G_TYPE_INVALID) { + if(!gst_structure_get_fraction (tmp_struct, + "pixel-aspect-ratio", + &set_par_n, &set_par_d)) + GST_ERROR_OBJECT (space, "PAR values set failed"); + } + /* values set correctly */ + if (tmp_struct) { + gst_structure_free (tmp_struct); + tmp_struct = NULL; + } + } + + if (set_par_n == t_par_n) { + if (set_par_d == t_par_d) { + /* Check for PAR field */ + if (gst_structure_has_field (out_struct, "pixel-aspect-ratio") || + !(set_par_n == set_par_d)) { + /* set height & PAR */ + gst_structure_set (out_struct, + "height", G_TYPE_INT, s_height, + "pixel-aspect-ratio", GST_TYPE_FRACTION, + set_par_n, set_par_d, + NULL); + } + goto finish; + } + } + + if (!gst_util_fraction_multiply (f_dar_n, f_dar_d, + set_par_d, set_par_n, + &numerator, &denominator)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + goto finish; + } + + /* Calc height */ + t_height = (guint) gst_util_uint64_scale_int (t_width, + denominator, numerator); + /* Set height */ + gst_structure_fixate_field_nearest_int (out_struct, "height", t_height); + + /* If struct has field PAR then set PAR */ + if (gst_structure_has_field (out_struct, "pixel-aspect-ratio") || + !(set_par_n == set_par_d)) { + /* set PAR */ + gst_structure_set (out_struct, "pixel-aspect-ratio", GST_TYPE_FRACTION, + set_par_n, set_par_d, + NULL); + } + goto finish; + } else if (t_height) { + /* height is already fixed */ + gint set_par_n; + gint set_par_d; + + gint s_width = 0; + GstStructure *tmp_struct = NULL; + + /* Choose the width nearest to the + * width with same DAR, as PAR is fixed */ + if (gst_value_is_fixed (to_pix_ar)) { + /* get PAR denominator */ + t_par_d = gst_value_get_fraction_denominator (to_pix_ar); + /* get PAR numerator */ + t_par_n = gst_value_get_fraction_numerator (to_pix_ar); + + if (!gst_util_fraction_multiply (f_dar_n, f_dar_d, t_par_d, + t_par_n, &numerator, &denominator)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + goto finish; + } + + /* calc width */ + t_width = + (guint) gst_util_uint64_scale_int (t_height, numerator, + denominator); + /* set width */ + gst_structure_fixate_field_nearest_int (out_struct, "width", t_width); + + goto finish; + } + + /* PAR is not fixed set arbitrary PAR */ + + tmp_struct = gst_structure_copy (out_struct); + gst_structure_fixate_field_nearest_int (tmp_struct, "width", f_width); + gst_structure_get_int (tmp_struct, "width", &s_width); + + /* May failed but try to keep the DAR however by + * adjusting the PAR */ + if (!gst_util_fraction_multiply (f_dar_n, f_dar_d, t_height, s_width, + &t_par_n, &t_par_d)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + gst_structure_free (tmp_struct); + goto finish; + } + + if (!gst_structure_has_field (tmp_struct, "pixel-aspect-ratio")) { + gst_structure_set_value (tmp_struct, "pixel-aspect-ratio", to_pix_ar); + } + + /* set fixate PAR */ + if (gst_structure_fixate_field_nearest_fraction (tmp_struct, + "pixel-aspect-ratio", + t_par_n, t_par_d)) { + if (gst_structure_get_field_type (tmp_struct, "pixel-aspect-ratio") != + G_TYPE_INVALID) { + /* get PAR */ + if (!gst_structure_get_fraction (tmp_struct, + "pixel-aspect-ratio", + &set_par_n, &set_par_d)) + GST_ERROR_OBJECT (space, "PAR values set failed"); + } + /* values set correctly */ + if (tmp_struct) { + gst_structure_free (tmp_struct); + tmp_struct = NULL; + } + } + + if (set_par_n == t_par_n) { + if (set_par_d == t_par_d) { + /* check for PAR field */ + if (gst_structure_has_field (out_struct, "pixel-aspect-ratio") || + !(set_par_n == set_par_d)) { + /* set width & PAR */ + gst_structure_set (out_struct, + "width", G_TYPE_INT, s_width, + "pixel-aspect-ratio", GST_TYPE_FRACTION, + set_par_n, set_par_d, + NULL); + } + goto finish; + } + } + + if (!gst_util_fraction_multiply (f_dar_n, f_dar_d, + set_par_d, set_par_n, + &numerator, &denominator)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + goto finish; + } + + /* Calc width */ + t_width = (guint) gst_util_uint64_scale_int (t_height, + numerator, denominator); + + /* Set width */ + gst_structure_fixate_field_nearest_int (out_struct, "width", t_width); + + /* If struct has field PAR then set PAR */ + if (gst_structure_has_field (out_struct, "pixel-aspect-ratio") || + !(set_par_n == set_par_d)) { + /* set PAR*/ + gst_structure_set (out_struct, "pixel-aspect-ratio", GST_TYPE_FRACTION, + set_par_n, set_par_d, + NULL); + } + + goto finish; + } else if (gst_value_is_fixed (to_pix_ar)) { + + gint s_height = 0; + gint s_width = 0; + gint from_hight = 0; + gint from_width = 0; + GstStructure *tmp_struct = NULL; + + /* Get PAR denominator */ + t_par_d = gst_value_get_fraction_denominator (to_pix_ar); + /* Get PAR numerator */ + t_par_n = gst_value_get_fraction_numerator (to_pix_ar); + + /* find scale factor for change in PAR */ + if (!gst_util_fraction_multiply (f_dar_n, f_dar_d, + t_par_n, t_par_d, + &numerator, &denominator)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + goto finish; + } + + tmp_struct = gst_structure_copy (out_struct); + + gst_structure_fixate_field_nearest_int (tmp_struct, "height", f_height); + gst_structure_get_int (tmp_struct, "height", &s_height); + + /* This may failed but however scale the width to keep DAR */ + t_width = + (guint) gst_util_uint64_scale_int (s_height, numerator, denominator); + gst_structure_fixate_field_nearest_int (tmp_struct, "width", t_width); + gst_structure_get_int (tmp_struct, "width", &s_width); + gst_structure_free (tmp_struct); + + /* kept DAR and the height is nearest to the original height */ + if (s_width == t_width) { + gst_structure_set (out_struct, "width", G_TYPE_INT, s_width, "height", + G_TYPE_INT, s_height, NULL); + goto finish; + } + + from_hight = s_height; + from_width = s_width; + + /* If former failed, try to keep the input width at least */ + tmp_struct = gst_structure_copy (out_struct); + gst_structure_fixate_field_nearest_int (tmp_struct, "width", f_width); + gst_structure_get_int (tmp_struct, "width", &s_width); + + /* This may failed but however try to scale the width to keep DAR */ + t_height = + (guint) gst_util_uint64_scale_int (s_width, denominator, numerator); + gst_structure_fixate_field_nearest_int (tmp_struct, "height", t_height); + gst_structure_get_int (tmp_struct, "height", &s_height); + gst_structure_free (tmp_struct); + + /* We kept the DAR and the width is nearest to the original width */ + if (s_height == t_height) { + gst_structure_set (out_struct, "width", G_TYPE_INT, s_width, "height", + G_TYPE_INT, s_height, NULL); + goto finish; + } + + /* If all failed, keep the height that nearest to the orignal + * height and the nearest possible width. + */ + gst_structure_set (out_struct, "width", G_TYPE_INT, from_width, "height", + G_TYPE_INT, from_hight, NULL); + goto finish; + } else { + gint tmp_struct2; + gint set_par_n; + gint set_par_d; + gint s_height = 0; + gint s_width = 0; + GstStructure *tmp_struct = NULL; + + /* width, height and PAR are not fixed though passthrough impossible */ + + /* keep height and width as fine as possible & scale PAR */ + tmp_struct = gst_structure_copy (out_struct); + + if (gst_structure_fixate_field_nearest_int (tmp_struct, "height", f_height)) + gst_structure_get_int (tmp_struct, "height", &s_height); + + if (gst_structure_fixate_field_nearest_int (tmp_struct, "width", f_width)) + gst_structure_get_int (tmp_struct, "width", &s_width); + + if (!gst_util_fraction_multiply (f_dar_n, f_dar_d, + s_height, s_width, + &t_par_n, &t_par_d)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + goto finish; + } + + if (!gst_structure_has_field (tmp_struct, "pixel-aspect-ratio")) { + gst_structure_set_value (tmp_struct, "pixel-aspect-ratio", to_pix_ar); + } + + if (gst_structure_fixate_field_nearest_fraction (tmp_struct, "pixel-aspect-ratio", + t_par_n, t_par_d)) { + gst_structure_get_fraction (tmp_struct, "pixel-aspect-ratio", + &set_par_n, &set_par_d); + } + gst_structure_free (tmp_struct); + + if (set_par_n == t_par_n) { + if (set_par_d == t_par_d) { + gst_structure_set (out_struct, + "width", G_TYPE_INT, s_width, + "height", G_TYPE_INT, s_height, + NULL); + + if (gst_structure_has_field (out_struct, "pixel-aspect-ratio") || + !(set_par_n == set_par_d)) + gst_structure_set (out_struct, "pixel-aspect-ratio", GST_TYPE_FRACTION, + set_par_n, set_par_d, + NULL); + space->no_dimension = TRUE; + goto finish; + } + } + + /* Or scale width to keep the DAR with the set + * PAR and height */ + if (!gst_util_fraction_multiply (f_dar_n, f_dar_d, + set_par_d, set_par_n, + &numerator, &denominator)) { + GST_ERROR_OBJECT (space, "calculation of the output" + "scaled size error"); + goto finish; + } + + t_width = + (guint) gst_util_uint64_scale_int (s_height, numerator, denominator); + tmp_struct = gst_structure_copy (out_struct); + + if (gst_structure_fixate_field_nearest_int (tmp_struct, "width", t_width)) { + gst_structure_get_int (tmp_struct, "width", &tmp_struct2); + } + gst_structure_free (tmp_struct); + + if (tmp_struct2 == t_width) { + gst_structure_set (out_struct, + "width", G_TYPE_INT, tmp_struct2, + "height", G_TYPE_INT, s_height, + NULL); + if (gst_structure_has_field (out_struct, "pixel-aspect-ratio") + || (set_par_n != set_par_d)) + gst_structure_set (out_struct, "pixel-aspect-ratio", + GST_TYPE_FRACTION, set_par_n, set_par_d, + NULL); + space->no_dimension = TRUE; + goto finish; + } + + t_height = + (guint) gst_util_uint64_scale_int (s_width, denominator, numerator); + tmp_struct = gst_structure_copy (out_struct); + + if (gst_structure_fixate_field_nearest_int (tmp_struct, "height", t_height)) { + gst_structure_get_int (tmp_struct, "height", &tmp_struct2); + } + gst_structure_free (tmp_struct); + + if (tmp_struct2 == t_height) { + gst_structure_set (out_struct, + "width", G_TYPE_INT, s_width, + "height", G_TYPE_INT, tmp_struct2, + NULL); + if (gst_structure_has_field (out_struct, "pixel-aspect-ratio") || + set_par_n != set_par_d) + gst_structure_set (out_struct, "pixel-aspect-ratio", + GST_TYPE_FRACTION, set_par_n, set_par_d, + NULL); + space->no_dimension = TRUE; + goto finish; + } + + /* If all failed can't keep DAR & take nearest values for all */ + gst_structure_set (out_struct, + "width", G_TYPE_INT, s_width, + "height", G_TYPE_INT, s_height, + NULL); + if (gst_structure_has_field (out_struct, "pixel-aspect-ratio") || + (set_par_n != set_par_d)) + gst_structure_set (out_struct, "pixel-aspect-ratio", GST_TYPE_FRACTION, + set_par_n, set_par_d, + NULL); + space->no_dimension = TRUE; + } + } + +finish: + if (space->no_dimension && space->do_flip) { + switch (space->flip_method) { + case GST_VIDEO_NVFLIP_METHOD_90R: + case GST_VIDEO_NVFLIP_METHOD_90L: + case GST_VIDEO_NVFLIP_METHOD_INVTRANS: + case GST_VIDEO_NVFLIP_METHOD_TRANS: + if (gst_structure_get_int (out_struct, "width", &tt_width) && + gst_structure_get_int (out_struct, "height", &tt_height)) { + gst_structure_set (out_struct, "width", G_TYPE_INT, tt_height, + "height", G_TYPE_INT, tt_width, NULL); + } + break; + case GST_VIDEO_NVFLIP_METHOD_IDENTITY: + case GST_VIDEO_NVFLIP_METHOD_180: + case GST_VIDEO_NVFLIP_METHOD_HORIZ: + case GST_VIDEO_NVFLIP_METHOD_VERT: + break; + default: + g_assert_not_reached (); + break; + } + } + + GST_DEBUG_OBJECT (space, "fixated othercaps to %" GST_PTR_FORMAT, othercaps); + + if (from_pix_ar == &from_par) + g_value_unset (&from_par); + if (to_pix_ar == &to_par) + g_value_unset (&to_par); + + return othercaps; +} + +/** + * Given the pad in direction and the given caps, + * provide allowed caps on the other pad. + * + * @param btrans : basetransform object instance + * @param direction : pad direction + * @param caps : given caps + * @param filter : other caps + */ +static GstCaps * +gst_nvvconv_transform_caps (GstBaseTransform * btrans, + GstPadDirection direction, GstCaps * caps, GstCaps * filter) +{ + GstCaps *ret = NULL; + GstCaps *tmp1, *tmp2; + GstCapsFeatures *features = NULL; + + GST_DEBUG_OBJECT (btrans, + "Transforming caps %" GST_PTR_FORMAT " in direction %s", caps, + (direction == GST_PAD_SINK) ? "sink" : "src"); + + /* Get all possible caps that we can transform into */ + tmp1 = gst_nvvconv_caps_remove_format_info (caps); + + if (filter) { + if (direction == GST_PAD_SRC) { + GstCapsFeatures *ift = NULL; + ift = gst_caps_features_new (GST_CAPS_FEATURE_MEMORY_NVMM, NULL); + features = gst_caps_get_features (filter, 0); + if (!gst_caps_features_is_equal (features, ift)) { + gint n, i; + GstCapsFeatures *tft; + n = gst_caps_get_size (tmp1); + for (i = 0; i < n; i++) { + tft = gst_caps_get_features (tmp1, i); + if (gst_caps_features_get_size (tft)) + gst_caps_features_remove (tft, GST_CAPS_FEATURE_MEMORY_NVMM); + } + } + gst_caps_features_free (ift); + } + + tmp2 = gst_caps_intersect_full (filter, tmp1, GST_CAPS_INTERSECT_FIRST); + gst_caps_unref (tmp1); + tmp1 = tmp2; + } + + if (gst_caps_is_empty(tmp1)) + ret = gst_caps_copy(filter); + else + ret = tmp1; + + if (!filter) { + GstStructure *str; + str = gst_structure_copy (gst_caps_get_structure (ret, 0)); + + GstCapsFeatures *ift; + ift = gst_caps_features_new (GST_CAPS_FEATURE_MEMORY_NVMM, NULL); + + gst_caps_append_structure_full (ret, str, ift); + + str = gst_structure_copy (gst_caps_get_structure (ret, 0)); + gst_caps_append_structure_full (ret, str, NULL); + } + + GST_DEBUG_OBJECT (btrans, "transformed %" GST_PTR_FORMAT " into %" + GST_PTR_FORMAT, caps, ret); + + return ret; +} + +/** + * check if caps can be handled by the element. + * + * @param btrans : basetransform object instance + * @param direction : pad direction + * @param caps : given caps + */ +static gboolean +gst_nvvconv_accept_caps (GstBaseTransform * btrans, + GstPadDirection direction, GstCaps * caps) +{ + gboolean ret = TRUE; + Gstnvvconv *space = NULL; + GstCaps *allowed = NULL; + + space = GST_NVVCONV (btrans); + + GST_DEBUG_OBJECT (btrans, "accept caps %" GST_PTR_FORMAT, caps); + + /* get all the formats we can handle on this pad */ + if (direction == GST_PAD_SINK) + allowed = space->sinkcaps; + else + allowed = space->srccaps; + + if (!allowed) { + GST_DEBUG_OBJECT (btrans, "failed to get allowed caps"); + goto no_transform_possible; + } + + GST_DEBUG_OBJECT (btrans, "allowed caps %" GST_PTR_FORMAT, allowed); + + /* intersect with the requested format */ + ret = gst_caps_is_subset (caps, allowed); + if (!ret) { + goto no_transform_possible; + } + +done: + return ret; + + /* ERRORS */ +no_transform_possible: + { + GST_DEBUG_OBJECT (btrans, + "could not transform %" GST_PTR_FORMAT " in anything we support", caps); + ret = FALSE; + goto done; + } +} + +/** + * Setup the allocation parameters for allocating output buffers. + * + * @param btrans : basetransform object instance + * @param query : downstream allocation query + */ +static gboolean +gst_nvvconv_decide_allocation (GstBaseTransform * btrans, GstQuery * query) +{ + guint j, metas_no; + Gstnvvconv *space = NULL; + GstCaps *outcaps = NULL; + GstCaps *myoutcaps = NULL; + GstBufferPool *pool = NULL; + guint size, minimum, maximum; + GstAllocator *allocator = NULL; + GstAllocationParams params = { 0, 0, 0, 0 }; + GstStructure *config = NULL; + GstVideoInfo info; + gboolean modify_allocator; + + space = GST_NVVCONV (btrans); + + metas_no = gst_query_get_n_allocation_metas (query); + for (j = 0; j < metas_no; j++) { + gboolean remove_meta; + GType meta_api; + const GstStructure *param_str = NULL; + + meta_api = gst_query_parse_nth_allocation_meta (query, j, ¶m_str); + + if (gst_meta_api_type_has_tag (meta_api, GST_META_TAG_MEMORY)) { + /* Different memory will get allocated for input and output. + remove all memory dependent metadata */ + GST_DEBUG_OBJECT (space, "remove memory specific metadata %s", + g_type_name (meta_api)); + remove_meta = TRUE; + } else { + /* Default remove all metadata */ + GST_DEBUG_OBJECT (space, "remove metadata %s", g_type_name (meta_api)); + remove_meta = TRUE; + } + + if (remove_meta) { + gst_query_remove_nth_allocation_meta (query, j); + j--; + metas_no--; + } + } + + gst_query_parse_allocation (query, &outcaps, NULL); + if (outcaps == NULL) + goto no_caps; + + /* Use nvfilter custom buffer pool */ + if (space->nvfilterpool) { + g_mutex_lock (&space->flow_lock); + pool = space->pool; + if (pool) + gst_object_ref (pool); + g_mutex_unlock (&space->flow_lock); + + if (pool != NULL) { + config = gst_buffer_pool_get_config (pool); + gst_buffer_pool_config_get_params (config, &myoutcaps, &size, NULL, NULL); + + GST_DEBUG_OBJECT (space, "we have a pool with caps %" GST_PTR_FORMAT, + myoutcaps); + + if (!gst_caps_is_equal (outcaps, myoutcaps)) { + /* different caps, we can't use current pool */ + GST_DEBUG_OBJECT (space, "pool has different caps"); + gst_object_unref (pool); + pool = NULL; + } + gst_structure_free (config); + } + + if (pool == NULL) { + if (!gst_video_info_from_caps (&info, outcaps)) + goto invalid_caps; + + size = info.size; + minimum = space->num_output_buf; + + GST_DEBUG_OBJECT (space, "create new pool"); + + g_mutex_lock (&space->flow_lock); + pool = gst_nv_filter_buffer_pool_new (GST_ELEMENT_CAST (space)); + + config = gst_buffer_pool_get_config (pool); + gst_buffer_pool_config_set_params (config, outcaps, sizeof (NvBufSurface), minimum, minimum); + gst_buffer_pool_config_set_allocator (config, + ((GstNvFilterBufferPool *) pool)->allocator, NULL); + if (!gst_buffer_pool_set_config (pool, config)) + goto config_failed; + + space->pool = gst_object_ref (pool); + + g_mutex_unlock (&space->flow_lock); + } + + if (pool) { + config = gst_buffer_pool_get_config (pool); + gst_buffer_pool_config_get_allocator (config, &allocator, ¶ms); + gst_buffer_pool_config_get_params (config, &myoutcaps, &size, &minimum, &maximum); + + /* Add check, params may be empty e.g. fakesink */ + if (gst_query_get_n_allocation_params (query) > 0) { + /* Set allocation params */ + gst_query_set_nth_allocation_param (query, 0, allocator, ¶ms); + } else { + /* Add allocation params */ + gst_query_add_allocation_param (query, allocator, ¶ms); + } + + /* Set allocation pool */ + if (gst_query_get_n_allocation_pools (query) > 0) { + gst_query_set_nth_allocation_pool (query, 0, pool, size, minimum, maximum); + } else { + gst_query_add_allocation_pool (query, pool, size, minimum, maximum); + } + + gst_structure_free (config); + gst_object_unref (pool); + } + } else { + /* Use oss buffer pool */ + if (gst_query_get_n_allocation_params (query) > 0) { + /* Get allocation params */ + gst_query_parse_nth_allocation_param (query, 0, &allocator, ¶ms); + modify_allocator = TRUE; + } else { + allocator = NULL; + gst_allocation_params_init (¶ms); + modify_allocator = FALSE; + } + + if (gst_query_get_n_allocation_pools (query) > 0) { + /* Parse pool to get size, min & max */ + gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &minimum, &maximum); + if (pool == NULL) { + GST_DEBUG_OBJECT (btrans, "no pool available, creating new oss pool"); + pool = gst_buffer_pool_new (); + } + } else { + pool = NULL; + size = 0; + minimum = 0; + maximum = 0; + } + + if (pool) { + config = gst_buffer_pool_get_config (pool); + /* Set params on config */ + gst_buffer_pool_config_set_params (config, outcaps, size, minimum, maximum); + /* Set allocator on config */ + gst_buffer_pool_config_set_allocator (config, allocator, ¶ms); + /* Set config on pool */ + gst_buffer_pool_set_config (pool, config); + } + + if (modify_allocator) { + /* Set allocation params */ + gst_query_set_nth_allocation_param (query, 0, allocator, ¶ms); + } else { + /* Add allocation params */ + gst_query_add_allocation_param (query, allocator, ¶ms); + } + + if (allocator) { + gst_object_unref (allocator); + } + + if (pool) { + gst_query_set_nth_allocation_pool (query, 0, pool, size, minimum, maximum); + gst_object_unref (pool); + } + } + + return TRUE; +/* ERROR */ +no_caps: + { + GST_ERROR ("no caps specified"); + return FALSE; + } +invalid_caps: + { + GST_ERROR ("invalid caps specified"); + return FALSE; + } +config_failed: + { + GST_ERROR ("failed to set config on bufferpool"); + g_mutex_unlock (&space->flow_lock); + return FALSE; + } +} + +static gint +get_bytes_per_pix_from_color (NvBufSurfaceColorFormat pix_fmt, gint plane_id) +{ + gint bytes_per_pix = 1; + switch (pix_fmt) { + case NVBUF_COLOR_FORMAT_YUV420: + case NVBUF_COLOR_FORMAT_YUV422: + case NVBUF_COLOR_FORMAT_YUV420_709: + case NVBUF_COLOR_FORMAT_YUV420_709_ER: + case NVBUF_COLOR_FORMAT_YUV420_ER: + case NVBUF_COLOR_FORMAT_YUV444: + bytes_per_pix = 1; + break; + case NVBUF_COLOR_FORMAT_NV12: + case NVBUF_COLOR_FORMAT_NV12_709: + case NVBUF_COLOR_FORMAT_NV12_709_ER: + case NVBUF_COLOR_FORMAT_NV12_ER: + case NVBUF_COLOR_FORMAT_NV21: + case NVBUF_COLOR_FORMAT_NV16: + case NVBUF_COLOR_FORMAT_NV24: + if (plane_id == 0) + bytes_per_pix = 1; + else + bytes_per_pix = 2; + break; + case NVBUF_COLOR_FORMAT_NV12_12LE: + case NVBUF_COLOR_FORMAT_NV12_10LE: + case NVBUF_COLOR_FORMAT_NV12_10LE_709: + case NVBUF_COLOR_FORMAT_NV12_10LE_2020: + case NVBUF_COLOR_FORMAT_NV12_10LE_ER: + case NVBUF_COLOR_FORMAT_NV12_10LE_709_ER: + if (plane_id == 0) + bytes_per_pix = 2; + else + bytes_per_pix = 4; + break; + case NVBUF_COLOR_FORMAT_UYVY: + case NVBUF_COLOR_FORMAT_YUYV: + case NVBUF_COLOR_FORMAT_YVYU: + bytes_per_pix = 2; + break; + case NVBUF_COLOR_FORMAT_BGRx: + case NVBUF_COLOR_FORMAT_RGBA: + bytes_per_pix = 4; + break; + case NVBUF_COLOR_FORMAT_BGR: + case NVBUF_COLOR_FORMAT_RGB: + bytes_per_pix = 3; + break; + case NVBUF_COLOR_FORMAT_GRAY8: + case NVBUF_COLOR_FORMAT_R8_G8_B8: + case NVBUF_COLOR_FORMAT_B8_G8_R8: + bytes_per_pix = 1; + break; + case NVBUF_COLOR_FORMAT_R32F_G32F_B32F: + case NVBUF_COLOR_FORMAT_B32F_G32F_R32F: + bytes_per_pix = sizeof (float); + break; + default: + break; + } + + return bytes_per_pix; +} + +static void +surface_list_init (Gstnvvconv * space, NvBufSurface * surf, + GstMapInfo * surf_list_map, gboolean flag) +{ + gpointer surf_list_data = surf_list_map->data; + guint bytesPerPixel; + gsize surf_list_size = surf_list_map->size; + + surf->gpuId = space->gpu_id; + surf->batchSize = 1; + surf->numFilled = 1; + surf->memType = NVBUF_MEM_SYSTEM; + GstVideoInfo *surf_list_info = NULL; + /* Flag is set as 1 if input surface needs to be populated and to 0 if output + * surface has to be populated. + */ + if (flag) { + bytesPerPixel = get_bytes_per_pix_from_color (space->in_pix_fmt, 0); + surf->surfaceList->planeParams.num_planes = space->in_info.finfo->n_planes; + surf->surfaceList->pitch = space->in_info.stride[0]; + surf->surfaceList->colorFormat = space->in_pix_fmt; + surf->surfaceList->planeParams.offset[0] = space->in_info.offset[0]; + surf->surfaceList->width = space->from_width; + surf->surfaceList->height = space->from_height; + surf->surfaceList->planeParams.width[0] = + GST_ROUND_UP_4 (space->from_width * bytesPerPixel) / bytesPerPixel; + surf->surfaceList->planeParams.height[0] = space->from_height; + surf->surfaceList->planeParams.psize[0] = + space->from_height * surf->surfaceList->pitch; + surf_list_info = &(space->in_info); + } else { + bytesPerPixel = get_bytes_per_pix_from_color (space->out_pix_fmt, 0); + surf->surfaceList->planeParams.num_planes = space->out_info.finfo->n_planes; + surf->surfaceList->pitch = space->out_info.stride[0]; + surf->surfaceList->colorFormat = space->out_pix_fmt; + surf->surfaceList->planeParams.offset[0] = space->out_info.offset[0]; + surf->surfaceList->width = space->to_width; + surf->surfaceList->height = space->to_height; + surf->surfaceList->planeParams.width[0] = + GST_ROUND_UP_4 (space->to_width * bytesPerPixel) / bytesPerPixel; + surf->surfaceList->planeParams.height[0] = space->to_height; + surf->surfaceList->planeParams.psize[0] = + space->to_height * surf->surfaceList->pitch; + surf_list_info = &(space->out_info); + } + surf->surfaceList->dataSize = surf_list_size; // size of allocated hw mem + surf->surfaceList->dataPtr = surf_list_data; + surf->surfaceList->layout = NVBUF_LAYOUT_PITCH; + surf->surfaceList->planeParams.pitch[0] = surf->surfaceList->pitch; + surf->surfaceList->planeParams.bytesPerPix[0] = bytesPerPixel; + + for (uint32_t j = 1; j < surf_list_info->finfo->n_planes; j++) { + guint comp_width = GST_VIDEO_INFO_COMP_WIDTH (surf_list_info, j); + guint comp_height = GST_VIDEO_INFO_COMP_HEIGHT (surf_list_info, j); + guint comp_pitch = surf_list_info->stride[j]; + surf->surfaceList->planeParams.height[j] = comp_height; + surf->surfaceList->planeParams.pitch[j] = comp_pitch; + surf->surfaceList->planeParams.offset[j] = surf_list_info->offset[j]; + surf->surfaceList->planeParams.psize[j] = comp_pitch * comp_height; + bytesPerPixel = + get_bytes_per_pix_from_color (surf->surfaceList->colorFormat, j); + surf->surfaceList->planeParams.width[j] = + GST_ROUND_UP_4 (comp_width * bytesPerPixel) / bytesPerPixel; + surf->surfaceList->planeParams.bytesPerPix[j] = bytesPerPixel; + } +} + +/** + * Transforms one incoming buffer to one outgoing buffer. + * + * @param inbuf : input buffer + * @param outbuf : output buffer + */ +static GstFlowReturn +gst_nvvconv_transform (GstBaseTransform * btrans, GstBuffer * inbuf, + GstBuffer * outbuf) +{ + gint retn = 0; + gboolean ret = TRUE; + GstFlowReturn flow_ret = GST_FLOW_OK; + + Gstnvvconv *space = NULL; + + GstMemory *inmem = NULL; + GstMemory *outmem = NULL; + GstNvFilterMemory *omem = NULL; + + GstMapInfo inmap = GST_MAP_INFO_INIT; + GstMapInfo outmap = GST_MAP_INFO_INIT; + + NvBufSurfaceAllocateParams input_params = {0}; + + gpointer data = NULL; + + space = GST_NVVCONV (btrans); + char context[100]; + sprintf(context,"gst_nvvconv_transform()_ctx=%p",space); + NvBufSurfTransform_Error err = NvBufSurfTransformError_Success; + cudaError_t CUerr = cudaSuccess; + + if (G_UNLIKELY (!space->negotiated)) + goto unknown_format; + + inmem = gst_buffer_peek_memory (inbuf, 0); + if (!inmem) + goto no_memory; + + outmem = gst_buffer_peek_memory (outbuf, 0); + if (!outmem) + goto no_memory; + omem = (GstNvFilterMemory *) outmem; + + if (!gst_buffer_map (inbuf, &inmap, GST_MAP_READ)) + goto invalid_inbuf; + + if (!gst_buffer_map (outbuf, &outmap, GST_MAP_WRITE)) + goto invalid_outbuf; + + if (!gst_buffer_copy_into (outbuf, inbuf, GST_BUFFER_COPY_META, 0, -1)) { + GST_DEBUG ("Buffer metadata copy failed \n"); + } + + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + CUerr = cudaSetDevice (space->gpu_id); + if (CUerr != cudaSuccess) { + g_print ("Unable to set cuda device\n"); + goto cuda_errors; + } + } + + data = gst_mini_object_get_qdata ((GstMiniObject *)inbuf, g_quark_from_static_string("NV_BUF")); + + if(data == (gpointer)NVBUF_MAGIC_NUM) + { + space->inbuf_memtype = BUF_MEM_HW; + } + + if (space->session_created == 0) + { + space->config_params.compute_mode = space->compute_hw; + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + space->config_params.gpu_id = space->gpu_id; + cudaStreamCreateWithFlags (&(space->config_params.cuda_stream), cudaStreamNonBlocking); + } + space->session_created = 1; + } + + err = NvBufSurfTransformSetSessionParams (&space->config_params); + if (err != NvBufSurfTransformError_Success) { + g_print ("Set session params failed \n"); + flow_ret = GST_FLOW_ERROR; + goto done; + } + + switch (space->inbuf_type) { + case BUF_TYPE_YUV: + case BUF_TYPE_GRAY: + case BUF_TYPE_RGB: + if ((space->in_pix_fmt == NVBUF_COLOR_FORMAT_GRAY8) && + ((space->out_pix_fmt != NVBUF_COLOR_FORMAT_YUV420) && + (space->out_pix_fmt != NVBUF_COLOR_FORMAT_GRAY8))) { + g_print ("%s: Transform not supported \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + + if (space->inbuf_memtype == BUF_MEM_HW && space->outbuf_memtype == BUF_MEM_SW) { + NvBufSurface *surf = ((NvBufSurface *) inmap.data); + NvBufSurface op_surf; + NvBufSurfaceParams surfaceList; + memset (&surfaceList, 0, sizeof (surfaceList)); + op_surf.surfaceList = &surfaceList; + surface_list_init (space, &op_surf, &outmap, 0); + + if (space->need_intersurf || space->do_scaling || space->flip_method) { + if (space->isurf_flag == TRUE && space->ibuf_count < 1) { + input_params.params.width = GST_ROUND_UP_2 (space->to_width);; + input_params.params.height = GST_ROUND_UP_2 (space->to_height);; + input_params.params.layout = NVBUF_LAYOUT_PITCH; + input_params.params.colorFormat = space->out_pix_fmt; + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + input_params.params.gpuId = space->gpu_id; + input_params.params.memType = NVBUF_MEM_CUDA_DEVICE; + } else { + input_params.params.memType = NVBUF_MEM_SURFACE_ARRAY; + } + input_params.memtag = NvBufSurfaceTag_VIDEO_CONVERT; + + retn = NvBufSurfaceAllocate(&space->output_interbuf.isurface, 1, &input_params); + if (retn != 0) { + GST_ERROR ("%s: intermediate NvBufSurfaceAllocate Failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + space->output_interbuf.isurface->numFilled = 1; + space->output_interbuf.idmabuf_fd = space->output_interbuf.isurface->surfaceList[0].bufferDesc; + + space->ibuf_count += 1; + space->isurf_flag = FALSE; + } + + retn = NvBufSurfTransform (surf, space->output_interbuf.isurface, &space->transform_params); + if (retn != 0) { + g_print ("%s: NvBufSurfTransform Failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + + NvBufSurfaceCopy (space->output_interbuf.isurface, &op_surf); + + } else { + NvBufSurfaceCopy (surf, &op_surf); + } + } else if (space->inbuf_memtype == BUF_MEM_SW && space->outbuf_memtype == BUF_MEM_HW) { + NvBufSurface *op_surf = (NvBufSurface *) outmap.data; + NvBufSurface ip_surf; + NvBufSurfaceParams surfaceList; + memset (&surfaceList, 0, sizeof (surfaceList)); + ip_surf.surfaceList = &surfaceList; + surface_list_init (space, &ip_surf, &inmap, 1); + + if (space->need_intersurf || space->do_scaling || space->flip_method) { + if (space->isurf_flag == TRUE && space->ibuf_count < 1) { + /* TODO : Check for PayloadInfo.TimeStamp = gst_util_uint64_scale (GST_BUFFER_PTS (inbuf), GST_MSECOND * 10, GST_SECOND); */ + input_params.params.width = GST_ROUND_UP_2 (space->from_width);; + input_params.params.height = GST_ROUND_UP_2 (space->from_height);; + input_params.params.layout = NVBUF_LAYOUT_PITCH; + input_params.params.colorFormat = space->in_pix_fmt; + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + input_params.params.gpuId = space->gpu_id; + input_params.params.memType = NVBUF_MEM_CUDA_DEVICE; + } else { + input_params.params.memType = NVBUF_MEM_SURFACE_ARRAY; + } + input_params.memtag = NvBufSurfaceTag_VIDEO_CONVERT; + + retn = NvBufSurfaceAllocate(&space->input_interbuf.isurface, 1, &input_params); + if (retn != 0) { + GST_ERROR ("%s: intermediate NvBufSurfaceAllocate Failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + space->input_interbuf.isurface->numFilled = 1; + space->input_interbuf.idmabuf_fd = space->input_interbuf.isurface->surfaceList[0].bufferDesc; + + space->isurf_flag = FALSE; + space->ibuf_count += 1; + } + + NvBufSurfaceCopy (&ip_surf, space->input_interbuf.isurface); + + retn = NvBufSurfTransform (space->input_interbuf.isurface, op_surf, &space->transform_params); + if (retn != 0) { + g_print ("%s: NvBufSurfTransform Failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + + /* + * Ideally this should not be required at application level + * but keeping it for VIC due to legacy code + */ + if (space->compute_hw == NvBufSurfTransformCompute_VIC) { + if ((space->in_pix_fmt == NVBUF_COLOR_FORMAT_GRAY8) && + (space->out_pix_fmt == NVBUF_COLOR_FORMAT_YUV420)) { + ret = gst_nvvconv_do_clearchroma (space, omem->buf->surface); + if (ret != TRUE) { + GST_ERROR ("%s: Clear chroma failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + } + } + } else { + NvBufSurfaceCopy (&ip_surf, op_surf); + op_surf->numFilled = 1; + } + } else if (space->inbuf_memtype == BUF_MEM_HW && space->outbuf_memtype == BUF_MEM_HW) { + NvBufSurface *surf = ((NvBufSurface *) inmap.data); + /* TODO : Check for PayloadInfo.TimeStamp = gst_util_uint64_scale (GST_BUFFER_PTS (inbuf), GST_MSECOND * 10, GST_SECOND); */ + if (space->need_intersurf || space->do_scaling || space->flip_method) { + retn = NvBufSurfTransform (surf, omem->buf->surface, &space->transform_params); + if (retn != 0) { + g_print ("%s: NvBufSurfTransform Failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + + /* + * Ideally this should not be required at application level + * but keeping it for VIC due to legacy code + */ + if (space->compute_hw == NvBufSurfTransformCompute_VIC) { + if ((space->in_pix_fmt == NVBUF_COLOR_FORMAT_GRAY8) && + (space->out_pix_fmt == NVBUF_COLOR_FORMAT_YUV420)) { + ret = gst_nvvconv_do_clearchroma (space, omem->buf->surface); + if (ret != TRUE) { + GST_ERROR ("%s: Clear chroma failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + } + } + } else { + NvBufSurfaceCopy (surf, omem->buf->surface); + } + } else if (space->inbuf_memtype == BUF_MEM_SW && space->outbuf_memtype == BUF_MEM_SW) { + /* input surface initialisations */ + NvBufSurface ip_surf; + NvBufSurfaceParams surfaceListIp; + memset (&surfaceListIp, 0, sizeof (surfaceListIp)); + ip_surf.surfaceList = &surfaceListIp; + surface_list_init (space, &ip_surf, &inmap, 1); + + /* output surface initialisations */ + NvBufSurface op_surf; + NvBufSurfaceParams surfaceListOp; + memset (&surfaceListOp, 0, sizeof (surfaceListOp)); + op_surf.surfaceList = &surfaceListOp; + surface_list_init (space, &op_surf, &outmap, 0); + + if (space->need_intersurf || space->do_scaling || space->flip_method) { + if (space->isurf_flag == TRUE) { + + NvBufSurfaceAllocateParams input_params = { 0 }; + + if (space->ibuf_count < 1) { + input_params.params.width = GST_ROUND_UP_2 (space->from_width);; + input_params.params.height = GST_ROUND_UP_2 (space->from_height);; + input_params.params.layout = NVBUF_LAYOUT_PITCH; + input_params.params.colorFormat = space->in_pix_fmt; + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + input_params.params.gpuId = space->gpu_id; + input_params.params.memType = NVBUF_MEM_CUDA_DEVICE; + } else { + input_params.params.memType = NVBUF_MEM_SURFACE_ARRAY; + } + input_params.memtag = NvBufSurfaceTag_VIDEO_CONVERT; + + retn = NvBufSurfaceAllocate(&space->input_interbuf.isurface, 1, &input_params); + if (retn != 0) { + GST_ERROR ("%s: intermediate NvBufSurfaceAllocate Failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + space->input_interbuf.isurface->numFilled = 1; + space->input_interbuf.idmabuf_fd = space->input_interbuf.isurface->surfaceList[0].bufferDesc; + + space->ibuf_count += 1; + } + + if (space->ibuf_count < 2) { + input_params.params.width = GST_ROUND_UP_2 (space->to_width);; + input_params.params.height = GST_ROUND_UP_2 (space->to_height);; + input_params.params.layout = NVBUF_LAYOUT_PITCH; + input_params.params.colorFormat = space->out_pix_fmt; + if (space->compute_hw == NvBufSurfTransformCompute_GPU) { + input_params.params.gpuId = space->gpu_id; + input_params.params.memType = NVBUF_MEM_CUDA_DEVICE; + } else { + input_params.params.memType = NVBUF_MEM_SURFACE_ARRAY; + } + input_params.memtag = NvBufSurfaceTag_VIDEO_CONVERT; + + retn = NvBufSurfaceAllocate(&space->output_interbuf.isurface, 1, &input_params); + if (retn != 0) { + GST_ERROR ("%s: intermediate NvBufSurfaceAllocate Failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + space->output_interbuf.isurface->numFilled = 1; + space->output_interbuf.idmabuf_fd = space->output_interbuf.isurface->surfaceList[0].bufferDesc; + + space->ibuf_count += 1; + } + + space->isurf_flag = FALSE; + } + + NvBufSurfaceCopy (&ip_surf, space->input_interbuf.isurface); + + retn = NvBufSurfTransform (space->input_interbuf.isurface, space->output_interbuf.isurface, &space->transform_params); + if (retn != 0) { + g_print ("%s: NvBufSurfTransform Failed \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + } + + NvBufSurfaceCopy (space->output_interbuf.isurface, &op_surf); + + } else { + NvBufSurfaceCopy (&ip_surf, &op_surf); + } + } else { + flow_ret = GST_FLOW_ERROR; + goto done; + } + break; + + default: + GST_ERROR ("%s: Unsupported input buffer \n", __func__); + flow_ret = GST_FLOW_ERROR; + goto done; + break; + } + +done: + gst_buffer_unmap (inbuf, &inmap); + gst_buffer_unmap (outbuf, &outmap); + + return flow_ret; + + /* ERRORS */ +no_memory: + { + GST_ERROR ("no memory block"); + return GST_FLOW_ERROR; + } +unknown_format: + { + GST_ERROR ("unknown format"); + return GST_FLOW_NOT_NEGOTIATED; + } +invalid_inbuf: + { + GST_ERROR ("input buffer mapinfo failed"); + return GST_FLOW_ERROR; + } +invalid_outbuf: + { + GST_ERROR ("output buffer mapinfo failed"); + gst_buffer_unmap (inbuf, &inmap); + return GST_FLOW_ERROR; + } +cuda_errors: + { + gst_buffer_unmap (inbuf, &inmap); + gst_buffer_unmap (outbuf, &outmap); + return GST_FLOW_ERROR; + } +} + +/** + * nvvconv plugin init. + * + * @param nvvconv : plugin instance + */ +static gboolean +nvvconv_init (GstPlugin * nvvconv) +{ + GST_DEBUG_CATEGORY_INIT (gst_nvvconv_debug, "nvvidconv", + 0, "nvvidconv plugin"); + + return gst_element_register (nvvconv, "nvvidconv", GST_RANK_PRIMARY, + GST_TYPE_NVVCONV); +} + +GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + nvvidconv, + PACKAGE_DESCRIPTION, + nvvconv_init, VERSION, PACKAGE_LICENSE, PACKAGE_NAME, PACKAGE_URL) diff --git a/gst-nvvidconv/gstnvvconv.h b/gst-nvvidconv/gstnvvconv.h new file mode 100644 index 0000000..f40a736 --- /dev/null +++ b/gst-nvvidconv/gstnvvconv.h @@ -0,0 +1,237 @@ +/* + * Copyright (c) 2014-2022, NVIDIA 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 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __GST_NVVCONV_H__ +#define __GST_NVVCONV_H__ + +#include +#include +#include + +#include "nvbufsurface.h" +#include "nvbufsurftransform.h" + +#include +#include + +G_BEGIN_DECLS +#define GST_TYPE_NVVCONV \ + (gst_nvvconv_get_type()) +#define GST_NVVCONV(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVVCONV,Gstnvvconv)) +#define GST_NVVCONV_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVVCONV,GstnvvconvClass)) +#define GST_IS_NVVCONV(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVVCONV)) +#define GST_IS_NVVCONV_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVVCONV)) + +/* Name of package */ +#define PACKAGE "gstreamer-nvvconv-plugin" +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GStreamer nvvconv Plugin" +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GStreamer nvvconv 1.2.3" +/* Information about the purpose of the plugin. */ +#define PACKAGE_DESCRIPTION "video Colorspace conversion & scaler" +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://nvidia.com/" +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.2.3" +/* Define under which licence the package has been released */ +#define PACKAGE_LICENSE "Proprietary" +/* Version number of package */ +#define VERSION "1.2.3" + +#define NVRM_MAX_SURFACES 3 +#define NVFILTER_MAX_BUF 4 +#define GST_CAPS_FEATURE_MEMORY_NVMM "memory:NVMM" + +typedef struct _Gstnvvconv Gstnvvconv; +typedef struct _GstnvvconvClass GstnvvconvClass; + +typedef struct _GstNvvConvBuffer GstNvvConvBuffer; +typedef struct _GstNvInterBuffer GstNvInterBuffer; + +/** + * BufType: + * + * Buffer type enum. + */ +typedef enum +{ + BUF_TYPE_YUV, + BUF_TYPE_GRAY, + BUF_TYPE_RGB, + BUF_NOT_SUPPORTED +} BufType; + +/** + * BufMemType: + * + * Buffer memory type enum. + */ +typedef enum +{ + BUF_MEM_SW, + BUF_MEM_HW +} BufMemType; + +/** + * GstVideoFlipMethods: + * + * Video flip methods type enum. + */ +typedef enum +{ + GST_VIDEO_NVFLIP_METHOD_IDENTITY, + GST_VIDEO_NVFLIP_METHOD_90L, + GST_VIDEO_NVFLIP_METHOD_180, + GST_VIDEO_NVFLIP_METHOD_90R, + GST_VIDEO_NVFLIP_METHOD_HORIZ, + GST_VIDEO_NVFLIP_METHOD_INVTRANS, + GST_VIDEO_NVFLIP_METHOD_VERT, + GST_VIDEO_NVFLIP_METHOD_TRANS +} GstVideoFlipMethods; + +/** + * GstInterpolationMethods: + * + * Interpolation methods type enum. + */ +typedef enum +{ + GST_INTERPOLATION_NEAREST, + GST_INTERPOLATION_BILINEAR, + GST_INTERPOLATION_5_TAP, + GST_INTERPOLATION_10_TAP, + GST_INTERPOLATION_SMART, + GST_INTERPOLATION_NICEST, +} GstInterpolationMethods; + +/** + * GstNvvConvBuffer: + * + * Nvfilter buffer. + */ +struct _GstNvvConvBuffer +{ + gint dmabuf_fd; + GstBuffer *gst_buf; + NvBufSurface *surface; +}; + +/** + * GstNvInterBuffer: + * + * Intermediate transform buffer. + */ +struct _GstNvInterBuffer +{ + gint idmabuf_fd; + NvBufSurface *isurface; +}; + +/** + * Gstnvvconv: + * + * Opaque object data structure. + */ +struct _Gstnvvconv +{ + GstBaseTransform element; + + /* source and sink pad caps */ + GstCaps *sinkcaps; + GstCaps *srccaps; + + gint to_width; + gint to_height; + gint from_width; + gint from_height; + gint tsurf_width; + gint tsurf_height; + + gint crop_left; + gint crop_right; + gint crop_top; + gint crop_bottom; + + BufType inbuf_type; + BufMemType inbuf_memtype; + BufMemType outbuf_memtype; + + NvBufSurfTransformParams transform_params; + NvBufSurfaceColorFormat in_pix_fmt; + NvBufSurfaceColorFormat out_pix_fmt; + NvBufSurfTransformRect src_rect; + + guint insurf_count; + guint tsurf_count; + guint isurf_count; + guint ibuf_count; + gint flip_method; + guint num_output_buf; + gint interpolation_method; + + gboolean silent; + gboolean no_dimension; + gboolean do_scaling; + gboolean do_flip; + gboolean do_cropping; + gboolean need_intersurf; + gboolean isurf_flag; + gboolean negotiated; + gboolean nvfilterpool; + gboolean enable_blocklinear_output; + + GstBufferPool *pool; + GMutex flow_lock; + + GstNvInterBuffer input_interbuf; + GstNvInterBuffer output_interbuf; + + gint compute_hw; + gint gpu_id; + gint nvbuf_mem_type; + guint session_created; + GstVideoInfo in_info; + GstVideoInfo out_info; + NvBufSurfTransformConfigParams config_params; +}; + +struct _GstnvvconvClass +{ + GstBaseTransformClass parent_class; +}; + +GType gst_nvvconv_get_type (void); + +G_END_DECLS +#endif /* __GST_NVVCONV_H__ */ diff --git a/gst-nvvidconv/nvbuf_utils.h b/gst-nvvidconv/nvbuf_utils.h new file mode 100644 index 0000000..f4709cc --- /dev/null +++ b/gst-nvvidconv/nvbuf_utils.h @@ -0,0 +1,897 @@ +/* + * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved. + * + * NVIDIA Corporation and its licensors retain all intellectual property + * and proprietary rights in and to this software, related documentation + * and any modifications thereto. Any use, reproduction, disclosure or + * distribution of this software and related documentation without an express + * license agreement from NVIDIA Corporation is strictly prohibited. + */ + +/** + * @file + * NVIDIA Multimedia Utilities: Buffering and Transform/Composition/Blending + * + */ + +/** + * @defgroup ee_nvbuffering_group NvBufUtils API (Deprecated) + * @ingroup ds_nvbuf_api + * NVIDIA buffering utility library for use by applications. + * The utility also transforms, composits, and blends. + * @{ + */ + +#ifndef _NVBUF_UTILS_H_ +#define _NVBUF_UTILS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include +#include + +/** + * Defines the maximum number of planes for a video frame. + */ +#define MAX_NUM_PLANES 4 + +/** + * Defines the maximum number of input video frames that can be used for composition. + */ +#define MAX_COMPOSITE_FRAME 16 + +/** + * Defines the default values for chroma subsampling. + * The default value matches JPEG/MPEG use cases. + */ +#define NVBUF_CHROMA_SUBSAMPLING_HORIZ_DEFAULT 0 +#define NVBUF_CHROMA_SUBSAMPLING_VERT_DEFAULT 1 + +/** + * Defines the maximum number of sync object parameters. + */ +#define NVBUF_MAX_SYNCOBJ_PARAMS 5 + +/** + * Use this value to represent an infinite wait interval. + * A value of zero should not be interpreted as infinite, + * it should be interpreted as "time out immediately" and + * simply check whether the event has already happened. + */ +#define NVBUFFER_SYNCPOINT_WAIT_INFINITE 0xFFFFFFFF + +/** + * Defines Payload types for NvBuffer. + */ +typedef enum +{ + /** buffer payload with hardware memory handle for set of planes. */ + NvBufferPayload_SurfArray, + /** buffer payload with hardware memory handle for specific memory size. */ + NvBufferPayload_MemHandle, +} NvBufferPayloadType; + +/** + * Defines display scan formats for NvBuffer video planes. + */ +typedef enum +{ + /** Progessive scan formats. */ + NvBufferDisplayScanFormat_Progressive = 0, + /** Interlaced scan formats. */ + NvBufferDisplayScanFormat_Interlaced, +} NvBufferDisplayScanFormat; + +/** + * Defines Layout formats for NvBuffer video planes. + */ +typedef enum +{ + /** Pitch Layout. */ + NvBufferLayout_Pitch, + /** BlockLinear Layout. */ + NvBufferLayout_BlockLinear, +} NvBufferLayout; + +/** + * Defines memory access flags for NvBuffer. + */ +typedef enum +{ + /** Memory read. */ + NvBufferMem_Read, + /** Memory write. */ + NvBufferMem_Write, + /** Memory read & write. */ + NvBufferMem_Read_Write, +} NvBufferMemFlags; + +/** + * Defines tags that identify the components requesting a memory allocation. + * The tags can be used later to identify the total memory allocated to + * particular types of components. + */ +typedef enum +{ + /** tag None. */ + NvBufferTag_NONE = 0x0, + /** tag for Camera. */ + NvBufferTag_CAMERA = 0x200, + /** tag for Jpeg Encoder/Decoder. */ + NvBufferTag_JPEG = 0x1500, + /** tag for VPR Buffers. */ + NvBufferTag_PROTECTED = 0x1504, + /** tag for H264/H265 Video Encoder. */ + NvBufferTag_VIDEO_ENC = 0x1200, + /** tag for H264/H265/VP9 Video Decoder. */ + NvBufferTag_VIDEO_DEC = 0x1400, + /** tag for Video Transform/Composite. */ + NvBufferTag_VIDEO_CONVERT = 0xf01, +} NvBufferTag; + +/** + * Defines color formats for NvBuffer. + */ +typedef enum +{ + /** BT.601 colorspace - YUV420 multi-planar. */ + NvBufferColorFormat_YUV420, + /** BT.601 colorspace - YUV420 multi-planar. */ + NvBufferColorFormat_YVU420, + /** BT.601 colorspace - YUV422 multi-planar. */ + NvBufferColorFormat_YUV422, + /** BT.601 colorspace - YUV420 ER multi-planar. */ + NvBufferColorFormat_YUV420_ER, + /** BT.601 colorspace - YVU420 ER multi-planar. */ + NvBufferColorFormat_YVU420_ER, + /** BT.601 colorspace - Y/CbCr 4:2:0 multi-planar. */ + NvBufferColorFormat_NV12, + /** BT.601 colorspace - Y/CbCr ER 4:2:0 multi-planar. */ + NvBufferColorFormat_NV12_ER, + /** BT.601 colorspace - Y/CbCr 4:2:0 multi-planar. */ + NvBufferColorFormat_NV21, + /** BT.601 colorspace - Y/CbCr ER 4:2:0 multi-planar. */ + NvBufferColorFormat_NV21_ER, + /** BT.601 colorspace - YUV 4:2:2 planar. */ + NvBufferColorFormat_UYVY, + /** BT.601 colorspace - YUV ER 4:2:2 planar. */ + NvBufferColorFormat_UYVY_ER, + /** BT.601 colorspace - YUV 4:2:2 planar. */ + NvBufferColorFormat_VYUY, + /** BT.601 colorspace - YUV ER 4:2:2 planar. */ + NvBufferColorFormat_VYUY_ER, + /** BT.601 colorspace - YUV 4:2:2 planar. */ + NvBufferColorFormat_YUYV, + /** BT.601 colorspace - YUV ER 4:2:2 planar. */ + NvBufferColorFormat_YUYV_ER, + /** BT.601 colorspace - YUV 4:2:2 planar. */ + NvBufferColorFormat_YVYU, + /** BT.601 colorspace - YUV ER 4:2:2 planar. */ + NvBufferColorFormat_YVYU_ER, + /** LegacyRGBA colorspace - BGRA-8-8-8-8 planar. */ + NvBufferColorFormat_ABGR32, + /** LegacyRGBA colorspace - XRGB-8-8-8-8 planar. */ + NvBufferColorFormat_XRGB32, + /** LegacyRGBA colorspace - ARGB-8-8-8-8 planar. */ + NvBufferColorFormat_ARGB32, + /** BT.601 colorspace - Y/CbCr 4:2:0 10-bit multi-planar. */ + NvBufferColorFormat_NV12_10LE, + /** BT.709 colorspace - Y/CbCr 4:2:0 10-bit multi-planar. */ + NvBufferColorFormat_NV12_10LE_709, + /** BT.709_ER colorspace - Y/CbCr 4:2:0 10-bit multi-planar. */ + NvBufferColorFormat_NV12_10LE_709_ER, + /** BT.2020 colorspace - Y/CbCr 4:2:0 10-bit multi-planar. */ + NvBufferColorFormat_NV12_10LE_2020, + /** BT.601 colorspace - Y/CrCb 4:2:0 10-bit multi-planar. */ + NvBufferColorFormat_NV21_10LE, + /** BT.601 colorspace - Y/CbCr 4:2:0 12-bit multi-planar. */ + NvBufferColorFormat_NV12_12LE, + /** BT.2020 colorspace - Y/CbCr 4:2:0 12-bit multi-planar. */ + NvBufferColorFormat_NV12_12LE_2020, + /** BT.601 colorspace - Y/CrCb 4:2:0 12-bit multi-planar. */ + NvBufferColorFormat_NV21_12LE, + /** BT.709 colorspace - YUV420 multi-planar. */ + NvBufferColorFormat_YUV420_709, + /** BT.709 colorspace - YUV420 ER multi-planar. */ + NvBufferColorFormat_YUV420_709_ER, + /** BT.709 colorspace - Y/CbCr 4:2:0 multi-planar. */ + NvBufferColorFormat_NV12_709, + /** BT.709 colorspace - Y/CbCr ER 4:2:0 multi-planar. */ + NvBufferColorFormat_NV12_709_ER, + /** BT.2020 colorspace - YUV420 multi-planar. */ + NvBufferColorFormat_YUV420_2020, + /** BT.2020 colorspace - Y/CbCr 4:2:0 multi-planar. */ + NvBufferColorFormat_NV12_2020, + /** BT.601 colorspace - YUV444 multi-planar. */ + NvBufferColorFormat_YUV444, + /** Optical flow */ + NvBufferColorFormat_SignedR16G16, + /** Optical flow SAD calculation Buffer format */ + NvBufferColorFormat_A32, + /** 8-bit grayscale. */ + NvBufferColorFormat_GRAY8, + /** BT.601 colorspace - Y/CbCr 4:2:2 multi-planar. */ + NvBufferColorFormat_NV16, + /** BT.601 colorspace - Y/CbCr 4:2:2 10-bit semi-planar. */ + NvBufferColorFormat_NV16_10LE, + /** BT.601 colorspace - Y/CbCr 4:4:4 multi-planar. */ + NvBufferColorFormat_NV24, + /** BT.601 colorspace - Y/CrCb 4:4:4 10-bit multi-planar. */ + NvBufferColorFormat_NV24_10LE, + /** BT.601_ER colorspace - Y/CbCr 4:2:2 multi-planar. */ + NvBufferColorFormat_NV16_ER, + /** BT.601_ER colorspace - Y/CbCr 4:4:4 multi-planar. */ + NvBufferColorFormat_NV24_ER, + /** BT.709 colorspace - Y/CbCr 4:2:2 multi-planar. */ + NvBufferColorFormat_NV16_709, + /** BT.709 colorspace - Y/CbCr 4:4:4 multi-planar. */ + NvBufferColorFormat_NV24_709, + /** BT.709_ER colorspace - Y/CbCr 4:2:2 multi-planar. */ + NvBufferColorFormat_NV16_709_ER, + /** BT.709_ER colorspace - Y/CbCr 4:4:4 multi-planar. */ + NvBufferColorFormat_NV24_709_ER, + /** BT.709 colorspace - Y/CbCr 10 bit 4:4:4 multi-planar. */ + NvBufferColorFormat_NV24_10LE_709, + /** BT.709 ER colorspace - Y/CbCr 10 bit 4:4:4 multi-planar. */ + NvBufferColorFormat_NV24_10LE_709_ER, + /** BT.2020 colorspace - Y/CbCr 10 bit 4:4:4 multi-planar. */ + NvBufferColorFormat_NV24_10LE_2020, + /** BT.2020 colorspace - Y/CbCr 12 bit 4:4:4 multi-planar. */ + NvBufferColorFormat_NV24_12LE_2020, + /** Non-linear RGB BT.709 colorspace - RGBA-10-10-10-2 planar. */ + NvBufferColorFormat_RGBA_10_10_10_2_709, + /** Non-linear RGB BT.2020 colorspace - RGBA-10-10-10-2 planar. */ + NvBufferColorFormat_RGBA_10_10_10_2_2020, + /** Non-linear RGB BT.709 colorspace - BGRA-10-10-10-2 planar. */ + NvBufferColorFormat_BGRA_10_10_10_2_709, + /** Non-linear RGB BT.2020 colorspace - BGRA-10-10-10-2 planar. */ + NvBufferColorFormat_BGRA_10_10_10_2_2020, + /** Invalid color format. */ + NvBufferColorFormat_Invalid, +} NvBufferColorFormat; + +/** + * Defines video flip methods. + */ +typedef enum +{ + /** Video flip none. */ + NvBufferTransform_None, + /** Video flip rotate 90 degree counter-clockwise. */ + NvBufferTransform_Rotate90, + /** Video flip rotate 180 degree. */ + NvBufferTransform_Rotate180, + /** Video flip rotate 270 degree counter-clockwise. */ + NvBufferTransform_Rotate270, + /** Video flip with respect to X-axis. */ + NvBufferTransform_FlipX, + /** Video flip with respect to Y-axis. */ + NvBufferTransform_FlipY, + /** Video flip transpose. */ + NvBufferTransform_Transpose, + /** Video flip inverse transpode. */ + NvBufferTransform_InvTranspose, +} NvBufferTransform_Flip; + +/** + * Defines transform video filter types. + */ +typedef enum +{ + /** transform filter nearest. */ + NvBufferTransform_Filter_Nearest, + /** transform filter bilinear. */ + NvBufferTransform_Filter_Bilinear, + /** transform filter 5 tap. */ + NvBufferTransform_Filter_5_Tap, + /** transform filter 10 tap. */ + NvBufferTransform_Filter_10_Tap, + /** transform filter smart. */ + NvBufferTransform_Filter_Smart, + /** transform filter nicest. */ + NvBufferTransform_Filter_Nicest, +} NvBufferTransform_Filter; + +/** + * Defines flags to indicate for valid transform. + */ +typedef enum { + /** transform flag to crop source rectangle. */ + NVBUFFER_TRANSFORM_CROP_SRC = 1, + /** transform flag to crop destination rectangle. */ + NVBUFFER_TRANSFORM_CROP_DST = 1 << 1, + /** transform flag to set filter type. */ + NVBUFFER_TRANSFORM_FILTER = 1 << 2, + /** transform flag to set flip method. */ + NVBUFFER_TRANSFORM_FLIP = 1 << 3, +} NvBufferTransform_Flag; + +/** + * Defines flags that specify valid composition/blending operations. + */ +typedef enum { + /** flag to set for composition. */ + NVBUFFER_COMPOSITE = 1, + /** flag to set for blending. */ + NVBUFFER_BLEND = 1 << 1, + /** composition flag to set filter type. */ + NVBUFFER_COMPOSITE_FILTER = 1 << 2, +} NvBufferComposite_Flag; + +/** + * Holds parameters for buffer sync point object. + * sync object params is simply a data structure containing [sync point ID,value] pair. + * This can be used by clients to describe an event that might want to wait for. + */ +typedef struct _NvBufferSyncObjParams +{ + uint32_t syncpointID; + uint32_t value; +}NvBufferSyncObjParams; + +/** + * buffer sync point object. + */ +typedef struct _NvBufferSyncObjRec +{ + NvBufferSyncObjParams insyncobj[NVBUF_MAX_SYNCOBJ_PARAMS]; + uint32_t num_insyncobj; + NvBufferSyncObjParams outsyncobj; + uint32_t use_outsyncobj; +}NvBufferSyncObj; + +/** + * Holds composition background r,g,b colors. + */ +typedef struct +{ + /** background color value for r. */ + float r; + /** background color value for g. */ + float g; + /** background color value for b. */ + float b; +}NvBufferCompositeBackground; + +/** + * Holds coordinates for a rectangle. + */ +typedef struct +{ + /** rectangle top. */ + uint32_t top; + /** rectangle left. */ + uint32_t left; + /** rectangle width. */ + uint32_t width; + /** rectangle height. */ + uint32_t height; +}NvBufferRect; + +/** + * Holds an opaque NvBuffer session type required for parallel buffer + * tranformations and compositions. Operations using a single session are + * scheduled sequentially, after the previous operation finishes. Operations for + * multiple sessions are scheduled in parallel. + */ +typedef struct _NvBufferSession * NvBufferSession; + +/** + * Holds Chroma Subsampling parameters. + */ +typedef struct _NvBufferChromaSubSamplingParams +{ + /** location settings */ + uint8_t chromaLocHoriz; + uint8_t chromaLocVert; +}NvBufferChromaSubsamplingParams; + +#define NVBUF_CHROMA_SUBSAMPLING_PARAMS_DEFAULT \ + { \ + NVBUF_CHROMA_SUBSAMPLING_HORIZ_DEFAULT, \ + NVBUF_CHROMA_SUBSAMPLING_VERT_DEFAULT \ + } + +/** + * Holds the input parameters for hardware buffer creation. + */ +typedef struct _NvBufferCreateParams +{ + /** width of the buffer. */ + int32_t width; + /** height of the buffer. */ + int32_t height; + /** payload type of the buffer. */ + NvBufferPayloadType payloadType; + /** size of the memory.(Applicale for NvBufferPayload_MemHandle) */ + int32_t memsize; + /** layout of the buffer. */ + NvBufferLayout layout; + /** colorformat of the buffer. */ + NvBufferColorFormat colorFormat; + /** tag to associate with the buffer. */ + NvBufferTag nvbuf_tag; +}NvBufferCreateParams; + +/** + * Holds parameters for a hardware buffer. + */ +typedef struct _NvBufferParams +{ + /** Holds the DMABUF FD of the hardware buffer. */ + uint32_t dmabuf_fd; + /** pointer to hardware buffer memory. */ + void *nv_buffer; + /** payload type of the buffer. */ + NvBufferPayloadType payloadType; + /** size of the memory.(Applicale for NvBufferPayload_MemHandle) */ + int32_t memsize; + /** size of hardware buffer. */ + uint32_t nv_buffer_size; + /** video format type of hardware buffer. */ + NvBufferColorFormat pixel_format; + /** number of planes of hardware buffer. */ + uint32_t num_planes; + /** width of each planes of hardware buffer. */ + uint32_t width[MAX_NUM_PLANES]; + /** height of each planes of hardware buffer. */ + uint32_t height[MAX_NUM_PLANES]; + /** pitch of each planes of hardware buffer. */ + uint32_t pitch[MAX_NUM_PLANES]; + /** memory offset values of each video planes of hardware buffer. */ + uint32_t offset[MAX_NUM_PLANES]; + /** size of each vodeo planes of hardware buffer. */ + uint32_t psize[MAX_NUM_PLANES]; + /** layout type of each planes of hardware buffer. */ + uint32_t layout[MAX_NUM_PLANES]; +}NvBufferParams; + +/** + * Holds extended parameters for a hardware buffer. + */ +typedef struct _NvBufferParamsEx +{ + /** nvbuffer basic parameters. */ + NvBufferParams params; + /** offset in bytes from the start of the buffer to the first valid byte. + (Applicale for NvBufferPayload_MemHandle) */ + int32_t startofvaliddata; + /** size of the valid data from the first to the last valid byte. + (Applicale for NvBufferPayload_MemHandle) */ + int32_t sizeofvaliddatainbytes; + /** display scan format - progressive/interlaced. */ + NvBufferDisplayScanFormat scanformat[MAX_NUM_PLANES]; + /** offset of the second field for interlaced buffer. */ + uint32_t secondfieldoffset[MAX_NUM_PLANES]; + /** block height of the planes for blockLinear layout hardware buffer. */ + uint32_t blockheightlog2[MAX_NUM_PLANES]; + /** physical address of allocated planes. */ + uint32_t physicaladdress[MAX_NUM_PLANES]; + /** flags associated with planes */ + uint64_t flags[MAX_NUM_PLANES]; + /** metadata associated with the hardware buffer. */ + void *payloadmetaInfo; + /** chroma subsampling parameters */ + NvBufferChromaSubsamplingParams chromaSubsampling; + /** get buffer vpr information. */ + bool is_protected; + /** buffer sync point object parameters */ + NvBufferSyncObj syncobj; + /** reserved field. */ + void *reserved; +}NvBufferParamsEx; + +/** + * Holds parameters related to compositing/blending. + */ +typedef struct _NvBufferCompositeParams +{ + /** flag to indicate which of the composition/blending parameters are valid. */ + uint32_t composite_flag; + /** number of the input buffers to be composited. */ + uint32_t input_buf_count; + /** filters to use for composition. */ + NvBufferTransform_Filter composite_filter[MAX_COMPOSITE_FRAME]; + /** alpha values of input buffers for the blending. */ + float dst_comp_rect_alpha[MAX_COMPOSITE_FRAME]; + /** source rectangle coordinates of input buffers for composition. */ + NvBufferRect src_comp_rect[MAX_COMPOSITE_FRAME]; + /** destination rectangle coordinates of input buffers for composition. */ + NvBufferRect dst_comp_rect[MAX_COMPOSITE_FRAME]; + /** background color values for composition. */ + NvBufferCompositeBackground composite_bgcolor; + /** NvBufferSession to be used for composition. If NULL, the default session + * is used. */ + NvBufferSession session; +}NvBufferCompositeParams; + +/** + * Holds parameters for buffer transform functions. + */ +typedef struct _NvBufferTransformParams +{ + /** flag to indicate which of the transform parameters are valid. */ + uint32_t transform_flag; + /** flip method. */ + NvBufferTransform_Flip transform_flip; + /** transform filter. */ + NvBufferTransform_Filter transform_filter; + /** source rectangle coordinates for crop opeartion. */ + NvBufferRect src_rect; + /** destination rectangle coordinates for crop opeartion. */ + NvBufferRect dst_rect; + /** NvBufferSession to be used for transform. If NULL, the default session + * is used. */ + NvBufferSession session; +}NvBufferTransformParams; + + +/** +* This method can be used to wait on sync point ID. +* +* @param[in] syncobj_params sync point object parameters. +* @param[in] timeout sync point wait timeout value. +* +* @returns 0 for success, -1 for failure +*/ +int NvBufferSyncObjWait (NvBufferSyncObjParams *syncobj_params, unsigned int timeout); + +/** +* This method can be used to get hardware Buffer struct size. +* +* @returns hardware Buffer struct size. +*/ +int NvBufferGetSize (void); + +/** +* Creates an instance of EGLImage from a DMABUF FD. +* +* @param[in] display An EGLDisplay object used during the creation +* of the EGLImage. If NULL, nvbuf_utils() uses +* its own instance of EGLDisplay. +* @param[in] dmabuf_fd DMABUF FD of the buffer from which the EGLImage +* is to be created. +* +* @returns `EGLImageKHR` for success, `NULL` for failure +*/ +EGLImageKHR NvEGLImageFromFd (EGLDisplay display, int dmabuf_fd); + +/** +* Destroys an EGLImage object. +* +* @param[in] display An EGLDisplay object used to destroy the EGLImage. +* If NULL, nvbuf_utils() uses its own instance of +* EGLDisplay. +* @param[in] eglImage The EGLImageKHR object to be destroyed. +* +* @returns 0 for success, -1 for failure +*/ +int NvDestroyEGLImage (EGLDisplay display, EGLImageKHR eglImage); + +/** + * Allocates a hardware buffer (deprecated). + * + * @deprecated Use NvBufferCreateEx() instead. + * @param[out] dmabuf_fd Returns the DMABUF FD of the hardware buffer. + * @param[in] width Buffer width, in bytes. + * @param[in] height Buffer height, in bytes. + * @param[in] layout Layout of the buffer. + * @param[in] colorFormat Color format of the buffer. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufferCreate (int *dmabuf_fd, int width, int height, + NvBufferLayout layout, NvBufferColorFormat colorFormat); + +/** + * Allocates a hardware buffer. + * + * @param[out] dmabuf_fd Returns the DMABUF FD of the hardware buffer. + * @param[in] input_params Input parameters for hardware buffer creation. + * + * @returns 0 for success, -1 for failure + */ +int NvBufferCreateEx (int *dmabuf_fd, NvBufferCreateParams *input_params); + +/** + * Allocates a hardware buffer for interlace scan format. + * + * @param[out] dmabuf_fd Returns the DMABUF FD of the hardware buffer. + * @param[in] input_params Input parameters for hardware buffer creation. + * + * @returns 0 for success, -1 for failure + */ +int NvBufferCreateInterlace (int *dmabuf_fd, NvBufferCreateParams *input_params); + +/** + * Allocates a hardware buffer with a given chroma subsampling location. + * + * @param[in] dmabuf_fd DMABUF FD of the buffer. + * @param[in] input_params Input parameters for hardware buffer creation. + * @param[in] chromaSubsampling Chroma location parameters. + * + * @returns 0 for success, -1 for failure + */ +int NvBufferCreateWithChromaLoc (int *dmabuf_fd, NvBufferCreateParams *input_params, NvBufferChromaSubsamplingParams *chromaSubsampling); + +/** + * Gets buffer parameters. + * @param[in] dmabuf_fd `DMABUF FD` of buffer. + * @param[out] params A pointer to the structure to fill with parameters. + * + * @returns 0 for success, -1 for failure. + */ +int NvBufferGetParams (int dmabuf_fd, NvBufferParams *params); + +/** + * Gets buffer extended parameters. + * @param[in] dmabuf_fd `DMABUF FD` of buffer. + * @param[out] exparams A pointer to the structure to fill with extended parameters. + * + * @returns 0 for success, -1 for failure. + */ +int NvBufferGetParamsEx (int dmabuf_fd, NvBufferParamsEx *exparams); + +/** +* Destroys a hardware buffer. +* @param[in] dmabuf_fd Specifies the `dmabuf_fd` `hw_buffer` to destroy. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBufferDestroy (int dmabuf_fd); + +/** +* Extracts the `dmabuf_fd` from the hardware buffer. +* @param[in] nvbuf Specifies the `hw_buffer`. +* @param[out] dmabuf_fd Returns DMABUF FD of `hw_buffer`. +* +* @returns 0 for success, -1 for failure. +*/ +int ExtractFdFromNvBuffer (void *nvbuf, int *dmabuf_fd); + +/** +* Releases the `dmabuf_fd` buffer. +* @see ExtractfdFromNvBuffer() +* @param[in] dmabuf_fd Specifies the `dmabuf_fd` to release. +* +* @returns 0 for success, -1 for failure. +*/ +int NvReleaseFd (int dmabuf_fd); + +/** +* Syncs the hardware memory cache for the CPU. +* +* \sa NvBufferMemMap for the purpose of the function +* +* @param[in] dmabuf_fd DMABUF FD of buffer. +* @param[in] plane video frame plane. +* @param[in] pVirtAddr Virtual Address pointer of the memory-mapped plane. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBufferMemSyncForCpu (int dmabuf_fd, unsigned int plane, void **pVirtAddr); + +/** +* Syncs the hardware memory cache for the CPU, API to be used for another process. +* +* \sa NvBufferMemMapEx for the purpose of the function +* +* @param[in] dmabuf_fd DMABUF FD of buffer. +* @param[in] exparams extended parameters for a hardware buffer. +* @param[in] plane video frame plane. +* @param[in] pVirtAddr Virtual Address pointer of the memory-mapped plane. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBufferMemSyncForCpuEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr); + +/** +* Syncs the hardware memory cache for the device. +* +* \sa NvBufferMemMap for the purpose of the function +* +* @param[in] dmabuf_fd DMABUF FD of buffer. +* @param[in] plane video frame plane. +* @param[in] pVirtAddr Virtual Address pointer of the memory-mapped plane. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBufferMemSyncForDevice (int dmabuf_fd, unsigned int plane, void **pVirtAddr); + +/** +* Syncs the hardware memory cache for the device, API to be used for another process. +* +* \sa NvBufferMemMapEx for the purpose of the function +* +* @param[in] dmabuf_fd DMABUF FD of buffer. +* @param[in] exparams extended parameters for a hardware buffer. +* @param[in] plane video frame plane. +* @param[in] pVirtAddr Virtual Address pointer of the memory-mapped plane. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBufferMemSyncForDeviceEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr); + +/** +* Gets the memory-mapped virtual address of the plane. +* +* The client must call NvBufferMemSyncForCpu() with the virtual address returned +* by this function before accessing the mapped memory in CPU. +* +* After memory mapping is complete, mapped memory modification +* must be coordinated between the CPU and hardware device as +* follows: +* - CPU: If the CPU modifies any mapped memory, the client must call +* NvBufferMemSyncForDevice() before any hardware device accesses the memory. +* - Hardware device: If the mapped memory is modified by any hardware device, +* the client must call NvBufferMemSyncForCpu() before CPU accesses the memory. +* +* @param[in] dmabuf_fd DMABUF FD of buffer. +* @param[in] plane video frame plane.(Applies to @ref NvBufferPayload_SurfArray.) +* @param[in] memflag NvBuffer memory flag. +* @param[out] pVirtAddr Virtual Address pointer of the memory-mapped plane. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBufferMemMap (int dmabuf_fd, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr); + +/** +* Gets the memory-mapped virtual address of the plane, API to be used for another process. +* +* The client must call NvBufferMemSyncForCpuEx() with the virtual address returned +* by this function before accessing the mapped memory in CPU in another process. +* +* After memory mapping is complete, mapped memory modification +* must be coordinated between the CPU and hardware device as +* follows: +* - CPU: If the CPU modifies any mapped memory, the client must call +* NvBufferMemSyncForDeviceEx() before any hardware device accesses the memory. +* - Hardware device: If the mapped memory is modified by any hardware device, +* the client must call NvBufferMemSyncForCpuEx() before CPU accesses the memory. +* +* @param[in] dmabuf_fd DMABUF FD of buffer. +* @param[in] exparams extended parameters for a hardware buffer. +* @param[in] plane video frame plane.(Applies to @ref NvBufferPayload_SurfArray.) +* @param[in] memflag NvBuffer memory flag. +* @param[out] pVirtAddr Virtual Address pointer of the memory-mapped plane. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBufferMemMapEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr); + +/** +* Unmaps the mapped virtual address of the plane. +* +* If the following conditions are both true, the client must call +* NvBufferMemSyncForDevice() before unmapping the memory: +* - Mapped memory was modified by the CPU. +* - Mapped memory will be accessed by a hardware device. +* +* @param[in] dmabuf_fd DMABUF FD of the buffer. +* @param[in] plane Video frame plane. Applies to +* @ref NvBufferPayload_SurfArray. +* @param[in] pVirtAddr Virtual address pointer to the memory-mapped plane. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBufferMemUnMap (int dmabuf_fd, unsigned int plane, void **pVirtAddr); + +/** +* Unmaps the mapped virtual address of the plane, API to be used for another process. +* +* If the following conditions are both true, the client must call +* NvBufferMemSyncForDeviceEx() before unmapping the memory in another process: +* - Mapped memory was modified by the CPU. +* - Mapped memory will be accessed by a hardware device. +* +* @param[in] dmabuf_fd DMABUF FD of the buffer. +* @param[in] exparams extended parameters for a hardware buffer. +* @param[in] plane Video frame plane. Applies to +* @ref NvBufferPayload_SurfArray. +* @param[in] pVirtAddr Virtual address pointer to the memory-mapped plane. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBufferMemUnMapEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr); + +/** +* Copies the NvBuffer plane contents to a raw buffer plane. +* @param[in] dmabuf_fd DMABUF FD of NvBuffer. +* @param[in] plane video frame plane. +* @param[in] out_width aligned width of the raw data plane. +* @param[in] out_height aligned height of the raw data plane. +* @param[in] ptr pointer to the output raw plane data. +* +* @returns 0 for success, -1 for failure. +*/ +int NvBuffer2Raw (int dmabuf_fd, unsigned int plane, unsigned int out_width, unsigned int out_height, unsigned char *ptr); + +/** +* Copies raw buffer plane contents to an NvBuffer plane. +* @param[in] ptr pointer to the input raw plane data. +* @param[in] plane video frame plane. +* @param[in] in_width aligned width of the raw data plane. +* @param[in] in_height aligned height of the raw data plane. +* @param[in] dmabuf_fd DMABUF FD of NvBuffer. +* +* @returns 0 for success, -1 for failure. +*/ +int Raw2NvBuffer (unsigned char *ptr, unsigned int plane, unsigned int in_width, unsigned int in_height, int dmabuf_fd); + +/** +* Creates a new NvBufferSession for parallel scheduling of +* buffer transformations and compositions. +* +* @returns A session pointer, NULL for failure. +*/ +NvBufferSession NvBufferSessionCreate(void); + +/** +* Destroys an existing \ref NvBufferSession. +* @param[in] session An existing NvBufferSession. +*/ +void NvBufferSessionDestroy(NvBufferSession session); + +/** + * Transforms one DMA buffer to another DMA buffer. + * This function can support transforms for copying, scaling, fliping, rotating, and cropping. + * @param[in] src_dmabuf_fd DMABUF FD of source buffer + * @param[in] dst_dmabuf_fd DMABUF FD of destination buffer + * @param[in] transform_params transform parameters + * + * @return 0 for sucess, -1 for failure. + */ +int NvBufferTransform (int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params); + +/** + * Transforms one DMA buffer to another DMA buffer, API to be used for another process. + * This function can support transforms for copying, scaling, fliping, rotating, and cropping. + * @param[in] src_dmabuf_fd DMABUF FD of source buffer + * @param[in] input_params extended input parameters for a hardware buffer. + * @param[in] dst_dmabuf_fd DMABUF FD of destination buffer + * @param[in] output_params extended output parameters for a hardware buffer. + * @param[in] transform_params transform parameters + * + * @return 0 for sucess, -1 for failure. + */ +int NvBufferTransformEx (int src_dmabuf_fd, NvBufferParamsEx *input_params, int dst_dmabuf_fd, NvBufferParamsEx *output_params, NvBufferTransformParams *transform_params); + +/** + * Transforms one DMA buffer to another DMA buffer asyncroniously (non-blocking). + * This function can support transforms for copying, scaling, fliping, rotating, and cropping. + * @param[in] src_dmabuf_fd DMABUF FD of source buffer + * @param[in] dst_dmabuf_fd DMABUF FD of destination buffer + * @param[in] transform_params transform parameters + * @param[in] syncobj nvbuffer sync point object + * + * @return 0 for sucess, -1 for failure. + */ +int NvBufferTransformAsync (int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params, NvBufferSyncObj *syncobj); + + +/** + * \brief Composites multiple input DMA buffers to one output DMA buffer. + * + * This function can composite multiple input frames to one output. + * + * @param[in] src_dmabuf_fds An array of DMABUF FDs of source buffers. + * These buffers are composited together. Output + * is copied to the output buffer referenced by + * @a dst_dmabuf_fd. + * @param[in] dst_dmabuf_fd DMABUF FD of the compositing destination buffer. + * @param[in] composite_params Compositing parameters. + */ +int NvBufferComposite (int *src_dmabuf_fds, int dst_dmabuf_fd, NvBufferCompositeParams *composite_params); + +#ifdef __cplusplus +} +#endif + +/** @} */ + +#endif diff --git a/gst-nvvidconv/nvbufsurface.h b/gst-nvvidconv/nvbufsurface.h new file mode 100644 index 0000000..e4eb342 --- /dev/null +++ b/gst-nvvidconv/nvbufsurface.h @@ -0,0 +1,740 @@ +/* + * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved. + * + * NVIDIA Corporation and its licensors retain all intellectual property + * and proprietary rights in and to this software, related documentation + * and any modifications thereto. Any use, reproduction, disclosure or + * distribution of this software and related documentation without an express + * license agreement from NVIDIA Corporation is strictly prohibited. + */ + +/** + * @file nvbufsurface.h + * NvBufSurface Interface + * + * This file specifies the NvBufSurface management API. + * + * The NvBufSurface API provides methods to allocate / deallocate, map / unmap + * and copy batched buffers. + */ + /** + * @defgroup ds_nvbuf_api Buffer Management API module + * + * This section describes types and functions of NvBufSurface application + * programming interface. + * + */ + +#ifndef NVBUFSURFACE_H_ +#define NVBUFSURFACE_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +/** @defgroup ds_aaa NvBufSurface Types and Functions + * Defines types and functions of \ref NvBufSurface application + * programming interface. + * @ingroup ds_nvbuf_api + * @{ */ + +/** Defines the default padding length for reserved fields of structures. */ +#define STRUCTURE_PADDING 4 + +/** Defines the maximum number of planes. */ +#define NVBUF_MAX_PLANES 4 + +/** + * Defines the default values for chroma subsampling. + * The default value matches JPEG/MPEG use cases. + */ +#define NVBUFSURFACE_CHROMA_SUBSAMPLING_HORIZ_DEFAULT 0 +#define NVBUFSURFACE_CHROMA_SUBSAMPLING_VERT_DEFAULT 1 + +#define NVBUFSURFACE_CHROMA_SUBSAMPLING_PARAMS_DEFAULT \ + { \ + NVBUFSURFACE_CHROMA_SUBSAMPLING_HORIZ_DEFAULT, \ + NVBUFSURFACE_CHROMA_SUBSAMPLING_VERT_DEFAULT \ + } + +/** + * Defines mapping types of NvBufSurface. + */ +typedef enum +{ + NVBUF_MAP_READ, /**< Specifies \ref NvBufSurface mapping type "read." */ + NVBUF_MAP_WRITE, /**< Specifies \ref NvBufSurface mapping type + "write." */ + NVBUF_MAP_READ_WRITE, /**< Specifies \ref NvBufSurface mapping type + "read/write." */ +} NvBufSurfaceMemMapFlags; + +/** + * Defines tags that identify the components requesting a memory allocation. + * The tags can be used later to identify the total memory allocated to + * particular types of components. + * TODO: Check if DeepStream require more tags to be defined. + */ +typedef enum +{ + /** tag None. */ + NvBufSurfaceTag_NONE = 0x0, + /** tag for Camera. */ + NvBufSurfaceTag_CAMERA = 0x200, + /** tag for Jpeg Encoder/Decoder. */ + NvBufSurfaceTag_JPEG = 0x1500, + /** tag for VPR Buffers. */ + NvBufSurfaceTag_PROTECTED = 0x1504, + /** tag for H264/H265 Video Encoder. */ + NvBufSurfaceTag_VIDEO_ENC = 0x1200, + /** tag for H264/H265/VP9 Video Decoder. */ + NvBufSurfaceTag_VIDEO_DEC = 0x1400, + /** tag for Video Transform/Composite/Blend. */ + NvBufSurfaceTag_VIDEO_CONVERT = 0xf01, +} NvBufSurfaceTag; + +/** + * Defines color formats for NvBufSurface. + */ +typedef enum +{ + /** Specifies an invalid color format. */ + NVBUF_COLOR_FORMAT_INVALID, + /** Specifies 8 bit GRAY scale - single plane */ + NVBUF_COLOR_FORMAT_GRAY8, + /** Specifies BT.601 colorspace - YUV420 multi-planar. */ + NVBUF_COLOR_FORMAT_YUV420, + /** Specifies BT.601 colorspace - YUV420 multi-planar. */ + NVBUF_COLOR_FORMAT_YVU420, + /** Specifies BT.601 colorspace - YUV420 ER multi-planar. */ + NVBUF_COLOR_FORMAT_YUV420_ER, + /** Specifies BT.601 colorspace - YVU420 ER multi-planar. */ + NVBUF_COLOR_FORMAT_YVU420_ER, + /** Specifies BT.601 colorspace - Y/CbCr 4:2:0 multi-planar. */ + NVBUF_COLOR_FORMAT_NV12, + /** Specifies BT.601 colorspace - Y/CbCr ER 4:2:0 multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_ER, + /** Specifies BT.601 colorspace - Y/CbCr 4:2:0 multi-planar. */ + NVBUF_COLOR_FORMAT_NV21, + /** Specifies BT.601 colorspace - Y/CbCr ER 4:2:0 multi-planar. */ + NVBUF_COLOR_FORMAT_NV21_ER, + /** Specifies BT.601 colorspace - YUV 4:2:2 planar. */ + NVBUF_COLOR_FORMAT_UYVY, + /** Specifies BT.601 colorspace - YUV ER 4:2:2 planar. */ + NVBUF_COLOR_FORMAT_UYVY_ER, + /** Specifies BT.601 colorspace - YUV 4:2:2 planar. */ + NVBUF_COLOR_FORMAT_VYUY, + /** Specifies BT.601 colorspace - YUV ER 4:2:2 planar. */ + NVBUF_COLOR_FORMAT_VYUY_ER, + /** Specifies BT.601 colorspace - YUV 4:2:2 planar. */ + NVBUF_COLOR_FORMAT_YUYV, + /** Specifies BT.601 colorspace - YUV ER 4:2:2 planar. */ + NVBUF_COLOR_FORMAT_YUYV_ER, + /** Specifies BT.601 colorspace - YUV 4:2:2 planar. */ + NVBUF_COLOR_FORMAT_YVYU, + /** Specifies BT.601 colorspace - YUV ER 4:2:2 planar. */ + NVBUF_COLOR_FORMAT_YVYU_ER, + /** Specifies BT.601 colorspace - YUV444 multi-planar. */ + NVBUF_COLOR_FORMAT_YUV444, + /** Specifies RGBA-8-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_RGBA, + /** Specifies BGRA-8-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_BGRA, + /** Specifies ARGB-8-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_ARGB, + /** Specifies ABGR-8-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_ABGR, + /** Specifies RGBx-8-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_RGBx, + /** Specifies BGRx-8-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_BGRx, + /** Specifies xRGB-8-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_xRGB, + /** Specifies xBGR-8-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_xBGR, + /** Specifies RGB-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_RGB, + /** Specifies BGR-8-8-8 single plane. */ + NVBUF_COLOR_FORMAT_BGR, + /** Specifies BT.601 colorspace - Y/CbCr 4:2:0 10-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_10LE, + /** Specifies BT.601 colorspace - Y/CbCr 4:2:0 12-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_12LE, + /** Specifies BT.709 colorspace - YUV420 multi-planar. */ + NVBUF_COLOR_FORMAT_YUV420_709, + /** Specifies BT.709 colorspace - YUV420 ER multi-planar. */ + NVBUF_COLOR_FORMAT_YUV420_709_ER, + /** Specifies BT.709 colorspace - Y/CbCr 4:2:0 multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_709, + /** Specifies BT.709 colorspace - Y/CbCr ER 4:2:0 multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_709_ER, + /** Specifies BT.2020 colorspace - YUV420 multi-planar. */ + NVBUF_COLOR_FORMAT_YUV420_2020, + /** Specifies BT.2020 colorspace - Y/CbCr 4:2:0 multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_2020, + /** Specifies BT.601 colorspace - Y/CbCr ER 4:2:0 10-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_10LE_ER, + /** Specifies BT.709 colorspace - Y/CbCr 4:2:0 10-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_10LE_709, + /** Specifies BT.709 colorspace - Y/CbCr ER 4:2:0 10-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_10LE_709_ER, + /** Specifies BT.2020 colorspace - Y/CbCr 4:2:0 10-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_10LE_2020, + /** Specifies color format for packed 2 signed shorts */ + NVBUF_COLOR_FORMAT_SIGNED_R16G16, + /** Specifies RGB- unsigned 8 bit multiplanar plane. */ + NVBUF_COLOR_FORMAT_R8_G8_B8, + /** Specifies BGR- unsigned 8 bit multiplanar plane. */ + NVBUF_COLOR_FORMAT_B8_G8_R8, + /** Specifies RGB-32bit Floating point multiplanar plane. */ + NVBUF_COLOR_FORMAT_R32F_G32F_B32F, + /** Specifies BGR-32bit Floating point multiplanar plane. */ + NVBUF_COLOR_FORMAT_B32F_G32F_R32F, + /** Specifies BT.601 colorspace - YUV422 multi-planar. */ + NVBUF_COLOR_FORMAT_YUV422, + /** Specifies BT.601 colorspace - Y/CrCb 4:2:0 10-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV21_10LE, + /** Specifies BT.601 colorspace - Y/CrCb 4:2:0 12-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV21_12LE, + /** Specifies BT.2020 colorspace - Y/CbCr 4:2:0 12-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV12_12LE_2020, + /** Specifies BT.601 colorspace - Y/CbCr 4:2:2 multi-planar. */ + NVBUF_COLOR_FORMAT_NV16, + /** Specifies BT.601 colorspace - Y/CbCr 4:2:2 10-bit semi-planar. */ + NVBUF_COLOR_FORMAT_NV16_10LE, + /** Specifies BT.601 colorspace - Y/CbCr 4:4:4 multi-planar. */ + NVBUF_COLOR_FORMAT_NV24, + /** Specifies BT.601 colorspace - Y/CrCb 4:4:4 10-bit multi-planar. */ + NVBUF_COLOR_FORMAT_NV24_10LE, + /** Specifies BT.601_ER colorspace - Y/CbCr 4:2:2 multi-planar. */ + NVBUF_COLOR_FORMAT_NV16_ER, + /** Specifies BT.601_ER colorspace - Y/CbCr 4:4:4 multi-planar. */ + NVBUF_COLOR_FORMAT_NV24_ER, + /** Specifies BT.709 colorspace - Y/CbCr 4:2:2 multi-planar. */ + NVBUF_COLOR_FORMAT_NV16_709, + /** Specifies BT.709 colorspace - Y/CbCr 4:4:4 multi-planar. */ + NVBUF_COLOR_FORMAT_NV24_709, + /** Specifies BT.709_ER colorspace - Y/CbCr 4:2:2 multi-planar. */ + NVBUF_COLOR_FORMAT_NV16_709_ER, + /** Specifies BT.709_ER colorspace - Y/CbCr 4:4:4 multi-planar. */ + NVBUF_COLOR_FORMAT_NV24_709_ER, + /** Specifies BT.709 colorspace - Y/CbCr 10 bit 4:4:4 multi-planar. */ + NVBUF_COLOR_FORMAT_NV24_10LE_709, + /** Specifies BT.709 ER colorspace - Y/CbCr 10 bit 4:4:4 multi-planar. */ + NVBUF_COLOR_FORMAT_NV24_10LE_709_ER, + /** Specifies BT.2020 colorspace - Y/CbCr 10 bit 4:4:4 multi-planar. */ + NVBUF_COLOR_FORMAT_NV24_10LE_2020, + /** Specifies BT.2020 colorspace - Y/CbCr 12 bit 4:4:4 multi-planar. */ + NVBUF_COLOR_FORMAT_NV24_12LE_2020, + /** Specifies Non-linear RGB BT.709 colorspace - RGBA-10-10-10-2 planar. */ + NVBUF_COLOR_FORMAT_RGBA_10_10_10_2_709, + /** Specifies Non-linear RGB BT.2020 colorspace - RGBA-10-10-10-2 planar. */ + NVBUF_COLOR_FORMAT_RGBA_10_10_10_2_2020, + /** Specifies Non-linear RGB BT.709 colorspace - BGRA-10-10-10-2 planar. */ + NVBUF_COLOR_FORMAT_BGRA_10_10_10_2_709, + /** Specifies Non-linear RGB BT.2020 colorspace - BGRA-10-10-10-2 planar. */ + NVBUF_COLOR_FORMAT_BGRA_10_10_10_2_2020, + /** Specifies Optical flow SAD calculation Buffer format */ + NVBUF_COLOR_FORMAT_A32, + /** Specifies BT.601 colorspace - 10 bit YUV 4:2:2 interleaved. */ + NVBUF_COLOR_FORMAT_UYVP, + /** Specifies BT.601 colorspace - 10 bit YUV ER 4:2:2 interleaved. */ + NVBUF_COLOR_FORMAT_UYVP_ER, + + NVBUF_COLOR_FORMAT_LAST +} NvBufSurfaceColorFormat; + +/** + * Specifies layout formats for \ref NvBufSurface video planes. + */ +typedef enum +{ + /** Specifies pitch layout. */ + NVBUF_LAYOUT_PITCH, + /** Specifies block linear layout. */ + NVBUF_LAYOUT_BLOCK_LINEAR, +} NvBufSurfaceLayout; + +/** + * Specifies memory types for \ref NvBufSurface. + */ +typedef enum +{ + /** Specifies the default memory type, i.e. \ref NVBUF_MEM_CUDA_DEVICE + for dGPU, \ref NVBUF_MEM_SURFACE_ARRAY for Jetson. Use \ref NVBUF_MEM_DEFAULT + to allocate whichever type of memory is appropriate for the platform. */ + NVBUF_MEM_DEFAULT, + /** Specifies CUDA Host memory type. */ + NVBUF_MEM_CUDA_PINNED, + /** Specifies CUDA Device memory type. */ + NVBUF_MEM_CUDA_DEVICE, + /** Specifies CUDA Unified memory type. */ + NVBUF_MEM_CUDA_UNIFIED, + /** Specifies NVRM Surface Array type. Valid only for Jetson. */ + NVBUF_MEM_SURFACE_ARRAY, + /** Specifies NVRM Handle type. Valid only for Jetson. */ + NVBUF_MEM_HANDLE, + /** Specifies memory allocated by malloc(). */ + NVBUF_MEM_SYSTEM, +} NvBufSurfaceMemType; + +/** + * Defines display scan formats for NvBufSurface video planes. + */ +typedef enum +{ + /** Progessive scan formats. */ + NVBUF_DISPLAYSCANFORMAT_PROGRESSIVE, + /** Interlaced scan formats. */ + NVBUF_DISPLAYSCANFORMAT_INTERLACED, +} NvBufSurfaceDisplayScanFormat; + +/** + * Holds plane wise parameters(extended) of a buffer. + */ +typedef struct NvBufSurfacePlaneParamsEx +{ + /** display scan format - progressive/interlaced. */ + NvBufSurfaceDisplayScanFormat scanformat[NVBUF_MAX_PLANES]; + /** offset of the second field for interlaced buffer. */ + uint32_t secondfieldoffset[NVBUF_MAX_PLANES]; + /** block height of the planes for blockLinear layout buffer. */ + uint32_t blockheightlog2[NVBUF_MAX_PLANES]; + /** physical address of allocated planes. */ + uint32_t physicaladdress[NVBUF_MAX_PLANES]; + /** flags associated with planes */ + uint64_t flags[NVBUF_MAX_PLANES]; + + void * _reserved[STRUCTURE_PADDING * NVBUF_MAX_PLANES]; +} NvBufSurfacePlaneParamsEx; + +/** + * Holds plane wise parameters of a buffer. + */ +typedef struct NvBufSurfacePlaneParams +{ + /** Holds the number of planes. */ + uint32_t num_planes; + /** Holds the widths of planes. */ + uint32_t width[NVBUF_MAX_PLANES]; + /** Holds the heights of planes. */ + uint32_t height[NVBUF_MAX_PLANES]; + /** Holds the pitches of planes in bytes. */ + uint32_t pitch[NVBUF_MAX_PLANES]; + /** Holds the offsets of planes in bytes. */ + uint32_t offset[NVBUF_MAX_PLANES]; + /** Holds the sizes of planes in bytes. */ + uint32_t psize[NVBUF_MAX_PLANES]; + /** Holds the number of bytes occupied by a pixel in each plane. */ + uint32_t bytesPerPix[NVBUF_MAX_PLANES]; + + void * _reserved[STRUCTURE_PADDING * NVBUF_MAX_PLANES]; +} NvBufSurfacePlaneParams; + + +/** + * Holds Chroma Subsampling parameters for NvBufSurface allocation. + */ +typedef struct NvBufSurfaceChromaSubsamplingParams +{ + /** location settings */ + uint8_t chromaLocHoriz; + uint8_t chromaLocVert; +} NvBufSurfaceChromaSubsamplingParams; + +/** + * Holds parameters required to allocate an \ref NvBufSurface. + */ +typedef struct NvBufSurfaceCreateParams { + /** Holds the GPU ID. Valid only for a multi-GPU system. */ + uint32_t gpuId; + /** Holds the width of the buffer. */ + uint32_t width; + /** Holds the height of the buffer. */ + uint32_t height; + /** Holds the amount of memory to be allocated. Optional; if set, all other + parameters (width, height, etc.) are ignored. */ + uint32_t size; + /** Holds a "contiguous memory" flag. If set, contiguous memory is allocated + for the batch. Valid only for CUDA memory types. */ + bool isContiguous; + /** Holds the color format of the buffer. */ + NvBufSurfaceColorFormat colorFormat; + /** Holds the surface layout. May be Block Linear (BL) or Pitch Linear (PL). + For a dGPU, only PL is valid. */ + NvBufSurfaceLayout layout; + /** Holds the type of memory to be allocated. */ + NvBufSurfaceMemType memType; +} NvBufSurfaceCreateParams; + +/** + * Hold extended parameters required to allocate NvBufSurface. + * (Applicable for NvBufSurfaceAllocate API) + */ +typedef struct NvBufSurfaceAllocateParams { + /** Hold legacy NvBufSurface creation parameters */ + NvBufSurfaceCreateParams params; + /** Display scan format */ + NvBufSurfaceDisplayScanFormat displayscanformat; + /** Chroma Subsampling parameters */ + NvBufSurfaceChromaSubsamplingParams chromaSubsampling; + /** components tag to be used for memory allocation */ + NvBufSurfaceTag memtag; + + void * _reserved[STRUCTURE_PADDING]; +} NvBufSurfaceAllocateParams; + +/** + * Hold the pointers of mapped buffer. + */ +typedef struct NvBufSurfaceMappedAddr { + /** Holds planewise pointers to a CPU mapped buffer. */ + void * addr[NVBUF_MAX_PLANES]; + /** Holds a pointer to a mapped EGLImage. */ + void *eglImage; + + void * _reserved[STRUCTURE_PADDING]; +} NvBufSurfaceMappedAddr; + +/** + * Hold the information(extended) of single buffer in the batch. + */ +typedef struct NvBufSurfaceParamsEx { + /** offset in bytes from the start of the buffer to the first valid byte. + (Applicable for NVBUF_MEM_HANDLE) */ + int32_t startofvaliddata; + /** size of the valid data from the first to the last valid byte. + (Applicable for NVBUF_MEM_HANDLE) */ + int32_t sizeofvaliddatainbytes; + /** chroma subsampling parameters. + (Applicable for NVBUF_MEM_SURFACE_ARRAY) */ + NvBufSurfaceChromaSubsamplingParams chromaSubsampling; + /** get buffer vpr information. */ + bool is_protected; + /** plane wise extended info */ + NvBufSurfacePlaneParamsEx planeParamsex; + + void * _reserved[STRUCTURE_PADDING]; +} NvBufSurfaceParamsEx; + +/** + * Hold the information of single buffer in the batch. + */ +typedef struct NvBufSurfaceParams { + /** Holds the width of the buffer. */ + uint32_t width; + /** Holds the height of the buffer. */ + uint32_t height; + /** Holds the pitch of the buffer. */ + uint32_t pitch; + /** Holds the color format of the buffer. */ + NvBufSurfaceColorFormat colorFormat; + /** Holds BL or PL. For dGPU, only PL is valid. */ + NvBufSurfaceLayout layout; + /** Holds a DMABUF FD. Valid only for \ref NVBUF_MEM_SURFACE_ARRAY and + \ref NVBUF_MEM_HANDLE type memory. */ + uint64_t bufferDesc; + /** Holds the amount of allocated memory. */ + uint32_t dataSize; + /** Holds a pointer to allocated memory. Not valid for + \ref NVBUF_MEM_SURFACE_ARRAY or \ref NVBUF_MEM_HANDLE. */ + void * dataPtr; + /** Holds planewise information (width, height, pitch, offset, etc.). */ + NvBufSurfacePlaneParams planeParams; + /** Holds pointers to mapped buffers. Initialized to NULL + when the structure is created. */ + NvBufSurfaceMappedAddr mappedAddr; + /** pointers of extended parameters of single buffer in the batch.*/ + NvBufSurfaceParamsEx *paramex; + + void * _reserved[STRUCTURE_PADDING - 1]; +} NvBufSurfaceParams; + +/** + * Holds information about batched buffers. + */ +typedef struct NvBufSurface { + /** Holds a GPU ID. Valid only for a multi-GPU system. */ + uint32_t gpuId; + /** Holds the batch size. */ + uint32_t batchSize; + /** Holds the number valid and filled buffers. Initialized to zero when + an instance of the structure is created. */ + uint32_t numFilled; + /** Holds an "is contiguous" flag. If set, memory allocated for the batch + is contiguous. */ + bool isContiguous; + /** Holds type of memory for buffers in the batch. */ + NvBufSurfaceMemType memType; + /** Holds a pointer to an array of batched buffers. */ + NvBufSurfaceParams *surfaceList; + + void * _reserved[STRUCTURE_PADDING]; +} NvBufSurface; + +/** + * \brief Allocates a batch of buffers. + * + * Allocates memory for \a batchSize buffers and returns a pointer to an + * allocated \ref NvBufSurface. The \a params structure must have + * the allocation parameters of a single buffer. If \a params.size + * is set, a buffer of that size is allocated, and all other + * parameters (width, height, color format, etc.) are ignored. + * + * Call NvBufSurfaceDestroy() to free resources allocated by this function. + * + * @param[out] surf An indirect pointer to the allocated batched + * buffers. + * @param[in] batchSize Batch size of buffers. + * @param[in] params A pointer to an \ref NvBufSurfaceCreateParams + * structure. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufSurfaceCreate (NvBufSurface **surf, uint32_t batchSize, + NvBufSurfaceCreateParams *params); + +/** + * \brief Allocate batch of buffers. (Using extended buffer allocation parameters) + * + * Allocates memory for batchSize buffers and returns in *surf a pointer to allocated NvBufSurface. + * params structure should have allocation parameters of single buffer. If size field in + * params is set, buffer of that size will be allocated and all other + * parameters (w, h, color format etc.) will be ignored. + * + * Use NvBufSurfaceDestroy to free all the resources. + * + * @param[out] surf pointer to allocated batched buffers. + * @param[in] batchSize batch size of buffers. + * @param[in] paramsext pointer to NvBufSurfaceAllocateParams structure. + * + * @return 0 for success, -1 for failure. + */ +int NvBufSurfaceAllocate (NvBufSurface **surf, uint32_t batchSize, + NvBufSurfaceAllocateParams *paramsext); + +/** + * Free the batched buffers previously allocated through NvBufSurfaceCreate. + * + * @param[in] surf A pointer to an \ref NvBufSurface to be freed. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufSurfaceDestroy (NvBufSurface *surf); + +/** + * \brief Maps hardware batched buffers to the HOST or CPU address space. + * + * Valid for \ref NVBUF_MEM_CUDA_UNIFIED type memory for dGPU and + * \ref NVBUF_MEM_SURFACE_ARRAY and \ref NVBUF_MEM_HANDLE type memory for + * Jetson. + * + * This function fills an array of pointers at + * \a surf->surfaceList->mappedAddr->addr. + * \a surf is a pointer to an \ref NvBufSurface. + * \a surfaceList is a pointer to an \ref NvBufSurfaceParams. + * \a mappedAddr is a pointer to an \ref NvBufSurfaceMappedAddr. + * \a addr is declared as an array of pointers to void, and holds pointers + * to the buffers. + * + * The client must call NvBufSurfaceSyncForCpu() with the virtual address + * populated by this function before accessing mapped memory in the CPU. + * + * After memory mapping is complete, mapped memory modification + * must be coordinated between the CPU and the hardware device as + * follows: + * - CPU: If the CPU modifies mapped memory, the client must call + * NvBufSurfaceSyncForDevice() before any hardware device accesses the memory. + * - Hardware device: If a hardware device modifies mapped memory, the client + * must call NvBufSurfaceSyncForCpu() before the CPU accesses the memory. + * + * Use NvBufSurfaceUnMap() to unmap buffer(s) and release any resource. + * + * @param[in,out] surf A pointer to an NvBufSurface structure. The function + * stores pointers to the buffers in a descendant of this + * structure; see the notes above. + * @param[in] index Index of a buffer in the batch. -1 refers to all buffers + * in the batch. + * @param[in] plane Index of a plane in buffer. -1 refers to all planes + * in the buffer. + * @param[in] type A flag for mapping type. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufSurfaceMap (NvBufSurface *surf, int index, int plane, NvBufSurfaceMemMapFlags type); + +/** + * \brief Unmaps previously mapped buffer(s). + * + * @param[in] surf A pointer to an \ref NvBufSurface structure. + * @param[in] index Index of a buffer in the batch. -1 indicates + * all buffers in the batch. + * @param[in] plane Index of a plane in the buffer. -1 indicates + * all planes in the buffer. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufSurfaceUnMap (NvBufSurface *surf, int index, int plane); + +/** + * \brief Copies the content of source batched buffer(s) to destination + * batched buffer(s). + * + * You can use this function to copy source buffer(s) of one memory type + * to destination buffer(s) of another memory type, + * e.g. CUDA host to CUDA device, malloc'ed memory to CUDA device, etc. + * + * The source and destination \ref NvBufSurface objects must have same + * buffer and batch size. + * + * @param[in] srcSurf A pointer to the source NvBufSurface structure. + * @param[in] dstSurf A pointer to the destination NvBufSurface structure. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufSurfaceCopy (NvBufSurface *srcSurf, NvBufSurface *dstSurf); + +/** + * \brief Copies the NvBufSurface plane memory content to a raw buffer plane for a specific + * batched buffer. + * + * This function can be used to copy plane memory content from source raw buffer pointer + * to specific destination batch buffer of supported memory type. + * + * @param[in] Surf pointer to NvBufSurface structure. + * @param[in] index index of buffer in the batch. + * @param[in] plane index of plane in buffer. + * @param[in] out_width aligned width of the raw data plane. + * @param[in] out_height aligned height of the raw data plane. + * @param[in] ptr pointer to the output raw plane data. + * + * @return 0 for success, -1 for failure. + */ +int NvBufSurface2Raw (NvBufSurface *Surf, unsigned int index, unsigned int plane, unsigned int out_width, unsigned int out_height, unsigned char *ptr); + +/** + * \brief Copies the raw buffer plane memory content to the NvBufSurface plane memory of a specific + * batched buffer. + * + * This function can be used to copy plane memory content from batch buffer + * to specific destination raw buffer pointer. + * + * @param[in] ptr pointer to the input raw plane data. + * @param[in] index index of buffer in the batch. + * @param[in] plane index of plane in buffer. + * @param[in] in_width aligned width of the raw data plane. + * @param[in] in_height aligned height of the raw data plane. + * @param[in] Surf pointer to NvBufSurface structure. + * + * @return 0 for success, -1 for failure. + */ +int Raw2NvBufSurface (unsigned char *ptr, unsigned int index, unsigned int plane, unsigned int in_width, unsigned int in_height, NvBufSurface *Surf); + +/** + * Syncs the HW memory cache for the CPU. + * + * Valid only for memory types \ref NVBUF_MEM_SURFACE_ARRAY and + * \ref NVBUF_MEM_HANDLE. + * + * @param[in] surf A pointer to an \ref NvBufSurface structure. + * @param[in] index Index of the buffer in the batch. -1 refers to + * all buffers in the batch. + * @param[in] plane Index of a plane in the buffer. -1 refers to all planes + * in the buffer. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufSurfaceSyncForCpu (NvBufSurface *surf, int index, int plane); + +/** + * \brief Syncs the hardware memory cache for the device. + * + * Valid only for memory types \ref NVBUF_MEM_SURFACE_ARRAY and + * \ref NVBUF_MEM_HANDLE. + * + * @param[in] surf A pointer to an \ref NvBufSurface structure. + * @param[in] index Index of a buffer in the batch. -1 refers to all buffers + * in the batch. + * @param[in] plane Index of a plane in the buffer. -1 refers to all planes + * in the buffer. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufSurfaceSyncForDevice (NvBufSurface *surf, int index, int plane); + +/** + * \brief Gets the \ref NvBufSurface from the DMABUF FD. + * + * @param[in] dmabuf_fd DMABUF FD of the buffer. + * @param[out] buffer A pointer to the NvBufSurface. + * + * @return 0 for success, or -1 otherwise. + */ +int NvBufSurfaceFromFd (int dmabuf_fd, void **buffer); + +/** + * \brief Fills each byte of the buffer(s) in an \ref NvBufSurface with a + * provided value. + * + * You can also use this function to reset the buffer(s) in the batch. + * + * @param[in] surf A pointer to the NvBufSurface structure. + * @param[in] index Index of a buffer in the batch. -1 refers to all buffers + * in the batch. + * @param[in] plane Index of a plane in the buffer. -1 refers to all planes + * in the buffer. + * @param[in] value The value to be used as fill. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufSurfaceMemSet (NvBufSurface *surf, int index, int plane, uint8_t value); + +/** + * \brief Creates an EGLImage from the memory of one or more + * \ref NvBufSurface buffers. + * + * Only memory type \ref NVBUF_MEM_SURFACE_ARRAY is supported. + * + * This function returns the created EGLImage by storing its address at + * \a surf->surfaceList->mappedAddr->eglImage. (\a surf is a pointer to + * an NvBufSurface. \a surfaceList is a pointer to an \ref NvBufSurfaceParams. + * \a mappedAddr is a pointer to an \ref NvBufSurfaceMappedAddr. + * \a eglImage is declared as a pointer to void, and holds an + * EGLImageKHR.) + * + * You can use this function in scenarios where a CUDA operation on Jetson + * hardware memory (identified by \ref NVBUF_MEM_SURFACE_ARRAY) is required. + * The EGLImageKHR struct provided by this function can then be registered + * with CUDA for further CUDA operations. + * + * @param[in,out] surf A pointer to an NvBufSurface structure. The function + * stores a pointer to the created EGLImage in + * a descendant of this structure; see the notes above. + * @param[in] index Index of a buffer in the batch. -1 specifies all buffers + * in the batch. + * + * @return 0 for success, or -1 otherwise. + */ +int NvBufSurfaceMapEglImage (NvBufSurface *surf, int index); + +/** + * \brief Destroys the previously created EGLImage object(s). + * + * @param[in] surf A pointer to an \ref NvBufSurface structure. + * @param[in] index The index of a buffer in the batch. -1 specifies all + * buffers in the batch. + * + * @return 0 if successful, or -1 otherwise. + */ +int NvBufSurfaceUnMapEglImage (NvBufSurface *surf, int index); + +/** @} */ + +#ifdef __cplusplus +} +#endif +#endif /* NVBUFSURFACE_H_ */ diff --git a/push_info.txt b/push_info.txt new file mode 100644 index 0000000..392a48b --- /dev/null +++ b/push_info.txt @@ -0,0 +1 @@ +jetson_35.1