aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-11-27 21:19:30 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-11-27 21:19:30 +0100
commite64edeed3ccbf6808218aeb55639e701f0dab40e (patch)
tree358d772e5cfbe74e04522dbf9d56e1b07de79ba4
parent1b1223872df87953d8025947f3e317c938da9bcc (diff)
downloadffmpeg-e64edeed3ccbf6808218aeb55639e701f0dab40e.tar.gz
aacenc: make the aac coder user choosable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/aacenc.c3
-rw-r--r--libavcodec/aacenc.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index d0b24d8b96..f2a184c7f2 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -224,7 +224,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
grouping[i] = s->chan_map[i + 1] == TYPE_CPE;
ff_psy_init(&s->psy, avctx, 2, sizes, lengths, s->chan_map[0], grouping);
s->psypp = ff_psy_preprocess_init(avctx);
- s->coder = &ff_aac_coders[2];
+ s->coder = &ff_aac_coders[s->options.aac_coder];
s->lambda = avctx->global_quality ? avctx->global_quality : 120;
@@ -690,6 +690,7 @@ static const AVOption aacenc_options[] = {
{"auto", "Selected by the Encoder", 0, AV_OPT_TYPE_CONST, {.dbl = -1 }, INT_MIN, INT_MAX, AACENC_FLAGS, "stereo_mode"},
{"ms_off", "Disable Mid/Side coding", 0, AV_OPT_TYPE_CONST, {.dbl = 0 }, INT_MIN, INT_MAX, AACENC_FLAGS, "stereo_mode"},
{"ms_force", "Force Mid/Side for the whole frame if possible", 0, AV_OPT_TYPE_CONST, {.dbl = 1 }, INT_MIN, INT_MAX, AACENC_FLAGS, "stereo_mode"},
+ {"aac_coder", "", offsetof(AACEncContext, options.aac_coder), AV_OPT_TYPE_INT, {.dbl = 2}, 0, AAC_CODER_NB-1, AACENC_FLAGS},
{NULL}
};
diff --git a/libavcodec/aacenc.h b/libavcodec/aacenc.h
index 8dcf27d6a9..e48fc18060 100644
--- a/libavcodec/aacenc.h
+++ b/libavcodec/aacenc.h
@@ -34,6 +34,7 @@
typedef struct AACEncOptions {
int stereo_mode;
+ int aac_coder;
} AACEncOptions;
struct AACEncContext;