H.264编码解码器源码(c语言版本)

源代码在线查看: h.264

软件大小: 1777 K
上传用户: multicolor
关键词: 264 编码解码器 源码 c语言
下载地址: 免注册下载 普通下载 VIP

相关代码

								/*!				 ***************************************************************************				 *				 * \file rtp.h				 *				 * \brief				 *    Definition of structures and functions to handle RTP headers.  For a				 *    description of RTP see RFC1889 on http://www.ietf.org				 *				 * \date				 *    30 September 2001				 *				 * \author				 *    Stephan Wenger   stewe@cs.tu-berlin.de				 **************************************************************************/								#ifndef _RTP_H_				#define _RTP_H_								#include 				#include "global.h"				#include "nalu.h"								#define MAXRTPPAYLOADLEN  (65536 - 40)    //!< Maximum payload size of an RTP packet				#define MAXRTPPACKETSIZE  (65536 - 28)    //!< Maximum size of an RTP packet incl. header				#define H26LPAYLOADTYPE 105               //!< RTP paylaod type fixed here for simplicity				#define H26LSSRC 0x12345678               //!< SSRC, chosen to simplify debugging				#define RTP_TR_TIMESTAMP_MULT 1000        //!< should be something like 27 Mhz / 29.97 Hz								typedef struct 				{				  unsigned int v;          //!< Version, 2 bits, MUST be 0x2				  unsigned int p;          //!< Padding bit, Padding MUST NOT be used				  unsigned int x;          //!< Extension, MUST be zero */				  unsigned int cc;         /*!< CSRC count, normally 0 in the absence 				                                of RTP mixers */				  unsigned int m;          //!< Marker bit				  unsigned int pt;         //!< 7 bits, Payload Type, dynamically established				  unsigned int seq;        /*!< RTP sequence number, incremented by one for 				                                each sent packet */				  unsigned int timestamp;  //!< timestamp, 27 MHz for H.26L				  unsigned int ssrc;       //!< Synchronization Source, chosen randomly				  byte *       payload;    //!< the payload including payload headers				  unsigned int paylen;     //!< length of payload in bytes				  byte *       packet;     //!< complete packet including header and payload				  unsigned int packlen;    //!< length of packet, typically paylen+12				} RTPpacket_t;								#if 0				int  ComposeRTPPacket (RTPpacket_t *p);				int  DecomposeRTPpacket (RTPpacket_t *p);				int  WriteRTPPacket (RTPpacket_t *p, FILE *f);				void DumpRTPHeader (RTPpacket_t *p);				void RTPUpdateTimestamp (int tr);				int  RTPWriteBits (int Marker, int PacketType, void * bitstream, 				                   int BitStreamLenInByte, FILE *out);								Boolean isAggregationPacket();				int aggregationRTPWriteBits (int Marker, int PacketType, int subPacketType, void * bitstream, int BitStreamLenInByte, FILE *out);								void begin_sub_sequence_rtp();				void end_sub_sequence_rtp();				#endif								void RTPUpdateTimestamp (int tr);				void OpenRTPFile (char *Filename);				void CloseRTPFile ();				int WriteRTPNALU (NALU_t *n);																#endif											

相关资源