void VIM_IPP_Reset(void) { UINT8 Temp; VIM_USER_DelayMs(VIM_IPP_DOWNTOUP_DELAY); Temp = VIM_HIF_GetReg8(V5_REG_IPP_SIZCTRL0); // Reset all the internal registers except control registers VIM_HIF_SetReg8(V5_REG_IPP_SIZCTRL0, Temp | BIT4); VIM_USER_DelayMs(1); // Restore reset bit in V5_REG_IPP_SIZCTRL register. VIM_HIF_SetReg8(V5_REG_IPP_SIZCTRL0, Temp & (~BIT4)); }
/*************************************************************** Description: Start Capture(get one frame) Parameters: str : the head point of one jpeg length: the length of jpeg Returns: 0: true 1-255: error ****************************************************************/ UINT8 Avi_StartCaptureJpeg(HUGE UINT8 *str,UINT32 *length) { UINT8 result; #if 1 VIM_HAPI_SetCaptureVideoInfo(VIM_HAPI_RAM_SAVE,0,0); result=VIM_HAPI_StartCaptureVideo(str,0X10000,0); AVI_Status.SameFrameNum=0; if(!result) { RECAP: VIM_USER_DelayMs(80); result=VIM_HAPI_GetQuickOneJpeg(str,ONEFRAMELENGTH,length); if(result==VIM_ERROR_NOINITERRUPT) goto RECAP; } #else VIM_HAPI_SetCaptureVideoInfo(VIM_HAPI_RAM_SAVE,0,10000); result=VIM_HAPI_StartCaptureVideo(str,0X10000,0); if(!result) result=VIM_HAPI_GetOneJpeg(str,0X10000,length); #endif return result; }