From d8477c840930e71d873d8d8489a59c478700b08f Mon Sep 17 00:00:00 2001 From: Vidyakumar Athota Date: Mon, 17 Jun 2019 14:01:55 -0700 Subject: [PATCH 1/2] uapi: sound : update audio decoder format headers Audio decoder format headers are updated for compress offload usecases. Change-Id: Ia68d47ae01209a565c6752c5dc6103040acfe95d Signed-off-by: Vidyakumar Athota --- include/uapi/sound/compress_params.h | 63 +++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/include/uapi/sound/compress_params.h b/include/uapi/sound/compress_params.h index 7a7096fb2035..3efba8469594 100644 --- a/include/uapi/sound/compress_params.h +++ b/include/uapi/sound/compress_params.h @@ -82,7 +82,11 @@ #define SND_AUDIOCODEC_G723_1 ((__u32) 0x0000000C) #define SND_AUDIOCODEC_G729 ((__u32) 0x0000000D) #define SND_AUDIOCODEC_BESPOKE ((__u32) 0x0000000E) -#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_BESPOKE +#define SND_AUDIOCODEC_WMA_PRO ((__u32) 0x0000000F) +#define SND_AUDIOCODEC_ALAC ((__u32) 0x00000010) +#define SND_AUDIOCODEC_APE ((__u32) 0x00000011) +#define SND_AUDIOCODEC_DSD ((__u32) 0x00000012) +#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_DSD /* * Profile and modes are listed with bit masks. This allows for a @@ -324,12 +328,69 @@ struct snd_enc_generic { __s32 reserved[15]; /* Can be used for SND_AUDIOCODEC_BESPOKE */ } __attribute__((packed, aligned(4))); +#define SND_COMPRESS_DEC_HDR +struct snd_dec_aac { + __u16 audio_obj_type; + __u16 pce_bits_size; +} __attribute__((packed, aligned(4))); + +struct snd_dec_flac { + __u16 sample_size; + __u16 min_blk_size; + __u16 max_blk_size; + __u16 min_frame_size; + __u16 max_frame_size; +} __attribute__((packed, aligned(4))); + +struct snd_dec_alac { + __u32 frame_length; + __u8 compatible_version; + __u8 bit_depth; + __u8 pb; + __u8 mb; + __u8 kb; + __u8 num_channels; + __u16 max_run; + __u32 max_frame_bytes; + __u32 avg_bit_rate; + __u32 sample_rate; + __u32 channel_layout_tag; +} __attribute__((packed, aligned(4))); + +struct snd_dec_ape { + __u16 compatible_version; + __u16 compression_level; + __u32 format_flags; + __u32 blocks_per_frame; + __u32 final_frame_blocks; + __u32 total_frames; + __u16 bits_per_sample; + __u16 num_channels; + __u32 sample_rate; + __u32 seek_table_present; +} __attribute__((packed, aligned(4))); + +struct snd_dec_wma { + __u32 super_block_align; + __u32 bits_per_sample; + __u32 channelmask; + __u32 encodeopt; + __u32 encodeopt1; + __u32 encodeopt2; + __u32 avg_bit_rate; +} __attribute__((packed, aligned(4))); + union snd_codec_options { struct snd_enc_wma wma; struct snd_enc_vorbis vorbis; struct snd_enc_real real; struct snd_enc_flac flac; struct snd_enc_generic generic; + struct snd_dec_aac aac_dec; + struct snd_dec_flac flac_dec; + struct snd_dec_alac alac_dec; + struct snd_dec_ape ape_dec; + struct snd_dec_wma wma_dec; } __attribute__((packed, aligned(4))); /** struct snd_codec_desc - description of codec capabilities From b90fab6f89c645fe362273bce1ac2a3b36ab24e0 Mon Sep 17 00:00:00 2001 From: Dhanalakshmi Siddani Date: Mon, 16 Jan 2017 15:17:50 +0530 Subject: [PATCH 2/2] ALSA: compress: Add APTX format support in ALSA Extend ALSA (Advanced Linux Sound Architecture) compress to support APTX format. CRs-Fixed: 1106128 Change-Id: I301c3fac1f0e267ca82f20a42437bae86a22413c Signed-off-by: Dhanalakshmi Siddani --- include/uapi/sound/compress_params.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/include/uapi/sound/compress_params.h b/include/uapi/sound/compress_params.h index 3efba8469594..a49c29fc2e30 100644 --- a/include/uapi/sound/compress_params.h +++ b/include/uapi/sound/compress_params.h @@ -86,7 +86,8 @@ #define SND_AUDIOCODEC_ALAC ((__u32) 0x00000010) #define SND_AUDIOCODEC_APE ((__u32) 0x00000011) #define SND_AUDIOCODEC_DSD ((__u32) 0x00000012) -#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_DSD +#define SND_AUDIOCODEC_APTX ((__u32) 0x00000013) +#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_APTX /* * Profile and modes are listed with bit masks. This allows for a @@ -380,6 +381,12 @@ struct snd_dec_wma { __u32 avg_bit_rate; } __attribute__((packed, aligned(4))); +struct snd_dec_aptx { + __u32 lap; + __u32 uap; + __u32 nap; +}; + union snd_codec_options { struct snd_enc_wma wma; struct snd_enc_vorbis vorbis; @@ -391,6 +398,7 @@ union snd_codec_options { struct snd_dec_alac alac_dec; struct snd_dec_ape ape_dec; struct snd_dec_wma wma_dec; + struct snd_dec_aptx aptx_dec; } __attribute__((packed, aligned(4))); /** struct snd_codec_desc - description of codec capabilities