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

📄 l1_preview.c

📁 dz3000_51.0.0.4.rar
💻 C
📖 第 1 页 / 共 5 页
字号:
		/*
                captureWidth = K_SNAP_Resolution_Middle_Width;
                captureHeight = K_SNAP_Resolution_Middle_Height;
                L2_ScaleDownImage(G_RawImageBufAddr, G_Hsize , G_Vsize ,
                        G_RawImageBufAddr, K_SNAP_Resolution_Middle_Width, K_SNAP_Resolution_Middle_Height,
                        K_SDRAM_TemporaryBufAddr);
		*/
                captureWidth = K_SNAP_Resolution_Middle_Width;
                captureHeight = K_SNAP_Resolution_Middle_Height;

                L2_ScaleDownImage_H(
				G_RawImageBufAddr
				, G_Hsize , G_Vsize,  //source
				G_RawImageBufAddr
				, captureWidth);            //destination

                L2_ScaleDownImage_V(
				G_RawImageBufAddr
				, captureWidth , G_Vsize,  //source
				G_RawImageBufAddr
				, captureHeight);            //destination
/*      		
                L2_ScaleDownImage(G_RawImageBufAddr
				, G_Hsize , G_Vsize / 4,  //source
                        	G_RawImageBufAddr
				, captureWidth, captureHeight / 4,            //destination
                        	K_SDRAM_ImageCaptureGeneralBufAddr);

                L2_ScaleDownImage(G_RawImageBufAddr + (((ULONG)G_Hsize * (ULONG)G_Vsize ) / 4) * 1
				, G_Hsize , G_Vsize / 4,  //source
                        	G_RawImageBufAddr + (((ULONG)captureWidth * (ULONG)captureHeight ) / 4) * 1
				, captureWidth, captureHeight / 4,            //destination
                        	K_SDRAM_ImageCaptureGeneralBufAddr);

                L2_ScaleDownImage(G_RawImageBufAddr + (((ULONG)G_Hsize * (ULONG)G_Vsize ) / 4) * 2
				, G_Hsize , G_Vsize / 4,  //source
                        	G_RawImageBufAddr + (((ULONG)captureWidth * (ULONG)captureHeight ) / 4) * 2
				, captureWidth, captureHeight / 4,            //destination
                        	K_SDRAM_ImageCaptureGeneralBufAddr);

                L2_ScaleDownImage(G_RawImageBufAddr + (((ULONG)G_Hsize * (ULONG)G_Vsize ) / 4) * 3
				, G_Hsize , G_Vsize / 4,  //source
                        	G_RawImageBufAddr + (((ULONG)captureWidth * (ULONG)captureHeight ) / 4) * 3
				, captureWidth, captureHeight / 4,            //destination
                        	K_SDRAM_ImageCaptureGeneralBufAddr);
		*/

        }
        else if(G_CameraOptions.ImageSize == K_UIOPTION_IMGSIZE_LOW)
        {
            #if(ONE2TWO_OPTION == 1)

		 		 //////////////
                captureWidth = K_SNAP_Resolution_Middle_Width;
                captureHeight = K_SNAP_Resolution_Middle_Height;


                L2_ScaleDownImage_H(
				G_RawImageBufAddr
				, G_Hsize , G_Vsize,  //source
				G_RawImageBufAddr
				, captureWidth);            //destination

                L2_ScaleDownImage_V(
				G_RawImageBufAddr
				, captureWidth , G_Vsize,  //source
				G_RawImageBufAddr
				, captureHeight);            //destination
		 		 
           #else
	/*
                captureWidth = K_SNAP_Resolution_Low_Width;
                captureHeight = K_SNAP_Resolution_Low_Height;
                L2_ScaleDownImage(G_RawImageBufAddr, G_Hsize , G_Vsize ,
                        G_RawImageBufAddr, K_SNAP_Resolution_Low_Width, K_SNAP_Resolution_Low_Height,
                        K_SDRAM_TemporaryBufAddr);
	*/
                captureWidth = K_SNAP_Resolution_Low_Width;
                captureHeight = K_SNAP_Resolution_Low_Height;

                L2_ScaleDownImage_H(
				G_RawImageBufAddr
				, G_Hsize , G_Vsize,  //source
				G_RawImageBufAddr
				, captureWidth);            //destination

                L2_ScaleDownImage_V(
				G_RawImageBufAddr
				, captureWidth , G_Vsize,  //source
				G_RawImageBufAddr
				, captureHeight);            //destination
		/*
                L2_ScaleDownImage(G_RawImageBufAddr
				, G_Hsize , G_Vsize / 4,  //source
                        	G_RawImageBufAddr
				, captureWidth, captureHeight / 4,            //destination
                        	K_SDRAM_ImageCaptureGeneralBufAddr);

                L2_ScaleDownImage(G_RawImageBufAddr + (((ULONG)G_Hsize * (ULONG)G_Vsize ) / 4) * 1
				, G_Hsize , G_Vsize / 4,  //source
                        	G_RawImageBufAddr + (((ULONG)captureWidth * (ULONG)captureHeight ) / 4) * 1
				, captureWidth, captureHeight / 4,            //destination
                        	K_SDRAM_ImageCaptureGeneralBufAddr);

                L2_ScaleDownImage(G_RawImageBufAddr + (((ULONG)G_Hsize * (ULONG)G_Vsize ) / 4) * 2
				, G_Hsize , G_Vsize / 4,  //source
                        	G_RawImageBufAddr + (((ULONG)captureWidth * (ULONG)captureHeight ) / 4) * 2
				, captureWidth, captureHeight / 4,            //destination
                        	K_SDRAM_ImageCaptureGeneralBufAddr);

                L2_ScaleDownImage(G_RawImageBufAddr + (((ULONG)G_Hsize * (ULONG)G_Vsize ) / 4) * 3
				, G_Hsize , G_Vsize / 4,  //source
                        	G_RawImageBufAddr + (((ULONG)captureWidth * (ULONG)captureHeight ) / 4) * 3
				, captureWidth, captureHeight / 4,            //destination
                        	K_SDRAM_ImageCaptureGeneralBufAddr);
		*/
	  #endif
        }
        else
        {
                captureWidth = K_SENSOR_CaptureWidth ;
                captureHeight = K_SENSOR_CaptureHeight; //1280;
/*                L2_ScaleUpImage_H(
				  G_RawImageBufAddr,
		 		 //K_SDRAM_ImageCaptureBufAddr,
		 		 //src size
		 		 G_Hsize,G_Vsize,
		 		//dest address
		 		 K_SDRAM_ImageCaptureGeneralBufAddr,
		 		 captureWidth);
		
		L2_ScaleUpImage_V(K_SDRAM_ImageCaptureGeneralBufAddr,
		 		 //src size
		 		 captureWidth,G_Vsize,
		 		 //dest address
		 		 G_RawImageBufAddr,
		 		 captureHeight);
*/        
        }

	///////  DISPLAY  ///////
	//printf("G_DSPHsize = %x,G_DSPVsize = %x\n",G_DSPHsize,G_DSPVsize);
