Lines Matching +full:spi +full:- +full:feedback +full:- +full:delay

2 ALSA Compress-Offload API
5 Pierre-Louis.Bossart <pierre-louis.bossart@linux.intel.com>
18 in system-on-chip designs, and DSPs are also integrated in audio
20 reduction of power consumption compared to host-based
27 provide a control and data-streaming interface for audio DSPs.
29 The design of this API was inspired by the 2-year experience with the
39 - separation between byte counts and time. Compressed formats may have
41 may vary from frame-to-frame. As a result, it is not possible to
44 reliable audio-video synchronization, which requires precise
47 - Handling of multiple formats. PCM data only requires a specification
54 - Focus on main formats. This API provides support for the most
59 - Handling of multiple configurations. Even for a given format like
60 AAC, some implementations may support AAC multichannel but HE-AAC
65 - Rendering/Grabbing only. This API does not provide any means of
67 user-space for additional processing. This API focuses instead on
69 decoded samples are routed to a physical output or logical back-end.
71 - Complexity hiding. Existing user-space multimedia frameworks all
73 API assumes the existence of a platform-specific compatibility layer
96 embedded audio cluster or to a SPI interface for external DSPs are
140 refilled or the delay due to decoding/encoding/io on the DSP.
145 - Addition of FLAC and IEC formats
146 - Merge of encoder/decoder capabilities
147 - Profiles/modes listed as bitmasks to make descriptors more compact
148 - Addition of set_params for decoders (missing in OpenMAX AL)
149 - Addition of AMR/AMR-WB encoding modes (missing in OpenMAX AL)
150 - Addition of format information for WMA
151 - Addition of encoding options when required (derived from OpenMAX IL)
152 - Addition of rateControlSupported (missing in OpenMAX AL)
159 +----------+
163 +----------+
169 compr_free() +----------+
170 +------------------------------------| |
172 | +-------------------------| |<-------------------------+
173 | | compr_write() +----------+ |
179 | | +----------+ |
183 | | +----------+ |
189 | +----------+ +----------+ |
191 | | PREPARE |------------------->| RUNNING |--------------------------+
193 | +----------+ +----------+ |
199 | +----------+ +----------+ |
201 +--->| FREE | | PAUSE |---------------------------+
203 +----------+ +----------+
209 delay and padding and directly move from one track content to another. The end
213 Also, there might be low-intensity noises due to encoding. Perfect gapless is
215 music content. The decoder needs to know the encoder delay and encoder padding.
224 This routine sets the encoder delay and encoder padding. This can be used by
234 EOF is reached and now DSP can start skipping padding delay. Also next write
238 - Open
239 - Get caps / codec caps
240 - Set params
241 - Set metadata of the first track
242 - Fill data of the first track
243 - Trigger start
244 - User-space finished sending all,
245 - Indicate next track data by sending set_next_track
246 - Set metadata of the next track
247 - then call partial_drain to flush most of buffer in DSP
248 - Fill data of the next track
249 - DSP switches to second track
260 +----------+
262 +------------------------>| RUNNING |
264 | +----------+
270 | +----------+
272 | +-----------|NEXT_TRACK|
274 | | +--+-------+
276 | +--------------+ |
281 | +----------+
283 +------------------------ | PARTIAL_ |
285 +----------+
289 - Support for VoIP/circuit-switched calls is not the target of this
290 API. Support for dynamic bit-rate changes would require a tight
293 - Packet-loss concealment is not supported. This would require an
297 - Volume control/routing is not handled by this API. Devices exposing a
302 - Embedded audio effects. Such effects should be enabled in the same
305 - multichannel IEC encoding. Unclear if this is required.
307 - Encoding/decoding acceleration is not supported as mentioned
312 - Audio policy/resource management. This API does not provide any
316 - No notion of underrun/overrun. Since the bytes written are compressed
319 maybe dealt in user-library
324 - Mark Brown and Liam Girdwood for discussions on the need for this API
325 - Harsha Priya for her work on intel_sst compressed API
326 - Rakesh Ughreja for valuable feedback
327 - Sing Nallasellan, Sikkandar Madar and Prasanna Samaga for