Changeset View
Changeset View
Standalone View
Standalone View
source/blender/imbuf/IMB_imbuf.h
| Show First 20 Lines • Show All 607 Lines • ▼ Show 20 Lines | |||||
| */ | */ | ||||
| void IMB_convert_rgba_to_abgr(struct ImBuf *ibuf); | void IMB_convert_rgba_to_abgr(struct ImBuf *ibuf); | ||||
| /** | /** | ||||
| * | * | ||||
| * \attention defined in imageprocess.c | * \attention defined in imageprocess.c | ||||
| */ | */ | ||||
| void bicubic_interpolation( | void bicubic_interpolation( | ||||
| struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout); | const struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout); | ||||
| void nearest_interpolation( | void nearest_interpolation( | ||||
| struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout); | const struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout); | ||||
| void bilinear_interpolation( | void bilinear_interpolation( | ||||
| struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout); | const struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout); | ||||
| void bicubic_interpolation_color( | void bicubic_interpolation_color( | ||||
| struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | ||||
| void nearest_interpolation_color( | void nearest_interpolation_color( | ||||
| struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | ||||
| void nearest_interpolation_color_wrap( | void nearest_interpolation_color_wrap( | ||||
| struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | ||||
| void bilinear_interpolation_color( | void bilinear_interpolation_color( | ||||
| struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | ||||
| void bilinear_interpolation_color_wrap( | void bilinear_interpolation_color_wrap( | ||||
| struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v); | ||||
| void IMB_alpha_under_color_float(float *rect_float, int x, int y, float backcol[3]); | void IMB_alpha_under_color_float(float *rect_float, int x, int y, float backcol[3]); | ||||
| void IMB_alpha_under_color_byte(unsigned char *rect, int x, int y, const float backcol[3]); | void IMB_alpha_under_color_byte(unsigned char *rect, int x, int y, const float backcol[3]); | ||||
| void IMB_sampleImageAtLocation( | void IMB_sampleImageAtLocation( | ||||
| struct ImBuf *ibuf, float x, float y, bool make_linear_rgb, float color[4]); | struct ImBuf *ibuf, float x, float y, bool make_linear_rgb, float color[4]); | ||||
| /** | /** | ||||
| ▲ Show 20 Lines • Show All 111 Lines • ▼ Show 20 Lines | void IMB_processor_apply_threaded( | ||||
| void(init_handle)(void *handle, int start_line, int tot_line, void *customdata), | void(init_handle)(void *handle, int start_line, int tot_line, void *customdata), | ||||
| void *(do_thread)(void *)); | void *(do_thread)(void *)); | ||||
| typedef void (*ScanlineThreadFunc)(void *custom_data, int scanline); | typedef void (*ScanlineThreadFunc)(void *custom_data, int scanline); | ||||
| void IMB_processor_apply_threaded_scanlines(int total_scanlines, | void IMB_processor_apply_threaded_scanlines(int total_scanlines, | ||||
| ScanlineThreadFunc do_thread, | ScanlineThreadFunc do_thread, | ||||
| void *custom_data); | void *custom_data); | ||||
| void IMB_transform(struct ImBuf *src, | /** | ||||
| * \brief Transform modes to use for IMB_transform function. | |||||
| * | |||||
| * These are not flags as the combination of cropping and repeat can lead to different expectation. | |||||
| */ | |||||
| typedef enum eIMBTransformMode { | |||||
| /** \brief Do not crop or repeat. */ | |||||
| IMB_TRANSFORM_MODE_REGULAR = 0, | |||||
| /** \brief Crop the source buffer. */ | |||||
| IMB_TRANSFORM_MODE_CROP_SRC = 1, | |||||
| /** \brief Wrap repeat the source buffer. Only supported in with nearest filtering. */ | |||||
| IMB_TRANSFORM_MODE_WRAP_REPEAT = 2, | |||||
| } eIMBTransformMode; | |||||
| void IMB_transform(const struct ImBuf *src, | |||||
| struct ImBuf *dst, | struct ImBuf *dst, | ||||
| float transform_matrix[4][4], | const eIMBTransformMode mode, | ||||
| struct rctf *src_crop, | const eIMBInterpolationFilterMode filter, | ||||
| const eIMBInterpolationFilterMode filter); | const float transform_matrix[4][4], | ||||
| const struct rctf *src_crop); | |||||
| /* ffmpeg */ | /* ffmpeg */ | ||||
| void IMB_ffmpeg_init(void); | void IMB_ffmpeg_init(void); | ||||
| const char *IMB_ffmpeg_last_error(void); | const char *IMB_ffmpeg_last_error(void); | ||||
| /** | /** | ||||
| * | * | ||||
| * \attention defined in util_gpu.c | * \attention defined in util_gpu.c | ||||
| ▲ Show 20 Lines • Show All 57 Lines • Show Last 20 Lines | |||||