//patch5.0@richie@conti shot begin

	if (captureWidth > G_DSPHsize)
	{
		//Joe@2003.2.25 14:49 modify begin
		//L2_ScaleDownImage(
		L1_ScaleImage(
		//Joe@2003.2.25 14:49 modify end
				G_RawImageBufAddr
			, captureWidth , captureHeight ,
			  K_SDRAM_ImageCaptureDisplayBufAddr, G_DSPHsize, G_DSPVsize,
			  K_SDRAM_ImageCaptureGeneralBufAddr);
	}
	else
	{
		//Joe@2003.2.25 14:50 modify begin
		//L2_ScaleUpImage(
		L1_ScaleImage(
		//Joe@2003.2.25 14:50 modify end
				G_RawImageBufAddr
			, captureWidth , captureHeight ,
			  K_SDRAM_ImageCaptureDisplayBufAddr, G_DSPHsize, G_DSPVsize,
			  K_SDRAM_ImageCaptureGeneralBufAddr);
	}
//patch5.0@richie@conti shot end

        //////// COMPRESSION //////////////////////////////////////////////
        L2_SetCamMode(0);                    //must switch back to idle before compression
        //L2_SetJPEGVscale(G_Vsize, G_Vsize);  //turn off JPEG Vertical scaling function
        //yichang@0508 for multi-size snapping
        L2_SetJPEGVscale(captureHeight, captureHeight);  //turn off JPEG Vertical scaling function

        //use option 0x30 instead of 0x20 in the final version

        //since our AP can only deal with the non-JFIF format, so use 0x20 here
        //yichang@0508 for multi-size snapping
         L2_Compress(2,
				G_RawImageBufAddr
		,captureWidth,captureHeight,        //source
                K_SDRAM_ImageCaptureGeneralBufAddr,                         //destination
                K_SDRAM_DcTermBufAddr,                           //DC-teram location
                0x30);                                  //Mode: JFIF, generate DC term

	////printf("G_Vsize = %d,G_Hsize = %d\n",G_Vsize,G_Hsize);

        L2_ReadCompSize(pSize);

