Jetson Linux Multimedia API Reference

32.4.2 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nvbuf_utils.h File Reference

Detailed Description

NVIDIA Multimedia Utilities: Buffering and Transform/Composition/Blending

Definition in file nvbuf_utils.h.

Go to the source code of this file.

Data Structures

struct  _NvBufferSyncObjParams
 Holds parameters for buffer sync point object. More...
 
struct  _NvBufferSyncObjRec
 buffer sync point object. More...
 
struct  NvBufferCompositeBackground
 Holds composition background r,g,b colors. More...
 
struct  NvBufferRect
 Holds coordinates for a rectangle. More...
 
struct  _NvBufferChromaSubSamplingParams
 Holds Chroma Subsampling parameters. More...
 
struct  _NvBufferCreateParams
 Holds the input parameters for hardware buffer creation. More...
 
struct  _NvBufferParams
 Holds parameters for a hardware buffer. More...
 
struct  _NvBufferParamsEx
 Holds extended parameters for a hardware buffer. More...
 
struct  _NvBufferCompositeParams
 Holds parameters related to compositing/blending. More...
 
struct  _NvBufferTransformParams
 Holds parameters for buffer transform functions. More...
 

Macros

#define MAX_NUM_PLANES   4
 Defines the maximum number of planes for a video frame. More...
 
#define MAX_COMPOSITE_FRAME   16
 Defines the maximum number of input video frames that can be used for composition. More...
 
#define NVBUF_CHROMA_SUBSAMPLING_HORIZ_DEFAULT   0
 Defines the default values for chroma subsampling. More...
 
#define NVBUF_CHROMA_SUBSAMPLING_VERT_DEFAULT   1
 
#define NVBUF_MAX_SYNCOBJ_PARAMS   5
 Defines the maximum number of sync object parameters. More...
 
#define NVBUFFER_SYNCPOINT_WAIT_INFINITE   0xFFFFFFFF
 Use this value to represent an infinite wait interval. More...
 
#define NVBUF_CHROMA_SUBSAMPLING_PARAMS_DEFAULT
 

Typedefs

typedef struct
_NvBufferSyncObjParams 
NvBufferSyncObjParams
 Holds parameters for buffer sync point object. More...
 
typedef struct _NvBufferSyncObjRec NvBufferSyncObj
 buffer sync point object. More...
 
typedef struct _NvBufferSession * NvBufferSession
 Holds an opaque NvBuffer session type required for parallel buffer tranformations and compositions. More...
 
typedef struct
_NvBufferChromaSubSamplingParams 
NvBufferChromaSubsamplingParams
 Holds Chroma Subsampling parameters. More...
 
typedef struct
_NvBufferCreateParams 
NvBufferCreateParams
 Holds the input parameters for hardware buffer creation. More...
 
typedef struct _NvBufferParams NvBufferParams
 Holds parameters for a hardware buffer. More...
 
typedef struct _NvBufferParamsEx NvBufferParamsEx
 Holds extended parameters for a hardware buffer. More...
 
typedef struct
_NvBufferCompositeParams 
NvBufferCompositeParams
 Holds parameters related to compositing/blending. More...
 
typedef struct
_NvBufferTransformParams 
NvBufferTransformParams
 Holds parameters for buffer transform functions. More...
 

Enumerations

enum  NvBufferPayloadType {
  NvBufferPayload_SurfArray,
  NvBufferPayload_MemHandle
}
 Defines Payload types for NvBuffer. More...
 
enum  NvBufferDisplayScanFormat {
  NvBufferDisplayScanFormat_Progressive = 0,
  NvBufferDisplayScanFormat_Interlaced
}
 Defines display scan formats for NvBuffer video planes. More...
 
enum  NvBufferLayout {
  NvBufferLayout_Pitch,
  NvBufferLayout_BlockLinear
}
 Defines Layout formats for NvBuffer video planes. More...
 
