Parameter added for user to set the cutoff frequency when encoding with faac.
Patch by Luca Abeni - lucabe72 at email dot it. Originally committed as revision 4837 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:

committed by
Benjamin Larsson

parent
e0f80bd744
commit
14f0c8e28a
@@ -1982,6 +1982,13 @@ typedef struct AVCodecContext {
|
|||||||
* - decoding: unused
|
* - decoding: unused
|
||||||
*/
|
*/
|
||||||
int directpred;
|
int directpred;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* audio cutoff bandwidth (0 means "automatic") . Currently used only by FAAC
|
||||||
|
* - encoding: set by user.
|
||||||
|
* - decoding: unused
|
||||||
|
*/
|
||||||
|
int cutoff;
|
||||||
} AVCodecContext;
|
} AVCodecContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -57,6 +57,7 @@ static int Faac_encode_init(AVCodecContext *avctx)
|
|||||||
faac_cfg->useTns = 0;
|
faac_cfg->useTns = 0;
|
||||||
faac_cfg->allowMidside = 1;
|
faac_cfg->allowMidside = 1;
|
||||||
faac_cfg->bitRate = avctx->bit_rate / avctx->channels;
|
faac_cfg->bitRate = avctx->bit_rate / avctx->channels;
|
||||||
|
faac_cfg->bandWidth = avctx->cutoff;
|
||||||
if(avctx->flags & CODEC_FLAG_QSCALE) {
|
if(avctx->flags & CODEC_FLAG_QSCALE) {
|
||||||
faac_cfg->bitRate = 0;
|
faac_cfg->bitRate = 0;
|
||||||
faac_cfg->quantqual = avctx->global_quality / FF_QP2LAMBDA;
|
faac_cfg->quantqual = avctx->global_quality / FF_QP2LAMBDA;
|
||||||
|
@@ -494,6 +494,7 @@ static AVOption options[]={
|
|||||||
{"rate_emu", NULL, OFFSET(rate_emu), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
{"rate_emu", NULL, OFFSET(rate_emu), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
||||||
{"sample_rate", NULL, OFFSET(sample_rate), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
{"sample_rate", NULL, OFFSET(sample_rate), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
||||||
{"channels", NULL, OFFSET(channels), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
{"channels", NULL, OFFSET(channels), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
||||||
|
{"cutoff", "set cutoff bandwidth", OFFSET(cutoff), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, A|E},
|
||||||
{"frame_size", NULL, OFFSET(frame_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
{"frame_size", NULL, OFFSET(frame_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
||||||
{"frame_number", NULL, OFFSET(frame_number), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
{"frame_number", NULL, OFFSET(frame_number), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
||||||
{"real_pict_num", NULL, OFFSET(real_pict_num), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
{"real_pict_num", NULL, OFFSET(real_pict_num), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX},
|
||||||
|
Reference in New Issue
Block a user