dvdmedia.h.svn-base
来自「ffshow源码」· SVN-BASE 代码 · 共 473 行 · 第 1/2 页
SVN-BASE
473 行
//------------------------------------------------------------------------------// File: DVDMedia.h//// Desc: Contains typedefs and defines necessary for user mode (ring 3) DVD// filters and applications.//// This should be included in the DirectShow SDK for user mode filters.// The types defined here should be kept in synch with ksmedia.h WDM// DDK for kernel mode filters.//// Copyright (c) 1997 - 2001, Microsoft Corporation. All rights reserved.//------------------------------------------------------------------------------#ifndef __DVDMEDIA_H__#define __DVDMEDIA_H__#ifdef __cplusplusextern "C" {#endif // __cplusplus // ----------------------------------------------------------------------- // AC-3 definition for the AM_KSPROPSETID_AC3 property set // ----------------------------------------------------------------------- typedef enum { AM_PROPERTY_AC3_ERROR_CONCEALMENT = 1, AM_PROPERTY_AC3_ALTERNATE_AUDIO = 2, AM_PROPERTY_AC3_DOWNMIX = 3, AM_PROPERTY_AC3_BIT_STREAM_MODE = 4, AM_PROPERTY_AC3_DIALOGUE_LEVEL = 5, AM_PROPERTY_AC3_LANGUAGE_CODE = 6, AM_PROPERTY_AC3_ROOM_TYPE = 7 } AM_PROPERTY_AC3; typedef struct { BOOL fRepeatPreviousBlock; BOOL fErrorInCurrentBlock; } AM_AC3_ERROR_CONCEALMENT, *PAM_AC3_ERROR_CONCEALMENT; typedef struct { BOOL fStereo; ULONG DualMode; } AM_AC3_ALTERNATE_AUDIO, *PAM_AC3_ALTERNATE_AUDIO;#define AM_AC3_ALTERNATE_AUDIO_1 1#define AM_AC3_ALTERNATE_AUDIO_2 2#define AM_AC3_ALTERNATE_AUDIO_BOTH 3 typedef struct { BOOL fDownMix; BOOL fDolbySurround; } AM_AC3_DOWNMIX, *PAM_AC3_DOWNMIX; typedef struct { LONG BitStreamMode; } AM_AC3_BIT_STREAM_MODE, *PAM_AC3_BIT_STREAM_MODE;#define AM_AC3_SERVICE_MAIN_AUDIO 0#define AM_AC3_SERVICE_NO_DIALOG 1#define AM_AC3_SERVICE_VISUALLY_IMPAIRED 2#define AM_AC3_SERVICE_HEARING_IMPAIRED 3#define AM_AC3_SERVICE_DIALOG_ONLY 4#define AM_AC3_SERVICE_COMMENTARY 5#define AM_AC3_SERVICE_EMERGENCY_FLASH 6#define AM_AC3_SERVICE_VOICE_OVER 7 typedef struct { ULONG DialogueLevel; } AM_AC3_DIALOGUE_LEVEL, *PAM_AC3_DIALOGUE_LEVEL; typedef struct { BOOL fLargeRoom; } AM_AC3_ROOM_TYPE, *PAM_AC3_ROOM_TYPE; // ----------------------------------------------------------------------- // subpicture definition for the AM_KSPROPSETID_DvdSubPic property set // ----------------------------------------------------------------------- typedef enum { AM_PROPERTY_DVDSUBPIC_PALETTE = 0, AM_PROPERTY_DVDSUBPIC_HLI = 1, AM_PROPERTY_DVDSUBPIC_COMPOSIT_ON = 2 // TRUE for subpicture is displayed } AM_PROPERTY_DVDSUBPIC; typedef struct _AM_DVD_YUV { UCHAR Reserved; UCHAR Y; UCHAR U; UCHAR V; } AM_DVD_YUV, *PAM_DVD_YUV; typedef struct _AM_PROPERTY_SPPAL { AM_DVD_YUV sppal[16]; } AM_PROPERTY_SPPAL, *PAM_PROPERTY_SPPAL; typedef struct _AM_COLCON {UCHAR emph1col: 4;UCHAR emph2col: 4;UCHAR backcol: 4;UCHAR patcol: 4;UCHAR emph1con: 4;UCHAR emph2con: 4;UCHAR backcon: 4;UCHAR patcon: 4; } AM_COLCON, *PAM_COLCON; typedef struct _AM_PROPERTY_SPHLI { USHORT HLISS; // USHORT Reserved; ULONG StartPTM; // start presentation time in x/90000 ULONG EndPTM; // end PTM in x/90000 USHORT StartX; USHORT StartY; USHORT StopX; USHORT StopY; AM_COLCON ColCon; // color contrast description (4 bytes as given in HLI) } AM_PROPERTY_SPHLI, *PAM_PROPERTY_SPHLI; typedef BOOL AM_PROPERTY_COMPOSIT_ON, *PAM_PROPERTY_COMPOSIT_ON; // ----------------------------------------------------------------------- // copy protection definitions // ----------------------------------------------------------------------- // AM_UseNewCSSKey for the dwTypeSpecificFlags in IMediaSample2 to indicate // the exact point in a stream after which to start applying a new CSS key. // This is typically sent on an empty media sample just before attempting // to renegotiate a CSS key.#define AM_UseNewCSSKey 0x1 // // AM_KSPROPSETID_CopyProt property set definitions // typedef enum { AM_PROPERTY_DVDCOPY_CHLG_KEY = 0x01, AM_PROPERTY_DVDCOPY_DVD_KEY1 = 0x02, AM_PROPERTY_DVDCOPY_DEC_KEY2 = 0x03, AM_PROPERTY_DVDCOPY_TITLE_KEY = 0x04, AM_PROPERTY_COPY_MACROVISION = 0x05, AM_PROPERTY_DVDCOPY_REGION = 0x06, AM_PROPERTY_DVDCOPY_SET_COPY_STATE = 0x07, AM_PROPERTY_DVDCOPY_DISC_KEY = 0x80 } AM_PROPERTY_DVDCOPYPROT; typedef struct _AM_DVDCOPY_CHLGKEY { BYTE ChlgKey[10]; BYTE Reserved[2]; } AM_DVDCOPY_CHLGKEY, *PAM_DVDCOPY_CHLGKEY; typedef struct _AM_DVDCOPY_BUSKEY { BYTE BusKey[5]; BYTE Reserved[1]; } AM_DVDCOPY_BUSKEY, *PAM_DVDCOPY_BUSKEY; typedef struct _AM_DVDCOPY_DISCKEY { BYTE DiscKey[2048]; } AM_DVDCOPY_DISCKEY, *PAM_DVDCOPY_DISCKEY; typedef struct AM_DVDCOPY_TITLEKEY { ULONG KeyFlags; ULONG Reserved1[2]; UCHAR TitleKey[6]; UCHAR Reserved2[2]; } AM_DVDCOPY_TITLEKEY, *PAM_DVDCOPY_TITLEKEY; typedef struct _AM_COPY_MACROVISION { ULONG MACROVISIONLevel; } AM_COPY_MACROVISION, *PAM_COPY_MACROVISION; typedef struct AM_DVDCOPY_SET_COPY_STATE { ULONG DVDCopyState; } AM_DVDCOPY_SET_COPY_STATE, *PAM_DVDCOPY_SET_COPY_STATE; typedef enum { AM_DVDCOPYSTATE_INITIALIZE = 0, AM_DVDCOPYSTATE_INITIALIZE_TITLE = 1, // indicates we are starting a title // key copy protection sequence AM_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED = 2, AM_DVDCOPYSTATE_AUTHENTICATION_REQUIRED = 3, AM_DVDCOPYSTATE_DONE = 4 } AM_DVDCOPYSTATE; typedef enum { AM_MACROVISION_DISABLED = 0, AM_MACROVISION_LEVEL1 = 1, AM_MACROVISION_LEVEL2 = 2, AM_MACROVISION_LEVEL3 = 3 } AM_COPY_MACROVISION_LEVEL, *PAM_COPY_MACROVISION_LEVEL; // CSS region stucture
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?