M3329D M3329F Application Porting Guide
M3329D M3329F Application Porting Guide
M3329D M3329F Application Porting Guide
1.0
2009-9-17
2 Porting Guide
New added
Libyamadhw.a
Libplus29d.a
Replaced::
For M3329D/F: libyamad.a -> libyamadhw.a
For M3329D/F: libplus.a->libplus29d.a
New added:
BUS_SPE_M33
LLD_VENC_IMG
16M solution do not support PIP,and picture size and mpeg resolution is smaller than 32M
solution.The difference is as following:
Deleted:
1.Flash driver software protection disabled.
chunk_id = 0x02FD0100;/*The id of chunk after maincode*/
chunk_init(SYS_FLASH_BASE_ADDR,SYS_FLASH_SIZE);
p_offset = chunk_goto(&chunk_id,0xFFFFFFFF,1);
p_offset = p_offset - SYS_FLASH_BASE_ADDR;
if((UINT32)p_offset < SYS_FLASH_SIZE)
{
//libc_printf("Protected address %x:%x\n",p_offset,SYS_FLASH_SIZE);
sto_flash_soft_protect(p_offset,SYS_FLASH_SIZE);
}
Updated
1. Snd_m33_attach() //Parameter change to enable HW Xlator.
MEMSET((void *)&osd_c_config,0,sizeof(OSD_DRIVER_CONFIG));
osd_c_config.uMemBase = __MM_OSD_START_ADDR;
osd_c_config.uMemSize = __MM_OSD_LEN;
osd_c_config.bStaticBlock = TRUE;
osd_c_config.bDirectDraw = FALSE;
osd_c_config.bCacheable = TRUE;
osd_c_config.bVFilterEnable = FALSE; // if use hw PIP, enable it
osd_c_config.bP2NScaleInNormalPlay = TRUE;
osd_c_config.bP2NScaleInSubtitlePlay = TRUE;
osd_c_config.uDViewScaleRatio[OSD_PAL][0] = 384;
osd_c_config.uDViewScaleRatio[OSD_PAL][1] = 510;
osd_c_config.uDViewScaleRatio[OSD_NTSC][0] = 384;
osd_c_config.uDViewScaleRatio[OSD_NTSC][1] = 426;
osd_c_config.af_par[0].id = 0;
osd_c_config.af_par[0].vd = 1;
osd_c_config.af_par[0].af = 1;
osd_m33f_attach("OSD_M33F_0",&osd_c_config);
MEMSET((void *)&osd_c_config,0,sizeof(OSD_DRIVER_CONFIG));
osd_c_config.uMemBase = __MM_OSD_START_ADDR + __MM_OSD_LEN;
osd_c_config.uMemSize = __MM_OSD_LEN;
osd_c_config.bStaticBlock = TRUE;
osd_c_config.bDirectDraw = FALSE;
osd_c_config.bCacheable = TRUE;
osd_c_config.bVFilterEnable = FALSE; // if use hw PIP, enable it
osd_c_config.bP2NScaleInNormalPlay = TRUE;
osd_c_config.bP2NScaleInSubtitlePlay = TRUE;
osd_c_config.uDViewScaleRatio[OSD_PAL][0] = 384;
osd_c_config.uDViewScaleRatio[OSD_PAL][1] = 510;
osd_c_config.uDViewScaleRatio[OSD_NTSC][0] = 384;
osd_c_config.uDViewScaleRatio[OSD_NTSC][1] = 426;
osd_c_config.af_par[0].id = 0;
osd_c_config.af_par[0].vd = 1;
osd_c_config.af_par[0].af = 1;
osd_m33f_attach("OSD_M33F_1",&osd_c_config);
3, CI unsupported in M3329D.
MEMSET((void *)&osd_c_config,0,sizeof(OSD_DRIVER_CONFIG));
osd_c_config.uMemBase = __MM_OSD_START_ADDR;
osd_c_config.uMemSize = __MM_OSD_LEN;
osd_c_config.bStaticBlock = TRUE;
osd_c_config.bDirectDraw = FALSE;
osd_c_config.bCacheable = TRUE;
osd_c_config.bVFilterEnable = FALSE; // if use hw PIP, enable it
2. Plug-in added
Updated ldscript_29d.ld to support plug-in mode.
LIB_PE_VIDEO_ENGINE_AVI.o (For playing mpeg4 stream. Please put it in sdk\plugin)
LIB_PE_VIDEO_MPEG_S.o (For playing old mpeg2 stream. Please put it in sdk\plugin)
3. C Files updated