ninf.c
上传用户:caisangzi8
上传日期:2013-10-25
资源大小:15756k
文件大小:2k
源码类别:

DVD

开发平台:

C/C++

  1. //
  2. // FILE
  3. // ninf.c
  4. //
  5. // DESCRIPTION
  6. // navigator interface
  7. // all access to navigator internal should use functions from this file.
  8. //
  9. #include "config.h"
  10. #include "set.h"
  11. #include "navdata.h"
  12. #include "ninf.h"
  13. #ifdef NOT_SUPPORT_DVDAUDIO_NO_GUI
  14. #include "fs.h"
  15. #endif
  16. extern UINT8 DVD_check_state(void);
  17. extern UINT8 SrvReadCPRMAI(void);
  18. //
  19. // FUNCTION
  20. // ninf_get_dvd_sup_clut(n)
  21. //
  22. // DESCRIPTION
  23. // kernel sub-picture decoder use this function to get color-palette
  24. // entries of current sub-picture
  25. //
  26. // return Y-CB-CR format
  27. //
  28. UINT32  ninf_get_dvd_sup_clut(int n)
  29. {
  30.     UINT32  v;
  31.     v = 0x008080;
  32.     if (pDSV!=NULL) {
  33.         v = (((unsigned)pDSV->DSVPLT[n].dY  << 16)
  34.           |  ((unsigned)pDSV->DSVPLT[n].dCb << 8)
  35.           |  ((unsigned)pDSV->DSVPLT[n].dCr << 0));
  36.     }
  37.     return v;
  38. }
  39. extern  UINT8   srv_on;
  40. //note: never change this function
  41. UINT32  ninf_get_dvd_CPM(void)
  42. {
  43. #ifdef DVD_SERVO
  44.     if (srv_on) return (SrvReadCPRMAI()>>7); 
  45.     else
  46. #endif
  47. return 1;
  48. }
  49. //note: never change this function
  50. UINT32  ninf_get_dvd_CGMS(void)
  51. {
  52. #ifdef DVD_SERVO
  53.     if (srv_on) return (SrvReadCPRMAI()>>4)&0x03;
  54. #endif
  55.     return 3;
  56. }
  57. UINT32  ninf_get_dvd_VMGM_V_ATR(void)
  58. {
  59.     return pDSV->dV_ATR;
  60. }
  61. //terry,2004/2/6 05:43PM,move to hear
  62. int is_menu(void)
  63. {
  64.     int menu=0;
  65.     
  66.     if(cd_type_loaded==CDDVD)
  67.     {
  68. if( (!DVD_check_state())&&(play_state!=VCD_STATE_STOP) )         
  69.         {//terry,2-5-17 2:35
  70.             menu=1;
  71.         }
  72.     }else if(IsPBCOn())
  73.     {
  74.         if(psd_state==(PSD_SEL_LIST|PSD_PLAY_SEG))
  75.             menu=1;
  76.     }
  77.     
  78.     return menu;
  79. }
  80. //
  81. //
  82. //
  83. int is_dvdaudio_aob(void)
  84. {
  85. #ifdef  DVD_AUDIO
  86.     return (AOB);
  87. #else
  88.     return 0;
  89. #endif
  90. }
  91. #ifdef NOT_SUPPORT_DVDAUDIO_NO_GUI
  92. //wanghaoying add 2004-7-15 12:02
  93. //To: confirm wheather this disc is dvd-audio
  94. //return: 1 -> dvdaudio disc; 0 -> not
  95. BYTE is_dvdaudio_disc(void)
  96. {    
  97.     //return 0;
  98.     //if ( DISC_IS_DVD()==1 )
  99.     {
  100.         if( (UDFVol.DIR_Location=search_dir("AUDIO_TS"))!=0xffffffff)
  101.         {             
  102.     if(search_file("AUDIO_TS.IFO")!=0)
  103.     {
  104.         return 1;
  105.     }
  106.     else
  107.     {
  108.         return 0;
  109.     }
  110. }
  111. }
  112. }
  113. #endif