Parameter added for user to set the cutoff frequency when encoding with faac.
authorLuca Abeni <lucabe72@email.it>
Tue, 10 Jan 2006 20:07:29 +0000 (20:07 +0000)
committerBenjamin Larsson <banan@ludd.ltu.se>
Tue, 10 Jan 2006 20:07:29 +0000 (20:07 +0000)
Patch by Luca Abeni - lucabe72 at email dot it.

Originally committed as revision 4837 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/avcodec.h
libavcodec/faac.c
libavcodec/utils.c

index 033cec2..a7e504f 100644 (file)
@@ -1982,6 +1982,13 @@ typedef struct AVCodecContext {
      * - decoding: unused
      */
     int directpred;
+    
+    /**
+     * audio cutoff bandwidth (0 means "automatic") . Currently used only by FAAC
+     * - encoding: set by user.
+     * - decoding: unused
+     */
+    int cutoff;
 } AVCodecContext;
 
 /**
index 99331df..d275f3c 100644 (file)
@@ -57,6 +57,7 @@ static int Faac_encode_init(AVCodecContext *avctx)
     faac_cfg->useTns = 0;
     faac_cfg->allowMidside = 1;
     faac_cfg->bitRate = avctx->bit_rate / avctx->channels;
+    faac_cfg->bandWidth = avctx->cutoff;
     if(avctx->flags & CODEC_FLAG_QSCALE) {
         faac_cfg->bitRate = 0;
         faac_cfg->quantqual = avctx->global_quality / FF_QP2LAMBDA;
index ede6cc7..da74865 100644 (file)
@@ -494,6 +494,7 @@ static AVOption options[]={
 {"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},
 {"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_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},