Mercurial > libavcodec.hg
comparison aaccoder.c @ 9938:6c1ac45b3097 libavcodec
cosmetics: Remove unnecessary {} around if/for blocks;
move statements after if/for to the next line.
| author | diego |
|---|---|
| date | Wed, 08 Jul 2009 21:36:33 +0000 |
| parents | 3e39dbd2d9eb |
| children | 6c5a58b34997 |
comparison
equal
deleted
inserted
replaced
| 9937:3e39dbd2d9eb | 9938:6c1ac45b3097 |
|---|---|
| 82 | 82 |
| 83 static void abs_pow34_v(float *out, const float *in, const int size) | 83 static void abs_pow34_v(float *out, const float *in, const int size) |
| 84 { | 84 { |
| 85 #ifndef USE_REALLY_FULL_SEARCH | 85 #ifndef USE_REALLY_FULL_SEARCH |
| 86 int i; | 86 int i; |
| 87 for (i = 0; i < size; i++) { | 87 for (i = 0; i < size; i++) |
| 88 out[i] = pow(fabsf(in[i]), 0.75); | 88 out[i] = pow(fabsf(in[i]), 0.75); |
| 89 } | |
| 90 #endif /* USE_REALLY_FULL_SEARCH */ | 89 #endif /* USE_REALLY_FULL_SEARCH */ |
| 91 } | 90 } |
| 92 | 91 |
| 93 static av_always_inline int quant2(float coef, const float Q) | 92 static av_always_inline int quant2(float coef, const float Q) |
| 94 { | 93 { |
| 139 int minbits = 0; | 138 int minbits = 0; |
| 140 const float *vec; | 139 const float *vec; |
| 141 #ifndef USE_REALLY_FULL_SEARCH | 140 #ifndef USE_REALLY_FULL_SEARCH |
| 142 int (*quants)[2] = &s->qcoefs[i]; | 141 int (*quants)[2] = &s->qcoefs[i]; |
| 143 mincost = 0.0f; | 142 mincost = 0.0f; |
| 144 for (j = 0; j < dim; j++) { | 143 for (j = 0; j < dim; j++) |
| 145 mincost += in[i+j]*in[i+j]*lambda; | 144 mincost += in[i+j]*in[i+j]*lambda; |
| 146 } | |
| 147 minidx = IS_CODEBOOK_UNSIGNED(cb) ? 0 : 40; | 145 minidx = IS_CODEBOOK_UNSIGNED(cb) ? 0 : 40; |
| 148 minbits = ff_aac_spectral_bits[cb-1][minidx]; | 146 minbits = ff_aac_spectral_bits[cb-1][minidx]; |
| 149 mincost += minbits; | 147 mincost += minbits; |
| 150 for (j = 0; j < (1<<dim); j++) { | 148 for (j = 0; j < (1<<dim); j++) { |
| 151 float rd = 0.0f; | 149 float rd = 0.0f; |
| 254 int minbits = 0; | 252 int minbits = 0; |
| 255 const float *vec; | 253 const float *vec; |
| 256 #ifndef USE_REALLY_FULL_SEARCH | 254 #ifndef USE_REALLY_FULL_SEARCH |
| 257 int (*quants)[2] = &s->qcoefs[i]; | 255 int (*quants)[2] = &s->qcoefs[i]; |
| 258 mincost = 0.0f; | 256 mincost = 0.0f; |
| 259 for (j = 0; j < dim; j++) { | 257 for (j = 0; j < dim; j++) |
| 260 mincost += in[i+j]*in[i+j]*lambda; | 258 mincost += in[i+j]*in[i+j]*lambda; |
| 261 } | |
| 262 minidx = IS_CODEBOOK_UNSIGNED(cb) ? 0 : 40; | 259 minidx = IS_CODEBOOK_UNSIGNED(cb) ? 0 : 40; |
| 263 minbits = ff_aac_spectral_bits[cb-1][minidx]; | 260 minbits = ff_aac_spectral_bits[cb-1][minidx]; |
| 264 mincost += minbits; | 261 mincost += minbits; |
| 265 for (j = 0; j < (1<<dim); j++) { | 262 for (j = 0; j < (1<<dim); j++) { |
| 266 float rd = 0.0f; | 263 float rd = 0.0f; |
| 427 } | 424 } |
| 428 | 425 |
| 429 //convert resulting path from backward-linked list | 426 //convert resulting path from backward-linked list |
| 430 stack_len = 0; | 427 stack_len = 0; |
| 431 idx = 0; | 428 idx = 0; |
| 432 for (cb = 1; cb < 12; cb++) { | 429 for (cb = 1; cb < 12; cb++) |
| 433 if (path[max_sfb][cb].cost < path[max_sfb][idx].cost) | 430 if (path[max_sfb][cb].cost < path[max_sfb][idx].cost) |
| 434 idx = cb; | 431 idx = cb; |
| 435 } | |
| 436 ppos = max_sfb; | 432 ppos = max_sfb; |
| 437 while (ppos > 0) { | 433 while (ppos > 0) { |
| 438 cb = idx; | 434 cb = idx; |
| 439 stackrun[stack_len] = path[ppos][cb].run; | 435 stackrun[stack_len] = path[ppos][cb].run; |
| 440 stackcb [stack_len] = cb; | 436 stackcb [stack_len] = cb; |
| 521 } | 517 } |
| 522 sce->zeroes[(w+w2)*16+g] = 0; | 518 sce->zeroes[(w+w2)*16+g] = 0; |
| 523 nz = 1; | 519 nz = 1; |
| 524 for (i = 0; i < sce->ics.swb_sizes[g]; i++) { | 520 for (i = 0; i < sce->ics.swb_sizes[g]; i++) { |
| 525 float t = fabsf(coefs[w2*128+i]); | 521 float t = fabsf(coefs[w2*128+i]); |
| 526 if (t > 0.0f) qmin = fminf(qmin, t); | 522 if (t > 0.0f) |
| 523 qmin = fminf(qmin, t); | |
| 527 qmax = fmaxf(qmax, t); | 524 qmax = fmaxf(qmax, t); |
| 528 } | 525 } |
| 529 } | 526 } |
| 530 if (nz) { | 527 if (nz) { |
| 531 int minscale, maxscale; | 528 int minscale, maxscale; |
| 538 float dists[12], dist; | 535 float dists[12], dist; |
| 539 memset(dists, 0, sizeof(dists)); | 536 memset(dists, 0, sizeof(dists)); |
| 540 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) { | 537 for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) { |
| 541 FFPsyBand *band = &s->psy.psy_bands[s->cur_channel*PSY_MAX_BANDS+(w+w2)*16+g]; | 538 FFPsyBand *band = &s->psy.psy_bands[s->cur_channel*PSY_MAX_BANDS+(w+w2)*16+g]; |
| 542 int cb; | 539 int cb; |
| 543 for (cb = 0; cb <= ESC_BT; cb++) { | 540 for (cb = 0; cb <= ESC_BT; cb++) |
| 544 dists[cb] += quantize_band_cost(s, coefs + w2*128, s->scoefs + start + w2*128, sce->ics.swb_sizes[g], | 541 dists[cb] += quantize_band_cost(s, coefs + w2*128, s->scoefs + start + w2*128, sce->ics.swb_sizes[g], |
| 545 q, cb, lambda / band->threshold, INFINITY, NULL); | 542 q, cb, lambda / band->threshold, INFINITY, NULL); |
| 546 } | |
| 547 } | 543 } |
| 548 dist = dists[0]; | 544 dist = dists[0]; |
| 549 for (i = 1; i <= ESC_BT; i++) | 545 for (i = 1; i <= ESC_BT; i++) |
| 550 dist = fminf(dist, dists[i]); | 546 dist = fminf(dist, dists[i]); |
| 551 minrd = fminf(minrd, dist); | 547 minrd = fminf(minrd, dist); |
| 723 start += sce->ics.swb_sizes[g]; | 719 start += sce->ics.swb_sizes[g]; |
| 724 prev = sce->sf_idx[w*16+g]; | 720 prev = sce->sf_idx[w*16+g]; |
| 725 } | 721 } |
| 726 } | 722 } |
| 727 if (tbits > destbits) { | 723 if (tbits > destbits) { |
| 728 for (i = 0; i < 128; i++) { | 724 for (i = 0; i < 128; i++) |
| 729 if (sce->sf_idx[i] < 218 - qstep) { | 725 if (sce->sf_idx[i] < 218 - qstep) |
| 730 sce->sf_idx[i] += qstep; | 726 sce->sf_idx[i] += qstep; |
| 731 } | |
| 732 } | |
| 733 } else { | 727 } else { |
| 734 for (i = 0; i < 128; i++) { | 728 for (i = 0; i < 128; i++) |
| 735 if (sce->sf_idx[i] > 60 - qstep) { | 729 if (sce->sf_idx[i] > 60 - qstep) |
| 736 sce->sf_idx[i] -= qstep; | 730 sce->sf_idx[i] -= qstep; |
| 737 } | |
| 738 } | |
| 739 } | 731 } |
| 740 qstep >>= 1; | 732 qstep >>= 1; |
| 741 if (!qstep && tbits > destbits*1.02) | 733 if (!qstep && tbits > destbits*1.02) |
| 742 qstep = 1; | 734 qstep = 1; |
| 743 if (sce->sf_idx[0] >= 217)break; | 735 if (sce->sf_idx[0] >= 217) |
| 736 break; | |
| 744 } while (qstep); | 737 } while (qstep); |
| 745 | 738 |
| 746 fflag = 0; | 739 fflag = 0; |
| 747 minscaler = av_clip(minscaler, 60, 255 - SCALE_MAX_DIFF); | 740 minscaler = av_clip(minscaler, 60, 255 - SCALE_MAX_DIFF); |
| 748 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) { | 741 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) { |
| 914 if (!sce->sf_idx[i]) | 907 if (!sce->sf_idx[i]) |
| 915 sce->sf_idx[i] = sce->sf_idx[i-1]; | 908 sce->sf_idx[i] = sce->sf_idx[i-1]; |
| 916 else | 909 else |
| 917 minq = FFMIN(minq, sce->sf_idx[i]); | 910 minq = FFMIN(minq, sce->sf_idx[i]); |
| 918 } | 911 } |
| 919 if (minq == INT_MAX) minq = 0; | 912 if (minq == INT_MAX) |
| 913 minq = 0; | |
| 920 minq = FFMIN(minq, SCALE_MAX_POS); | 914 minq = FFMIN(minq, SCALE_MAX_POS); |
| 921 maxsf = FFMIN(minq + SCALE_MAX_DIFF, SCALE_MAX_POS); | 915 maxsf = FFMIN(minq + SCALE_MAX_DIFF, SCALE_MAX_POS); |
| 922 for (i = 126; i >= 0; i--) { | 916 for (i = 126; i >= 0; i--) { |
| 923 if (!sce->sf_idx[i]) | 917 if (!sce->sf_idx[i]) |
| 924 sce->sf_idx[i] = sce->sf_idx[i+1]; | 918 sce->sf_idx[i] = sce->sf_idx[i+1]; |
| 949 minq = FFMIN(minq, sce->sf_idx[(w+w2)*16+g]); | 943 minq = FFMIN(minq, sce->sf_idx[(w+w2)*16+g]); |
| 950 } | 944 } |
| 951 } | 945 } |
| 952 } | 946 } |
| 953 for (i = 0; i < 128; i++) { | 947 for (i = 0; i < 128; i++) { |
| 954 sce->sf_idx[i] = 140;//av_clip(sce->sf_idx[i], minq, minq + SCALE_MAX_DIFF - 1); | 948 sce->sf_idx[i] = 140; |
| 949 //av_clip(sce->sf_idx[i], minq, minq + SCALE_MAX_DIFF - 1); | |
| 955 } | 950 } |
| 956 //set the same quantizers inside window groups | 951 //set the same quantizers inside window groups |
| 957 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) | 952 for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) |
| 958 for (g = 0; g < sce->ics.num_swb; g++) | 953 for (g = 0; g < sce->ics.num_swb; g++) |
| 959 for (w2 = 1; w2 < sce->ics.group_len[w]; w2++) | 954 for (w2 = 1; w2 < sce->ics.group_len[w]; w2++) |
