[FFmpeg-devel] Audio conversion and floating-point codecs

Peter Ross pross
Tue Jul 6 15:56:26 CEST 2010


On Sat, May 15, 2010 at 08:17:51PM +0100, M?ns Rullg?rd wrote:
> There is a long-standing desire from some to make the floating-point
> decoders output float samples instead of converting to int16
> internally, and I agree with the reasons for this.  However, making
> this change hastily will make decoding orders of magnitude slower on
> many CPUs.  The reason is that when a decoder outputs float samples,
> the fast asm code for float-to-int conversion is not used.
> 
> In order to change the output format of these decoders without
> impacting performance, we must first make a few improvements to the
> avcodec API and to the generic audio format conversion code.
[...]

> - The decoders should output planar audio instead of interleaved for
>   multichannel streams.  This probably means introducing
>   avcodec_decode_audio4() with an AVFrame output.

Q: does it make sense to expand the existing AVFrame structure, or
define a new struct specific to audio?

#define FF_MAX_CHANNELS  8
struct AVAudioFrame {
    uint16_t *data[FF_MAX_CHANNELS];
};

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100706/9818939a/attachment.pgp>



More information about the ffmpeg-devel mailing list