Blender  V3.3
Classes | Macros | Typedefs | Functions
sequencer_scopes.c File Reference
#include <math.h>
#include <string.h>
#include "BLI_task.h"
#include "BLI_utildefines.h"
#include "IMB_colormanagement.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "sequencer_intern.h"

Go to the source code of this file.

Classes

struct  MakeHistogramViewData
 

Macros

#define HIS_STEPS   512
 

Typedefs

typedef struct MakeHistogramViewData MakeHistogramViewData
 

Functions

static void rgb_to_yuv_normalized (const float rgb[3], float yuv[3])
 
static void scope_put_pixel (const uchar *table, uchar *pos)
 
static void scope_put_pixel_single (const uchar *table, uchar *pos, int col)
 
static void wform_put_line (int w, uchar *last_pos, uchar *new_pos)
 
static void wform_put_line_single (int w, uchar *last_pos, uchar *new_pos, int col)
 
static void wform_put_border (uchar *tgt, int w, int h)
 
static void wform_put_gridrow (uchar *tgt, float perc, int w, int h)
 
static void wform_put_grid (uchar *tgt, int w, int h)
 
static ImBufmake_waveform_view_from_ibuf_byte (ImBuf *ibuf)
 
static ImBufmake_waveform_view_from_ibuf_float (ImBuf *ibuf)
 
ImBufmake_waveform_view_from_ibuf (ImBuf *ibuf)
 
static ImBufmake_sep_waveform_view_from_ibuf_byte (ImBuf *ibuf)
 
static ImBufmake_sep_waveform_view_from_ibuf_float (ImBuf *ibuf)
 
ImBufmake_sep_waveform_view_from_ibuf (ImBuf *ibuf)
 
static void draw_zebra_byte (ImBuf *src, ImBuf *ibuf, float perc)
 
static void draw_zebra_float (ImBuf *src, ImBuf *ibuf, float perc)
 
ImBufmake_zebra_view_from_ibuf (ImBuf *ibuf, float perc)
 
static void draw_histogram_marker (ImBuf *ibuf, int x)
 
static void draw_histogram_bar (ImBuf *ibuf, int x, float val, int col)
 
static void make_histogram_view_from_ibuf_byte_fn (void *__restrict userdata, const int y, const TaskParallelTLS *__restrict tls)
 
static void make_histogram_view_from_ibuf_reduce (const void *__restrict UNUSED(userdata), void *__restrict chunk_join, void *__restrict chunk)
 
static ImBufmake_histogram_view_from_ibuf_byte (ImBuf *ibuf)
 
BLI_INLINE int get_bin_float (float f)
 
static void make_histogram_view_from_ibuf_float_fn (void *__restrict userdata, const int y, const TaskParallelTLS *__restrict tls)
 
static ImBufmake_histogram_view_from_ibuf_float (ImBuf *ibuf)
 
ImBufmake_histogram_view_from_ibuf (ImBuf *ibuf)
 
static void vectorscope_put_cross (uchar r, uchar g, uchar b, char *tgt, int w, int h, int size)
 
static ImBufmake_vectorscope_view_from_ibuf_byte (ImBuf *ibuf)
 
static ImBufmake_vectorscope_view_from_ibuf_float (ImBuf *ibuf)
 
ImBufmake_vectorscope_view_from_ibuf (ImBuf *ibuf)
 

Macro Definition Documentation

◆ HIS_STEPS

#define HIS_STEPS   512

Definition at line 421 of file sequencer_scopes.c.

Typedef Documentation

◆ MakeHistogramViewData

Function Documentation

◆ draw_histogram_bar()

static void draw_histogram_bar ( ImBuf ibuf,
int  x,
float  val,
int  col 
)
static

◆ draw_histogram_marker()

static void draw_histogram_marker ( ImBuf ibuf,
int  x 
)
static

Definition at line 395 of file sequencer_scopes.c.

References ImBuf::rect, x, ImBuf::x, and ImBuf::y.

Referenced by make_histogram_view_from_ibuf_float().

◆ draw_zebra_byte()

static void draw_zebra_byte ( ImBuf src,
ImBuf ibuf,
float  perc 
)
static

Definition at line 321 of file sequencer_scopes.c.

References Freestyle::a, usdtokens::b(), usdtokens::g(), r, ImBuf::rect, src, x, ImBuf::x, y, and ImBuf::y.

Referenced by make_zebra_view_from_ibuf().

◆ draw_zebra_float()

static void draw_zebra_float ( ImBuf src,
ImBuf ibuf,
float  perc 
)
static

◆ get_bin_float()

BLI_INLINE int get_bin_float ( float  f)

◆ make_histogram_view_from_ibuf()

ImBuf* make_histogram_view_from_ibuf ( ImBuf ibuf)

◆ make_histogram_view_from_ibuf_byte()

