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

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

?? digest.c

?? 車載電子影音系統(tǒng)dvd播放系統(tǒng)原程序代碼
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
        HAL_DigestPosition(__iXDigest, __iYDigest);

        // the entry point is a CD-DA track
        // need do the following action to open VBI
#ifndef NO_CDDADIGEST
        if (__btCDDADigest)
        {
            HAL_DigestEnableVBI(); // the API is only for CDDA digest SWOSD display
            __btCDDADigest=FALSE;
            // must set mode for CD-DA track play
            __bModePlay=MODE_PLAYUNKNOW;
        }
#endif //#ifndef NO_CDDADIGEST
        // wyc.051 for avoid the hang of No DMA Done
        HAL_Reset(HAL_RESET_PARSER); //the critical code for hang ver65000
        HAL_ControlParser(HAL_PARSER_VIDEO_ID, 0);//the critical code for hang ver65000
        HAL_ControlParser(HAL_PARSER_AUDIO_ID, __bASTID );//the critical code for hang ver65000
        HAL_ControlParser(HAL_PARSER_ENABLE, NULL );//the critical code for hang ver65000

        // indicate not to perform the reset action in Digest mode
        // since the DIGEST setting are already done
        __btDigestSetMode=TRUE;
                   
        UTL_SetPlayMode ( __bDigestModePlay );

        // must clear here!!! UTL_SetPlayMode might return when same type
        __btDigestSetMode=FALSE;

        // get play range
        // wyc.100
        if (!__bDVDDigest)
            UTL_GetPlayRange ( bTrackNO );

        // ckear screen here if press KEY_PREV or KEY_NEXT, reason is because 
        // only place here can clear the previous page frame image
        // wyc.172r, reduce SRAM
#ifndef NO_DVDDIGEST
        if (__bCmdKeyPress)
        {
            W99AV_ReadInfo(W99AV_INFO_DIGEST_HSIZE, &_dwTemp);
            W99AV_ReadInfo(W99AV_INFO_DIGEST_VSIZE, &__dwTemp);
//LJY0.86, for new HAL_ClearScreen()
            HAL_ClearScreen(HAL_COLOR_DIGEST);
            __bCmdKeyPress = FALSE;
        }
#endif // NO_DVDDIGEST
        // LLY.045-1, porting for new define depending on 22QF055.DOC
        // following action is same between emulator and system
        //MICKY, 05.18.99
        // in Emulator RANDOM mode, found the Reset A/V buffer action will cause
        // input FIFO always keep at > 32
        // after testing, found it must wait audio empty then can reset A/V buffer
        // As WCH said, it's possible has problem that to reset buffer while DBI still action

        //wyc.051
        //__dwCheckTime=__dwCountSystem;
        __dwCheckTime=UTL_GetSysTimer();
        // it's about 1.3 seconds that the audio buffer will be empty(Keep at 24)
        while ((UTL_GetSysTimer() - __dwCheckTime) < (COUNT_1_SEC + COUNT_500_MSEC))
        {
            W99AV_ReadInfo(W99AV_INFO_AUDIO_REMAIN, &__dwTemp);
#ifndef NO_DVDDIGEST
            //wyc.100
            if (__bDVDDigest)
            {
                if (__dwTemp < 300)
                    break;
            }
            else
#endif // NO_DVDDIGEST
            {
                if (__dwTemp < 32)
                    break;
            }
        }
        // LLY.045-1 end ...
        ///////////////////////////////////////////////////////////////
        ////// Added by LLY on 1999.02.04 for "previous data showing
        ////// on next position" problem
        ////// Set video A/V buffer size  when change track
        // DVD022, because set A/V buffer size command has been modified
