Jetson Linux API 参考

32.7.4 版本
NvVideoDecoder.h
转到此文件的文档。
1 /*
2  * 版权所有 (c) 2016,NVIDIA CORPORATION。保留所有权利。
3  *
4  * 允许以源代码和二进制形式重新分发和使用,无论是否
5  * 修改,但须满足以下条件:
6  * 是满足:
7  * * 源代码的重新分发必须保留上述版权
8  * 声明、此条件列表以及以下免责声明。
9  * * 二进制形式的重新分发必须在上述版权
10  * 声明、此条件列表以及以下免责声明中再现
11  * 文档和/或随发行版提供的其他材料。
12  * * 未经事先书面许可,不得使用 NVIDIA CORPORATION 的名称或其名称
13  * 贡献者的姓名用于认可或推广衍生产品
14  * 来自本软件。
15  *
16  * 本软件由版权所有者“按原样”提供,并且任何
17  * 明示或暗示的保证,包括但不限于
18  * 对适销性和特定用途适用性的暗示保证
19  * 目的不作任何保证。在任何情况下,版权所有者或
20  * 贡献者对任何直接、间接、附带、特殊、
21  * 惩戒性或后果性损害(包括但不限于
22  * 替代商品或服务的采购;使用、数据或
23  * 利润损失;或业务中断)无论因何种原因以及基于何种理论
24  * 的责任,无论是在合同、严格责任还是侵权行为中
25  * (包括疏忽或其他原因)以任何方式因使用本软件而引起
26  * 本软件,即使已被告知发生此类损害的可能性。
27  */
28 
45 #ifndef __NV_VIDEO_DECODER_H__
46 #define __NV_VIDEO_DECODER_H__
47 
48 #include "NvV4l2Element.h"
49 
59 {
60 public
75  static NvVideoDecoder *createVideoDecoder(const char *name, int flags = 0);
76 
88  int setCapturePlaneFormat(uint32_t pixfmt, uint32_t width, uint32_t height);
99  int setOutputPlaneFormat(uint32_t pixfmt, uint32_t sizeimage);
100 
111 
122  int setFrameInputMode(unsigned int ctrl_value);
123 
133  int disableDPB();
134 
147  int getMinimumCapturePlaneBuffers(int & num);
148 
161  int setSkipFrames(enum v4l2_skip_frames_type skip_frames);
162 
175  int setMaxPerfMode(int flag);
176 
187 
190 
206  int getMetadata(uint32_t buffer_index,
208 
224  int getInputMetadata(uint32_t buffer_index,
225  v4l2_ctrl_videodec_inputbuf_metadata &input_metadata);
226 
239  int getSAR(uint32_t &sar_width, uint32_t &sar_height);
240 
247  int DevicePoll(v4l2_ctrl_video_device_poll *devicepoll);
248 
253  int SetPollInterrupt();
254 
259  int ClearPollInterrupt();
260 
261 private
265  NvVideoDecoder(const char *name, int flags);
266 
267  static const NvElementProfiler::ProfilerField valid_fields =
270 };
272 #endif
NvVideoDecoder::SetPollInterrupt
int SetPollInterrupt()
设置轮询中断,现在如果应用程序调用 Poll,设备不应阻塞,...
NvVideoDecoder::setCapturePlaneFormat
int setCapturePlaneFormat(uint32_t pixfmt, uint32_t width, uint32_t height)
设置解码器输出平面上的格式。
NvVideoDecoder::getMetadata
int getMetadata(uint32_t buffer_index, v4l2_ctrl_videodec_outputbuf_metadata &metadata)
获取已解码的捕获平面缓冲区的元数据。
v4l2_ctrl_videodec_inputbuf_metadata_
保存帧的视频解码器输入头错误元数据。
定义: v4l2_nv_extensions.h:1738
NvV4l2Element
定义 V4L2 组件的辅助类。
定义: NvV4l2Element.h:65
v4l2_ctrl_video_displaydata_
定义: v4l2_nv_extensions.h:2539
NvVideoDecoder::disableDPB
int disableDPB()
禁用显示图像缓冲区。
NvVideoDecoder::MasteringDisplayData
int MasteringDisplayData(v4l2_ctrl_video_hdrmasteringdisplaydata *hdrmasteringdisplaydata)
NvVideoDecoder::getInputMetadata
int getInputMetadata(uint32_t buffer_index, v4l2_ctrl_videodec_inputbuf_metadata &input_metadata)
获取解码器输出平面缓冲区的元数据。
v4l2_skip_frames_type
v4l2_skip_frames_type
枚举 v4l2_skip_frames_type,解码器跳帧的可能方法。
定义: v4l2_nv_extensions.h:1591
NvElementProfiler::ProfilerField
int ProfilerField
定义: NvElementProfiler.h:79
NvVideoDecoder::checkifMasteringDisplayDataPresent
int checkifMasteringDisplayDataPresent(v4l2_ctrl_video_displaydata &displaydata)
_v4l2_ctrl_video_device_poll
轮询设备。
定义: v4l2_nv_extensions.h:2563
NvVideoDecoder::setSkipFrames
int setSkipFrames(enum v4l2_skip_frames_type skip_frames)
设置解码器的跳帧参数。
NvVideoDecoder::ClearPollInterrupt
int ClearPollInterrupt()
清除轮询中断,现在如果应用程序调用 Poll,设备应阻塞直到 ev...
NvVideoDecoder::DevicePoll
int DevicePoll(v4l2_ctrl_video_device_poll *devicepoll)
在设备上发出 Poll,它会阻塞直到:a) 要么有东西从捕获 o 中出队...
NvVideoDecoder::disableCompleteFrameInputBuffer
int disableCompleteFrameInputBuffer()
通知解码器输入缓冲区可能不包含完整帧。
NvVideoDecoder::setFrameInputMode
int setFrameInputMode(unsigned int ctrl_value)
通知解码器输入缓冲区可能不包含完整帧。
NvVideoDecoder::enableMetadataReporting
int enableMetadataReporting()
启用视频解码器输出元数据报告。
_v4l2_ctrl_video_hdrmasteringdisplaydata
HDR 元数据。
定义: v4l2_nv_extensions.h:2548
NvElementProfiler::PROFILER_FIELD_FPS
static const ProfilerField PROFILER_FIELD_FPS
定义: NvElementProfiler.h:84
NvVideoDecoder::createVideoDecoder
static NvVideoDecoder * createVideoDecoder(const char *name, int flags=0)
创建一个名为 name 的新 V4L2 视频解码器对象。
NvVideoDecoder
定义 V4L2 视频解码器的辅助类。
定义: NvVideoDecoder.h:58
v4l2_ctrl_videodec_outputbuf_metadata_
保存帧的视频解码器输出元数据。
定义: v4l2_nv_extensions.h:1748
NvVideoDecoder::getSAR
int getSAR(uint32_t &sar_width, uint32_t &sar_height)
获取解码器的采样宽高比 (SAR) 宽度和高度。
NvV4l2Element.h
NvVideoDecoder::setMaxPerfMode
int setMaxPerfMode(int flag)
将解码器设置为最大性能模式。
NvElementProfiler::PROFILER_FIELD_TOTAL_UNITS
static const ProfilerField PROFILER_FIELD_TOTAL_UNITS
定义: NvElementProfiler.h:81
NvVideoDecoder::setOutputPlaneFormat
int setOutputPlaneFormat(uint32_t pixfmt, uint32_t sizeimage)
设置解码器输出平面上的格式。
NvVideoDecoder::getMinimumCapturePlaneBuffers
int getMinimumCapturePlaneBuffers(int &num)
获取需要在解码器捕获平面上请求的最小缓冲区数量。
NvVideoDecoder::~NvVideoDecoder
~NvVideoDecoder()
. All rights reserved.