static ImBuf* make_histogram_view_from_ibuf_byte ( ImBuf ibuf)
static

◆ make_histogram_view_from_ibuf_byte_fn()

static void make_histogram_view_from_ibuf_byte_fn ( void *__restrict  userdata,
const int  y,
const TaskParallelTLS *__restrict  tls 
)
static

Definition at line 427 of file sequencer_scopes.c.

References data, HIS_STEPS, ImBuf::rect, src, x, ImBuf::x, and y.

Referenced by make_histogram_view_from_ibuf_byte().

◆ make_histogram_view_from_ibuf_float()

static ImBuf* make_histogram_view_from_ibuf_float ( ImBuf ibuf)
static

◆ make_histogram_view_from_ibuf_float_fn()

static void make_histogram_view_from_ibuf_float_fn ( void *__restrict  userdata,
const int  y,
const TaskParallelTLS *__restrict  tls 
)
static

Definition at line 526 of file sequencer_scopes.c.

References data, get_bin_float(), HIS_STEPS, ImBuf::rect_float, src, x, ImBuf::x, and y.

Referenced by make_histogram_view_from_ibuf_float().

◆ make_histogram_view_from_ibuf_reduce()

static void make_histogram_view_from_ibuf_reduce ( const void *__restrict   UNUSEDuserdata,
void *__restrict  chunk_join,
void *__restrict  chunk 
)
static

◆ make_sep_waveform_view_from_ibuf()

ImBuf* make_sep_waveform_view_from_ibuf ( ImBuf ibuf)

◆ make_sep_waveform_view_from_ibuf_byte()

static ImBuf* make_sep_waveform_view_from_ibuf_byte ( ImBuf ibuf)
static

◆ make_sep_waveform_view_from_ibuf_float()

static ImBuf* make_sep_waveform_view_from_ibuf_float ( ImBuf ibuf)
static

◆ make_vectorscope_view_from_ibuf()

ImBuf* make_vectorscope_view_from_ibuf ( ImBuf ibuf)

◆ make_vectorscope_view_from_ibuf_byte()

static ImBuf* make_vectorscope_view_from_ibuf_byte ( ImBuf ibuf)
static

◆ make_vectorscope_view_from_ibuf_float()

static ImBuf* make_vectorscope_view_from_ibuf_float ( ImBuf ibuf)
static

◆ make_waveform_view_from_ibuf()

ImBuf* make_waveform_view_from_ibuf ( ImBuf ibuf)

◆ make_waveform_view_from_ibuf_byte()

static ImBuf* make_waveform_view_from_ibuf_byte ( ImBuf ibuf)
static

◆ make_waveform_view_from_ibuf_float()

static ImBuf* make_waveform_view_from_ibuf_float ( ImBuf ibuf)
static

◆ make_zebra_view_from_ibuf()

ImBuf* make_zebra_view_from_ibuf ( ImBuf ibuf,
float  perc 
)

◆ rgb_to_yuv_normalized()

static void rgb_to_yuv_normalized ( const float  rgb[3],
float  yuv[3] 
)
static

◆ scope_put_pixel()

static void scope_put_pixel ( const uchar table,
uchar pos 
)
static

◆ scope_put_pixel_single()

static void scope_put_pixel_single ( const uchar table,
uchar pos,
int  col 
)
static

Definition at line 43 of file sequencer_scopes.c.

References col, and pos.

Referenced by make_sep_waveform_view_from_ibuf_byte(), and make_sep_waveform_view_from_ibuf_float().

◆ vectorscope_put_cross()

static void vectorscope_put_cross ( uchar  r,
uchar  g,
uchar  b,
char *  tgt,
int  w,
int  h,
int  size 
)
static

◆ wform_put_border()

static void wform_put_border ( uchar tgt,
int  w,
int  h 
)
static

◆ wform_put_grid()

static void wform_put_grid ( uchar tgt,
int  w,
int  h 
)
static

◆ wform_put_gridrow()

static void wform_put_gridrow ( uchar tgt,
float  perc,
int  w,
int  h 
)
static

Definition at line 107 of file sequencer_scopes.c.

References w().

Referenced by wform_put_grid().

◆ wform_put_line()

static void wform_put_line ( int  w,
uchar last_pos,
uchar new_pos 
)
static

Definition at line 50 of file sequencer_scopes.c.

References w().

Referenced by make_waveform_view_from_ibuf_byte(), and make_waveform_view_from_ibuf_float().

◆ wform_put_line_single()

static void wform_put_line_single ( int  w,
uchar last_pos,
uchar new_pos,
int  col 
)
static

Definition at line 67 of file sequencer_scopes.c.

References col, and w().

Referenced by make_sep_waveform_view_from_ibuf_byte(), and make_sep_waveform_view_from_ibuf_float().