#include "libavutil/opt.h"
#include "libavutil/imgutils.h"
#include "avfilter.h"
#include "drawutils.h"
#include "formats.h"
#include "internal.h"
#include "video.h"
Go to the source code of this file.
|
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) |
|
◆ REDS
◆ YELLOWS
◆ GREENS
◆ CYANS
◆ BLUES
◆ MAGENTAS
◆ RED
◆ YELLOW
◆ GREEN
◆ CYAN
#define CYAN (1 << CYANS) |
◆ BLUE
#define BLUE (1 << BLUES) |
◆ MAGENTA
◆ ALL
◆ DENOM
◆ FAST_DIV255
#define FAST_DIV255 |
( |
|
x | ) |
((((x) + 128) * 257) >> 16) |
◆ HUESATURATION
◆ OFFSET
◆ VF
◆ get_triplet()
static void get_triplet |
( |
int64_t |
m[4][4], |
|
|
int * |
r, |
|
|
int * |
g, |
|
|
int * |
b |
|
) |
| |
|
inlinestatic |
◆ lerpi8()
◆ lerpi16()
◆ identity_matrix()
static void identity_matrix |
( |
float |
matrix[4][4] | ) |
|
|
static |
◆ matrix_multiply()
static void matrix_multiply |
( |
float |
a[4][4], |
|
|
float |
b[4][4], |
|
|
float |
c[4][4] |
|
) |
| |
|
static |
◆ colorscale_matrix()
static void colorscale_matrix |
( |
float |
matrix[4][4], |
|
|
float |
r, |
|
|
float |
g, |
|
|
float |
b |
|
) |
| |
|
static |
◆ saturation_matrix()
static void saturation_matrix |
( |
float |
matrix[4][4], |
|
|
float |
saturation, |
|
|
float |
rlw, |
|
|
float |
glw, |
|
|
float |
blw |
|
) |
| |
|
static |
◆ matrix2imatrix()
static void matrix2imatrix |
( |
float |
matrix[4][4], |
|
|
int64_t |
imatrix[4][4] |
|
) |
| |
|
static |
◆ x_rotate_matrix()
static void x_rotate_matrix |
( |
float |
matrix[4][4], |
|
|
float |
rs, |
|
|
float |
rc |
|
) |
| |
|
static |
◆ y_rotate_matrix()
static void y_rotate_matrix |
( |
float |
matrix[4][4], |
|
|
float |
rs, |
|
|
float |
rc |
|
) |
| |
|
static |
◆ z_rotate_matrix()
static void z_rotate_matrix |
( |
float |
matrix[4][4], |
|
|
float |
rs, |
|
|
float |
rc |
|
) |
| |
|
static |
◆ z_shear_matrix()
static void z_shear_matrix |
( |
float |
matrix[4][4], |
|
|
float |
dx, |
|
|
float |
dy |
|
) |
| |
|
static |
◆ transform_point()
static void transform_point |
( |
float |
matrix[4][4], |
|
|
float |
x, |
|
|
float |
y, |
|
|
float |
z, |
|
|
float * |
tx, |
|
|
float * |
ty, |
|
|
float * |
tz |
|
) |
| |
|
static |
◆ hue_rotate_matrix()
static void hue_rotate_matrix |
( |
float |
matrix[4][4], |
|
|
float |
rotation, |
|
|
float |
rlw, |
|
|
float |
glw, |
|
|
float |
blw |
|
) |
| |
|
static |
◆ shue_rotate_matrix()
static void shue_rotate_matrix |
( |
float |
m[4][4], |
|
|
float |
rotation |
|
) |
| |
|
static |
◆ init_matrix()
◆ filter_frame()
◆ config_input()
◆ AVFILTER_DEFINE_CLASS()
AVFILTER_DEFINE_CLASS |
( |
huesaturation |
| ) |
|
◆ pixel_fmts
◆ huesaturation_inputs
◆ huesaturation_outputs
◆ huesaturation_options
◆ ff_vf_huesaturation
Initial value:= {
.name = "huesaturation",
.priv_class = &huesaturation_class,
}
Definition at line 469 of file vf_huesaturation.c.
#define FILTER_PIXFMTS_ARRAY(array)
@ AV_PIX_FMT_BGR24
packed RGB 8:8:8, 24bpp, BGRBGR...
@ AV_PIX_FMT_BGRA
packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
#define FILTER_INPUTS(array)
@ AV_PIX_FMT_RGBA
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
#define AV_PIX_FMT_RGBA64
@ AV_PIX_FMT_BGR0
packed BGR 8:8:8, 32bpp, BGRXBGRX... X=unused/undefined
@ AV_PIX_FMT_ABGR
packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
@ AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static const AVFilterPad huesaturation_inputs[]
int ff_filter_process_command(AVFilterContext *ctx, const char *cmd, const char *arg, char *res, int res_len, int flags)
Generic processing of user supplied commands that are set in the same way as the filter options.
@ AV_PIX_FMT_RGB0
packed RGB 8:8:8, 32bpp, RGBXRGBX... X=unused/undefined
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Some filters support a generic "enable" expression option that can be used to enable or disable a fil...
@ AV_PIX_FMT_ARGB
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
#define AV_PIX_FMT_BGRA64
@ AV_PIX_FMT_0BGR
packed BGR 8:8:8, 32bpp, XBGRXBGR... X=unused/undefined
static const AVFilterPad huesaturation_outputs[]
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
static enum AVPixelFormat pixel_fmts[]
#define FILTER_OUTPUTS(array)
static av_cold int config_input(AVFilterLink *inlink)
@ AV_PIX_FMT_0RGB
packed RGB 8:8:8, 32bpp, XRGBXRGB... X=unused/undefined
#define AVFILTERPAD_FLAG_NEEDS_WRITABLE
The filter expects writable frames from its input link, duplicating data buffers if needed.