OSDN Git Service

Release 1.3
[android-x86/external-bluetooth-sbc.git] / TODO
1 Background
2 ==========
3
4 - Priority scale: High, Medium and Low
5
6 - Complexity scale: C1, C2, C4 and C8.  The complexity scale is exponential,
7   with complexity 1 being the lowest complexity.  Complexity is a function
8   of both task 'complexity' and task 'scope'.
9
10   The general rule of thumb is that a complexity 1 task should take 1-2 weeks
11   for a person very familiar with oFono codebase.  Higher complexity tasks
12   require more time and have higher uncertainty.
13
14   Higher complexity tasks should be refined into several lower complexity tasks
15   once the task is better understood.
16
17 Encoder optimizations
18 =====================
19
20 - Currently, only the decoder is optimized to take advantage of advanced
21   processor instruction sets. In use cases like HFP 1.6, optimizing the
22   encoder will bring a significant latency, power and performance advantage.
23   For example, the MMX encoder is 3 to 6 time faster than the SIMD encoder.
24
25   Priority: High
26   Complexity: C8
27
28 - Use a log2 table for byte integer scale factors calculation (sum log2
29   results for high and low bytes) fill bitpool by 16 bits instead of one
30   at a time in bits allocation/bitpool generation port to the dsp
31
32   Priority: Medium
33   Complexity: C2
34
35 - The neon optimization code is split in two parts. Sample reordering and
36   blocks encoding. There is a neon optimization for encoding SBC. But mSBC
37   is not supported by this optimizer because the reordering has been
38   specifically for mSBC.
39
40   Priority: Low
41   Complexity: C2
42
43 Decoder optimizations
44 =====================
45
46 - The decoder is optimized to take advantage of advanced processor
47   instruction sets. Currently implemented are MMX, arm neon, arm v6
48   and iwmmxt. SSE3 is available since almost 10 years now, on a large
49   range of Intel processors. It should be interesting to implement it
50   and to compare with MMX implementation on Intel processors.
51
52   Priority: Medium
53   Complexity: C4
54