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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. FreeBSD Still Working On Next-Gen Package Manager
  2. DNF Still Advancing As Experimental Yum For Fedora
  3. Logitech Begins Supporting Linux Users
  4. Modern Intel Gallium3D Driver Still Being Toyed With
  5. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  6. GCC 4.8.1 Compiler Due To Be Out Next Week
  7. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  8. Linux's "Ondemand" Governor Is No Longer Fit
  9. Firefox 22 Beta Enables WebRTC Support
  10. OpenSUSE 13.1 Milestone 1 Released
  11. DRM Graphics Driver Comes For Dove/Cubox
Latest Forum Talk
  1. Sumo Lounge Emperor
  2. KDE's Krita Ported To OpenGL 3.1, OpenGL ES 2.0
  3. DNF Still Advancing As Experimental Yum For Fedora
  4. FreeBSD Still Working On Next-Gen Package Manager
  5. Ubuntu 13.10 Likely Switching To Chromium Browser
  6. Logitech Begins Supporting Linux Users
  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