summaryrefslogtreecommitdiff
path: root/libavcodec/ac3enc.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-04-15 22:45:05 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2011-05-01 13:32:04 -0400
commita1d0f511fc3a758146d9384ccaab31743d8bd600 (patch)
tree6077d6a30be55c11748218bd9ce6daf4fe7270af /libavcodec/ac3enc.c
parentba6bce5140f09ed84d54f93fd5c816cbcf150c90 (diff)
ac3enc: remove bandwidth reduction as fallback for bit allocation failure.
It was only needed at low bitrates, which now already use a low bandwidth, so the bandwidth reduction is no longer needed.
Diffstat (limited to 'libavcodec/ac3enc.c')
-rw-r--r--libavcodec/ac3enc.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index b61021f097..6d899f5a24 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -1123,27 +1123,6 @@ static int downgrade_exponents(AC3EncodeContext *s)
/**
- * Reduce the bandwidth to reduce the number of bits used for a given SNR offset.
- * This is a second fallback for when bit allocation still fails after exponents
- * have been downgraded.
- * @return non-zero if bandwidth reduction was unsuccessful
- */
-static int reduce_bandwidth(AC3EncodeContext *s, int min_bw_code)
-{
- int ch;
-
- if (s->bandwidth_code[0] > min_bw_code) {
- for (ch = 0; ch < s->fbw_channels; ch++) {
- s->bandwidth_code[ch]--;
- s->nb_coefs[ch] = s->bandwidth_code[ch] * 3 + 73;
- }
- return 0;
- }
- return -1;
-}
-
-
-/**
* Perform bit allocation search.
* Finds the SNR offset value that maximizes quality and fits in the specified
* frame size. Output is the SNR offset and a set of bit allocation pointers
@@ -1168,15 +1147,6 @@ static int compute_bit_allocation(AC3EncodeContext *s)
continue;
}
- /* fallback 2: reduce bandwidth */
- /* only do this if the user has not specified a specific cutoff
- frequency */
- if (!s->cutoff && !reduce_bandwidth(s, 0)) {
- process_exponents(s);
- ret = compute_bit_allocation(s);
- continue;
- }
-
/* fallbacks were not enough... */
break;
}