Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sst_dsp.h
Go to the documentation of this file.
1 #ifndef __SST_DSP_H__
2 #define __SST_DSP_H__
3 /*
4  * sst_dsp.h - Intel SST Driver for audio engine
5  *
6  * Copyright (C) 2008-12 Intel Corporation
7  * Authors: Vinod Koul <[email protected]>
8  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; version 2 of the License.
13  *
14  * This program is distributed in the hope that it will be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License along
20  * with this program; if not, write to the Free Software Foundation, Inc.,
21  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
22  *
23  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24  */
25 
27  /* AUDIO/MUSIC CODEC Type Definitions */
29  SST_CODEC_TYPE_PCM, /* Pass through Audio codec */
35 };
36 
40 };
41 
43  u16 codec; /* codec type */
44  u8 num_chan; /* 1=Mono, 2=Stereo */
45  u8 pcm_wd_sz; /* 16/24 - bit*/
46  u32 reserved; /* Bitrate in bits per second */
47  u32 sfreq; /* Sampling rate in Hz */
52 } __packed;
53 
54 /* MP3 Music Parameters Message */
57  u8 num_chan; /* 1=Mono, 2=Stereo */
58  u8 pcm_wd_sz; /* 16/24 - bit*/
59  u8 crc_check; /* crc_check - disable (0) or enable (1) */
60  u8 reserved1; /* unused*/
61  u16 reserved2; /* Unused */
62 } __packed;
63 
64 #define AAC_BIT_STREAM_ADTS 0
65 #define AAC_BIT_STREAM_ADIF 1
66 #define AAC_BIT_STREAM_RAW 2
67 
68 /* AAC Music Parameters Message */
71  u8 num_chan; /* 1=Mono, 2=Stereo*/
72  u8 pcm_wd_sz; /* 16/24 - bit*/
73  u8 bdownsample; /*SBR downsampling 0 - disable 1 -enabled AAC+ only */
74  u8 bs_format; /* input bit stream format adts=0, adif=1, raw=2 */
76  u32 externalsr; /*sampling rate of basic AAC raw bit stream*/
77  u8 sbr_signalling;/*disable/enable/set automode the SBR tool.AAC+*/
80 } __packed;
81 
82 /* WMA Music Parameters Message */
85  u8 num_chan; /* 1=Mono, 2=Stereo */
86  u8 pcm_wd_sz; /* 16/24 - bit*/
87  u32 brate; /* Use the hard coded value. */
88  u32 sfreq; /* Sampling freq eg. 8000, 441000, 48000 */
89  u32 channel_mask; /* Channel Mask */
90  u16 format_tag; /* Format Tag */
91  u16 block_align; /* packet size */
92  u16 wma_encode_opt;/* Encoder option */
93  u8 op_align; /* op align 0- 16 bit, 1- MSB, 2 LSB */
94  u8 reserved; /* reserved */
95 } __packed;
96 
97 /* Codec params struture */
103 } __packed;
104 
105 /* Address and size info of a frame buffer */
107  u32 addr; /* Address at IA */
108  u32 size; /* Size of the buffer */
109 };
110 
116  u32 frag_size; /*Number of samples after which period elapsed
117  message is sent valid only if path = 0*/
118 } __packed;
119 
122 } __packed;
123 
132 };
133 
134 #endif /* __SST_DSP_H__ */