Jetson Linux API 参考文档

32.7.4 版本
nvbuf_utils.h
转到此文件的文档。
1 /*
2  * 版权所有 (c) 2016-2021, NVIDIA CORPORATION。保留所有权利。
3  *
4  * NVIDIA 公司及其许可方保留本软件、相关文档中的所有知识产权
5  * 和专有权利,以及对其的任何修改。未经 NVIDIA 公司明确
6  * 许可协议,严禁使用、复制、披露或分发本软件及相关文档。
7  * 分发本软件和相关文档。
8  * 许可协议,严禁使用、复制、披露或分发本软件及相关文档。
9  */
10 
25 #ifndef _NVBUF_UTILS_H_
26 #define _NVBUF_UTILS_H_
27 
28 #ifdef __cplusplus
29 extern "C"
30 {
31 #endif
32 
33 #include <EGL/egl.h>
34 #include <EGL/eglext.h>
35 #include <errno.h>
36 #include <stdbool.h>
37 
41 #define MAX_NUM_PLANES 4
42 
46 #define MAX_COMPOSITE_FRAME 16
47 
52 #define NVBUF_CHROMA_SUBSAMPLING_HORIZ_DEFAULT 0
53 #define NVBUF_CHROMA_SUBSAMPLING_VERT_DEFAULT 1
54 
58 #define NVBUF_MAX_SYNCOBJ_PARAMS 5
59 
66 #define NVBUFFER_SYNCPOINT_WAIT_INFINITE 0xFFFFFFFF
67 
71 typedef enum
72 {
78 
82 typedef enum
83 {
89 
93 typedef enum
94 {
100 
104 typedef enum
105 {
113 
119 typedef enum
120 {
135 } NvBufferTag;
136 
140 typedef enum
141 {
257 
261 typedef enum
262 {
280 
284 typedef enum
285 {
299 
303 typedef enum {
313 
317 typedef enum {
321  NVBUFFER_BLEND = 1 << 1,
325 
332 {
333  uint32_t syncpointID;
334  uint32_t value;
336 
340 typedef struct _NvBufferSyncObjRec
341 {
343  uint32_t num_insyncobj;
345  uint32_t use_outsyncobj;
347 
351 typedef struct
352 {
354  float r;
356  float g;
358  float b;
360 
364 typedef struct
365 {
367  uint32_t top;
369  uint32_t left;
371  uint32_t width;
373  uint32_t height;
374 }NvBufferRect;
375 
382 typedef struct _NvBufferSession * NvBufferSession;
383 
388 {
390  uint8_t chromaLocHoriz;
391  uint8_t chromaLocVert;
393 
394 #define NVBUF_CHROMA_SUBSAMPLING_PARAMS_DEFAULT \
395  { \
396  NVBUF_CHROMA_SUBSAMPLING_HORIZ_DEFAULT, \
397  NVBUF_CHROMA_SUBSAMPLING_VERT_DEFAULT \
398  }
399 
403 typedef struct _NvBufferCreateParams
404 {
406  int32_t width;
408  int32_t height;
412  int32_t memsize;
420 
424 typedef struct _NvBufferParams
425 {
427  uint32_t dmabuf_fd;
429  void *nv_buffer;
433  int32_t memsize;
435  uint32_t nv_buffer_size;
439  uint32_t num_planes;
453 
457 typedef struct _NvBufferParamsEx
458 {
486  void *reserved;
488 
493 {
495  uint32_t composite_flag;
497  uint32_t input_buf_count;
512 
517 {
519  uint32_t transform_flag;
532 
533 
542 int NvBufferSyncObjWait (NvBufferSyncObjParams *syncobj_params, unsigned int timeout);
543 
549 int NvBufferGetSize (void);
550 
562 EGLImageKHR NvEGLImageFromFd (EGLDisplay display, int dmabuf_fd);
563 
574 int NvDestroyEGLImage (EGLDisplay display, EGLImageKHR eglImage);
575 
588 int NvBufferCreate (int *dmabuf_fd, int width, int height,
589  NvBufferLayout layout, NvBufferColorFormat colorFormat);
590 
599 int NvBufferCreateEx (int *dmabuf_fd, NvBufferCreateParams *input_params);
600 
609 int NvBufferCreateInterlace (int *dmabuf_fd, NvBufferCreateParams *input_params);
610 
620 int NvBufferCreateWithChromaLoc (int *dmabuf_fd, NvBufferCreateParams *input_params, NvBufferChromaSubsamplingParams *chromaSubsampling);
621 
629 int NvBufferGetParams (int dmabuf_fd, NvBufferParams *params);
630 
638 int NvBufferGetParamsEx (int dmabuf_fd, NvBufferParamsEx *exparams);
639 
646 int NvBufferDestroy (int dmabuf_fd);
647 
655 int ExtractFdFromNvBuffer (void *nvbuf, int *dmabuf_fd);
656 
664 int NvReleaseFd (int dmabuf_fd);
665 
677 int NvBufferMemSyncForCpu (int dmabuf_fd, unsigned int plane, void **pVirtAddr);
678 
691 int NvBufferMemSyncForCpuEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr);
692 
704 int NvBufferMemSyncForDevice (int dmabuf_fd, unsigned int plane, void **pVirtAddr);
705 
718 int NvBufferMemSyncForDeviceEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr);
719 
741 int NvBufferMemMap (int dmabuf_fd, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr);
742 
765 int NvBufferMemMapEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr);
766 
782 int NvBufferMemUnMap (int dmabuf_fd, unsigned int plane, void **pVirtAddr);
783 
800 int NvBufferMemUnMapEx (int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr);
801 
812 int NvBuffer2Raw (int dmabuf_fd, unsigned int plane, unsigned int out_width, unsigned int out_height, unsigned char *ptr);
813 
824 int Raw2NvBuffer (unsigned char *ptr, unsigned int plane, unsigned int in_width, unsigned int in_height, int dmabuf_fd);
825 
833 
839 
849 int NvBufferTransform (int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params);
850 
862 int NvBufferTransformEx (int src_dmabuf_fd, NvBufferParamsEx *input_params, int dst_dmabuf_fd, NvBufferParamsEx *output_params, NvBufferTransformParams *transform_params);
863 
874 int NvBufferTransformAsync (int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params, NvBufferSyncObj *syncobj);
875 
876 
889 int NvBufferComposite (int *src_dmabuf_fds, int dst_dmabuf_fd, NvBufferCompositeParams *composite_params);
890 
891 #ifdef __cplusplus
892 }
893 #endif
894 
897 #endif
NvBufferSession
struct _NvBufferSession * NvBufferSession
持有用于并行缓冲区转换和合成的不透明 NvBuffer 会话类型。
Definition: nvbuf_utils.h:382
NVBUF_MAX_SYNCOBJ_PARAMS
#define NVBUF_MAX_SYNCOBJ_PARAMS
定义同步对象参数的最大数量。
Definition: nvbuf_utils.h:58
NvBufferColorFormat_NV16_10LE
@ NvBufferColorFormat_NV16_10LE
BT.601 色彩空间 - Y/CbCr 4:2:2 10 位半平面。
Definition: nvbuf_utils.h:221
NvBufferColorFormat_YUV444
@ NvBufferColorFormat_YUV444
BT.601 色彩空间 - YUV444 多平面。
Definition: nvbuf_utils.h:211
NvBufferColorFormat_NV12_2020
@ NvBufferColorFormat_NV12_2020
BT.2020 色彩空间 - Y/CbCr 4:2:0 多平面。
Definition: nvbuf_utils.h:209
_NvBufferCreateParams::width
int32_t width
缓冲区的宽度。
Definition: nvbuf_utils.h:406
NVBUFFER_TRANSFORM_FILTER
@ NVBUFFER_TRANSFORM_FILTER
用于设置滤波器类型的变换标志。
Definition: nvbuf_utils.h:309
NVBUFFER_TRANSFORM_FLIP
@ NVBUFFER_TRANSFORM_FLIP
用于设置翻转方法的变换标志。
Definition: nvbuf_utils.h:311
NvBufferComposite
int NvBufferComposite(int *src_dmabuf_fds, int dst_dmabuf_fd, NvBufferCompositeParams *composite_params)
将多个输入 DMA 缓冲区合成为一个输出 DMA 缓冲区。
_NvBufferCompositeParams::dst_comp_rect_alpha
float dst_comp_rect_alpha[MAX_COMPOSITE_FRAME]
用于混合的输入缓冲区的 alpha 值。
Definition: nvbuf_utils.h:501
NvBufferDestroy
int NvBufferDestroy(int dmabuf_fd)
销毁硬件缓冲区。
NVBUFFER_BLEND
@ NVBUFFER_BLEND
用于设置混合的标志。
Definition: nvbuf_utils.h:321
_NvBufferParams
保存硬件缓冲区的参数。
Definition: nvbuf_utils.h:424
_NvBufferParamsEx::syncobj
NvBufferSyncObj syncobj
缓冲区同步点对象参数
Definition: nvbuf_utils.h:484
NvBufferSyncObjParams
struct _NvBufferSyncObjParams NvBufferSyncObjParams
保存缓冲区同步点对象的参数。
NvBufferMem_Read
@ NvBufferMem_Read
内存读取。
Definition: nvbuf_utils.h:107
NvBufferColorFormat_NV12
@ NvBufferColorFormat_NV12
BT.601 色彩空间 - Y/CbCr 4:2:0 多平面。
Definition: nvbuf_utils.h:153
NvBufferMemMap
int NvBufferMemMap(int dmabuf_fd, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr)
获取平面的内存映射虚拟地址。
NVBUFFER_TRANSFORM_CROP_SRC
@ NVBUFFER_TRANSFORM_CROP_SRC
用于裁剪源矩形的变换标志。
Definition: nvbuf_utils.h:305
MAX_NUM_PLANES
#define MAX_NUM_PLANES
定义了视频帧的最大平面数量。
定义: nvbuf_utils.h:41
_NvBufferChromaSubSamplingParams
保存色度二次采样参数。
定义: nvbuf_utils.h:387
NvBufferPayload_MemHandle
@ NvBufferPayload_MemHandle
具有硬件内存句柄的缓冲区有效负载,用于特定内存大小。
定义: nvbuf_utils.h:76
_NvBufferParams::nv_buffer_size
uint32_t nv_buffer_size
硬件缓冲区的大小。
定义: nvbuf_utils.h:435
NvBufferTransform_InvTranspose
@ NvBufferTransform_InvTranspose
视频翻转逆转置。
定义: nvbuf_utils.h:278
_NvBufferCompositeParams::composite_bgcolor
NvBufferCompositeBackground composite_bgcolor
合成的背景颜色值。
定义: nvbuf_utils.h:507
NvBufferCompositeParams
struct _NvBufferCompositeParams NvBufferCompositeParams
保存与合成/混合相关的参数。
_NvBufferCreateParams::memsize
int32_t memsize
内存大小。
定义: nvbuf_utils.h:412
NvBufferColorFormat_YUV420_2020
@ NvBufferColorFormat_YUV420_2020
BT.2020 色彩空间 - YUV420 多平面。
定义: nvbuf_utils.h:207
NvBufferGetParamsEx
int NvBufferGetParamsEx(int dmabuf_fd, NvBufferParamsEx *exparams)
获取缓冲区扩展参数。
NvBufferColorFormat_NV21
@ NvBufferColorFormat_NV21
BT.601 色彩空间 - Y/CbCr 4:2:0 多平面。
定义: nvbuf_utils.h:157
NvBufferSessionCreate
NvBufferSession NvBufferSessionCreate(void)
创建一个新的 NvBufferSession,用于并行调度缓冲区转换和合成。
NvBufferMemSyncForCpu
int NvBufferMemSyncForCpu(int dmabuf_fd, unsigned int plane, void **pVirtAddr)
同步 CPU 的硬件内存缓存。
NvBufferTag_PROTECTED
@ NvBufferTag_PROTECTED
VPR 缓冲区的标签。
定义: nvbuf_utils.h:128
NvBufferColorFormat_NV24_709
@ NvBufferColorFormat_NV24_709
BT.709 色彩空间 - Y/CbCr 4:4:4 多平面。
定义: nvbuf_utils.h:233
NvBufferTag_VIDEO_DEC
@ NvBufferTag_VIDEO_DEC
H264/H265/VP9 视频解码器的标签。
定义: nvbuf_utils.h:132
NvBufferColorFormat_YVYU_ER
@ NvBufferColorFormat_YVYU_ER
BT.601 色彩空间 - YUV ER 4:2:2 平面。
定义: nvbuf_utils.h:175
NvBufferLayout_Pitch
@ NvBufferLayout_Pitch
Pitch 布局。
定义: nvbuf_utils.h:96
NvBufferChromaSubsamplingParams
struct _NvBufferChromaSubSamplingParams NvBufferChromaSubsamplingParams
保存色度二次采样参数。
NvBufferMem_Write
@ NvBufferMem_Write
内存写入。
定义: nvbuf_utils.h:109
_NvBufferParams::layout
uint32_t layout[MAX_NUM_PLANES]
硬件缓冲区每个平面的布局类型。
定义: nvbuf_utils.h:451
NvBufferColorFormat_XRGB32
@ NvBufferColorFormat_XRGB32
LegacyRGBA 色彩空间 - XRGB-8-8-8-8 平面。
定义: nvbuf_utils.h:179
NvBufferColorFormat_NV12_10LE_709
@ NvBufferColorFormat_NV12_10LE_709
BT.709 色彩空间 - Y/CbCr 4:2:0 10 位多平面。
定义: nvbuf_utils.h:185
NvBufferRect::width
uint32_t width
矩形宽度。
定义: nvbuf_utils.h:371
NvBufferTransform_Filter
NvBufferTransform_Filter
定义了变换视频滤波器类型。
定义: nvbuf_utils.h:284
NvBufferTransform_FlipY
@ NvBufferTransform_FlipY
视频翻转,相对于 Y 轴。
定义: nvbuf_utils.h:274
NvBufferColorFormat_ARGB32
@ NvBufferColorFormat_ARGB32
LegacyRGBA 色彩空间 - ARGB-8-8-8-8 平面。
定义: nvbuf_utils.h:181
Raw2NvBuffer
int Raw2NvBuffer(unsigned char *ptr, unsigned int plane, unsigned int in_width, unsigned int in_height, int dmabuf_fd)
将原始缓冲区平面内容复制到 NvBuffer 平面。
_NvBufferSyncObjRec::insyncobj
NvBufferSyncObjParams insyncobj[NVBUF_MAX_SYNCOBJ_PARAMS]
定义: nvbuf_utils.h:342
NvBufferTransform_Filter_5_Tap
@ NvBufferTransform_Filter_5_Tap
变换滤波器 5 抽头。
定义: nvbuf_utils.h:291
NvBufferColorFormat_GRAY8
@ NvBufferColorFormat_GRAY8
8 位灰度。
定义: nvbuf_utils.h:217
_NvBufferParams::pixel_format
NvBufferColorFormat pixel_format
硬件缓冲区的视频格式类型。
定义: nvbuf_utils.h:437
NvBufferPayloadType
NvBufferPayloadType
定义了 NvBuffer 的有效负载类型。
定义: nvbuf_utils.h:71
NvBufferColorFormat_YUYV
@ NvBufferColorFormat_YUYV
BT.601 色彩空间 - YUV 4:2:2 平面。
定义: nvbuf_utils.h:169
_NvBufferParams::psize
uint32_t psize[MAX_NUM_PLANES]
硬件缓冲区中每个视频平面的大小。
定义: nvbuf_utils.h:449
_NvBufferTransformParams::session
NvBufferSession session
用于变换的 NvBufferSession。
定义: nvbuf_utils.h:530
NvBufferColorFormat_NV12_709
@ NvBufferColorFormat_NV12_709
BT.709 色彩空间 - Y/CbCr 4:2:0 多平面。
定义: nvbuf_utils.h:203
NvBufferTransform_Rotate180
@ NvBufferTransform_Rotate180
视频翻转旋转 180 度。
定义: nvbuf_utils.h:268
NvBufferColorFormat_NV21_10LE
@ NvBufferColorFormat_NV21_10LE
BT.601 色彩空间 - Y/CrCb 4:2:0 10 位多平面。
定义: nvbuf_utils.h:191
NvBufferCompositeBackground::g
float g
g 的背景颜色值。
定义: nvbuf_utils.h:356
NvBufferMem_Read_Write
@ NvBufferMem_Read_Write
内存读写。
定义: nvbuf_utils.h:111
NvBufferTransform_Filter_Bilinear
@ NvBufferTransform_Filter_Bilinear
变换滤波器双线性。
定义: nvbuf_utils.h:289
NvBufferCompositeBackground::b
float b
b 的背景颜色值。
定义: nvbuf_utils.h:358
NvBufferColorFormat_YUYV_ER
@ NvBufferColorFormat_YUYV_ER
BT.601 色彩空间 - YUV ER 4:2:2 平面。
定义: nvbuf_utils.h:171
NvBufferMemUnMap
int NvBufferMemUnMap(int dmabuf_fd, unsigned int plane, void **pVirtAddr)
取消映射平面的映射虚拟地址。
NvReleaseFd
int NvReleaseFd(int dmabuf_fd)
释放 dmabuf_fd 缓冲区。
NvBufferCreate
int NvBufferCreate(int *dmabuf_fd, int width, int height, NvBufferLayout layout, NvBufferColorFormat colorFormat)
分配硬件缓冲区(已弃用)。
NvBufferTransform_Rotate270
@ NvBufferTransform_Rotate270
视频翻转旋转 270 度逆时针。
定义: nvbuf_utils.h:270
NvBufferTransform_Filter_10_Tap
@ NvBufferTransform_Filter_10_Tap
变换滤波器 10 抽头。
定义: nvbuf_utils.h:293
_NvBufferParamsEx::flags
uint64_t flags[MAX_NUM_PLANES]
与平面关联的标志
定义: nvbuf_utils.h:476
NvBufferColorFormat_YUV420
@ NvBufferColorFormat_YUV420
BT.601 色彩空间 - YUV420 多平面。
定义: nvbuf_utils.h:143
_NvBufferParamsEx::sizeofvaliddatainbytes
int32_t sizeofvaliddatainbytes
从第一个有效字节到最后一个有效字节的有效数据大小。
定义: nvbuf_utils.h:466
NvBufferParams
struct _NvBufferParams NvBufferParams
保存硬件缓冲区的参数。
NvBufferTag_VIDEO_CONVERT
@ NvBufferTag_VIDEO_CONVERT
视频变换/合成的标签。
定义: nvbuf_utils.h:134
NvBufferColorFormat_NV24
@ NvBufferColorFormat_NV24
BT.601 色彩空间 - Y/CbCr 4:4:4 多平面。
定义: nvbuf_utils.h:223
_NvBufferParamsEx::secondfieldoffset
uint32_t secondfieldoffset[MAX_NUM_PLANES]
隔行扫描缓冲区的第二场偏移量。
定义: nvbuf_utils.h:470
_NvBufferParamsEx::is_protected
bool is_protected
获取缓冲区 VPR 信息。
定义: nvbuf_utils.h:482
NvBufferColorFormat_NV16_709_ER
@ NvBufferColorFormat_NV16_709_ER
BT.709_ER 色彩空间 - Y/CbCr 4:2:2 多平面。
定义: nvbuf_utils.h:235
_NvBufferCompositeParams::session
NvBufferSession session
用于合成的 NvBufferSession。
定义: nvbuf_utils.h:510
_NvBufferSyncObjParams::value
uint32_t value
定义: nvbuf_utils.h:334
NvBufferCreateEx
int NvBufferCreateEx(int *dmabuf_fd, NvBufferCreateParams *input_params)
分配硬件缓冲区。
NvBufferColorFormat_YVYU
@ NvBufferColorFormat_YVYU
BT.601 色彩空间 - YUV 4:2:2 平面。
定义: nvbuf_utils.h:173
_NvBufferParamsEx::params
NvBufferParams params
nvbuffer 基本参数。
定义: nvbuf_utils.h:460
_NvBufferCreateParams::payloadType
NvBufferPayloadType payloadType
缓冲区的有效负载类型。
定义: nvbuf_utils.h:410
NvBufferRect::height
uint32_t height
矩形高度。
定义: nvbuf_utils.h:373
NvBufferTransform_Filter_Nearest
@ NvBufferTransform_Filter_Nearest
变换滤波器最近邻。
定义: nvbuf_utils.h:287
NvBufferTransform_Flip
NvBufferTransform_Flip
定义了视频翻转方法。
定义: nvbuf_utils.h:261
NvBufferTag_CAMERA
@ NvBufferTag_CAMERA
摄像头的标签。
定义: nvbuf_utils.h:124
NvBufferColorFormat_BGRA_10_10_10_2_709
@ NvBufferColorFormat_BGRA_10_10_10_2_709
非线性 RGB BT.709 色彩空间 - BGRA-10-10-10-2 平面。
定义: nvbuf_utils.h:251
NvBufferMemUnMapEx
int NvBufferMemUnMapEx(int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr)
取消映射平面的映射虚拟地址,用于另一个进程的 API。
_NvBufferParamsEx
保存硬件缓冲区的扩展参数。
定义: nvbuf_utils.h:457
_NvBufferParamsEx::physicaladdress
uint32_t physicaladdress[MAX_NUM_PLANES]
已分配平面的物理地址。
定义: nvbuf_utils.h:474
_NvBufferCompositeParams::composite_filter
NvBufferTransform_Filter composite_filter[MAX_COMPOSITE_FRAME]
用于合成的滤波器。
定义: nvbuf_utils.h:499
_NvBufferParamsEx::scanformat
NvBufferDisplayScanFormat scanformat[MAX_NUM_PLANES]
显示扫描格式 - 逐行/隔行。
定义: nvbuf_utils.h:468
_NvBufferParams::dmabuf_fd
uint32_t dmabuf_fd
保存硬件缓冲区的 DMABUF FD。
定义: nvbuf_utils.h:427
NvBufferColorFormat_NV24_709_ER
@ NvBufferColorFormat_NV24_709_ER
BT.709_ER 色彩空间 - Y/CbCr 4:4:4 多平面。
定义: nvbuf_utils.h:237
NvBufferCreateInterlace
int NvBufferCreateInterlace(int *dmabuf_fd, NvBufferCreateParams *input_params)
为隔行扫描格式分配硬件缓冲区。
_NvBufferTransformParams::src_rect
NvBufferRect src_rect
裁剪操作的源矩形坐标。
定义: nvbuf_utils.h:525
_NvBufferParamsEx::reserved
void * reserved
保留字段。
定义: nvbuf_utils.h:486
NvBufferColorFormat_NV12_12LE_2020
@ NvBufferColorFormat_NV12_12LE_2020
BT.2020 色彩空间 - Y/CbCr 4:2:0 12 位多平面。
定义: nvbuf_utils.h:195
NvBufferMemSyncForDevice
int NvBufferMemSyncForDevice(int dmabuf_fd, unsigned int plane, void **pVirtAddr)
同步设备的硬件内存缓存。
NvBufferLayout
NvBufferLayout
定义了 NvBuffer 视频平面的布局格式。
定义: nvbuf_utils.h:93
NvBufferColorFormat_YUV420_709_ER
@ NvBufferColorFormat_YUV420_709_ER
BT.709 色彩空间 - YUV420 ER 多平面。
定义: nvbuf_utils.h:201
NvBufferCreateWithChromaLoc
int NvBufferCreateWithChromaLoc(int *dmabuf_fd, NvBufferCreateParams *input_params, NvBufferChromaSubsamplingParams *chromaSubsampling)
使用给定的色度二次采样位置分配硬件缓冲区。
NvBufferLayout_BlockLinear
@ NvBufferLayout_BlockLinear
BlockLinear 布局。
定义: nvbuf_utils.h:98
NvBufferRect
保存矩形的坐标。
定义: nvbuf_utils.h:364
NvBufferTransform_Filter_Smart
@ NvBufferTransform_Filter_Smart
变换滤波器智能。
定义: nvbuf_utils.h:295
NvBufferTransform
int NvBufferTransform(int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params)
将一个 DMA 缓冲区变换为另一个 DMA 缓冲区。
NvBufferComposite_Flag
NvBufferComposite_Flag
定义了指定有效合成/混合操作的标志。
定义: nvbuf_utils.h:317
_NvBufferSyncObjParams::syncpointID
uint32_t syncpointID
定义: nvbuf_utils.h:333
_NvBufferChromaSubSamplingParams::chromaLocVert
uint8_t chromaLocVert
定义: nvbuf_utils.h:391
NvBufferColorFormat_NV24_10LE_709_ER
@ NvBufferColorFormat_NV24_10LE_709_ER
BT.709 ER 色彩空间 - Y/CbCr 10 位 4:4:4 多平面。
定义: nvbuf_utils.h:241
NVBUFFER_COMPOSITE_FILTER
@ NVBUFFER_COMPOSITE_FILTER
合成标志,用于设置滤波器类型。
定义: nvbuf_utils.h:323
_NvBufferChromaSubSamplingParams::chromaLocHoriz
uint8_t chromaLocHoriz
位置设置
定义: nvbuf_utils.h:390
NvBufferDisplayScanFormat_Interlaced
@ NvBufferDisplayScanFormat_Interlaced
隔行扫描格式。
定义: nvbuf_utils.h:87
NvBufferColorFormat_VYUY_ER
@ NvBufferColorFormat_VYUY_ER
BT.601 色彩空间 - YUV ER 4:2:2 平面。
定义: nvbuf_utils.h:167
_NvBufferParams::height
uint32_t height[MAX_NUM_PLANES]
硬件缓冲区每个平面的高度。
定义: nvbuf_utils.h:443
NvBufferColorFormat_YVU420_ER
@ NvBufferColorFormat_YVU420_ER
BT.601 色彩空间 - YVU420 ER 多平面。
定义: nvbuf_utils.h:151
NvBufferTag_JPEG
@ NvBufferTag_JPEG
Jpeg 编码器/解码器的标签。
定义: nvbuf_utils.h:126
_NvBufferParams::offset
uint32_t offset[MAX_NUM_PLANES]
硬件缓冲区中每个视频平面的内存偏移值。
定义: nvbuf_utils.h:447
_NvBufferCreateParams::colorFormat
NvBufferColorFormat colorFormat
缓冲区的颜色格式。
定义: nvbuf_utils.h:416
_NvBufferCompositeParams::input_buf_count
uint32_t input_buf_count
要合成的输入缓冲区数量。
定义: nvbuf_utils.h:497
NvBufferGetSize
int NvBufferGetSize(void)
此方法可用于获取硬件缓冲区结构大小。
NvBufferRect::top
uint32_t top
矩形顶部。
定义: nvbuf_utils.h:367
_NvBufferTransformParams::dst_rect
NvBufferRect dst_rect
裁剪操作的目标矩形坐标。
定义: nvbuf_utils.h:527
NvBufferColorFormat_NV24_10LE_2020
@ NvBufferColorFormat_NV24_10LE_2020
BT.2020 色彩空间 - Y/CbCr 10 位 4:4:4 多平面。
定义: nvbuf_utils.h:243
_NvBufferParams::pitch
uint32_t pitch[MAX_NUM_PLANES]
硬件缓冲区每个平面的 pitch。
定义: nvbuf_utils.h:445
NvBufferColorFormat_Invalid
@ NvBufferColorFormat_Invalid
无效的颜色格式。
定义: nvbuf_utils.h:255
NvBufferDisplayScanFormat
NvBufferDisplayScanFormat
定义了 NvBuffer 视频平面的显示扫描格式。
定义: nvbuf_utils.h:82
NvBufferColorFormat_NV12_709_ER
@ NvBufferColorFormat_NV12_709_ER
BT.709 色彩空间 - Y/CbCr ER 4:2:0 多平面。
定义: nvbuf_utils.h:205
NvEGLImageFromFd
EGLImageKHR NvEGLImageFromFd(EGLDisplay display, int dmabuf_fd)
从 DMABUF FD 创建 EGLImage 实例。
NvBufferSyncObjWait
int NvBufferSyncObjWait(NvBufferSyncObjParams *syncobj_params, unsigned int timeout)
此方法可用于等待同步点 ID。
NvBufferColorFormat_UYVY_ER
@ NvBufferColorFormat_UYVY_ER
BT.601 色彩空间 - YUV ER 4:2:2 平面。
定义: nvbuf_utils.h:163
NvBufferTag_NONE
@ NvBufferTag_NONE
无标签。
定义: nvbuf_utils.h:122
NvBufferColorFormat_RGBA_10_10_10_2_2020
@ NvBufferColorFormat_RGBA_10_10_10_2_2020
非线性 RGB BT.2020 色彩空间 - RGBA-10-10-10-2 平面。
定义: nvbuf_utils.h:249
NvBufferPayload_SurfArray
@ NvBufferPayload_SurfArray
具有硬件内存句柄的缓冲区有效负载,用于平面集合。
定义: nvbuf_utils.h:74
_NvBufferCreateParams::height
int32_t height
缓冲区的高度。
定义: nvbuf_utils.h:408
_NvBufferSyncObjRec::num_insyncobj
uint32_t num_insyncobj
定义: nvbuf_utils.h:343
NvBufferColorFormat_NV24_10LE
@ NvBufferColorFormat_NV24_10LE
BT.601 色彩空间 - Y/CrCb 4:4:4 10 位多平面。
定义: nvbuf_utils.h:225
MAX_COMPOSITE_FRAME
#define MAX_COMPOSITE_FRAME
定义了可用于合成的最大输入视频帧数。
定义: nvbuf_utils.h:46
NvBufferColorFormat_SignedR16G16
@ NvBufferColorFormat_SignedR16G16
光流。
定义: nvbuf_utils.h:213
_NvBufferParamsEx::startofvaliddata
int32_t startofvaliddata
从缓冲区开始到第一个有效字节的字节偏移量。
定义: nvbuf_utils.h:463
NVBUFFER_TRANSFORM_CROP_DST
@ NVBUFFER_TRANSFORM_CROP_DST
变换标志,用于裁剪目标矩形。
定义: nvbuf_utils.h:307
NvBufferTransform_Flag
NvBufferTransform_Flag
定义了指示有效变换的标志。
定义: nvbuf_utils.h:303
NvBufferColorFormat_NV12_ER
@ NvBufferColorFormat_NV12_ER
BT.601 色彩空间 - Y/CbCr ER 4:2:0 多平面。
定义: nvbuf_utils.h:155
NvBufferColorFormat_NV24_12LE_2020
@ NvBufferColorFormat_NV24_12LE_2020
BT.2020 色彩空间 - Y/CbCr 12 位 4:4:4 多平面。
定义: nvbuf_utils.h:245
_NvBufferParams::memsize
int32_t memsize
内存大小。
定义: nvbuf_utils.h:433
_NvBufferCompositeParams::dst_comp_rect
NvBufferRect dst_comp_rect[MAX_COMPOSITE_FRAME]
用于合成的输入缓冲区的目标矩形坐标。
定义: nvbuf_utils.h:505
_NvBufferParams::width
uint32_t width[MAX_NUM_PLANES]
硬件缓冲区每个平面的宽度。
定义: nvbuf_utils.h:441
NvBufferMemSyncForCpuEx
int NvBufferMemSyncForCpuEx(int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr)
同步 CPU 的硬件内存缓存,用于另一个进程的 API。
_NvBufferParams::nv_buffer
void * nv_buffer
指向硬件缓冲区内存的指针。
定义: nvbuf_utils.h:429
NvBufferColorFormat_NV12_10LE
@ NvBufferColorFormat_NV12_10LE
BT.601 色彩空间 - Y/CbCr 4:2:0 10 位多平面。
定义: nvbuf_utils.h:183
_NvBufferParamsEx::chromaSubsampling
NvBufferChromaSubsamplingParams chromaSubsampling
色度二次采样参数
定义: nvbuf_utils.h:480
_NvBufferTransformParams::transform_flag
uint32_t transform_flag
标志,指示哪些变换参数有效。
定义: nvbuf_utils.h:519
_NvBufferSyncObjRec
缓冲区同步点对象。
定义: nvbuf_utils.h:340
_NvBufferCreateParams::layout
NvBufferLayout layout
缓冲区的布局。
定义: nvbuf_utils.h:414
NvBufferSessionDestroy
void NvBufferSessionDestroy(NvBufferSession session)
销毁现有的 NvBufferSession。
_NvBufferCreateParams
保存硬件缓冲区创建的输入参数。
定义: nvbuf_utils.h:403
NvBufferColorFormat_YUV420_ER
@ NvBufferColorFormat_YUV420_ER
BT.601 色彩空间 - YUV420 ER 多平面。
定义: nvbuf_utils.h:149
_NvBufferSyncObjRec::use_outsyncobj
uint32_t use_outsyncobj
定义: nvbuf_utils.h:345
NvBufferTransformAsync
int NvBufferTransformAsync(int src_dmabuf_fd, int dst_dmabuf_fd, NvBufferTransformParams *transform_params, NvBufferSyncObj *syncobj)
异步(非阻塞)地将一个 DMA 缓冲区变换为另一个 DMA 缓冲区。
NvBufferDisplayScanFormat_Progressive
@ NvBufferDisplayScanFormat_Progressive
逐行扫描格式。
定义: nvbuf_utils.h:85
NvBufferParamsEx
struct _NvBufferParamsEx NvBufferParamsEx
保存硬件缓冲区的扩展参数。
NvBufferMemFlags
NvBufferMemFlags
定义了 NvBuffer 的内存访问标志。
定义: nvbuf_utils.h:104
NvBufferCompositeBackground
保存合成背景 r,g,b 颜色。
定义: nvbuf_utils.h:351
NvBufferTransform_None
@ NvBufferTransform_None
视频翻转无。
定义: nvbuf_utils.h:264
NvBufferColorFormat_YVU420
@ NvBufferColorFormat_YVU420
BT.601 色彩空间 - YUV420 多平面。
定义: nvbuf_utils.h:145
NvBufferColorFormat_VYUY
@ NvBufferColorFormat_VYUY
BT.601 色彩空间 - YUV 4:2:2 平面。
定义: nvbuf_utils.h:165
NvBuffer2Raw
int NvBuffer2Raw(int dmabuf_fd, unsigned int plane, unsigned int out_width, unsigned int out_height, unsigned char *ptr)
将 NvBuffer 平面内容复制到原始缓冲区平面。
NvBufferTransform_Transpose
@ NvBufferTransform_Transpose
视频翻转转置。
定义: nvbuf_utils.h:276
NvBufferTransform_Rotate90
@ NvBufferTransform_Rotate90
视频翻转旋转 90 度逆时针。
定义: nvbuf_utils.h:266
NvBufferColorFormat_NV16_709
@ NvBufferColorFormat_NV16_709
BT.709 色彩空间 - Y/CbCr 4:2:2 多平面。
定义: nvbuf_utils.h:231
NvBufferMemSyncForDeviceEx
int NvBufferMemSyncForDeviceEx(int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, void **pVirtAddr)
同步设备的硬件内存缓存,用于另一个进程的 API。
_NvBufferSyncObjParams
保存缓冲区同步点对象的参数。
定义: nvbuf_utils.h:331
NvBufferColorFormat_NV24_ER
@ NvBufferColorFormat_NV24_ER
BT.601_ER 色彩空间 - Y/CbCr 4:4:4 多平面。
定义: nvbuf_utils.h:229
_NvBufferCompositeParams::src_comp_rect
NvBufferRect src_comp_rect[MAX_COMPOSITE_FRAME]
用于合成的输入缓冲区的源矩形坐标。
定义: nvbuf_utils.h:503
NvBufferColorFormat_YUV422
@ NvBufferColorFormat_YUV422
BT.601 色彩空间 - YUV422 多平面。
定义: nvbuf_utils.h:147
NvBufferTransform_FlipX
@ NvBufferTransform_FlipX
视频翻转,相对于 X 轴。
定义: nvbuf_utils.h:272
NvBufferColorFormat_YUV420_709
@ NvBufferColorFormat_YUV420_709
BT.709 色彩空间 - YUV420 多平面。
定义: nvbuf_utils.h:199
NvBufferGetParams
int NvBufferGetParams(int dmabuf_fd, NvBufferParams *params)
获取缓冲区参数。
NvBufferColorFormat_NV16
@ NvBufferColorFormat_NV16
BT.601 色彩空间 - Y/CbCr 4:2:2 多平面。
定义: nvbuf_utils.h:219
_NvBufferParamsEx::blockheightlog2
uint32_t blockheightlog2[MAX_NUM_PLANES]
blockLinear 布局硬件缓冲区的平面块高度。
定义: nvbuf_utils.h:472
NvBufferSyncObj
struct _NvBufferSyncObjRec NvBufferSyncObj
缓冲区同步点对象。
_NvBufferCreateParams::nvbuf_tag
NvBufferTag nvbuf_tag
要与缓冲区关联的标签。
定义: nvbuf_utils.h:418
NvBufferColorFormat
NvBufferColorFormat
定义了 NvBuffer 的颜色格式。
定义: nvbuf_utils.h:140
NvBufferMemMapEx
int NvBufferMemMapEx(int dmabuf_fd, NvBufferParamsEx *exparams, unsigned int plane, NvBufferMemFlags memflag, void **pVirtAddr)
获取平面的内存映射虚拟地址,用于另一个进程的 API。
_NvBufferParamsEx::payloadmetaInfo
void * payloadmetaInfo
与硬件缓冲区关联的元数据。
定义: nvbuf_utils.h:478
NvBufferColorFormat_NV16_ER
@ NvBufferColorFormat_NV16_ER
BT.601_ER 色彩空间 - Y/CbCr 4:2:2 多平面。
定义: nvbuf_utils.h:227
_NvBufferCompositeParams::composite_flag
uint32_t composite_flag
标志,指示哪些合成/混合参数有效。
定义: nvbuf_utils.h:495
NvBufferTag
NvBufferTag
定义了标识请求内存分配的组件的标签。
定义: nvbuf_utils.h:119
NvBufferCreateParams
struct _NvBufferCreateParams NvBufferCreateParams
保存硬件缓冲区创建的输入参数。
_NvBufferSyncObjRec::outsyncobj
NvBufferSyncObjParams outsyncobj
定义: nvbuf_utils.h:344
NvBufferColorFormat_NV12_10LE_709_ER
@ NvBufferColorFormat_NV12_10LE_709_ER
BT.709_ER 色彩空间 - Y/CbCr 4:2:0 10 位多平面。
定义: nvbuf_utils.h:187
NvBufferColorFormat_NV12_12LE
@ NvBufferColorFormat_NV12_12LE
BT.601 色彩空间 - Y/CbCr 4:2:0 12 位多平面。
定义: nvbuf_utils.h:193
NvBufferColorFormat_NV12_10LE_2020
@ NvBufferColorFormat_NV12_10LE_2020
BT.2020 色彩空间 - Y/CbCr 4:2:0 10 位多平面。
定义: nvbuf_utils.h:189
NvBufferColorFormat_NV21_ER
@ NvBufferColorFormat_NV21_ER
BT.601 色彩空间 - Y/CbCr ER 4:2:0 多平面。
定义: nvbuf_utils.h:159
NvBufferColorFormat_NV21_12LE
@ NvBufferColorFormat_NV21_12LE
BT.601 色彩空间 - Y/CrCb 4:2:0 12 位多平面。
定义: nvbuf_utils.h:197
NvBufferRect::left
uint32_t left
矩形左边界。
定义: nvbuf_utils.h:369
NvBufferColorFormat_UYVY
@ NvBufferColorFormat_UYVY
BT.601 色彩空间 - YUV 4:2:2 平面。
定义: nvbuf_utils.h:161
_NvBufferParams::payloadType
NvBufferPayloadType payloadType
缓冲区的有效负载类型。
定义: nvbuf_utils.h:431
NvBufferTransformEx
int NvBufferTransformEx(int src_dmabuf_fd, NvBufferParamsEx *input_params, int dst_dmabuf_fd, NvBufferParamsEx *output_params, NvBufferTransformParams *transform_params)
将一个 DMA 缓冲区转换为另一个 DMA 缓冲区,用于另一个进程的 API。
_NvBufferTransformParams::transform_filter
NvBufferTransform_Filter transform_filter
变换滤波器。
定义: nvbuf_utils.h:523
NvBufferCompositeBackground::r
float r
r 的背景颜色值。
定义: nvbuf_utils.h:354
NvDestroyEGLImage
int NvDestroyEGLImage(EGLDisplay display, EGLImageKHR eglImage)
销毁一个 EGLImage 对象。
NVBUFFER_COMPOSITE
@ NVBUFFER_COMPOSITE
用于合成的标志位。
定义: nvbuf_utils.h:319
NvBufferTag_VIDEO_ENC
@ NvBufferTag_VIDEO_ENC
H264/H265 视频编码器的标签。
定义: nvbuf_utils.h:130
NvBufferTransformParams
struct _NvBufferTransformParams NvBufferTransformParams
保存缓冲区转换函数的参数。
_NvBufferTransformParams::transform_flip
NvBufferTransform_Flip transform_flip
翻转方法。
定义: nvbuf_utils.h:521
NvBufferColorFormat_BGRA_10_10_10_2_2020
@ NvBufferColorFormat_BGRA_10_10_10_2_2020
非线性 RGB BT.2020 色彩空间 - BGRA-10-10-10-2 平面。
定义: nvbuf_utils.h:253
_NvBufferParams::num_planes
uint32_t num_planes
硬件缓冲区的平面数量。
定义: nvbuf_utils.h:439
ExtractFdFromNvBuffer
int ExtractFdFromNvBuffer(void *nvbuf, int *dmabuf_fd)
从硬件缓冲区中提取 dmabuf_fd。
NvBufferColorFormat_ABGR32
@ NvBufferColorFormat_ABGR32
旧版 RGBA 色彩空间 - BGRA-8-8-8-8 平面。
定义: nvbuf_utils.h:177
_NvBufferCompositeParams
保存与合成/混合相关的参数。
定义: nvbuf_utils.h:492
NvBufferColorFormat_A32
@ NvBufferColorFormat_A32
光流 SAD 计算缓冲区格式。
定义: nvbuf_utils.h:215
_NvBufferTransformParams
保存缓冲区转换函数的参数。
定义: nvbuf_utils.h:516
NvBufferTransform_Filter_Nicest
@ NvBufferTransform_Filter_Nicest
最佳变换滤波器。
定义: nvbuf_utils.h:297
NvBufferColorFormat_NV24_10LE_709
@ NvBufferColorFormat_NV24_10LE_709
BT.709 色彩空间 - Y/CbCr 10 位 4:4:4 多平面。
定义: nvbuf_utils.h:239
NvBufferColorFormat_RGBA_10_10_10_2_709
@ NvBufferColorFormat_RGBA_10_10_10_2_709
非线性 RGB BT.709 色彩空间 - RGBA-10-10-10-2 平面。
定义: nvbuf_utils.h:247
. All rights reserved.