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 channel mixing (SIMD optimized):

Users should be able to set their own channel mixing coefficients.

  • Codec alterable channel mixing coefficients:

The codec should be able to set and update the channel mixing coefficients during runtime (DCA supports this feature, maybe AC-3 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 different orders depending on the codec.
  • SIMD optimized interleaving
  • Allow planar output - don't duplicate the interleaving code in every codec
  • Support bit depths other than 16-bit - 8-bit/24-bit/32-bit/float
  • Channel selection - 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.

http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/47485/focus=48097