亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? w99av2.c

?? 車載電子影音系統(tǒng)dvd播放系統(tǒng)原程序代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
            __wW99AVPCRLow=0x6801;	// Chuan0.81, Reset Servo for Testtool            __wW99AVPCRHigh=0x0004;#else            switch (__bCurrentIF)            {            case BITSTREAM_DVDIF :                __wW99AVPCRLow = 0x6002 ;                __wW99AVPCRHigh = 0x0004 ;                break ;            case BITSTREAM_CDIF :                //__wW99AVPCRLow=0x6800;                // TCC274j, set DVDSEL=1 or GP4,5 can't use                __wW99AVPCRLow=0x6802;                __wW99AVPCRHigh=0x0004;                break ;            case BITSTREAM_ATAPIIF :            default:                __wW99AVPCRLow = 0x6c00;                __wW99AVPCRHigh = 0x124 ;                break ;            }#endif            if (__bVersionMPEG==VERSION_BE) //Kevin1.24-3, < BE will Wait No Ack when H/W power on if SETUP_AUDIO_DIGITAL_OUT_OFF            {                //Kevin1.07f, update __wW99AVPCRHigh. Otherwise, PCR[21] will always be cleared                 if(__SetupInfo.bAudioDigitalOut==SETUP_AUDIO_DIGITAL_OUT_OFF) //_bSpDifMode will be set later in CHIPS_Initial(CHIPS_INIT_ALL)                    __wW99AVPCRHigh |= SPDIF_OFF;                 else                    __wW99AVPCRHigh &= ~SPDIF_OFF;            }               else if (__bVersionMPEG==VERSION_CA) //Kevin2.27            {                if(__SetupInfo.bAudioDigitalOut==SETUP_AUDIO_DIGITAL_OUT_OFF)                    __wW99AVPCRHigh &= ~SPDIF_OFF; //[21] 1: turn on SPDIF, 0: turn off SPDIF                 else                    __wW99AVPCRHigh |= SPDIF_OFF;                  __wW99AVPCRHigh |= 0x0008;  //PCR[19]: SPDIF pad output enable                                            //PCR[20]: SPDIF reset            }                                        //TCC019, must enable atapi or waitstable will fail                W99AV_WriteRegDW(PCR, __wW99AVPCRLow, __wW99AVPCRHigh);  // normal state                            //Kevin1.25, move above to fix "wait no DSP ACK" when power on for AD/AC since 1.24            //}            // DVD016-1, initialize DM after reset audio            // if don't issue it, write DM will fail            // TCC0411, don't call this as it cause pcm ws change and result in audio noise. InitialVideo will call this.            __dwW99AVCmdArg[1]=CMDARG_DSP_INIT;//Kevin0.81, modify//#ifdef  SUPPORT_PCM_ADDRESS_SETTING_BY_FIRMWARE#if 0            __dwW99AVCmdArg[0]=3;            __dwW99AVCmdArg[2]=W99AV_ADDR_PCMBUFF;  // Chuan2.80p, set PCM Buffer.            __dwW99AVCmdArg[3]=0;  // Chuan2.80p, PCM2 addr same as above.#else            __dwW99AVCmdArg[0]=1;#endif            W99AV_CommandN (COMMAND_DSP_INIT);  // DSP init            // LLY.047, restore OSD_TOP/BOTTOM_ADDR & OSD_TOP/BOTTOM_SIZE            // by global variables            W99AV_WriteDRAMData( W99AV_DRAM_OSDT_ADR, _dwTopAddr );            W99AV_WriteDRAMData( W99AV_DRAM_OSDT_SIZE, _dwTopSize );            W99AV_WriteDRAMData( W99AV_DRAM_OSDB_ADR, _dwBottomAddr );            W99AV_WriteDRAMData( W99AV_DRAM_OSDB_SIZE, _dwBottomSize );            __wW99AVVCRLow |= 0x00000040;  // enable OSD_EN in VCR            // LLY.050, issue SVC2 command instead of "write REG command"            // because some info. must tell RISC by "SVC2" command            //W99AV_WriteRegDW(VCR, __wW99AVVCRLow, __wW99AVVCRHigh);            __dwW99AVCmdArg [0] = 2 ;            __dwW99AVCmdArg [1] = CMDARG_SVC2 ;            __dwW99AVCmdArg [2] = MAKELONG (__wW99AVVCRLow, __wW99AVVCRHigh) ;            W99AV_CommandN (COMMAND_SVC2) ;            // LLY0.85-2, issue Set A/V buffer size command to force enable VINT            // Otherwise, OINT can't work. So, GXA command will hang !!            __dwW99AVCmdArg[1]=0xFFFF; // don't care            __dwW99AVCmdArg[2]=W99AV_ADDR_VBUFF;  // video buffer size range            __dwW99AVCmdArg[3]=W99AV_ADDR_ABUFF;   // audio buffer size range            // Keep audio buffer 2 address status flag            // '0': same as audio buffer 1            // others: same as audio buffer 2 define            __dwW99AVCmdArg[4] = FALSE;            // Set audio buffer 2 address            __dwW99AVCmdArg[5] = W99AV_ADDR_ABUFF2;            // Give the final number of ARG1 ~ ARG15            __dwW99AVCmdArg[0]=5;            W99AV_CommandN (COMMAND_SAVBS);  // set A/V buffer size command        }        break;    case    W99AV_RESET_CDIF : // Reset     CD Interface        __wW99AVPCRLow=__wW99AVPCRLow | 0x0800; // set bit(11)--CDIFRST to 1        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        __wW99AVPCRLow=__wW99AVPCRLow & 0xF7FF; // set bit(11)--CDIFRST to 0        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        break;    case    W99AV_RESET_PARSER :  // Reset Parser        // original        __wW99AVPCRLow=__wW99AVPCRLow | 0x1000; // set bit(12)--PARRST to 1        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        __wW99AVPCRLow=__wW99AVPCRLow & 0xEFFF; // set bit(12)--PARRST to 0        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        break;    case    W99AV_RESET_KC :   // Reset     KC        break;    case    W99AV_RESET_TOTALRST: // Chuan0.91, PCR[8]: Total_rst#if IO == IO_8051        _btW99AV1 = EA ;        EA = 0 ;  // Chuan0.91, Must Disable Interrupt, because internal 12K SRAM is not available when total reset assert for 908 IC.        W99AV_WriteRegDW(PCR, (WORD)(__wW99AVPCRLow|0x0100), __wW99AVPCRHigh);        // Chuan0.91, internal 12K SRAM is not available when total reset assert for 908 IC.        // Set address and space id to AIR        OUTB(AIR3,0x00);        OUTB(AIR2,0x00);        OUTB(AIR1,0x00);        OUTB(AIR0,PCR);        // Write desired into DPR        OUTB(DPR3,HIBYTE(__wW99AVPCRHigh));        OUTB(DPR2,LOBYTE(__wW99AVPCRHigh));        OUTB(DPR1,HIBYTE(__wW99AVPCRLow));        OUTB(DPR0,LOBYTE(__wW99AVPCRLow));        EA = _btW99AV1;#else	   W99AV_WriteRegDW(PCR, (WORD)(__wW99AVPCRLow|0x0100), __wW99AVPCRHigh);       W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);#endif        break;    case    W99AV_RESET_ALL :        break;    case    W99AV_RESET_VIDEO :     // reset video decoder        // record the value     of OSD_TOP_ADDR;        W99AV_ReadDRAMData(W99AV_DRAM_OSDT_ADR, &_dwTemp1 );        W99AV_ReadDRAMData(W99AV_DRAM_OSDT_SIZE, &_dwTemp2);        // temporally disable OSD display        __wW99AVVCRLow &= ~0x00000040;  // disable OSD_EN in VCR        __dwW99AVCmdArg [0] = 2     ;        __dwW99AVCmdArg [1] = CMDARG_SVC2 ;        __dwW99AVCmdArg [2] = MAKELONG (__wW99AVVCRHigh, __wW99AVVCRLow) ;        W99AV_CommandN (COMMAND_SVC2) ;         // Set Video Configuration Register        W99AV_WriteDRAMData( W99AV_DRAM_OSDT_ADR, 0);        W99AV_WriteDRAMData( W99AV_DRAM_OSDB_ADR, 0);        // do video     reset in the period     of VSYNC        W99AV_ClearInterrupt(INT_VSYNC);        wCnt=0;        while ( (W99AV_GetPSR() & INT_VSYNC) == 0 )        {            wCnt++;            if(wCnt>VSYNCLOOP)            {#ifdef  SUPPORT_PRINTF                printf("\nWait no VSYNC !!");#endif                break;            }        }        __wW99AVPCRLow=__wW99AVPCRLow | 0x0050; // set bit(4,6)--VD,VO to 1        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        __wW99AVPCRLow=__wW99AVPCRLow & 0xFFAF; // set bit(4,6)--VD,VO to 0        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        //restore the status of OSD     pointer and     enable OSD display again        W99AV_WriteDRAMData( W99AV_DRAM_OSDT_ADR, _dwTemp1 );        W99AV_WriteDRAMData( W99AV_DRAM_OSDT_SIZE, _dwTemp2 );        W99AV_WriteDRAMData( W99AV_DRAM_OSDB_ADR, _dwTemp1     );        W99AV_WriteDRAMData( W99AV_DRAM_OSDB_SIZE, _dwTemp2 );        __wW99AVVCRLow |= 0x00000040;        __dwW99AVCmdArg [0] = 2     ;        __dwW99AVCmdArg [1] = CMDARG_SVC2 ;        __dwW99AVCmdArg [2] = MAKELONG (__wW99AVVCRHigh, __wW99AVVCRLow) ;        W99AV_CommandN (COMMAND_SVC2) ;         // Set Video Configuration Register        break;    case    W99AV_RESET_VO :        __wW99AVPCRLow=__wW99AVPCRLow | 0x0040; // set bit(6)--ARST     to 1        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        __wW99AVPCRLow=__wW99AVPCRLow & 0xFFBF; // set bit(6)--ARST     to 0        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        break ;    //Kevin1.07f, no ATAPI IF    /*    case    W99AV_RESET_ATAPI :        __wW99AVPCRHigh |= 0x0040;       // set bit(22)--ARST    to 1        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        __wW99AVPCRHigh &= 0xFFBF;       // set bit(22)--ARST    to 0        W99AV_WriteRegDW(PCR,__wW99AVPCRLow,__wW99AVPCRHigh);        break ;    */    default :        break;    }}// *****************************************************************************//      Function        :       W99AV_ReadInfo//      Description     :       Read information of     specified item//      Arguments       :       bInfo:the desired infomation type ;//                              pdwData:the     value of specified information type//      Return          :       TRUE or FALSE//      Side Effect     :// *****************************************************************************// wyc1.22a, disable the interrupt in this function because of *pdwData is XDATA and it maybe destroy by ISR_ROUTINE// when other module is executing W99AV_ReadInfo function.#pragma DISABLE // called in ISR#pragma NOAREGSBYTE W99AV_ReadInfo(BYTE bInfo, DWORD *pdwData){    // Chuan 276 2002/08/20: directly return value    // BIT     btRet;    switch(bInfo)    {    case    W99AV_INFO_FRAME_ID :        return W99AV_ReadDRAMData(W99AV_DRAM_FRAME_ID, pdwData);        break;    case    W99AV_INFO_DRAM_SHSIZE : //     0x84 in VCD25        // for error picture size detect        return FALSE;        break;    case    W99AV_INFO_DRAM_SVSIZE : //     0x85 in VCD25        // for error picture size detect        return FALSE;        break;    case    W99AV_INFO_FRAME_ERROR :        return W99AV_ReadDRAMData(W99AV_DRAM_DEC_ERR, pdwData ); // Chuan1.05, notify F/W that picture decoding error has occurred        break;    case    W99AV_INFO_MACRO_BLOCK :        _btW99AV1=EA;        EA=0;        if(W99AV_Command1(COMMAND_RMBCNT,CMDARG_RMBCNT))        {            W99AV_OutIndex(0x10000000);            *pdwData=W99AV_InData() & 0xFFFF;            EA=_btW99AV1;            return TRUE;        }        else        {            EA=_btW99AV1;            return FALSE;        }        break;//LJY1.20, support 4M flash, remove digest#ifndef NO_DIGEST    case    W99AV_INFO_DIGEST_HSIZE :        //wyc.099 for DVD and VCD digest clean screen        *pdwData=720;        return TRUE;        break;    case    W99AV_INFO_DIGEST_VSIZE :        *pdwData=576;        return TRUE;        break;    case    W99AV_INFO_DIGEST_YBUFFER :        return FALSE;        break;    case    W99AV_INFO_DIGEST_UBUFFER :        return FALSE;        break;    case    W99AV_INFO_DIGEST_VBUFFER :        return FALSE;        break;    case    W99AV_INFO_DIGEST_LUMINACE :        return W99AV_ReadDRAMData(W99AV_DRAM_DIGEST_Y, pdwData);        break;#endif    case    W99AV_INFO_CHIP_ID :    //DVD_051Micky, read chip version        return W99AV_ReadDRAMData(W99AV_DRAM_VERSION_ADR, pdwData );        break;    case    W99AV_INFO_RISC_VER:        return FALSE;        break;    case    W99AV_INFO_DSP_VER:        return FALSE;        break;    case    W99AV_INFO_IFIFO_REMAIN : // Input-Bitstream-FIFO remainder#if  IO == IO_PCI        // Chuan0.81, Use PCI Delay        // Chuan0.83a, EPP don't need read back twice and delay.#ifndef   IO_EPP        //_Delay(DELAY);        _dwTemp1=_inpdw((WORD)IBFR);  // discard the value of first time reading#endif	// IO_EPP        //_Delay(DELAY);        *pdwData=_inpdw((WORD)IBFR) & 0x7F;  // the valid data#else        _btW99AV1=EA;        EA=0;        *pdwData=((DWORD)INPB(IBFR)) & 0x7F;        EA=_btW99AV1;#endif        return TRUE;        break;    case    W99AV_INFO_AFIFO_REMAIN : // Input Audio bitstream FIFO remainder#if  IO == IO_PCI        // Chuan0.81, Use PCI Delay        // Chuan0.83a, EPP don't need read back twice and delay.#ifndef   IO_EPP        //_Delay(DELAY);        _dwTemp1=_inpdw((WORD)IAFR);  // discard the value of first time reading#endif	// IO_EPP        //_Delay(DELAY);        *pdwData=_inpdw((WORD)IAFR) & 0x3F;#else        _btW99AV1=EA;        EA=0;        *pdwData=((DWORD)INPB(IAFR)) & 0x3F;        EA=_btW99AV1;#endif        return TRUE;        break;    case    W99AV_INFO_VIDEO_REMAIN : // remainder of video bitstream buffer in DRAM        // TCC019        // since video remainder returns WORD. We always return the DWORD value        // Chuan1.10, Don't need divide by 2 from 20031106 RISC code.        // *pdwData = (W99AV_ReadRegDW (VBRR) >> 1) ;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色94色欧美sute亚洲线路二 | 欧美区视频在线观看| 成人午夜电影小说| 国产成人亚洲综合a∨猫咪| 国产毛片一区二区| 国产精品99久久久久久久女警 | 处破女av一区二区| 国产精品99久| 成年人国产精品| 91女人视频在线观看| 91高清在线观看| 欧美挠脚心视频网站| 欧美一区二区日韩一区二区| 日韩欧美激情一区| 国产午夜精品一区二区三区四区| 久久久久久久久久久久久夜| 中文字幕第一区综合| 亚洲同性同志一二三专区| 亚洲免费av高清| 亚洲风情在线资源站| 免费看欧美美女黄的网站| 国产精品自在在线| 99久久伊人网影院| 欧美在线免费视屏| 91麻豆精品国产自产在线| 欧美xxxx老人做受| 国产欧美日韩另类视频免费观看| 中文字幕一区二区三| 亚洲电影一区二区三区| 美女任你摸久久| 成人福利在线看| 欧美三级电影精品| 26uuu久久天堂性欧美| 亚洲国产精品99久久久久久久久| 亚洲黄网站在线观看| 另类小说一区二区三区| 懂色中文一区二区在线播放| 日本韩国欧美一区二区三区| 日韩三级中文字幕| 国产精品久久久久久福利一牛影视 | 精品一区二区三区在线播放 | 不卡的av在线| 91精品国产一区二区人妖| 久久久久国产精品免费免费搜索| 亚洲三级小视频| 久久国产精品一区二区| av电影一区二区| 日韩一卡二卡三卡四卡| 亚洲欧洲av在线| 男男视频亚洲欧美| 91色视频在线| 欧美精品一区男女天堂| 一区二区三区高清在线| 国产一区二区不卡| 欧美三级在线播放| 久久久精品2019中文字幕之3| 亚洲午夜电影在线观看| 国产精品一区二区不卡| 欧美人与禽zozo性伦| 中文字幕国产一区| 久久精品久久综合| 欧美日韩一区二区电影| 国产精品女上位| 精品一区二区免费视频| 91官网在线观看| 国产精品美女久久久久aⅴ| 久久成人免费日本黄色| 欧洲国内综合视频| 国产精品久久久久aaaa樱花 | 欧美影院一区二区三区| 国产亚洲精品资源在线26u| 日本中文字幕一区二区有限公司| 色综合一个色综合亚洲| 国产亚洲午夜高清国产拍精品| 午夜欧美电影在线观看| 99久久精品免费看国产| 久久综合久久综合九色| 日韩电影在线一区二区| 欧美视频三区在线播放| 亚洲美女屁股眼交3| 国产99久久久久| 久久亚洲捆绑美女| 久88久久88久久久| 欧美一区二区三区在线视频| 亚洲国产视频网站| 色婷婷av久久久久久久| 国产精品久久久久影院| 国产精品99精品久久免费| 精品国产3级a| 久久精品国产一区二区三| 91精品婷婷国产综合久久性色| 亚洲自拍偷拍九九九| 91国偷自产一区二区开放时间| 国产精品嫩草影院av蜜臀| 国产不卡视频一区二区三区| 久久久电影一区二区三区| 精品一区二区三区免费毛片爱| 日韩色视频在线观看| 日韩高清电影一区| 欧美精品一二三| 婷婷六月综合亚洲| 91精品综合久久久久久| 舔着乳尖日韩一区| 欧美一区二区三区在| 美国三级日本三级久久99| 日韩一区和二区| 久久er精品视频| 精品卡一卡二卡三卡四在线| 美脚の诱脚舐め脚责91| 精品久久久久久久久久久久久久久久久 | 性欧美大战久久久久久久久| 欧美色窝79yyyycom| 天天免费综合色| 欧美电影一区二区| 免费成人av在线播放| 精品国产3级a| 成人激情综合网站| 亚洲欧美激情插 | 久久嫩草精品久久久精品一| 国产91综合网| 亚洲免费伊人电影| 欧美亚洲国产一区二区三区| 婷婷综合五月天| 欧美成人猛片aaaaaaa| 国产精品影视天天线| 国产精品久久久久影院| 91黄色小视频| 久久国产人妖系列| 国产喂奶挤奶一区二区三区| 成人av免费网站| 亚洲在线成人精品| 欧美熟乱第一页| 久久超碰97人人做人人爱| 日本一区二区视频在线| 91久久国产综合久久| 蜜桃av噜噜一区| 国产女同性恋一区二区| 在线看国产日韩| 日本强好片久久久久久aaa| 久久久久久久久久久久久女国产乱| caoporn国产精品| 五月婷婷综合激情| 久久久久久麻豆| 91久久一区二区| 久久97超碰色| 亚洲美腿欧美偷拍| 日韩欧美色电影| 97se亚洲国产综合自在线不卡 | 99国产精品久久久久久久久久| 日韩精品久久理论片| 日本一区二区综合亚洲| 欧美色中文字幕| 国产 欧美在线| 日韩精品色哟哟| 国产精品美女久久久久久久久久久 | 久久久精品国产99久久精品芒果| 色狠狠一区二区三区香蕉| 老鸭窝一区二区久久精品| 中文字幕佐山爱一区二区免费| 日韩三级av在线播放| 91亚洲精品一区二区乱码| 另类综合日韩欧美亚洲| 亚洲美女偷拍久久| 久久久欧美精品sm网站| 欧美三级资源在线| 成人黄色av电影| 老司机免费视频一区二区| 一区二区免费在线| 国产日本亚洲高清| 91麻豆精品国产无毒不卡在线观看 | 亚洲成人免费影院| 国产精品国产三级国产| 日韩欧美三级在线| 欧美日韩精品高清| 94色蜜桃网一区二区三区| 久久国产精品无码网站| 五月激情六月综合| 亚洲精品免费在线播放| 久久久久久久久99精品| 日韩欧美国产成人一区二区| 欧美亚洲日本国产| 色综合天天做天天爱| 丁香六月综合激情| 国产精品一线二线三线| 蜜桃精品视频在线| 丝袜a∨在线一区二区三区不卡| 亚洲综合久久久| 亚洲美女视频在线| 国产精品丝袜91| 国产欧美日韩中文久久| 久久女同性恋中文字幕| 欧美大片拔萝卜| 欧美一区二区三区四区高清| 精品视频在线免费看| 色久综合一二码| 日本黄色一区二区| 一本色道久久综合狠狠躁的推荐| 9人人澡人人爽人人精品| 国产在线国偷精品产拍免费yy| 日日骚欧美日韩|