Implement pixels as RGBX structure.
- Add ‘make debug’ target - Add links in README
This commit is contained in:
parent
8175b8a06c
commit
cce4d45ba6
4 changed files with 73 additions and 53 deletions
22
TODO.md
22
TODO.md
|
@ -1,25 +1,31 @@
|
|||
[-] Quaternions
|
||||
[X] Draw rotated pixels in src order
|
||||
[-] Draw rotated pixels in src order -> cache write miss
|
||||
[X] Use atan2 at beginning and end of line.
|
||||
Interpolation in-between values
|
||||
[X] Test pixel perfect 90
|
||||
[ ] Fix out-of-bounds pixel set
|
||||
|
||||
[ ] Optimization for square images?
|
||||
[X] Fixed point computation?
|
||||
[-] -funroll-loops
|
||||
[X] Fixed point computation
|
||||
[-] -funroll-loops -> no gain
|
||||
[-] restrict qualifier -> unavailable in C++
|
||||
|
||||
# Cache
|
||||
[-] Rotate per channel -> no gain
|
||||
[ ] Load pixels in 64-bit variable
|
||||
[X] Cut image in tiles
|
||||
[X] Overlap
|
||||
[-] Rotate in one temp tile then copy/move it
|
||||
[X] Align tiles in memory
|
||||
[-] Align memory -> no gain
|
||||
[ ] RGBX format
|
||||
|
||||
## Alignement
|
||||
[X] RGBX format (create pixel structure) on 8 bytes (can do computation in-place)
|
||||
[ ] Load pixels in 64-bit variable
|
||||
[ ] Align memory on 16 bytes
|
||||
|
||||
## Layout
|
||||
[ ] Pack 4 neighbors in 16B structure (aligned)
|
||||
Each point is followed by the point below
|
||||
[ ] Spiral layout?
|
||||
|
||||
# Quality
|
||||
[X] Interpolate using SIMD, SSE (no big gain)
|
||||
[X] Interpolate using SIMD, SSE (no big gain, alignement problem?)
|
||||
[ ] Image borders
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue