FFmpeg
|
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "drawutils.h"
#include "filters.h"
#include "video.h"
Go to the source code of this file.
Data Structures | |
struct | HueSaturationContext |
Macros | |
#define | R 0 |
#define | G 1 |
#define | B 2 |
#define | REDS 0 |
#define | YELLOWS 1 |
#define | GREENS 2 |
#define | CYANS 3 |
#define | BLUES 4 |
#define | MAGENTAS 5 |
#define | RED (1 << REDS) |
#define | YELLOW (1 << YELLOWS) |
#define | GREEN (1 << GREENS) |
#define | CYAN (1 << CYANS) |
#define | BLUE (1 << BLUES) |
#define | MAGENTA (1 << MAGENTAS) |
#define | ALL 0x3F |
#define | DENOM 0x10000 |
#define | FAST_DIV255(x) ((((x) + 128) * 257) >> 16) |
#define | HUESATURATION(name, type, clip, xall) |
#define | OFFSET(x) offsetof(HueSaturationContext, x) |
#define | VF AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_RUNTIME_PARAM |
Functions | |
static void | get_triplet (int64_t m[4][4], int *r, int *g, int *b) |
static int | lerpi8 (int v0, int v1, int f, int max) |
static int | lerpi16 (int v0, int v1, int f, int max) |
static void | identity_matrix (float matrix[4][4]) |
static void | matrix_multiply (float a[4][4], float b[4][4], float c[4][4]) |
static void | colorscale_matrix (float matrix[4][4], float r, float g, float b) |
static void | saturation_matrix (float matrix[4][4], float saturation, float rlw, float glw, float blw) |
static void | matrix2imatrix (float matrix[4][4], int64_t imatrix[4][4]) |
static void | x_rotate_matrix (float matrix[4][4], float rs, float rc) |
static void | y_rotate_matrix (float matrix[4][4], float rs, float rc) |
static void | z_rotate_matrix (float matrix[4][4], float rs, float rc) |
static void | z_shear_matrix (float matrix[4][4], float dx, float dy) |
static void | transform_point (float matrix[4][4], float x, float y, float z, float *tx, float *ty, float *tz) |
static void | hue_rotate_matrix (float matrix[4][4], float rotation, float rlw, float glw, float blw) |
static void | shue_rotate_matrix (float m[4][4], float rotation) |
static void | init_matrix (HueSaturationContext *s) |
static int | filter_frame (AVFilterLink *inlink, AVFrame *frame) |
static av_cold int | config_input (AVFilterLink *inlink) |
AVFILTER_DEFINE_CLASS (huesaturation) | |
Variables | |
static enum AVPixelFormat | pixel_fmts [] |
static const AVFilterPad | huesaturation_inputs [] |
static const AVOption | huesaturation_options [] |
const AVFilter | ff_vf_huesaturation |
#define R 0 |
Definition at line 26 of file vf_huesaturation.c.
#define G 1 |
Definition at line 27 of file vf_huesaturation.c.
#define B 2 |
Definition at line 28 of file vf_huesaturation.c.
#define REDS 0 |
Definition at line 30 of file vf_huesaturation.c.
#define YELLOWS 1 |
Definition at line 31 of file vf_huesaturation.c.
#define GREENS 2 |
Definition at line 32 of file vf_huesaturation.c.
#define CYANS 3 |
Definition at line 33 of file vf_huesaturation.c.
#define BLUES 4 |
Definition at line 34 of file vf_huesaturation.c.
#define MAGENTAS 5 |
Definition at line 35 of file vf_huesaturation.c.
#define RED (1 << REDS) |
Definition at line 37 of file vf_huesaturation.c.
#define YELLOW (1 << YELLOWS) |
Definition at line 38 of file vf_huesaturation.c.
#define GREEN (1 << GREENS) |
Definition at line 39 of file vf_huesaturation.c.
#define CYAN (1 << CYANS) |
Definition at line 40 of file vf_huesaturation.c.
#define BLUE (1 << BLUES) |
Definition at line 41 of file vf_huesaturation.c.
#define MAGENTA (1 << MAGENTAS) |
Definition at line 42 of file vf_huesaturation.c.
#define ALL 0x3F |
Definition at line 43 of file vf_huesaturation.c.
#define DENOM 0x10000 |
Definition at line 70 of file vf_huesaturation.c.
#define FAST_DIV255 | ( | x | ) | ((((x) + 128) * 257) >> 16) |
Definition at line 81 of file vf_huesaturation.c.
Definition at line 93 of file vf_huesaturation.c.
#define OFFSET | ( | x | ) | offsetof(HueSaturationContext, x) |
Definition at line 436 of file vf_huesaturation.c.
Definition at line 437 of file vf_huesaturation.c.
|
inlinestatic |
Definition at line 72 of file vf_huesaturation.c.
|
inlinestatic |
Definition at line 83 of file vf_huesaturation.c.
|
inlinestatic |
Definition at line 88 of file vf_huesaturation.c.
|
static |
Definition at line 178 of file vf_huesaturation.c.
Referenced by init_matrix().
Definition at line 185 of file vf_huesaturation.c.
Referenced by colorscale_matrix(), saturation_matrix(), x_rotate_matrix(), y_rotate_matrix(), z_rotate_matrix(), and z_shear_matrix().
Definition at line 204 of file vf_huesaturation.c.
Referenced by init_matrix().
|
static |
Definition at line 216 of file vf_huesaturation.c.
Referenced by init_matrix().
Definition at line 239 of file vf_huesaturation.c.
Referenced by init_matrix().
Definition at line 246 of file vf_huesaturation.c.
Referenced by hue_rotate_matrix(), and shue_rotate_matrix().
Definition at line 258 of file vf_huesaturation.c.
Referenced by hue_rotate_matrix(), and shue_rotate_matrix().
Definition at line 270 of file vf_huesaturation.c.
Referenced by hue_rotate_matrix(), and shue_rotate_matrix().
Definition at line 282 of file vf_huesaturation.c.
Referenced by hue_rotate_matrix().
|
static |
Definition at line 294 of file vf_huesaturation.c.
Referenced by hue_rotate_matrix().
|
static |
Definition at line 304 of file vf_huesaturation.c.
Referenced by init_matrix().
Definition at line 338 of file vf_huesaturation.c.
Referenced by init_matrix().
|
static |
Definition at line 360 of file vf_huesaturation.c.
Referenced by filter_frame().
|
static |
Definition at line 380 of file vf_huesaturation.c.
|
static |
Definition at line 404 of file vf_huesaturation.c.
AVFILTER_DEFINE_CLASS | ( | huesaturation | ) |
|
static |
Definition at line 393 of file vf_huesaturation.c.
|
static |
Definition at line 426 of file vf_huesaturation.c.
|
static |
Definition at line 439 of file vf_huesaturation.c.
const AVFilter ff_vf_huesaturation |
Definition at line 461 of file vf_huesaturation.c.