⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 .#v5hdemo.c.1.16

📁 中芯微VC0528测试程序
💻 16
📖 第 1 页 / 共 2 页
字号:
			VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_270,VIM_HAPI_A_LAYER);
			VIM_HAPI_Display_Jpeg(VIM_HAPI_ROM_SAVE,g_file,0xffffff,0,0,320,240);
			Delay(1000);
			
			f_close(g_file);
			Beep(0x1);
			Delay(50);
			Beep(0x0);
			while(1)
			{
				InitMalloc();
				if(f_findnext( &find))//have not  the same name
					break;
				g_file=f_open(find.filename,"r+");
				Uart_Printf("\n dispaly %s",find.filename);
				DrawBack();
				VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_0,VIM_HAPI_A_LAYER);
				VIM_HAPI_Display_Jpeg(VIM_HAPI_ROM_SAVE,g_file,0xffffff,0,0,240,320);
				Delay(1000);
				DrawBack();
				VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_90,VIM_HAPI_A_LAYER);
				VIM_HAPI_Display_Jpeg(VIM_HAPI_ROM_SAVE,g_file,0xffffff,0,0,320,240);
				Delay(1000);
				DrawBack();
				VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_180,VIM_HAPI_A_LAYER);
				VIM_HAPI_Display_Jpeg(VIM_HAPI_ROM_SAVE,g_file,0xffffff,0,0,240,320);
				Delay(1000);
				DrawBack();
				VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_270,VIM_HAPI_A_LAYER);
				VIM_HAPI_Display_Jpeg(VIM_HAPI_ROM_SAVE,g_file,0xffffff,0,0,320,240);
				Delay(1000);
			
				f_close(g_file);
				Beep(0x1);
				Delay(50);
				Beep(0x0);
			}




}

void V5HDEMO_CaptureMuliti(char frame)
{
UINT8 Number=1;
UINT8 *Frame;
UINT16 count=0xfff;//width,heigth,
	Video_Length=0;
	CAPTUREEND=0;
//	Timer0_Stop();
	
	//V5H_Capture_MULTI(frame,0x1111,VideoBuf,0x80000,V5HDEMO_CaptureMulitiCallback);
	while(!CAPTUREEND&&(count--))
		{
			Delay(100);
			//V5H_IntHandle();
		}
	
//	Timer0_Run();


	//Video_Length=V5H_Capture_GetLength();
	//Video_FrameCount=V5H_Capture_GetFrmCount();
	while(1)
		{
		//
		Delay(2000);
		//Frame=V5H_Capture_GetMultishotFrame(VideoBuf,Video_Length,Number,&Jpeg_Length);
		//V5H_Display_Jpeg(Frame,Jpeg_Length,0,0,128,96);
		Number++;
			if(Number==7)
				break;
		}
}
extern UINT8 g_Reverse;
void V5HDEMO_CaptureStillThumb(void)
{
	UINT16 count=0xfff,Result;
	Jpeg_Length=0;
	CAPTUREEND=0;
	
	//g_file=f_open("64x48.jpg","w+");//
	
	Result=VIM_HAPI_CaptureThumbStill(VIM_HAPI_RAM_SAVE,JpegBuf,BmpBuf,0x160000,0);
	Jpeg_Length=VIM_HAPI_GetCaptureLength();
	if(Result)
		Uart_Printf("\n568 ISR_Buf error=%d",Result);
	else
		Uart_Printf("\nlength =%d",Jpeg_Length);
	//for(count=0;count<30;count++)
		//memset(ThumbBuf+count*2*40,count*40,40*2);
	g_Reverse=0;
	VIM_HAPI_SetLCDColordep(VIM_HAPI_COLORDEP_16BIT);
	//VIM_HAPI_YuvToRgb(ThumbBuf,BmpBuf,64,80,VIM_CON_UYVY_565);
	VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,64,80,BmpBuf);
	//VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,64,80,ThumbBuf);
	//VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B1_LAYER,0,30,40,30,ThumbBuf);
	VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,64,80);
	Delay(10);
	VIM_HAPI_SetLCDColordep(VIM_HAPI_COLORDEP_15BIT);
	//VIM_HAPI_UpdateLCD(VIM_HAPI_B1_LAYER,0,30,40,30);
	//f_write(ThumbBuf,1,64*48*2,g_file);
	//f_close(g_file);//
}

//extern const unsigned char jpg4_128x160_yuv422[4760];

