Hi Pali, On Tue, Jan 29, 2019 at 1:12 AM Pali Rohár <pali.rohar@xxxxxxxxx> wrote: > > According to A2DP specification; section SBC; Codec Specific Information > Elements; Minimum / Maximum Bitpool Value, range for Bitpool value is from > 2 to 250. > > A2DP specification also defines bitpool values for two SBC modes: Middle > Quality and High Quality. They depends on channel mode and frequency. So > add definitions for them into a2dp-codecs file too. > > File android/hal-audio-sbc.c was updated to use High Quality mode for > chosen frequency. > --- > android/hal-audio-sbc.c | 6 +++--- > profiles/audio/a2dp-codecs.h | 12 +++++++++++- > 2 files changed, 14 insertions(+), 4 deletions(-) > > diff --git a/android/hal-audio-sbc.c b/android/hal-audio-sbc.c > index 80e271ed6..f11f40108 100644 > --- a/android/hal-audio-sbc.c > +++ b/android/hal-audio-sbc.c > @@ -92,7 +92,7 @@ static const a2dp_sbc_t sbc_presets[] = { > .block_length = SBC_BLOCK_LENGTH_4 | SBC_BLOCK_LENGTH_8 | > SBC_BLOCK_LENGTH_12 | SBC_BLOCK_LENGTH_16, > .min_bitpool = SBC_MIN_BITPOOL, > - .max_bitpool = SBC_MAX_BITPOOL > + .max_bitpool = SBC_BITPOOL_HIGH_QUALITY_JOINT_STEREO_44100, > }, > { > .frequency = SBC_SAMPLING_FREQ_44100, > @@ -101,7 +101,7 @@ static const a2dp_sbc_t sbc_presets[] = { > .allocation_method = SBC_ALLOCATION_LOUDNESS, > .block_length = SBC_BLOCK_LENGTH_16, > .min_bitpool = SBC_MIN_BITPOOL, > - .max_bitpool = SBC_MAX_BITPOOL > + .max_bitpool = SBC_BITPOOL_HIGH_QUALITY_JOINT_STEREO_44100, > }, > { > .frequency = SBC_SAMPLING_FREQ_48000, > @@ -110,7 +110,7 @@ static const a2dp_sbc_t sbc_presets[] = { > .allocation_method = SBC_ALLOCATION_LOUDNESS, > .block_length = SBC_BLOCK_LENGTH_16, > .min_bitpool = SBC_MIN_BITPOOL, > - .max_bitpool = SBC_MAX_BITPOOL > + .max_bitpool = SBC_BITPOOL_HIGH_QUALITY_JOINT_STEREO_48000, > }, > }; > > diff --git a/profiles/audio/a2dp-codecs.h b/profiles/audio/a2dp-codecs.h > index 16088dc26..9bdd0f0b8 100644 > --- a/profiles/audio/a2dp-codecs.h > +++ b/profiles/audio/a2dp-codecs.h > @@ -53,8 +53,18 @@ > #define SBC_ALLOCATION_SNR (1 << 1) > #define SBC_ALLOCATION_LOUDNESS 1 > > -#define SBC_MAX_BITPOOL 64 > #define SBC_MIN_BITPOOL 2 > +#define SBC_MAX_BITPOOL 250 > + > +/* Other settings: Block length = 16, Allocation method = Loudness, Subbands = 8 */ > +#define SBC_BITPOOL_MIDDLE_QUALITY_MONO_44100 19 > +#define SBC_BITPOOL_MIDDLE_QUALITY_MONO_48000 18 > +#define SBC_BITPOOL_MIDDLE_QUALITY_JOINT_STEREO_44100 35 > +#define SBC_BITPOOL_MIDDLE_QUALITY_JOINT_STEREO_48000 33 > +#define SBC_BITPOOL_HIGH_QUALITY_MONO_44100 31 > +#define SBC_BITPOOL_HIGH_QUALITY_MONO_48000 29 > +#define SBC_BITPOOL_HIGH_QUALITY_JOINT_STEREO_44100 53 > +#define SBC_BITPOOL_HIGH_QUALITY_JOINT_STEREO_48000 51 Im quite fine with the new defines just their names could be a bit shorter, perhaps use MQ and HQ for middle and high quality. > #define MPEG_CHANNEL_MODE_MONO (1 << 3) > #define MPEG_CHANNEL_MODE_DUAL_CHANNEL (1 << 2) > -- > 2.11.0 > -- Luiz Augusto von Dentz