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.
This commit is contained in:
Justin Ruggles 2011-04-15 22:45:05 -04:00
parent ba6bce5140
commit a1d0f511fc
1 changed files with 0 additions and 30 deletions

View File

@ -1122,27 +1122,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
@ -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;
}