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

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

?? imdct.c.svn-base

?? MP3 for ARM codec. [asm+C]
?? SVN-BASE
?? 第 1 頁 / 共 2 頁
字號:
/* ***** BEGIN LICENSE BLOCK *****   * Source last modified: $Id: imdct.c,v 1.1 2005/02/26 01:47:35 jrecker Exp $  *    * Portions Copyright (c) 1995-2005 RealNetworks, Inc. All Rights Reserved.   *        * The contents of this file, and the files included with this file,  * are subject to the current version of the RealNetworks Public  * Source License (the "RPSL") available at  * http://www.helixcommunity.org/content/rpsl unless you have licensed  * the file under the current version of the RealNetworks Community  * Source License (the "RCSL") available at  * http://www.helixcommunity.org/content/rcsl, in which case the RCSL  * will apply. You may also obtain the license terms directly from  * RealNetworks.  You may not use this file except in compliance with  * the RPSL or, if you have a valid RCSL with RealNetworks applicable  * to this file, the RCSL.  Please see the applicable RPSL or RCSL for  * the rights, obligations and limitations governing use of the  * contents of the file.  *    * This file is part of the Helix DNA Technology. RealNetworks is the  * developer of the Original Code and owns the copyrights in the  * portions it created.  *    * This file, and the files included with this file, is distributed  * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY  * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS  * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET  * ENJOYMENT OR NON-INFRINGEMENT.  *   * Technology Compatibility Kit Test Suite(s) Location:   *    http://www.helixcommunity.org/content/tck   *   * Contributor(s):   *    * ***** END LICENSE BLOCK ***** */  /************************************************************************************** * Fixed-point HE-AAC decoder * Jon Recker (jrecker@real.com) * February 2005 * * imdct.c - inverse MDCT **************************************************************************************/#include "coder.h"#include "assembly.h"#define RND_VAL		(1 << (FBITS_OUT_IMDCT-1))#ifndef AAC_ENABLE_SBR/************************************************************************************** * Function:    DecWindowOverlap * * Description: apply synthesis window, do overlap-add, clip to 16-bit PCM, *                for winSequence LONG-LONG * * Inputs:      input buffer (output of type-IV DCT) *              overlap buffer (saved from last time) *              number of channels *              window type (sin or KBD) for input buffer *              window type (sin or KBD) for overlap buffer * * Outputs:     one channel, one frame of 16-bit PCM, interleaved by nChans * * Return:      none * * Notes:       this processes one channel at a time, but skips every other sample in *                the output buffer (pcm) for stereo interleaving *              this should fit in registers on ARM * * TODO:        ARM5E version with saturating overlap/add (QADD) *              asm code with free pointer updates, better load scheduling **************************************************************************************/__attribute__ ((section (".data"))) static void DecWindowOverlap(int *buf0, int *over0, short *pcm0, int nChans, int winTypeCurr, int winTypePrev){	int in, w0, w1, f0, f1;	int *buf1, *over1;	short *pcm1;	const int *wndPrev, *wndCurr;	buf0 += (1024 >> 1);	buf1  = buf0  - 1;	pcm1  = pcm0 + (1024 - 1) * nChans;	over1 = over0 + 1024 - 1;	wndPrev = (winTypePrev == 1 ? kbdWindow + kbdWindowOffset[1] : sinWindow + sinWindowOffset[1]);	if (winTypeCurr == winTypePrev) {		/* cut window loads in half since current and overlap sections use same symmetric window */		do {			w0 = *wndPrev++;			w1 = *wndPrev++;			in = *buf0++;			f0 = MULSHIFT32(w0, in);			f1 = MULSHIFT32(w1, in);			in = *over0;				*pcm0 = CLIPTOSHORT( (in - f0 + RND_VAL) >> FBITS_OUT_IMDCT );			pcm0 += nChans;			in = *over1;				*pcm1 = CLIPTOSHORT( (in + f1 + RND_VAL) >> FBITS_OUT_IMDCT );			pcm1 -= nChans;			in = *buf1--;			*over1-- = MULSHIFT32(w0, in);			*over0++ = MULSHIFT32(w1, in);		} while (over0 < over1);	} else {		/* different windows for current and overlap parts - should still fit in registers on ARM w/o stack spill */		wndCurr = (winTypeCurr == 1 ? kbdWindow + kbdWindowOffset[1] : sinWindow + sinWindowOffset[1]);		do {			w0 = *wndPrev++;			w1 = *wndPrev++;			in = *buf0++;			f0 = MULSHIFT32(w0, in);			f1 = MULSHIFT32(w1, in);			in = *over0;				*pcm0 = CLIPTOSHORT( (in - f0 + RND_VAL) >> FBITS_OUT_IMDCT );			pcm0 += nChans;			in = *over1;				*pcm1 = CLIPTOSHORT( (in + f1 + RND_VAL) >> FBITS_OUT_IMDCT );			pcm1 -= nChans;			w0 = *wndCurr++;			w1 = *wndCurr++;			in = *buf1--;			*over1-- = MULSHIFT32(w0, in);			*over0++ = MULSHIFT32(w1, in);		} while (over0 < over1);	}}/************************************************************************************** * Function:    DecWindowOverlapLongStart * * Description: apply synthesis window, do overlap-add, clip to 16-bit PCM, *                for winSequence LONG-START * * Inputs:      input buffer (output of type-IV DCT) *              overlap buffer (saved from last time) *              number of channels *              window type (sin or KBD) for input buffer *              window type (sin or KBD) for overlap buffer * * Outputs:     one channel, one frame of 16-bit PCM, interleaved by nChans * * Return:      none * * Notes:       this processes one channel at a time, but skips every other sample in *                the output buffer (pcm) for stereo interleaving *              this should fit in registers on ARM * * TODO:        ARM5E version with saturating overlap/add (QADD) *              asm code with free pointer updates, better load scheduling **************************************************************************************/ __attribute__ ((section (".data"))) static void DecWindowOverlapLongStart(int *buf0, int *over0, short *pcm0, int nChans, int winTypeCurr, int winTypePrev){	int i,  in, w0, w1, f0, f1;	int *buf1, *over1;	short *pcm1;	const int *wndPrev, *wndCurr;	buf0 += (1024 >> 1);	buf1  = buf0  - 1;	pcm1  = pcm0 + (1024 - 1) * nChans;	over1 = over0 + 1024 - 1;	wndPrev = (winTypePrev == 1 ? kbdWindow + kbdWindowOffset[1] : sinWindow + sinWindowOffset[1]);	i = 448;	/* 2 outputs, 2 overlaps per loop */	do {		w0 = *wndPrev++;		w1 = *wndPrev++;		in = *buf0++;		f0 = MULSHIFT32(w0, in);		f1 = MULSHIFT32(w1, in);		in = *over0;			*pcm0 = CLIPTOSHORT( (in - f0 + RND_VAL) >> FBITS_OUT_IMDCT );		pcm0 += nChans;		in = *over1;			*pcm1 = CLIPTOSHORT( (in + f1 + RND_VAL) >> FBITS_OUT_IMDCT );		pcm1 -= nChans;		in = *buf1--;		*over1-- = 0;		/* Wn = 0 for n = (2047, 2046, ... 1600) */		*over0++ = in >> 1;	/* Wn = 1 for n = (1024, 1025, ... 1471) */	} while (--i);	wndCurr = (winTypeCurr == 1 ? kbdWindow + kbdWindowOffset[0] : sinWindow + sinWindowOffset[0]);	/* do 64 more loops - 2 outputs, 2 overlaps per loop */	do {		w0 = *wndPrev++;		w1 = *wndPrev++;		in = *buf0++;		f0 = MULSHIFT32(w0, in);		f1 = MULSHIFT32(w1, in);		in = *over0;			*pcm0 = CLIPTOSHORT( (in - f0 + RND_VAL) >> FBITS_OUT_IMDCT );		pcm0 += nChans;		in = *over1;			*pcm1 = CLIPTOSHORT( (in + f1 + RND_VAL) >> FBITS_OUT_IMDCT );		pcm1 -= nChans;		w0 = *wndCurr++;	/* W[0], W[1], ... --> W[255], W[254], ... */		w1 = *wndCurr++;	/* W[127], W[126], ... --> W[128], W[129], ... */		in = *buf1--;		*over1-- = MULSHIFT32(w0, in);	/* Wn = short window for n = (1599, 1598, ... , 1536) */		*over0++ = MULSHIFT32(w1, in);	/* Wn = short window for n = (1472, 1473, ... , 1535) */	} while (over0 < over1);}/************************************************************************************** * Function:    DecWindowOverlapLongStop * * Description: apply synthesis window, do overlap-add, clip to 16-bit PCM, *                for winSequence LONG-STOP * * Inputs:      input buffer (output of type-IV DCT) *              overlap buffer (saved from last time) *              number of channels *              window type (sin or KBD) for input buffer *              window type (sin or KBD) for overlap buffer * * Outputs:     one channel, one frame of 16-bit PCM, interleaved by nChans * * Return:      none * * Notes:       this processes one channel at a time, but skips every other sample in *                the output buffer (pcm) for stereo interleaving *              this should fit in registers on ARM * * TODO:        ARM5E version with saturating overlap/add (QADD) *              asm code with free pointer updates, better load scheduling **************************************************************************************/ __attribute__ ((section (".data"))) static void DecWindowOverlapLongStop(int *buf0, int *over0, short *pcm0, int nChans, int winTypeCurr, int winTypePrev){	int i, in, w0, w1, f0, f1;	int *buf1, *over1;	short *pcm1;	const int *wndPrev, *wndCurr;	buf0 += (1024 >> 1);	buf1  = buf0  - 1;	pcm1  = pcm0 + (1024 - 1) * nChans;	over1 = over0 + 1024 - 1;	wndPrev = (winTypePrev == 1 ? kbdWindow + kbdWindowOffset[0] : sinWindow + sinWindowOffset[0]);	wndCurr = (winTypeCurr == 1 ? kbdWindow + kbdWindowOffset[1] : sinWindow + sinWindowOffset[1]);	i = 448;	/* 2 outputs, 2 overlaps per loop */	do {		/* Wn = 0 for n = (0, 1, ... 447) */		/* Wn = 1 for n = (576, 577, ... 1023) */		in = *buf0++;		f1 = in >> 1;	/* scale since skipping multiply by Q31 */		in = *over0;			*pcm0 = CLIPTOSHORT( (in + RND_VAL) >> FBITS_OUT_IMDCT );		pcm0 += nChans;		in = *over1;			*pcm1 = CLIPTOSHORT( (in + f1 + RND_VAL) >> FBITS_OUT_IMDCT );		pcm1 -= nChans;		w0 = *wndCurr++;		w1 = *wndCurr++;		in = *buf1--;		*over1-- = MULSHIFT32(w0, in);		*over0++ = MULSHIFT32(w1, in);	} while (--i);	/* do 64 more loops - 2 outputs, 2 overlaps per loop */	do {		w0 = *wndPrev++;	/* W[0], W[1], ...W[63] */		w1 = *wndPrev++;	/* W[127], W[126], ... W[64] */		in = *buf0++;		f0 = MULSHIFT32(w0, in);		f1 = MULSHIFT32(w1, in);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美极品美女视频| 午夜精品久久久久久久久| 亚洲欧美欧美一区二区三区| 日韩制服丝袜av| 国产福利一区二区三区在线视频| 欧美系列亚洲系列| 国产欧美一区二区三区在线看蜜臀| 午夜精品影院在线观看| 成人性视频网站| 日韩免费一区二区三区在线播放| 亚洲激情av在线| 国产91丝袜在线播放0| 日韩亚洲欧美成人一区| 亚洲一区二区视频在线观看| 盗摄精品av一区二区三区| 日韩精品一区二区三区四区视频 | 成人动漫一区二区| 日韩三级中文字幕| 午夜不卡av免费| 日韩女优电影在线观看| 伊人婷婷欧美激情| av网站免费线看精品| 久久午夜国产精品| 美女脱光内衣内裤视频久久网站 | 欧美日韩一区二区三区不卡| 亚洲视频综合在线| 成人综合婷婷国产精品久久免费| 久久综合精品国产一区二区三区| 久久精品久久综合| 日韩一级欧美一级| 六月丁香婷婷久久| 欧美xxxx在线观看| 精品一区二区免费在线观看| 欧美一级二级三级蜜桃| 久久精品国产精品亚洲精品| 日韩一区二区免费在线观看| 蜜臀va亚洲va欧美va天堂| 欧美一区二区大片| 七七婷婷婷婷精品国产| 日韩片之四级片| 国产尤物一区二区| 欧美极品少妇xxxxⅹ高跟鞋 | 国产精品国产精品国产专区不蜜| 国产成人午夜片在线观看高清观看| 亚洲精品在线观看网站| 国产成人综合自拍| 综合在线观看色| 欧美三级资源在线| 奇米影视一区二区三区小说| 精品福利一区二区三区 | 久久久久久一二三区| 国产大陆a不卡| 亚洲天堂免费在线观看视频| 欧洲一区在线观看| 99精品视频在线免费观看| 综合久久久久久久| 欧美日韩亚洲国产综合| 精品在线一区二区| 国产精品久久久久久久久免费相片| 色综合天天在线| 日本亚洲三级在线| 国产亚洲精品免费| 在线亚洲免费视频| 久久精品国产久精国产爱| 欧美激情在线一区二区三区| 欧美午夜影院一区| 国产电影一区二区三区| 亚洲精品视频在线观看网站| 日韩一区二区三区av| 99久精品国产| 精品一区二区免费在线观看| 一区二区三区欧美激情| 日韩欧美成人午夜| 91亚洲精品一区二区乱码| 日本不卡一二三| 亚洲婷婷在线视频| 欧美xxxxxxxx| 欧洲人成人精品| 国产成人av电影| 日韩精品午夜视频| 亚洲欧美色综合| 精品1区2区在线观看| 欧美午夜免费电影| 成人一级黄色片| 久久疯狂做爰流白浆xx| 亚洲一区视频在线观看视频| 国产亚洲精品bt天堂精选| 在线综合亚洲欧美在线视频| 色综合天天做天天爱| 国产精品一区不卡| 免费在线视频一区| 夜夜嗨av一区二区三区| 国产精品理论片| 久久影院视频免费| 7777精品久久久大香线蕉| 91麻豆国产福利在线观看| 国产精品亚洲午夜一区二区三区| 日韩精品欧美精品| 亚洲成人激情自拍| 亚洲自拍偷拍图区| 亚洲视频一区二区在线观看| 国产日韩欧美亚洲| 久久综合中文字幕| 日韩午夜av电影| 欧美一区二区在线不卡| 欧美日韩第一区日日骚| 日本精品一区二区三区四区的功能| 国产成人精品三级麻豆| 久久99日本精品| 日日摸夜夜添夜夜添国产精品| 亚洲午夜在线视频| 亚洲免费高清视频在线| 亚洲丝袜另类动漫二区| 亚洲欧洲制服丝袜| 亚洲欧美福利一区二区| 亚洲男同1069视频| 国产精品毛片久久久久久| 国产精品美女久久久久久| 国产精品网友自拍| 亚洲免费在线观看视频| 一区二区视频在线看| 亚洲综合免费观看高清在线观看| 亚洲精品欧美专区| 亚洲制服丝袜av| 亚洲一区二区在线视频| 午夜久久电影网| 蜜桃av噜噜一区| 国产精品综合二区| 成人黄色网址在线观看| 色婷婷狠狠综合| 欧美色图在线观看| 欧美一卡在线观看| 久久午夜免费电影| 自拍偷拍亚洲综合| 亚洲成人av资源| 国产在线精品一区二区不卡了| 国产成人av电影在线观看| 日本精品视频一区二区| 91麻豆精品国产| 久久亚洲私人国产精品va媚药| 国产精品久久久久影院色老大| 亚洲女子a中天字幕| 午夜久久久影院| 国产乱人伦偷精品视频不卡| jlzzjlzz亚洲女人18| 欧美日韩一区二区三区不卡| 精品国产免费视频| 国产精品福利一区二区三区| 亚洲一二三四区| 国产一二三精品| 在线观看日韩电影| 精品国精品自拍自在线| 亚洲男女毛片无遮挡| 久久99国产精品久久| 91美女在线看| 欧美岛国在线观看| 亚洲精品视频在线观看免费| 韩日精品视频一区| 91成人看片片| 国产亚洲综合在线| 午夜精品久久一牛影视| 成人美女视频在线看| 欧美日韩国产电影| 欧美国产精品一区二区三区| 日韩国产精品大片| av不卡一区二区三区| 欧美www视频| 一级女性全黄久久生活片免费| 国产一区二区主播在线| 欧美乱熟臀69xxxxxx| 国产精品国产三级国产普通话99 | 亚洲三级电影网站| 麻豆久久久久久久| 欧美最猛性xxxxx直播| 中文字幕一区二区日韩精品绯色| 久久精品国产99国产| 欧美年轻男男videosbes| 中文字幕一区二区三区乱码在线| 国内偷窥港台综合视频在线播放| 欧美伊人久久久久久久久影院| 国产精品萝li| 国产成人激情av| 亚洲精品在线观看网站| 伦理电影国产精品| 91精品国产欧美一区二区成人| 一区二区三区免费| 94-欧美-setu| 国产精品久久久久影院老司| 国产一区二区伦理| 精品精品欲导航| 蜜桃传媒麻豆第一区在线观看| 7777精品伊人久久久大香线蕉| 亚洲国产一区二区三区| 在线观看精品一区| 亚洲午夜电影在线观看| 欧美影院一区二区| 亚洲综合免费观看高清在线观看| 色婷婷狠狠综合| 亚洲福利国产精品| 欧美情侣在线播放|