#include <float.h>
#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 float | saturate (float input) |
|
static void | kelvin2rgb (float k, float *rgb) |
|
static float | lerpf (float v0, float v1, float f) |
|
static int | temperature_slice8 (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
|
static int | temperature_slice16 (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
|
static int | temperature_slice8p (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
|
static int | temperature_slice16p (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
|
static int | filter_frame (AVFilterLink *inlink, AVFrame *frame) |
|
static av_cold int | query_formats (AVFilterContext *ctx) |
|
static av_cold int | config_input (AVFilterLink *inlink) |
|
| AVFILTER_DEFINE_CLASS (colortemperature) |
|
◆ PROCESS
Value:
\
\
l1 = (
FFMAX3(nr, ng, nb) +
FFMIN3(nr, ng, nb)) + FLT_EPSILON; \
l = l0 / l1; \
\
r = nr * l; \
g = ng * l; \
b = nb * l; \
\
nr =
lerpf(nr,
r, preserve); \
ng =
lerpf(ng,
g, preserve); \
Definition at line 83 of file vf_colortemperature.c.
◆ OFFSET
◆ VF
◆ saturate()
static float saturate |
( |
float |
input | ) |
|
|
static |
◆ kelvin2rgb()
static void kelvin2rgb |
( |
float |
k, |
|
|
float * |
rgb |
|
) |
| |
|
static |
◆ lerpf()
static float lerpf |
( |
float |
v0, |
|
|
float |
v1, |
|
|
float |
f |
|
) |
| |
|
static |
◆ temperature_slice8()
◆ temperature_slice16()
◆ temperature_slice8p()
◆ temperature_slice16p()
◆ filter_frame()
◆ query_formats()
◆ config_input()
◆ AVFILTER_DEFINE_CLASS()
AVFILTER_DEFINE_CLASS |
( |
colortemperature |
| ) |
|
◆ inputs
◆ outputs
◆ colortemperature_options
const AVOption colortemperature_options[] |
|
static |
◆ ff_vf_colortemperature
Initial value:= {
.name = "colortemperature",
.priv_class = &colortemperature_class,
}
Definition at line 360 of file vf_colortemperature.c.
static int mix(int c0, int c1)
static float lerpf(float v0, float v1, float f)
static av_cold int query_formats(AVFilterContext *ctx)
static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
static av_cold int config_input(AVFilterLink *inlink)
static const AVFilterPad outputs[]
static const AVFilterPad inputs[]
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
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.
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Some filters support a generic "enable" expression option that can be used to enable or disable a fil...
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
#define flags(name, subs,...)