hr mode: Allow half bitrate (fallback operation), and remove lower bound on decoding.

This commit is contained in:
Antoine Soulier
2024-01-23 15:33:08 -08:00
parent d9973b605b
commit 43d62807a3
2 changed files with 9 additions and 8 deletions

View File

@@ -744,8 +744,8 @@ int lc3_decode(struct lc3_decoder *decoder, const void *in, int nbytes,
if (!decoder)
return -1;
if (in && (nbytes < lc3_min_frame_bytes(decoder->dt, decoder->sr) ||
nbytes > lc3_max_frame_bytes(decoder->dt, decoder->sr) ))
if (in && (nbytes < LC3_MIN_FRAME_BYTES ||
nbytes > lc3_max_frame_bytes(decoder->dt, decoder->sr) ))
return -1;
/* --- Processing --- */

View File

@@ -56,19 +56,20 @@ const int lc3_ns_4m[LC3_NUM_SRATE] = {
/**
* Limits on size of frame
* For fallback operation, half-size should be accepted.
*/
const int lc3_frame_bytes_hr_lim
[LC3_NUM_DT][LC3_NUM_SRATE - LC3_SRATE_48K_HR][2] = {
[LC3_DT_2M5][LC3_SRATE_48K_HR - LC3_SRATE_48K_HR] = { 54, 210 },
[LC3_DT_2M5][LC3_SRATE_96K_HR - LC3_SRATE_48K_HR] = { 62, 210 },
[LC3_DT_2M5][LC3_SRATE_48K_HR - LC3_SRATE_48K_HR] = { 54/2, 210 },
[LC3_DT_2M5][LC3_SRATE_96K_HR - LC3_SRATE_48K_HR] = { 62/2, 210 },
[LC3_DT_5M ][LC3_SRATE_48K_HR - LC3_SRATE_48K_HR] = { 93, 375 },
[LC3_DT_5M ][LC3_SRATE_96K_HR - LC3_SRATE_48K_HR] = { 109, 375 },
[LC3_DT_5M ][LC3_SRATE_48K_HR - LC3_SRATE_48K_HR] = { 93/2, 375 },
[LC3_DT_5M ][LC3_SRATE_96K_HR - LC3_SRATE_48K_HR] = { 109/2, 375 },
[LC3_DT_10M][LC3_SRATE_48K_HR - LC3_SRATE_48K_HR] = { 156, 625 },
[LC3_DT_10M][LC3_SRATE_96K_HR - LC3_SRATE_48K_HR] = { 187, 625 },
[LC3_DT_10M][LC3_SRATE_48K_HR - LC3_SRATE_48K_HR] = { 156/2, 625 },
[LC3_DT_10M][LC3_SRATE_96K_HR - LC3_SRATE_48K_HR] = { 187/2, 625 },
};