FFmpeg audio API: Difference between revisions
Jump to navigation
Jump to search
Line 3: | Line 3: | ||
== Features needed == | == Features needed == | ||
* Generalized | * Generalized channel mixing (SIMD optimized): | ||
Users should be able to set their own | Users should be able to set their own channel mixing coefficients. | ||
* Codec | * Codec alterable channel mixing coefficients: | ||
The codec should be able to set and update the | 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 (ie, request a specified number of channels, default should be >2 channels mapped to 2 channels). | ||
* Channel reordering | * Channel reordering - currently there are different orders depending on the codec. | ||
* | * SIMD optimized interleaving | ||
* Allow | * 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 == | == Feature wish list == |
Revision as of 10:50, 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 (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