Mercurial > mplayer.hg
view tremor/window.c @ 21477:706ee13d09f1
help_mp-de.h:
r21367: If a glyph is not found in the current font, switch to another one.
r21476: Open embedded fonts directly from memory. [...]
mplayer.1:
r21357: Cycling through video tracks works with libavformat as well.
r21398: improve description of lavf's i_certify_that_my_video_stream_does_not_use_b_frames
r21399: fix suggested by Diego
r21410: document new meaning of dia=-1 introduced by lavc r7192
r21413: mark lavc's uneven multi-hexagon search as slow, remove stray '.'
r21430: documented -mpegopts :[va]buf_size
r21441: Audio track switching works for AVI and libavformat as well.
r21446: Remove long-deprecated -vop option.
r21449: Merge dga/nodga suboption of vo_vesa, no short forms.
r21452: document s3fb video out driver
r21484: documented -mpegopts :tele_src and :tele_dest
r21486: Improoving readability of pullup filter section
r21487: document s3fb suboption, [...]
author | kraymer |
---|---|
date | Mon, 04 Dec 2006 19:06:19 +0000 |
parents | 8631a3803289 |
children | e83eef58b30a |
line wrap: on
line source
/******************************************************************** * * * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * * * * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * * * ******************************************************************** function: window functions ********************************************************************/ #include <stdlib.h> #include <math.h> #include "os.h" #include "misc.h" #include "window.h" #include "window_lookup.h" const void *_vorbis_window(int type, int left){ switch(type){ case 0: switch(left){ case 32: return vwin64; case 64: return vwin128; case 128: return vwin256; case 256: return vwin512; case 512: return vwin1024; case 1024: return vwin2048; case 2048: return vwin4096; case 4096: return vwin8192; default: return(0); } break; default: return(0); } } void _vorbis_apply_window(ogg_int32_t *d,const void *window_p[2], long *blocksizes, int lW,int W,int nW){ LOOKUP_T *window[2]={window_p[0],window_p[1]}; long n=blocksizes[W]; long ln=blocksizes[lW]; long rn=blocksizes[nW]; long leftbegin=n/4-ln/4; long leftend=leftbegin+ln/2; long rightbegin=n/2+n/4-rn/4; long rightend=rightbegin+rn/2; int i,p; for(i=0;i<leftbegin;i++) d[i]=0; for(p=0;i<leftend;i++,p++) d[i]=MULT31(d[i],window[lW][p]); for(i=rightbegin,p=rn/2-1;i<rightend;i++,p--) d[i]=MULT31(d[i],window[nW][p]); for(;i<n;i++) d[i]=0; }