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

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

?? mantissa.c

?? ac3的解碼程序
?? C
字號:
/*  *    mantissa.c * *	Copyright (C) Aaron Holtzman - May 1999 * *  This file is part of ac3dec, a free Dolby AC-3 stream decoder. *	 *  ac3dec is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2, or (at your option) *  any later version. *    *  ac3dec is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. *    *  You should have received a copy of the GNU General Public License *  along with GNU Make; see the file COPYING.  If not, write to *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  * */#include <stdlib.h>#include <stdio.h>#include "ac3.h"#include "decode.h"#include "bitstream.h"#include "dither.h"#include "mantissa.h"//Lookup tables of 0.16 two's complement quantization valuesuint_16 q_1[3] = {( -2 << 15)/3, 0           ,(  2 << 15)/3 };uint_16 q_2[5] = {( -4 << 15)/5,( -2 << 15)/5,   0         ,	                (  2 << 15)/5,(  4 << 15)/5};uint_16 q_3[7] = {( -6 << 15)/7,( -4 << 15)/7,( -2 << 15)/7,	                   0         ,(  2 << 15)/7,(  4 << 15)/7,									(  6 << 15)/7};uint_16 q_4[11] = {(-10 << 15)/11,(-8 << 15)/11,(-6 << 15)/11,	                ( -4 << 15)/11,(-2 << 15)/11,  0          ,									(  2 << 15)/11,( 4 << 15)/11,( 6 << 15)/11,									(  8 << 15)/11,(10 << 15)/11};uint_16 q_5[15] = {(-14 << 15)/15,(-12 << 15)/15,(-10 << 15)/15,                   ( -8 << 15)/15,( -6 << 15)/15,( -4 << 15)/15,									 ( -2 << 15)/15,   0          ,(  2 << 15)/15,									 (  4 << 15)/15,(  6 << 15)/15,(  8 << 15)/15,									 ( 10 << 15)/15,( 12 << 15)/15,( 14 << 15)/15};//These store the persistent state of the packed mantissasstatic uint_16 m_1[3];static uint_16 m_2[3];static uint_16 m_4[2];static uint_16 m_1_pointer;static uint_16 m_2_pointer;static uint_16 m_4_pointer;//Conversion from bap to number of bits in the mantissas//zeros account for cases 0,1,2,4 which are special casedstatic uint_16 qnttztab[16] = { 0, 0, 0, 3, 0 , 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16};static uint_16 mantissa_get(bitstream_t *bs, uint_16 bap, uint_16 dithflag);static void mantissa_reset(void);voidmantissa_unpack(bsi_t *bsi, audblk_t *audblk,bitstream_t *bs){	uint_16 i,j;	uint_32 done_cpl = 0;	mantissa_reset();	for(i=0; i< bsi->nfchans; i++)	{		for(j=0; j < audblk->endmant[i]; j++)			audblk->chmant[i][j] = mantissa_get(bs,audblk->fbw_bap[i][j],audblk->dithflag[i]);		if(audblk->cplinu && audblk->chincpl[i] && !(done_cpl))		{			/* ncplmant is equal to 12 * ncplsubnd */			/* Don't dither coupling channel until channel separation so that			 * interchannel noise is uncorrelated */			for(j=audblk->cplstrtmant; j < audblk->cplendmant; j++)				audblk->cplmant[j] = mantissa_get(bs,audblk->cpl_bap[j],0);			done_cpl = 1;		}	}	if(bsi->lfeon)	{		/* There are always 7 mantissas for lfe, no dither for lfe */		for(j=0; j < 7 ; j++)			audblk->lfemant[j] = mantissa_get(bs,audblk->lfe_bap[j],0);	}}/* Fetch an unpacked, left justified, and properly biased/dithered mantissa value */static uint_16mantissa_get(bitstream_t *bs, uint_16 bap, uint_16 dithflag){	uint_16 result;	uint_16 group_code;	//If the bap is 0-5 then we have special cases to take care of	switch(bap)	{		case 0:			if(dithflag)				result = dither_gen();			else				result = 0;			break;		case 1:			if(m_1_pointer > 2)			{				group_code = bitstream_get(bs,5);				if(group_code > 26)					//FIXME do proper block error handling					printf("\n!! Invalid mantissa !!\n");				m_1[0] = group_code / 9; 				m_1[1] = (group_code % 9) / 3; 				m_1[2] = (group_code % 9) % 3; 				m_1_pointer = 0;			}			result = m_1[m_1_pointer++];			result = q_1[result];			break;		case 2:			if(m_2_pointer > 2)			{				group_code = bitstream_get(bs,7);				if(group_code > 124)					//FIXME do proper block error handling					printf("\n!! Invalid mantissa !!\n");				m_2[0] = group_code / 25;				m_2[1] = (group_code % 25) / 5 ;				m_2[2] = (group_code % 25) % 5 ; 				m_2_pointer = 0;			}			result = m_2[m_2_pointer++];			result = q_2[result];			break;		case 3:			result = bitstream_get(bs,3);			if(result > 6)				//FIXME do proper block error handling				printf("\n!! Invalid mantissa !!\n");			result = q_3[result];			break;		case 4:			if(m_4_pointer > 1)			{				group_code = bitstream_get(bs,7);				if(group_code > 120)					//FIXME do proper block error handling					printf("\n!! Invalid mantissa !!\n");				m_4[0] = group_code / 11;				m_4[1] = group_code % 11;				m_4_pointer = 0;			}			result = m_4[m_4_pointer++];			result = q_4[result];			break;		case 5:			result = bitstream_get(bs,4);			if(result > 14)				//FIXME do proper block error handling				printf("\n!! Invalid mantissa !!\n");			result = q_5[result];			break;		default:			result = bitstream_get(bs,qnttztab[bap]);			result <<= 16 - qnttztab[bap];	}	return result;}static void mantissa_reset(void){	m_1[2] = m_1[1] = m_1[0] = 0;	m_2[2] = m_2[1] = m_2[0] = 0;	m_4[1] = m_4[0] = 0;	m_1_pointer = m_2_pointer = m_4_pointer = 3;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频资源站| 中文字幕日韩av资源站| 国产亲近乱来精品视频| 亚洲国产美女搞黄色| 国产成人精品在线看| 3d成人h动漫网站入口| 最新高清无码专区| 国产超碰在线一区| 日韩亚洲欧美一区二区三区| 亚洲精品国产品国语在线app| 狠狠色丁香婷综合久久| 欧美三级在线播放| 亚洲人快播电影网| 成人av在线观| 久久久久久久久久久久久女国产乱 | 亚洲图片欧美激情| 精品一区二区三区在线观看国产| 亚洲一区二区免费视频| 丁香婷婷综合色啪| 欧美日韩一区二区三区不卡| 国产欧美一区视频| 韩国v欧美v日本v亚洲v| 日韩欧美激情四射| 蜜臀a∨国产成人精品| 欧美一区二区三区日韩| 亚洲1区2区3区视频| 色婷婷综合久久久久中文| 国产精品久久久久久亚洲伦 | 久久se精品一区二区| 欧美日韩三级一区二区| 亚洲va欧美va人人爽| 欧美亚洲综合色| 亚洲国产欧美在线| 欧美日韩国产片| 亚洲丶国产丶欧美一区二区三区| 欧美午夜精品久久久久久超碰 | 欧美日韩一区二区在线观看视频| 亚洲精品网站在线观看| 99精品视频一区二区三区| 国产精品初高中害羞小美女文| 高清视频一区二区| 国产精品久久久久影院亚瑟| 色综合天天综合网国产成人综合天| 国产精品国产三级国产三级人妇| 99久久婷婷国产| 亚洲自拍偷拍九九九| 欧美日韩成人综合天天影院| 老司机午夜精品| 久久久久99精品一区| 99re热视频这里只精品| 亚洲一区二区3| 日韩亚洲电影在线| 成人性生交大合| 亚洲欧美精品午睡沙发| 9191国产精品| 国产一区二区精品久久99| 18成人在线视频| 911国产精品| 国产精品夜夜嗨| 一区二区欧美精品| 欧美不卡视频一区| 9i在线看片成人免费| 日本在线播放一区二区三区| 久久久无码精品亚洲日韩按摩| 91视视频在线直接观看在线看网页在线看| 日韩美女精品在线| 67194成人在线观看| 成人免费的视频| 亚洲成人一区在线| 欧美国产精品久久| 欧美精品日韩综合在线| 成人精品免费看| 午夜成人在线视频| 国产精品私人自拍| 91精品国产综合久久精品| 成a人片亚洲日本久久| 日韩1区2区3区| 亚洲日本乱码在线观看| 日韩免费高清视频| 在线观看不卡视频| 粉嫩蜜臀av国产精品网站| 午夜欧美视频在线观看 | 亚洲成人资源网| 国产精品毛片大码女人| 日韩女优av电影在线观看| 欧美怡红院视频| 成人性生交大合| 国内精品久久久久影院色| 亚洲一区二区精品3399| 亚洲欧洲成人av每日更新| 欧美成人三级在线| 欧美日韩国产另类一区| 色综合天天天天做夜夜夜夜做| 麻豆精品一区二区综合av| 亚洲va韩国va欧美va精品| 亚洲欧美日韩一区| 中文字幕一区在线观看| 国产欧美综合在线观看第十页| 欧美mv日韩mv亚洲| 欧美日韩免费一区二区三区| aaa亚洲精品| 99re热视频精品| 99在线热播精品免费| 粉嫩av亚洲一区二区图片| 国内精品国产三级国产a久久| 日本欧美在线看| 天堂蜜桃一区二区三区| 亚洲情趣在线观看| 亚洲欧美日韩小说| 亚洲女与黑人做爰| 亚洲自拍偷拍欧美| 亚洲国产视频网站| 亚洲一区二区不卡免费| 亚洲丶国产丶欧美一区二区三区| 亚洲一二三四区不卡| 夜夜爽夜夜爽精品视频| 亚洲一区二区三区自拍| 亚洲自拍与偷拍| 视频一区二区三区入口| 天堂av在线一区| 日韩精品1区2区3区| 天天综合日日夜夜精品| 日韩电影在线一区二区三区| 日韩电影免费一区| 久久国产视频网| 国产精品一区在线观看你懂的| 国产毛片精品国产一区二区三区| 福利一区二区在线观看| 99国产精品视频免费观看| 色又黄又爽网站www久久| 精品视频在线看| 欧美一区二区三区系列电影| www激情久久| 国产精品欧美精品| 一区二区三区精密机械公司| 亚洲3atv精品一区二区三区| 久久国产精品色| 成人性生交大片免费看中文网站| 99国产精品久久久久久久久久久| 欧美在线观看一区| 欧美大黄免费观看| 国产精品天干天干在线综合| 亚洲一区二区三区四区中文字幕| 青青草97国产精品免费观看无弹窗版| 蜜臀av一区二区在线免费观看 | 麻豆精品一区二区| 成人黄色电影在线 | 欧美日韩午夜在线| 日韩欧美国产精品一区| 国产精品久久久久毛片软件| 偷拍一区二区三区| 国产成人综合亚洲网站| 欧美在线观看一二区| 欧美精品一区二区久久久| 国产精品亲子伦对白| 亚洲18色成人| aaa亚洲精品| 精品国产精品一区二区夜夜嗨 | 国产婷婷色一区二区三区| 亚洲欧美日韩国产中文在线| 日本欧美一区二区三区乱码| 97久久精品人人做人人爽| 欧美一区日韩一区| 亚洲欧美偷拍三级| 激情综合一区二区三区| 在线观看视频一区| 国产精品午夜电影| 美女脱光内衣内裤视频久久影院| 99久久伊人久久99| 精品国产区一区| 亚洲成av人影院| 色素色在线综合| 国产精品久久一级| 免费高清在线视频一区·| 一本久久综合亚洲鲁鲁五月天 | 日本一区二区高清| 蜜桃久久精品一区二区| 欧洲在线/亚洲| **网站欧美大片在线观看| 久久福利视频一区二区| 欧美日本国产一区| 一区二区三区在线播| zzijzzij亚洲日本少妇熟睡| 久久精品一区二区三区av| 免费成人美女在线观看.| 欧美日韩成人在线一区| 一级日本不卡的影视| 91麻豆自制传媒国产之光| 中文字幕免费观看一区| 国产乱码一区二区三区| 精品成人a区在线观看| 奇米色一区二区| 日韩一区二区麻豆国产| 午夜精品久久久久久久久久久| 91极品视觉盛宴| 亚洲男女一区二区三区| 色一情一乱一乱一91av| 亚洲一级电影视频| 555夜色666亚洲国产免| 日本欧美在线看|