Blender V4.5
modifier.cc File Reference
#include <algorithm>
#include <cstddef>
#include <cstring>
#include "BLI_array.hh"
#include "BLI_listbase.h"
#include "BLI_math_geom.h"
#include "BLI_math_vector.hh"
#include "BLI_string.h"
#include "BLI_string_utils.hh"
#include "BLI_task.hh"
#include "BLT_translation.hh"
#include "DNA_mask_types.h"
#include "DNA_sequence_types.h"
#include "BKE_colortools.hh"
#include "IMB_colormanagement.hh"
#include "IMB_imbuf.hh"
#include "IMB_imbuf_types.hh"
#include "SEQ_modifier.hh"
#include "SEQ_render.hh"
#include "SEQ_sound.hh"
#include "SEQ_time.hh"
#include "SEQ_utils.hh"
#include "BLO_read_write.hh"
#include "render.hh"

Go to the source code of this file.

Classes

struct  blender::seq::ColorBalanceApplyOp
struct  blender::seq::WhiteBalanceApplyOp
struct  blender::seq::CurvesApplyOp
struct  blender::seq::HueCorrectApplyOp
struct  blender::seq::BrightContrastApplyOp
struct  blender::seq::MaskApplyOp
struct  blender::seq::AvgLogLum
struct  blender::seq::AreaLuminance

Namespaces

namespace  blender
namespace  blender::seq

Functions

static float4 blender::seq::load_pixel_premul (const uchar *ptr)
static float4 blender::seq::load_pixel_premul (const float *ptr)
static void blender::seq::store_pixel_premul (float4 pix, uchar *ptr)
static void blender::seq::store_pixel_premul (float4 pix, float *ptr)
static float4 blender::seq::load_pixel_raw (const uchar *ptr)
static float4 blender::seq::load_pixel_raw (const float *ptr)
static void blender::seq::store_pixel_raw (float4 pix, uchar *ptr)
static void blender::seq::store_pixel_raw (float4 pix, float *ptr)
static void blender::seq::apply_and_advance_mask (float4 input, float4 &result, const uchar *&mask)
static void blender::seq::apply_and_advance_mask (float4 input, float4 &result, const float *&mask)
static void blender::seq::apply_and_advance_mask (float4, float4 &, const void *&)
template<typename T>
static void blender::seq::apply_modifier_op (T &op, ImBuf *ibuf, const ImBuf *mask)
static ImBufblender::seq::modifier_render_mask_input (const RenderData *context, int mask_input_type, Strip *mask_strip, Mask *mask_id, int timeline_frame, int fra_offset)
static ImBufblender::seq::modifier_mask_get (StripModifierData *smd, const RenderData *context, int timeline_frame, int fra_offset)
White Balance Modifier
static void blender::seq::whiteBalance_init_data (StripModifierData *smd)
static void blender::seq::whiteBalance_apply (const StripScreenQuad &, StripModifierData *smd, ImBuf *ibuf, ImBuf *mask)
Curves Modifier
static void blender::seq::curves_init_data (StripModifierData *smd)
static void blender::seq::curves_free_data (StripModifierData *smd)
static void blender::seq::curves_copy_data (StripModifierData *target, StripModifierData *smd)
static void blender::seq::curves_apply (const StripScreenQuad &, StripModifierData *smd, ImBuf *ibuf, ImBuf *mask)
Hue Correct Modifier
static void blender::seq::hue_correct_init_data (StripModifierData *smd)
static void blender::seq::hue_correct_free_data (StripModifierData *smd)
static void blender::seq::hue_correct_copy_data (StripModifierData *target, StripModifierData *smd)
static void blender::seq::hue_correct_apply (const StripScreenQuad &, StripModifierData *smd, ImBuf *ibuf, ImBuf *mask)
Brightness/Contrast Modifier
static void blender::seq::brightcontrast_apply (const StripScreenQuad &, StripModifierData *smd, ImBuf *ibuf, ImBuf *mask)
Mask Modifier
static float blender::seq::load_mask_min (const uchar *&mask)
static float blender::seq::load_mask_min (const float *&mask)
static float blender::seq::load_mask_min (const void *&)
static void blender::seq::maskmodifier_apply (const StripScreenQuad &, StripModifierData *, ImBuf *ibuf, ImBuf *mask)
Tonemap Modifier
static void blender::seq::tonemapmodifier_init_data (StripModifierData *smd)
static void blender::seq::pixels_to_scene_linear_float (const ColorSpace *colorspace, float4 *pixels, int64_t count)
static void blender::seq::pixels_to_scene_linear_byte (const ColorSpace *colorspace, const uchar *pixels, float4 *dst, int64_t count)
static void blender::seq::scene_linear_to_image_chunk_float (ImBuf *ibuf, IndexRange range)
static void blender::seq::scene_linear_to_image_chunk_byte (float4 *src, ImBuf *ibuf, IndexRange range)
static void blender::seq::tonemap_simple (float4 *scene_linear, ImBuf *mask, IndexRange range, const AvgLogLum &avg)
static void blender::seq::tonemap_rd_photoreceptor (float4 *scene_linear, ImBuf *mask, IndexRange range, const AvgLogLum &avg)
static bool blender::seq::is_point_inside_quad (const StripScreenQuad &quad, int x, int y)
static void blender::seq::tonemap_calc_chunk_luminance (const StripScreenQuad &quad, const bool all_pixels_inside_quad, const int width, const IndexRange y_range, const float4 *scene_linear, AreaLuminance &r_lum)
static AreaLuminance blender::seq::tonemap_calc_input_luminance (const StripScreenQuad &quad, const ImBuf *ibuf)
static void blender::seq::tonemapmodifier_apply (const StripScreenQuad &quad, StripModifierData *smd, ImBuf *ibuf, ImBuf *mask)
.blend File I/O
void blender::seq::modifier_blend_write (BlendWriter *writer, ListBase *modbase)
void blender::seq::modifier_blend_read_data (BlendDataReader *reader, ListBase *lb)

