diff options
author | Timothy B. Terriberry <tterribe@xiph.org> | 2011-02-03 14:52:50 -0800 |
---|---|---|
committer | Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> | 2011-02-03 22:32:27 -0500 |
commit | a1dd0fcf93c241f2f8852080e0ed3f33d129ca14 (patch) | |
tree | 8b2ef6f798a1b4ef647ce0b1ad93806c32e39310 | |
parent | 50b20d78a383a23f8840bc8f6ae223769638bd42 (diff) | |
download | opus-a1dd0fcf93c241f2f8852080e0ed3f33d129ca14.tar.gz |
Update Opus range coder due to CELT refactoring.
The byte buffer is now part of the range coder struct itself, and
rangeenc.c and rangedec.c have gone away.
m--------- | celt | 6 | ||||
-rw-r--r-- | celt_sources.mk | 2 | ||||
m--------- | silk | 14 | ||||
-rw-r--r-- | src/opus_decoder.c | 4 | ||||
-rw-r--r-- | src/opus_encoder.c | 10 |
5 files changed, 14 insertions, 22 deletions
diff --git a/celt b/celt -Subproject ef986e44211bc0fd3820700b61e552828a0d8c6 +Subproject 7d2200be41538645b5e5765b4aa2ea5bab99003 diff --git a/celt_sources.mk b/celt_sources.mk index a9ad5d03..76e4710b 100644 --- a/celt_sources.mk +++ b/celt_sources.mk @@ -12,7 +12,5 @@ celt/libcelt/modes.c \ celt/libcelt/pitch.c \ celt/libcelt/plc.c \ celt/libcelt/quant_bands.c \ -celt/libcelt/rangedec.c \ -celt/libcelt/rangeenc.c \ celt/libcelt/rate.c \ celt/libcelt/vq.c diff --git a/silk b/silk -Subproject 111b23f648a45d3a034050e579a531d0592dc72 +Subproject fc06bda89e40f8adfa1af9cebf869e63ef693bb diff --git a/src/opus_decoder.c b/src/opus_decoder.c index cb6fef2f..a57e1a26 100644 --- a/src/opus_decoder.c +++ b/src/opus_decoder.c @@ -79,7 +79,6 @@ int opus_decode(OpusDecoder *st, const unsigned char *data, { int i, silk_ret=0, celt_ret=0; ec_dec dec; - ec_byte_buffer buf; SKP_SILK_SDK_DecControlStruct DecControl; SKP_int32 silk_frame_size; short pcm_celt[960*2]; @@ -116,8 +115,7 @@ int opus_decode(OpusDecoder *st, const unsigned char *data, len -= 1; data += 1; - ec_byte_readinit(&buf,(unsigned char*)data,len); - ec_dec_init(&dec,&buf); + ec_dec_init(&dec,(unsigned char*)data,len); } else { audiosize = frame_size; } diff --git a/src/opus_encoder.c b/src/opus_encoder.c index 17164b68..2fe0f5dd 100644 --- a/src/opus_encoder.c +++ b/src/opus_encoder.c @@ -95,7 +95,6 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size, int ret=0; SKP_int32 nBytes; ec_enc enc; - ec_byte_buffer buf; int framerate, period; int silk_internal_bandwidth; int bytes_target; @@ -103,8 +102,7 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size, bytes_target = st->bitrate_bps * frame_size / (st->Fs * 8) - 1; data += 1; - ec_byte_writeinit_buffer(&buf, data, max_data_bytes-1); - ec_enc_init(&enc,&buf); + ec_enc_init(&enc, data, max_data_bytes-1); /* SILK processing */ if (st->mode != MODE_CELT_ONLY) { @@ -194,7 +192,7 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size, int len; celt_encoder_ctl(st->celt_enc, CELT_SET_START_BAND(17)); - len = (ec_enc_tell(&enc, 0)+7)>>3; + len = (ec_tell(&enc)+7)>>3; if( st->use_vbr ) { nb_compr_bytes = len + (st->bitrate_bps - 12000) * frame_size / (2 * 8 * st->Fs); } else { @@ -218,14 +216,14 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size, for (;i<frame_size*st->channels;i++) pcm_buf[i] = pcm[i-ENCODER_DELAY_COMPENSATION*st->channels]; - ec_byte_shrink(&buf, nb_compr_bytes); + ec_enc_shrink(&enc, nb_compr_bytes); /* Encode high band with CELT */ ret = celt_encode_with_ec(st->celt_enc, pcm_buf, frame_size, NULL, nb_compr_bytes, &enc); for (i=0;i<ENCODER_DELAY_COMPENSATION*st->channels;i++) st->delay_buffer[i] = pcm[frame_size*st->channels-ENCODER_DELAY_COMPENSATION*st->channels+i]; } else { - ret = (ec_enc_tell(&enc, 0)+7)>>3; + ret = (ec_tell(&enc)+7)>>3; ec_enc_done(&enc); } |