Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Mark Harris
Opus
Commits
a93f501c
Commit
a93f501c
authored
Mar 03, 2011
by
Jean-Marc Valin
Browse files
Fix PLC-based mode transition code.
parent
e2a09db9
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/opus_decoder.c
View file @
a93f501c
...
...
@@ -84,7 +84,7 @@ int opus_decode(OpusDecoder *st, const unsigned char *data,
int
mode
;
int
transition
=
0
;
int
start_band
;
int
redundancy
;
int
redundancy
=
0
;
/* Payloads of 1 (2 including ToC) or 0 trigger the PLC/DTX */
if
(
len
<=
2
)
...
...
@@ -189,21 +189,23 @@ int opus_decode(OpusDecoder *st, const unsigned char *data,
}
start_band
=
0
;
if
(
mode
==
MODE_HYBRID
)
if
(
mode
==
MODE_HYBRID
&&
data
!=
NULL
)
{
/* Check if we have a redundant 0-8 kHz band */
redundancy
=
ec_dec_bit_logp
(
&
dec
,
12
);
if
(
!
redundancy
)
start_band
=
17
;
}
celt_decoder_ctl
(
st
->
celt_dec
,
CELT_SET_START_BAND
(
start_band
));
if
(
redundancy
)
transition
=
0
;
if
(
transition
&&
mode
!=
MODE_CELT_ONLY
)
opus_decode
(
st
,
NULL
,
0
,
pcm_transition
,
IMAX
(
480
,
audiosize
),
0
);
/* MUST be after PLC */
celt_decoder_ctl
(
st
->
celt_dec
,
CELT_SET_START_BAND
(
start_band
));
if
(
mode
!=
MODE_SILK_ONLY
)
{
int
endband
;
...
...
src/opus_encoder.c
View file @
a93f501c
...
...
@@ -157,7 +157,10 @@ int opus_encode(OpusEncoder *st, const short *pcm, int frame_size,
/* Call SILK encoder for the low band */
nBytes
=
max_data_bytes
-
1
;
if
(
prefill
)
SKP_Silk_SDK_Encode
(
st
->
silk_enc
,
&
st
->
silk_mode
,
st
->
delay_buffer
,
ENCODER_BUFFER
,
NULL
,
0
,
1
);
{
int
zero
=
0
;
SKP_Silk_SDK_Encode
(
st
->
silk_enc
,
&
st
->
silk_mode
,
st
->
delay_buffer
,
ENCODER_BUFFER
,
NULL
,
&
zero
,
1
);
}
ret
=
SKP_Silk_SDK_Encode
(
st
->
silk_enc
,
&
st
->
silk_mode
,
pcm
,
frame_size
,
&
enc
,
&
nBytes
,
0
);
if
(
ret
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment