summaryrefslogtreecommitdiff
path: root/silk/stereo_LR_to_MS.c
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2011-10-07 18:08:41 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2011-10-07 18:08:41 -0400
commit6e5f6d048a6369f014baab946a895af73d6cc342 (patch)
tree5e42e1b546230034d44616828488b5deed73187a /silk/stereo_LR_to_MS.c
parentd5c9263724287664bf8631ecaa89a7ae23cc3f6d (diff)
downloadopus-6e5f6d048a6369f014baab946a895af73d6cc342.tar.gz
Prevents a SILK stereo encoding-side desync
We now make sure that side is given >0 bits when it isn't disabled.
Diffstat (limited to 'silk/stereo_LR_to_MS.c')
-rw-r--r--silk/stereo_LR_to_MS.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/silk/stereo_LR_to_MS.c b/silk/stereo_LR_to_MS.c
index 9db12444..7fbb3ae7 100644
--- a/silk/stereo_LR_to_MS.c
+++ b/silk/stereo_LR_to_MS.c
@@ -168,6 +168,11 @@ void silk_stereo_LR_to_MS(
width_Q14 = state->smth_width_Q14;
}
+ if (*mid_only_flag == 0 && mid_side_rates_bps[ 1 ] < 1)
+ {
+ mid_side_rates_bps[ 1 ] = 1;
+ mid_side_rates_bps[ 0 ] = silk_max_int( 1, total_rate_bps - mid_side_rates_bps[ 1 ]);
+ }
#if 0
DEBUG_STORE_DATA( midside.dat, &mid_side_rates_bps[ 0 ], 8 );
DEBUG_STORE_DATA( norms0.pcm, &state->mid_side_amp_Q0[0], 8 );