| 1 | #ifndef _DVDMEDIA_H | 
 
 
 
 
 | 2 | #define _DVDMEDIA_H | 
 
 
 
 
 | 3 | #if __GNUC__ >= 3 | 
 
 
 
 
 | 4 | #pragma GCC system_header | 
 
 
 
 
 | 5 | #endif | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | #ifndef _STRMIF_H | 
 
 
 
 
 | 8 | #include <strmif.h> | 
 
 
 
 
 | 9 | #endif | 
 
 
 
 
 | 10 |  | 
 
 
 
 
 | 11 | #ifdef __cplusplus | 
 
 
 
 
 | 12 | extern "C" { | 
 
 
 
 
 | 13 | #endif | 
 
 
 
 
 | 14 |  | 
 
 
 
 
 | 15 | /*--- DirectShow Reference - DirectShow Structures - AM_SAMPLE2_PROPERTIES Structure */ | 
 
 
 
 
 | 16 | #define AM_VIDEO_FLAG_FIELD_MASK 0x0003 | 
 
 
 
 
 | 17 | #define AM_VIDEO_FLAG_INTERLEAVED_FRAME 0x0000 | 
 
 
 
 
 | 18 | #define AM_VIDEO_FLAG_FIELD1 0x0001 | 
 
 
 
 
 | 19 | #define AM_VIDEO_FLAG_FIELD2 0x0002 | 
 
 
 
 
 | 20 | #define AM_VIDEO_FLAG_FIELD1FIRST 0x0004 | 
 
 
 
 
 | 21 | #define AM_VIDEO_FLAG_WEAVE 0x0008 | 
 
 
 
 
 | 22 | #define AM_VIDEO_FLAG_REPEAT_FIELD 0x0040 | 
 
 
 
 
 | 23 | /*--- DirectShow Reference - DirectShow Enumerated Types */ | 
 
 
 
 
 | 24 | enum AM_MPEG2Level { | 
 
 
 
 
 | 25 | AM_MPEG2Level_Low = 1, | 
 
 
 
 
 | 26 | AM_MPEG2Level_Main, | 
 
 
 
 
 | 27 | AM_MPEG2Level_High1440, | 
 
 
 
 
 | 28 | AM_MPEG2Level_High | 
 
 
 
 
 | 29 | }; | 
 
 
 
 
 | 30 | enum AM_MPEG2Profile { | 
 
 
 
 
 | 31 | AM_MPEG2Profile_Simple = 1, | 
 
 
 
 
 | 32 | AM_MPEG2Profile_Main, | 
 
 
 
 
 | 33 | AM_MPEG2Profile_SNRScalable, | 
 
 
 
 
 | 34 | AM_MPEG2Profile_SpatiallyScalable, | 
 
 
 
 
 | 35 | AM_MPEG2Profile_High | 
 
 
 
 
 | 36 | }; | 
 
 
 
 
 | 37 | typedef enum { | 
 
 
 
 
 | 38 | AM_RATE_ChangeRate = 1, | 
 
 
 
 
 | 39 | AM_RATE_FullDataRateMax = 2, | 
 
 
 
 
 | 40 | AM_RATE_ReverseDecode = 3, | 
 
 
 
 
 | 41 | AM_RATE_DecoderPosition = 4, | 
 
 
 
 
 | 42 | AM_RATE_DecoderVersion = 5 | 
 
 
 
 
 | 43 | } AM_PROPERTY_DVD_RATE_CHANGE; | 
 
 
 
 
 | 44 | /*--- DirectShow Reference - DirectShow Structures */ | 
 
 
 
 
 | 45 | typedef struct tagVIDEOINFOHEADER2 { | 
 
 
 
 
 | 46 | RECT rcSource; | 
 
 
 
 
 | 47 | RECT rcTarget; | 
 
 
 
 
 | 48 | DWORD dwBitRate; | 
 
 
 
 
 | 49 | DWORD dwBitErrorRate; | 
 
 
 
 
 | 50 | REFERENCE_TIME AvgTimePerFrame; | 
 
 
 
 
 | 51 | DWORD dwInterlaceFlags; | 
 
 
 
 
 | 52 | DWORD dwCopyProtectFlags; | 
 
 
 
 
 | 53 | DWORD dwPictAspectRatioX; | 
 
 
 
 
 | 54 | DWORD dwPictAspectRatioY; | 
 
 
 
 
 | 55 | union { | 
 
 
 
 
 | 56 | DWORD dwControlFlags; | 
 
 
 
 
 | 57 | DWORD dwReserved1; | 
 
 
 
 
 | 58 | }; | 
 
 
 
 
 | 59 | DWORD dwReserved2; | 
 
 
 
 
 | 60 | BITMAPINFOHEADER bmiHeader; | 
 
 
 
 
 | 61 | } VIDEOINFOHEADER2; | 
 
 
 
 
 | 62 | #define AMINTERLACE_IsInterlaced 0x00000001 | 
 
 
 
 
 | 63 | #define AMINTERLACE_1FieldPerSample 0x00000002 | 
 
 
 
 
 | 64 | #define AMINTERLACE_Field1First 0x00000004 | 
 
 
 
 
 | 65 | #define AMINTERLACE_FieldPatField1Only 0x00000000 | 
 
 
 
 
 | 66 | #define AMINTERLACE_FieldPatField2Only 0x00000010 | 
 
 
 
 
 | 67 | #define AMINTERLACE_FieldPatBothRegular 0x00000020 | 
 
 
 
 
 | 68 | #define AMINTERLACE_FieldPatBothIrregular 0x00000030 | 
 
 
 
 
 | 69 | #define AMINTERLACE_DisplayModeBobOnly 0x00000000 | 
 
 
 
 
 | 70 | #define AMINTERLACE_DisplayModeWeaveOnly 0x00000040 | 
 
 
 
 
 | 71 | #define AMINTERLACE_DisplayModeBobOrWeave 0x00000080 | 
 
 
 
 
 | 72 | #define AMINTERLACE_FieldPatternMask 0x00000030 | 
 
 
 
 
 | 73 | #define AMINTERLACE_DisplayModeMask 0x000000C0 | 
 
 
 
 
 | 74 | #define AMCONTROL_USED 0x00000001 | 
 
 
 
 
 | 75 | #define AMCONTROL_PAD_TO_4x3 0x00000002 | 
 
 
 
 
 | 76 | #define AMCONTROL_PAD_TO_16x9 0x00000004 | 
 
 
 
 
 | 77 | #define AMCONTROL_COLORINFO_PRESENT 0x00000008 | 
 
 
 
 
 | 78 | typedef struct tagMPEG2VIDEOINFO { | 
 
 
 
 
 | 79 | VIDEOINFOHEADER2 hdr; | 
 
 
 
 
 | 80 | DWORD dwStartTimeCode; | 
 
 
 
 
 | 81 | DWORD cbSequenceHeader; | 
 
 
 
 
 | 82 | DWORD dwProfile; | 
 
 
 
 
 | 83 | DWORD dwLevel; | 
 
 
 
 
 | 84 | DWORD dwFlags; | 
 
 
 
 
 | 85 | DWORD dwSequenceHeader[1]; | 
 
 
 
 
 | 86 | } MPEG2VIDEOINFO; | 
 
 
 
 
 | 87 | #define AMMPEG2_DoPanScan 0x00000001 | 
 
 
 
 
 | 88 | #define AMMPEG2_DVDLine21Field1 0x00000002 | 
 
 
 
 
 | 89 | #define AMMPEG2_DVDLine21Field2 0x00000004 | 
 
 
 
 
 | 90 | #define AMMPEG2_SourceIsLetterboxed 0x00000008 | 
 
 
 
 
 | 91 | #define AMMPEG2_FilmCameraMode 0x00000010 | 
 
 
 
 
 | 92 | #define AMMPEG2_LetterboxAnalogOut 0x00000020 | 
 
 
 
 
 | 93 | #define AMMPEG2_DSS_UserData 0x00000040 | 
 
 
 
 
 | 94 | #define AMMPEG2_DVB_UserData 0x00000080 | 
 
 
 
 
 | 95 | #define AMMPEG2_27MhzTimebase 0x00000100 | 
 
 
 
 
 | 96 | #define AMMPEG2_WidescreenAnalogOut 0x00000200 | 
 
 
 
 
 | 97 |  | 
 
 
 
 
 | 98 | #ifdef __cplusplus | 
 
 
 
 
 | 99 | } | 
 
 
 
 
 | 100 | #endif | 
 
 
 
 
 | 101 | #endif |