FFmpeg audio API: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
Line 5: Line 5:
* Generalized channel mixing (SIMD optimized) - users should be able to set their own channel mixing coefficients.
* 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).
* 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).
* Output channel request function - specify the number of output channels, default should be >2 channels mapped to 2 channels
* Channel reordering - currently there are different orders depending on the codec.
* Channel reordering - currently there are different orders depending on the codec.
* SIMD optimized interleaving
* SIMD optimized interleaving

Revision as of 11:09, 12 November 2007

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 - specify the number of output 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