[FFmpeg-devel] [RFC/PATCH] More flexible variant of?float_to_int16 , WMA optimization, Vorbis

Michael Niedermayer michaelni
Mon Jul 14 15:43:14 CEST 2008

On Mon, Jul 14, 2008 at 08:20:19AM +0300, Siarhei Siamashka wrote:
> > > Regarding the subject, does it make sense to completely replace current
> > > 'float_to_int16' function and use a new one instead? Using new function
> > > instead of old one is simple (though a bit cumbersome because it would
> > > require creating a temporary array with a single entry, holding a pointer
> > > to samples). And using old function is problematic for at least WMA, DCA,
> > > AC3.
> > >
> > > Problems to solve are efficient handling of non 1 or 2 channels case. It
> > > needs to be investigated if a generic variant can be optimized well (at
> > > least it should be faster than manual interleaving of samples) and what
> > > other special number of channels cases should be handled. Also I can do
> > > ARM VFP optimizations, but 3NOW and Altivec versions would be needed.
> >
> > It has been discussed already a few times ....
> > our decoders should output their native format, that may be planar floats
> > for several of these codecs
> > And a converter (containing your proposed float_to_int16) could
> > then convert and interleave this when the user app / audio out hardware
> > can not handle planar audio.
> > Are you interrested to work on such converter?
> I'm not sure if I understand you completely. Do you suggest making it some
> kind of audio format conversion filter used outside libavcodec? 


> I'm actually
> more interested in just improving performance (primarily for ARM).

Iam interrested in adding such optimizations cleanly where they belong,
that is in an seperate convertion filter outside the decoders.
Adding ARM optimized variants of existing convertion functions is fine,
adding new convertion functions is not.

The convertion in the decoders will be removed, and done outside. Thus
the more is added there now the more will have to be added/moved to the
new system.

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin
-------------- 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/20080714/7acb8e5c/attachment.pgp>

More information about the ffmpeg-devel mailing list