void(* add_8x8basis)(int16_t rem[64], const int16_t basis[64], int scale)
void(* draw_edges)(uint8_t *buf, ptrdiff_t wrap, int width, int height, int w, int h, int sides)
int(* pix_sum)(const uint8_t *pix, ptrdiff_t line_size)
int(* try_8x8basis)(const int16_t rem[64], const int16_t weight[64], const int16_t basis[64], int scale)
void(* shrink[4])(uint8_t *dst, ptrdiff_t dst_wrap, const uint8_t *src, ptrdiff_t src_wrap, int width, int height)
int(* pix_norm1)(const uint8_t *pix, ptrdiff_t line_size)
main external API structure.
static void scale(int *out, const int *in, const int w, const int h, const int shift)