H264Slice.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. #ifndef __H264_SLICE_H__
  20. #define __H264_SLICE_H__
  21. /*------------------------------------------------------------------------------
  22. 1. Include headers
  23. ------------------------------------------------------------------------------*/
  24. #include "basetype.h"
  25. #include "enccommon.h"
  26. #include "H264PutBits.h"
  27. #include "H264NalUnit.h"
  28. /*------------------------------------------------------------------------------
  29. 2. External compiler flags
  30. --------------------------------------------------------------------------------
  31. --------------------------------------------------------------------------------
  32. 3. Module defines
  33. ------------------------------------------------------------------------------*/
  34. typedef enum
  35. {
  36. PSLICE = 0,
  37. ISLICE = 2,
  38. PSLICES = 5,
  39. ISLICES = 7
  40. } sliceType_e;
  41. typedef struct
  42. {
  43. true_e byteStream;
  44. u32 sliceSize;
  45. sliceType_e sliceType;
  46. nalUnitType_e nalUnitType;
  47. u32 picParameterSetId;
  48. u32 prevFrameNum;
  49. u32 frameNum;
  50. u32 frameNumBits;
  51. u32 idrPicId;
  52. u32 nalRefIdc;
  53. u32 disableDeblocking;
  54. i32 filterOffsetA;
  55. i32 filterOffsetB;
  56. u32 cabacInitIdc;
  57. u32 quarterPixelMv;
  58. } slice_s;
  59. /*------------------------------------------------------------------------------
  60. 4. Function prototypes
  61. ------------------------------------------------------------------------------*/
  62. void H264SliceInit(slice_s * slice);
  63. #endif