summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Ruggles <[email protected]>2012-02-28 18:52:30 -0500
committerAnton Khirnov <[email protected]>2012-10-18 10:27:50 +0200
commit5920d00d741796a7e1a53241c7814d529cb68455 (patch)
treedd9b28e69d3fa7a3c8c1ab8a699abf4b3f464a76
parent79fb7bc667dd4b9c899b3223d3e4fb5baa6c2e17 (diff)
libvorbis: fix use of minrate/maxrate AVOptions
- enable the options for audio encoding - properly check for user-set maxrate - use correct calling order in vorbis_encode_setup_managed() (cherry picked from commit 182d4f1f3855460ee8634ea052f33332cf9d174e) Conflicts: libavcodec/libvorbis.c Fixes a part of Bug 277 Signed-off-by: Anton Khirnov <[email protected]>
-rw-r--r--libavcodec/libvorbis.c6
-rw-r--r--libavcodec/options.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/libvorbis.c b/libavcodec/libvorbis.c
index 25e600671f..c790ff0f65 100644
--- a/libavcodec/libvorbis.c
+++ b/libavcodec/libvorbis.c
@@ -74,12 +74,12 @@ static av_cold int oggvorbis_init_encoder(vorbis_info *vi, AVCodecContext *avcco
return -1;
} else {
int minrate = avccontext->rc_min_rate > 0 ? avccontext->rc_min_rate : -1;
- int maxrate = avccontext->rc_min_rate > 0 ? avccontext->rc_max_rate : -1;
+ int maxrate = avccontext->rc_max_rate > 0 ? avccontext->rc_max_rate : -1;
/* constant bitrate */
if (vorbis_encode_setup_managed(vi, avccontext->channels,
- avccontext->sample_rate, minrate,
- avccontext->bit_rate, maxrate))
+ avccontext->sample_rate, maxrate,
+ avccontext->bit_rate, minrate))
return -1;
/* variable bitrate by estimate, disable slow rate management */
diff --git a/libavcodec/options.c b/libavcodec/options.c
index 26f3ab3b11..bd0083c826 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -226,8 +226,8 @@ static const AVOption options[]={
{"rc_qmod_freq", "experimental quantizer modulation", OFFSET(rc_qmod_freq), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
{"rc_override_count", NULL, OFFSET(rc_override_count), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX},
{"rc_eq", "set rate control equation", OFFSET(rc_eq), AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, V|E},
-{"maxrate", "set max video bitrate tolerance (in bits/s)", OFFSET(rc_max_rate), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"minrate", "set min video bitrate tolerance (in bits/s)", OFFSET(rc_min_rate), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
+{"maxrate", "set max bitrate tolerance (in bits/s)", OFFSET(rc_max_rate), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|A|E},
+{"minrate", "set min bitrate tolerance (in bits/s)", OFFSET(rc_min_rate), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|A|E},
{"bufsize", "set ratecontrol buffer size (in bits)", OFFSET(rc_buffer_size), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, A|V|E},
{"rc_buf_aggressivity", "currently useless", OFFSET(rc_buffer_aggressivity), AV_OPT_TYPE_FLOAT, {.dbl = 1.0 }, -FLT_MAX, FLT_MAX, V|E},
{"i_qfactor", "qp factor between P and I frames", OFFSET(i_quant_factor), AV_OPT_TYPE_FLOAT, {.dbl = -0.8 }, -FLT_MAX, FLT_MAX, V|E},