H264NalUnit.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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 : NAL unit handling
  17. --
  18. ------------------------------------------------------------------------------*/
  19. #ifndef __H264_NAL_UNIT_H__
  20. #define __H264_NAL_UNIT_H__
  21. /*------------------------------------------------------------------------------
  22. 1. Include headers
  23. ------------------------------------------------------------------------------*/
  24. #include "basetype.h"
  25. #include "H264PutBits.h"
  26. /*------------------------------------------------------------------------------
  27. 2. External compiler flags
  28. --------------------------------------------------------------------------------
  29. --------------------------------------------------------------------------------
  30. 3. Module defines
  31. ------------------------------------------------------------------------------*/
  32. typedef struct
  33. {
  34. u32 anchorPicFlag;
  35. u32 priorityId;
  36. u32 viewId;
  37. u32 temporalId;
  38. u32 interViewFlag;
  39. } mvc_s;
  40. /*------------------------------------------------------------------------------
  41. 4. Function prototypes
  42. ------------------------------------------------------------------------------*/
  43. void H264NalUnitHdr(stream_s * stream, i32 nalRefIdc, nalUnitType_e
  44. nalUnitType, true_e byteStream);
  45. void H264NalUnitHdrMvcExtension(stream_s * stream, mvc_s * mvc);
  46. void H264NalUnitTrailinBits(stream_s * stream, true_e byteStream);
  47. u32 H264FillerNALU(stream_s * sp, i32 cnt, true_e byteStream);
  48. #endif