📄 dspsub.c
字号:
/********************************************************************************/
/*!
@file dspsub.c
@brief 昞帵儌乕僪慗堏張棟乮俵倃俼俷俥俥帪偺傒乯
@version $Revision: 2.00 $
@date 2007/XX/XX
@author Matsushita Electronics Co.,Ltd.
*/
/********************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <itron.h>
#include <kernel.h>
#include <kernel_id.h>
#include "..\gerda_dd\include\gerda_dd.h"
#include "..\gerda_dd\include\dd_sys.h"
#include "..\gerda_dd\include\gerda_reg.h"
#include "..\gerda_dd\dsp\dst_ram.h"
#include "..\gerda_dd\dsp\ini_def.h"
#include "..\texture\texdata.h"
#include "systype.h"
#include "sr103se60pub.h"
#include "option.h"
#include "if_cmd.h"
#include "if_mxr.h"
#include "if_txtid.h"
#include "parameter.h"
#include "dd_param.h"
#include "dspctrl.h"
/********************************************************************/
/* 儅僋儘掕媊 */
/********************************************************************/
#define touch(x) ((x) = 0) /* WARNING 懳嶔 */
/********************************************************************/
/* 娭悢愰尵 */
/********************************************************************/
/********************************************************************/
/* 奜晹娭悢愰尵 */
/********************************************************************/
/********************************************************************/
/* 曄悢愰尵 */
/********************************************************************/
/********************************************************************/
/* 儅僋儘掕悢愰尵 */
/********************************************************************/
/********************************************************************/
/* 掕悢愰尵 */
/********************************************************************/
/************************************************************************/
/*!
@fn void vDSP_sub(VP_INT exinf)
@brief 昞帵儌乕僪慗堏僞僗僋
@param VP_INT exinf
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_sub(VP_INT exinf)
{
int frm = 0;
UCHAR dspmode = DISP_NOP;
T_MSG_MODE *rcv_mode;
ER ercd;
touch(exinf);
#if (MXMODE == MXROFF)
while(1){
if( (prcv_mbx(MBX2,(T_MSG **)&rcv_mode)) == E_OK ){
dspmode = rcv_mode->DSP_mode;
}
#if (SSPFMODE == SSPF_V1)
/* 俷俶屻偺弶婜抣愝掕 */
if( (ucDSP_initmode==INI_DSPON) &&
(dspmode==DISP_DISPON) ){
dspmode = DISP_CLOCK;
}
#elif (SSPFMODE == SSPF_V2)
/* 弶婜抣愝掕 */
if( (dspmode==DISP_NOP) ||
(dspmode>DISP_SETTING) ){
dspmode = DISP_CD;
}
#endif /* SSPFMODE */
/********************************/
/* 價僨僆弌椡掆巭敾抐 */
/********************************/
#if (SSPFMODE == SSPF_V1)
if( ( (dsp_src==SRC_CAMERA)||(dsp_src==SRC_SETTING) ) &&
(dspmode!=SRC_CAMERA)&&(dspmode!=SRC_SETTING) ){
dsp_layer( LAYER_YUV,ID_VIDEO,GD_LYR_DISP_OFF );
vi_control_video(ID_VIDEO,GD_VI_STOP);
}else
if( (dsp_src==SRC_DRGB) && (dspmode!=DISP_DRGB) ){
dsp_layer( LAYER_DRGB,ID_VIDEO,GD_LYR_DISP_OFF );
dsp_display(FALSE);
#if ( DRGBMODE == DRGBON )
dsp_set_clk(1,3,525,58,858,28,508,150,790);
#endif
dsp_display(TRUE);
}
#elif (SSPFMODE == SSPF_V2)
if( ( (dsp_src==SRC_CAMERA)||(dsp_src==SRC_SETTING) ) &&
(dspmode!=DISP_CAMERA)&&(dspmode!=DISP_SETTING) ){
dsp_layer( LAYER_YUV,ID_VIDEO,GD_LYR_DISP_OFF );
vi_control_video(ID_VIDEO,GD_VI_STOP);
}
#endif /* SSPFMODE */
/********************************/
/* 儊僀儞儌乕僪昤夋張棟 */
/********************************/
#if 0 /* @003s4[08/01/13] */
// #if (SSPFMODE == SSPF_V1)
// drw_set_frame((frm&1)|(int)ID_DRW0_0); /* 昤夋僼儗乕儉愝掕 */
// drw_set_color(GD_COLOR0,BLUE); /* 儕僼儗僢僔儏 */
// #elif (SSPFMODE == SSPF_V2)
// drw_set_frame((frm&1)|(int)ID_DRW1_0); /* 昤夋僼儗乕儉愝掕 */
// drw_set_color(GD_COLOR0,BLACK|0x8000); /* 儕僼儗僢僔儏 */
// #endif /* SSPFMODE */
#else /* @003s4[08/01/13] */
#if (SSPFMODE == SSPF_V1)
drw_set_frame((frm&1)|(int)ID_DRW0_0); /* 昤夋僼儗乕儉愝掕 */
drw_set_color(GD_COLOR0,BLUE32); /* 儕僼儗僢僔儏 */
#elif (SSPFMODE == SSPF_V2)
drw_set_frame((frm&1)|(int)ID_DRW1_0); /* 昤夋僼儗乕儉愝掕 */
drw_set_color(GD_COLOR0,BLACK32); /* 儕僼儗僢僔儏 */
#endif /* SSPFMODE */
#endif /* @003s4[08/01/13] */
drw_rect(0,0,DISP_WIDTH-1,DISP_HEIGHT-1);
switch(dspmode){ /* 儌乕僪偵廬偭偰昤夋 */
#if (SSPFMODE == SSPF_V1)
case DISP_NOP: vDSP_NOP(); break;
case DISP_CLOCK: vDSP_CLOCK(); break;
case DISP_AIRCON: vDSP_AIRCON(); break;
case DISP_AUDIO: vDSP_AUDIO(); break;
case DISP_CAMERA: vDSP_CAMERA(); break;
case DISP_DRGB: vDSP_DRGB(); break;
case DISP_SETTING: vDSP_SETTING(); break;
case DISP_PON: vDSP_PON(); break;
case DISP_INIT: vDSP_INIT(); break;
case DISP_DEVICE: vDSP_DEVICE(); break;
case DISP_DISPON: vDSP_DISPON(); break;
case DISP_DISPOFF: vDSP_DISPOFF(); break;
case DISP_POFF: vDSP_POFF(); break;
#elif (SSPFMODE ==SSPF_V2)
case DISP_NOP: vDSP_NOP(); break;
case DISP_CLOCK: vDSP_CLOCK(); break;
case DISP_AIRCON: vDSP_AIRCON(); break;
case DISP_CD: vDSP_CD(); break;
case DISP_MP3: vDSP_MP3(); break;
case DISP_FM: vDSP_FM(); break;
case DISP_AM: vDSP_AM(); break;
case DISP_CAMERA: vDSP_CAMERA(); break;
case DISP_SETTING: vDSP_SETTING(); break;
#endif /* SSPFMODE */
default: break;
}
#if (SSPFMODE == SSPF_V2)
/********************************/
/* 僒僽儌乕僪昤夋張棟 */
/********************************/
switch(ucDSP_submode){ /* 儌乕僪偵廬偭偰昤夋 */
case SUB_NONE: vDSP_SUB_NONE(); break;
case SUB_SPEANA: vDSP_SUB_SPEANA(); break;
case SUB_TITLE: vDSP_SUB_TITLE(); break;
default: break;
}
#endif /* SSPFMODE */
/********************************/
/* 僼儗乕儉僀儞摦嶌 */
/********************************/
if( tm_framein ){
#if (SSPFMODE == SSPF_V1)
dsp_layer_win(LAYER_DRW0,
#elif (SSPFMODE == SSPF_V2)
dsp_layer_win(LAYER_DRW0,
#endif /* SSPFMODE */
DISP_WIDTH*(TM_FRAMEIN-tm_framein)/TM_FRAMEIN,
DISP_HEIGHT,
0,
0,
DISP_WIDTH-DISP_WIDTH*(TM_FRAMEIN-tm_framein)/TM_FRAMEIN,
0
);
}else{
#if (SSPFMODE == SSPF_V1)
dsp_layer_win(LAYER_DRW0,DISP_WIDTH,DISP_HEIGHT,0,0,0,0);
#elif (SSPFMODE == SSPF_V2)
dsp_layer_win(LAYER_DRW0,DISP_WIDTH,DISP_HEIGHT,0,0,0,0);
#endif /* SSPFMODE */
}
/********************************/
/* 昤夋廔椆仌倁俽倄俶俠懸偪 */
/********************************/
#if (SSPFMODE == SSPF_V1)
if(ucDSP_initmode==INI_DSPON){ /* 昞帵拞偺傒昞帵張棟 */
#endif /* SSPFMODE==SSPF_V1 */
drw_wait_drawend(); /* 昤夋廔椆懸偪 */
#if (SSPFMODE == SSPF_V1)
dsp_layer(LAYER_DRW0,(frm&1)|(int)ID_DRW0_0,GD_LYR_DISP_ON|GD_LYR_TRNSC_ON);
#elif (SSPFMODE == SSPF_V2)
dsp_layer(LAYER_DRW1,(frm&1)|(int)ID_DRW1_0,GD_LYR_DISP_ON|GD_LYR_TRNSC_ON);
#endif /* SSPFMODE */
dsp_wait_vblank(0);
dsp_wait_vblank(1);
frm++;
#if (SSPFMODE == SSPF_V1)
}
#endif /* SSPFMODE==SSPF_V1 */
}
#endif /* MXMODE==MXROFF */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -