解码比编码要省心一些,唯一让人操心的是,在初始化的时候要用编码器生成的head数据来初始化的。就是说,在编码的时候,是生成一个head数据,这个数据是用来在解码的时候用的。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include "../mfc/SsbSipMfcApi.h"
#include "../mfc/MfcConvert.h"
#include "Bitmap.h"
#include "../mm/MMClock.h"
#include "../vout/Vout.h"
int test_dec_mpeg4()
{
Vout vo;
vo.Open(640,480, 640, 480);
SSBSIP_MFC_ERROR_CODE ret = MFC_RET_OK;
// 打开
unsigned int buf_type = CACHE;
void* handle = SsbSipMfcDecOpen();
if(handle == NULL)
{
printf("failed to open mfc device!\n");
return -1;
}
printf("== SsbSipMfcDecOpen OK \n");
int maxFrameSize = 256 * 1024;
/* 得到 输入缓冲区信息 */
void* virInBuf = NULL;
void* phyInBuf = NULL;
virInBuf = SsbSipMfcDecGetInBuf(handle, &phyI