Home | History | Annotate | Download | only in dshow
      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 enum AM_MPEG2Level {
     27     AM_MPEG2Level_Low = 1,
     28     AM_MPEG2Level_Main,
     29     AM_MPEG2Level_High1440,
     30     AM_MPEG2Level_High
     31 };
     32 enum AM_MPEG2Profile {
     33     AM_MPEG2Profile_Simple = 1,
     34     AM_MPEG2Profile_Main,
     35     AM_MPEG2Profile_SNRScalable,
     36     AM_MPEG2Profile_SpatiallyScalable,
     37     AM_MPEG2Profile_High
     38 };
     39 typedef enum {
     40     AM_RATE_ChangeRate = 1,
     41     AM_RATE_FullDataRateMax = 2,
     42     AM_RATE_ReverseDecode = 3,
     43     AM_RATE_DecoderPosition = 4,
     44     AM_RATE_DecoderVersion = 5
     45 } AM_PROPERTY_DVD_RATE_CHANGE;
     46 
     47 typedef struct tagVIDEOINFOHEADER2 {
     48     RECT rcSource;
     49     RECT rcTarget;
     50     DWORD dwBitRate;
     51     DWORD dwBitErrorRate;
     52     REFERENCE_TIME AvgTimePerFrame;
     53     DWORD dwInterlaceFlags;
     54     DWORD dwCopyProtectFlags;
     55     DWORD dwPictAspectRatioX;
     56     DWORD dwPictAspectRatioY;
     57     union {
     58         DWORD dwControlFlags;
     59         DWORD dwReserved1;
     60     } DUMMYUNIONNAME;
     61     DWORD dwReserved2;
     62     BITMAPINFOHEADER bmiHeader;
     63 } VIDEOINFOHEADER2;
     64 
     65 typedef struct tagMPEG2VIDEOINFO {
     66     VIDEOINFOHEADER2 hdr;
     67     DWORD dwStartTimeCode;
     68     DWORD cbSequenceHeader;
     69     DWORD dwProfile;
     70     DWORD dwLevel;
     71     DWORD dwFlags;
     72     DWORD dwSequenceHeader[1];
     73 } MPEG2VIDEOINFO;
     74 
     75 #endif /* __DVDMEDIA_H__ */
     76