Counter Strike : Global Offensive Source Code
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

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) Microsoft Corporation. All rights reserved.
  4. //
  5. // Module Name:
  6. //
  7. // Mpeg2Bits.h
  8. //
  9. // Abstract:
  10. //
  11. // This file defines the MPEG-2 section header bitfields. These are
  12. // defined here instead of in mpegstructs.idl because of MIDL
  13. // compiler conflicts with bitfield definitions.
  14. //
  15. /////////////////////////////////////////////////////////////////////////////
  16. #pragma once
  17. #pragma pack(push)
  18. #pragma pack(1)
  19. //
  20. // PID structure
  21. //
  22. #ifdef __midl
  23. typedef struct
  24. {
  25. WORD Bits;
  26. } PID_BITS_MIDL;
  27. #else
  28. typedef struct
  29. {
  30. WORD Reserved : 3;
  31. WORD ProgramId : 13;
  32. } PID_BITS, *PPID_BITS;
  33. #endif
  34. //
  35. // Generic MPEG packet header structure
  36. //
  37. #ifdef __midl
  38. typedef struct
  39. {
  40. WORD Bits;
  41. } MPEG_HEADER_BITS_MIDL;
  42. #else
  43. typedef struct
  44. {
  45. WORD SectionLength : 12;
  46. WORD Reserved : 2;
  47. WORD PrivateIndicator : 1;
  48. WORD SectionSyntaxIndicator : 1;
  49. } MPEG_HEADER_BITS, *PMPEG_HEADER_BITS;
  50. #endif
  51. //
  52. // Long MPEG packet header structure
  53. //
  54. #ifdef __midl
  55. typedef struct
  56. {
  57. BYTE Bits;
  58. } MPEG_HEADER_VERSION_BITS_MIDL;
  59. #else
  60. typedef struct
  61. {
  62. BYTE CurrentNextIndicator : 1;
  63. BYTE VersionNumber : 5;
  64. BYTE Reserved : 2;
  65. } MPEG_HEADER_VERSION_BITS, *PMPEG_HEADER_VERSION_BITS;
  66. #endif
  67. #pragma pack(pop)