L4T Multimedia API Reference

31.1 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  NvBufferCompositeBackground
 Holds composition background r,g,b colors. More...
 
struct  NvBufferRect
 Holds coordinates for a rectangle. More...
 
struct  _NvBufferCreateParams
 Holds the input parameters for hardware buffer creation. More...
 
struct  _NvBufferParams
 Holds 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   3
 Defines the maximum number of planes for video frame. More...
 
#define MAX_COMPOSITE_FRAME   16
 Defines the maximum number of input video frames that can be used for composition. More...
 

Typedefs

typedef struct _NvBufferSession * NvBufferSession
 Holds an opaque NvBuffer session type required for parallel buffer tranformations and compositions. 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
_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  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_VIDEO_ENC = 0x1200,
  NvBufferTag_VIDEO_DEC = 0x1400,
  NvBufferTag_VIDEO_CONVERT = 0xf01
}
 Defines tags to associate, while allocation of NvBuffer. 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_12LE,
  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 NvBufferGetSize (void)
 This method can be used to get HW Buffer struct size. More...
 
EGLImageKHR NvEGLImageFromFd (EGLDisplay display, int dmabuf_fd)
 Creates an EGLImage instance from 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 HW buffer. More...
 
int NvBufferGetParams (int dmabuf_fd, NvBufferParams *params)
 Gets buffer 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 HW memory cache sync 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 exisiting 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 NvBufferComposite (int *src_dmabuf_fds, int dst_dmabuf_fd, NvBufferCompositeParams *composite_params)
 Composites multiple input DMA buffers to one output DMA buffer. More...