📄 srcfilter.h
字号:
#define SERVO_ERROR_INCOMPAT 6 // Imcompatible disc type. Usually incorrect command#define SERVO_ERROR_TIMEOUT 7 // Timout Error. (atapi timeout)#define SERVO_ERROR_READ 8 // Read Command Error#define SERVO_ERROR_DMA 9 // DMA Error (DMA timeout w/o buffer full)#define SERVO_ERROR_DEAD 10 // Dead Error (DMA timeout+buffer full)#define SERVO_ERROR_USERABORT 11 // Means the command isn't issued/finished by IR key abort#define SERVO_ERROR_UNKNOWN 12 // Unknow Error Type////////////////////////////////////////////// TCC155, default a/v threshold#define SERVO_DEFAULT_VIDEO_THRESHOLD 0xa000//Kevin0.90, modify//Currently, audio buffer size=8KDW and audio buffer underflow threshold=5KDW. The 1KHz-AC3 break noise may be due to the RISC performance issue for that RISC has to frequently deal with the input bitstream when audio buffer remainder is less than the underflow threshold.//=> Temp. sloution: use a small audio underflow threshold, say 1.25KDW. The setting seems OK for other DVD tiltes (AC3/DTS/LPCM). Integrate into DVD_090.//#define SERVO_DEFAULT_AUDIO_THRESHOLD 0x1400/4 // Brian0.90, before this issue is cleared, use the original value.#define SERVO_DEFAULT_AUDIO_THRESHOLD 0x1400 ////////////////////////////////////////////// TCC170, power mode for atapi// wyc.171-3, modify the parameter for #define SERVO_POWER_STOP 0x0#define SERVO_POWER_IDLE 0x20#define SERVO_POWER_STANDBY 0x30#define SERVO_POWER_SLEEP 0x50#define SERVO_POWER_START 0x1////////////////////////////////////////////// wyc.170-2, add the define for CDDA audio de-emphasis#define SERVO_CDDA_NONE 0#define SERVO_CDDA_DEEMPHASIS 1#define SERVO_CDDA_NON_DEEMPHASIS 2//////////////////////////////////////////////LJY0.95, wait stable mode#define WAITSTABLE_SHOW_INFO 1#define WAITSTABLE_NOT_SHOW_INFO 2#define WAITSTABLE_SLEDGE 3#define SERVO_STATE_SLEDGE 4 //servo state of sledge-in is 4#define WAITSTABLE_SLEDGE_SHOW_BAR 5 //LJY1.07, show loading status bar//LJY1.10#define AUDIO_DATA 0x00#define CONTINUOUS_DATA 0x01#define INTERPOLATION_DISABLE 0x02 //bit1, for interpolation control#define SUBCHANNEL_ENABLE 0x04 //bit2, for subcode control#define SERVO_CGMS_NO_RESTRICTION 0#define SERVO_CGMS_RESERVED 1#define SERVO_CGMS_ONE_COPY 2#define SERVO_CGMS_NO_COPY 3#define SERVO_CGMS_NONE 4// Define for other thread to communicate with ATAPI thread.#define SRCFILTER_WAIT_STABLE 0x00000001#define SRCFILTER_WAIT_STABLE_DETECTING 0x00000002#define SRCFILTER_WAIT_STABLE_HAVEDISC 0x00000004#define SRCFILTER_WAIT_STABLE_NODISC 0x00000008#define SRCFILTER_MONITOR_READDATA 0x00000010#define SRCFILTER_MONITOR_READDATA_COMPLETED 0x00000020// wyc1.20-909,#define SRCFILTER_DUMPDATA 0x00000040#define SRCFILTER_DUMPDATA_COMPLETED 0x00000080// elmer2.38#define USBSRC_MSG_NO_CARD 0x00000001#define USBSRC_MSG_UNPLUG_CARD 0x00000002#ifdef SUPPORT_POWERON_MENU#define USBSRC_MSG_RESUME 0x00000010#endif// ====== elmer ======#define SRCFILTER_USBSRC_CHECK_DEVICE 0x00000001#define SRCFILTER_USBSRC_RECOGNIZE_MEDIA 0X00000002// wyc2.78-909P, new commands for usbsrc.#define SRCFILTER_USBSRC_SWITCH_USB_STACK 0x00000020#define SRCFILTER_USBSRC_DEVICE_MODE_CHK_CARD 0x00000040#define SRCFILTER_USBSRC_EXIT_USB_STACK 0x00000080#define SRCFILTER_USBSRC_CMD_ALL 0xFFFFFFFF#define SRCFILTER_FLAG_CMD 1#define SRCFILTER_FLAG_STATUS 2#define SRCFILTER_FLAG_RUNNING 3// ===================#define SF_DUMPIN_BUFF_EMPTY 1#define SF_DUMPIN_BUFF_FULL 2#define SF_DUMPIN_BUFF_NORMAL 3// ID for each source// wyc1.07-909, add one state of connect state.#define SRCFTR_USB_STATE_NO_MEDIA 1#define SRCFTR_USB_STATE_CONN_MEDIA 2#define SRCFTR_USB_STATE_READY_MEDIA 3#define SRCFTR_USB_STATE_WRONG_MEDIA 4// wyc1.20-909#define SRCFTR_USB_STATE_NO_CARD 5// wyc2.51-909P, define relative the JPG encode.#define SRCFTR_SUPPORT_JPG_ENCODE_NUM (15)#define SRCFTR_SUPPORT_ENCODE_FLASH_SIZE ((24*1024*1024)/8) // unit is bytes#define SRCFTR_FLASH_RW_UNIT ((64*1024)/8)#define SRCFTR_ONE_JPG_ENCODE_SIZE (64*1024) // unit is bytes// #define SRCFTR_ONE_JPG_ENCODE_SIZE (((SRCFTR_SUPPORT_ENCODE_FLASH_SIZE/SRCFTR_SUPPORT_JPG_ENCODE_NUM)/SRCFTR_FLASH_RW_UNIT)*SRCFTR_FLASH_RW_UNIT) // unit is bytes#define SRCFTR_ONE_JPG_ENCODE_SECTOR (SRCFTR_ONE_JPG_ENCODE_SIZE/2048)#define SRCFTR_SPI_ENCODE_ADDR (0x110000)// Structure Definition// wyc.172r, define a new structure for scan title key usage and the purpose is to reduce one array.typedef struct{ DWORD TitKey[2]; // Record the frame of the track start address} SCAN_TITLE;typedef struct{ BYTE Trk; // Record the track number BYTE Ctl; // Record the attribute of the track BYTE Min; // Record the minute of the track start address BYTE Sec; // Record the second of the track start address BYTE Frm; // Record the frame of the track start address} TRKINFO;typedef struct{ BYTE bFirstTrack; // Record the first track of the session BYTE bLastTrack; // Record the last track of the session BYTE bLastSession; // Brian0.66, added by JY ?? BYTE bDiscType; // Brian0.66, added by JY ?? DWORD dwLeadOutPos; // Record the leadout position of the session} SESSIONINFO;typedef struct { BYTE bADRControl; BYTE bTrackNum; BYTE bPoint; BYTE bRelMin; BYTE bRelSec; BYTE bRelFrame; BYTE bReserved; BYTE bAbsMin; BYTE bAbsSec; BYTE bAbsFrame;} Q_CODE;typedef struct tagCOPYINFO{ BYTE bCPS_Type ; // Store the Copy Protect Type of the dvd title BYTE bRegionInfo ; // Stores the Region Code Info of the dvd title BYTE bCGMS ; // Store the Copy Generation Management System} COPYINFO ;//====================================// declare global functions//====================================extern BYTE SrcFilter_Reset(BYTE bForceReset);extern BYTE SrcFilter_Init(void);extern BYTE SrcFilter_OpenTray(void);extern BYTE SrcFilter_CloseTray(void);extern BYTE SrcFilter_AudioDeemphasis(WORD wPlayItem);extern BYTE SrcFilter_TriggerGettingMediaStatus(void);extern BYTE SRCFilter_PollingMediaStatus(void);extern BYTE SrcFilter_Stop(DWORD dwStream_id);extern BYTE SrcFilter_ReadSectors(DWORD dwStream_id, DWORD dwStartPos, DWORD dwEndPos);extern BYTE SrcFilter_GetDiscInfo(PBYTE pMinTrack, PBYTE pMaxTrack, PDWORD pMaxSector);extern BYTE SrcFilter_GetTrackInfo(BYTE bTrackNum, PBYTE pTrackCtl, PDWORD pStartPos);extern BYTE SrcFilter_ReadTOC( BYTE bTemp);//extern BYTE SrcFilter_Monitor(void); //Brian1.15 // CoCo, reduce code size.//extern BYTE SrcFilter_CheckDiscEnding(void); //Brian1.15 // CoCo, reduce code size.//extern BYTE SrcFilter_ReadDiscKey(void); //Brian1.15 // CoCo, reduce code size.extern WORD SrcFilter_GetDiscType(void);extern BYTE SrcFilter_CheckTrayStatus(void);extern BOOL SrcFilter_EnableRunning ( BYTE bGo );//extern BYTE SrcFilter_CSS_SentDiscKey(void); //Brian1.15 // CoCo, reduce code size.// wyc1.06-909extern BYTE SrcFilter_Seek (DWORD dwSeekLBA, BYTE bResumeRead);//extern void SrcFilter_AdjustThreshold (BYTE bType, DWORD dwLevel); //Brian1.15 // CoCo, reduce code size.extern BYTE SrcFilter_ServoAbnormal(void);extern BYTE SrcFilter_ReadTitleKey(DWORD dwSectorNumber, BYTE bStore);extern BYTE SrcFilter_GetTrackEnd(BYTE bTrackNum, PDWORD pLength);extern BYTE SrcFilter_SetTitleKey(BYTE bStore);extern BYTE SrcFilter_GetDiscLength(PDWORD pLength);extern BYTE SrcFilter_Abort(void);extern BYTE SrcFilter_GetStatus(BYTE bSrcIndex);extern void SrcFilter_ClearState(void);extern BYTE SrcFilter_PowerMode (BYTE bMode);extern void SRCFilter_ThreadDelete(void);// LLY1.50, restore API since CELL module will use it.BYTE SrcFilter_GetCurrentPos(PDWORD pCurrentPos); extern BYTE SRCFilter_GetMediaStatus(void);// wyc1.05-909, remove function.// wyc0.85, add one function to abort Get Media Status.extern void SRCFilter_AbortGetMediaStatus(void);// wyc2.78-909P,extern BYTE SrcFilter_ConfigBuffer(BYTE bId, DWORD wBufStart, WORD bBufSize);// wyc2.17a-909Sextern BYTE SrcFilter_CFGEDCBuff( DWORD dwStartAddr, WORD wSize );// Brian0.69extern void SrcFilter_InitVariables(void);extern void SrcFilter_StartUnit(void);extern BYTE SrcFilter_ResetRecover (BYTE bNeedStable);// wyc2.53-909P,#ifdef SUPPORT_JPEG_AUDIO_PLAYINGextern BYTE SrcFilter_StreamPause(DWORD dwStream_id);extern BYTE SrcFilter_StreamContinue(DWORD dwStream_id);#endif //void ATAPI_Thread( DWORD index );extern void SRCFilter_EnableCacheFlush( void ); // F100CSC_102// wyc1.05-909, new function for USB.// wyc1.07-909, modify 3th parameter to DWORD* to support FAT32.extern BYTE SRCFilter_DumpData(DWORD dwSecNO, DWORD dwNum, DWORD* pFATBuff);// wyc1.20-909extern BYTE SRCFilter_DumpDatabySource(DWORD dwSecNO, DWORD dwNum, DWORD* pFATBuff);// wyc2.05-909S,extern BYTE SRCFilter_ExitSource(void);// wyc2.37-909s,extern BYTE SRCFilter_USBSRCExit(void);extern BOOL SrcFilter_ChangeSourceID( DWORD dwStreamIdx, BYTE bSourceIdx ); // J500CSC_218extern BOOL SrcFilter_CheckSrcReady(VOID);// J200Aron_231BYTE SrcFilter_TriggerUSBSRCCmd(BYTE flag, DWORD dwCmd);BYTE SrcFilter_PeekUSBSRCCmd(BYTE flag, DWORD dwCmd);void SrcFilter_ClearUSBSRCCmd(BYTE flag, DWORD dwCmd);// wyc2.78-909P,void SrcFilter_SetOTGMode(BYTE bUSBOTGMode);BYTE SrcFilter_GetOTGMode(void);#ifdef __cplusplus }#endif#endif // __SRCFILTER_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -