Jetson Linux API Reference

32.7.6 Release
nvbuf_utils.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2016-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION and its licensors retain all intellectual property
6  * and proprietary rights in and to this software, related documentation
7  * and any modifications thereto. Any use, reproduction, disclosure or
8  * distribution of this software and related documentation without an express
9  * license agreement from NVIDIA CORPORATION is strictly prohibited.
10  */
11 
26 #ifndef _NVBUF_UTILS_H_
27 #define _NVBUF_UTILS_H_
28 
29 #ifdef __cplusplus
30 extern "C"
31 {
32 #endif
33 
34 #include <EGL/egl.h>
35 #include <EGL/eglext.h>
36 #include <errno.h>
37 #include <stdbool.h>
38 #ifdef __ANDROID__
39 #include <cutils/native_handle.h>
40 #endif
41 
45 #define MAX_NUM_PLANES 4
46 
50 #define MAX_COMPOSITE_FRAME 16
51 
56 #define NVBUF_CHROMA_SUBSAMPLING_HORIZ_DEFAULT 0
57 #define NVBUF_CHROMA_SUBSAMPLING_VERT_DEFAULT 1
58 
62 #define NVBUF_MAX_SYNCOBJ_PARAMS 5
63 
70 #define NVBUFFER_SYNCPOINT_WAIT_INFINITE 0xFFFFFFFF
71 
75 typedef enum
76 {
82 
86 typedef enum
87 {
93 
98 typedef enum
99 {
105 
109 typedef enum
110 {
116 
120 typedef enum
121 {
129 
135 typedef enum
136 {
151 } NvBufferTag;
152 
156 typedef enum
157 {
273 
277 typedef enum
278 {
296 
300 typedef enum
301 {
315 
319 typedef enum {
329 
333 typedef enum {
337  NVBUFFER_BLEND = 1 << 1,
341 
348 {
349  uint32_t syncpointID;
350  uint32_t value;
352 
356 typedef struct _NvBufferSyncObjRec
357 {
359  uint32_t num_insyncobj;
361  uint32_t use_outsyncobj;
363 
367 typedef struct
368 {
370  float r;
372  float g;
374  float b;
376 
380 typedef struct
381 {
383  uint32_t top;
385  uint32_t left;
387  uint32_t width;
389  uint32_t height;
390 }NvBufferRect;
391 
398 typedef struct _NvBufferSession * NvBufferSession;
399 
404 {
406  uint8_t chromaLocHoriz;
407  uint8_t chromaLocVert;
409 
413 typedef struct _NvBufferCDEParams
414 {
424 
425 #define NVBUF_CHROMA_SUBSAMPLING_PARAMS_DEFAULT \
426  { \
427  NVBUF_CHROMA_SUBSAMPLING_HORIZ_DEFAULT, \
428  NVBUF_CHROMA_SUBSAMPLING_VERT_DEFAULT \
429  }
430 
434 typedef struct _NvBufferCreateParams
435 {
437  int32_t width;
439  int32_t height;
443  int32_t memsize;
451 
455 typedef struct _NvBufferParams
456 {
458  uint32_t dmabuf_fd;
460  void *nv_buffer;
464  int32_t memsize;
466  uint32_t nv_buffer_size;
470  uint32_t num_planes;
484 
488 typedef struct _NvBufferParamsEx
489 {
519 
524 {
526  uint32_t composite_flag;
528  uint32_t input_buf_count;
543 
548 {
550  uint32_t transform_flag;
563 
564 
573 int NvBufferSyncObjWait (NvBufferSyncObjParams *syncobj_params, unsigned int timeout);
574 
584 int NvBufferSyncObjParamsFromFile(int file, NvBufferSyncObjParams *syncobjparams, unsigned int *nparams);
585 
591 int NvBufferGetSize (void);
592 
604 EGLImageKHR NvEGLImageFromFd (EGLDisplay display, int dmabuf_fd);
605 
616 int NvDestroyEGLImage (EGLDisplay display, EGLImageKHR eglImage);
617 
630 int NvBufferCreate (int *dmabuf_fd, int width, int height,
631  NvBufferLayout layout, NvBufferColorFormat colorFormat);
632 
641 int NvBufferCreateEx (int *dmabuf_fd, NvBufferCreateParams *input_params);
642 
651 int NvBufferCreateInterlace (int *dmabuf_fd, NvBufferCreateParams *input_params);
652 
653 
663 int NvBufferCreateWithChromaLoc (int *dmabuf_fd, NvBufferCreateParams *input_params, NvBufferChromaSubsamplingParams *chromaSubsampling);
664 
673 int NvBufferCreateCompressed (int *dmabuf_fd, NvBufferCreateParams *input_params);
674 
682 int NvBufferGetParams (int dmabuf_fd, NvBufferParams *params);
683 
691 int NvBufferGetParamsEx (int dmabuf_fd, NvBufferParamsEx *exparams);
692 
699 int NvBufferDestroy (int dmabuf_fd);
700 
708 int ExtractFdFromNvBuffer (void *nvbuf, int *dmabuf_fd);
709 
717 int NvReleaseFd (int dmabuf_fd);
718 
730 int NvBufferMemSyncForCpu (int dmabuf_fd, unsigned int plane, void **pVirtAddr);
731 
744 int NvBufferMemSyncForCpuEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr);
745 
757 int NvBufferMemSyncForDevice (int dmabuf_fd, unsigned int plane, void **pVirtAddr);
758 
771 int NvBufferMemSyncForDeviceEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr);
772 
794 int NvBufferMemMap (int dmabuf_fd, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr);
795 
818 int NvBufferMemMapEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr);
819 
835 int NvBufferMemUnMap (int dmabuf_fd, unsigned int plane, void **pVirtAddr);
836 
853 int NvBufferMemUnMapEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr);
854 
865 int NvBuffer2Raw (int dmabuf_fd, unsigned int plane, unsigned int out_width, unsigned int out_height, unsigned char *ptr);
866 
877 int Raw2NvBuffer (unsigned char *ptr, unsigned int plane, unsigned int in_width, unsigned int in_height, int dmabuf_fd);
878 
886 
892 
902 int NvBufferTransform (int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params);
903 
915 int NvBufferTransformEx (int src_dmabuf_fd, NvBufferParamsEx *input_params, int dst_dmabuf_fd, NvBufferParamsEx *output_params, NvBufferTransformParams *transform_params);
916 
927 int NvBufferTransformAsync (int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params, NvBufferSyncObj *syncobj);
928 
929 
942 int NvBufferComposite (int *src_dmabuf_fds, int dst_dmabuf_fd, NvBufferCompositeParams *composite_params);
943 
961 int NvBufferImportFd (int in_dmabuf_fd, int *out_dmabuf_fd, NvBufferParamsEx *in_params);
962 
963 #ifdef __ANDROID__
964 
972 int NvBufferImportGetBufferId(uint64_t *out_buf_id, buffer_handle_t handle);
983 int NvBufferImportGraphicBufferFd(int *out_dmabuf_fd, buffer_handle_t *handle, NvBufferParamsEx *exparams);
984 #endif
985 
986 #ifdef __cplusplus
987 }
988 #endif
989 
992 #endif
_NvBufferParamsEx::secondfieldoffset
uint32_t secondfieldoffset[MAX_NUM_PLANES]
offset of the second field for interlaced buffer.
Definition: nvbuf_utils.h:501
_NvBufferParamsEx::scanformat
NvBufferDisplayScanFormat scanformat[MAX_NUM_PLANES]
display scan format - progressive/interlaced.
Definition: nvbuf_utils.h:499
NvBufferColorFormat_NV12_12LE_2020
@ NvBufferColorFormat_NV12_12LE_2020
BT.2020 colorspace - Y/CbCr 4:2:0 12-bit multi-planar.
Definition: nvbuf_utils.h:211
_NvBufferParams::psize
uint32_t psize[MAX_NUM_PLANES]
size of each vodeo planes of hardware buffer.
Definition: nvbuf_utils.h:480
NVBUF_MAX_SYNCOBJ_PARAMS
#define NVBUF_MAX_SYNCOBJ_PARAMS
Defines the maximum number of sync object parameters.
Definition: nvbuf_utils.h:62
NvBufferCompositeBackground::b
float b
background color value for b.
Definition: nvbuf_utils.h:374
NvBufferSyncObjParamsFromFile
int NvBufferSyncObjParamsFromFile(int file, NvBufferSyncObjParams *syncobjparams, unsigned int *nparams)
This method can be used to get sync point object parameters from sync point FD.
NvBufferColorFormat_NV24_12LE_2020
@ NvBufferColorFormat_NV24_12LE_2020
BT.2020 colorspace - Y/CbCr 12 bit 4:4:4 multi-planar.
Definition: nvbuf_utils.h:261
NVBUFFER_BLEND
@ NVBUFFER_BLEND
flag to set for blending.
Definition: nvbuf_utils.h:337
Raw2NvBuffer
int Raw2NvBuffer(unsigned char *ptr, unsigned int plane, unsigned int in_width, unsigned int in_height, int dmabuf_fd)
Copies raw buffer plane contents to an NvBuffer plane.
_NvBufferCDEParams
Holds CDE parameters.
Definition: nvbuf_utils.h:413
NvBufferColorFormat_NV16_10LE
@ NvBufferColorFormat_NV16_10LE
BT.601 colorspace - Y/CbCr 4:2:2 10-bit semi-planar.
Definition: nvbuf_utils.h:237
NvBufferLayout
NvBufferLayout
Defines Layout formats for NvBuffer video planes.
Definition: nvbuf_utils.h:109
NvEGLImageFromFd
EGLImageKHR NvEGLImageFromFd(EGLDisplay display, int dmabuf_fd)
Creates an instance of EGLImage from a DMABUF FD.
NvBufferTag
NvBufferTag
Defines tags that identify the components requesting a memory allocation.
Definition: nvbuf_utils.h:135
_NvBufferSyncObjRec::outsyncobj
NvBufferSyncObjParams outsyncobj
Definition: nvbuf_utils.h:360
NvBufferColorFormat_RGBA_10_10_10_2_709
@ NvBufferColorFormat_RGBA_10_10_10_2_709
Non-linear RGB BT.709 colorspace - RGBA-10-10-10-2 planar.
Definition: nvbuf_utils.h:263
NvBufferColorFormat_NV12
@ NvBufferColorFormat_NV12
BT.601 colorspace - Y/CbCr 4:2:0 multi-planar.
Definition: nvbuf_utils.h:169
NvBufferColorFormat_NV12_10LE_2020
@ NvBufferColorFormat_NV12_10LE_2020
BT.2020 colorspace - Y/CbCr 4:2:0 10-bit multi-planar.
Definition: nvbuf_utils.h:205
NvBufferComposite
int NvBufferComposite(int *src_dmabuf_fds, int dst_dmabuf_fd, NvBufferCompositeParams *composite_params)
Composites multiple input DMA buffers to one output DMA buffer.
NvBufferMemSyncForCpuEx
int NvBufferMemSyncForCpuEx(int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr)
Syncs the hardware memory cache for the CPU, API to be used for another process.
NVBUFFER_TRANSFORM_CROP_DST
@ NVBUFFER_TRANSFORM_CROP_DST
transform flag to crop destination rectangle.
Definition: nvbuf_utils.h:323
NvBufferMem_Write
@ NvBufferMem_Write
Memory write.
Definition: nvbuf_utils.h:125
NvBufferColorFormat_YUV420
@ NvBufferColorFormat_YUV420
BT.601 colorspace - YUV420 multi-planar.
Definition: nvbuf_utils.h:159
NvBufferCDEParams
struct _NvBufferCDEParams NvBufferCDEParams
Holds CDE parameters.
_NvBufferParams::offset
uint32_t offset[MAX_NUM_PLANES]
memory offset values of each video planes of hardware buffer.
Definition: nvbuf_utils.h:478
NvBufferTransform_Filter_Nearest
@ NvBufferTransform_Filter_Nearest
transform filter nearest.
Definition: nvbuf_utils.h:303
NvBufferTransform_Flip
NvBufferTransform_Flip
Defines video flip methods.
Definition: nvbuf_utils.h:277
NvBufferColorFormat_NV24
@ NvBufferColorFormat_NV24
BT.601 colorspace - Y/CbCr 4:4:4 multi-planar.
Definition: nvbuf_utils.h:239
_NvBufferParams::memsize
int32_t memsize
size of the memory.
Definition: nvbuf_utils.h:464
NvBufferTransformParams
struct _NvBufferTransformParams NvBufferTransformParams
Holds parameters for buffer transform functions.
_NvBufferParams::dmabuf_fd
uint32_t dmabuf_fd
Holds the DMABUF FD of the hardware buffer.
Definition: nvbuf_utils.h:458
NvBufferColorFormat_NV24_709
@ NvBufferColorFormat_NV24_709
BT.709 colorspace - Y/CbCr 4:4:4 multi-planar.
Definition: nvbuf_utils.h:249
NvBufferColorFormat_NV16
@ NvBufferColorFormat_NV16
BT.601 colorspace - Y/CbCr 4:2:2 multi-planar.
Definition: nvbuf_utils.h:235
NvBufferMem_Read_Write
@ NvBufferMem_Read_Write
Memory read & write.
Definition: nvbuf_utils.h:127
NvBufferColorFormat_NV21_ER
@ NvBufferColorFormat_NV21_ER
BT.601 colorspace - Y/CbCr ER 4:2:0 multi-planar.
Definition: nvbuf_utils.h:175
NvBufferColorFormat_YUYV_ER
@ NvBufferColorFormat_YUYV_ER
BT.601 colorspace - YUV ER 4:2:2 planar.
Definition: nvbuf_utils.h:187
_NvBufferTransformParams::dst_rect
NvBufferRect dst_rect
destination rectangle coordinates for crop opeartion.
Definition: nvbuf_utils.h:558
NvBufferColorFormat_NV12_10LE_709
@ NvBufferColorFormat_NV12_10LE_709
BT.709 colorspace - Y/CbCr 4:2:0 10-bit multi-planar.
Definition: nvbuf_utils.h:201
_NvBufferCreateParams::payloadType
NvBufferPayloadType payloadType
payload type of the buffer.
Definition: nvbuf_utils.h:441
NvBufferGetParamsEx
int NvBufferGetParamsEx(int dmabuf_fd, NvBufferParamsEx *exparams)
Gets buffer extended parameters.
NvBufferCompositeBackground::g
float g
background color value for g.
Definition: nvbuf_utils.h:372
NvBufferColorFormat_A32
@ NvBufferColorFormat_A32
Optical flow SAD calculation Buffer format.
Definition: nvbuf_utils.h:229
NvBufferColorFormat_XRGB32
@ NvBufferColorFormat_XRGB32
LegacyRGBA colorspace - XRGB-8-8-8-8 planar.
Definition: nvbuf_utils.h:195
NvBufferColorFormat_NV16_ER
@ NvBufferColorFormat_NV16_ER
BT.601_ER colorspace - Y/CbCr 4:2:2 multi-planar.
Definition: nvbuf_utils.h:243
NvBufferGetSize
int NvBufferGetSize(void)
This method can be used to get hardware Buffer struct size.
_NvBufferCompositeParams
Holds parameters related to compositing/blending.
Definition: nvbuf_utils.h:523
NvBufferParamsEx
struct _NvBufferParamsEx NvBufferParamsEx
Holds extended parameters for a hardware buffer.
NvBufferColorFormat_YUV420_709_ER
@ NvBufferColorFormat_YUV420_709_ER
BT.709 colorspace - YUV420 ER multi-planar.
Definition: nvbuf_utils.h:217
ExtractFdFromNvBuffer
int ExtractFdFromNvBuffer(void *nvbuf, int *dmabuf_fd)
Extracts the dmabuf_fd from the hardware buffer.
_NvBufferCreateParams::width
int32_t width
width of the buffer.
Definition: nvbuf_utils.h:437
NvBufferTransform_Filter_Smart
@ NvBufferTransform_Filter_Smart
transform filter smart.
Definition: nvbuf_utils.h:311
NvBufferMem_Read
@ NvBufferMem_Read
Memory read.
Definition: nvbuf_utils.h:123
NvBufferRect::height
uint32_t height
rectangle height.
Definition: nvbuf_utils.h:389
NvBufferMemUnMap
int NvBufferMemUnMap(int dmabuf_fd, unsigned int plane, void **pVirtAddr)
Unmaps the mapped virtual address of the plane.
_NvBufferParamsEx::startofvaliddata
int32_t startofvaliddata
offset in bytes from the start of the buffer to the first valid byte.
Definition: nvbuf_utils.h:494
_NvBufferParams
Holds parameters for a hardware buffer.
Definition: nvbuf_utils.h:455
NvBufferTransform
int NvBufferTransform(int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params)
Transforms one DMA buffer to another DMA buffer.
NvBufferChromaSubsamplingParams
struct _NvBufferChromaSubSamplingParams NvBufferChromaSubsamplingParams
Holds Chroma Subsampling parameters.
NvBufferColorFormat_NV21
@ NvBufferColorFormat_NV21
BT.601 colorspace - Y/CbCr 4:2:0 multi-planar.
Definition: nvbuf_utils.h:173
NvBufferTransform_FlipY
@ NvBufferTransform_FlipY
Video flip with respect to Y-axis.
Definition: nvbuf_utils.h:290
NVBUFFER_COMPOSITE
@ NVBUFFER_COMPOSITE
flag to set for composition.
Definition: nvbuf_utils.h:335
NVBUFFER_TRANSFORM_FILTER
@ NVBUFFER_TRANSFORM_FILTER
transform flag to set filter type.
Definition: nvbuf_utils.h:325
NVBUFFER_TRANSFORM_CROP_SRC
@ NVBUFFER_TRANSFORM_CROP_SRC
transform flag to crop source rectangle.
Definition: nvbuf_utils.h:321
_NvBufferSyncObjRec::use_outsyncobj
uint32_t use_outsyncobj
Definition: nvbuf_utils.h:361
NvBufferTransform_Filter_Bilinear
@ NvBufferTransform_Filter_Bilinear
transform filter bilinear.
Definition: nvbuf_utils.h:305
NvBufferColorFormat_NV16_709
@ NvBufferColorFormat_NV16_709
BT.709 colorspace - Y/CbCr 4:2:2 multi-planar.
Definition: nvbuf_utils.h:247
NvBufferCompression
NvBufferCompression
Defines Compression flag for NvBuffer.
Definition: nvbuf_utils.h:98
NvBufferColorFormat_NV24_709_ER
@ NvBufferColorFormat_NV24_709_ER
BT.709_ER colorspace - Y/CbCr 4:4:4 multi-planar.
Definition: nvbuf_utils.h:253
NvBufferColorFormat_NV24_10LE_709
@ NvBufferColorFormat_NV24_10LE_709
BT.709 colorspace - Y/CbCr 10 bit 4:4:4 multi-planar.
Definition: nvbuf_utils.h:255
_NvBufferParams::payloadType
NvBufferPayloadType payloadType
payload type of the buffer.
Definition: nvbuf_utils.h:462
_NvBufferSyncObjRec::num_insyncobj
uint32_t num_insyncobj
Definition: nvbuf_utils.h:359
NvBufferSessionCreate
NvBufferSession NvBufferSessionCreate(void)
Creates a new NvBufferSession for parallel scheduling of buffer transformations and compositions.
NvBufferColorFormat_BGRA_10_10_10_2_709
@ NvBufferColorFormat_BGRA_10_10_10_2_709
Non-linear RGB BT.709 colorspace - BGRA-10-10-10-2 planar.
Definition: nvbuf_utils.h:267
_NvBufferParamsEx
Holds extended parameters for a hardware buffer.
Definition: nvbuf_utils.h:488
NvBufferDestroy
int NvBufferDestroy(int dmabuf_fd)
Destroys a hardware buffer.
NvBufferColorFormat_NV12_709_ER
@ NvBufferColorFormat_NV12_709_ER
BT.709 colorspace - Y/CbCr ER 4:2:0 multi-planar.
Definition: nvbuf_utils.h:221
_NvBufferCDEParams::CdeScatterBufferOffset
uint32_t CdeScatterBufferOffset[MAX_NUM_PLANES]
CDE scatter buffer offset.
Definition: nvbuf_utils.h:420
NvBufferTransform_Filter
NvBufferTransform_Filter
Defines transform video filter types.
Definition: nvbuf_utils.h:300
NvBufferTransform_Rotate90
@ NvBufferTransform_Rotate90
Video flip rotate 90 degree counter-clockwise.
Definition: nvbuf_utils.h:282
_NvBufferParams::layout
uint32_t layout[MAX_NUM_PLANES]
layout type of each planes of hardware buffer.
Definition: nvbuf_utils.h:482
_NvBufferParams::nv_buffer
void * nv_buffer
pointer to hardware buffer memory.
Definition: nvbuf_utils.h:460
NvBufferLayout_BlockLinear
@ NvBufferLayout_BlockLinear
BlockLinear Layout.
Definition: nvbuf_utils.h:114
NvBufferMemSyncForDevice
int NvBufferMemSyncForDevice(int dmabuf_fd, unsigned int plane, void **pVirtAddr)
Syncs the hardware memory cache for the device.
_NvBufferSyncObjParams
Holds parameters for buffer sync point object.
Definition: nvbuf_utils.h:347
NVBUFFER_TRANSFORM_FLIP
@ NVBUFFER_TRANSFORM_FLIP
transform flag to set flip method.
Definition: nvbuf_utils.h:327
NvBufferTransform_InvTranspose
@ NvBufferTransform_InvTranspose
Video flip inverse transpode.
Definition: nvbuf_utils.h:294
_NvBufferCreateParams::memsize
int32_t memsize
size of the memory.
Definition: nvbuf_utils.h:443
NvBufferColorFormat_NV24_ER
@ NvBufferColorFormat_NV24_ER
BT.601_ER colorspace - Y/CbCr 4:4:4 multi-planar.
Definition: nvbuf_utils.h:245
_NvBufferParamsEx::payloadmetaInfo
void * payloadmetaInfo
metadata associated with the hardware buffer.
Definition: nvbuf_utils.h:509
_NvBufferCompositeParams::composite_filter
NvBufferTransform_Filter composite_filter[MAX_COMPOSITE_FRAME]
filters to use for composition.
Definition: nvbuf_utils.h:530
_NvBufferCreateParams
Holds the input parameters for hardware buffer creation.
Definition: nvbuf_utils.h:434
_NvBufferParams::height
uint32_t height[MAX_NUM_PLANES]
height of each planes of hardware buffer.
Definition: nvbuf_utils.h:474
NvBufferColorFormat_YVYU
@ NvBufferColorFormat_YVYU
BT.601 colorspace - YUV 4:2:2 planar.
Definition: nvbuf_utils.h:189
NvBufferColorFormat
NvBufferColorFormat
Defines color formats for NvBuffer.
Definition: nvbuf_utils.h:156
NvBufferDisplayScanFormat
NvBufferDisplayScanFormat
Defines display scan formats for NvBuffer video planes.
Definition: nvbuf_utils.h:86
NvBufferColorFormat_YVYU_ER
@ NvBufferColorFormat_YVYU_ER
BT.601 colorspace - YUV ER 4:2:2 planar.
Definition: nvbuf_utils.h:191
NvBufferDisplayScanFormat_Interlaced
@ NvBufferDisplayScanFormat_Interlaced
Interlaced scan formats.
Definition: nvbuf_utils.h:91
NvBufferColorFormat_NV12_12LE
@ NvBufferColorFormat_NV12_12LE
BT.601 colorspace - Y/CbCr 4:2:0 12-bit multi-planar.
Definition: nvbuf_utils.h:209
_NvBufferCompositeParams::src_comp_rect
NvBufferRect src_comp_rect[MAX_COMPOSITE_FRAME]
source rectangle coordinates of input buffers for composition.
Definition: nvbuf_utils.h:534
_NvBufferParams::pixel_format
NvBufferColorFormat pixel_format
video format type of hardware buffer.
Definition: nvbuf_utils.h:468
_NvBufferParams::nv_buffer_size
uint32_t nv_buffer_size
size of hardware buffer.
Definition: nvbuf_utils.h:466
NvBufferTransform_Rotate270
@ NvBufferTransform_Rotate270
Video flip rotate 270 degree counter-clockwise.
Definition: nvbuf_utils.h:286
NvBufferMemMapEx
int NvBufferMemMapEx(int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr)
Gets the memory-mapped virtual address of the plane, API to be used for another process.
NvBufferTransform_Flag
NvBufferTransform_Flag
Defines flags to indicate for valid transform.
Definition: nvbuf_utils.h:319
NvBufferColorFormat_RGBA_10_10_10_2_2020
@ NvBufferColorFormat_RGBA_10_10_10_2_2020
Non-linear RGB BT.2020 colorspace - RGBA-10-10-10-2 planar.
Definition: nvbuf_utils.h:265
NvBufferCreateInterlace
int NvBufferCreateInterlace(int *dmabuf_fd, NvBufferCreateParams *input_params)
Allocates a hardware buffer for interlace scan format.
NvReleaseFd
int NvReleaseFd(int dmabuf_fd)
Releases the dmabuf_fd buffer.
NvBufferColorFormat_SignedR16G16
@ NvBufferColorFormat_SignedR16G16
Optical flow.
Definition: nvbuf_utils.h:227
NvBufferRect::left
uint32_t left
rectangle left.
Definition: nvbuf_utils.h:385
NvBufferCompression_Disabled
@ NvBufferCompression_Disabled
Compression disabled.
Definition: nvbuf_utils.h:101
NvBufferMemSyncForCpu
int NvBufferMemSyncForCpu(int dmabuf_fd, unsigned int plane, void **pVirtAddr)
Syncs the hardware memory cache for the CPU.
NvBufferColorFormat_GRAY8
@ NvBufferColorFormat_GRAY8
8-bit grayscale.
Definition: nvbuf_utils.h:233
NvBufferCompression_Enabled
@ NvBufferCompression_Enabled
GPU compression enabled.
Definition: nvbuf_utils.h:103
NvBufferCompositeBackground::r
float r
background color value for r.
Definition: nvbuf_utils.h:370
NvBufferTag_VIDEO_DEC
@ NvBufferTag_VIDEO_DEC
tag for H264/H265/VP9 Video Decoder.
Definition: nvbuf_utils.h:148
NvBufferColorFormat_VYUY
@ NvBufferColorFormat_VYUY
BT.601 colorspace - YUV 4:2:2 planar.
Definition: nvbuf_utils.h:181
NvBufferTag_JPEG
@ NvBufferTag_JPEG
tag for Jpeg Encoder/Decoder.
Definition: nvbuf_utils.h:142
MAX_COMPOSITE_FRAME
#define MAX_COMPOSITE_FRAME
Defines the maximum number of input video frames that can be used for composition.
Definition: nvbuf_utils.h:50
NvBufferSyncObjWait
int NvBufferSyncObjWait(NvBufferSyncObjParams *syncobj_params, unsigned int timeout)
This method can be used to wait on sync point ID.
_NvBufferTransformParams::session
NvBufferSession session
NvBufferSession to be used for transform.
Definition: nvbuf_utils.h:561
NvBufferColorFormat_NV12_2020
@ NvBufferColorFormat_NV12_2020
BT.2020 colorspace - Y/CbCr 4:2:0 multi-planar.
Definition: nvbuf_utils.h:225
_NvBufferParamsEx::params
NvBufferParams params
nvbuffer basic parameters.
Definition: nvbuf_utils.h:491
NvBufferTransform_Filter_10_Tap
@ NvBufferTransform_Filter_10_Tap
transform filter 10 tap.
Definition: nvbuf_utils.h:309
_NvBufferCDEParams::CdeCompbitsSize
uint32_t CdeCompbitsSize[MAX_NUM_PLANES]
CDE compression bits size.
Definition: nvbuf_utils.h:422
_NvBufferCreateParams::layout
NvBufferLayout layout
layout of the buffer.
Definition: nvbuf_utils.h:445
NvBufferColorFormat_BGRA_10_10_10_2_2020
@ NvBufferColorFormat_BGRA_10_10_10_2_2020
Non-linear RGB BT.2020 colorspace - BGRA-10-10-10-2 planar.
Definition: nvbuf_utils.h:269
NvBufferRect::top
uint32_t top
rectangle top.
Definition: nvbuf_utils.h:383
NvBufferCreateCompressed
int NvBufferCreateCompressed(int *dmabuf_fd, NvBufferCreateParams *input_params)
Allocates a hardware buffer with compression enabled.
_NvBufferParams::pitch
uint32_t pitch[MAX_NUM_PLANES]
pitch of each planes of hardware buffer.
Definition: nvbuf_utils.h:476
NvBufferTag_VIDEO_CONVERT
@ NvBufferTag_VIDEO_CONVERT
tag for Video Transform/Composite.
Definition: nvbuf_utils.h:150
NvBufferTag_NONE
@ NvBufferTag_NONE
tag None.
Definition: nvbuf_utils.h:138
NvBufferImportFd
int NvBufferImportFd(int in_dmabuf_fd, int *out_dmabuf_fd, NvBufferParamsEx *in_params)
Imports DMA buffer FD received from another process and create hardware buffer using the input params...
_NvBufferParams::width
uint32_t width[MAX_NUM_PLANES]
width of each planes of hardware buffer.
Definition: nvbuf_utils.h:472
_NvBufferTransformParams::src_rect
NvBufferRect src_rect
source rectangle coordinates for crop opeartion.
Definition: nvbuf_utils.h:556
NvBufferGetParams
int NvBufferGetParams(int dmabuf_fd, NvBufferParams *params)
Gets buffer parameters.
NvBufferColorFormat_NV24_10LE
@ NvBufferColorFormat_NV24_10LE
BT.601 colorspace - Y/CrCb 4:4:4 10-bit multi-planar.
Definition: nvbuf_utils.h:241
_NvBufferCompositeParams::dst_comp_rect
NvBufferRect dst_comp_rect[MAX_COMPOSITE_FRAME]
destination rectangle coordinates of input buffers for composition.
Definition: nvbuf_utils.h:536
_NvBufferChromaSubSamplingParams
Holds Chroma Subsampling parameters.
Definition: nvbuf_utils.h:403
_NvBufferCreateParams::colorFormat
NvBufferColorFormat colorFormat
colorformat of the buffer.
Definition: nvbuf_utils.h:447
NvBufferComposite_Flag
NvBufferComposite_Flag
Defines flags that specify valid composition/blending operations.
Definition: nvbuf_utils.h:333
NvBufferColorFormat_UYVY_ER
@ NvBufferColorFormat_UYVY_ER
BT.601 colorspace - YUV ER 4:2:2 planar.
Definition: nvbuf_utils.h:179
_NvBufferCompositeParams::composite_bgcolor
NvBufferCompositeBackground composite_bgcolor
background color values for composition.
Definition: nvbuf_utils.h:538
NvBufferColorFormat_YUV444
@ NvBufferColorFormat_YUV444
BT.601 colorspace - YUV444 multi-planar.
Definition: nvbuf_utils.h:231
NvBufferTransform_Rotate180
@ NvBufferTransform_Rotate180
Video flip rotate 180 degree.
Definition: nvbuf_utils.h:284
NvBufferColorFormat_ABGR32
@ NvBufferColorFormat_ABGR32
LegacyRGBA colorspace - BGRA-8-8-8-8 planar.
Definition: nvbuf_utils.h:193
_NvBufferParamsEx::physicaladdress
uint32_t physicaladdress[MAX_NUM_PLANES]
physical address of allocated planes.
Definition: nvbuf_utils.h:505
NvBufferColorFormat_NV24_10LE_709_ER
@ NvBufferColorFormat_NV24_10LE_709_ER
BT.709 ER colorspace - Y/CbCr 10 bit 4:4:4 multi-planar.
Definition: nvbuf_utils.h:257
NvBufferSyncObjParams
struct _NvBufferSyncObjParams NvBufferSyncObjParams
Holds parameters for buffer sync point object.
NvBufferTag_CAMERA
@ NvBufferTag_CAMERA
tag for Camera.
Definition: nvbuf_utils.h:140
NvBufferMemUnMapEx
int NvBufferMemUnMapEx(int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr)
Unmaps the mapped virtual address of the plane, API to be used for another process.
NvBufferColorFormat_VYUY_ER
@ NvBufferColorFormat_VYUY_ER
BT.601 colorspace - YUV ER 4:2:2 planar.
Definition: nvbuf_utils.h:183
NvBufferColorFormat_YUV422
@ NvBufferColorFormat_YUV422
BT.601 colorspace - YUV422 multi-planar.
Definition: nvbuf_utils.h:163
_NvBufferTransformParams::transform_flag
uint32_t transform_flag
flag to indicate which of the transform parameters are valid.
Definition: nvbuf_utils.h:550
NvBufferMemSyncForDeviceEx
int NvBufferMemSyncForDeviceEx(int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr)
Syncs the hardware memory cache for the device, API to be used for another process.
_NvBufferSyncObjRec::insyncobj
NvBufferSyncObjParams insyncobj[NVBUF_MAX_SYNCOBJ_PARAMS]
Definition: nvbuf_utils.h:358
_NvBufferCDEParams::CdeHorizontalCompbitsOffset
uint32_t CdeHorizontalCompbitsOffset[MAX_NUM_PLANES]
CDE horizontal compression bits offset.
Definition: nvbuf_utils.h:416
_NvBufferCDEParams::CdeVerticalCompbitsOffset
uint32_t CdeVerticalCompbitsOffset[MAX_NUM_PLANES]
CDE vertical compression bits offset.
Definition: nvbuf_utils.h:418
NvBufferColorFormat_UYVY
@ NvBufferColorFormat_UYVY
BT.601 colorspace - YUV 4:2:2 planar.
Definition: nvbuf_utils.h:177
NvBufferCompositeBackground
Holds composition background r,g,b colors.
Definition: nvbuf_utils.h:367
NvBufferRect::width
uint32_t width
rectangle width.
Definition: nvbuf_utils.h:387
NvBufferSessionDestroy
void NvBufferSessionDestroy(NvBufferSession session)
Destroys an existing NvBufferSession.
NvBufferColorFormat_YUV420_2020
@ NvBufferColorFormat_YUV420_2020
BT.2020 colorspace - YUV420 multi-planar.
Definition: nvbuf_utils.h:223
_NvBufferTransformParams::transform_filter
NvBufferTransform_Filter transform_filter
transform filter.
Definition: nvbuf_utils.h:554
_NvBufferParamsEx::blockheightlog2
uint32_t blockheightlog2[MAX_NUM_PLANES]
block height of the planes for blockLinear layout hardware buffer.
Definition: nvbuf_utils.h:503
NvBufferColorFormat_Invalid
@ NvBufferColorFormat_Invalid
Invalid color format.
Definition: nvbuf_utils.h:271
NvBufferTransform_FlipX
@ NvBufferTransform_FlipX
Video flip with respect to X-axis.
Definition: nvbuf_utils.h:288
NvBufferTransform_Transpose
@ NvBufferTransform_Transpose
Video flip transpose.
Definition: nvbuf_utils.h:292
NvBufferColorFormat_NV12_10LE_709_ER
@ NvBufferColorFormat_NV12_10LE_709_ER
BT.709_ER colorspace - Y/CbCr 4:2:0 10-bit multi-planar.
Definition: nvbuf_utils.h:203
_NvBufferChromaSubSamplingParams::chromaLocHoriz
uint8_t chromaLocHoriz
location settings
Definition: nvbuf_utils.h:406
NvBufferColorFormat_NV16_709_ER
@ NvBufferColorFormat_NV16_709_ER
BT.709_ER colorspace - Y/CbCr 4:2:2 multi-planar.
Definition: nvbuf_utils.h:251
_NvBufferCompositeParams::composite_flag
uint32_t composite_flag
flag to indicate which of the composition/blending parameters are valid.
Definition: nvbuf_utils.h:526
_NvBufferParamsEx::sizeofvaliddatainbytes
int32_t sizeofvaliddatainbytes
size of the valid data from the first to the last valid byte.
Definition: nvbuf_utils.h:497
NvDestroyEGLImage
int NvDestroyEGLImage(EGLDisplay display, EGLImageKHR eglImage)
Destroys an EGLImage object.
_NvBufferCompositeParams::session
NvBufferSession session
NvBufferSession to be used for composition.
Definition: nvbuf_utils.h:541
NvBufferColorFormat_NV12_709
@ NvBufferColorFormat_NV12_709
BT.709 colorspace - Y/CbCr 4:2:0 multi-planar.
Definition: nvbuf_utils.h:219
NvBufferLayout_Pitch
@ NvBufferLayout_Pitch
Pitch Layout.
Definition: nvbuf_utils.h:112
NvBufferSyncObj
struct _NvBufferSyncObjRec NvBufferSyncObj
buffer sync point object.
NvBufferRect
Holds coordinates for a rectangle.
Definition: nvbuf_utils.h:380
_NvBufferParamsEx::chromaSubsampling
NvBufferChromaSubsamplingParams chromaSubsampling
chroma subsampling parameters
Definition: nvbuf_utils.h:511
NvBufferColorFormat_YUV420_709
@ NvBufferColorFormat_YUV420_709
BT.709 colorspace - YUV420 multi-planar.
Definition: nvbuf_utils.h:215
NvBufferCreate
int NvBufferCreate(int *dmabuf_fd, int width, int height, NvBufferLayout layout, NvBufferColorFormat colorFormat)
Allocates a hardware buffer (deprecated).
NvBufferMemMap
int NvBufferMemMap(int dmabuf_fd, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr)
Gets the memory-mapped virtual address of the plane.
_NvBufferCreateParams::nvbuf_tag
NvBufferTag nvbuf_tag
tag to associate with the buffer.
Definition: nvbuf_utils.h:449
_NvBufferParams::num_planes
uint32_t num_planes
number of planes of hardware buffer.
Definition: nvbuf_utils.h:470
NvBufferTag_PROTECTED
@ NvBufferTag_PROTECTED
tag for VPR Buffers.
Definition: nvbuf_utils.h:144
NvBufferSession
struct _NvBufferSession * NvBufferSession
Holds an opaque NvBuffer session type required for parallel buffer tranformations and compositions.
Definition: nvbuf_utils.h:398
NvBufferTransform_None
@ NvBufferTransform_None
Video flip none.
Definition: nvbuf_utils.h:280
NvBufferCreateParams
struct _NvBufferCreateParams NvBufferCreateParams
Holds the input parameters for hardware buffer creation.
NvBufferColorFormat_ARGB32
@ NvBufferColorFormat_ARGB32
LegacyRGBA colorspace - ARGB-8-8-8-8 planar.
Definition: nvbuf_utils.h:197
_NvBufferParamsEx::flags
uint64_t flags[MAX_NUM_PLANES]
flags associated with planes
Definition: nvbuf_utils.h:507
NvBufferDisplayScanFormat_Progressive
@ NvBufferDisplayScanFormat_Progressive
Progessive scan formats.
Definition: nvbuf_utils.h:89
_NvBufferParamsEx::cde_params
NvBufferCDEParams * cde_params
CDE parameters.
Definition: nvbuf_utils.h:517
NvBufferPayloadType
NvBufferPayloadType
Defines Payload types for NvBuffer.
Definition: nvbuf_utils.h:75
NVBUFFER_COMPOSITE_FILTER
@ NVBUFFER_COMPOSITE_FILTER
composition flag to set filter type.
Definition: nvbuf_utils.h:339
NvBufferTag_VIDEO_ENC
@ NvBufferTag_VIDEO_ENC
tag for H264/H265 Video Encoder.
Definition: nvbuf_utils.h:146
_NvBufferCompositeParams::dst_comp_rect_alpha
float dst_comp_rect_alpha[MAX_COMPOSITE_FRAME]
alpha values of input buffers for the blending.
Definition: nvbuf_utils.h:532
NvBufferPayload_SurfArray
@ NvBufferPayload_SurfArray
buffer payload with hardware memory handle for set of planes.
Definition: nvbuf_utils.h:78
NvBufferCreateEx
int NvBufferCreateEx(int *dmabuf_fd, NvBufferCreateParams *input_params)
Allocates a hardware buffer.
NvBufferParams
struct _NvBufferParams NvBufferParams
Holds parameters for a hardware buffer.
NvBufferTransformAsync
int NvBufferTransformAsync(int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params, NvBufferSyncObj *syncobj)
Transforms one DMA buffer to another DMA buffer asyncroniously (non-blocking).
NvBufferColorFormat_YVU420
@ NvBufferColorFormat_YVU420
BT.601 colorspace - YUV420 multi-planar.
Definition: nvbuf_utils.h:161
_NvBufferSyncObjRec
buffer sync point object.
Definition: nvbuf_utils.h:356
NvBufferTransformEx
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, API to be used for another process.
_NvBufferSyncObjParams::value
uint32_t value
Definition: nvbuf_utils.h:350
NvBufferTransform_Filter_Nicest
@ NvBufferTransform_Filter_Nicest
transform filter nicest.
Definition: nvbuf_utils.h:313
NvBufferMemFlags
NvBufferMemFlags
Defines memory access flags for NvBuffer.
Definition: nvbuf_utils.h:120
NvBufferColorFormat_YUYV
@ NvBufferColorFormat_YUYV
BT.601 colorspace - YUV 4:2:2 planar.
Definition: nvbuf_utils.h:185
NvBufferColorFormat_YUV420_ER
@ NvBufferColorFormat_YUV420_ER
BT.601 colorspace - YUV420 ER multi-planar.
Definition: nvbuf_utils.h:165
NvBufferColorFormat_NV21_10LE
@ NvBufferColorFormat_NV21_10LE
BT.601 colorspace - Y/CrCb 4:2:0 10-bit multi-planar.
Definition: nvbuf_utils.h:207
_NvBufferCompositeParams::input_buf_count
uint32_t input_buf_count
number of the input buffers to be composited.
Definition: nvbuf_utils.h:528
NvBufferCompositeParams
struct _NvBufferCompositeParams NvBufferCompositeParams
Holds parameters related to compositing/blending.
NvBufferCreateWithChromaLoc
int NvBufferCreateWithChromaLoc(int *dmabuf_fd, NvBufferCreateParams *input_params, NvBufferChromaSubsamplingParams *chromaSubsampling)
Allocates a hardware buffer with a given chroma subsampling location.
NvBufferColorFormat_NV24_10LE_2020
@ NvBufferColorFormat_NV24_10LE_2020
BT.2020 colorspace - Y/CbCr 10 bit 4:4:4 multi-planar.
Definition: nvbuf_utils.h:259
NvBufferColorFormat_NV12_ER
@ NvBufferColorFormat_NV12_ER
BT.601 colorspace - Y/CbCr ER 4:2:0 multi-planar.
Definition: nvbuf_utils.h:171
NvBufferColorFormat_NV21_12LE
@ NvBufferColorFormat_NV21_12LE
BT.601 colorspace - Y/CrCb 4:2:0 12-bit multi-planar.
Definition: nvbuf_utils.h:213
_NvBufferTransformParams
Holds parameters for buffer transform functions.
Definition: nvbuf_utils.h:547
NvBufferTransform_Filter_5_Tap
@ NvBufferTransform_Filter_5_Tap
transform filter 5 tap.
Definition: nvbuf_utils.h:307
_NvBufferParamsEx::syncobj
NvBufferSyncObj syncobj
buffer sync point object parameters
Definition: nvbuf_utils.h:515
MAX_NUM_PLANES
#define MAX_NUM_PLANES
Defines the maximum number of planes for a video frame.
Definition: nvbuf_utils.h:45
NvBufferColorFormat_NV12_10LE
@ NvBufferColorFormat_NV12_10LE
BT.601 colorspace - Y/CbCr 4:2:0 10-bit multi-planar.
Definition: nvbuf_utils.h:199
_NvBufferSyncObjParams::syncpointID
uint32_t syncpointID
Definition: nvbuf_utils.h:349
_NvBufferChromaSubSamplingParams::chromaLocVert
uint8_t chromaLocVert
Definition: nvbuf_utils.h:407
NvBuffer2Raw
int NvBuffer2Raw(int dmabuf_fd, unsigned int plane, unsigned int out_width, unsigned int out_height, unsigned char *ptr)
Copies the NvBuffer plane contents to a raw buffer plane.
_NvBufferCreateParams::height
int32_t height
height of the buffer.
Definition: nvbuf_utils.h:439
_NvBufferTransformParams::transform_flip
NvBufferTransform_Flip transform_flip
flip method.
Definition: nvbuf_utils.h:552
NvBufferPayload_MemHandle
@ NvBufferPayload_MemHandle
buffer payload with hardware memory handle for specific memory size.
Definition: nvbuf_utils.h:80
_NvBufferParamsEx::is_protected
bool is_protected
get buffer vpr information.
Definition: nvbuf_utils.h:513
NvBufferColorFormat_YVU420_ER
@ NvBufferColorFormat_YVU420_ER
BT.601 colorspace - YVU420 ER multi-planar.
Definition: nvbuf_utils.h:167