AVS1官方参考代码和源码实现
找了好久的AVS1参考代码RM60,很好的资源,用于学习AVS1标准和实现!
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 720 2005-07-21 14:15 rm60
mMBAFF on rm52cindataDec.txt
文件 503 2005-04-25 11:34 rm60
mMBAFF on rm52cindecoder.cfg
文件 5424 2005-07-20 15:36 rm60
mMBAFF on rm52cinencoder.cfg
文件 1155 2005-07-20 15:42 rm60
mMBAFF on rm52cinlog.dat
文件 642 2005-07-21 14:15 rm60
mMBAFF on rm52cinlog.dec
文件 11119 2005-07-21 14:15 rm60
mMBAFF on rm52cinstat.dat
文件 576786 2005-07-20 15:42 rm60
mMBAFF on rm52cin est.avs
文件 0 2005-07-20 15:36 rm60
mMBAFF on rm52cin race_enc.txt
文件 1889 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincannexb.h
文件 5867 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincavs.h
文件 3752 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodinclock.h
文件 1765 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodinc_frame.h
文件 7853 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodinccontributors.h
文件 8014 2005-04-22 11:19 rm60
mMBAFF on rm52cldecodincdefines.h
文件 3175 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincelements.h
文件 20324 2005-03-21 01:14 rm60
mMBAFF on rm52cldecodincglobal.h
文件 2045 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincgolomb_dec.h
文件 2049 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincheader.h
文件 1758 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincimage.h
文件 4046 2005-03-21 01:14 rm60
mMBAFF on rm52cldecodincmacroblock.h
文件 333 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincmbaff.h
文件 4245 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincmbuffer.h
文件 2307 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincmemalloc.h
文件 2924 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincvlc.h
文件 256 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincvssver.scc
文件 1596 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodMakefile
文件 222208 2008-06-25 09:31 rm60
mMBAFF on rm52cldecodReleaseldecod.bsc
文件 9502 2005-03-21 01:03 rm60
mMBAFF on rm52cldecodsrcitstream.c
文件 35867 2005-07-19 21:04 rm60
mMBAFF on rm52cldecodsrclock.c
文件 64209 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodsrclock_const.c
............此处省略92个文件信息
/*
***********************************************************************
* COPYRIGHT AND WARRANTY INFORMATION
*
* Copyright 2003 Advanced Audio Video Coding Standard Part II
*
* DISCLAIMER OF WARRANTY
*
* These software programs are available to the users without any
* license fee or royalty on an “as is“ basis. The AVS disclaims
* any and all warranties whether express implied or statutory
* including any implied warranties of merchantability or of fitness
* for a particular purpose. In no event shall the contributors or
* the AVS be liable for any incidental punitive or consequential
* damages of any kind whatsoever arising from the use of this program.
*
* This disclaimer of warranty extends to the user of this program
* and user‘s customers employees agents transferees successors
* and assigns.
*
* The AVS does not represent or warrant that the program furnished
* hereunder are free of infringement of any third-party patents.
* Commercial implementations of AVS including shareware may be
* subject to royalty fees to patent holders. Information regarding
* the AVS patent policy is available from the AVS Web site at
* http://www.avs.org.cn
*
* THIS IS NOT A GRANT OF PATENT RIGHTS - SEE THE AVS PATENT POLICY.
************************************************************************
*/
/*
*************************************************************************************
* File name: bitstream.c
* Function: decode bitstream
*
*************************************************************************************
*/
#include
#include
#include
#include “global.h“
#include “annexb.h“
#include “memalloc.h“
#include “vlc.h“
FILE *bitsfile = NULL; //!< the bit stream file
#define SVA_STREAM_BUF_SIZE 1024
unsigned char bit[8] = {0x800x400x200x100x080x040x020x01};
typedef struct {
FILE *f;
unsigned char buf[SVA_STREAM_BUF_SIZE]; //流缓冲区size must be large than 3 bytes
unsigned int uClearBits;//不含填充位的位缓冲,32位,初始值是0xFFFFFFFF
unsigned int uPre3Bytes;// 含填充位的位缓冲,32位,初始值是0x00000000
int iBytePosition; //当前字节位置
int iBufBytesNum; //最近一次读入缓冲区的字节数
int iClearBitsNum; //不含填充位的位的个数
int iStuffBitsNum; //已剔除的填充位的个数,遇到开始码时置0
int iBitsCount; //码流总位数
} InputStream;
InputStream IRABS;
InputStream *pIRABS = &IRABS;
void OpenIRABS(InputStream *p char *fname)
{
p->f = fopen(fname“rb“);
if(p->f==NULL){printf (“
Can‘t open file %s“fname);exit(-1);}
p->uClearBits = 0xffffffff;
p->iBytePosition = 0;
p->iBufBytesNum = 0;
p->iClearBitsNum = 0;
p->iStuffBitsNum = 0;
p->iBitsCount = 0;
p->uPre3Bytes = 0;
}
void CloseIRABS(InputStream *p)
{
fclose(p->f);
}
//------------------------------------------------------------------------
// move iBytePosition to the next byte of start code prefix
//return
// 0 : OK
// -1 : arrive at stream end and start code is not found
// -2 : p->iByte
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 720 2005-07-21 14:15 rm60
mMBAFF on rm52cindataDec.txt
文件 503 2005-04-25 11:34 rm60
mMBAFF on rm52cindecoder.cfg
文件 5424 2005-07-20 15:36 rm60
mMBAFF on rm52cinencoder.cfg
文件 1155 2005-07-20 15:42 rm60
mMBAFF on rm52cinlog.dat
文件 642 2005-07-21 14:15 rm60
mMBAFF on rm52cinlog.dec
文件 11119 2005-07-21 14:15 rm60
mMBAFF on rm52cinstat.dat
文件 576786 2005-07-20 15:42 rm60
mMBAFF on rm52cin est.avs
文件 0 2005-07-20 15:36 rm60
mMBAFF on rm52cin race_enc.txt
文件 1889 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincannexb.h
文件 5867 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincavs.h
文件 3752 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodinclock.h
文件 1765 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodinc_fr
文件 7853 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodinccontributors.h
文件 8014 2005-04-22 11:19 rm60
mMBAFF on rm52cldecodincdefines.h
文件 3175 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincelements.h
文件 20324 2005-03-21 01:14 rm60
mMBAFF on rm52cldecodincglobal.h
文件 2045 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincgolomb_dec.h
文件 2049 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincheader.h
文件 1758 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincimage.h
文件 4046 2005-03-21 01:14 rm60
mMBAFF on rm52cldecodincmacroblock.h
文件 333 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincmbaff.h
文件 4245 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincmbuffer.h
文件 2307 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincmemalloc.h
文件 2924 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincvlc.h
文件 256 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodincvssver.scc
文件 1596 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodMakefile
文件 222208 2008-06-25 09:31 rm60
mMBAFF on rm52cldecodReleaseldecod.bsc
文件 9502 2005-03-21 01:03 rm60
mMBAFF on rm52cldecodsrcitstream.c
文件 35867 2005-07-19 21:04 rm60
mMBAFF on rm52cldecodsrclock.c
文件 64209 2005-03-20 21:04 rm60
mMBAFF on rm52cldecodsrclock_const.c
............此处省略92个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)