资源简介
h264编码解码源代码!
代码片段和文件信息
/*!
*************************************************************************************
* \file annexb.c
*
* \brief
* Annex B Byte Stream format
*
* \author
* Main contributors (see contributors.h for copyright address and affiliation details)
* - Stephan Wenger
*************************************************************************************
*/
#include
#include
#include “global.h“
#include “annexb.h“
#include “memalloc.h“
FILE *bits = NULL; //!< the bit stream file
static int FindStartCode (unsigned char *Buf int zeros_in_startcode);
/*!
************************************************************************
* \brief
* Returns the size of the NALU (bits between start codes in case of
* Annex B. nalu->buf and nalu->len are filled. Other field in
* nalu-> remain uninitialized (will be taken care of by NALUtoRBSP.
*
* \return
* 0 if there is nothing any more to read (EOF)
* -1 in case of any error
*
* \note Side-effect: Returns length of start-code in bytes.
*
* \note
* GetAnnexbNALU expects start codes at byte aligned positions in the file
*
************************************************************************
*/
int GetAnnexbNALU (NALU_t *nalu)
{
int info2 info3 pos = 0;
int StartCodeFound rewind;
char *Buf;
if ((Buf = (char*)calloc (nalu->max_size sizeof(char))) == NULL) no_mem_exit(“GetAnnexbNALU: Buf“);
nalu->startcodeprefix_len=3;
info2 = 0;
info3 = 0;
if (3 != fread (Buf 1 3 bits))
{
free(Buf);
return 0;
}
info2 = FindStartCode (Buf 2);
if(info2 != 1) {
if(1 != fread(Buf+3 1 1 bits))
{
free(Buf);
return 0;
}
info3 = FindStartCode (Buf 3);
}
if (info2 != 1 && info3 != 1)
{
printf (“GetAnnexbNALU: no Start Code at the begin of the NALU return -1\n“);
free(Buf);
return -1;
}
if( info2 == 1) {
nalu->startcodeprefix_len = 3;
pos = 3;
}
else if(info3 ==1 ) {
pos = 4;
nalu->startcodeprefix_len = 4;
}
else
printf( “ Panic: Error \n“);
StartCodeFound = 0;
info2 = 0;
info3 = 0;
while (!StartCodeFound)
{
if (feof (bits))
{
nalu->len = (pos-1)-nalu->startcodeprefix_len;
memcpy (nalu->buf &Buf[nalu->startcodeprefix_len] nalu->len);
nalu->forbidden_bit = (nalu->buf[0]>>7) & 1;
nalu->nal_reference_idc = (nalu->buf[0]>>5) & 3;
nalu->nal_unit_type = (nalu->buf[0]) & 0x1f;
// printf (“GetAnnexbNALU eof case: pos %d nalu->len %d nalu->reference_idc %d nal_unit_type %d \n“ pos nalu->len nalu->nal_reference_idc nalu->nal_unit_type);
#if TRACE
fprintf (p_trace “\n\nLast NALU in File\n\n“);
fprintf (p_trace “Annex B NALU w/ %s startcode len %d forbidden_bit %d nal_reference_idc %d nal_unit_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 643 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\bin\decoder.cfg
文件 9292 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\bin\encoder.cfg
文件 413740 2014-03-10 14:04 h264编码解码源代码\h264编码解码源代码\bin\ldecod.exe
文件 133339 2014-03-10 14:04 h264编码解码源代码\h264编码解码源代码\bin\ldecod.map
文件 730112 2014-03-10 14:04 h264编码解码源代码\h264编码解码源代码\bin\ldecod.pdb
文件 16 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\bin\leakybucketrate.cfg
文件 606293 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\bin\lencod.exe
文件 236122 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\bin\lencod.map
文件 984064 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\bin\lencod.pdb
文件 20554 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\CHANGES.TXT
文件 1054 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\Changes_detail.txt
文件 1383 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\copyright.txt
文件 276 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\data.txt
文件 1069 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\disclaimer.txt
文件 54272 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\doc\coding_st
文件 491 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\doc\doxygen.txt
文件 99 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\doc\foot.html
文件 1410 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\doc\h26l.css
文件 7934 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\doc\ldecod.dox
文件 7933 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\doc\lencod.dox
文件 9292 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\encoder.cfg
文件 114048 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\foreman_part_qcif.yuv
文件 7279 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\ldecod\Debug\annexb.obj
文件 0 2014-03-10 13:34 h264编码解码源代码\h264编码解码源代码\ldecod\Debug\annexb.sbr
文件 9108 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\ldecod\Debug\biaridecod.obj
文件 0 2014-03-10 13:34 h264编码解码源代码\h264编码解码源代码\ldecod\Debug\biaridecod.sbr
文件 34175 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\ldecod\Debug\block.obj
文件 0 2014-03-10 13:34 h264编码解码源代码\h264编码解码源代码\ldecod\Debug\block.sbr
文件 38471 2014-03-10 13:14 h264编码解码源代码\h264编码解码源代码\ldecod\Debug\cabac.obj
文件 0 2014-03-10 13:34 h264编码解码源代码\h264编码解码源代码\ldecod\Debug\cabac.sbr
............此处省略319个文件信息
相关资源
- 简约_通用_自由配色 电脑版(UTF8编码
- linux 使用jrtplib收发h.264视频文件
- V4L2采集YUYV数据x264编码成H264视频
- X264编码H264视频
- h264转mp4 VC代码
- MIMO系统中的空时分组编码研究
- live555 RTSP RTCP RTP。live555类关系图,
- 中文地址名称识别算法设计和实现
- 稀疏表示和协同编码哪个对人脸识别
- 香港字5009个字符编码HKSCS-2008 (ISO/
- 编码器接口模式程序 STM32F103
- 曹雪虹《信息论与编码》ppt及部分习
- 经典和现代的信道编码
- 阿里巴巴编码规范 基础技能认证 考题
- 信息论与编码的课后习题答案
- STM32中编码器脉冲捕获
- mina仿qq聊天功能自定义协议协议的编
- 信息理论与编码.rar
- STM32F103系列 普通增量式PID控制速度程
- 国家医保版ICD编码.zip
- 现代编码理论
- 51单片机光电编码器测速
- AE中经常使用的三个AVI编码器.rar
- 视频编解码技术简介:过去、现在及
- jpeg编码实现
- 国际疾病分类标准编码ICD-10速查系统
- 全国城市邮编数据库精确到乡镇街道
- Linux PC下UVC摄像头采集并用x264进行编
- 一个可以解码并实时播放H264的播放器
- ASN1编码文档及ASN1C源码例程
评论
共有 条评论