Jetson Linux API 参考

32.7.4 版本
nvbuf_utils.h 文件参考

详细描述

NVIDIA 多媒体实用程序: 缓冲和变换/合成/混合

在文件 nvbuf_utils.h 中定义。

转到此文件的源代码。

数据结构

struct  _NvBufferSyncObjParams
 保存缓冲区同步点对象参数。 更多...
 
struct  _NvBufferSyncObjRec
 缓冲区同步点对象。 更多...
 
struct  NvBufferCompositeBackground
 保存合成背景 r,g,b 颜色。 更多...
 
struct  NvBufferRect
 保存矩形的坐标。 更多...
 
struct  _NvBufferChromaSubSamplingParams
 保存色度二次采样参数。 更多...
 
struct  _NvBufferCreateParams
 保存硬件缓冲区创建的输入参数。 更多...
 
struct  _NvBufferParams
 保存硬件缓冲区的参数。 更多...
 
struct  _NvBufferParamsEx
 保存硬件缓冲区的扩展参数。 更多...
 
struct  _NvBufferCompositeParams
 保存与合成/混合相关的参数。 更多...
 
struct  _NvBufferTransformParams
 保存缓冲区变换函数的参数。 更多...
 

#define MAX_NUM_PLANES   4
 定义视频帧的最大平面数。 更多...
 
#define MAX_COMPOSITE_FRAME   16
 定义可用于合成的最大输入视频帧数。 更多...
 
#define NVBUF_CHROMA_SUBSAMPLING_HORIZ_DEFAULT   0
 定义色度二次采样的默认值。 更多...
 
#define NVBUF_CHROMA_SUBSAMPLING_VERT_DEFAULT   1
 
#define NVBUF_MAX_SYNCOBJ_PARAMS   5
 定义同步对象参数的最大数量。 更多...
 
#define NVBUFFER_SYNCPOINT_WAIT_INFINITE   0xFFFFFFFF
 使用此值表示无限等待间隔。 更多...
 
#define NVBUF_CHROMA_SUBSAMPLING_PARAMS_DEFAULT
 

类型定义

typedef struct _NvBufferSyncObjParams NvBufferSyncObjParams
 保存缓冲区同步点对象参数。 更多...
 
typedef struct _NvBufferSyncObjRec NvBufferSyncObj
 缓冲区同步点对象。 更多...
 
typedef struct _NvBufferSession * NvBufferSession
 保存并行缓冲区变换和合成所需的 opaque NvBuffer 会话类型。 更多...
 
typedef struct _NvBufferChromaSubSamplingParams NvBufferChromaSubsamplingParams
 保存色度二次采样参数。 更多...
 
typedef struct _NvBufferCreateParams NvBufferCreateParams
 保存硬件缓冲区创建的输入参数。 更多...
 
typedef struct _NvBufferParams NvBufferParams
 保存硬件缓冲区的参数。 更多...
 
typedef struct _NvBufferParamsEx NvBufferParamsEx
 保存硬件缓冲区的扩展参数。 更多...
 
typedef struct _NvBufferCompositeParams NvBufferCompositeParams
 保存与合成/混合相关的参数。 更多...
 
typedef struct _NvBufferTransformParams NvBufferTransformParams
 保存缓冲区变换函数的参数。 更多...
 

枚举

enum  NvBufferPayloadType {
  NvBufferPayload_SurfArray,
  NvBufferPayload_MemHandle
}
 定义 NvBuffer 的 Payload 类型。 更多...
 
enum  NvBufferDisplayScanFormat {
  NvBufferDisplayScanFormat_Progressive = 0,
  NvBufferDisplayScanFormat_Interlaced
}
 定义 NvBuffer 视频平面的显示扫描格式。 更多...
 
enum  NvBufferLayout {
  NvBufferLayout_Pitch,
  NvBufferLayout_BlockLinear
}
 定义 NvBuffer 视频平面的布局格式。 更多...
 
enum  NvBufferMemFlags {
  NvBufferMem_Read,
  NvBufferMem_Write,
  NvBufferMem_Read_Write
}
 定义 NvBuffer 的内存访问标志。 更多...
 
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
}
 定义标识请求内存分配的组件的标签。 更多...
 
enum  NvBufferColorFormat {
  NvBufferColorFormat_YUV420,
  NvBufferColorFormat_YVU420,
  NvBufferColorFormat_YUV422,
  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_YUV444,
  NvBufferColorFormat_SignedR16G16,
  NvBufferColorFormat_A32,
  NvBufferColorFormat_GRAY8,
  NvBufferColorFormat_NV16,
  NvBufferColorFormat_NV16_10LE,
  NvBufferColorFormat_NV24,
  NvBufferColorFormat_NV24_10LE,
  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_RGBA_10_10_10_2_709,
  NvBufferColorFormat_RGBA_10_10_10_2_2020,
  NvBufferColorFormat_BGRA_10_10_10_2_709,
  NvBufferColorFormat_BGRA_10_10_10_2_2020,
  NvBufferColorFormat_Invalid
}
 定义 NvBuffer 的颜色格式。 更多...
 
enum  NvBufferTransform_Flip {
  NvBufferTransform_None,
  NvBufferTransform_Rotate90,
  NvBufferTransform_Rotate180,
  NvBufferTransform_Rotate270,
  NvBufferTransform_FlipX,
  NvBufferTransform_FlipY,
  NvBufferTransform_Transpose,
  NvBufferTransform_InvTranspose
}
 定义视频翻转方法。 更多...
 
enum  NvBufferTransform_Filter {
  NvBufferTransform_Filter_Nearest,
  NvBufferTransform_Filter_Bilinear,
  NvBufferTransform_Filter_5_Tap,
  NvBufferTransform_Filter_10_Tap,
  NvBufferTransform_Filter_Smart,
  NvBufferTransform_Filter_Nicest
}
 定义变换视频滤波器类型。 更多...
 
