* Add the gop_size to the video parameters. Also the audio framesize.
[ffmpeg.git] / doc / README.tech
1 Technical notes:
2 ---------------
3
4 Video:
5 -----
6
7 - The decision intra/predicted macroblock is the algorithm suggested
8   by the mpeg 1 specification.
9
10 - only Huffman based H263 is supported, mainly because of patent
11   issues.
12
13 - MPEG4 is supported, as an extension of the H263 encoder. MPEG4 DC
14   prediction is used, but not AC prediction. Specific VLC are used for
15   intra pictures. The output format is compatible with Open DIVX
16   version 47.
17
18 - MJPEG is supported, but in the current version the huffman tables
19   are not optimized. It could be interesting to add this feature for
20   the flash format.
21
22 - To increase speed, only motion vectors (0,0) are tested for real
23   time compression. NEW: now motion compensation is done with several
24   methods : none, full, log, and phods. The code is mmx/sse optimized.
25
26 - In high quality mode, full search is used for motion
27   vectors. Currently, only fcode = 1 is used for both H263/MPEG1. Half
28   pel vectors are used.
29
30 I also plan to improve the bitrate control which is too simplistic.
31
32 Audio:
33 -----
34
35 - I rewrote the mpeg audio layer 2 compatible encoder from scratch. It
36   is one of the simplest encoder you can imagine (800 lines of C code
37   !). It is also one of the fastest because of its simplicity. There
38   are still some problems of overflow. A minimal psycho acoustic model
39   could be added. Currently, stereo is supported, but not joint
40   stereo.
41
42 - I rewrote the AC3 audio encoder from scratch. It is fairly naive,
43   but the result are quiet interesting at 64 kbit/s. It includes
44   extensions for low sampling rates used in some Internet
45   formats. Differential and coupled stereo is not handled. Stereo
46   channels are simply handled as two mono channels.