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

📄 playback.c

📁 dz3000_51.0.0.4.rar
💻 C
📖 第 1 页 / 共 5 页
字号:
               startCluster = USR_ReadDramFdbParameter(K_SDRAM_JPG_FdbParameterBufAddr + (ULONG)(G_playObject.FileIndex-1) * 10,&FileType);
               //startCluster = USR_ReadDramFdbParameter(K_SDRAM_JPG_FdbParameterBufAddr + (ULONG)(G_playObject.FileIndex-1) * 8,&FileType);
			   //patch4.5@ada@Record DCF file name end

               //patch4.2@yichang@for rotation function

			   //patch5.0@richie@sdram mapping begin
               if(!G_CameraOptions.RotationAngle)
               {
                    File_PlayExifFile(name, startCluster, K_SDRAM_ImagePlaybackGeneralBufAddr,&ImgWidth,&ImgHeight, date, 0);
		//	UI_PrintOSDString(name, 0, 4, UI_MENU_DEHIGHLIGHT_COLOR);//wendy 
                    //patch4.2@yichang@0520 for improving display speed
                    //L2_CopyImage(K_SDRAM_FrameBufAAddr, G_DSPHsize, G_DSPVsize, 0, 0, G_DSPHsize, G_DSPVsize, K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, 0, 0);
               }
               else
               {
                    	File_PlayExifFile(name, startCluster, K_SDRAM_ImagePlaybackGeneralBufAddr, &ImgWidth, &ImgHeight, date, 0);

                    if(G_CameraOptions.RotationAngle == K_UIOPTION_ROTATION_90)
                    {
		                 L2_RotateImage(K_SDRAM_ImagePlaybackDisplayBufAddr, G_DSPHsize, G_DSPVsize, K_SDRAM_ImagePlaybackBufAddr , 1);
                         ClearScreen();
                         tmp = ((ULONG)G_DSPVsize * (ULONG)ImgHeight) / (ULONG)ImgWidth;
                         tmpWidth = (USHORT)tmp;
                         tmpWidth = (tmpWidth / 4) * 4;
          		         L2_ScaleDownImage(K_SDRAM_ImagePlaybackBufAddr, G_DSPVsize, G_DSPHsize, K_SDRAM_ImagePlaybackBufAddr, tmpWidth, G_DSPVsize, K_SDRAM_ImagePlaybackGeneralBufAddr);
		                 L2_CopyImage(K_SDRAM_ImagePlaybackBufAddr, tmpWidth, G_DSPVsize, 0, 0, tmpWidth, G_DSPVsize, K_SDRAM_ImagePlaybackDisplayBufAddr, G_DSPHsize, G_DSPVsize, (G_DSPHsize-tmpWidth)/2, 0);
                    }
			        else if(G_CameraOptions.RotationAngle == K_UIOPTION_ROTATION_180 )
                    {
                         L2_RotateImage(K_SDRAM_ImagePlaybackDisplayBufAddr, G_DSPHsize, G_DSPVsize, K_SDRAM_ImagePlaybackBufAddr , 1);
                         ClearScreen();
                         L2_RotateImage(K_SDRAM_ImagePlaybackBufAddr, G_DSPVsize, G_DSPHsize, K_SDRAM_ImagePlaybackDisplayBufAddr , 1);
                         //ClearScreen();
     		          	 //L2_CopyImage(K_SDRAM_PlaybackImageBufAddr, G_DSPHsize, G_DSPVsize, 0, 0, G_DSPHsize, G_DSPVsize, K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, 0, 0);
                    }
                    else //270
                    {
                         L2_RotateImage(K_SDRAM_ImagePlaybackDisplayBufAddr, G_DSPHsize, G_DSPVsize, K_SDRAM_ImagePlaybackBufAddr , 0);
                         ClearScreen();
                         tmp = ((ULONG)G_DSPVsize * (ULONG)ImgHeight) / (ULONG)ImgWidth;
                         tmpWidth = (USHORT)tmp;
                         tmpWidth = (tmpWidth / 4) * 4;
          		         L2_ScaleDownImage(K_SDRAM_ImagePlaybackBufAddr, G_DSPVsize, G_DSPHsize, K_SDRAM_ImagePlaybackBufAddr, tmpWidth, G_DSPVsize, K_SDRAM_ImagePlaybackGeneralBufAddr);
		                 L2_CopyImage(K_SDRAM_ImagePlaybackBufAddr, tmpWidth, G_DSPVsize, 0, 0, tmpWidth, G_DSPVsize, K_SDRAM_ImagePlaybackDisplayBufAddr, G_DSPHsize, G_DSPVsize, (G_DSPHsize-tmpWidth)/2, 0);
                    }
               }

               L2_SetBFBAddr(K_SDRAM_ImagePlaybackDisplayBufAddr);

               //if(!G_CameraOptions.RotationAngle)
               //{
               //     File_PlayExifFile(name, startCluster, K_SDRAM_FrameBufAAddr,&ImgWidth,&ImgHeight, date, 0);
                    //patch4.2@yichang@0520 for improving display speed
                    //L2_CopyImage(K_SDRAM_FrameBufAAddr, G_DSPHsize, G_DSPVsize, 0, 0, G_DSPHsize, G_DSPVsize, K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, 0, 0);
               //}
               //else
               //{
               //     File_PlayExifFile(name, startCluster, K_SDRAM_FrameBufAAddr, &ImgWidth, &ImgHeight, date, 0);

               //     if(G_CameraOptions.RotationAngle == K_UIOPTION_ROTATION_90)
               //     {
		       //        L2_RotateImage(K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, K_SDRAM_PlaybackImageBufAddr , 1);
               //          ClearScreen();
               //          tmp = ((ULONG)G_DSPVsize * (ULONG)ImgHeight) / (ULONG)ImgWidth;
               //          tmpWidth = (USHORT)tmp;
               //          tmpWidth = (tmpWidth / 4) * 4;
          	   //	     L2_ScaleDownImage(K_SDRAM_PlaybackImageBufAddr, G_DSPVsize, G_DSPHsize, K_SDRAM_PlaybackImageBufAddr, tmpWidth, G_DSPVsize, K_SDRAM_FrameBufAAddr);
		       //        L2_CopyImage(K_SDRAM_PlaybackImageBufAddr, tmpWidth, G_DSPVsize, 0, 0, tmpWidth, G_DSPVsize, K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, (G_DSPHsize-tmpWidth)/2, 0);
               //     }
			   //  else if(G_CameraOptions.RotationAngle == K_UIOPTION_ROTATION_180 )
               //     {
               //          L2_RotateImage(K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, K_SDRAM_FrameBufAAddr , 1);
               //          L2_RotateImage(K_SDRAM_FrameBufAAddr, G_DSPVsize, G_DSPHsize, K_SDRAM_PlaybackImageBufAddr , 1);
               //          ClearScreen();
     		   //       L2_CopyImage(K_SDRAM_PlaybackImageBufAddr, G_DSPHsize, G_DSPVsize, 0, 0, G_DSPHsize, G_DSPVsize, K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, 0, 0);
               //     }
               //     else //270
               //     {
               //          L2_RotateImage(K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, K_SDRAM_PlaybackImageBufAddr , 0);
               //          ClearScreen();
               //          tmp = ((ULONG)G_DSPVsize * (ULONG)ImgHeight) / (ULONG)ImgWidth;
               //          tmpWidth = (USHORT)tmp;
               //          tmpWidth = (tmpWidth / 4) * 4;
          	   //	     L2_ScaleDownImage(K_SDRAM_PlaybackImageBufAddr, G_DSPVsize, G_DSPHsize, K_SDRAM_PlaybackImageBufAddr, tmpWidth, G_DSPVsize, K_SDRAM_FrameBufAAddr);
		       //        L2_CopyImage(K_SDRAM_PlaybackImageBufAddr, tmpWidth, G_DSPVsize, 0, 0, tmpWidth, G_DSPVsize, K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, (G_DSPHsize-tmpWidth)/2, 0);
               //     }
               //}

               //L2_SetBFBAddr(K_SDRAM_DisplayBufAAddr);

			   //patch5.0@richie@sdram mapping end

               //patch4.4@yichang@0624 for OSD begin

			   //patch4.5@ada@Record DCF file name begin
               //USR_SetBaseName(name, G_playObject.FileIndex);
			   //patch4.5@ada@Record DCF file name end

		//Joe@2003.3.4 19:07 modify begin
		/*
               name[8] = '\0';
               UI_PrintOSDString(name, 0, FOSD_V_num-1,UI_MENU_DEHIGHLIGHT_COLOR);
               UI_PrintOSDString("       ", 0, 0,UI_MENU_TITLE_TEXT_COLOR);
               */

               //patch5.04@Joe@2003.5.13 19:01 add begin
               //L2_CtrlScreen(1);
               DELAY_100ms();
		  DELAY_100ms();
               UI_ClearFOSD(25, 8, 0x00);
               //patch5.04@Joe@2003.5.13 19:01 add end

		//UI_PrintOSDString("        ", FOSD_H_num - 7, 0, UI_MENU_TITLE_TEXT_COLOR);
		//name[3] = '-';
		name[8] = '\0';

		//for (i = 0; i < 3; i++)
		//{
		//	name[i] = DpofDir1Name[i];
		//}
		for (i = 0; i < 9; i++)
		{
			TTName[i] = name[i];
		}
		
      //    	UI_PrintOSDString(name,0, FOSD_V_num - 1, UI_MENU_DEHIGHLIGHT_COLOR);
		//UI_PrintOSDString("        ", 0, 0, UI_MENU_TITLE_TEXT_COLOR);
		//Joe@2003.3.4 19:07 modify end

               //patch4.4@yichang@0624 for OSD end

               //Joe@2003.3.26 16:44 modify begin
               /*
               //yichang@0508
               if(dspOff)
               {
                    L2_TurnOnOffDisplay(1);
               }
               //yichang@0510
               */
               //patch5.04@Joe@2003.5.13 19:07 mask begin
               //L2_TurnOnOffDisplay(1);
               //patch5.04@Joe@2003.5.13 19:07 mask end
               //Joe@2003.3.26 16:44 modify end
          }
          else
          {
               if(!G_OptionYesNo)
               {
                    if (G_playObject.mediaType == K_PLAYBACK_TYPE_AVI)
                    {
                         //patch5.04@Joe@2003.5.13 20:15 mask begin
                         //L2_TurnOnOffDisplay(0);
                         //patch5.04@Joe@2003.5.13 20:15 mask end

			//patch5.04@Joe@2003.5.13 20:21 add begin
			//L2_CtrlScreen(3);
			UI_ClearFOSD(25, 8, 0x08);
//			UI_PrintOSDString("Load...", FOSD_H_num/2-3, FOSD_V_num/2, UI_MENU_BG_COLOR_ON | UI_MENU_TITLE_TEXT_COLOR);
         		 L2_SetFOSDIndex(FOSD_V_num/2,FOSD_H_num/2-1,0x3a);
         		 L2_SetFOSDAttr(FOSD_V_num/2,FOSD_H_num/2-1, UI_MENU_BG_COLOR_ON | UI_MENU_TITLE_TEXT_COLOR);
          		L2_SetFOSDIndex(FOSD_V_num/2,FOSD_H_num/2,0x3b);
          		L2_SetFOSDAttr(FOSD_V_num/2,FOSD_H_num/2, UI_MENU_BG_COLOR_ON | UI_MENU_TITLE_TEXT_COLOR);
			//patch5.04@Joe@2003.5.13 20:21 add end

			//patch4.5@ada@Record DCF file name begin
               		L2_DRAMSetStartAddr((K_SDRAM_AVI_FdbParameterBufAddr + (((ULONG)G_playObject.FileIndex) - 1) * 10 + 6),K_SDRAM_Prefetch);

			for (i = 0; i < 4; i += 2)
			{
				L2_DRAMReadWord(&name[i],&name[i + 1]);
          	   	}

			TempFileIndex = G_playObject.FileIndex;

               		for (i = 7; i > 3; i--)
        	   	{
                		ch = (UCHAR) (TempFileIndex % 10) + '0';
                		TempFileIndex /= 10;
                		name[i] = ch;
        	   	}

        		name[8]  = 'A';
        		name[9]  = 'V';
        		name[10] = 'I';
        		name[11] = 0x20;

                         //USR_SetAviName(name, G_playObject.FileIndex);
			   			//patch4.5@ada@Record DCF file name end

                         //patch4.5.2@ada@Fix AVI play one bug begin
                         //L2_SetAFBSize(G_AVIWidth, G_AVIHeight);
                         //L2_SetBFBSize(G_AVIWidth, G_AVIHeight);
                         //L2_SetDisplaySrcImgSize(G_AVIWidth, G_AVIHeight,G_DisplayType);
                         //patch4.5.2@ada@Fix AVI play one bug end

                         L1_AVIPreviewName(name, 0);
/*						 L2_SetDisplayMode(0,0x10); //Disable Frame-rate-conversion
						 //L2_SetDisplaySrcImgSize(G_AVIWidth, G_AVIHeight,G_DisplayType);
						 L1_SetAviDisplaySrcImgSize(G_AVIWidth, G_AVIHeight,G_DisplayType);
						 L2_SetAFBSize(G_AVIWidth, G_AVIHeight);
						 L2_SetBFBSize(G_AVIWidth, G_AVIHeight);
*/	
			L2_SetDisplayType(G_DisplayType);
			 L2_SetDisplaySrcImgSize(G_AVIWidth, G_AVIHeight,G_DisplayType);
			 L2_SetAFBSize(G_AVIWidth, G_AVIHeight);
		 	 L2_SetBFBSize(G_AVIWidth, G_AVIHeight);
			 if(SmallSizeAvi)
   			 {	
				XBYTE[0x2D18] = 0x00;
				SmallSizeAvi = 0;
   			 }

			 //patch5.0@richie@sdram mapping begin

//			 L2_SetBFBAddr(K_SDRAM_AviPbBufAddrA + K_SDRAM_ImagePlaybackDisplayBufSize);
        		 L2_SetBFBAddr(K_SDRAM_ImagePlaybackGeneralBufAddr+K_SDRAM_ImagePlaybackGeneralBufSize/*K_SDRAM_AviPbBufAddrA + K_SDRAM_ImagePlaybackDisplayBufSize*/);

                         //L2_SetBFBAddr(K_SDRAM_FrameBufAAddr);
			 //patch5.0@richie@sdram mapping end

			//patch5.04@Joe@2003.5.13 19:01 add begin
			//L2_CtrlScreen(1);
			DELAY_100ms();
			DELAY_100ms();
			UI_ClearFOSD(25, 8, 0x00);
			//patch5.04@Joe@2003.5.13 19:01 add end

                         //patch5.04@Joe@2003.5.13 20:16 mask begin
                         //L2_TurnOnOffDisplay(1);
                         //patch5.04@Joe@2003.5.13 20:16 mask end

			 //patch4.5.2@ada@Unnecessary resolution define begin
                         //if(G_DisplayType <= 7) //TV
                         //{
                         //     tmp1 = (K_DISPLAY_StnLcdWidth/16)+5;
                         //     tmp2 = (K_DISPLAY_StnLcdHeight/32);
                         //}
                         //else
                         //{
                         //     tmp1 = (G_DSPHsize/16);
                         //     tmp2 = (G_DSPVsize/32);
                         //}

                         //UI_PrintOSDString("PLAY AVI", tmp1/2-4, tmp2/2-1,UI_MENU_TITLE_TEXT_COLOR | UI_MENU_BG_COLOR_ON);

                         //Joe@2003.3.21 19:49 add chinese menu begin
                  if(G_Language==5)
			 	UI_PrintOSDString(PLAY_AVI[G_Language], FOSD_H_num/2-8, FOSD_V_num/2-1,UI_MENU_TITLE_TEXT_COLOR | UI_MENU_BG_COLOR_ON);
			else					 	
				UI_PrintOSDString(PLAY_AVI[G_Language], FOSD_H_num/2-4, FOSD_V_num/2-1,UI_MENU_TITLE_TEXT_COLOR | UI_MENU_BG_COLOR_ON);
       			 //Joe@2003.3.21 19:49 add chinese menu end

                         UI_MenuYesNo(1);
                         L2_CtrlScreen(1);
                          G_OptionYesNo = 1;
                         G_UIAction = K_UI_ACTION_YESNO;
                         //patch4.4@yichang@0624 for OSD begin

			   //patch4.5@ada@Record DCF file name begin
               		//USR_SetBaseName(name, G_playObject.FileIndex);
			   //patch4.5@ada@Record DCF file name end

			//Joe@2003.3.4 19:06 modify begin
			
                         name[8] = '\0';
             		for (i = 0; i < 9; i++)
       		{
				TTName[i] = name[i];
	       	}

        //                 UI_PrintOSDString(name, 0, FOSD_V_num-1,UI_MENU_DEHIGHLIGHT_COLOR);
                      //   UI_PrintOSDString("       ", 0, 0,UI_MENU_TITLE_TEXT_COLOR);
                	/*
			UI_PrintOSDString("        ", FOSD_H_num - 7, 0, UI_MENU_TITLE_TEXT_COLOR);
			//name[3] = '-';
			name[8] = '\0';

			//for (i = 0; i < 3; i++)
			//{
			//	name[i] = DpofDir1Name[i];
			//}

          		UI_PrintOSDString(name, FOSD_H_num - 7, 0, UI_MENU_DEHIGHLIGHT_COLOR);
			UI_PrintOSDString("        ", 0, 0, UI_MENU_TITLE_TEXT_COLOR);
			*/
			//Joe@2003.3.4 19:06 modify end

                         //patch4.4@yichang@0624 for OSD end

                         if(dspOff)
                         {
                              L2_TurnOnOffDisplay(1);
                         }
                    }
                    else //if (G_playObject.mediaType == K_PLAYBACK_TYPE_WAV)
                    {
			//patch5.04@Joe@2003.5.13 20:21 add begin
			L2_SetColorPalette(1, 0, 0, 0);
			L2_CtrlScreen(3);
			UI_ClearFOSD(25, 8, 0x08);
//			UI_PrintOSDString("Load...", FOSD_H_num/2-3, FOSD_V_num/2, UI_MENU_BG_COLOR_ON | UI_MENU_TITLE_TEXT_COLOR);
         		 L2_SetFOSDIndex(FOSD_V_num/2,FOSD_H_num/2-1,0x3a);
         		 L2_SetFOSDAttr(FOSD_V_num/2,FOSD_H_num/2-1, UI_MENU_BG_COLOR_ON | UI_MENU_TITLE_TEXT_COLOR);
          		L2_SetFOSDIndex(FOSD_V_num/2,FOSD_H_num/2,0x3b);
          		L2_SetFOSDAttr(FOSD_V_num/2,FOSD_H_num/2, UI_MENU_BG_COLOR_ON | UI_MENU_TITLE_TEXT_COLOR);
			//patch5.04@Joe@2003.5.13 20:21 add end
			//wendy@2004/9/8
				//wendy@2004/9/8

                         CopyAudioIcon(1);

						 //patch4.5.2@ada@Unnecessary resolution define begin
                         //if(G_DisplayType <= 7) //TV
                         //{
                         //     tmp1 = (K_DISPLAY_StnLcdWidth/16)+5;
                         //     tmp2 = (K_DISPLAY_StnLcdHeight/32);
                         //}
                         //else
                         //{
                         //     tmp1 = (G_DSPHsize/16);
                         //     tmp2 = (G_DSPVsize/32);
                         //}

                         //UI_PrintOSDString("PLAY WAV", tmp1/2-4, tmp2/2-1,UI_MENU_TITLE_TEXT_COLOR | UI_MENU_BG_COLOR_ON);

			//patch5.04@Joe@2003.5.13 19:01 add begin
			L2_CtrlScreen(1);
			L2_SetColorPalette(8, 0, 0, 255);
			UI_ClearFOSD(25, 8, 0x00);
			//patch5.04@Joe@2003.5.13 19:01 add end

                         //Joe@2003.3.21 19:49 add chinese menu begin
                      if(G_Language==5)
			 	UI_PrintOSDString(PLAY_WAV[G_Language], FOSD_H_num/2-8, FOSD_V_num/2-1,UI_MENU_TITLE_TEXT_COLOR | UI_MENU_BG_COLOR_ON);
			 else			 	
			  	UI_PrintOSDString(PLAY_WAV[G_Language], FOSD_H_num/2-4, FOSD_V_num/2-1,UI_MENU_TITLE_TEXT_COLOR | UI_MENU_BG_COLOR_ON);       			 //Joe@2003.3.21 19:49 add chinese menu end

			 //

⌨️ 快捷键说明

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