vdec_in_msg中的结构体和类
该结构体在DDK安装目录下的“ddk/include/inc/dvpp/Vdec.h”文件中定义
成员变量 |
说明 |
---|---|
int height |
输出图像的高(对齐后的值,H264为16对齐,H265为64对齐)。 |
int width |
输出图像的宽(对齐后的值,H264为16对齐,H265为64对齐)。 |
int realHeight |
真实图像的高。 |
int realWidth |
真实图像的宽。 |
unsigned char* buffer |
输出图像的内存地址。 |
int buffer_size |
输出图像的内存大小。 |
unsigned int offset_payload_y |
输出图像payload的Y分量偏移量,payload的Y分量地址=buffer + offset_payload_y。 |
unsigned int offset_payload_c; |
输出图像payload的C分量偏移量,payload的C分量地址=buffer + offset_payload_c。 |
unsigned int offset_head_y; |
输出图像head的Y分量偏移量,head的Y分量地址=buffer + offset_head_y。 |
unsigned int offset_head_c; |
输出图像head的C分量偏移量,head的C分量地址=buffer + offset_head_c。 |
unsigned int stride_payload; |
输出图像payload的stride。 |
unsigned int stride_head; |
输出图像head的stride。 |
unsigned short bitdepth; |
输出图像的位深。 |
char video_format[10]; |
输入视频的格式,为“h264”或“h265”。 |
char image_format[10]; |
输出图像的格式,为“nv12”或“nv21”。 |
成员变量或函数 |
说明 |
---|---|
unsigned long long frameIndex |
帧序号。 |
void * frameBuffer |
用户申请用于存放输出帧的内存。 |
unsigned int frameSize |
用户申请用于存放输出帧的内存大小。 |
void setFrameIndex(unsigned long long index) |
设置帧序号函数。 |
unsigned long long getFrameIndex() |
获取帧序号函数。 |
void setFrameBuffer(void * frameBuff) |
设置frameBuffer地址。 |
void * getFrameBuffer() |
获取frameBuffer地址。 |
void setFrameSize(unsigned int size) |
设置frameSize大小。 |
unsigned int getFrameSize() |
获取frameSize大小。 |
成员变量 |
说明 |
---|---|
ERRTYPE errType |
错误类型。 enum ERRTYPE{ //VDEC解码器状态异常错误,用户需要销毁解码实例,再重新创建实例 ERR_INVALID_STATE = 0x10001, //硬件错误,包含解码器启动、执行、停止等异常,用户需要销毁解码实例,再重新创建实例 ERR_HARDWARE, //将视频码流分解成多帧图片异常,用户需要检查输入的视频流数据是否正确 ERR_SCD_CUT_FAIL, //解码某一帧异常,用户需要检查输入的视频流数据是否正确 ERR_VDM_DECODE_FAIL, //暂未使用,预留 ERR_ALLOC_MEM_FAIL, //包括输入视频分辨率超范围(用户需要检查输入视频流的分辨率)、内部动态申请内存失败(用户检查系统是否有可用内存)等异常 ERR_ALLOC_DYNAMIC_MEM_FAIL, //系统内部申请VDEC的输入、输出buffer异常,用户检查系统是否有可用内存 ERR_ALLOC_IN_OR_OUT_PORT_MEM_FAIL, //码流错误,暂未使用,预留 ERR_BITSTREAM, //输入视频格式错误,暂未使用,预留 ERR_VIDEO_FORMAT, //输出格式配置错误,暂未使用,预留 ERR_IMAGE_FORMAT, //回调函数为空错误,暂未使用,预留 ERR_CALLBACK, //输入buffer为空错误,暂未使用,预留 ERR_INPUT_BUFFER, //输入buffer大小<=0错误,暂未使用,预留 ERR_INBUF_SIZE, //系统内部将解码结果通过回调函数返回给用户的线程异常,用户需要检查系统中资源(例如:线程、内存等)是否可用 ERR_THREAD_CREATE_FBD_FAIL, //创建解码实例失败,用户需要重新创建解码实例 ERR_CREATE_INSTANCE_FAIL, //初始化解码器失败,例如解码实例个数超出范围(最大16),用户需要释放部分解码实例后再重新创建实例 ERR_INIT_DECODER_FAIL, //系统内部获取某路视频流的解码句柄失败,用户需要重新创建解码实例 ERR_GET_CHANNEL_HANDLE_FAIL, //系统内部设置解码实例异常,用户需要检查解码的入参值是否正确,例如输入视频格式video_format、输出帧格式image_format等 ERR_COMPONENT_SET_FAIL, //系统内部设置解码实例名称异常,用户需要检查解码的入参值是否正确,例如输入视频格式video_format、输出帧格式image_format等 ERR_COMPARE_NAME_FAIL, //其它错误 ERR_OTHER }; |
unsigned short channelId |
解码错误的通道。 |