summaryrefslogtreecommitdiff
path: root/apps/codecs/Tremor/floor1.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/Tremor/floor1.c')
-rw-r--r--apps/codecs/Tremor/floor1.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/apps/codecs/Tremor/floor1.c b/apps/codecs/Tremor/floor1.c
index 7f54aa76ea..9632dee9b0 100644
--- a/apps/codecs/Tremor/floor1.c
+++ b/apps/codecs/Tremor/floor1.c
@@ -45,7 +45,7 @@ typedef struct {
45static void floor1_free_info(vorbis_info_floor *i){ 45static void floor1_free_info(vorbis_info_floor *i){
46 vorbis_info_floor1 *info=(vorbis_info_floor1 *)i; 46 vorbis_info_floor1 *info=(vorbis_info_floor1 *)i;
47 if(info){ 47 if(info){
48 memset(info,0,sizeof(*info)); 48 //memset(info,0,sizeof(*info));
49 _ogg_free(info); 49 _ogg_free(info);
50 } 50 }
51} 51}
@@ -53,13 +53,13 @@ static void floor1_free_info(vorbis_info_floor *i){
53static void floor1_free_look(vorbis_look_floor *i){ 53static void floor1_free_look(vorbis_look_floor *i){
54 vorbis_look_floor1 *look=(vorbis_look_floor1 *)i; 54 vorbis_look_floor1 *look=(vorbis_look_floor1 *)i;
55 if(look){ 55 if(look){
56 memset(look,0,sizeof(*look)); 56 //memset(look,0,sizeof(*look));
57 _ogg_free(look); 57 _ogg_free(look);
58 } 58 }
59} 59}
60 60
61static int ilog(unsigned int v){ 61static inline int ilog(register unsigned int v){
62 int ret=0; 62 register int ret=0;
63 while(v){ 63 while(v){
64 ret++; 64 ret++;
65 v>>=1; 65 v>>=1;
@@ -124,7 +124,7 @@ static int icomp(const void *a,const void *b){
124static vorbis_look_floor *floor1_look(vorbis_dsp_state *vd,vorbis_info_mode *mi, 124static vorbis_look_floor *floor1_look(vorbis_dsp_state *vd,vorbis_info_mode *mi,
125 vorbis_info_floor *in){ 125 vorbis_info_floor *in){
126 126
127 static int *sortpointer[VIF_POSIT+2] IDATA_ATTR; 127 int *sortpointer[VIF_POSIT+2];
128 vorbis_info_floor1 *info=(vorbis_info_floor1 *)in; 128 vorbis_info_floor1 *info=(vorbis_info_floor1 *)in;
129 vorbis_look_floor1 *look=(vorbis_look_floor1 *)_ogg_calloc(1,sizeof(*look)); 129 vorbis_look_floor1 *look=(vorbis_look_floor1 *)_ogg_calloc(1,sizeof(*look));
130 int i,j,n=0; 130 int i,j,n=0;
@@ -216,7 +216,7 @@ static int render_point(int x0,int x1,int y0,int y1,int x){
216# define XdB(n) (n) 216# define XdB(n) (n)
217#endif 217#endif
218 218
219static ogg_int32_t FLOOR_fromdB_LOOKUP[256] IDATA_ATTR ={ 219static ogg_int32_t FLOOR_fromdB_LOOKUP[256] ={
220 XdB(0x000000e5), XdB(0x000000f4), XdB(0x00000103), XdB(0x00000114), 220 XdB(0x000000e5), XdB(0x000000f4), XdB(0x00000103), XdB(0x00000114),
221 XdB(0x00000126), XdB(0x00000139), XdB(0x0000014e), XdB(0x00000163), 221 XdB(0x00000126), XdB(0x00000139), XdB(0x0000014e), XdB(0x00000163),
222 XdB(0x0000017a), XdB(0x00000193), XdB(0x000001ad), XdB(0x000001c9), 222 XdB(0x0000017a), XdB(0x00000193), XdB(0x000001ad), XdB(0x000001c9),
@@ -313,16 +313,15 @@ static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in){
313 vorbis_look_floor1 *look=(vorbis_look_floor1 *)in; 313 vorbis_look_floor1 *look=(vorbis_look_floor1 *)in;
314 vorbis_info_floor1 *info=look->vi; 314 vorbis_info_floor1 *info=look->vi;
315 codec_setup_info *ci=(codec_setup_info *)vb->vd->vi->codec_setup; 315 codec_setup_info *ci=(codec_setup_info *)vb->vd->vi->codec_setup;
316
317 int i,j,k; 316 int i,j,k;
318 codebook *books=ci->fullbooks; 317 codebook *books=ci->fullbooks;
319 318
320 /* unpack wrapped/predicted values from stream */ 319 /* unpack wrapped/predicted values from stream */
321 if(oggpack_read(&vb->opb,1)==1){ 320 if(oggpack_read(&vb->opb,1)==1){
322 int *fit_value=(int *)_vorbis_block_alloc(vb,(look->posts)*sizeof(*fit_value)); 321 int *fit_value=(int *)_vorbis_block_alloc(vb,(look->posts)*sizeof(*fit_value));
323 322 int ilg = ilog(look->quant_q-1);
324 fit_value[0]=oggpack_read(&vb->opb,ilog(look->quant_q-1)); 323 fit_value[0]=oggpack_read(&vb->opb,ilg);
325 fit_value[1]=oggpack_read(&vb->opb,ilog(look->quant_q-1)); 324 fit_value[1]=oggpack_read(&vb->opb,ilg);
326 325
327 /* partition by partition */ 326 /* partition by partition */
328 /* partition by partition */ 327 /* partition by partition */