/*
        __dwW99AVCmdArg[0]=3;  // the number of ARG0~ARG15
        __dwW99AVCmdArg[1]=0xFFFF; // command_arg don't care
        __dwW99AVCmdArg[2]=W99AV_ADDR_VBUFF;  // video:end>>8, start>>8
        __dwW99AVCmdArg[3]=W99AV_ADDR_ABUFF;  // audio
        W99AV_CommandN(COMMAND_SAVBS);
*/
/////////////////////////////////////
        ///// Following actions is added to solve the problem :
        ///// CDDA -> MPEG will hang while in digest mode
        // wyc.155, remove this code becuase has added HAL_Reset at below
        //W99AV_Reset(W99AV_RESET_AUDIO);
        // DVD.039, must do audio command play after resetting DSP
        // it can fix "Wait no DMA_Done" bug while enter digest mode
        //W99AV_WriteRegDW (ADCMR, 0x1, 0x0000) ; //LJY.280p, marked.
        ///////////////////////////////////////////////////////////////

        // using absolute time
        //LJY2.81, for DVCD discview in dtop mode
        if (((__bStyle & 0x0F)==DIGEST_STYLE_DISCVIEW) || (__bStyle & DIGEST_DVCD_DISCVIEW))
            __dwTimeBegin=NULL;
        // __dwTimeBegin is to record track start point

        //  WYC.050a , for digest audio noise error, we reset the audio buffer
        //  before enter playing the next track
        HAL_Reset(HAL_RESET_AUDIO);
//        W99AV_WriteRegDW (ADCMR, 0x1, 0x0000) ; //LJY.280p, marked.
        // !!! Let data in first, then send SCAN command ???
        // send scan command, then open data

        // __btTrackPoint is TRUE means this is the initial DisplayFrame
        // this special routine is to send the track data from the beginning
        // do not update the frame to the DIGEST grid
        // later after the IFSC is detected,
        // then will actually go to the entry point for playing
        // wyc.100 for adding read DVD bitstream

#ifndef NO_DVDDIGEST
        //__bNoDoDigest = FALSE;
        if (__bDVDDigest)
        {
            if ((__bStyle & 0x0F) == DIGEST_STYLE_TITLE)
            {
                __btDigestSetMode = TRUE;
                NV_TitlePlay(__bTitle,__wChapter);
                NV_Trigger();
                __btDigestSetMode = FALSE;
                SERVO_EnableRunning(TRUE);
                //gbServoRunning = TRUE;
                __btPlaying= TRUE;
            }
            else if ((__bStyle & 0x0F) == DIGEST_STYLE_CHAP)
            {
                __btDigestSetMode = TRUE;
                NV_TitlePlay(__bTitle,__wChapter);
                NV_Trigger();
                __btDigestSetMode = FALSE;
                SERVO_EnableRunning(TRUE);
                //gbServoRunning = TRUE;
                __btPlaying= TRUE;

            }
            else if ((__bStyle & 0x0F) == DIGEST_STYLE_CHAPXX)
            {
                if (__bCHAPXXFromCurr)
                {
                    __btDigestSetMode = TRUE;
                    __bCHAPXXFromCurr = FALSE;
                    __wTotChapTime = __wTimeChapterBegin;
                    __wTemp = __wTimeCellBegin + (WORD)CELL_QueryTime();
                    __bTemp = (BYTE)(__wTemp / 3600);
                    __bMin = (BYTE)((__wTemp % 3600) / 60);
                    __bSec = (BYTE)((__wTemp % 3600) % 60);
                    if ((__bTemp == 0) && (__bMin == 0) && (__bSec < 2)) __bSec = 2;
                    __dwGoToTime=MAKE_TMSF(__bTemp,__bMin,__bSec, 0x0);
                    NV_TimePlay(__bTitle,__dwGoToTime);
                    __btPlaying= TRUE;                    
                }
                else
                {
                    if (__bRepeat != REPEAT_CHAPTER)
                        __wTotChapTime  = __wTotChapTime + __wTimeChapter + 1;
                    if (__bRepeat == REPEAT_CHAPTER)
                        __wTotChapTime ++;

                    __dwGoToTime=MAKE_TMSF(__wTotChapTime/(WORD)3600,(__wTotChapTime%(WORD)3600)/60,(__wTotChapTime%(WORD)3600)%60, 0x0);
                    NV_TimePlay(__bTitle,__dwGoToTime);
                    if (__bRepeat == REPEAT_CHAPTER)
                        __wTotChapTime --;
                    __btPlaying= TRUE;                    
                }
            }
            if (((__bStyle & 0x0F) == DIGEST_STYLE_TITLE) || ((__bStyle & 0x0F) == DIGEST_STYLE_CHAP))
            {
                __bFrames = 9;
                __wTemp = MASK_SOURCE_RESOLUTION(__wV_ATR);
                if ((__wTemp == 2) || (__wTemp == 3))
                {
                    W99AV_WriteDRAMData (W99AV_DRAM_DIG_HVSTART,MAKELONG(0,0));
                    // set DIGESET_HVSIZE
                    // logic horizontal and vertical size for chip
                    W99AV_WriteDRAMData (W99AV_DRAM_DIG_HVSIZE, MAKELONG(0x00EF,0x0160));
                    __bFrames = 4;
                }
                else
                {
                    W99AV_WriteDRAMData (W99AV_DRAM_DIG_HVSTART,MAKELONG(0x0,0x2));
                    W99AV_WriteDRAMData (W99AV_DRAM_DIG_HVSIZE, MAKELONG(0x1DF,0xB0));
                }
            }
            //__wW99AVNVSUBIDRLow = 0xff; // JYLiu 2002/4/12
            //W99AV_WriteRegDW(NVSUBIDR, __wW99AVNVSUBIDRLow, __wW99AVNVSUBIDRHigh);  // JYLiu 2002/4/12
        }
        //
        else //(__bDVDDigest)