#define DISPLAY_AUTO		1
#define DISPLAY_NOT_AUTO	0
//extern const unsigned char jpeg1422[1422086];

void V5HDEMO_DisplayExternStill(int a,int b,int c,int d, int mode)
{

      UINT16 DisplayStatus=0,Result;

#if 1
	if (DISPLAY_AUTO == mode)
		Result=VIM_HAPI_Display_Jpeg(VIM_HAPI_RAM_SAVE,NULL, 0,a, b, c, d);
	else
		Result=VIM_HAPI_Display_Jpeg(VIM_HAPI_RAM_SAVE, (UINT8 *)JpegBuf,0x160000, a, b, c, d);
		//Result=VIM_HAPI_Display_Jpeg(VIM_HAPI_RAM_SAVE, (UINT8 *)jpegtest,0x160000, a, b, c, d);
#else
	F_FILE *file;
	const char name[200];

	if (fileIndex>2) 
	  fileIndex=1;	
	sprintf(name,"/%d.jpg",fileIndex);
	file=f_open(name,"r+");
	if(file==0)
		Uart_Printf("\n open error");
	else
		Result=VIM_HAPI_Display_Jpeg(VIM_HAPI_ROM_SAVE, file,0xffffffff, a, b, c, d);
	if(Result)
		Uart_Printf("\n file %s  display Error!", name);
	else
		Uart_Printf("\n file %s  display OK!", name);
	
	f_close(file);
	fileIndex=fileIndex+1;
#endif
}
void User_DisplayVideoCallback(UINT8 Status, UINT32 Parameter)
{
	switch (Status)
	{
	case VIM_HAPI_ONEFRAME_END:

		//Uart_Printf("\n display frame: %d",framecounter);
		break;
	case VIM_HAPI_CAPTURE_END:
		Beep(1);
		Delay(50);
		Beep(0);
		CAPTUREEND=1;
		break;
	}
}
void V5HDEMO_DisplayVideo(int a,int b,int c,int d)
{

	UINT16 DisplayStatus=0,Result;
	//V5H_Preview_Effect(V5H_SPECIAL_NORMAL);

#if 0
	Result=VIM_HAPI_ReadyToDisplay(VIM_HAPI_RAM_SAVE, (UINT8 *)JpegBuf,0x160000, a, b, c, d);
	while(1)
      {
         if (VIM_HAPI_DisplayOneFrame(NULL,0))
         	break;
         Delay(500);
         Uart_Printf("\n one frame finish");
       }  
#else
	F_FILE *file;
	file=f_open("1.avi","r+");
	if(file==0)
		Uart_Printf("\n open error");
	else
		VIM_HAPI_ReadyToDisplay(VIM_HAPI_ROM_SAVE, file,0xffffffff, 0, 0, 240, 320);
	CAPTUREEND=0;
	VIM_HAPI_StartDisplayVideo(User_DisplayVideoCallback,10);
	while(!CAPTUREEND);
	f_close(file);
	
	/*file=f_open("1.avi","r+");
	if(file==0)
		Uart_Printf("\n open error");
	else
		Result=VIM_HAPI_ReadyToDisplay(VIM_HAPI_ROM_SAVE, file,0x160000, a, b, c, d);
	while(1)
      {
         if (VIM_HAPI_DisplayOneFrame(NULL,0))
         	break;
         //Delay(500);
       }  
	f_close(file);

	file=f_open("2.avi","r+");
	if(file==0)
		Uart_Printf("\n open error");
	else
		Result=VIM_HAPI_ReadyToDisplay(VIM_HAPI_ROM_SAVE, file,0x160000, a, b, c, d);
	while(1)
      {
         if (VIM_HAPI_DisplayOneFrame(NULL,0))
         	break;
        // Delay(500);
       }  
	f_close(file);*/
#endif
}
void V5HDEMO_Test(void)
{
	/*	V5H_Preview_MODE(V5H_PREVIEW_OFF);
		//V5H_WorkMode_Set(V5H_MODE_BYPASS);
		V5H_LCD_Panel(V5H_LCDPANEL_SUB);
		//V5H_WorkMode_Set(V5H_MODE_CAMERAON);
		V5H_Preview_Parameter(0,0,96,64);

		V5H_Capture_Parameter(128,160,32);
		V5H_Capture_CompressionRatio(1);

		V5H_Preview_ExposureMode(1);//V5H_EXP_50HZ
		V5H_Preview_ExposureTYPE(V5H_EXP_INDOOR);
		V5H_Preview_Effect(V5H_SPECIAL_NORMAL);
		V5H_LCD_WorkMode(V5H_LCDMODE_AFIRST, 0);
		V5H_Preview_Mirror(V5H_SENSOR_ROTATION);
		V5H_Preview_MODE(V5H_PREVIEW_ON);
		V5H_Preview_Effect(0);

		V5H_Preview_MODE(V5H_PREVIEW_OFF);

	//	V5H_WorkMode_Set(V5H_MODE_BYPASS);
		V5H_LCD_Panel(V5H_LCDPANEL_MAIN);

	//	V5H_WorkMode_Set(V5H_MODE_CAMERAON);
		V5H_Preview_Parameter(0,0,128,160);
		V5H_Capture_Parameter(128,160,32);
		V5H_Capture_CompressionRatio(1);

		V5H_Preview_ExposureMode(1);//V5H_EXP_50HZ
		V5H_Preview_ExposureTYPE(V5H_EXP_INDOOR);
		V5H_Preview_Effect(V5H_SPECIAL_NORMAL);
		//V5H_LCD_WorkMode(V5H_LCDMODE_OVERLAY, 0xf81f);
		V5H_Preview_Mirror(V5H_SENSOR_NORMAL);
		V5H_Preview_MODE(V5H_PREVIEW_ON);*/
}

