Decode
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
~VideoDecoder
函数功能
VideoDecoder类的默认析构函数。
函数原型
~VideoDecoder()
父主题: VideoDecoder
Decode
函数功能
VideoDecoder的视频解码接口。
一个实例化的解码器在首次调用Decode接口时,会判断是否为预申请场景。使用预申请场景时,用户需要在后续调用Decode接口进行预申请输出内存,防止接口调用失败。
函数原型
APP_ERROR Decode(const std::shared_ptr<uint8_t> data, const uint32_t dataSize,
const uint32_t frameId, void* userData);
APP_ERROR Decode(const std::shared_ptr<uint8_t> data, const uint32_t dataSize, const uint32_t frameId,
Image& preMallocData, void* userData);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| data | 输入 | 输入解码前的数据内存地址。 |
| dataSize | 输入 | 输入解码前的数据内存大小。 |
| frameId | 输入 | 输入解码前视频帧的帧ID,输出的帧顺序跟发帧顺序不一定一致。 |
| userData | 输入/输出 | 用户自定义数据(用于传入用户自定义回调函数内,主要用来获取解码结果)。 |
| preMallocData | 输入 | 用户需要使用预申请内存场景时需要通过申请好的内存地址,内存大小,图像宽高,设备ID及图像格式 来构造Image类。 |
:::note 说明 “frameId”采用显示序进行输出与解码序(输出的帧顺序与发帧顺序一致)不同,其输出的帧顺序与发帧的顺序不一定一致,但与实际画面的显示一致。 :::
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: VideoDecoder
Flush
函数功能
发送完所有码流后,获取缓存数据并清空缓存队列,接口调用完成后将结束解码过程。
由于视频解码内部通过异步实现,请使用该接口后保留一定等待时间,用于回调函数获取并处理缓存数据。
函数原型
APP_ERROR Flush();
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: VideoDecoder
类说明
Model类,作为模型的抽象,持有模型推理的资源,并主要开放推理接口。支持使用ATC工具构建的动态Batch、动态分辨率和分档动态维度模型的推理。
:::note 说明 Model类涉及申请Device侧资源,与MxDeInit的作用域冲突,因此,其作用域不能大于或等于MxDeInit的作用域。 :::
父主题: Model
Model
函数功能
Model类的构造函数。
函数原型
Model(std::string &modelPath, const int32_t deviceId = 0) // 构造失败时,会抛出std::runtime_error异常
Model(const Model&) = delete // 请勿拷贝构造
Model &operate=(const Model&) = delete // 请勿赋值构造
Model(ModelLoadOptV2 &mdlLoadOpt, const int32_t deviceId = 0);// 构造失败时,会抛出std::runtime_error异常
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| modelPath | 输入 | 模型的路径。最大仅支持至4G的模型且建议模型属主为当前用户,模型文件的权限小于或等于“640”。(对于MindIR模型,仅支持静态Shape和动态Batch。) |
| deviceId | 输入 | 模型部署的芯片,默认为0号芯片。(-1表示模型部署在Host侧,为保留字段,请勿使用。) |
| mdlLoadOpt | 输入 | 选择以特定模型输入方式,输入推理模型。具体请参见ModelLoadOptV2。 |
父主题: Model
在线提单