| ... | ... |
@@ -2141,6 +2141,17 @@ static av_cold int validate_options(AC3EncodeContext *s) |
| 2141 | 2141 |
s->bit_alloc.sr_code = i % 3; |
| 2142 | 2142 |
s->bitstream_id = s->eac3 ? 16 : 8 + s->bit_alloc.sr_shift; |
| 2143 | 2143 |
|
| 2144 |
+ /* select a default bit rate if not set by the user */ |
|
| 2145 |
+ if (!avctx->bit_rate) {
|
|
| 2146 |
+ switch (s->fbw_channels) {
|
|
| 2147 |
+ case 1: avctx->bit_rate = 96000; break; |
|
| 2148 |
+ case 2: avctx->bit_rate = 192000; break; |
|
| 2149 |
+ case 3: avctx->bit_rate = 320000; break; |
|
| 2150 |
+ case 4: avctx->bit_rate = 384000; break; |
|
| 2151 |
+ case 5: avctx->bit_rate = 448000; break; |
|
| 2152 |
+ } |
|
| 2153 |
+ } |
|
| 2154 |
+ |
|
| 2144 | 2155 |
/* validate bit rate */ |
| 2145 | 2156 |
if (s->eac3) {
|
| 2146 | 2157 |
int max_br, min_br, wpf, min_br_dist, min_br_code; |
| ... | ... |
@@ -20,6 +20,7 @@ |
| 20 | 20 |
*/ |
| 21 | 21 |
|
| 22 | 22 |
#include "libavutil/opt.h" |
| 23 |
+#include "internal.h" |
|
| 23 | 24 |
#include "ac3.h" |
| 24 | 25 |
|
| 25 | 26 |
#if AC3ENC_TYPE == AC3ENC_TYPE_AC3_FIXED |
| ... | ... |
@@ -78,3 +79,8 @@ static const AVOption eac3_options[] = {
|
| 78 | 78 |
{"auto", "Selected by the Encoder", 0, AV_OPT_TYPE_CONST, {.dbl = AC3ENC_OPT_AUTO }, INT_MIN, INT_MAX, AC3ENC_PARAM, "cpl_start_band"},
|
| 79 | 79 |
{NULL}
|
| 80 | 80 |
}; |
| 81 |
+ |
|
| 82 |
+static const AVCodecDefault ac3_defaults[] = {
|
|
| 83 |
+ { "b", "0" },
|
|
| 84 |
+ { NULL }
|
|
| 85 |
+}; |