Originally committed as revision 24473 to svn://svn.ffmpeg.org/ffmpeg/trunk
Unified · Split
| @@ -517,12 +517,12 @@ static void codebook_trellis_rate(AACEncContext *s, SingleChannelElement *sce, · 516 unmodified lines | ||
| 517 | 517 | |
| 518 | 518 | /** Return the minimum scalefactor where the quantized coef does not clip. */ |
| 519 | 519 | static av_always_inline uint8_t coef2minsf(float coef) { |
| 520 | − return av_clip_uint8(log2(coef)*4 - 69 + SCALE_ONE_POS - SCALE_DIV_512); | |
| 520 | + return av_clip_uint8(log2f(coef)*4 - 69 + SCALE_ONE_POS - SCALE_DIV_512); | |
| 521 | 521 | } |
| 522 | 522 | |
| 523 | 523 | /** Return the maximum scalefactor where the quantized coef is not zero. */ |
| 524 | 524 | static av_always_inline uint8_t coef2maxsf(float coef) { |
| 525 | − return av_clip_uint8(log2(coef)*4 + 6 + SCALE_ONE_POS - SCALE_DIV_512); | |
| 525 | + return av_clip_uint8(log2f(coef)*4 + 6 + SCALE_ONE_POS - SCALE_DIV_512); | |
| 526 | 526 | } |
| 527 | 527 | |
| 528 | 528 | typedef struct TrellisPath { |
| @@ -572,7 +572,7 @@ static void search_for_quantizers_anmr(AVCodecContext *avctx, AACEncContext *s, · 43 unmodified lines | ||
| 572 | 572 | int q0low = q0; |
| 573 | 573 | int q1high = q1; |
| 574 | 574 | //minimum scalefactor index is when maximum nonzero coefficient after quantizing is not clipped |
| 575 | − int qnrg = av_clip_uint8(log2(sqrt(qnrgf/qcnt))*4 - 31 + SCALE_ONE_POS - SCALE_DIV_512); | |
| 575 | + int qnrg = av_clip_uint8(log2f(sqrtf(qnrgf/qcnt))*4 - 31 + SCALE_ONE_POS - SCALE_DIV_512); | |
| 576 | 576 | q1 = qnrg + 30; |
| 577 | 577 | q0 = qnrg - 30; |
| 578 | 578 | //av_log(NULL, AV_LOG_ERROR, "q0 %d, q1 %d\n", q0, q1); |
| @@ -731,7 +731,7 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx, · 152 unmodified lines | ||
| 731 | 731 | sce->sf_idx[w*16+g] = SCALE_ONE_POS; |
| 732 | 732 | continue; |
| 733 | 733 | } |
| 734 | − sce->sf_idx[w*16+g] = SCALE_ONE_POS + FFMIN(log2(uplims[w*16+g]/minthr)*4,59); | |
| 734 | + sce->sf_idx[w*16+g] = SCALE_ONE_POS + FFMIN(log2f(uplims[w*16+g]/minthr)*4,59); | |
| 735 | 735 | } |
| 736 | 736 | } |
| 737 | 737 | |
| @@ -925,7 +925,7 @@ static void search_for_quantizers_faac(AVCodecContext *avctx, AACEncContext *s, · 187 unmodified lines | ||
| 925 | 925 | continue; |
| 926 | 926 | } |
| 927 | 927 | sce->zeroes[w*16+g] = 0; |
| 928 | − scf = prev_scf = av_clip(SCALE_ONE_POS - SCALE_DIV_512 - log2(1/maxq[w*16+g])*16/3, 60, 218); | |
| 928 | + scf = prev_scf = av_clip(SCALE_ONE_POS - SCALE_DIV_512 - log2f(1/maxq[w*16+g])*16/3, 60, 218); | |
| 929 | 929 | step = 16; |
| 930 | 930 | for (;;) { |
| 931 | 931 | float dist = 0.0f; |
| @@ -954,7 +954,7 @@ static void search_for_quantizers_faac(AVCodecContext *avctx, AACEncContext *s, · 22 unmodified lines | ||
| 954 | 954 | if (curdiff <= 1.0f) |
| 955 | 955 | step = 0; |
| 956 | 956 | else |
| 957 | − step = log2(curdiff); | |
| 957 | + step = log2f(curdiff); | |
| 958 | 958 | if (dist > uplim[w*16+g]) |
| 959 | 959 | step = -step; |
| 960 | 960 | scf += step; |
| @@ -1007,7 +1007,7 @@ static void search_for_quantizers_fast(AVCodecContext *avctx, AACEncContext *s, · 46 unmodified lines | ||
| 1007 | 1007 | sce->sf_idx[(w+w2)*16+g] = 218; |
| 1008 | 1008 | sce->zeroes[(w+w2)*16+g] = 1; |
| 1009 | 1009 | } else { |
| 1010 | − sce->sf_idx[(w+w2)*16+g] = av_clip(SCALE_ONE_POS - SCALE_DIV_512 + log2(band->threshold), 80, 218); | |
| 1010 | + sce->sf_idx[(w+w2)*16+g] = av_clip(SCALE_ONE_POS - SCALE_DIV_512 + log2f(band->threshold), 80, 218); | |
| 1011 | 1011 | sce->zeroes[(w+w2)*16+g] = 0; |
| 1012 | 1012 | } |
| 1013 | 1013 | minq = FFMIN(minq, sce->sf_idx[(w+w2)*16+g]); |