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

View File

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