[FFmpeg-devel] MIPS optimizations of AMR FP decoders
Nedeljko Babic
nbabic at mips.com
Wed Jun 6 14:01:06 CEST 2012
Per previous code review:
mips.texi file with MIPS Technologies copyright notice,
list of files where this copyright notice can be found and
short explanation regarding what was targeted CPU
architecture added.
mips.texi is included in ffmpeg.texi.
Per previous code review:
Organization of code is changed because the way in which
functions are used is also changed. Most of the functions are
now being called using function pointers. Additional structures
are added to support this. For the rest of the functions
#ifndef function_name is being used.
Per previous code review:
Suggested code changes are done.
Info regarding assumptions for loop counts added in appropriate
*.h files. Optimization of function ff_amrwb_lsp2lpc removed.
Change maid in 37ddd3833219fa7b913fff3f5cccc6878b047e6b
applied in ASM for function ff_celp_lp_synthesis_filterf.
What was not done in this patch:
Optimization of lrintf is left in FMFPEG.
Since lrintf is part of libm library and not ffmpeg, I agree that
this is not the best place for this optimization. However, current
compilers ( Sourcery G++ 4.5.1 is the last that I tested ) are
doing poor job optimizing this function.
Because lrintf uses lot of decoding time (8 - 10%) on streams that
we used for profiling it is left in place for now.
We can always remove it when this optimization becomes unnecessary.
More information about the ffmpeg-devel
mailing list