Flutter Engine
The Flutter Engine
|
Go to the source code of this file.
Classes | |
struct | NoCtx |
struct | Ctx |
Macros | |
#define | SI static inline |
#define | STAGE_PARAMS(MAYBE_REF) |
#define | DECLARE_STAGE(name, arg) |
#define | STAGE(name, arg) DECLARE_STAGE(name, arg) |
#define | FINAL_STAGE(name, arg) DECLARE_STAGE(name, arg) |
#define | M(name) case Op::name: Exec_##name(*contexts++, src, dst, r, g, b, a, i); break; |
#define | M(name) case Op::name: Exec_##name(*contexts++, src, dst, r, g, b, a, i); return; |
Typedefs | |
using | F = V< float > |
using | I32 = V< int32_t > |
using | U64 = V< uint64_t > |
using | U32 = V< uint32_t > |
using | U16 = V< uint16_t > |
using | U8 = V< uint8_t > |
Functions | |
template<typename T , typename P > | |
SI T | load (const P *ptr) |
template<typename T , typename P > | |
SI void | store (P *ptr, const T &val) |
template<typename D , typename S > | |
SI D | cast (const S &v) |
template<typename D , typename S > | |
SI D | bit_pun (const S &v) |
SI U32 | to_fixed (F f) |
template<typename C , typename T > | |
SI T | if_then_else (C cond, T t, T e) |
SI F | F_from_Half (U16 half) |
SI U16 | Half_from_F (F f) |
SI U64 | swap_endian_16x4 (const U64 &rgba) |
SI F | min_ (F x, F y) |
SI F | max_ (F x, F y) |
SI F | floor_ (F x) |
SI F | approx_log2 (F x) |
SI F | approx_log (F x) |
SI F | approx_exp2 (F x) |
SI F | approx_pow (F x, float y) |
SI F | approx_exp (F x) |
SI F | strip_sign (F x, U32 *sign) |
SI F | apply_sign (F x, U32 sign) |
SI F | apply_tf (const skcms_TransferFunction *tf, F x) |
SI F | apply_gamma (const skcms_TransferFunction *tf, F x) |
SI F | apply_pq (const skcms_TransferFunction *tf, F x) |
SI F | apply_hlg (const skcms_TransferFunction *tf, F x) |
SI F | apply_hlginv (const skcms_TransferFunction *tf, F x) |
template<typename T , typename P > | |
SI T | load_3 (const P *p) |
template<typename T , typename P > | |
SI T | load_4 (const P *p) |
template<typename T , typename P > | |
SI void | store_3 (P *p, const T &v) |
template<typename T , typename P > | |
SI void | store_4 (P *p, const T &v) |
SI U8 | gather_8 (const uint8_t *p, I32 ix) |
SI U16 | gather_16 (const uint8_t *p, I32 ix) |
SI U32 | gather_32 (const uint8_t *p, I32 ix) |
SI U32 | gather_24 (const uint8_t *p, I32 ix) |
SI void | gather_48 (const uint8_t *p, I32 ix, U64 *v) |
SI F | F_from_U8 (U8 v) |
SI F | F_from_U16_BE (U16 v) |
SI U16 | U16_from_F (F v) |
SI F | minus_1_ulp (F v) |
SI F | table (const skcms_Curve *curve, F v) |
SI void | sample_clut_8 (const uint8_t *grid_8, I32 ix, F *r, F *g, F *b) |
SI void | sample_clut_8 (const uint8_t *grid_8, I32 ix, F *r, F *g, F *b, F *a) |
SI void | sample_clut_16 (const uint8_t *grid_16, I32 ix, F *r, F *g, F *b) |
SI void | sample_clut_16 (const uint8_t *grid_16, I32 ix, F *r, F *g, F *b, F *a) |
static void | clut (uint32_t input_channels, uint32_t output_channels, const uint8_t grid_points[4], const uint8_t *grid_8, const uint8_t *grid_16, F *r, F *g, F *b, F *a) |
static void | clut (const skcms_A2B *a2b, F *r, F *g, F *b, F a) |
static void | clut (const skcms_B2A *b2a, F *r, F *g, F *b, F *a) |
STAGE (load_a8, NoCtx) | |
STAGE (load_g8, NoCtx) | |
STAGE (load_4444, NoCtx) | |
STAGE (load_565, NoCtx) | |
STAGE (load_888, NoCtx) | |
STAGE (load_8888, NoCtx) | |
STAGE (load_1010102, NoCtx) | |
STAGE (load_101010x_XR, NoCtx) | |
STAGE (load_10101010_XR, NoCtx) | |
STAGE (load_161616LE, NoCtx) | |
STAGE (load_16161616LE, NoCtx) | |
STAGE (load_161616BE, NoCtx) | |
STAGE (load_16161616BE, NoCtx) | |
STAGE (load_hhh, NoCtx) | |
STAGE (load_hhhh, NoCtx) | |
STAGE (load_fff, NoCtx) | |
STAGE (load_ffff, NoCtx) | |
STAGE (swap_rb, NoCtx) | |
STAGE (clamp, NoCtx) | |
STAGE (invert, NoCtx) | |
STAGE (force_opaque, NoCtx) | |
STAGE (premul, NoCtx) | |
STAGE (unpremul, NoCtx) | |
STAGE (matrix_3x3, const skcms_Matrix3x3 *matrix) | |
STAGE (matrix_3x4, const skcms_Matrix3x4 *matrix) | |
STAGE (lab_to_xyz, NoCtx) | |
STAGE (xyz_to_lab, NoCtx) | |
STAGE (gamma_r, const skcms_TransferFunction *tf) | |
STAGE (gamma_g, const skcms_TransferFunction *tf) | |
STAGE (gamma_b, const skcms_TransferFunction *tf) | |
STAGE (gamma_a, const skcms_TransferFunction *tf) | |
STAGE (gamma_rgb, const skcms_TransferFunction *tf) | |
STAGE (tf_r, const skcms_TransferFunction *tf) | |
STAGE (tf_g, const skcms_TransferFunction *tf) | |
STAGE (tf_b, const skcms_TransferFunction *tf) | |
STAGE (tf_a, const skcms_TransferFunction *tf) | |
STAGE (tf_rgb, const skcms_TransferFunction *tf) | |
STAGE (pq_r, const skcms_TransferFunction *tf) | |
STAGE (pq_g, const skcms_TransferFunction *tf) | |
STAGE (pq_b, const skcms_TransferFunction *tf) | |
STAGE (pq_a, const skcms_TransferFunction *tf) | |
STAGE (pq_rgb, const skcms_TransferFunction *tf) | |
STAGE (hlg_r, const skcms_TransferFunction *tf) | |
STAGE (hlg_g, const skcms_TransferFunction *tf) | |
STAGE (hlg_b, const skcms_TransferFunction *tf) | |
STAGE (hlg_a, const skcms_TransferFunction *tf) | |
STAGE (hlg_rgb, const skcms_TransferFunction *tf) | |
STAGE (hlginv_r, const skcms_TransferFunction *tf) | |
STAGE (hlginv_g, const skcms_TransferFunction *tf) | |
STAGE (hlginv_b, const skcms_TransferFunction *tf) | |
STAGE (hlginv_a, const skcms_TransferFunction *tf) | |
STAGE (hlginv_rgb, const skcms_TransferFunction *tf) | |
STAGE (table_r, const skcms_Curve *curve) | |
STAGE (table_g, const skcms_Curve *curve) | |
STAGE (table_b, const skcms_Curve *curve) | |
STAGE (table_a, const skcms_Curve *curve) | |
STAGE (clut_A2B, const skcms_A2B *a2b) | |
STAGE (clut_B2A, const skcms_B2A *b2a) | |
FINAL_STAGE (store_a8, NoCtx) | |
FINAL_STAGE (store_g8, NoCtx) | |
FINAL_STAGE (store_4444, NoCtx) | |
FINAL_STAGE (store_565, NoCtx) | |
FINAL_STAGE (store_888, NoCtx) | |
FINAL_STAGE (store_8888, NoCtx) | |
FINAL_STAGE (store_101010x_XR, NoCtx) | |
FINAL_STAGE (store_1010102, NoCtx) | |
FINAL_STAGE (store_161616LE, NoCtx) | |
FINAL_STAGE (store_16161616LE, NoCtx) | |
FINAL_STAGE (store_161616BE, NoCtx) | |
FINAL_STAGE (store_16161616BE, NoCtx) | |
FINAL_STAGE (store_hhh, NoCtx) | |
FINAL_STAGE (store_hhhh, NoCtx) | |
FINAL_STAGE (store_fff, NoCtx) | |
FINAL_STAGE (store_ffff, NoCtx) | |
static void | exec_stages (const Op *ops, const void **contexts, const char *src, char *dst, int i) |
void | run_program (const Op *program, const void **contexts, SKCMS_MAYBE_UNUSED ptrdiff_t programSize, const char *src, char *dst, int n, const size_t src_bpp, const size_t dst_bpp) |
Variables | |
static constexpr F | F0 = 0.0f |
static constexpr F | F1 = 1.0f |
static constexpr F | FInfBits = 0x7f800000 |
#define DECLARE_STAGE | ( | name, | |
arg | |||
) |
Definition at line 813 of file Transform_inl.h.
#define FINAL_STAGE | ( | name, | |
arg | |||
) | DECLARE_STAGE(name, arg) |
Definition at line 823 of file Transform_inl.h.
#define SI static inline |
Definition at line 94 of file Transform_inl.h.
#define STAGE | ( | name, | |
arg | |||
) | DECLARE_STAGE(name, arg) |
Definition at line 822 of file Transform_inl.h.
#define STAGE_PARAMS | ( | MAYBE_REF | ) |
Definition at line 772 of file Transform_inl.h.
Definition at line 14 of file Transform_inl.h.
Definition at line 15 of file Transform_inl.h.
Definition at line 18 of file Transform_inl.h.
Definition at line 17 of file Transform_inl.h.
Definition at line 16 of file Transform_inl.h.
Definition at line 19 of file Transform_inl.h.
SI F apply_gamma | ( | const skcms_TransferFunction * | tf, |
F | x | ||
) |
Definition at line 310 of file Transform_inl.h.
SI F apply_hlg | ( | const skcms_TransferFunction * | tf, |
F | x | ||
) |
Definition at line 328 of file Transform_inl.h.
SI F apply_hlginv | ( | const skcms_TransferFunction * | tf, |
F | x | ||
) |
Definition at line 342 of file Transform_inl.h.
SI F apply_pq | ( | const skcms_TransferFunction * | tf, |
F | x | ||
) |
Definition at line 316 of file Transform_inl.h.
Definition at line 291 of file Transform_inl.h.
SI F apply_tf | ( | const skcms_TransferFunction * | tf, |
F | x | ||
) |
Definition at line 296 of file Transform_inl.h.
Definition at line 280 of file Transform_inl.h.
Definition at line 264 of file Transform_inl.h.
Definition at line 259 of file Transform_inl.h.
Definition at line 245 of file Transform_inl.h.
Definition at line 275 of file Transform_inl.h.
Definition at line 126 of file Transform_inl.h.
Definition at line 111 of file Transform_inl.h.
Definition at line 753 of file Transform_inl.h.
Definition at line 758 of file Transform_inl.h.
|
static |
Definition at line 672 of file Transform_inl.h.
|
static |
Definition at line 1487 of file Transform_inl.h.
Definition at line 153 of file Transform_inl.h.
Definition at line 587 of file Transform_inl.h.
Definition at line 583 of file Transform_inl.h.
FINAL_STAGE | ( | store_1010102 | , |
NoCtx | |||
) |
Definition at line 1304 of file Transform_inl.h.
FINAL_STAGE | ( | store_101010x_XR | , |
NoCtx | |||
) |
Definition at line 1295 of file Transform_inl.h.
FINAL_STAGE | ( | store_16161616BE | , |
NoCtx | |||
) |
Definition at line 1373 of file Transform_inl.h.
FINAL_STAGE | ( | store_16161616LE | , |
NoCtx | |||
) |
Definition at line 1330 of file Transform_inl.h.
FINAL_STAGE | ( | store_161616BE | , |
NoCtx | |||
) |
Definition at line 1351 of file Transform_inl.h.
FINAL_STAGE | ( | store_161616LE | , |
NoCtx | |||
) |
Definition at line 1311 of file Transform_inl.h.
FINAL_STAGE | ( | store_4444 | , |
NoCtx | |||
) |
FINAL_STAGE | ( | store_565 | , |
NoCtx | |||
) |
FINAL_STAGE | ( | store_888 | , |
NoCtx | |||
) |
Definition at line 1266 of file Transform_inl.h.
FINAL_STAGE | ( | store_8888 | , |
NoCtx | |||
) |
FINAL_STAGE | ( | store_a8 | , |
NoCtx | |||
) |
FINAL_STAGE | ( | store_fff | , |
NoCtx | |||
) |
Definition at line 1441 of file Transform_inl.h.
FINAL_STAGE | ( | store_ffff | , |
NoCtx | |||
) |
Definition at line 1459 of file Transform_inl.h.
FINAL_STAGE | ( | store_g8 | , |
NoCtx | |||
) |
FINAL_STAGE | ( | store_hhh | , |
NoCtx | |||
) |
Definition at line 1394 of file Transform_inl.h.
FINAL_STAGE | ( | store_hhhh | , |
NoCtx | |||
) |
Definition at line 1416 of file Transform_inl.h.
Definition at line 219 of file Transform_inl.h.
Definition at line 439 of file Transform_inl.h.
Definition at line 482 of file Transform_inl.h.
Definition at line 460 of file Transform_inl.h.
Definition at line 525 of file Transform_inl.h.
Definition at line 422 of file Transform_inl.h.
Definition at line 180 of file Transform_inl.h.
Definition at line 146 of file Transform_inl.h.
Definition at line 98 of file Transform_inl.h.
Definition at line 360 of file Transform_inl.h.
Definition at line 374 of file Transform_inl.h.
Definition at line 216 of file Transform_inl.h.
Definition at line 215 of file Transform_inl.h.
Definition at line 600 of file Transform_inl.h.
void run_program | ( | const Op * | program, |
const void ** | contexts, | ||
SKCMS_MAYBE_UNUSED ptrdiff_t | programSize, | ||
const char * | src, | ||
char * | dst, | ||
int | n, | ||
const size_t | src_bpp, | ||
const size_t | dst_bpp | ||
) |
Definition at line 1505 of file Transform_inl.h.
Definition at line 646 of file Transform_inl.h.
Definition at line 664 of file Transform_inl.h.
Definition at line 628 of file Transform_inl.h.
Definition at line 636 of file Transform_inl.h.
STAGE | ( | clut_A2B | , |
const skcms_A2B * | a2b | ||
) |
Definition at line 1229 of file Transform_inl.h.
STAGE | ( | clut_B2A | , |
const skcms_B2A * | b2a | ||
) |
Definition at line 1238 of file Transform_inl.h.
STAGE | ( | force_opaque | , |
NoCtx | |||
) |
Definition at line 1088 of file Transform_inl.h.
STAGE | ( | gamma_a | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1172 of file Transform_inl.h.
STAGE | ( | gamma_b | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1171 of file Transform_inl.h.
STAGE | ( | gamma_g | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1170 of file Transform_inl.h.
STAGE | ( | gamma_r | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1169 of file Transform_inl.h.
STAGE | ( | gamma_rgb | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1174 of file Transform_inl.h.
STAGE | ( | hlg_a | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1205 of file Transform_inl.h.
STAGE | ( | hlg_b | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1204 of file Transform_inl.h.
STAGE | ( | hlg_g | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1203 of file Transform_inl.h.
STAGE | ( | hlg_r | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1202 of file Transform_inl.h.
STAGE | ( | hlg_rgb | , |
const skcms_TransferFunction * | tf | ||
) |
STAGE | ( | hlginv_a | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1216 of file Transform_inl.h.
STAGE | ( | hlginv_b | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1215 of file Transform_inl.h.
STAGE | ( | hlginv_g | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1214 of file Transform_inl.h.
STAGE | ( | hlginv_r | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1213 of file Transform_inl.h.
STAGE | ( | hlginv_rgb | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1218 of file Transform_inl.h.
STAGE | ( | lab_to_xyz | , |
NoCtx | |||
) |
Definition at line 1129 of file Transform_inl.h.
STAGE | ( | load_10101010_XR | , |
NoCtx | |||
) |
Definition at line 905 of file Transform_inl.h.
STAGE | ( | load_1010102 | , |
NoCtx | |||
) |
Definition at line 886 of file Transform_inl.h.
STAGE | ( | load_101010x_XR | , |
NoCtx | |||
) |
Definition at line 895 of file Transform_inl.h.
STAGE | ( | load_16161616BE | , |
NoCtx | |||
) |
Definition at line 972 of file Transform_inl.h.
STAGE | ( | load_16161616LE | , |
NoCtx | |||
) |
Definition at line 932 of file Transform_inl.h.
STAGE | ( | load_161616BE | , |
NoCtx | |||
) |
Definition at line 952 of file Transform_inl.h.
STAGE | ( | load_161616LE | , |
NoCtx | |||
) |
Definition at line 916 of file Transform_inl.h.
STAGE | ( | load_4444 | , |
NoCtx | |||
) |
STAGE | ( | load_565 | , |
NoCtx | |||
) |
STAGE | ( | load_888 | , |
NoCtx | |||
) |
Definition at line 852 of file Transform_inl.h.
STAGE | ( | load_8888 | , |
NoCtx | |||
) |
Definition at line 877 of file Transform_inl.h.
STAGE | ( | load_a8 | , |
NoCtx | |||
) |
Definition at line 827 of file Transform_inl.h.
STAGE | ( | load_fff | , |
NoCtx | |||
) |
Definition at line 1034 of file Transform_inl.h.
STAGE | ( | load_ffff | , |
NoCtx | |||
) |
Definition at line 1050 of file Transform_inl.h.
STAGE | ( | load_g8 | , |
NoCtx | |||
) |
STAGE | ( | load_hhh | , |
NoCtx | |||
) |
Definition at line 992 of file Transform_inl.h.
STAGE | ( | load_hhhh | , |
NoCtx | |||
) |
Definition at line 1011 of file Transform_inl.h.
STAGE | ( | matrix_3x3 | , |
const skcms_Matrix3x3 * | matrix | ||
) |
Definition at line 1105 of file Transform_inl.h.
STAGE | ( | matrix_3x4 | , |
const skcms_Matrix3x4 * | matrix | ||
) |
STAGE | ( | pq_a | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1194 of file Transform_inl.h.
STAGE | ( | pq_b | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1193 of file Transform_inl.h.
STAGE | ( | pq_g | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1192 of file Transform_inl.h.
STAGE | ( | pq_r | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1191 of file Transform_inl.h.
STAGE | ( | pq_rgb | , |
const skcms_TransferFunction * | tf | ||
) |
STAGE | ( | swap_rb | , |
NoCtx | |||
) |
Definition at line 1068 of file Transform_inl.h.
STAGE | ( | table_a | , |
const skcms_Curve * | curve | ||
) |
Definition at line 1227 of file Transform_inl.h.
STAGE | ( | table_b | , |
const skcms_Curve * | curve | ||
) |
Definition at line 1226 of file Transform_inl.h.
STAGE | ( | table_g | , |
const skcms_Curve * | curve | ||
) |
Definition at line 1225 of file Transform_inl.h.
STAGE | ( | table_r | , |
const skcms_Curve * | curve | ||
) |
Definition at line 1224 of file Transform_inl.h.
STAGE | ( | tf_a | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1183 of file Transform_inl.h.
STAGE | ( | tf_b | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1182 of file Transform_inl.h.
STAGE | ( | tf_g | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1181 of file Transform_inl.h.
STAGE | ( | tf_r | , |
const skcms_TransferFunction * | tf | ||
) |
Definition at line 1180 of file Transform_inl.h.
STAGE | ( | tf_rgb | , |
const skcms_TransferFunction * | tf | ||
) |
STAGE | ( | unpremul | , |
NoCtx | |||
) |
Definition at line 1098 of file Transform_inl.h.
STAGE | ( | xyz_to_lab | , |
NoCtx | |||
) |
Definition at line 1151 of file Transform_inl.h.
Definition at line 104 of file Transform_inl.h.
Definition at line 388 of file Transform_inl.h.
Definition at line 405 of file Transform_inl.h.
Definition at line 206 of file Transform_inl.h.
SI F table | ( | const skcms_Curve * | curve, |
F | v | ||
) |
Definition at line 604 of file Transform_inl.h.
Definition at line 134 of file Transform_inl.h.
Definition at line 595 of file Transform_inl.h.
|
staticconstexpr |
Definition at line 27 of file Transform_inl.h.
|
static |
Definition at line 28 of file Transform_inl.h.
|
static |
Definition at line 29 of file Transform_inl.h.