⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mat_scale_set_shift_para.c

📁 MPEG2/MPEG4编解码参考程序(实现了MPEG4的部分功能)
💻 C
字号:
/*****************************************************************************//* This software module was originally developed by                          *//*   Takeshi Norimatsu,                                                      *//*   Mineo Tsushima,                                                         *//*   and Tomokazu Ishikawa (Matsushita Electric Industrial Co Ltd.)          *//* and edited by                                                             *//*   Akio Jin (NTT),                                                         *//*   Mineo Tsushima, (Matsushita Electric Industrial Co Ltd.)                *//*   and Tomokazu Ishikawa (Matsushita Electric Industrial Co Ltd.)          *//*   on 1997-10-23,                                                          *//* in the course of development of the                                       *//* MPEG-2 NBC/MPEG-4 Audio standard ISO/IEC 13818-7, 14496-1,2 and 3.        *//* This software module is an implementation of a part of one or more        *//* MPEG-2 NBC/MPEG-4 Audio tools as specified by the MPEG-2 NBC/MPEG-4 Audio *//* standard. ISO/IEC  gives users of the MPEG-2 NBC/MPEG-4 Audio standards   *//* free license to this software module or modifications thereof for use in  *//* hardware or software products claiming conformance to the MPEG-2 NBC/     *//* MPEG-4 Audio  standards. Those intending to use this software module in   *//* hardware or software products are advised that this use may infringe      *//* existing patents. The original developer of this software module and      *//* his/her company, the subsequent editors and their companies, and ISO/IEC  *//* have no liability for use of this software module or modifications        *//* thereof in an implementation. Copyright is not released for non           *//* MPEG-2 NBC/MPEG-4 Audio conforming products. The original developer       *//* retains full right to use the code for his/her  own purpose, assign or    *//* donate the code to a third party and to inhibit third party from using    *//* the code for non MPEG-2 NBC/MPEG-4 Audio conforming products.             *//* This copyright notice must be included in all copies or derivative works. *//* Copyright (c)1996.                                                        *//*****************************************************************************/#ifdef __cplusplusextern "C" {#endif#include <stdio.h>#include "block.h"               /* handler, defines, enums */#include "buffersHandle.h"       /* handler, defines, enums */#include "interface.h"           /* handler, defines, enums */#include "mod_bufHandle.h"       /* handler, defines, enums */#include "resilienceHandle.h"    /* handler, defines, enums */#include "tf_mainHandle.h"       /* handler, defines, enums */#include "nok_ltp_common.h"      /* structs */#include "tf_mainStruct.h"       /* structs */#include "tns.h"                 /* structs */#include "ntt_conf.h"#include "ntt_scale_conf.h"#include "mat_def_ntt.h"/* For Enh-2 moving */int mat_scale_set_shift_para2(int iscl, int *bark_table,			  ntt_INDEX* ntt_index){	int ii, i_ch;	double band_l, band_h, band_ref;   for(i_ch=0; i_ch<ntt_index->numChannel; i_ch++){	band_l= 	   ntt_index->nttDataScl->ac_btm[iscl][i_ch][mat_shift[iscl][i_ch]];	band_h= 	   ntt_index->nttDataScl->ac_top[iscl][i_ch][mat_shift[iscl][i_ch]];	band_ref= 	   ntt_index->nttDataScl->ac_btm[1][i_ch][mat_shift[1][i_ch]];	if(iscl>=0) {	 float dave, ave, ave0, ave1, iitmp, iitmp2, hltmp;          /* Long */                hltmp = (float)(band_h-band_l);		ave0 = (float)ntt_index->block_size_samples*hltmp;		ave =  ave0/(float)ntt_N_CRB_SCL;                dave = ave/(float)ntt_N_CRB_SCL;		ave1 = (float)band_l*(float)ntt_index->block_size_samples;                bark_table [i_ch*ntt_N_CRB_SCL+ntt_N_CRB_SCL-1] =		     (int)ave1+(int)ave0;		for(ii=0;ii<ntt_N_CRB_SCL-1;ii++){		   iitmp = (float)(ii+1);		   iitmp2 = iitmp*iitmp;		   iitmp *= ave;		   iitmp *= 0.5;		   iitmp2 *= dave;		   iitmp2 *= 0.5;		   iitmp2 += 0.5;		   iitmp2 += iitmp;		   bark_table[i_ch*ntt_N_CRB_SCL+ii] =		     (int)ave1+ (int)iitmp2;		}	}       }	return(0);}#ifdef __cplusplus}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -