From af2ee6fc4921a81133c0915985e05781505c2ff8 Mon Sep 17 00:00:00 2001
From: Alex Converse <alex.converse@gmail.com>
Date: Tue, 25 May 2010 18:32:59 +0000
Subject: [PATCH] Remove useless costly inf checks from the trellis scalefactor
 search.

Originally committed as revision 23319 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/aaccoder.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/libavcodec/aaccoder.c b/libavcodec/aaccoder.c
index 951e297d09c..1cdadb17de0 100644
--- a/libavcodec/aaccoder.c
+++ b/libavcodec/aaccoder.c
@@ -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;
-- 
GitLab