#endif // NO_DVDDIGEST
        {
            if (((__bStyle & 0x0F)== DIGEST_STYLE_TRACK) && __btTrackPoint)
            {
                if (__bDigestModePlay & MODE_PLAYMOTION)
                {
                    // not move the decoded picture to digest frame position
                    HAL_DigestEnableFrame(FALSE);
                    // go to track begin for one sequence header
                    SERVO_ReadSectors ( __dwTimeBegin - __dwTimeTorelence, __dwTimeEnd);
                }
                else //(__bDigestModePlay
                {
                    // CD-DA, directly go to the entry point
                    // wyc.172r, reduce SRAM
                    SERVO_ReadSectors ( /*__dwDigestKeep*/__dwTimeDigestBegin - __dwTimeTorelence, __dwTimeEnd);
                    __btTrackPoint=FALSE;
                } //(__bDigestModePlay
            }
            else //((__bStyle== DIGEST_STYLE_TRACK)
            {
                // wyc.173-1, keep this code for fixing some VCD titles digest frame error.
                SERVO_ReadSectors ( __dwTimeBegin+ __dwTimeShow - __dwTimeTorelence, __dwTimeEnd );
            } //((__bStyle == DIGEST_STYLE_TRACK)
        //LJY276, added
            HAL_ControlCDIF(HAL_CDIF_OPEN);           
        }// if (__bDVDDigest)

        // wyc.173-1, keep this code for fixing some VCD titles digest frame error.
        if(!(__bStyle & DIGEST_DVCD_DISCVIEW)) //LJY2.81, for DVCD discview in stop mdoe
        if (( (__bStyle & 0x0F) != DIGEST_STYLE_DISCVIEW ) && (!__bDVDDigest))
            __dwTimeShow= VIEWTIME;             // 3 seconds

        // shoud wait the CD loader to be stable then open CD-IF???
        // Open the CD-IF
