1 /********************************************************************
3 * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. *
4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY *
5 * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. *
6 * PLEASE READ THESE TERMS DISTRIBUTING. *
8 * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999 *
9 * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company *
10 * http://www.xiph.org/ *
12 ********************************************************************
14 function: window functions
15 author: Monty <xiphmont@mit.edu>
16 modifications by: Monty
17 last modification date: Jul 27 1999
19 ********************************************************************/
24 /* The 'vorbis window' is sin(sin(x)*sin(x)*2pi) */
26 double *_vorbis_window(int window,int left,int right){
27 double *ret=calloc(window,sizeof(double));
28 int leftbegin=window/4-left/2;
29 int rightbegin=window-window/4-right/2;
33 double x=(i+.5)/left*M_PI/2.;
41 for(i=leftbegin+left;i<rightbegin;i++)
45 double x=(right-i-.5)/right*M_PI/2.;