nalucommon.h
上传用户:hjq518
上传日期:2021-12-09
资源大小:5084k
文件大小:2k
源码类别:

Audio

开发平台:

Visual C++

  1. /*!
  2.  **************************************************************************************
  3.  * file
  4.  *    nalucommon.h.h
  5.  * brief
  6.  *    NALU handling common to encoder and decoder
  7.  *  date 25 November 2002
  8.  * author
  9.  *    Main contributors (see contributors.h for copyright, address and affiliation details)
  10.  *      - Stephan Wenger        <stewe@cs.tu-berlin.de>
  11.  ***************************************************************************************
  12.  */
  13. #ifndef _NALUCOMMON_H_
  14. #define _NALUCOMMON_H_
  15. #define MAXRBSPSIZE 64000
  16. #define NALU_TYPE_SLICE    1
  17. #define NALU_TYPE_DPA      2
  18. #define NALU_TYPE_DPB      3
  19. #define NALU_TYPE_DPC      4
  20. #define NALU_TYPE_IDR      5
  21. #define NALU_TYPE_SEI      6
  22. #define NALU_TYPE_SPS      7
  23. #define NALU_TYPE_PPS      8
  24. #define NALU_TYPE_AUD      9
  25. #define NALU_TYPE_EOSEQ    10
  26. #define NALU_TYPE_EOSTREAM 11
  27. #define NALU_TYPE_FILL     12
  28. #define NALU_PRIORITY_HIGHEST     3
  29. #define NALU_PRIORITY_HIGH        2
  30. #define NALU_PRIORITY_LOW         1
  31. #define NALU_PRIORITY_DISPOSABLE  0
  32. typedef struct
  33. {
  34.   int startcodeprefix_len;      //! 4 for parameter sets and first slice in picture, 3 for everything else (suggested)
  35.   unsigned len;                 //! Length of the NAL unit (Excluding the start code, which does not belong to the NALU)
  36.   unsigned max_size;            //! Nal Unit Buffer size
  37.   int forbidden_bit;            //! should be always FALSE
  38.   int nal_reference_idc;        //! NALU_PRIORITY_xxxx
  39.   int nal_unit_type;            //! NALU_TYPE_xxxx    
  40.   byte *buf;                    //! contains the first byte followed by the EBSP
  41.   unsigned short lost_packets;  //! true, if packet loss is detected
  42. } NALU_t;
  43. NALU_t *AllocNALU(int buffersize);
  44. void FreeNALU(NALU_t *n);
  45. #endif