//LJY276, marked
//       HAL_ControlCDIF(HAL_CDIF_OPEN);

        if ( __bDigestModePlay & MODE_PLAYMOTION )
        {
//            HAL_DigestCommand(); //jyliu.lumin, it can be removed
            // ISR bit set 1 ==> clear the corresponding bit in PSR
            // Let chip know host already get the status, prevent from
            // receiving previous status forever
            // IER set 1 ==> ask for chip status
            // IER, NULL ==> IRQ is asserted if both IER and PSR is set
            // ISR,IER==> write only
            // PSR ==> read only
            W99AV_ClearInterrupt(INT_IFSC);
            // For accelerating the SCAN first frame
            // second SCAN command before IFSC will have no effect
            // except that let first scan command faster
            HAL_DigestCommand(); //jyliu.digest, why need to set twice???
        }
       
        i=FALSE; 
        // check the IFSC interrupt
        if ( __bDigestModePlay & MODE_PLAYMOTION )
        {
            if (!__bDVDDigest) // for VCD digest
            {
                EX1 = 0;
                __dwCheckTime= UTL_GetSysTimer();
                while ( (UTL_GetSysTimer()- __dwCheckTime ) < COUNT_4_SEC )
                {
                //LJY276
#ifdef SUPPORT_CDIF
                if(__bServoAutoCtrl)
                    SERVO_Monitor();  
                else
                                        MONITOR_CheckBuffer();//LJY277.3rd
#else
                                        SERVO_Monitor();
#endif //#ifdef SUPPORT_CDIF
                    if (HAL_CheckInterrupt(INT_IFSC))
                    {
                        __dwIFrames++;
                        i=TRUE;
//LJY276, marked
/*                        if (__btTrackPoint)
                        {
                            // must close the data input
                            HAL_ControlCDIF(HAL_CDIF_CLOSE);
                        }
*/                        
//                       if ( __btDigestEnableAudio )  //LJY1.24-3, no need.
//                            CHIPS_OpenAudio( TRUE ); //LJY1.24-3, no need.
                        // this scan will clear video buffer
                        HAL_DigestCommand(); // cannot be removed, 2002/12/6

                        // ignore too black frame at the beginning of the track
                        // Check the Luminace
                        // If read fail, give up
                        // If Luminance is larger than 200(experience), Accept
                        //      NOT, look for next I-Frame
                        // DIGEST_Y is the luminance address
                        if ( ! W99AV_ReadInfo ( W99AV_INFO_DIGEST_LUMINACE, & __dwTemp) )
                            __dwTemp=0x200;
                        else __dwTemp >>= 16; //LJY2.28b-2, luminace was stored at HIWORD
                        if (__dwTemp > 0x200)
                            break;
                    } //if (HAL_CheckInterrupt(INT_IFSC))
                } //while ( (UTL_GetSysTimer()
                EX1 = 1;                
            } //if (__bDVDDigest)
            //LJY276, added for stop mode noise            
            if(!__bServoAutoCtrl)
            //LJY278, remove HAL_CDIF_FREEZE_TIME                
                HAL_CheckCDIF ( HAL_CDIF_FREEZE_TIME, (BYTE)NULL );//for stop mode noise
            //    HAL_ControlCDIF(HAL_CDIF_CLOSE);
            // wyc.099
            if ((__bStyle & 0x0F) == DIGEST_STYLE_TRACK)
                if (__btTrackPoint)
                {
                    //LJY277a, clear decoded frame to fix first frame error(show the picture of track begin)
                    W99AV_ReadInfo(W99AV_INFO_DIGEST_HSIZE, &_dwTemp);
                    W99AV_ReadInfo(W99AV_INFO_DIGEST_VSIZE, &__dwTemp);
                    //LJY0.86, for new HAL_ClearScreen()
                    HAL_ClearScreen(HAL_COLOR_DIGEST);
                
                    // set 1 will move the decoded picture to digest frame position
//                    HAL_DigestEnableFrame(TRUE);
                    __btTrackPoint=FALSE;                    
                    // entry point for this track
                    // wyc.172r, reduce SRAM
//LJY277.3rd, marked                    
//                  SERVO_ReadSectors ( /*__dwDigestKeep*/__dwTimeDigestBegin, __dwTimeEnd);
                    // must wait the CD loader to be stable
                    // then open CD-IF                  
//                    HAL_ControlCDIF(HAL_CDIF_OPEN);                             
//LJY277.3rd, added for noise problem of first time entered
                    HAL_Reset(HAL_RESET_AUDIO);                    
                    UTL_PlayFromTime (__dwTimeDigestBegin);
                }
            // Enable Interrupt
            // to let IFSC processed by interrupt
            W99AV_EnableInterrupt(__dwIER);
            // add(should if I-frame not detected in 2 sec.
            // open audio again
            if ( __btDigestEnableAudio )
                CHIPS_OpenAudio( TRUE );
            // Open VBI now        
            HAL_Display(HAL_DISPLAY_VIDEO, TRUE);
        }
