cleanup
[ffmpeg.git] / doc / optimization.txt
index d2ee33f216e764013b67a1a72881ecae3c7f4904..87e9d88468989891f596cb54a32e8922dd8db3e0 100644 (file)
@@ -68,22 +68,32 @@ get_pixels / diff_pixels
         
 clear_blocks
        easiest, to optimize
+        
 gmc
        used for mpeg4 gmc
         optimizing this should have a significant effect on the gmc decoding speed but
         its very likely impossible to write in SIMD
 
+gmc1
+       used for chroma blocks in mpeg4 gmc with 1 warp point
+       (there are 4 luma & 2 chroma blocks per macrobock, so 
+        only 1/3 of the gmc blocks use this, the other 2/3 
+        use the normal put_pixel* code, but only if there is 
+        just 1 warp point)
+        Note: Divx5 gmc always uses just 1 warp point
+
 pix_sum
        used for encoding
         
-hadamard8_diff / sse / sad == pix_norm1 / dct_sad / quant_psnr
+hadamard8_diff / sse / sad == pix_norm1 / dct_sad / quant_psnr / rd / bit
        specific compare functions used in encoding, it depends upon the command line
         switches which of these are used
         dont waste ur time with dct_sad & quant_psnr they arent really usefull
 
 put_pixels_clamped / add_pixels_clamped
-       used for en/decoding, easy
+       used for en/decoding in the IDCT, easy
+        Note, some optimized IDCTs have the add/put clamped code included and then 
+        put_pixels_clamped / add_pixels_clamped will be unused
 
 idct/fdct
        idct (encoding & decoding)
@@ -140,4 +150,5 @@ official doc but quite ugly
 http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html
 
 a bit old (note "+" is valid for input-output, even though the next says its not)
-http://www.cs.virginia.edu/~clc5q/gcc-inline-asm.pdf
\ No newline at end of file
+http://www.cs.virginia.edu/~clc5q/gcc-inline-asm.pdf
+