#if  AAA_OPTION
#ifdef AEAWB_DEBUG

	end_add=((*pSize)/2)+1+K_SDRAM_ImageCaptureGeneralBufAddr;
//patch5.0@richie@sdram mapping end
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(0xaa,0xbb);
       (*pSize)+=2 ;
       (*pSize)+=2 ;
       end_add++;

       L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(0xcc,0xdd);
       (*pSize)+=2 ;
       end_add++;

       hb=(UCHAR)(Tidx>>8);
       lb=(UCHAR)(Tidx&0x00ff);
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;


	if(Outdoor) hb=0x01; else hb=0x00;
	lb=0xff;
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(lb,hb);
       (*pSize)+=2 ;
       end_add++;



       hb=0x11;
       lb=XBYTE[0x2120];
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

	  hb=0x22;
       lb=XBYTE[0x2121];
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;


         hb=0x33;
       lb=XBYTE[0x2122];
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

         hb=0x44;
       lb=XBYTE[0x2123];
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

       hb=0x55;
       lb=XBYTE[0x2124];
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

       hb=0x66;
       lb=XBYTE[0x2125];
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

       hb=0x77;
       lb=XBYTE[0x2126];
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

       hb=0x88;
       lb=XBYTE[0x2127];
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

        hb=0xaa;
       lb=0xbb;
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

	for(i=0;i<3;i++){
	       hb=(UCHAR)(SNAP_Y[i]>>8);
	       lb=(UCHAR)(SNAP_Y[i]&0x00ff);
		L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
	       L2_DRAMWriteWord(hb,lb);
	       (*pSize)+=2 ;
	       end_add++;
	}


       hb=0xcc;
       lb=0xdd;
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

	for(i=0;i<3;i++){
	       hb=(UCHAR)(SNAP_T[i]>>8);
	       lb=(UCHAR)(SNAP_T[i]&0x00ff);
		L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
	       L2_DRAMWriteWord(hb,lb);
	       (*pSize)+=2 ;
	       end_add++;
	}
	//jhyu@test add
	 hb=0xff;
       lb=0xff;
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

        hb=(UCHAR)((Kback&0xff00)>>8);
       lb=(UCHAR)(Kback&0x00ff);
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

       for(i=0;i<5;i++)
       	{
       	for(j=0;j<5;j++)
       		{
		       hb=(UCHAR)((i<<4) | j);
		       lb=(UCHAR)(YY[i][j]);
			L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
		       L2_DRAMWriteWord(hb,lb);
		       (*pSize)+=2 ;
		       end_add++;
       		}
		}

	 hb=0x77;
       lb=method;
	L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
       L2_DRAMWriteWord(hb,lb);
       (*pSize)+=2 ;
       end_add++;

     //Jane for color matrix and OB debug
     hb=0xDE;
     lb=0xDE;
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0x11;
     lb=XBYTE[0x2140];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0x22;
     lb=XBYTE[0x2141];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0x33;
     lb=XBYTE[0x2142];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0x44;
     lb=XBYTE[0x2143];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0x55;
     lb=XBYTE[0x2144];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0x66;
     lb=XBYTE[0x2145];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0x77;
     lb=XBYTE[0x2146];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0x88;
     lb=XBYTE[0x2147];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0x99;
     lb=XBYTE[0x2148];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

     hb=0xaa;
     lb=XBYTE[0x2149];
	 L2_DRAMSetStartAddr(end_add,K_SDRAM_NoPrefetch);
     L2_DRAMWriteWord(hb,lb);
     (*pSize)+=2 ;
     end_add++;

⌨️ 快捷键说明

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