enum  NvBufferMemFlags {
  NvBufferMem_Read,
  NvBufferMem_Write,
  NvBufferMem_Read_Write
}
 Defines memory access flags for NvBuffer. More...
 
enum  NvBufferTag {
  NvBufferTag_NONE = 0x0,
  NvBufferTag_CAMERA = 0x200,
  NvBufferTag_JPEG = 0x1500,
  NvBufferTag_PROTECTED = 0x1504,
  NvBufferTag_VIDEO_ENC = 0x1200,
  NvBufferTag_VIDEO_DEC = 0x1400,
  NvBufferTag_VIDEO_CONVERT = 0xf01
}
 Defines tags that identify the components requesting a memory allocation. More...
 
enum  NvBufferColorFormat {
  NvBufferColorFormat_YUV420,
  NvBufferColorFormat_YVU420,
  NvBufferColorFormat_YUV420_ER,
  NvBufferColorFormat_YVU420_ER,
  NvBufferColorFormat_NV12,
  NvBufferColorFormat_NV12_ER,
  NvBufferColorFormat_NV21,
  NvBufferColorFormat_NV21_ER,
  NvBufferColorFormat_UYVY,
  NvBufferColorFormat_UYVY_ER,
  NvBufferColorFormat_VYUY,
  NvBufferColorFormat_VYUY_ER,
  NvBufferColorFormat_YUYV,
  NvBufferColorFormat_YUYV_ER,
  NvBufferColorFormat_YVYU,
  NvBufferColorFormat_YVYU_ER,
  NvBufferColorFormat_ABGR32,
  NvBufferColorFormat_XRGB32,
  NvBufferColorFormat_ARGB32,
  NvBufferColorFormat_NV12_10LE,
  NvBufferColorFormat_NV12_10LE_709,
  NvBufferColorFormat_NV12_10LE_709_ER,
  NvBufferColorFormat_NV12_10LE_2020,
  NvBufferColorFormat_NV21_10LE,
  NvBufferColorFormat_NV12_12LE,
  NvBufferColorFormat_NV12_12LE_2020,
  NvBufferColorFormat_NV21_12LE,
  NvBufferColorFormat_YUV420_709,
  NvBufferColorFormat_YUV420_709_ER,
  NvBufferColorFormat_NV12_709,
  NvBufferColorFormat_NV12_709_ER,
  NvBufferColorFormat_YUV420_2020,
  NvBufferColorFormat_NV12_2020,
  NvBufferColorFormat_SignedR16G16,
  NvBufferColorFormat_A32,
  NvBufferColorFormat_YUV444,
  NvBufferColorFormat_GRAY8,
  NvBufferColorFormat_NV16,
  NvBufferColorFormat_NV16_10LE,
  NvBufferColorFormat_NV24,
  NvBufferColorFormat_NV16_ER,
  NvBufferColorFormat_NV24_ER,
  NvBufferColorFormat_NV16_709,
  NvBufferColorFormat_NV24_709,
  NvBufferColorFormat_NV16_709_ER,
  NvBufferColorFormat_NV24_709_ER,
  NvBufferColorFormat_NV24_10LE_709,
  NvBufferColorFormat_NV24_10LE_709_ER,
  NvBufferColorFormat_NV24_10LE_2020,
  NvBufferColorFormat_NV24_12LE_2020,
  NvBufferColorFormat_Invalid
}
 Defines color formats for NvBuffer. More...
 
enum  NvBufferTransform_Flip {
  NvBufferTransform_None,
  NvBufferTransform_Rotate90,
  NvBufferTransform_Rotate180,
  NvBufferTransform_Rotate270,
  NvBufferTransform_FlipX,
  NvBufferTransform_FlipY,
  NvBufferTransform_Transpose,
  NvBufferTransform_InvTranspose
}
 Defines video flip methods. More...
 
enum  NvBufferTransform_Filter {
  NvBufferTransform_Filter_Nearest,
  NvBufferTransform_Filter_Bilinear,
  NvBufferTransform_Filter_5_Tap,
  NvBufferTransform_Filter_10_Tap,
  NvBufferTransform_Filter_Smart,
  NvBufferTransform_Filter_Nicest
}
 Defines transform video filter types. More...
 
