[FFmpeg-devel] [PATCH] update doc/optimization.txt

Ronald S. Bultje rsbultje
Tue Sep 21 15:48:43 CEST 2010


Hi,

On Tue, Sep 21, 2010 at 9:30 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Tue, Sep 21, 2010 at 05:37:40AM -0700, Jason Garrett-Glaser wrote:
>> > interresting strawman argument
>> > noone was talking about cases that cannot easily be done in inline asm
>> > not that calling from inline would be impossible or anything but i surely
>> > agree that for these 0.1% of asm yasm is likely the better choice
>>
>> You mean this 99%. ?It's only 0.1% because you don't think about
>> optimizations that can't be done under your current system.
>
> please elaborate on what other optimizations are possible in yasm that cannot
> be done in inline asm.

The biggest one is that I can create a "double-width" version in SSE*
(usually SSE2) and a "single-width" version in MMX* (usually MMX2) of
a function (e.g. subpel MC, weighted prediction, intra prediction, or
something) in a single go. I don't need to write the function twice.
Optimizing one will optimize both. This is incredibly handy if you're
writing new asm code.

(Of course this doesn't always help much for existing inline asm being
converted to yasm; I did use this to decrease source size of weighted
h264 prediction.)

Ronald



More information about the ffmpeg-devel mailing list