Color Balance Modifier

static constexpr int blender::seq::CB_TABLE_SIZE = 1024
static float blender::seq::color_balance_lgg (float in, const float lift, const float gain, const float gamma, const float mul)
static float blender::seq::color_balance_sop (float in, const float slope, const float offset, const float power, float mul)
static void blender::seq::make_cb_table_lgg (float lift, float gain, float gamma, float mul, float r_table[CB_TABLE_SIZE])
static void blender::seq::make_cb_table_sop (float slope, float offset, float power, float mul, float r_table[CB_TABLE_SIZE])
static void blender::seq::colorBalance_init_data (StripModifierData *smd)
static void blender::seq::colorBalance_apply (const StripScreenQuad &, StripModifierData *smd, ImBuf *ibuf, ImBuf *mask)

Public Modifier Functions

static StripModifierTypeInfo blender::seq::modifiersTypes [NUM_SEQUENCE_MODIFIER_TYPES]
const StripModifierTypeInfoblender::seq::modifier_type_info_get (int type)
StripModifierDatablender::seq::modifier_new (Strip *strip, const char *name, int type)
bool blender::seq::modifier_remove (Strip *strip, StripModifierData *smd)
void blender::seq::modifier_clear (Strip *strip)
void blender::seq::modifier_free (StripModifierData *smd)
void blender::seq::modifier_unique_name (Strip *strip, StripModifierData *smd)
StripModifierDatablender::seq::modifier_find_by_name (Strip *strip, const char *name)
static bool blender::seq::skip_modifier (Scene *scene, const StripModifierData *smd, int timeline_frame)
void blender::seq::modifier_apply_stack (const RenderData *context, const Strip *strip, ImBuf *ibuf, int timeline_frame)
void blender::seq::modifier_list_copy (Strip *strip_new, Strip *strip)
int blender::seq::sequence_supports_modifiers (Strip *strip)