Cosmetics to speed up finding sections of interest.
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 22 Jan 2008 14:48:02 +0000 (14:48 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 22 Jan 2008 14:48:02 +0000 (14:48 +0000)
Originally committed as revision 11596 to svn://svn.ffmpeg.org/ffmpeg/trunk

doc/optimization.txt

index 61dc5c4..f603340 100644 (file)
@@ -1,6 +1,8 @@
 optimization Tips (for libavcodec):
 optimization Tips (for libavcodec):
+===================================
 
 What to optimize:
 
 What to optimize:
+-----------------
 If you plan to do non-x86 architecture specific optimizations (SIMD normally),
 then take a look in the i386/ directory, as most important functions are
 already optimized for MMX.
 If you plan to do non-x86 architecture specific optimizations (SIMD normally),
 then take a look in the i386/ directory, as most important functions are
 already optimized for MMX.
@@ -9,7 +11,9 @@ If you want to do x86 optimizations then you can either try to finetune the
 stuff in the i386 directory or find some other functions in the C source to
 optimize, but there aren't many left.
 
 stuff in the i386 directory or find some other functions in the C source to
 optimize, but there aren't many left.
 
+
 Understanding these overoptimized functions:
 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 recommened to look at older
 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 recommened to look at older
@@ -23,7 +27,9 @@ and how they can be optimized.
 NOTE: If you still don't understand some function, ask at our mailing list!!!
 (http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel)
 
 NOTE: If you still don't understand some function, ask at our mailing list!!!
 (http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel)
 
+
 What speedup justifies an optimizetion?
 What speedup justifies an optimizetion?
+---------------------------------------
 Normaly with clean&simple optimizations and widely used codecs a overall
 speedup of the affected codec of 0.1% is enough. These speedups accumulate
 and can make a big difference after a while ...
 Normaly with clean&simple optimizations and widely used codecs a overall
 speedup of the affected codec of 0.1% is enough. These speedups accumulate
 and can make a big difference after a while ...
@@ -35,6 +41,7 @@ small and readable than to make it 1% faster.
 
 
 WTF is that function good for ....:
 
 
 WTF is that function good for ....:
+-----------------------------------
 The primary purpose of that list is to avoid wasting time to optimize functions
 which are rarely used
 
 The primary purpose of that list is to avoid wasting time to optimize functions
 which are rarely used
 
@@ -145,9 +152,11 @@ The minimum guaranteed alignment is written in the .h files, for example:
 
 
 Links:
 
 
 Links:
+======
 http://www.aggregate.org/MAGIC/
 
 x86-specific:
 http://www.aggregate.org/MAGIC/
 
 x86-specific:
+-------------
 http://developer.intel.com/design/pentium4/manuals/248966.htm
 
 The IA-32 Intel Architecture Software Developer's Manual, Volume 2:
 http://developer.intel.com/design/pentium4/manuals/248966.htm
 
 The IA-32 Intel Architecture Software Developer's Manual, Volume 2:
@@ -161,7 +170,7 @@ http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/22007.pd
 
 
 ARM-specific:
 
 
 ARM-specific:
-
+-------------
 ARM Architecture Reference Manual (up to ARMv5TE):
 http://www.arm.com/community/university/eulaarmarm.html
 
 ARM Architecture Reference Manual (up to ARMv5TE):
 http://www.arm.com/community/university/eulaarmarm.html
 
@@ -176,7 +185,7 @@ Optimization guide for Intel XScale (used in Sharp Zaurus PDA):
 http://download.intel.com/design/intelxscale/27347302.pdf
 
 PowerPC-specific:
 http://download.intel.com/design/intelxscale/27347302.pdf
 
 PowerPC-specific:
-
+-----------------
 PowerPC32/AltiVec PIM:
 www.freescale.com/files/32bit/doc/ref_manual/ALTIVECPEM.pdf
 
 PowerPC32/AltiVec PIM:
 www.freescale.com/files/32bit/doc/ref_manual/ALTIVECPEM.pdf
 
@@ -188,6 +197,7 @@ http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/30B3520C93F437AB8725706
 http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/9F820A5FFA3ECE8C8725716A0062585F/$file/CBE_Handbook_v1.1_24APR2007_pub.pdf
 
 SPARC-specific:
 http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/9F820A5FFA3ECE8C8725716A0062585F/$file/CBE_Handbook_v1.1_24APR2007_pub.pdf
 
 SPARC-specific:
+---------------
 SPARC Joint Programming Specification (JPS1): Commonality
 http://www.fujitsu.com/downloads/PRMPWR/JPS1-R1.0.4-Common-pub.pdf
 
 SPARC Joint Programming Specification (JPS1): Commonality
 http://www.fujitsu.com/downloads/PRMPWR/JPS1-R1.0.4-Common-pub.pdf
 
@@ -198,6 +208,7 @@ VIS Whitepaper (contains optimization guidelines)
 http://www.sun.com/processors/vis/download/vis/vis_whitepaper.pdf
 
 GCC asm links:
 http://www.sun.com/processors/vis/download/vis/vis_whitepaper.pdf
 
 GCC asm links:
+--------------
 official doc but quite ugly
 http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
 
 official doc but quite ugly
 http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html