enum  NvBufferTransform_Flag {
  NVBUFFER_TRANSFORM_CROP_SRC = 1,
  NVBUFFER_TRANSFORM_CROP_DST = 1 << 1,
  NVBUFFER_TRANSFORM_FILTER = 1 << 2,
  NVBUFFER_TRANSFORM_FLIP = 1 << 3
}
 定义指示有效变换的标志。 更多...
 
enum  NvBufferComposite_Flag {
  NVBUFFER_COMPOSITE = 1,
  NVBUFFER_BLEND = 1 << 1,
  NVBUFFER_COMPOSITE_FILTER = 1 << 2
}
 定义指定有效合成/混合操作的标志。 更多...
 

函数

int NvBufferSyncObjWait (NvBufferSyncObjParams *syncobj_params, unsigned int timeout)
 此方法可用于等待同步点 ID。 更多...
 
int NvBufferGetSize (void)
 此方法可用于获取硬件 Buffer 结构大小。 更多...
 
EGLImageKHR NvEGLImageFromFd (EGLDisplay display, int dmabuf_fd)
 从 DMABUF FD 创建 EGLImage 实例。 更多...
 
int NvDestroyEGLImage (EGLDisplay display, EGLImageKHR eglImage)
 销毁 EGLImage 对象。 更多...
 
int NvBufferCreate (int *dmabuf_fd, int width, int height, NvBufferLayout layout, NvBufferColorFormat colorFormat)
 分配硬件缓冲区 (已弃用)。 更多...
 
int NvBufferCreateEx (int *dmabuf_fd, NvBufferCreateParams *input_params)
 分配硬件缓冲区。 更多...
 
int NvBufferCreateInterlace (int *dmabuf_fd, NvBufferCreateParams *input_params)
 为隔行扫描格式分配硬件缓冲区。 更多...
 
int NvBufferCreateWithChromaLoc (int *dmabuf_fd, NvBufferCreateParams *input_params, NvBufferChromaSubsamplingParams *chromaSubsampling)
 使用给定的色度二次采样位置分配硬件缓冲区。 更多...
 
int NvBufferGetParams (int dmabuf_fd, NvBufferParams *params)
 获取缓冲区参数。 更多...
 
int NvBufferGetParamsEx (int dmabuf_fd, NvBufferParamsEx *exparams)
 获取缓冲区扩展参数。 更多...
 
int NvBufferDestroy (int dmabuf_fd)
 销毁硬件缓冲区。 更多...
 
int ExtractFdFromNvBuffer (void *nvbuf, int *dmabuf_fd)
 从硬件缓冲区提取 dmabuf_fd更多...
 
int NvReleaseFd (int dmabuf_fd)
 释放 dmabuf_fd 缓冲区。 更多...
 
int NvBufferMemSyncForCpu (int dmabuf_fd, unsigned int plane, void **pVirtAddr)
 同步 CPU 的硬件内存缓存。 更多...
 
int NvBufferMemSyncForCpuEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr)
 同步 CPU 的硬件内存缓存,用于另一个进程的 API。 更多...
 
int NvBufferMemSyncForDevice (int dmabuf_fd, unsigned int plane, void **pVirtAddr)
 同步 设备 的硬件内存缓存。 更多...
 
int NvBufferMemSyncForDeviceEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr)
 同步 设备的硬件内存缓存,用于另一个进程的 API。 更多...
 
int NvBufferMemMap (int dmabuf_fd, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr)
 获取平面的内存映射虚拟地址。 更多...
 
int NvBufferMemMapEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr)
 获取平面的内存映射虚拟地址,用于另一个进程的 API。 更多...
 
int NvBufferMemUnMap (int dmabuf_fd, unsigned int plane, void **pVirtAddr)
 取消映射平面的映射虚拟地址。 更多...
 
int NvBufferMemUnMapEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr)
 取消映射平面的映射虚拟地址,用于另一个进程的 API。 更多...
 
int NvBuffer2Raw (int dmabuf_fd, unsigned int plane, unsigned int out_width, unsigned int out_height, unsigned char *ptr)
 NvBuffer 平面内容复制到原始缓冲区平面。 更多...
 
int Raw2NvBuffer (unsigned char *ptr, unsigned int plane, unsigned int in_width, unsigned int in_height, int dmabuf_fd)
 将原始缓冲区平面内容复制到 NvBuffer 平面。 更多...
 
NvBufferSession NvBufferSessionCreate (void)
 创建新的 NvBufferSession,用于并行调度缓冲区变换和合成。 更多...
 
void NvBufferSessionDestroy (NvBufferSession session)
 销毁现有的 NvBufferSession更多...
 
int NvBufferTransform (int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params)
 将一个 DMA 缓冲区变换为另一个 DMA 缓冲区。 更多...
 
int NvBufferTransformEx (int src_dmabuf_fd, NvBufferParamsEx *input_params, int dst_dmabuf_fd, NvBufferParamsEx *output_params, NvBufferTransformParams *transform_params)
 将一个 DMA 缓冲区变换为另一个 DMA 缓冲区,用于另一个进程的 API。 更多...
 
int NvBufferTransformAsync (int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params, NvBufferSyncObj *syncobj)
 异步 (非阻塞) 地将一个 DMA 缓冲区变换为另一个 DMA 缓冲区。 更多...
 
int NvBufferComposite (int *src_dmabuf_fds, int dst_dmabuf_fd, NvBufferCompositeParams *composite_params)
 将多个输入 DMA 缓冲区合成为一个输出 DMA 缓冲区。 更多...
 
. All rights reserved.