RTK_mmp_dec.h 1.3 KB
#ifndef RTK_MMP_DEC_H
#define RTK_MMP_DEC_H

#include "BaseConfig.h"
#include "../RTK_mmp_LibInclude.h"

#ifdef RTK_MPP_STATUS_ON


typedef struct T_rtk_mmp_dec_info
{
    //输入的参数
    unsigned int width;  //输入的宽度
    unsigned int height; //输入的高度
    MppCodingType Dec_type; //解码的类型
    MppFrameFormat out_format;

    // 基础流上下文
    MppCtx ctx;
    MppApi *mpi;

    // 输入/输出
    MppPacket   packet; //用于存放h264,h265数据
    MppFrame    frame;  //用于存放yuv rgb数据

    // 资源分配参数
	unsigned int hor_stride;
    unsigned int ver_stride;
    

    // 运行时配置
    unsigned int need_split;  //输入分割设置,整帧输入,这里为0

    MppBufferGroup  frm_grp;
    MppBufferGroup  pkt_grp;
	MppBuffer      frmBuf;
	MppBuffer      pktBuf;
    unsigned char *dataBuf;
    unsigned int  packet_size; //写入的包大小

}T_rtk_mmp_dec_info ;


#include "rockchip/rk_type.h"
#include "rockchip/mpp_frame.h"
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"

T_JZsdkReturnCode RTK_mmp_dec_Init(T_rtk_mmp_dec_info *dec_info);
T_JZsdkReturnCode RTK_mmp_dec_input(T_rtk_mmp_dec_info *dec_info ,unsigned char *input_data, unsigned int input_data_len, MppFrame *out_put_frame);
#endif

#endif