Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------celt10
-rw-r--r--src/opus_encoder.c12
2 files changed, 15 insertions, 7 deletions
diff --git a/celt b/celt
-Subproject 263e27194898248d5ef9500df57075af35f5a86
+Subproject 7e983194a3ac7c775c7d370a5bf6d71bf68c264
diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index 41f2340b..a87852bd 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -175,6 +175,8 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size,
celt_encoder_ctl(st->celt_enc, CELT_SET_END_BAND(endband));
celt_encoder_ctl(st->celt_enc, CELT_SET_CHANNELS(st->stream_channels));
+ celt_encoder_ctl(st->celt_enc, CELT_SET_VBR(0));
+ celt_encoder_ctl(st->celt_enc, CELT_SET_BITRATE(510000));
if (st->mode == MODE_HYBRID)
{
int len;
@@ -187,10 +189,16 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size,
/* check if SILK used up too much */
nb_compr_bytes = len > bytes_target ? len : bytes_target;
}
-
} else {
celt_encoder_ctl(st->celt_enc, CELT_SET_START_BAND(0));
- nb_compr_bytes = bytes_target;
+ if (st->use_vbr)
+ {
+ celt_encoder_ctl(st->celt_enc, CELT_SET_VBR(1));
+ celt_encoder_ctl(st->celt_enc, CELT_SET_BITRATE(st->bitrate_bps));
+ nb_compr_bytes = max_data_bytes-1;
+ } else {
+ nb_compr_bytes = bytes_target;
+ }
}
for (i=0;i<ENCODER_DELAY_COMPENSATION*st->channels;i++)