📄 playback.c
字号:
//#endif
}
}
if (fileExist)
{
G_playObject.mediaType = mediaType;
//G_playObject.FileIDRank = ID;
G_playObject.FileIndex = FileIndex;
//printf("file index = %d\n",FileIndex);
//printf("mediaType = %bd\n",mediaType);
return TRUE;
}
else
{
return FALSE;
}
}
//=============================================================================
//void CopyAudioIcon(UCHAR scaling)
//=============================================================================
void CopyAudioIcon(UCHAR scaling)
{
//patch4.2@yichang@0520 for changing image playback buffer address
if(scaling)
{
L2_SetBFBSize(G_DSPHsize,G_DSPVsize);
L2_SetDisplaySrcImgSize(G_DSPHsize,G_DSPVsize,G_DisplayType);
//patch5.0@richie@sdram mapping begin
L2_CopyImage(K_SDRAM_GrafFontBufAddr, K_GRAFFONT_Width, K_GRAFFONT_Height, 0, 30, 100, 72, K_SDRAM_ImagePlaybackBufAddr, 100, 72, 0, 0);
L2_ScaleUpImage(K_SDRAM_ImagePlaybackBufAddr, 100, 72, K_SDRAM_ImagePlaybackDisplayBufAddr, G_DSPHsize, G_DSPVsize, K_SDRAM_ImagePlaybackGeneralBufAddr);
L2_SetBFBAddr(K_SDRAM_ImagePlaybackDisplayBufAddr);
//L2_CopyImage(K_SDRAM_GrafFontBufAddr, K_GRAFFONT_Width, K_GRAFFONT_Height, 0, 30, 100, 72, K_SDRAM_FrameBufAAddr, 100, 72, 0, 0);
//L2_ScaleUpImage(K_SDRAM_FrameBufAAddr, 100, 72, K_SDRAM_DisplayBufAAddr, G_DSPHsize, G_DSPVsize, K_SDRAM_PlaybackImageBufAddr);
//L2_SetBFBAddr(K_SDRAM_DisplayBufAAddr);
//patch5.0@richie@sdram mapping end
}
else
{
//patch4.2@yichang@0520 for changing image playback buffer address
//patch5.0@richie@sdram mapping begin
if(G_TmbWidth == 72)
{
L2_CopyImage(K_SDRAM_GrafFontBufAddr, K_GRAFFONT_Width, K_GRAFFONT_Height, 0,205, G_TmbWidth , G_TmbHeight, K_SDRAM_ImagePlaybackBufAddr, G_TmbWidth, G_TmbHeight, 0, 0);
}
else
{
L2_CopyImage(K_SDRAM_GrafFontBufAddr, K_GRAFFONT_Width, K_GRAFFONT_Height, 0, 205, 72, 48, K_SDRAM_ImagePlaybackBufAddr, 72, 48, 0, 0);
if((G_TmbWidth > 72) && (G_TmbHeight > 48) )
{
L2_ScaleUpImage(K_SDRAM_ImagePlaybackBufAddr, 72, 48, K_SDRAM_ImagePlaybackBufAddr, G_TmbWidth , G_TmbHeight, K_SDRAM_ImagePlaybackGeneralBufAddr);
}
else
{
L2_ScaleDownImage(K_SDRAM_ImagePlaybackBufAddr, 72, 48, K_SDRAM_ImagePlaybackBufAddr, G_TmbWidth , G_TmbHeight, K_SDRAM_ImagePlaybackGeneralBufAddr);
}
//L2_CopyImage(K_SDRAM_FrameBufBAddr, G_TmbWidth , G_TmbHeight, 0,0, G_TmbWidth , G_TmbHeight, K_SDRAM_FrameBufAAddr, G_TmbWidth, G_TmbHeight, 0, 0);
}
//patch5.0@richie@sdram mapping end
}
}
//=============================================================================
//void CopyVidioIcon(UCHAR scaling)
//=============================================================================
void CopyVideoIcon(void)
{
//patch5.0@richie@sdram mapping begin
if(G_TmbWidth == 72)
{
L2_CopyImage(K_SDRAM_GrafFontBufAddr, K_GRAFFONT_Width, K_GRAFFONT_Height, 100,30, G_TmbWidth , G_TmbHeight, K_SDRAM_ImagePlaybackBufAddr, G_TmbWidth, G_TmbHeight, 0, 0);
}
else
{
L2_CopyImage(K_SDRAM_GrafFontBufAddr, K_GRAFFONT_Width, K_GRAFFONT_Height, 100, 30, 72, 48, K_SDRAM_ImagePlaybackBufAddr, 72, 48, 0, 0);
if((G_TmbWidth > 72) && (G_TmbHeight > 48) )
{
L2_ScaleUpImage(K_SDRAM_ImagePlaybackBufAddr, 72, 48, K_SDRAM_ImagePlaybackBufAddr, G_TmbWidth , G_TmbHeight, K_SDRAM_ImagePlaybackGeneralBufAddr);
}
else
{
L2_ScaleDownImage(K_SDRAM_ImagePlaybackBufAddr, 72, 48, K_SDRAM_ImagePlaybackBufAddr, G_TmbWidth , G_TmbHeight, K_SDRAM_ImagePlaybackGeneralBufAddr);
}
//L2_CopyImage(K_SDRAM_FrameBufBAddr, G_TmbWidth , G_TmbHeight, 0,0, G_TmbWidth , G_TmbHeight, K_SDRAM_FrameBufAAddr, G_TmbWidth, G_TmbHeight, 0, 0);
}
//if(G_TmbWidth == 72)
//{
// L2_CopyImage(K_SDRAM_GrafFontBufAddr, K_GRAFFONT_Width, K_GRAFFONT_Height, 100,30, G_TmbWidth , G_TmbHeight, K_SDRAM_FrameBufAAddr, G_TmbWidth, G_TmbHeight, 0, 0);
//}
//else
//{
// L2_CopyImage(K_SDRAM_GrafFontBufAddr, K_GRAFFONT_Width, K_GRAFFONT_Height, 100, 30, 72, 48, K_SDRAM_FrameBufAAddr, 72, 48, 0, 0);
// if((G_TmbWidth > 72) && (G_TmbHeight > 48) )
// {
// L2_ScaleUpImage(K_SDRAM_FrameBufAAddr, 72, 48, K_SDRAM_FrameBufAAddr, G_TmbWidth , G_TmbHeight, K_SDRAM_PlaybackImageBufAddr);
// }
// else
// {
// L2_ScaleDownImage(K_SDRAM_FrameBufAAddr, 72, 48, K_SDRAM_FrameBufAAddr, G_TmbWidth , G_TmbHeight, K_SDRAM_PlaybackImageBufAddr);
// }
// //L2_CopyImage(K_SDRAM_FrameBufBAddr, G_TmbWidth , G_TmbHeight, 0,0, G_TmbWidth , G_TmbHeight, K_SDRAM_FrameBufAAddr, G_TmbWidth, G_TmbHeight, 0, 0);
//}
//patch5.0@richie@sdram mapping end
}
//=============================================================================
//PlaybackOne
//=============================================================================
//patch3.2@ada@0401 For Multi-Frame Play Back
//version4.0@ada@0513 for Play Back
UCHAR PlaybackOne(UCHAR pageChange) USING_0
{
UCHAR i;
USHORT startCluster;
BYTE name[12];
BYTE date[20];
UCHAR sts;
UCHAR FileType;
//version4.0@ada@0513 for Multi-Directory
#if (SINGLE_DIRECTORY == 0)
USHORT TempCountIndex;
USHORT TempCount;
#endif
UCHAR tmp1,tmp2;
UCHAR dspOff;
//patch4.2@yichang@0517 for rotation function
ULONG tmp;
USHORT tmpWidth;
//patch4.2@yichang@0520 for recording image width/height
USHORT ImgWidth, ImgHeight;
//patch4.4@yichang@0624 for OSD, begin
UCHAR FOSD_H_num, FOSD_V_num;
//patch4.4@yichang@0624 for OSD, end
//patch4.5@ada@Record DCF file name begin
USHORT TempFileIndex;
UCHAR ch;
//patch4.5@ada@Record DCF file name end
//Joe@2003.2.27 10:21 modify begin
/*if(G_DisplayType <= 7) //TV
{
FOSD_H_num = (K_DISPLAY_StnLcdWidth/16)+5;
FOSD_V_num = (K_DISPLAY_StnLcdHeight/32);
}
else
{
FOSD_H_num = (G_DSPHsize/16);
FOSD_V_num = (G_DSPVsize/32);
}
*/
UI_GetFOSDSize(&FOSD_H_num, &FOSD_V_num);
//Joe@2003.2.27 10:21 modify end
dspOff = 0;
//patch5.04@Joe@2003.5.14 13:40 mask begin
/*
if(G_playObject.mediaType == K_PLAYBACK_TYPE_AVI)
{
//patch4.5.2@ada@Fix display bug when switch back from play back AVI begin
//if(G_UIAction == K_UI_ACTION_PLAYONE_MOVE)
//patch4.5.2@ada@Fix display bug when switch back from play back AVI end
{
L2_SetDisplayType(G_DisplayType);
L2_SetDisplaySrcImgSize(G_DSPHsize, G_DSPVsize, G_DisplayType);
L2_SetAFBSize(G_DSPHsize,G_DSPVsize);
L2_SetBFBSize(G_DSPHsize,G_DSPVsize);
//patch5.0@richie@sdram mapping begin
L2_SetBFBAddr(K_SDRAM_ImagePlaybackDisplayBufAddr); //yichang@0510
//L2_SetBFBAddr(K_SDRAM_DisplayBufAAddr); //yichang@0510
//patch5.0@richie@sdram mapping end
//L2_TurnOnOffDisplay(0); //AVI_DEBUG //dlchiou - 2002-12-11 11:32
//dspOff = 1; //AVI_DEBUG //dlchiou - 2002-12-11 11:32
}
}
*/
//patch5.04@Joe@2003.5.14 13:40 mask end
//patch4.3@yichang@0612 for zoom/pan
//patch5.04@Joe@2003.5.13 20:35 mask begin
//UI_PrintOSDString(" ", 1, 0, 0x00);
//patch5.04@Joe@2003.5.13 20:35 mask end
G_PanXoffset = 0;
G_PanYoffset = 0;
if(G_PBZFactor != 10)
{
PlaybackZoom(10);
}
//patch4.3@yichang@0611 for version B/C chip co-exist
tmp1 = MemStretch;
MemStretch = 0x01;
//Turn off select window
XBYTE[0x2D18] = 0x00;
MemStretch = tmp1;
switch(pageChange)
{
case K_PageInitialize:
//printf("K_PageInitialize\n");
G_NowPlayFileIndex = Play9_NowFileIndexBuf[G_SelCell];
break;
case K_PageKeepSame:
//printf("Initialize this page\n");
G_NowPlayFileIndex = Play9_NowFileIndexBuf[G_SelCell];
break;
case K_PageRefresh:
//printf("Refresh this page\n");
if (G_SelCell == 8)
{
if (G_USR_FileCount >= 9)
{
Playback_GetMediaInfo(Play9_NowFileIndexBuf[7]);
Play9_NowFileIndexBuf[8] = G_USR_SearchNextFileIndex;
//patch4.1@ada@0515 for Play Back
if (Play9_NowFileIndexBuf[8] == 0)
{
G_SelCell--;
}
}
else
{
Play9_NowFileIndexBuf[8] = 0;
G_SelCell--;
}
}
else //G_SelCell < 8
{
if (Play9_NowFileIndexBuf[G_SelCell + 1] > 0)
{
for (i = G_SelCell; i < 8; i++)
{
Play9_NowFileIndexBuf[i] = Play9_NowFileIndexBuf[i + 1];
}
if (Play9_NowFileIndexBuf[7] > 0)
{
Playback_GetMediaInfo(Play9_NowFileIndexBuf[7]);
Play9_NowFileIndexBuf[8] = G_USR_SearchNextFileIndex;
}
else
{
Play9_NowFileIndexBuf[8] = 0;
}
}
else
{
if (G_SelCell > 0)
{
G_SelCell--;
Play9_NowFileIndexBuf[G_SelCell] = G_USR_LastFileIndex;
for (i = G_SelCell + 1; i < 9; i++)
{
Play9_NowFileIndexBuf[i] = 0;
}
}
else
{
Play9_NowFileIndexBuf[G_SelCell] = G_USR_LastFileIndex;
for (i = G_SelCell; i < 9; i++)
{
Play9_NowFileIndexBuf[i] = 0;
}
}
}
}
G_NowPlayFileIndex = Play9_NowFileIndexBuf[G_SelCell];
break;
case K_PageForward:
//printf("Change to next page\n");
Playback_GetMediaInfo(Play9_NowFileIndexBuf[8]);
G_USR_SearchNowFileIndex = G_USR_SearchNextFileIndex;
if (G_USR_SearchNowFileIndex > 0)
{
for (i = 0; i < 9; i++)
{
Play9_NowFileIndexBuf[i] = 0;
}
for (i = 0; i < 9 ; i++)
{
Play9_NowFileIndexBuf[i] = G_USR_SearchNowFileIndex;
Playback_GetMediaInfo(G_USR_SearchNowFileIndex);
if (G_USR_SearchNextFileIndex > 0)
{
G_USR_SearchNowFileIndex = G_USR_SearchNextFileIndex;
}
else //File stops here
{
//printf("File stops here\n");
break;
}
}
G_NowPlayFileIndex = Play9_NowFileIndexBuf[G_SelCell];
G_PlayBackPageCount++;
}
break;
case K_PageBackward:
Playback_GetMediaInfo(Play9_NowFileIndexBuf[0]);
G_USR_SearchNowFileIndex = G_USR_SearchPreFileIndex;
if (G_USR_SearchNowFileIndex > 0)
{
for (i = 0; i < 9; i++)
{
Play9_NowFileIndexBuf[i] = 0;
}
for (i = 8; i >= 0; i--)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -