44 bool uninitialized_pixels =
true);
123template<
typename OpT>
127 "Sequencer only supports 4 channel images");
129 "Sequencer only supports 4 channel images");
131 "Sequencer only supports 4 channel images");
134 int64_t offset = range.first() * 4;
135 if (dst->float_buffer.data) {
136 const float *src1_ptr = src1->float_buffer.data + offset;
137 const float *src2_ptr = src2->float_buffer.data + offset;
138 float *dst_ptr = dst->float_buffer.data + offset;
139 op.apply(src1_ptr, src2_ptr, dst_ptr, range.size());
142 const uchar *src1_ptr = src1->byte_buffer.data + offset;
143 const uchar *src2_ptr = src2->byte_buffer.data + offset;
144 uchar *dst_ptr = dst->byte_buffer.data + offset;
145 op.apply(src1_ptr, src2_ptr, dst_ptr, range.size());
#define BLI_assert_msg(a, msg)
MINLINE void straight_uchar_to_premul_float(float result[4], const unsigned char color[4])
MINLINE void premul_float_to_straight_uchar(unsigned char *result, const float color[4])
struct TextVarsRuntime TextVarsRuntime
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
EffectHandle strip_blend_mode_handle_get(Strip *strip)
void mul_effect_get_handle(EffectHandle &rval)
void alpha_under_effect_get_handle(EffectHandle &rval)
void wipe_effect_get_handle(EffectHandle &rval)
void gaussian_blur_effect_get_handle(EffectHandle &rval)
void solid_color_effect_get_handle(EffectHandle &rval)
StripEarlyOut early_out_mul_input2(const Strip *, float fac)
void text_effect_get_handle(EffectHandle &rval)
Array< float > make_gaussian_blur_kernel(float rad, int size)
void store_premul_pixel(const blender::float4 &pix, uchar *dst)
ImBuf * prepare_effect_imbufs(const RenderData *context, ImBuf *ibuf1, ImBuf *ibuf2, bool uninitialized_pixels)
void store_opaque_black_pixel(uchar *dst)
void gamma_cross_effect_get_handle(EffectHandle &rval)
void blend_mode_effect_get_handle(EffectHandle &rval)
void get_default_fac_fade(const Scene *scene, const Strip *strip, float timeline_frame, float *fac)
void cross_effect_get_handle(EffectHandle &rval)
blender::float4 load_premul_pixel(const uchar *ptr)
void multi_camera_effect_get_handle(EffectHandle &rval)
float strip_speed_effect_target_frame_get(Scene *scene, Strip *strip_speed, float timeline_frame, int input)
void speed_effect_get_handle(EffectHandle &rval)
void add_effect_get_handle(EffectHandle &rval)
void strip_effect_speed_rebuild_map(Scene *scene, Strip *strip)
StripEarlyOut early_out_mul_input1(const Strip *, float fac)
EffectHandle effect_handle_get(StripType strip_type)
void transform_effect_get_handle(EffectHandle &rval)
void adjustment_effect_get_handle(EffectHandle &rval)
void sub_effect_get_handle(EffectHandle &rval)
void glow_effect_get_handle(EffectHandle &rval)
static void apply_effect_op(const OpT &op, const ImBuf *src1, const ImBuf *src2, ImBuf *dst)
void color_mix_effect_get_handle(EffectHandle &rval)
void alpha_over_effect_get_handle(EffectHandle &rval)
StripEarlyOut early_out_fade(const Strip *, float fac)
void parallel_for(const IndexRange range, const int64_t grain_size, const Function &function, const TaskSizeHints &size_hints=detail::TaskSizeHints_Static(1))
VecBase< float, 4 > float4