• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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