Mercurial > libavcodec.hg
changeset 12258:86d6c00756cc libavcodec
aacenc: Favor log2f() and sqrtf() over log2() and sqrt().
author | alexc |
---|---|
date | Sat, 24 Jul 2010 02:10:59 +0000 |
parents | ad42f9293ec6 |
children | 97db3c60fb9c |
files | aaccoder.c |
diffstat | 1 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/aaccoder.c Fri Jul 23 22:37:42 2010 +0000 +++ b/aaccoder.c Sat Jul 24 02:10:59 2010 +0000 @@ -517,12 +517,12 @@ /** Return the minimum scalefactor where the quantized coef does not clip. */ static av_always_inline uint8_t coef2minsf(float coef) { - return av_clip_uint8(log2(coef)*4 - 69 + SCALE_ONE_POS - SCALE_DIV_512); + return av_clip_uint8(log2f(coef)*4 - 69 + SCALE_ONE_POS - SCALE_DIV_512); } /** Return the maximum scalefactor where the quantized coef is not zero. */ static av_always_inline uint8_t coef2maxsf(float coef) { - return av_clip_uint8(log2(coef)*4 + 6 + SCALE_ONE_POS - SCALE_DIV_512); + return av_clip_uint8(log2f(coef)*4 + 6 + SCALE_ONE_POS - SCALE_DIV_512); } typedef struct TrellisPath { @@ -572,7 +572,7 @@ int q0low = q0; int q1high = q1; //minimum scalefactor index is when maximum nonzero coefficient after quantizing is not clipped - int qnrg = av_clip_uint8(log2(sqrt(qnrgf/qcnt))*4 - 31 + SCALE_ONE_POS - SCALE_DIV_512); + int qnrg = av_clip_uint8(log2f(sqrtf(qnrgf/qcnt))*4 - 31 + SCALE_ONE_POS - SCALE_DIV_512); q1 = qnrg + 30; q0 = qnrg - 30; //av_log(NULL, AV_LOG_ERROR, "q0 %d, q1 %d\n", q0, q1); @@ -731,7 +731,7 @@ sce->sf_idx[w*16+g] = SCALE_ONE_POS; continue; } - sce->sf_idx[w*16+g] = SCALE_ONE_POS + FFMIN(log2(uplims[w*16+g]/minthr)*4,59); + sce->sf_idx[w*16+g] = SCALE_ONE_POS + FFMIN(log2f(uplims[w*16+g]/minthr)*4,59); } } @@ -925,7 +925,7 @@ continue; } sce->zeroes[w*16+g] = 0; - scf = prev_scf = av_clip(SCALE_ONE_POS - SCALE_DIV_512 - log2(1/maxq[w*16+g])*16/3, 60, 218); + scf = prev_scf = av_clip(SCALE_ONE_POS - SCALE_DIV_512 - log2f(1/maxq[w*16+g])*16/3, 60, 218); step = 16; for (;;) { float dist = 0.0f; @@ -954,7 +954,7 @@ if (curdiff <= 1.0f) step = 0; else - step = log2(curdiff); + step = log2f(curdiff); if (dist > uplim[w*16+g]) step = -step; scf += step; @@ -1007,7 +1007,7 @@ sce->sf_idx[(w+w2)*16+g] = 218; sce->zeroes[(w+w2)*16+g] = 1; } else { - sce->sf_idx[(w+w2)*16+g] = av_clip(SCALE_ONE_POS - SCALE_DIV_512 + log2(band->threshold), 80, 218); + sce->sf_idx[(w+w2)*16+g] = av_clip(SCALE_ONE_POS - SCALE_DIV_512 + log2f(band->threshold), 80, 218); sce->zeroes[(w+w2)*16+g] = 0; } minq = FFMIN(minq, sce->sf_idx[(w+w2)*16+g]);