enum  NvBufferTransform_Flag {
  NVBUFFER_TRANSFORM_CROP_SRC = 1,
  NVBUFFER_TRANSFORM_CROP_DST = 1 << 1,
  NVBUFFER_TRANSFORM_FILTER = 1 << 2,
  NVBUFFER_TRANSFORM_FLIP = 1 << 3
}
 Defines flags to indicate for valid transform. More...
 
enum  NvBufferComposite_Flag {
  NVBUFFER_COMPOSITE = 1,
  NVBUFFER_BLEND = 1 << 1
}
 Defines flags that specify valid composition/blending operations. More...
 

Functions

int NvBufferSyncObjWait (NvBufferSyncObjParams *syncobj_params, unsigned int timeout)
 This method can be used to wait on sync point ID. More...
 
int NvBufferGetSize (void)
 This method can be used to get HW Buffer struct size. More...
 
EGLImageKHR NvEGLImageFromFd (EGLDisplay display, int dmabuf_fd)
 Creates an instance of EGLImage from a DMABUF FD. More...
 
int NvDestroyEGLImage (EGLDisplay display, EGLImageKHR eglImage)
 Destroys an EGLImage object. More...
 
int NvBufferCreate (int *dmabuf_fd, int width, int height, NvBufferLayout layout, NvBufferColorFormat colorFormat)
 Allocates a HW buffer (deprecated). More...
 
int NvBufferCreateEx (int *dmabuf_fd, NvBufferCreateParams *input_params)
 Allocates a hardware buffer. More...
 
int NvBufferCreateInterlace (int *dmabuf_fd, NvBufferCreateParams *input_params)
 Allocates a hardware buffer for interlace scan format. More...
 
int NvBufferCreateWithChromaLoc (int *dmabuf_fd, NvBufferCreateParams *input_params, NvBufferChromaSubsamplingParams *chromaSubsampling)
 Allocates a hardware buffer with a given chroma subsampling location. More...
 
int NvBufferGetParams (int dmabuf_fd, NvBufferParams *params)
 Gets buffer parameters. More...
 
int NvBufferGetParamsEx (int dmabuf_fd, NvBufferParamsEx *exparams)
 Gets buffer extended parameters. More...
 
int NvBufferDestroy (int dmabuf_fd)
 Destroys a HW buffer. More...
 
int ExtractFdFromNvBuffer (void *nvbuf, int *dmabuf_fd)
 Extracts the dmabuf_fd from the hardware buffer. More...
 
int NvReleaseFd (int dmabuf_fd)
 Releases the dmabuf_fd buffer. More...
 
int NvBufferMemSyncForCpu (int dmabuf_fd, unsigned int plane, void **pVirtAddr)
 Syncs the HW memory cache for the CPU. More...
 
int NvBufferMemSyncForDevice (int dmabuf_fd, unsigned int plane, void **pVirtAddr)
 Syncs the hardware memory cache for the device. More...
 
int NvBufferMemMap (int dmabuf_fd, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr)
 Gets the memory-mapped virtual address of the plane. More...
 
int NvBufferMemUnMap (int dmabuf_fd, unsigned int plane, void **pVirtAddr)
 Unmaps the mapped virtual address of the plane. More...
 
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. More...
 
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. More...
 
NvBufferSession NvBufferSessionCreate (void)
 Creates a new NvBufferSession for parallel scheduling of buffer transformations and compositions. More...
 
void NvBufferSessionDestroy (NvBufferSession session)
 Destroys an existing NvBufferSession. More...
 
int NvBufferTransform (int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params)
 Transforms one DMA buffer to another DMA buffer. More...
 
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). More...
 
int NvBufferComposite (int *src_dmabuf_fds, int dst_dmabuf_fd, NvBufferCompositeParams *composite_params)
 Composites multiple input DMA buffers to one output DMA buffer. More...