www.pudn.com > AVS_M_ver10.rar > window.c
/*
***********************************************************************
* COPYRIGHT AND WARRANTY INFORMATION
*
* Copyright 2007 Audio Video Coding Standard, Part ¢ú
*
* This software module was developed by AVS Audio sub-group
*
* 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.
************************************************************************
*/
#include <math.h>
#define PI2 6.283185307
#include "../include/amr_plus.h"
/*----------------------------------------------------------*
* Procedure cos_window: *
* ~~~~~~~~~~~ *
* To find the cos window of length n1+n2 *
* *
* fh[i] = cos(-pi/2 ... pi/2) *
*----------------------------------------------------------*/
void cos_window(float *fh, int n1, int n2)
{
double cc, cte;
int i;
cte = 0.25*PI2/(float)n1;
cc = 0.5*cte - 0.25*PI2;
for (i = 0; i < n1; i++)
{
*fh++ = (float)cos(cc);
cc += cte;
}
cte = 0.25*PI2/(float)n2;
cc = 0.5*cte;
for (i = 0; i < n2; i++)
{
*fh++ = (float)cos(cc);
cc += cte;
}
return;
}