Remove useless costly inf checks from the trellis scalefactor search.

Originally committed as revision 23319 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Alex Converse 2010-05-25 18:32:59 +00:00
parent acc9f51fe1
commit af2ee6fc49
1 changed files with 0 additions and 15 deletions

View File

@ -579,8 +579,6 @@ static void search_for_quantizers_anmr(AVCodecContext *avctx, AACEncContext *s,
for (i = 0; i < q1 - q0; i++) {
float cost;
if (isinf(paths[idx - 1][i].cost))
continue;
cost = paths[idx - 1][i].cost + dist
+ ff_aac_scalefactor_bits[q - i + SCALE_DIFF_ZERO];
if (cost < paths[idx][q].cost) {
@ -591,21 +589,8 @@ static void search_for_quantizers_anmr(AVCodecContext *avctx, AACEncContext *s,
}
} else {
for (q = 0; q < q1 - q0; q++) {
if (!isinf(paths[idx - 1][q].cost)) {
paths[idx][q].cost = paths[idx - 1][q].cost + 1;
paths[idx][q].prev = q;
continue;
}
for (i = 0; i < q1 - q0; i++) {
float cost;
if (isinf(paths[idx - 1][i].cost))
continue;
cost = paths[idx - 1][i].cost + ff_aac_scalefactor_bits[q - i + SCALE_DIFF_ZERO];
if (cost < paths[idx][q].cost) {
paths[idx][q].cost = cost;
paths[idx][q].prev = i;
}
}
}
}
sce->zeroes[w*16+g] = !nz;