mirror of https://git.ffmpeg.org/ffmpeg.git
aacenc: Don't lowpass the input unless specifically requested.
The heuristic for estimating a good cutoff is busted. Originally committed as revision 22779 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
008593be52
commit
636da41a20
|
@ -80,17 +80,14 @@ av_cold struct FFPsyPreprocessContext* ff_psy_preprocess_init(AVCodecContext *av
|
||||||
{
|
{
|
||||||
FFPsyPreprocessContext *ctx;
|
FFPsyPreprocessContext *ctx;
|
||||||
int i;
|
int i;
|
||||||
float cutoff_coeff;
|
float cutoff_coeff = 0;
|
||||||
ctx = av_mallocz(sizeof(FFPsyPreprocessContext));
|
ctx = av_mallocz(sizeof(FFPsyPreprocessContext));
|
||||||
ctx->avctx = avctx;
|
ctx->avctx = avctx;
|
||||||
|
|
||||||
if (avctx->cutoff > 0)
|
if (avctx->cutoff > 0)
|
||||||
cutoff_coeff = 2.0 * avctx->cutoff / avctx->sample_rate;
|
cutoff_coeff = 2.0 * avctx->cutoff / avctx->sample_rate;
|
||||||
else if (avctx->flags & CODEC_FLAG_QSCALE)
|
|
||||||
cutoff_coeff = 1.0f / av_clip(1 + avctx->global_quality / FF_QUALITY_SCALE, 1, 8);
|
|
||||||
else
|
|
||||||
cutoff_coeff = avctx->bit_rate / (4.0f * avctx->sample_rate * avctx->channels);
|
|
||||||
|
|
||||||
|
if (cutoff_coeff)
|
||||||
ctx->fcoeffs = ff_iir_filter_init_coeffs(FF_FILTER_TYPE_BUTTERWORTH, FF_FILTER_MODE_LOWPASS,
|
ctx->fcoeffs = ff_iir_filter_init_coeffs(FF_FILTER_TYPE_BUTTERWORTH, FF_FILTER_MODE_LOWPASS,
|
||||||
FILT_ORDER, cutoff_coeff, 0.0, 0.0);
|
FILT_ORDER, cutoff_coeff, 0.0, 0.0);
|
||||||
if (ctx->fcoeffs) {
|
if (ctx->fcoeffs) {
|
||||||
|
|
Loading…
Reference in New Issue