亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ac.cpp

?? 完整的RTP RTSP代碼庫
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/* $Id: ac.cpp,v 1.1 2003/05/05 21:24:05 wmaycisco Exp $ *//****************************************************************************//*   MPEG4 Visual Texture Coding (VTC) Mode Software                        *//*                                                                          *//*   This software was jointly developed by the following participants:     *//*                                                                          *//*   Single-quant,  multi-quant and flow control                            *//*   are provided by  Sarnoff Corporation                                   *//*     Iraj Sodagar   (iraj@sarnoff.com)                                    *//*     Hung-Ju Lee    (hjlee@sarnoff.com)                                   *//*     Paul Hatrack   (hatrack@sarnoff.com)                                 *//*     Shipeng Li     (shipeng@sarnoff.com)                                 *//*     Bing-Bing Chai (bchai@sarnoff.com)                                   *//*     B.S. Srinivas  (bsrinivas@sarnoff.com)                               *//*                                                                          *//*   Bi-level is provided by Texas Instruments                              *//*     Jie Liang      (liang@ti.com)                                        *//*                                                                          *//*   Shape Coding is provided by  OKI Electric Industry Co., Ltd.           *//*     Zhixiong Wu    (sgo@hlabs.oki.co.jp)                                 *//*     Yoshihiro Ueda (yueda@hlabs.oki.co.jp)                               *//*     Toshifumi Kanamaru (kanamaru@hlabs.oki.co.jp)                        *//*                                                                          *//*   OKI, Sharp, Sarnoff, TI and Microsoft contributed to bitstream         *//*   exchange and bug fixing.                                               *//*                                                                          *//*                                                                          *//* In the course of development of the MPEG-4 standard, this software       *//* module is an implementation of a part of one or more MPEG-4 tools as     *//* specified by the MPEG-4 standard.                                        *//*                                                                          *//* The copyright of this software belongs to ISO/IEC. ISO/IEC gives use     *//* of the MPEG-4 standard free license to use this  software module or      *//* modifications thereof for hardware or software products claiming         *//* conformance to the MPEG-4 standard.                                      *//*                                                                          *//* Those intending to use this software module in hardware or software      *//* products are advised that use may infringe existing  patents. The        *//* original developers of this software module and their companies, the     *//* subsequent editors and their companies, and ISO/IEC have no liability    *//* and ISO/IEC have no liability for use of this software module or         *//* modification thereof in an implementation.                               *//*                                                                          *//* Permission is granted to MPEG members to use, copy, modify,              *//* and distribute the software modules ( or portions thereof )              *//* for standardization activity within ISO/IEC JTC1/SC29/WG11.              *//*                                                                          *//* Copyright 1995, 1996, 1997, 1998 ISO/IEC                                 *//****************************************************************************//************************************************************//*     Sarnoff Very Low Bit Rate Still Image Coder          *//*     Copyright 1995, 1996, 1997, 1998 Sarnoff Corporation *//************************************************************//************************************************************//*  Filename: ac.c                                          *//*  Author: B.S. Srinivas                                   *//*  Date Modified: April 23, 1998                           *//*                                                          *//*  Descriptions:                                           *//*    This file contains routines for Integer arithmetic    *//*    coding, which is based on the ac.c file from the SOL  *//*    package.                                              *//*                                                          *//*    The following routines are modified or created for    *//*    the latest VTC package:                               *//*      static Void mzte_output_bit()                       *//*      Void mzte_ac_encoder_init()                         *//*      Int mzte_ac_encoder_done()                          *//*      static Int mzte_input_bit()                         *//*      Void mzte_ac_decoder_init()                         *//*      Void mzte_ac_decoder_done()                         *//*                                                          *//************************************************************///#include <stdio.h>//#include <stdlib.h>//#include <assert.h>#include "dataStruct.hpp"#include "ac.hpp"#include "bitpack.hpp"#include "errorHandler.hpp"#include "msg.hpp"#define codeValueBits 16#define peakValue (((long)1<<codeValueBits)-1)#define firstQtr  (peakValue/4+1)#define Half      (2*firstQtr)#define thirdQtr  (3*firstQtr)#define BYTETYPE	UChar#define SHORTTYPE	UShort#define MIN(a,b)  (((a)<(b)) ? (a) : (b))//Changed by Sarnoff for error resilience, 3/5/99//#define STUFFING_CNT 22static Int STUFFING_CNT=22;  //setting for error resi case//End changed by Sarnoff for error resilience, 3/5/99#define MIXED 		2/* static function prototypes *///static Void mzte_output_bit(ac_encoder *,Int);//static Void mzte_bit_plus_follow(ac_encoder *,Int);//static Void mzte_update_model(ac_model *,ac_model *,Int);//static Int mzte_input_bit(ac_decoder *);static Int zeroStrLen=0;/************************************************************************//*              Error Checking and Handling Macros                      *//************************************************************************/#define error(m)                                           \do {                                                      \  fflush(stdout);                                         \  fprIntf(stderr, "%s:%d: error: ", __File__, __LINE__);  \  fprIntf(stderr, m);                                     \  fprIntf(stderr, "\n");                                  \  exit(1);                                                \} while (0)#define check(b,m)                                         \do { 													   \  if (b)                                                   \	 error(m);                                            \} while (0)/************************************************************************//*                           Bit Output                                 *//************************************************************************//**************************************************//*  Added bit stuffing to prevent start code      *//*  emulation, i.e., add a "1" bit after every 22 *//*  consecutive "0" bits in the bit stream        *//*                                                *//*  Modified to use a fixed buffer and write to   *//*  file directly after the buffer is full. So the*//*  ace->bitstreamLength now only has the # of 	  *//*  bytes in current buffer. Total bits (bitCount)*//*  will indicate the total # bits for arithmetic *//*  coding part.								  *//**************************************************/Void CVTCEncoder::mzte_output_bit(ac_encoder *ace,Int bit){	register int flag=0;	ace->buffer *= 2;	ace->buffer |= (bit)?0x01:0;	(ace->bitsLeft)--;	(ace->bitCount)++;	if (!(ace->bitsLeft)) {		if (!(ace->bitstream))			errorHandler("Failure to allocate space for array Bitstream " \                            "in ac_encoder structure");		switch (flag=(ace->bitstreamLength>=MAX_BUFFER)) {			case 1:				write_to_bitstream(ace->bitstream,MAX_BUFFER<<3);				ace->bitstreamLength=0;				break;			default:				break;		}		ace->bitstream[(ace->bitstreamLength)++] = ace->buffer;		ace->bitsLeft = 8;	}	/* Dealing with bit stuffing when 0's are encountered */	zeroStrLen+=(!bit)?1:-zeroStrLen;	if (zeroStrLen==STUFFING_CNT) {		mzte_output_bit(ace,1);		zeroStrLen=0;	}	return;}Void CVTCEncoder::mzte_bit_plus_follow(ac_encoder *ace,Int bit){	register long followBits;	followBits = ace->followBits;	mzte_output_bit(ace,bit);	while (followBits) {		mzte_output_bit(ace,!bit);		--followBits;	}	ace->followBits = followBits;	return;}/************************************************************************//*                             Encoder                                  *//************************************************************************/Void CVTCEncoder::mzte_ac_encoder_init(ac_encoder *ace){	ace->low = 0;	ace->high = peakValue;	ace->followBits = 0;	ace->bitsLeft = 8;	ace->buffer = 0;	ace->bitCount = 0;	ace->bitstreamLength = 0;	ace->bitstream=(BYTETYPE *)malloc((MAX_BUFFER+10)*sizeof(BYTETYPE));	if (ace->bitstream == NULL)		errorHandler("can't allocate memory for ace->bitstream");//	assert((ace->bitstream=(BYTETYPE *)malloc((MAX_BUFFER+10)*sizeof(BYTETYPE))));	zeroStrLen=0;	//Added by Sarnoff for error resilience, 3/5/99	if(!mzte_codec.m_usErrResiDisable)		STUFFING_CNT=15;	//End Added by Sarnoff for error resilience, 3/5/99	/* always start arithmetic coding bitstream with a 1 bit. */	emit_bits(1,1);	return;}/***************************************************************//* Added stuffing bits to prevent start code emulation.        *//***************************************************************/Int CVTCEncoder::mzte_ac_encoder_done(ac_encoder *ace){	register long bitCount;	register Int bitsLeft;	register Int bitsToWrite;	register long streamLength;	register int flag;	++(ace->followBits);	flag = (ace->low >= firstQtr);	mzte_bit_plus_follow(ace,flag);	bitsLeft = ace->bitsLeft;	bitCount = ace->bitCount;	streamLength = ace->bitstreamLength;	if (bitsLeft != 8) {		ace->bitstream[streamLength++] = (ace->buffer << bitsLeft);		if (!(ace->bitstream[streamLength-1]&(1<<bitsLeft))) {	  		ace->bitstream[streamLength-1] += (1<<bitsLeft)-1;			++bitCount;		}	}	bitsToWrite = (streamLength > MAX_BUFFER)?(MAX_BUFFER<<3):0;	bitsToWrite += (bitCount % (MAX_BUFFER<<3));	if ((bitsToWrite==0) && (streamLength==MAX_BUFFER))		bitsToWrite=(MAX_BUFFER<<3);	write_to_bitstream(ace->bitstream,bitsToWrite);	if ((bitsLeft==8) && (!(ace->bitstream[streamLength-1]&1))) {		/* stuffing bits to prevent start code emulation */		emit_bits(1,1);		++bitCount;	}	ace->bitstreamLength=streamLength;	ace->bitCount=bitCount;	free(ace->bitstream);	return(ace->bitCount);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九**精品视频免费播放| 国产欧美在线观看一区| 一区二区三区欧美日| 色综合天天狠狠| av在线这里只有精品| 国产精品久久久久久亚洲毛片| 不卡视频一二三四| 亚洲综合无码一区二区| 欧美精品v国产精品v日韩精品| 日韩精品国产精品| 久久夜色精品一区| 成人免费毛片app| 亚洲一区二区欧美日韩| 91精品国产一区二区三区 | 一本一本久久a久久精品综合麻豆| 国产精品久久免费看| 色综合中文综合网| 久久一区二区视频| 97精品超碰一区二区三区| 一区二区免费在线| 欧美成va人片在线观看| 国产精品888| 亚洲一区在线电影| 精品成人免费观看| 色久综合一二码| 青青草成人在线观看| 国产人久久人人人人爽| 国产精品免费免费| 欧美日韩国产高清一区二区| 国产精品一二三四五| 一区二区三区欧美| 国产欧美一区视频| 制服丝袜亚洲色图| 成人午夜免费电影| 人妖欧美一区二区| 亚洲三级视频在线观看| 日韩欧美一区电影| 91九色02白丝porn| 国产不卡视频一区| 免费在线观看不卡| 亚洲免费在线视频一区 二区| 日韩午夜激情av| 欧美主播一区二区三区美女| 久久aⅴ国产欧美74aaa| 亚洲国产综合在线| 中文字幕中文在线不卡住| 日韩亚洲欧美一区| 欧美亚洲日本一区| av高清不卡在线| 国产成人综合在线| 精品无码三级在线观看视频| 亚洲最新视频在线播放| 国产精品系列在线| 久久美女高清视频| 911精品国产一区二区在线| 91免费视频观看| 成人永久免费视频| 国产精品综合一区二区三区| 日韩中文字幕91| 亚洲精品va在线观看| 中文在线资源观看网站视频免费不卡| 欧美一区二区三区在线看 | 欧美福利视频导航| 日本韩国精品在线| 99久久久精品| 成人午夜激情影院| 丰满白嫩尤物一区二区| 韩国一区二区在线观看| 久久99精品久久久久婷婷| 视频一区二区欧美| 午夜免费久久看| 日韩精品1区2区3区| 婷婷开心久久网| 亚洲成av人片一区二区| 亚洲激情图片小说视频| 一区二区三区美女| 一区二区不卡在线播放 | 欧美一区二区三区播放老司机| 在线观看三级视频欧美| 一本一道波多野结衣一区二区| 不卡视频免费播放| 色天使久久综合网天天| 欧美性色综合网| 欧美酷刑日本凌虐凌虐| 91精品婷婷国产综合久久竹菊| 欧美精品在线一区二区三区| 欧美疯狂性受xxxxx喷水图片| 3d成人动漫网站| 精品国产污污免费网站入口| 精品日本一线二线三线不卡| 国产亚洲精品福利| 国产精品卡一卡二| 一区二区三区丝袜| 无码av免费一区二区三区试看| 日韩国产精品久久久| 久久99精品国产91久久来源| 国产一区二区在线视频| 成人国产精品免费观看| 日本电影亚洲天堂一区| 666欧美在线视频| 精品国产人成亚洲区| 中文字幕不卡在线观看| 亚洲欧美电影一区二区| 日韩激情一二三区| 国产高清不卡二三区| 99精品久久只有精品| 5858s免费视频成人| 久久午夜免费电影| 一区二区三区在线免费| 蜜臀av性久久久久蜜臀av麻豆| 国产一区二区不卡在线| 色婷婷综合中文久久一本| 欧美二区三区的天堂| 久久这里只有精品首页| 亚洲视频你懂的| 久久精品国产99国产精品| 成人av在线电影| 欧美剧在线免费观看网站| 日韩成人精品视频| 91玉足脚交白嫩脚丫在线播放| 欧美午夜影院一区| 中文字幕精品一区| 日本亚洲免费观看| 91免费视频观看| 2021中文字幕一区亚洲| 一区二区三区在线视频播放| 国产一区 二区| 在线观看日韩精品| 国产欧美一区二区精品性| 午夜精品久久久久久久蜜桃app| 国产ts人妖一区二区| 在线播放日韩导航| 亚洲视频一区二区在线| 国产伦精品一区二区三区免费迷 | 中文一区二区在线观看| 天天爽夜夜爽夜夜爽精品视频| 成人av在线播放网址| 精品久久久久久综合日本欧美| 一区二区日韩av| zzijzzij亚洲日本少妇熟睡| 欧美sm极限捆绑bd| 午夜精品爽啪视频| 99久久99久久久精品齐齐 | 中文字幕一区二区日韩精品绯色| 日本女优在线视频一区二区| 日本高清不卡在线观看| 国产精品视频一二| 国产馆精品极品| 久久亚洲一级片| 日本在线不卡视频| 欧美日韩国产一级二级| 国产精品久久久久一区二区三区共| 日韩成人免费在线| 欧美日韩国产大片| 亚洲猫色日本管| 99久久婷婷国产综合精品| 2022国产精品视频| 紧缚奴在线一区二区三区| 欧美一区二区三区电影| 日韩av一区二| 欧美男同性恋视频网站| 亚洲午夜激情av| 欧美无砖砖区免费| 亚欧色一区w666天堂| 欧美熟乱第一页| 亚洲尤物在线视频观看| 色94色欧美sute亚洲线路一ni| 国产精品丝袜久久久久久app| 粉嫩欧美一区二区三区高清影视| 久久亚洲影视婷婷| 福利一区福利二区| 国产精品日韩精品欧美在线| 成人av影视在线观看| 国产精品国产三级国产a| 91美女在线观看| 亚洲一区在线观看免费| 欧美日本一区二区| 日本美女一区二区三区视频| 欧美一卡2卡3卡4卡| 激情文学综合网| 国产日韩欧美麻豆| 91免费视频大全| 日韩国产高清影视| 久久午夜色播影院免费高清 | 中文字幕一区二区三区在线不卡 | 粉嫩13p一区二区三区| 中文乱码免费一区二区| 99r国产精品| 丝瓜av网站精品一区二区| 欧美一二三区精品| 国产一区二区免费看| 亚洲欧洲日韩综合一区二区| 色综合久久99| 麻豆成人av在线| 久久久久国产精品人| 成人av在线一区二区三区| 亚洲va在线va天堂| xvideos.蜜桃一区二区| 99v久久综合狠狠综合久久| 日本人妖一区二区|