5#include "testing/testing.h"
60TEST(imbuf_transform, nearest_2x_smaller)
70TEST(imbuf_transform, box_2x_smaller)
81TEST(imbuf_transform, bilinear_2x_smaller)
91TEST(imbuf_transform, cubic_bspline_2x_smaller)
101TEST(imbuf_transform, cubic_mitchell_2x_smaller)
111TEST(imbuf_transform, cubic_mitchell_fractional_larger)
124TEST(imbuf_transform, nearest_very_large_scale)
133 src_col[254] = col_r;
134 src_col[255] = col_g;
135 src_col[256] = col_b;
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
@ IMB_TRANSFORM_MODE_REGULAR
Do not crop or repeat.
void IMB_transform(const ImBuf *src, ImBuf *dst, eIMBTransformMode mode, eIMBInterpolationFilterMode filter, const float transform_matrix[4][4], const rctf *src_crop)
Transform source image buffer onto destination image buffer using a transform matrix.
eIMBInterpolationFilterMode
@ IMB_FILTER_CUBIC_BSPLINE
@ IMB_FILTER_CUBIC_MITCHELL
struct ImBuf * IMB_allocImBuf(unsigned int, unsigned int, unsigned char, unsigned int)
void IMB_freeImBuf(ImBuf *)
TEST(imbuf_scaling, nearest_2x_smaller)
static ImBuf * create_6x2_test_image()
static ImBuf * transform_2x_smaller(eIMBInterpolationFilterMode filter)
static ImBuf * transform_fractional_larger(eIMBInterpolationFilterMode filter)
MatT from_scale(const VecBase< typename MatT::base_type, ScaleDim > &scale)
MatT from_loc_rot_scale(const typename MatT::loc_type &location, const RotationT &rotation, const VecBase< typename MatT::base_type, ScaleDim > &scale)
ColorTheme4< uint8_t > ColorTheme4b
VecBase< float, 4 > float4
VecBase< float, 3 > float3
ImBufByteBuffer byte_buffer
static QuaternionBase identity()