mpeg2hwd_hdrs.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. /*------------------------------------------------------------------------------
  2. -- --
  3. -- This software is confidential and proprietary and may be used --
  4. -- only as expressly authorized by a licensing agreement from --
  5. -- --
  6. -- Hantro Products Oy. --
  7. -- --
  8. -- (C) COPYRIGHT 2006 HANTRO PRODUCTS OY --
  9. -- ALL RIGHTS RESERVED --
  10. -- --
  11. -- The entire notice above must be reproduced --
  12. -- on all copies and should not be removed. --
  13. -- --
  14. --------------------------------------------------------------------------------
  15. --
  16. -- Abstract :
  17. --
  18. --------------------------------------------------------------------------------
  19. --
  20. -- Version control information, please leave untouched.
  21. --
  22. -- $RCSfile: mpeg2hwd_hdrs.h,v $
  23. -- $Date: 2008/01/07 12:09:49 $
  24. -- $Revision: 1.7 $
  25. --
  26. ------------------------------------------------------------------------------*/
  27. #ifndef MPEG2DECHDRS_H
  28. #define MPEG2DECHDRS_H
  29. #include "basetype.h"
  30. typedef struct DecTimeCode_t
  31. {
  32. u32 dropFlag;
  33. u32 hours;
  34. u32 minutes;
  35. u32 seconds;
  36. u32 picture;
  37. } DecTimeCode;
  38. typedef struct
  39. {
  40. /* sequence header */
  41. u32 horizontalSize;
  42. u32 verticalSize;
  43. u32 aspectRatioInfo;
  44. u32 parWidth;
  45. u32 parHeight;
  46. u32 frameRateCode;
  47. u32 bitRateValue;
  48. u32 vbvBufferSize;
  49. u32 constrParameters;
  50. u32 loadIntraMatrix;
  51. u32 loadNonIntraMatrix;
  52. u8 qTableIntra[64];
  53. u8 qTableNonIntra[64];
  54. /* sequence extension header */
  55. u32 profileAndLevelIndication;
  56. u32 progressiveSequence;
  57. u32 chromaFormat;
  58. u32 horSizeExtension;
  59. u32 verSizeExtension;
  60. u32 bitRateExtension;
  61. u32 vbvBufferSizeExtension;
  62. u32 lowDelay;
  63. u32 frameRateExtensionN;
  64. u32 frameRateExtensionD;
  65. /* sequence display extension header */
  66. u32 videoFormat;
  67. u32 colorDescription;
  68. u32 colorPrimaries;
  69. u32 transferCharacteristics;
  70. u32 matrixCoefficients;
  71. u32 displayHorizontalSize;
  72. u32 displayVerticalSize;
  73. /* GOP (Group of Pictures) header */
  74. DecTimeCode time;
  75. u32 closedGop;
  76. u32 brokenLink;
  77. /* picture header */
  78. u32 temporalReference;
  79. u32 pictureCodingType;
  80. u32 vbvDelay;
  81. u32 extraInfoByteCount;
  82. /* picture coding extension header */
  83. u32 fCode[2][2];
  84. u32 intraDcPrecision;
  85. u32 pictureStructure;
  86. u32 topFieldFirst;
  87. u32 framePredFrameDct;
  88. u32 concealmentMotionVectors;
  89. u32 quantType;
  90. u32 intraVlcFormat;
  91. u32 alternateScan;
  92. u32 repeatFirstField;
  93. u32 chroma420Type;
  94. u32 progressiveFrame;
  95. u32 compositeDisplayFlag;
  96. u32 vAxis;
  97. u32 fieldSequence;
  98. u32 subCarrier;
  99. u32 burstAmplitude;
  100. u32 subCarrierPhase;
  101. /* picture display extension header */
  102. u32 frameCentreHorOffset[3];
  103. u32 frameCentreVerOffset[3];
  104. /* extra */
  105. u32 mpeg2Stream;
  106. u32 frameRate;
  107. u32 videoRange;
  108. u32 interlaced;
  109. u32 repeatFrameCount;
  110. i32 firstFieldInFrame;
  111. i32 fieldIndex;
  112. i32 fieldOutIndex;
  113. /* for motion vectors */
  114. u32 fCodeFwdHor;
  115. u32 fCodeFwdVer;
  116. u32 fCodeBwdHor;
  117. u32 fCodeBwdVer;
  118. } DecHdrs;
  119. #endif /* #ifndef MPEG2DECHDRS_H */