Lines Matching full:info
54 vorbis_info_floor1 *info=(vorbis_info_floor1 *)i; in floor1_free_info() local
55 if(info){ in floor1_free_info()
56 if(info->klass)_ogg_free(info->klass); in floor1_free_info()
57 if(info->partitionclass)_ogg_free(info->partitionclass); in floor1_free_info()
58 if(info->postlist)_ogg_free(info->postlist); in floor1_free_info()
59 if(info->forward_index)_ogg_free(info->forward_index); in floor1_free_info()
60 if(info->hineighbor)_ogg_free(info->hineighbor); in floor1_free_info()
61 if(info->loneighbor)_ogg_free(info->loneighbor); in floor1_free_info()
62 memset(info,0,sizeof(*info)); in floor1_free_info()
63 _ogg_free(info); in floor1_free_info()
111 vorbis_info_floor1 *info=(vorbis_info_floor1 *)_ogg_calloc(1,sizeof(*info)); in floor1_info_unpack() local
113 info->partitions=oggpack_read(opb,5); /* only 0 to 31 legal */ in floor1_info_unpack()
114 info->partitionclass= in floor1_info_unpack()
115 (char *)_ogg_malloc(info->partitions*sizeof(*info->partitionclass)); in floor1_info_unpack()
116 for(j=0;j<info->partitions;j++){ in floor1_info_unpack()
117 info->partitionclass[j]=(char)oggpack_read(opb,4); /* only 0 to 15 legal */ in floor1_info_unpack()
118 if(maxclass<info->partitionclass[j])maxclass=info->partitionclass[j]; in floor1_info_unpack()
122 info->klass= in floor1_info_unpack()
123 (floor1class *)_ogg_malloc((maxclass+1)*sizeof(*info->klass)); in floor1_info_unpack()
125 info->klass[j].class_dim=(char)oggpack_read(opb,3)+1; /* 1 to 8 */ in floor1_info_unpack()
126 info->klass[j].class_subs=(char)oggpack_read(opb,2); /* 0,1,2,3 bits */ in floor1_info_unpack()
128 if(info->klass[j].class_subs) in floor1_info_unpack()
129 info->klass[j].class_book=(unsigned char)oggpack_read(opb,8); in floor1_info_unpack()
131 info->klass[j].class_book=0; in floor1_info_unpack()
132 if(info->klass[j].class_book>=ci->books)goto err_out; in floor1_info_unpack()
133 for(k=0;k<(1<<info->klass[j].class_subs);k++){ in floor1_info_unpack()
134 info->klass[j].class_subbook[k]=(unsigned char)(oggpack_read(opb,8)-1); in floor1_info_unpack()
135 if(info->klass[j].class_subbook[k]>=ci->books && in floor1_info_unpack()
136 info->klass[j].class_subbook[k]!=0xff)goto err_out; in floor1_info_unpack()
141 info->mult=oggpack_read(opb,2)+1; /* only 1,2,3,4 legal now */ in floor1_info_unpack()
144 for(j=0,k=0;j<info->partitions;j++) in floor1_info_unpack()
145 count+=info->klass[info->partitionclass[j]].class_dim; in floor1_info_unpack()
146 info->postlist= in floor1_info_unpack()
147 (ogg_uint16_t *)_ogg_malloc((count+2)*sizeof(*info->postlist)); in floor1_info_unpack()
148 info->forward_index= in floor1_info_unpack()
149 (char *)_ogg_malloc((count+2)*sizeof(*info->forward_index)); in floor1_info_unpack()
150 info->loneighbor= in floor1_info_unpack()
151 (char *)_ogg_malloc(count*sizeof(*info->loneighbor)); in floor1_info_unpack()
152 info->hineighbor= in floor1_info_unpack()
153 (char *)_ogg_malloc(count*sizeof(*info->hineighbor)); in floor1_info_unpack()
156 for(j=0,k=0;j<info->partitions;j++){ in floor1_info_unpack()
157 count+=info->klass[info->partitionclass[j]].class_dim; in floor1_info_unpack()
159 int t=info->postlist[k+2]=(ogg_uint16_t)oggpack_read(opb,rangebits); in floor1_info_unpack()
164 info->postlist[0]=0; in floor1_info_unpack()
165 info->postlist[1]=1<<rangebits; in floor1_info_unpack()
166 info->posts=count+2; in floor1_info_unpack()
169 for(j=0;j<info->posts;j++)info->forward_index[j]=j; in floor1_info_unpack()
170 mergesort(info->forward_index,info->postlist,info->posts); in floor1_info_unpack()
174 for(j=0;j<info->posts-2;j++){ in floor1_info_unpack()
178 int hx=info->postlist[1]; in floor1_info_unpack()
179 int currentx=info->postlist[j+2]; in floor1_info_unpack()
181 int x=info->postlist[k]; in floor1_info_unpack()
191 info->loneighbor[j]=lo; in floor1_info_unpack()
192 info->hineighbor[j]=hi; in floor1_info_unpack()
195 return(info); in floor1_info_unpack()
198 floor1_free_info(info); in floor1_info_unpack()
283 vorbis_info_floor1 *info=(vorbis_info_floor1 *)i; in floor1_memosize() local
284 return info->posts; in floor1_memosize()
291 vorbis_info_floor1 *info=(vorbis_info_floor1 *)in; in floor1_inverse1() local
296 int quant_q=quant_look[info->mult-1]; in floor1_inverse1()
305 for(i=0,j=2;i<info->partitions;i++){ in floor1_inverse1()
306 int classv=info->partitionclass[i]; in floor1_inverse1()
307 int cdim=info->klass[classv].class_dim; in floor1_inverse1()
308 int csubbits=info->klass[classv].class_subs; in floor1_inverse1()
314 cval=vorbis_book_decode(books+info->klass[classv].class_book,&vd->opb); in floor1_inverse1()
320 int book=info->klass[classv].class_subbook[cval&(csub-1)]; in floor1_inverse1()
333 for(i=2;i<info->posts;i++){ in floor1_inverse1()
334 int predicted=render_point(info->postlist[info->loneighbor[i-2]], in floor1_inverse1()
335 info->postlist[info->hineighbor[i-2]], in floor1_inverse1()
336 fit_value[info->loneighbor[i-2]], in floor1_inverse1()
337 fit_value[info->hineighbor[i-2]], in floor1_inverse1()
338 info->postlist[i]); in floor1_inverse1()
360 fit_value[info->loneighbor[i-2]]&=0x7fff; in floor1_inverse1()
361 fit_value[info->hineighbor[i-2]]&=0x7fff; in floor1_inverse1()
377 vorbis_info_floor1 *info=(vorbis_info_floor1 *)in; in floor1_inverse2() local
387 int ly=fit_value[0]*info->mult; in floor1_inverse2()
388 for(j=1;j<info->posts;j++){ in floor1_inverse2()
389 int current=info->forward_index[j]; in floor1_inverse2()
393 hy*=info->mult; in floor1_inverse2()
394 hx=info->postlist[current]; in floor1_inverse2()