FFmpeg audio API

From MultimediaWiki
Jump to navigation Jump to search

This page is for discussion regarding the reworking of the FFmpeg audio API to accommodate the requirements needed for today's audio codecs.

Features needed

  • Generalized downmixing (SIMD optimized)

Users should be able to set their own downmix coeffs.

  • Codec setable downmixing coeffs:

The codec should be able to set and update the coefs during runtime(dca supports that feature, maybe ac3 also).

  • Output channel request function (ie, request a specified number of channels, default should be >2 channels mapped to 2 channels).
  • Channel reordering, currently there are diffrent orders depending on the codec.
  • Simd optimized interleaving
  • Allow planer output, (don't duplicate interleaving code in every codec)
  • Add support for other bitdepths then 16bits (ie 24/8/32/float)
  • Ability to access one channel from a multichannel stream

Feature wish list

  • Add a better FFT routine. (Would the KISS implementation be a good candidate?)
  • Fixed point MDCT/FFT implementations
  • Custom audio filter support. (Basing it on the video filter API ideas?)

Current ideas

Thread with previous discussions in the subject. The thread has several ideas already implemented.