ALSA: Audio Compression Offloading, Power Savings

Posted by Michael Larabel on August 29, 2012

Besides lots of graphics talks at the GStreamer 2012 Conference, the Advanced Linux Sound Architecture (ALSA) was talked about with a status report and mentions of some features soon to be landing in future Linux kernel releases.

The ALSA project status update at the GStreamer Conference in San Diego was shared by Takashi Iwai of SUSE.

One of the new ALSA features is support for audio compression offloading where the DSP handling of compressed audio formats can be offloaded from the CPU to a DSP, which can be more efficient and lower the CPU usage. The kernel core API for this audio compression offloading was pushed into the Linux 3.3 kernel while with the Linux 3.7 kernel there will be ASoC integration support as well as support for compression offloading with the Intel Medfield audio driver. The ALSA library code for this support is currently in a separate Git tree and not in mainline ALSA at this point.

Jack detection for ALSA has been another hot topic. There isn't any ALSA library API yet for audio jack detection and there's jack detection support being looked at via input device, via a control API, or possibly via extcon.

The Advanced Linux Sound Architecture is also seeing more PCM time adjustments coming, wallclock timestamp support is coming for precise hardware sample times, and there's an open development topic about embedding timestamps in the stream. The embedded timestamps were requested by Video 4 Linux.

Power savings for ALSA and its supported audio kernel drivers is also being expanded upon. The HD audio driver saw power-savings work in the Linux 3.5 kernel while an explicit power-saving trigger by a Linux kernel parameter will come in the Linux 3.7 kernel. Run-time power management integration is also coming to the Linux 3.7 kernel for dynamically turning off the HD audio controller and codec automatically.

Other recent ALSA work includes improving the BIOS auto-parser, robust and accurate position reporting, firmware patch loading, debug/QA work with an emulator, and a non-snoop mode. A channel mapping API was also proposed.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. Mir's GPLv3 License Is Now Raising Concerns
  2. NVIDIA Driver Soon Likely To Support EGL, Mir
  3. OpenMandriva Goes Into Alpha Form, Russian-Based
  4. NVIDIA Brings Their Linux Driver To ARM
  5. D Language Still Showing Promise, Advancements
  6. Planetary Annihilation Released For Linux Gamers
  7. Gentoo Starts Work On KDE-Wayland Support
  8. NVIDIA To License Its Kepler GPU Technology
  9. KDE's KWin Made Lots Of Progress In 4.11
  10. Ubuntu Announces Carrier Advisory Group
  11. Qt 5.1 Release Candidate 1 Has Arrived
Latest Forum Talk
  1. Mir's GPLv3 License Is Now Raising Concerns
  2. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  3. D Language Still Showing Promise, Advancements
  4. VP9 Codec Now Enabled By Default In Chrome
  5. Gentoo Starts Work On KDE-Wayland Support
  6. Benchmarking The Intel P-State, CPUfreq Changes
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite