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 + -
显示快捷键?