昇腾社区首页
中文
注册

VdecConfig

功能

定义视频流解码使用的结构体。

结构定义

struct VdecConfig {
    uint32_t width = 0;
    uint32_t height = 0;
    MxbaseStreamFormat inputVideoFormat = MXBASE_STREAM_FORMAT_H264_MAIN_LEVEL;
    MxbasePixelFormat outputImageFormat = MXBASE_PIXEL_FORMAT_YUV_SEMIPLANAR_420;
    uint32_t channelId = 0;
    uint32_t deviceId  = 0;
    pthread_t threadId  = 0; 
    DecodeCallBackFunction callbackFunc = nullptr; 
    uint32_t outMode = 0;
    uint32_t videoChannel = 0;
    uint32_t skipInterval = 0;
    void* userData = nullptr;
};

参数说明

参数名

输入/输出

说明

width

输入

图像的宽度。

height

输入

图像的高度。

inputVideoFormat

输入

输入图像的格式。

outputImageFormat

输入

输出图像的格式。

channelId

输入

解码的通道编号。

deviceId

输入

设备编号。

threadId

输入

回调线程编号。

callbackFunc

输入

回调函数。

结构为:

APP_ERROR (*DecodeCallBackFunction)(std::shared_ptr<void> buffer, DvppDataInfo& dvppDataInfo, void* userData)
  • buffer:解码后输出的数据。
  • dvppDataInfo:解码后输出的数据信息。
  • userData:用户定义获取数据指针。

outMode

输入

选择出帧模式。默认值为0,可取值为0或1。

  • “0”:由于解码过程中存在缓存帧,无法实时输出,因此VDEC需要在收到码流中的多帧数据后,才开始输出解码结果。
  • “1”:快速出帧模式,VDEC获取码流中的一帧数据后,就开始实时输出解码结果,只支持简单参考关系的H.264/H.265标准码流(无长期参考帧,无B帧)。

videoChannel

输入

预留参数。

skipInterval

输入

跳帧参数

userData

输入

用户自定义数据。