ARM NEON Compositor  master
Fast SIMD alpha overlay and blending for ARM
Functions
rescale.hpp File Reference
#include <alpha-lib/rescale_type.hpp>
#include "SIMD.h"
+ Include dependency graph for rescale.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

uint8x8_t div256_floor (uint16x8_t x)
 This is a flooring division by 256, which is close enough to 255, but the result may be one bit too small. More...
 
uint8x8_t div256_round (uint16x8_t x)
 This is a rounding division by 256, which is close enough to 255, but the result may be one bit too small. More...
 
uint8x8_t div255_floor (uint16x8_t x)
 This is an exact flooring division by 255, this is the correct divisor, but requires a little bit more code, and doesn't round the result. More...
 
uint8x8_t div255_round_approx (uint16x8_t x)
 This is an approximation of a rounding division by 255, this is the correct divisor, and it rounds the result correctly 99.80621337890625% of the time. More...
 
uint8x8_t div255_round (uint16x8_t x)
 This is an exact rounding division by 255, this is the correct divisor, and the result is rounded correctly in 100% of the cases. More...
 
uint8_t div256_floor (uint16_t x)
 This is a flooring division by 256, which is close enough to 255, but the result may be one bit too small. More...
 
uint8_t div256_round (uint16_t x)
 This is a rounding division by 256, which is close enough to 255, but the result may be one bit too small. More...
 
uint8_t div255_floor (uint16_t x)
 This is an exact flooring division by 255, this is the correct divisor, but requires a little bit more code, and doesn't round the result. More...
 
uint8_t div255_round (uint16_t x)
 This is an exact rounding division by 255, this is the correct divisor, and the result is rounded correctly in 100% of the cases. More...
 
uint8_t div255_round_approx (uint16_t x)
 Uses div255_round, and is exact. More...
 
template<RescaleType rescale_type = RescaleType::Div255_Round>
uint8x8_t rescale (uint16x8_t x)
 Rescale the 16-bit color product by dividing by 255 or an approximation thereof. More...
 
template<RescaleType rescale_type = RescaleType::Div255_Round>
uint8_t rescale (uint16_t x)
 Rescale the 16-bit color product by dividing by 255 or an approximation thereof. More...