xref: /reactos/sdk/include/dxsdk/mpeg2bits.h (revision c2c66aff)
1*c2c66affSColin Finck 
2*c2c66affSColin Finck #pragma once
3*c2c66affSColin Finck #pragma pack(push)
4*c2c66affSColin Finck 
5*c2c66affSColin Finck #ifdef __midl
6*c2c66affSColin Finck   typedef struct
7*c2c66affSColin Finck   {
8*c2c66affSColin Finck     WORD Bits;
9*c2c66affSColin Finck   } PID_BITS_MIDL;
10*c2c66affSColin Finck 
11*c2c66affSColin Finck   typedef struct
12*c2c66affSColin Finck   {
13*c2c66affSColin Finck     WORD Bits;
14*c2c66affSColin Finck   } MPEG_HEADER_BITS_MIDL;
15*c2c66affSColin Finck 
16*c2c66affSColin Finck   typedef struct
17*c2c66affSColin Finck   {
18*c2c66affSColin Finck     BYTE Bits;
19*c2c66affSColin Finck   } MPEG_HEADER_VERSION_BITS_MIDL;
20*c2c66affSColin Finck 
21*c2c66affSColin Finck #else
22*c2c66affSColin Finck 
23*c2c66affSColin Finck   typedef struct
24*c2c66affSColin Finck   {
25*c2c66affSColin Finck     WORD Reserved : 3;
26*c2c66affSColin Finck     WORD ProgramId : 13;
27*c2c66affSColin Finck   } PID_BITS, *PPID_BITS;
28*c2c66affSColin Finck   typedef struct
29*c2c66affSColin Finck  {
30*c2c66affSColin Finck     WORD SectionLength              : 12;
31*c2c66affSColin Finck     WORD Reserved                   : 2;
32*c2c66affSColin Finck     WORD PrivateIndicator           : 1;
33*c2c66affSColin Finck     WORD SectionSyntaxIndicator     : 1;
34*c2c66affSColin Finck   } MPEG_HEADER_BITS, *PMPEG_HEADER_BITS;
35*c2c66affSColin Finck 
36*c2c66affSColin Finck   typedef struct
37*c2c66affSColin Finck   {
38*c2c66affSColin Finck     BYTE CurrentNextIndicator : 1;
39*c2c66affSColin Finck     BYTE VersionNumber        : 5;
40*c2c66affSColin Finck     BYTE Reserved             : 2;
41*c2c66affSColin Finck   } MPEG_HEADER_VERSION_BITS, *PMPEG_HEADER_VERSION_BITS;
42*c2c66affSColin Finck #endif
43*c2c66affSColin Finck 
44*c2c66affSColin Finck #pragma pack(pop)
45*c2c66affSColin Finck 
46