[FFmpeg-devel] [PATCH] Extra build options for ALS (and others)

Måns Rullgård mans
Fri Nov 27 16:06:52 CET 2009


Thilo Borgmann <thilo.borgmann at googlemail.com> writes:

> M?ns Rullg?rd schrieb:
>> Thilo Borgmann <thilo.borgmann at googlemail.com> writes:
>> 
>>> M?ns Rullg?rd schrieb:
>>>> Thilo Borgmann <thilo.borgmann at googlemail.com> writes:
>>>>
>>>>> Hi,
>>>>>
>>>>> recently the need for an extra build option for the ALS decoder arose.
>>>> Is it impossible to achieve the desired outcome with some combination
>>>> of always_inline, noinline, and flatten attributes?
>>> No. See [PATCH] Split reading and decoding of blocks in ALS.
>>>
>>> Although I've managed to have the functions from the alsdec.c inlined
>>> manually according to the grep'ed output of the assembler code, it seems
>>> like it is not enough to manually inline functions from within that .c
>>> file only using these technique.
>> 
>> I'm confused.  Can it be done in the C code only or not?  This kind of
>> issue should really not be solved in the makefile.
>
> The issue is the big slowdown. The patch that causes this splits a big
> function into two, which are then called successively.
>
> To overcome the slowdown issue, I inspected the functions being inlined
> with and without the -finline-limit option. I can use av_always_inline
> for many functions within alsdec.c to have the same functions inlined
> like -finline-limit does.
>
> Unfortunately, using -finline-limit removes the slowdown introduced by
> the patch while using av_always_inline does not.

So it's not doing the same thing.  What is it doing differently?
Where did you get the limit number from?

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list