1 /* 2 * Copyright (C) 2008 Maarten Lankhorst 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19 #ifndef __DVDMEDIA_H__ 20 #define __DVDMEDIA_H__ 21 22 #define AMCONTROL_USED 0x00000001 23 #define AMCONTROL_PAD_TO_4x3 0x00000002 24 #define AMCONTROL_PAD_TO_16x9 0x00000004 25 26 typedef struct tagVIDEOINFOHEADER2 { 27 RECT rcSource; 28 RECT rcTarget; 29 DWORD dwBitRate; 30 DWORD dwBitErrorRate; 31 REFERENCE_TIME AvgTimePerFrame; 32 DWORD dwInterlaceFlags; 33 DWORD dwCopyProtectFlags; 34 DWORD dwPictAspectRatioX; 35 DWORD dwPictAspectRatioY; 36 union { 37 DWORD dwControlFlags; 38 DWORD dwReserved1; 39 } DUMMYUNIONNAME; 40 DWORD dwReserved2; 41 BITMAPINFOHEADER bmiHeader; 42 } VIDEOINFOHEADER2; 43 44 typedef struct tagMPEG2VIDEOINFO { 45 VIDEOINFOHEADER2 hdr; 46 DWORD dwStartTimeCode; 47 DWORD cbSequenceHeader; 48 DWORD dwProfile; 49 DWORD dwLevel; 50 DWORD dwFlags; 51 DWORD dwSequenceHeader[1]; 52 } MPEG2VIDEOINFO; 53 54 #define AMINTERLACE_IsInterlaced 0x0001 55 #define AMINTERLACE_1FieldPerSample 0x0002 56 #define AMINTERLACE_Field1First 0x0004 57 #define AMINTERLACE_UNUSED 0x0008 58 #define AMINTERLACE_FieldPatField1Only 0x0000 59 #define AMINTERLACE_FieldPatField2Only 0x0010 60 #define AMINTERLACE_FieldPatBothRegular 0x0020 61 #define AMINTERLACE_FieldPatBothIrregular 0x0030 62 #define AMINTERLACE_FieldPatternMask 0x0030 63 #define AMINTERLACE_DisplayModeBobOnly 0x0000 64 #define AMINTERLACE_DisplayModeWeaveOnly 0x0040 65 #define AMINTERLACE_DisplayModeBobOrWeave 0x0080 66 #define AMINTERLACE_DisplayModeMask 0x00c0 67 68 #endif /* __DVDMEDIA_H__ */ 69