FFmpeg
|
#include <float.h>
#include "avfilter.h"
#include "filters.h"
#include "video.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
Go to the source code of this file.
Data Structures | |
struct | ColorMatrixContext |
struct | ThreadData |
Used for passing data between threads. More... | |
Macros | |
#define | NS(n) ((n) < 0 ? (int)((n)*65536.0-0.5+DBL_EPSILON) : (int)((n)*65536.0+0.5)) |
#define | CB(n) av_clip_uint8(n) |
#define | OFFSET(x) offsetof(ColorMatrixContext, x) |
#define | FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM |
#define | ma m[0][0] |
#define | mb m[0][1] |
#define | mc m[0][2] |
#define | md m[1][0] |
#define | me m[1][1] |
#define | mf m[1][2] |
#define | mg m[2][0] |
#define | mh m[2][1] |
#define | mi m[2][2] |
#define | ima im[0][0] |
#define | imb im[0][1] |
#define | imc im[0][2] |
#define | imd im[1][0] |
#define | ime im[1][1] |
#define | imf im[1][2] |
#define | img im[2][0] |
#define | imh im[2][1] |
#define | imi im[2][2] |
Enumerations | |
enum | ColorMode { CHANNEL, INTENSITY, RAINBOW, MORELAND, NEBULAE, FIRE, FIERY, FRUIT, COOL, MAGMA, GREEN, VIRIDIS, PLASMA, CIVIDIS, TERRAIN, NB_CLMODES, COLOR_MODE_NONE = -1, COLOR_MODE_BT709, COLOR_MODE_FCC, COLOR_MODE_BT601, COLOR_MODE_SMPTE240M, COLOR_MODE_BT2020, COLOR_MODE_COUNT } |
Functions | |
AVFILTER_DEFINE_CLASS (colormatrix) | |
static void | inverse3x3 (double im[3][3], double m[3][3]) |
static void | solve_coefficients (double cm[3][3], double rgb[3][3], double yuv[3][3]) |
static void | calc_coefficients (AVFilterContext *ctx) |
static av_cold int | init (AVFilterContext *ctx) |
static int | process_slice_uyvy422 (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | process_slice_yuv444p (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | process_slice_yuv422p (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | process_slice_yuv420p (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | config_input (AVFilterLink *inlink) |
static int | filter_frame (AVFilterLink *link, AVFrame *in) |
Variables | |
static const double | yuv_coeff_luma [5][3] |
static const AVOption | colormatrix_options [] |
static const char *const | color_modes [] = {"bt709", "fcc", "bt601", "smpte240m", "bt2020"} |
static const AVFilterPad | colormatrix_inputs [] |
const AVFilter | ff_vf_colormatrix |
ColorMatrix 2.0 is based on the original ColorMatrix filter by Wilbert Dijkhof. It adds the ability to convert between any of: Rec.709, FCC, Rec.601, and SMPTE 240M. It also makes pre and post clipping optional, adds an option to use scaled or non-scaled coefficients, and more...
Definition in file vf_colormatrix.c.
#define NS | ( | n | ) | ((n) < 0 ? (int)((n)*65536.0-0.5+DBL_EPSILON) : (int)((n)*65536.0+0.5)) |
Definition at line 38 of file vf_colormatrix.c.
#define CB | ( | n | ) | av_clip_uint8(n) |
Definition at line 39 of file vf_colormatrix.c.
#define OFFSET | ( | x | ) | offsetof(ColorMatrixContext, x) |
Definition at line 79 of file vf_colormatrix.c.
#define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM |
Definition at line 80 of file vf_colormatrix.c.
#define ma m[0][0] |
Definition at line 98 of file vf_colormatrix.c.
#define mb m[0][1] |
Definition at line 99 of file vf_colormatrix.c.
#define mc m[0][2] |
Definition at line 100 of file vf_colormatrix.c.
#define md m[1][0] |
Definition at line 101 of file vf_colormatrix.c.
#define me m[1][1] |
Definition at line 102 of file vf_colormatrix.c.
#define mf m[1][2] |
Definition at line 103 of file vf_colormatrix.c.
#define mg m[2][0] |
Definition at line 104 of file vf_colormatrix.c.
#define mh m[2][1] |
Definition at line 105 of file vf_colormatrix.c.
#define mi m[2][2] |
Definition at line 106 of file vf_colormatrix.c.
#define ima im[0][0] |
Definition at line 108 of file vf_colormatrix.c.
#define imb im[0][1] |
Definition at line 109 of file vf_colormatrix.c.
#define imc im[0][2] |
Definition at line 110 of file vf_colormatrix.c.
#define imd im[1][0] |
Definition at line 111 of file vf_colormatrix.c.
#define ime im[1][1] |
Definition at line 112 of file vf_colormatrix.c.
#define imf im[1][2] |
Definition at line 113 of file vf_colormatrix.c.
#define img im[2][0] |
Definition at line 114 of file vf_colormatrix.c.
#define imh im[2][1] |
Definition at line 115 of file vf_colormatrix.c.
#define imi im[2][2] |
Definition at line 116 of file vf_colormatrix.c.
enum ColorMode |
Definition at line 49 of file vf_colormatrix.c.
AVFILTER_DEFINE_CLASS | ( | colormatrix | ) |
Definition at line 118 of file vf_colormatrix.c.
Referenced by calc_coefficients().
Definition at line 133 of file vf_colormatrix.c.
Referenced by calc_coefficients().
|
static |
Definition at line 141 of file vf_colormatrix.c.
Referenced by init().
|
static |
Definition at line 184 of file vf_colormatrix.c.
|
static |
Definition at line 203 of file vf_colormatrix.c.
Referenced by filter_frame().
|
static |
Definition at line 241 of file vf_colormatrix.c.
Referenced by filter_frame().
|
static |
Definition at line 288 of file vf_colormatrix.c.
Referenced by filter_frame().
|
static |
Definition at line 336 of file vf_colormatrix.c.
Referenced by filter_frame().
|
static |
Definition at line 390 of file vf_colormatrix.c.
|
static |
Definition at line 405 of file vf_colormatrix.c.
|
static |
Definition at line 41 of file vf_colormatrix.c.
Referenced by calc_coefficients().
|
static |
Definition at line 82 of file vf_colormatrix.c.
|
static |
Definition at line 182 of file vf_colormatrix.c.
Referenced by config_input().
|
static |
Definition at line 475 of file vf_colormatrix.c.
const AVFilter ff_vf_colormatrix |
Definition at line 484 of file vf_colormatrix.c.