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