[FFmpeg-devel] [PATCH 1/2] swresample: Refactor resample asm and port it to yasm

James Almer jamrial at gmail.com
Wed Mar 19 18:24:05 CET 2014


On 19/03/14 9:18 AM, Michael Niedermayer wrote:
> On Wed, Mar 19, 2014 at 02:49:33AM -0300, James Almer wrote:
>> This reduces code duplication and makes it easier to implement new asm 
>> functions in the future
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>>  libswresample/resample.c            | 96 ++++++++++---------------------------
>>  libswresample/resample_template.c   | 49 +++++++------------
>>  libswresample/swresample_internal.h | 24 ++++++++++
>>  libswresample/x86/Makefile          |  1 +
>>  libswresample/x86/resample.asm      | 64 +++++++++++++++++++++++++
>>  libswresample/x86/resample_mmx.h    | 74 ----------------------------
>>  libswresample/x86/swresample_x86.c  | 16 +++++++
>>  7 files changed, 148 insertions(+), 176 deletions(-)
>>  create mode 100644 libswresample/x86/resample.asm
>>  delete mode 100644 libswresample/x86/resample_mmx.h
> 
> what effect does this has on speed?
> you are adding a function call in a in inner loop

At least on my end it seems to be a couple cycles faster (Measured with 
timer.h macros surrounding the c->scalarproduct() function call, and the 
COMMON_CORE inline asm in the pre-patch version).

If you can, measure it yourself as well to be sure.


More information about the ffmpeg-devel mailing list