nalucommon.h
资源名称:chapter15.rar [点击查看]
上传用户:hjq518
上传日期:2021-12-09
资源大小:5084k
文件大小:2k
源码类别:
Audio
开发平台:
Visual C++
- /*!
- **************************************************************************************
- * file
- * nalucommon.h.h
- * brief
- * NALU handling common to encoder and decoder
- * date 25 November 2002
- * author
- * Main contributors (see contributors.h for copyright, address and affiliation details)
- * - Stephan Wenger <stewe@cs.tu-berlin.de>
- ***************************************************************************************
- */
- #ifndef _NALUCOMMON_H_
- #define _NALUCOMMON_H_
- #define MAXRBSPSIZE 64000
- #define NALU_TYPE_SLICE 1
- #define NALU_TYPE_DPA 2
- #define NALU_TYPE_DPB 3
- #define NALU_TYPE_DPC 4
- #define NALU_TYPE_IDR 5
- #define NALU_TYPE_SEI 6
- #define NALU_TYPE_SPS 7
- #define NALU_TYPE_PPS 8
- #define NALU_TYPE_AUD 9
- #define NALU_TYPE_EOSEQ 10
- #define NALU_TYPE_EOSTREAM 11
- #define NALU_TYPE_FILL 12
- #define NALU_PRIORITY_HIGHEST 3
- #define NALU_PRIORITY_HIGH 2
- #define NALU_PRIORITY_LOW 1
- #define NALU_PRIORITY_DISPOSABLE 0
- typedef struct
- {
- int startcodeprefix_len; //! 4 for parameter sets and first slice in picture, 3 for everything else (suggested)
- unsigned len; //! Length of the NAL unit (Excluding the start code, which does not belong to the NALU)
- unsigned max_size; //! Nal Unit Buffer size
- int forbidden_bit; //! should be always FALSE
- int nal_reference_idc; //! NALU_PRIORITY_xxxx
- int nal_unit_type; //! NALU_TYPE_xxxx
- byte *buf; //! contains the first byte followed by the EBSP
- unsigned short lost_packets; //! true, if packet loss is detected
- } NALU_t;
- NALU_t *AllocNALU(int buffersize);
- void FreeNALU(NALU_t *n);
- #endif