Skip to main content

Encode

VideoEncoder

函数功能

VideoEncoder类的构造函数。若因内存不足,或无法识别芯片等构造失败的场景会抛出 std::runtime_error 异常。

函数原型

VideoEncoder(const VideoEncodeConfig& vEncodeConfig, const int32_t deviceId = 0,
const uint32_t channelId = 0);

参数说明

参数名输入/输出说明
vEncodeConfig输入视频编码的参数(以结构体的形式传入)。 视频编码的最大分辨率(宽 * 高)不能超过 4096 * 2304。
deviceId输入视频编码器部署的芯片,默认为 0 号芯片。 取值范围:[0, 识别到的芯片个数 - 1]。
channelId输入视频编码器的视频流索引。
- Atlas 200I/500 A2 推理产品:只能构造一个VideoEncoder,因此用户无需设置 channelId,重复构造会导致失败。

父主题: VideoEncoder

~VideoEncoder

函数功能

VideoEncoder类的默认析构函数。

函数原型

~VideoEncoder()

父主题: VideoEncoder

Encode

函数功能

VideoEncoder的视频编码接口。

函数原型

APP_ERROR Encode(const Image &inputImage, const uint32_t frameId, void* userData);

参数说明

参数名输入/输出说明
inputImage输入输入编码前的FrameImage结构体。
frameId输入输入视频帧索引。
userData输入/输出输入用户自定义数据(用于传入用户自定义回调函数内,主要用来获取编码结果)。

返回参数说明

数据结构说明
APP_ERROR程序执行返回的错误码,请参考APP_ERROR说明

父主题: VideoEncoder

类说明

VideoDecoder类,作为视频解码类,主要开放视频解码接口。

在用户传入预申请解码内存场景下,需要先析构 VideoDecoder 类,再对预申请的内存进行释放(建议采用智能指针管理 VideoDecoder,智能指针的reset方法便可以提前进行析构)。

:::note 说明 VideoDecoder类涉及申请Device侧资源,与MxDeInit的作用域冲突,因此,其作用域不能大于或等于MxDeInit的作用域。 :::

父主题: VideoDecoder

VideoDecoder

函数功能

VideoDecoder类的构造函数。若因内存不足,或无法识别芯片等构造失败的场景会抛出std::runtime_error异常。

函数原型

VideoDecoder(const VideoDecodeConfig& vDecodeConfig, const int32_t deviceId = 0,
const uint32_t channelId = 0);

参数说明

参数名输入/输出说明
vDecodeConfig输入视频解码的参数(以结构体的形式传入)。
deviceId输入视频解码器部署的芯片,默认为 0 号芯片。 取值范围:[0, 识别到的芯片个数-1]。
channelId输入视频解码器的视频流索引。
- Atlas 200I/500 A2 推理产品:取值范围:[0, 31]。 若存在重复构造相同 channelId的场景,则会构造失败。

父主题: VideoDecoder

在线提单