⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 srcfilter.h

📁 ct952 source code use for Digital Frame Photo
💻 H
📖 第 1 页 / 共 2 页
字号:
#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 + -