~ubuntu-branches/ubuntu/edgy/x264/edgy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 It is far from complete, anyway :

General:
--------
 Encoder:
 ########

 * CABAC: check if adaptive model is really working. (I didn't see any improvments)

 * Field support : no and I probably won't do it.

 * Slice A/B/C (partion): is there any interest doing it ? (Shouldn't be hard).
    - extend x264_t
    - review x264_macroblock_write_cavlc

 * Intra encoding:
    - in I_4x4 mode, some predict mode aren't tested and not supported :
    when some pixels  around are unavailble but could  be predicted from
    others. (see the norm)

 * Inter coding:
    - D_4x8 D_8x4 and D_4x4 ME P block -> done but too slow.
    - B_SUB8x8 types.
    - better SKIP detection.
    - long terme ?
    - ...

 * B frame: B_L0/L1/BI/SKIP/DIRECT work (need more testing).
    -> adaptive placement of B-frames
    -> look at weighted prediction (should give better result)
    -> better analyse algo (as always ;)
    -> joint motion estimation of BI types

 * Speed issue (oprofile is your friend)
    - mc.c:30% and pixel.c:20% (mc is used by ME)
    - Motion Estimation -> try better/faster algos.
    - loop filter
    - stream writing (bs)
    - ...

 * Time spent: (test file: 720x576, mmx, mmxext)
    CAVLC: analyse=73% encode=15% write=4% filter=6%
    CABAC: analyse=69% encode=16% write=8% filter=5%

 * Limitations:
    - frame width/height %16 == 0 only.

 * ...

 Decoder:
 ########

 * Currently decoder/* won't even compile, and anyway is unusable.

 Build:
 ######
 * Finish to port gcc inlined asm to nasm file.

Coding issue:
-------------
 * table : somes are duplicated -> find a solution (easy).
 * documentations ? (mouaaaarfff ;)
 * ...