#ifndef NO_CDDADIGEST
        else        // No-MPEG mode
        {
            W99AV_EnableInterrupt(__dwIER);

            if ( __btDigestEnableAudio )
                CHIPS_OpenAudio( TRUE );
        }
#endif // NO_CDDADIGEST
    }
    else  // repeat!=0
    {
//LJY277a, issue digest command here to fix the problem of SWOSD shown prior to picture.
         HAL_DigestPosition(__iXDigest, __iYDigest);
//LJY277a.4th
//jyliu.lumin.test         HAL_DigestCommand();  
         W99AV_ClearInterrupt(INT_IFSC);
         HAL_DigestCommand(); //jyliu.digest, why need to set twice???

        // avoid for playing cross the track
        // for short track
        // wyc.100
        if (!__bDVDDigest)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产香蕉久久精品综合网| 日韩在线一区二区三区| 久久精品一区四区| 欧美一级欧美三级| 欧美日韩国产一级片| 欧美视频自拍偷拍| 欧美性淫爽ww久久久久无| 91在线免费播放| 99久久er热在这里只有精品15| 国产一区二区三区不卡在线观看| 蜜乳av一区二区| 精品一区二区免费在线观看| 日韩高清国产一区在线| 日韩电影在线免费观看| 亚洲va欧美va天堂v国产综合| 洋洋成人永久网站入口| 亚洲成av人**亚洲成av**| 亚洲va欧美va人人爽| 日本aⅴ免费视频一区二区三区 | 综合久久一区二区三区| 国产精品久久久久久久久动漫| 中文字幕乱码亚洲精品一区| 国产精品欧美一区二区三区| 中文字幕一区二区不卡| 亚洲女人的天堂| 亚洲午夜在线电影| 日韩影院免费视频| 久久99精品一区二区三区三区| 国内精品写真在线观看| 不卡免费追剧大全电视剧网站| 色综合天天综合网天天看片| 欧美午夜不卡在线观看免费| 欧美精品视频www在线观看| 日韩一级二级三级精品视频| 精品久久久久久久一区二区蜜臀| 国产亚洲一区二区三区四区 | 国产乱淫av一区二区三区| 国产精品一区二区黑丝| 99re热视频这里只精品| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 色婷婷av久久久久久久| 欧美精品自拍偷拍动漫精品| 欧美www视频| 亚洲色图第一区| 三级亚洲高清视频| 国产成人啪午夜精品网站男同| 99久久精品国产导航| 欧美日韩国产一区| 国产日产欧美一区二区视频| 伊人一区二区三区| 另类小说综合欧美亚洲| 99久久精品情趣| 7777精品久久久大香线蕉| 国产亚洲欧美日韩日本| 亚洲国产精品久久人人爱 | 欧美日韩美女一区二区| 欧美成人a∨高清免费观看| 国产精品色噜噜| 五月天中文字幕一区二区| 国产jizzjizz一区二区| 4438x成人网最大色成网站| 国产日产欧产精品推荐色| 亚洲一区国产视频| 成人综合婷婷国产精品久久蜜臀| 欧美人xxxx| 亚洲三级小视频| 精品夜夜嗨av一区二区三区| 色综合久久中文综合久久97| 精品电影一区二区| 亚洲夂夂婷婷色拍ww47| 国产成人免费视频精品含羞草妖精| 欧美日韩综合在线| 中文字幕国产精品一区二区| 免费看日韩精品| 欧美性色欧美a在线播放| 国产农村妇女毛片精品久久麻豆| 奇米影视一区二区三区| 91美女片黄在线| 久久久精品国产免大香伊| 亚洲丶国产丶欧美一区二区三区| 成人三级伦理片| 欧美大黄免费观看| 婷婷六月综合亚洲| 91网站最新地址| 欧美韩日一区二区三区四区| 美女www一区二区| 欧美日韩中文一区| 一区二区三区在线播放| 成人激情小说网站| 久久精品一区二区三区不卡牛牛 | 精品一区二区三区在线视频| 欧美视频一区二区| 洋洋成人永久网站入口| 91伊人久久大香线蕉| 国产欧美一区二区精品性| 另类中文字幕网| 欧美一级高清大全免费观看| 亚洲精品精品亚洲| aaa欧美大片| 日本一区二区电影| 国产成人午夜视频| 国产视频亚洲色图| 国产二区国产一区在线观看| 精品日韩99亚洲| 蜜臀va亚洲va欧美va天堂| 欧美精品v国产精品v日韩精品 | 91精品免费观看| 三级成人在线视频| 欧美日韩高清一区二区三区| 亚洲一区二区三区四区中文字幕| 色爱区综合激月婷婷| 亚洲精品久久7777| 欧美视频第二页| 日韩高清电影一区| 精品少妇一区二区三区在线视频| 久99久精品视频免费观看| 久久综合九色欧美综合狠狠| 久久99在线观看| 久久综合色一综合色88| 国产精华液一区二区三区| 国产欧美日本一区二区三区| 成人中文字幕合集| 中文字幕一区二区不卡| 91福利在线免费观看| 亚洲成av人片在www色猫咪| 91精品国产色综合久久不卡电影 | 国产一区二区主播在线| 久久影院视频免费| 国产电影精品久久禁18| 中文字幕av免费专区久久| 成人午夜短视频| 国产精品免费视频一区| 高清av一区二区| 亚洲精品成a人| 91精品黄色片免费大全| 裸体在线国模精品偷拍| 国产区在线观看成人精品| 成人深夜视频在线观看| 亚洲国产精品精华液网站| 欧美日韩午夜在线视频| 九九国产精品视频| 国产精品高潮久久久久无| 91麻豆国产精品久久| 视频在线观看国产精品| 日韩精品专区在线影院重磅| 成人av免费在线| 一区二区欧美视频| 欧美不卡123| 免费人成在线不卡| 国产精品国产三级国产a | 欧美国产日韩在线观看| 欧美亚洲免费在线一区| 日韩国产在线观看一区| 欧美国产精品久久| 91久久线看在观草草青青| 蜜桃一区二区三区在线观看| 久久久久亚洲蜜桃| 欧美综合一区二区三区| 视频在线观看91| 国产精品理论片在线观看| 欧美日韩国产系列| 韩国欧美一区二区| 亚洲图片欧美色图| 日韩精品一区二区三区老鸭窝| 成人高清伦理免费影院在线观看| 久久99精品久久久| 中文字幕亚洲不卡| 老司机午夜精品| 欧洲精品视频在线观看| 美女视频网站黄色亚洲| 亚洲蜜桃精久久久久久久| 精品少妇一区二区三区| 99久久国产综合精品麻豆| 极品美女销魂一区二区三区免费| 国产精品色婷婷| 26uuu久久综合| 成人激情av网| 久久精品国产免费看久久精品| 亚洲综合男人的天堂| 久久天天做天天爱综合色| 欧美日韩精品一区视频| 国产不卡在线播放| 激情久久五月天| 一区二区三区蜜桃| 国产精品伦理在线| 久久亚洲综合色| 欧美日本乱大交xxxxx| 色综合中文综合网| 在线观看日韩一区| 韩日av一区二区| 亚洲午夜激情av| 亚洲视频免费在线| 久久精品夜夜夜夜久久| 日韩女优av电影在线观看| 成人丝袜18视频在线观看| 国产精品综合一区二区三区| 美女www一区二区| 亚洲电影第三页| 亚洲成人先锋电影| 成人欧美一区二区三区黑人麻豆|