| Background |
| ========== |
| |
| - Priority scale: High, Medium and Low |
| |
| - Complexity scale: C1, C2, C4 and C8. The complexity scale is exponential, |
| with complexity 1 being the lowest complexity. Complexity is a function |
| of both task 'complexity' and task 'scope'. |
| |
| The general rule of thumb is that a complexity 1 task should take 1-2 weeks |
| for a person very familiar with oFono codebase. Higher complexity tasks |
| require more time and have higher uncertainty. |
| |
| Higher complexity tasks should be refined into several lower complexity tasks |
| once the task is better understood. |
| |
| Encoder optimizations |
| ===================== |
| |
| - Currently, only the decoder is optimized to take advantage of advanced |
| processor instruction sets. In use cases like HFP 1.6, optimizing the |
| encoder will bring a significant latency, power and performance advantage. |
| For example, the MMX encoder is 3 to 6 time faster than the SIMD encoder. |
| |
| Priority: High |
| Complexity: C8 |
| |
| - Use a log2 table for byte integer scale factors calculation (sum log2 |
| results for high and low bytes) fill bitpool by 16 bits instead of one |
| at a time in bits allocation/bitpool generation port to the dsp |
| |
| Priority: Medium |
| Complexity: C2 |
| |
| - The neon optimization code is split in two parts. Sample reordering and |
| blocks encoding. There is a neon optimization for encoding SBC. But mSBC |
| is not supported by this optimizer because the reordering has been |
| specifically for mSBC. |
| |
| Priority: Low |
| Complexity: C2 |
| |
| Decoder optimizations |
| ===================== |
| |
| - The decoder is optimized to take advantage of advanced processor |
| instruction sets. Currently implemented are MMX, arm neon, arm v6 |
| and iwmmxt. SSE3 is available since almost 10 years now, on a large |
| range of Intel processors. It should be interesting to implement it |
| and to compare with MMX implementation on Intel processors. |
| |
| Priority: Medium |
| Complexity: C4 |
| |