msm: audio: qdsp6v2: Add support for other voice and mp3 codec
Added below support
-MP3 decode
-Voice decode(AMRNB\EVRC\QCELP\AMRWB)
-AMRWB encode
Change-Id: If62c869fb485ebb3f4e5cdfcb8fed743707434e9
Signed-off-by: Alex Wong <waiw@codeaurora.org>
Signed-off-by: Deepa Madiregama <dmadireg@codeaurora.org>
Signed-off-by: Rajesha Kini <rkini@codeaurora.org>
Signed-off-by: Deepa Madiregama <dmadireg@codeaurora.org>
diff --git a/include/sound/apr_audio.h b/include/sound/apr_audio.h
index d2a7dba..aff1ce8 100644
--- a/include/sound/apr_audio.h
+++ b/include/sound/apr_audio.h
@@ -768,6 +768,11 @@
u16 dtx_mode;
};
+struct asm_amrwb_read_cfg {
+ u16 mode;
+ u16 dtx_mode;
+};
+
struct asm_evrc_read_cfg {
u16 max_rate;
u16 min_rate;
@@ -819,6 +824,7 @@
struct asm_evrc_read_cfg evrc;
struct asm_qcelp13_read_cfg qcelp13;
struct asm_sbc_read_cfg sbc;
+ struct asm_amrwb_read_cfg amrwb;
} __attribute__((packed)) cfg;
};
@@ -849,6 +855,7 @@
#define MP3 0x00010BE9
#define MPEG4_AAC 0x00010BEA
#define AMRNB_FS 0x00010BEB
+#define AMRWB_FS 0x00010BEC
#define V13K_FS 0x00010BED
#define EVRC_FS 0x00010BEE
#define EVRCB_FS 0x00010BEF
diff --git a/include/sound/q6asm.h b/include/sound/q6asm.h
index fc7e521..f146684 100644
--- a/include/sound/q6asm.h
+++ b/include/sound/q6asm.h
@@ -236,6 +236,9 @@
int q6asm_enc_cfg_blk_amrnb(struct audio_client *ac, uint32_t frames_per_buf,
uint16_t band_mode, uint16_t dtx_enable);
+int q6asm_enc_cfg_blk_amrwb(struct audio_client *ac, uint32_t frames_per_buf,
+ uint16_t band_mode, uint16_t dtx_enable);
+
int q6asm_media_format_block_pcm(struct audio_client *ac,
uint32_t rate, uint32_t channels);
@@ -281,4 +284,8 @@
int q6asm_get_apr_service_id(int session_id);
#endif
+/* Common format block without any payload
+*/
+int q6asm_media_format_block(struct audio_client *ac, uint32_t format);
+
#endif /* __Q6_ASM_H__ */