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

📄 dvdcmd.h

📁 dvd解码卡的wdm驱动程序例程
💻 H
字号:
/*++

Copyright (c) 1998  Microsoft Corporation

Module Name:

    dvdcmd.h 

Abstract:

    main command processing routines for DVDTS    

Environment:

    Kernel mode only

Notes:

  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  PURPOSE.

  Copyright (c) 1998 Microsoft Corporation.  All Rights Reserved.

  Some portions adapted with permission from code Copyright (c) 1997-1998 Toshiba Corporation

Revision History:

	5/1/98: created

--*/
VOID STREAMAPI AdapterCancelPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI AdapterTimeoutPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI AdapterReceivePacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID AdapterStreamInfo( PHW_STREAM_REQUEST_BLOCK pSrb );
VOID HwProcessDataIntersection( PHW_STREAM_REQUEST_BLOCK pSrb );
VOID AdapterOpenStream( PHW_STREAM_REQUEST_BLOCK pSrb );
VOID AdapterCloseStream( PHW_STREAM_REQUEST_BLOCK pSrb );

void ClockEvents( PHW_DEVICE_EXTENSION pHwDevExt );
NTSTATUS STREAMAPI AudioEvent( PHW_EVENT_DESCRIPTOR pEvent );
NTSTATUS STREAMAPI CycEvent( PHW_EVENT_DESCRIPTOR pEvent );

VOID STREAMAPI VideoReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI VideoReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI AudioReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI AudioReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI SubpicReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI SubpicReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI NtscReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI NtscReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI VpeReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI VpeReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI CCReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
VOID STREAMAPI CCReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );

void VideoDataDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
void AudioDataDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
void SubpicDataDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
void VideoTimeDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
void AudioTimeDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
void SubpicTimeDiscontinuity( PHW_DEVICE_EXTENSION pHwDevExt );

void VideoQueryAccept(PHW_STREAM_REQUEST_BLOCK pSrb);
void ProcessVideoFormat( PKSDATAFORMAT pfmt, PHW_DEVICE_EXTENSION pHwDevExt );
void BadWait( DWORD dwTime );
void FastSlowControl( PHW_STREAM_REQUEST_BLOCK pSrb );
DWORD xunGetPTS(void *pBuf);
DWORD	GetStreamID(void *pBuf);
ULONG GetHowLongWait( PHW_DEVICE_EXTENSION pHwDevExt, PKSSTREAM_HEADER pStruc );
void ScheduledDMAxfer( PHW_DEVICE_EXTENSION pHwDevExt );
void PreDMAxfer( PHW_DEVICE_EXTENSION pHwDevExt );
void DMAxfer( PHW_DEVICE_EXTENSION pHwDevExt );
void DMAxferKeyData( PHW_DEVICE_EXTENSION pHwDevExt, PHW_STREAM_REQUEST_BLOCK pSrb, PUCHAR addr, DWORD dwSize, PHW_TIMER_ROUTINE pfnCallBack );
void EndKeyData( PHW_DEVICE_EXTENSION pHwDevExt );
void MenuDecodeStart( PHW_DEVICE_EXTENSION pHwDevExt );
void DecodeStart( PHW_DEVICE_EXTENSION pHwDevExt, DWORD dwSTC );
void TimerDecodeStart( PHW_DEVICE_EXTENSION pHwDevExt );
VOID TimerAudioMuteOff( PHW_DEVICE_EXTENSION pHwDevExt );

void GetVideoProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void SetVideoProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void GetAudioProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void SetAudioProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void GetSubpicProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void SetSubpicProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void GetNtscProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void SetNtscProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void GetVpeProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void SetVpeProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void GetCCProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void SetCCProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );
void GetCppProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb, LONG strm );
void SetCppProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb );

VOID STREAMAPI StreamClockRtn( IN PHW_TIME_CONTEXT TimeContext );
ULONGLONG GetSystemTime();
ULONGLONG ConvertPTStoStrm(ULONG pts);
ULONG ConvertStrmtoPTS(ULONGLONG strm);
void TimerCppReset( PHW_STREAM_REQUEST_BLOCK pSrb );

void SetPlayMode( PHW_DEVICE_EXTENSION pHwDevExt, ULONG mode );

void StopData( PHW_DEVICE_EXTENSION pHwDevExt );
void CheckAudioUnderflow( PHW_DEVICE_EXTENSION pHwDevExt );
void UnderflowStopData( PHW_DEVICE_EXTENSION pHwDevExt );
void ForcedStopData( PHW_DEVICE_EXTENSION pHwDevExt, ULONG flag );
void StopDequeue( PHW_DEVICE_EXTENSION pHwDevExt );

void SetAudioID( PHW_DEVICE_EXTENSION pHwDevExt, PKSSTREAM_HEADER pStruc );
void SetSubpicID( PHW_DEVICE_EXTENSION pHwDevExt, PKSSTREAM_HEADER pStruc );

void SetCppFlag( PHW_DEVICE_EXTENSION pHwDevExt );

void AudioQueryAccept( PHW_STREAM_REQUEST_BLOCK pSrb );
void ProcessAudioFormat( PKSDATAFORMAT pfmt, PHW_DEVICE_EXTENSION pHwDevExt );
void ProcessAudioFormat2( PMYAUDIOFORMAT pfmt, PHW_DEVICE_EXTENSION pHwDevExt );

void SetVideoRateDefault( PHW_DEVICE_EXTENSION pHwDevExt );
void SetAudioRateDefault( PHW_DEVICE_EXTENSION pHwDevExt );
void SetSubpicRateDefault( PHW_DEVICE_EXTENSION pHwDevExt );
void SetRateChange( PHW_DEVICE_EXTENSION pHwDevExt, LONG strm );
void SetVideoRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
void SetAudioRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
void SetSubpicRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
void GetVideoRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
void GetAudioRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );
void GetSubpicRateChange( PHW_STREAM_REQUEST_BLOCK pSrb );


#define	VIDEO_DISCONT_FLAG	0x01
#define	AUDIO_DISCONT_FLAG	0x02
#define	SUBPIC_DISCONT_FLAG	0x03

#define IsEqualGUID2(guid1, guid2) \
	(!memcmp((guid1), (guid2), sizeof(GUID)))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -