Description
Source
Call Graph
Start Line: 661
void main_Test(AT91PS_VIDEO pVideo)
{
TRACE_DEBUG("main_Test\n\r");
S_Video.Hblank = 0;
S_Video.Vblank = 0;
S_Video.lcd_fb_addr = (unsigned int)BuffCam;
// base address of the descriptor list for preview DMA
S_Video.Isi_fbd_base = (int)&FbList[0];
S_Video.codec_fb_addr = 0;
S_Video.rgb_or_yuv = YUV;
#if defined (AT91C_ID_LCDC)
if( BOARD_LCD_WIDTH < S_Video.codec_hsize ) {
S_Video.lcd_hsize = BOARD_LCD_WIDTH;
S_Video.lcd_vsize = S_Video.codec_vsize*BOARD_LCD_WIDTH/S_Video.codec_hsize;
}
else {
if(S_Video.codec_vsize > BOARD_LCD_HEIGHT) {
S_Video.lcd_vsize = BOARD_LCD_HEIGHT;
}
else {
S_Video.lcd_vsize = S_Video.codec_vsize;
}
S_Video.lcd_hsize = S_Video.codec_hsize*S_Video.lcd_vsize/S_Video.codec_vsize;
}
#endif
#if !defined (BOARD_ISI_V200)
ISI_DisableInterrupt( AT91C_ISI_FO_P_EMP | AT91C_ISI_FO_C_EMP
| AT91C_ISI_FO_C_OVF | AT91C_ISI_FO_P_OVF);
ISI_Init(&S_Video);
ISI_EnableInterrupt( AT91C_ISI_FO_P_EMP | AT91C_ISI_FO_C_EMP
| AT91C_ISI_FO_C_OVF | AT91C_ISI_FO_P_OVF);
#else
ISI_DisableInterrupt( AT91C_ISI_PXFR_DONE_1 | AT91C_ISI_CXFR_DONE_1
| AT91C_ISI_C_OVR_1 | AT91C_ISI_P_OVR_1
| AT91C_ISI_CRC_ERR_1 | AT91C_ISI_FR_OVR_1);
ISI_Init(&S_Video);
ISI_EnableInterrupt( AT91C_ISI_PXFR_DONE_1 | AT91C_ISI_CXFR_DONE_1
| AT91C_ISI_C_OVR_1 | AT91C_ISI_P_OVR_1
| AT91C_ISI_CRC_ERR_1 | AT91C_ISI_FR_OVR_1);
#endif
ISI_Reset();
ISI_Enable();
ov965x_configure(&twid, S_Video.codec_hsize, S_Video.codec_vsize);
// ov95x_DumpRegisters(&twid);
#if defined (AT91C_ID_LCDC)
InitializeLcd();
AT91C_BASE_LCDC->LCDC_IDR = AT91C_LCDC_EOFI;
LCD_Disable(0);
LCD_DisableDma();
LCD_DMAReset();
LCD_SetBitsPerPixel(AT91C_LCDC_PIXELSIZE_SIXTEENBITSPERPIXEL);
LCD_SetSize(S_Video.lcd_hsize, S_Video.lcd_vsize);
LCD_SetFrameSize((S_Video.lcd_hsize * S_Video.lcd_vsize * S_Video.lcd_nbpp)/32);
LCD_SetBurstLength(4);
LCD_SetFrameBufferAddress(BuffCam);
LCD_EnableDma();
LCD_Enable(8);
LCD_EnableInterrupts(AT91C_LCDC_EOFI | // (LCDC) End of Frame Interrupt
AT91C_LCDC_UFLWI | // (LCDC) FIFO Underflow Interrupt
AT91C_LCDC_OWRI | // (LCDC) Over Write Interrupt
AT91C_LCDC_MERI); // (LCDC) Memory Error Interrupt
#endif
}