/H264Dec/source/h264bsd_seq_param_set.h

http://github.com/mbebenita/Broadway · C Header · 86 lines · 35 code · 12 blank · 39 comment · 0 complexity · 57fc453deb45e0afac14239ec3a01784 MD5 · raw file

  1. /*
  2. * Copyright (C) 2009 The Android Open Source Project
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. /*------------------------------------------------------------------------------
  17. Table of contents
  18. 1. Include headers
  19. 2. Module defines
  20. 3. Data types
  21. 4. Function prototypes
  22. ------------------------------------------------------------------------------*/
  23. #ifndef H264SWDEC_SEQ_PARAM_SET_H
  24. #define H264SWDEC_SEQ_PARAM_SET_H
  25. /*------------------------------------------------------------------------------
  26. 1. Include headers
  27. ------------------------------------------------------------------------------*/
  28. #include "basetype.h"
  29. #include "h264bsd_stream.h"
  30. #include "h264bsd_vui.h"
  31. /*------------------------------------------------------------------------------
  32. 2. Module defines
  33. ------------------------------------------------------------------------------*/
  34. /*------------------------------------------------------------------------------
  35. 3. Data types
  36. ------------------------------------------------------------------------------*/
  37. /* structure to store sequence parameter set information decoded from the
  38. * stream */
  39. typedef struct
  40. {
  41. u32 profileIdc;
  42. u32 levelIdc;
  43. u32 seqParameterSetId;
  44. u32 maxFrameNum;
  45. u32 picOrderCntType;
  46. u32 maxPicOrderCntLsb;
  47. u32 deltaPicOrderAlwaysZeroFlag;
  48. i32 offsetForNonRefPic;
  49. i32 offsetForTopToBottomField;
  50. u32 numRefFramesInPicOrderCntCycle;
  51. i32 *offsetForRefFrame;
  52. u32 numRefFrames;
  53. u32 gapsInFrameNumValueAllowedFlag;
  54. u32 picWidthInMbs;
  55. u32 picHeightInMbs;
  56. u32 frameCroppingFlag;
  57. u32 frameCropLeftOffset;
  58. u32 frameCropRightOffset;
  59. u32 frameCropTopOffset;
  60. u32 frameCropBottomOffset;
  61. u32 vuiParametersPresentFlag;
  62. vuiParameters_t *vuiParameters;
  63. u32 maxDpbSize;
  64. } seqParamSet_t;
  65. /*------------------------------------------------------------------------------
  66. 4. Function prototypes
  67. ------------------------------------------------------------------------------*/
  68. u32 h264bsdDecodeSeqParamSet(strmData_t *pStrmData,
  69. seqParamSet_t *pSeqParamSet);
  70. u32 h264bsdCompareSeqParamSets(seqParamSet_t *pSps1, seqParamSet_t *pSps2);
  71. #endif /* #ifdef H264SWDEC_SEQ_PARAM_SET_H */