[FFmpeg-devel] PATCH: av_strtod

Ramiro Polla ramiro.polla
Tue Jun 2 03:43:23 CEST 2009


On Mon, Jun 1, 2009 at 10:38 PM, Pavel Pavlov <pavel at summit-tech.ca> wrote:
> On Mon, Jun 01, 2009 at 01:27:52AM -0400, Pavel Pavlov wrote:
>> Biggest problem is the black voodoo code related to inline assembly
>> and
>> MANGLE(...) plus the worst ever code is in recently added
>> mlp_filter_channel_x86, which mangles lables. WTF, why not a
>> standalone .asm file instead?!?
> And how would you do that with a plain .asm file? Write the function setup code yourself (meaning you will only support the select few architectures you explicitly write code for) or using yasm (meaning you will support only the less select but still quite few architectures ABIs it supports)?
> Well, for that file instead of storing pointers to labels and doing repeatative jumps in the loop I wrote mlpdsp_template.c that creates using C preprocessor 8*4 functions mlp_filter_channel_x86_X_Y and I use table of function pointers and call a function based on the X and Y. That was just about the only way I could make that function work on for intel compiler.

Have you benchmarked the code?

It was much slower (even slower than the for() loops in C) to have 8*4
functions because of instruction cache misses.

And it should actually be 9*5 functions.

Ramiro Polla

More information about the ffmpeg-devel mailing list