Home | History | Annotate | Download | only in include
      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