資源簡介
找了好久的AVS1參考代碼RM60,很好的資源,用于學習AVS1標準和實現!

代碼片段和文件信息
/*
***********************************************************************
*?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; //!
#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?(“\nCan‘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\rmMBAFF?on?rm52c\bin\dataDec.txt
?????文件????????503??2005-04-25?11:34??rm60\rmMBAFF?on?rm52c\bin\decoder.cfg
?????文件???????5424??2005-07-20?15:36??rm60\rmMBAFF?on?rm52c\bin\encoder.cfg
?????文件???????1155??2005-07-20?15:42??rm60\rmMBAFF?on?rm52c\bin\log.dat
?????文件????????642??2005-07-21?14:15??rm60\rmMBAFF?on?rm52c\bin\log.dec
?????文件??????11119??2005-07-21?14:15??rm60\rmMBAFF?on?rm52c\bin\stat.dat
?????文件?????576786??2005-07-20?15:42??rm60\rmMBAFF?on?rm52c\bin\test.avs
?????文件??????????0??2005-07-20?15:36??rm60\rmMBAFF?on?rm52c\bin\trace_enc.txt
?????文件???????1889??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\annexb.h
?????文件???????5867??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\avs.h
?????文件???????3752??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\block.h
?????文件???????1765??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\b_fr
?????文件???????7853??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\contributors.h
?????文件???????8014??2005-04-22?11:19??rm60\rmMBAFF?on?rm52c\ldecod\inc\defines.h
?????文件???????3175??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\elements.h
?????文件??????20324??2005-03-21?01:14??rm60\rmMBAFF?on?rm52c\ldecod\inc\global.h
?????文件???????2045??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\golomb_dec.h
?????文件???????2049??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\header.h
?????文件???????1758??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\image.h
?????文件???????4046??2005-03-21?01:14??rm60\rmMBAFF?on?rm52c\ldecod\inc\macroblock.h
?????文件????????333??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\mbaff.h
?????文件???????4245??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\mbuffer.h
?????文件???????2307??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\memalloc.h
?????文件???????2924??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\vlc.h
?????文件????????256??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\inc\vssver.scc
?????文件???????1596??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\Makefile
?????文件?????222208??2008-06-25?09:31??rm60\rmMBAFF?on?rm52c\ldecod\Release\ldecod.bsc
?????文件???????9502??2005-03-21?01:03??rm60\rmMBAFF?on?rm52c\ldecod\src\bitstream.c
?????文件??????35867??2005-07-19?21:04??rm60\rmMBAFF?on?rm52c\ldecod\src\block.c
?????文件??????64209??2005-03-20?21:04??rm60\rmMBAFF?on?rm52c\ldecod\src\block_const.c
............此處省略92個文件信息
- 上一篇:flex視頻監控播放器
- 下一篇:USB CCID 規范
評論
共有 條評論