Home | History | Annotate | Download | only in Tremolo

Lines Matching full:info

48 void res_clear_info(vorbis_info_residue *info){
49 if(info){
50 if(info->stagemasks)_ogg_free(info->stagemasks);
51 if(info->stagebooks)_ogg_free(info->stagebooks);
52 memset(info,0,sizeof(*info));
58 int res_unpack(vorbis_info_residue *info,
62 memset(info,0,sizeof(*info));
64 info->type=oggpack_read(opb,16);
65 if(info->type>2 || info->type<0)goto errout;
66 info->begin=oggpack_read(opb,24);
67 info->end=oggpack_read(opb,24);
68 info->grouping=oggpack_read(opb,24)+1;
69 info->partitions=(char)(oggpack_read(opb,6)+1);
70 info->groupbook=(unsigned char)oggpack_read(opb,8);
71 if(info->groupbook>=ci->books)goto errout;
73 info->stagemasks=_ogg_malloc(info->partitions*sizeof(*info->stagemasks));
74 info->stagebooks=_ogg_malloc(info->partitions*8*sizeof(*info->stagebooks));
76 for(j=0;j<info->partitions;j++){
80 info->stagemasks[j]=cascade;
83 for(j=0;j<info->partitions;j++){
85 if((info->stagemasks[j]>>k)&1){
88 info->stagebooks[j*8+k]=book;
89 if(k+1>info->stages)info->stages=k+1;
91 info->stagebooks[j*8+k]=0xff;
99 res_clear_info(info);
103 int res_inverse(vorbis_dsp_state *vd,vorbis_info_residue *info,
108 codebook *phrasebook=ci->book_param+info->groupbook;
109 int samples_per_partition=info->grouping;
113 if(info->type<2){
115 int end=(info->end<max?info->end:max);
116 int n=end-info->begin;
134 for(s=0;s<info->stages;s++){
142 partword[0][i+k]=partword[0][i+k+1]*info->partitions;
166 long offset=info->begin+i*samples_per_partition;
167 if(info->stagemasks[(int)partword[j][i]]&(1<<s)){
169 info->stagebooks[(partword[j][i]<<3)+s];
170 if(info->type){
187 int end=(info->end<max?info->end:max);
188 int n=end-info->begin;
196 int beginoff=info->begin/ch;
203 for(s=0;s<info->stages;s++){
210 partword[i+k]=partword[i+k+1]*info->partitions;
227 if(info->stagemasks[(int)partword[i]]&(1<<s)){
229 info->stagebooks[(partword[i]<<3)+s];