You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
1.4 KiB
95 lines
1.4 KiB
///////////////////////////////////////////////////////////////////////////// |
|
// |
|
// Copyright (c) Microsoft Corporation. All rights reserved. |
|
// |
|
// Module Name: |
|
// |
|
// Mpeg2Bits.h |
|
// |
|
// Abstract: |
|
// |
|
// This file defines the MPEG-2 section header bitfields. These are |
|
// defined here instead of in mpegstructs.idl because of MIDL |
|
// compiler conflicts with bitfield definitions. |
|
// |
|
///////////////////////////////////////////////////////////////////////////// |
|
|
|
#pragma once |
|
|
|
#pragma pack(push) |
|
#pragma pack(1) |
|
|
|
|
|
// |
|
// PID structure |
|
// |
|
|
|
#ifdef __midl |
|
|
|
typedef struct |
|
{ |
|
WORD Bits; |
|
} PID_BITS_MIDL; |
|
|
|
#else |
|
|
|
typedef struct |
|
{ |
|
WORD Reserved : 3; |
|
WORD ProgramId : 13; |
|
} PID_BITS, *PPID_BITS; |
|
|
|
#endif |
|
|
|
|
|
|
|
// |
|
// Generic MPEG packet header structure |
|
// |
|
|
|
#ifdef __midl |
|
|
|
typedef struct |
|
{ |
|
WORD Bits; |
|
} MPEG_HEADER_BITS_MIDL; |
|
|
|
#else |
|
|
|
typedef struct |
|
{ |
|
WORD SectionLength : 12; |
|
WORD Reserved : 2; |
|
WORD PrivateIndicator : 1; |
|
WORD SectionSyntaxIndicator : 1; |
|
} MPEG_HEADER_BITS, *PMPEG_HEADER_BITS; |
|
|
|
#endif |
|
|
|
|
|
|
|
// |
|
// Long MPEG packet header structure |
|
// |
|
|
|
#ifdef __midl |
|
|
|
typedef struct |
|
{ |
|
BYTE Bits; |
|
} MPEG_HEADER_VERSION_BITS_MIDL; |
|
|
|
#else |
|
|
|
typedef struct |
|
{ |
|
BYTE CurrentNextIndicator : 1; |
|
BYTE VersionNumber : 5; |
|
BYTE Reserved : 2; |
|
} MPEG_HEADER_VERSION_BITS, *PMPEG_HEADER_VERSION_BITS; |
|
|
|
#endif |
|
|
|
|
|
|
|
#pragma pack(pop)
|
|
|