diff options
Diffstat (limited to 'doc/optimization.txt')
-rw-r--r-- | doc/optimization.txt | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/doc/optimization.txt b/doc/optimization.txt index b3dca64..1a0b98c 100644 --- a/doc/optimization.txt +++ b/doc/optimization.txt @@ -17,15 +17,15 @@ Understanding these overoptimized functions: As many functions tend to be a bit difficult to understand because of optimizations, it can be hard to optimize them further, or write architecture-specific versions. It is recommended to look at older -revisions of the interesting files (web frontends for the various Libav -branches are listed at http://libav.org/download.html). +revisions of the interesting files (web frontends for the various FFmpeg +branches are listed at http://ffmpeg.org/download.html). Alternatively, look into the other architecture-specific versions in the x86/, ppc/, alpha/ subdirectories. Even if you don't exactly comprehend the instructions, it could help understanding the functions and how they can be optimized. NOTE: If you still don't understand some function, ask at our mailing list!!! -(https://lists.libav.org/mailman/listinfo/libav-devel) +(http://lists.ffmpeg.org/mailman/listinfo/ffmpeg-devel) When is an optimization justified? @@ -191,11 +191,16 @@ __asm__() block. Use external asm (nasm/yasm) or inline asm (__asm__()), do not use intrinsics. The latter requires a good optimizing compiler which gcc is not. +When debugging a x86 external asm compilation issue, if lost in the macro +expansions, add DBG=1 to your make command-line: the input file will be +preprocessed, stripped of the debug/empty lines, then compiled, showing the +actual lines causing issues. + Inline asm vs. external asm --------------------------- Both inline asm (__asm__("..") in a .c file, handled by a compiler such as gcc) and external asm (.s or .asm files, handled by an assembler such as yasm/nasm) -are accepted in Libav. Which one to use differs per specific case. +are accepted in FFmpeg. Which one to use differs per specific case. - if your code is intended to be inlined in a C function, inline asm is always better, because external asm cannot be inlined |