diff options
Diffstat (limited to 'apps/codecs/Tremor/floor1.c')
-rw-r--r-- | apps/codecs/Tremor/floor1.c | 19 |
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 { | |||
45 | static void floor1_free_info(vorbis_info_floor *i){ | 45 | static 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){ | |||
53 | static void floor1_free_look(vorbis_look_floor *i){ | 53 | static 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 | ||
61 | static int ilog(unsigned int v){ | 61 | static 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){ | |||
124 | static vorbis_look_floor *floor1_look(vorbis_dsp_state *vd,vorbis_info_mode *mi, | 124 | static 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 | ||
219 | static ogg_int32_t FLOOR_fromdB_LOOKUP[256] IDATA_ATTR ={ | 219 | static 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 */ |