Revision c5a44f57

View differences:

doc/optimization.txt
1 1
optimization Tips (for libavcodec):
2 2

  
3 3
What to optimize:
4
If you plan to do non-x86 architecture specific optimiztions (SIMD normally)
4
If you plan to do non-x86 architecture specific optimizations (SIMD normally),
5 5
then take a look in the i386/ directory, as most important functions are
6 6
already optimized for MMX.
7 7

  
......
14 14
because of optimizations it is difficult to understand them (and write
15 15
architecture specific versions, or optimize the C functions further) it is
16 16
recommended to look at older CVS versions of the interesting files (just use
17
ViewCVS at http://www1.mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/?cvsroot=FFMpeg)
18
or perhaps look into the other architecture-specific versions in i386/, ppc/,
19
alpha/, ... Even if you don't understand the instructions exactly it could
20
help understanding the functions & how they can be optimized.
17
ViewCVS at http://www1.mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/?cvsroot=FFMpeg).
18
Alternatively, look into the other architecture-specific versions in the i386/,
19
ppc/, alpha/ subdirectories. Even if you don't exactly understand the
20
instructions, it could help understanding the functions and how they
21
can be optimized.
21 22

  
22 23
NOTE: If you still don't understand some function, ask at our mailing list!!!
23 24
(http://www1.mplayerhq.hu/mailman/listinfo/ffmpeg-devel)
......
33 34

  
34 35
avg_pixels{,_x2,_y2,_xy2}
35 36
    Used in motion compensation of B-frames.
36
    These are less important then the put*pixels functions.
37
    These are less important than the put*pixels functions.
37 38

  
38 39
avg_no_rnd_pixels*
39 40
    unused
......
43 44

  
44 45
pix_abs8x8{,_x2,_y2,_xy2}
45 46
    Used in motion estimation (encoding) with SAD of MPEG-4 4MV only.
46
    These are less important then the pix_abs16x16* functions.
47
    These are less important than the pix_abs16x16* functions.
47 48

  
48 49
put_mspel8_mc* / wmv2_mspel8*
49 50
    Used only in WMV2.
......
128 129

  
129 130
Alignment:
130 131
Some instructions on some architectures have strict alignment restrictions,
131
for example most SSE/SSE2 inctructios on x86.
132
for example most SSE/SSE2 instructions on x86.
132 133
The minimum guaranteed alignment is written in the .h files, for example:
133 134
    void (*put_pixels_clamped)(const DCTELEM *block/*align 16*/, UINT8 *pixels/*align 8*/, int line_size);
134 135

  

Also available in: Unified diff