You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
1.4 KiB
C
96 lines
1.4 KiB
C
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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)
|