UINT8 DisplayOk;
void DisplayOneFrame(void)
{
	//DisplayOk=V5H_Display_Mjpeg(0 , 0,0,0, 0, 128, 160);
}
extern void V568Interrupt(void);

void V5HDEMO_CaptureVideo(void)
{
#if 1
	Jpeg_Length=0;
	VIM_HAPI_SetCaptureVideoInfo(VIM_HAPI_RAM_SAVE,10,8);
	VIM_HAPI_StartCaptureVideo(JpegBuf, 100000, V5HDEMO_CaptureMulitiCallback);
	Uart_Printf("\n568 video lenth=%d",Video_Length);
#else
	g_file=f_open("111.jpg","w+");//
	if(g_file==0)
		Uart_Printf("\n open error");
	else
	{
		Uart_Printf("\n g_file=0x%x",g_file);
		VIM_HAPI_SetCaptureVideoInfo(VIM_HAPI_ROM_SAVE,10,8);
		VIM_HAPI_StartCaptureVideo(g_file, 100000, V5HDEMO_CaptureMulitiCallback);
	}
#endif
}

UINT8 *AudioCallBack(UINT32* length)
{
	//*length=sizeof(audio1);
	//return (UINT8 *)audio1;
}

void V5HDEMO_CaptureAVI(void)
{
#if 1
AviInfo info;
UINT32 TIME;
	Video_Length=0;
	StartCaculateTime();
	info.wCaptureWidth=320;
	info.wCaptureHeight=240;
	info.dFileMaxSize=0x80000;//JpegBuf;
	info.wFrameRate=10;
#if 0
	Avi_LoadInfo(&info,RAMSAVE,V5HDEMO_CaptureAviCallback);
	Avi_StartCapture(JpegBuf);
#else
	CAPTUREEND=0;
	g_file=f_open("1.avi","w+");//
	if(g_file==0)
		Uart_Printf("\n open error,file id =0x%x",g_file);
	else
	{
		Uart_Printf("\n file id =0x%x",g_file);
		Avi_LoadInfo(&info,ROMSAVE,V5HDEMO_CaptureAviCallback);
		Avi_StartCapture(g_file);
	}
#endif
	//TIME=ReturnTime();
	//Uart_Printf("\n568 video TIME=%d",TIME);
#endif
}



void V5HDEMO_TestPanel(char PANEL)
{
	
	/*if(PANEL==1)
	{
		V5H_LCD_Panel(V5H_LCDPANEL_SUB);
		V5H_Preview_Parameter(0,0,96,64);
		V5H_Capture_Parameter(128,96,40);
		V5H_Preview_MODE(V5H_PREVIEW_ON);//先算出twc
 		//Timer0_Run();
	}
	else
	{
		//Timer0_Stop();
		V5H_LCD_Panel(V5H_LCDPANEL_MAIN);
		V5H_Preview_Parameter(0,0,128,160);
		V5H_Capture_Parameter(128,96,40);
		V5H_Preview_MODE(V5H_PREVIEW_ON);//先算出twc

	}*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -