FFmpeg
Loading...
Searching...
No Matches
vf_lut.c File Reference

Compute a look-up table for binding the input value to the output value, and apply it to input video. More...

#include "config_components.h"
#include "libavutil/attributes.h"
#include "libavutil/bswap.h"
#include "libavutil/common.h"
#include "libavutil/eval.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "drawutils.h"
#include "filters.h"
#include "formats.h"
#include "video.h"

Go to the source code of this file.

Data Structures

struct  LutContext
 
struct  thread_data
 

Macros

#define Y   0
 
#define U   1
 
#define V   2
 
#define R   0
 
#define G   1
 
#define B   2
 
#define A   3
 
#define OFFSET(x)
 
#define FLAGS   AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_RUNTIME_PARAM
 
#define YUV_FORMATS
 
#define RGB_FORMATS
 
#define GRAY_FORMATS
 
#define LOAD_PACKED_COMMON
 
#define LOAD_PLANAR_COMMON
 
#define PLANAR_COMMON
 
#define PACKED_THREAD_DATA
 
#define PLANAR_THREAD_DATA
 
#define DEFINE_LUT_FILTER(name_, description_, priv_class_)
 

Enumerations

enum  var_name {
  VAR_W , VAR_H , VAR_VAL , VAR_MAXVAL ,
  VAR_MINVAL , VAR_NEGVAL , VAR_CLIPVAL , VAR_VARS_NB
}
 

Functions

static av_cold void uninit (AVFilterContext *ctx)
 
static int query_formats (const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out)
 
static double clip (void *opaque, double val)
 Clip value val in the minval - maxval range.
 
static double compute_gammaval (void *opaque, double gamma)
 Compute gamma correction for value val, assuming the minval-maxval range, val is clipped to a value contained in the same interval.
 
static double compute_gammaval709 (void *opaque, double gamma)
 Compute ITU Rec.709 gamma correction of value val.
 
static int config_props (AVFilterLink *inlink)
 
static int lut_packed_16bits (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
 
static int lut_packed_8bits (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
 
static int lut_planar_16bits (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
 
static int lut_planar_8bits (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *in)
 
static int process_command (AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
 
 AVFILTER_DEFINE_CLASS_EXT (lut, "lut/lutyuv/lutrgb", options)
 

Variables

static const char *const var_names []
 
static const AVOption options []
 
static enum AVPixelFormat yuv_pix_fmts [] = { YUV_FORMATS, AV_PIX_FMT_NONE }
 
static enum AVPixelFormat rgb_pix_fmts [] = { RGB_FORMATS, AV_PIX_FMT_NONE }
 
static enum AVPixelFormat all_pix_fmts [] = { RGB_FORMATS, YUV_FORMATS, GRAY_FORMATS, AV_PIX_FMT_NONE }
 
static double(*const funcs1 [])(void *, double)
 
static const char *const funcs1_names []
 
static const AVFilterPad inputs []
 

Detailed Description

Compute a look-up table for binding the input value to the output value, and apply it to input video.

Definition in file vf_lut.c.

Macro Definition Documentation

◆ Y

#define Y   0

Definition at line 77 of file vf_lut.c.

◆ U

#define U   1

Definition at line 78 of file vf_lut.c.

◆ V

#define V   2

Definition at line 79 of file vf_lut.c.

◆ R

#define R   0

Definition at line 80 of file vf_lut.c.

◆ G

#define G   1

Definition at line 81 of file vf_lut.c.

◆ B

#define B   2

Definition at line 82 of file vf_lut.c.

◆ A

#define A   3

Definition at line 83 of file vf_lut.c.

◆ OFFSET

#define OFFSET ( x)
Value:
offsetof(LutContext, x)

Definition at line 85 of file vf_lut.c.

◆ FLAGS

◆ YUV_FORMATS

#define YUV_FORMATS
Value:
@ AV_PIX_FMT_YUV420P14LE
planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
Definition pixfmt.h:270
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition pixfmt.h:73
@ AV_PIX_FMT_YUV440P
planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
Definition pixfmt.h:106
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition pixfmt.h:77
@ AV_PIX_FMT_YUV420P9LE
planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
Definition pixfmt.h:154
@ AV_PIX_FMT_YUVA420P
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
Definition pixfmt.h:108
@ AV_PIX_FMT_YUV420P10LE
planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
Definition pixfmt.h:156
@ AV_PIX_FMT_YUVJ440P
planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range
Definition pixfmt.h:107
@ AV_PIX_FMT_YUV410P
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
Definition pixfmt.h:79
@ AV_PIX_FMT_YUV411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
Definition pixfmt.h:80
@ AV_PIX_FMT_YUV422P16LE
planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
Definition pixfmt.h:130
@ AV_PIX_FMT_YUV444P14LE
planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
Definition pixfmt.h:278
@ AV_PIX_FMT_YUV422P12LE
planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
Definition pixfmt.h:272
@ AV_PIX_FMT_YUV440P12LE
planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian
Definition pixfmt.h:300
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition pixfmt.h:78
@ AV_PIX_FMT_YUV444P9LE
planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
Definition pixfmt.h:160
@ AV_PIX_FMT_YUVA444P
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
Definition pixfmt.h:174
@ AV_PIX_FMT_YUVA444P16LE
planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)
Definition pixfmt.h:192
@ AV_PIX_FMT_YUVA420P16LE
planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)
Definition pixfmt.h:188
@ AV_PIX_FMT_YUV420P12LE
planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
Definition pixfmt.h:268
@ AV_PIX_FMT_YUVJ422P
planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting col...
Definition pixfmt.h:86
@ AV_PIX_FMT_YUV422P9LE
planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
Definition pixfmt.h:164
@ AV_PIX_FMT_YUV422P10LE
planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
Definition pixfmt.h:158
@ AV_PIX_FMT_YUVA422P
planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
Definition pixfmt.h:173
@ AV_PIX_FMT_YUV422P14LE
planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
Definition pixfmt.h:274
@ AV_PIX_FMT_YUV440P10LE
planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian
Definition pixfmt.h:298
@ AV_PIX_FMT_YUV444P16LE
planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
Definition pixfmt.h:132
@ AV_PIX_FMT_YUVJ444P
planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting col...
Definition pixfmt.h:87
@ AV_PIX_FMT_YUVA422P16LE
planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)
Definition pixfmt.h:190
@ AV_PIX_FMT_YUV444P10LE
planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
Definition pixfmt.h:162
@ AV_PIX_FMT_YUVJ420P
planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting col...
Definition pixfmt.h:85
@ AV_PIX_FMT_YUV420P16LE
planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
Definition pixfmt.h:128
@ AV_PIX_FMT_YUV444P12LE
planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
Definition pixfmt.h:276

Definition at line 115 of file vf_lut.c.

◆ RGB_FORMATS

#define RGB_FORMATS
Value:
@ AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition pixfmt.h:75
@ AV_PIX_FMT_GBRP9LE
planar GBR 4:4:4 27bpp, little-endian
Definition pixfmt.h:168
@ AV_PIX_FMT_ARGB
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
Definition pixfmt.h:99
@ AV_PIX_FMT_BGRA
packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
Definition pixfmt.h:102
@ AV_PIX_FMT_ABGR
packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
Definition pixfmt.h:101
@ AV_PIX_FMT_RGBA64LE
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
Definition pixfmt.h:203
@ AV_PIX_FMT_RGBA
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
Definition pixfmt.h:100
@ AV_PIX_FMT_GBRAP
planar GBRA 4:4:4:4 32bpp
Definition pixfmt.h:212
@ AV_PIX_FMT_GBRP12LE
planar GBR 4:4:4 36bpp, little-endian
Definition pixfmt.h:280
@ AV_PIX_FMT_GBRAP12LE
planar GBR 4:4:4:4 48bpp, little-endian
Definition pixfmt.h:311
@ AV_PIX_FMT_RGB48LE
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as lit...
Definition pixfmt.h:110
@ AV_PIX_FMT_GBRP14LE
planar GBR 4:4:4 42bpp, little-endian
Definition pixfmt.h:282
@ AV_PIX_FMT_GBRP10LE
planar GBR 4:4:4 30bpp, little-endian
Definition pixfmt.h:170
@ AV_PIX_FMT_GBRAP10LE
planar GBR 4:4:4:4 40bpp, little-endian
Definition pixfmt.h:314
@ AV_PIX_FMT_BGR24
packed RGB 8:8:8, 24bpp, BGRBGR...
Definition pixfmt.h:76
@ AV_PIX_FMT_GBRP
planar GBR 4:4:4 24bpp
Definition pixfmt.h:165
@ AV_PIX_FMT_GBRAP16LE
planar GBRA 4:4:4:4 64bpp, little-endian
Definition pixfmt.h:214
@ AV_PIX_FMT_GBRP16LE
planar GBR 4:4:4 48bpp, little-endian
Definition pixfmt.h:172

Definition at line 128 of file vf_lut.c.

◆ GRAY_FORMATS

#define GRAY_FORMATS
Value:
@ AV_PIX_FMT_GRAY10LE
Y , 10bpp, little-endian.
Definition pixfmt.h:321
@ AV_PIX_FMT_GRAY12LE
Y , 12bpp, little-endian.
Definition pixfmt.h:319
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
Definition pixfmt.h:81
@ AV_PIX_FMT_GRAY14LE
Y , 14bpp, little-endian.
Definition pixfmt.h:361
@ AV_PIX_FMT_GRAY16LE
Y , 16bpp, little-endian.
Definition pixfmt.h:105
@ AV_PIX_FMT_GRAY9LE
Y , 9bpp, little-endian.
Definition pixfmt.h:339

Definition at line 140 of file vf_lut.c.

◆ LOAD_PACKED_COMMON

#define LOAD_PACKED_COMMON
Value:
LutContext *s = ctx->priv;\
const struct thread_data *td = arg;\
\
int i, j;\
const int w = td->w;\
const int h = td->h;\
AVFrame *in = td->in;\
AVFrame *out = td->out;\
const uint16_t (*tab)[256*256] = (const uint16_t (*)[256*256])s->lut;\
const int step = s->step;\
\
const int slice_start = ff_slice_pos(h, jobnr, nb_jobs); \
const int slice_end = ff_slice_pos(h, jobnr + 1, nb_jobs); \
static FILE * out
static AVFormatContext * ctx
#define i(width, name, range_min, range_max)
Definition cbs_h264.c:63
#define s(width, name)
Definition cbs_vp9.c:198
const char * arg
Definition jacosubdec.c:65
static int ff_slice_pos(int total, int jobnr, int nb_jobs)
Compute the boundary index for a slice when work of size total is split into nb_jobs slices.
Definition filters.h:763
uint8_t w
Definition llvidencdsp.c:39
static int slice_end(AVCodecContext *avctx, AVFrame *pict, int *got_output)
Handle slice ends.
Definition mpeg12dec.c:1697
This structure describes decoded (raw) audio or video data.
Definition frame.h:472
AVFrame * out
Definition vf_lut.c:343
AVFrame * in
Definition vf_lut.c:342
static const struct twinvq_data tab
static int slice_start(SliceContext *sc, VVCContext *s, VVCFrameContext *fc, const CodedBitstreamUnit *unit, const int is_first_slice)
Definition dec.c:844

Definition at line 349 of file vf_lut.c.

Referenced by lut_packed_16bits(), and lut_packed_8bits().

◆ LOAD_PLANAR_COMMON

#define LOAD_PLANAR_COMMON
Value:
LutContext *s = ctx->priv;\
const struct thread_data *td = arg;\
int i, j, plane;\
AVFrame *in = td->in;\
AVFrame *out = td->out;\

Definition at line 430 of file vf_lut.c.

Referenced by lut_planar_16bits(), and lut_planar_8bits().

◆ PLANAR_COMMON

#define PLANAR_COMMON
Value:
int vsub = plane == 1 || plane == 2 ? s->vsub : 0;\
int hsub = plane == 1 || plane == 2 ? s->hsub : 0;\
int h = AV_CEIL_RSHIFT(td->h, vsub);\
int w = AV_CEIL_RSHIFT(td->w, hsub);\
const uint16_t *tab = s->lut[plane];\
\
const int slice_start = ff_slice_pos(h, jobnr, nb_jobs); \
const int slice_end = ff_slice_pos(h, jobnr + 1, nb_jobs); \
#define AV_CEIL_RSHIFT(a, b)
Definition common.h:60
static void hsub(htype *dst, const htype *src, int bins)
Definition vf_median.c:74

Definition at line 437 of file vf_lut.c.

Referenced by lut_planar_16bits(), and lut_planar_8bits().

◆ PACKED_THREAD_DATA

#define PACKED_THREAD_DATA
Value:
struct thread_data td = {\
.in = in,\
.out = out,\
.w = inlink->w,\
.h = in->height,\
};\

Definition at line 506 of file vf_lut.c.

Referenced by filter_frame().

◆ PLANAR_THREAD_DATA

#define PLANAR_THREAD_DATA
Value:
struct thread_data td = {\
.in = in,\
.out = out,\
.w = inlink->w,\
.h = inlink->h,\
};\

Definition at line 514 of file vf_lut.c.

Referenced by filter_frame().

◆ DEFINE_LUT_FILTER

#define DEFINE_LUT_FILTER ( name_,
description_,
priv_class_ )
Value:
const FFFilter ff_vf_##name_ = { \
.p.name = #name_, \
.p.description = NULL_IF_CONFIG_SMALL(description_), \
.p.priv_class = &priv_class_ ## _class, \
.priv_size = sizeof(LutContext), \
.init = name_##_init, \
.uninit = uninit, \
FILTER_OUTPUTS(ff_video_default_filterpad), \
FILTER_QUERY_FUNC2(query_formats), \
.process_command = process_command, \
}
static int query_formats(const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out)
Definition aeval.c:246
static const AVFilterPad inputs[]
Definition af_aap.c:299
static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Some filters support a generic "enable" expression option that can be used to enable or disable a fil...
Definition avfilter.h:196
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
Definition avfilter.h:166
static av_cold void uninit(AVBitStreamFilterContext *ctx)
#define FILTER_INPUTS(array)
Definition filters.h:264
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88
const AVFilterPad ff_video_default_filterpad[1]
An AVFilterPad array whose only entry has name "default" and is of type AVMEDIA_TYPE_VIDEO.
Definition video.c:37

Definition at line 592 of file vf_lut.c.

Enumeration Type Documentation

◆ var_name

enum var_name
Enumerator
VAR_W 
VAR_H 
VAR_VAL 
VAR_MAXVAL 
VAR_MINVAL 
VAR_NEGVAL 
VAR_CLIPVAL 
VAR_VARS_NB 

Definition at line 53 of file vf_lut.c.

Function Documentation

◆ uninit()

static av_cold void uninit ( AVFilterContext * ctx)
static

Definition at line 103 of file vf_lut.c.

◆ query_formats()

static int query_formats ( const AVFilterContext * ctx,
AVFilterFormatsConfig ** cfg_in,
AVFilterFormatsConfig ** cfg_out )
static

Definition at line 148 of file vf_lut.c.

◆ clip()

static double clip ( void * opaque,
double val )
static

Clip value val in the minval - maxval range.

Definition at line 163 of file vf_lut.c.

◆ compute_gammaval()

static double compute_gammaval ( void * opaque,
double gamma )
static

Compute gamma correction for value val, assuming the minval-maxval range, val is clipped to a value contained in the same interval.

Definition at line 176 of file vf_lut.c.

◆ compute_gammaval709()

static double compute_gammaval709 ( void * opaque,
double gamma )
static

Compute ITU Rec.709 gamma correction of value val.

Definition at line 189 of file vf_lut.c.

◆ config_props()

static int config_props ( AVFilterLink * inlink)
static

Definition at line 215 of file vf_lut.c.

Referenced by process_command().

◆ lut_packed_16bits()

static int lut_packed_16bits ( AVFilterContext * ctx,
void * arg,
int jobnr,
int nb_jobs )
static

Definition at line 365 of file vf_lut.c.

Referenced by filter_frame().

◆ lut_packed_8bits()

static int lut_packed_8bits ( AVFilterContext * ctx,
void * arg,
int jobnr,
int nb_jobs )
static

Definition at line 402 of file vf_lut.c.

Referenced by filter_frame().

◆ lut_planar_16bits()

static int lut_planar_16bits ( AVFilterContext * ctx,
void * arg,
int jobnr,
int nb_jobs )
static

Definition at line 448 of file vf_lut.c.

Referenced by filter_frame().

◆ lut_planar_8bits()

static int lut_planar_8bits ( AVFilterContext * ctx,
void * arg,
int jobnr,
int nb_jobs )
static

Definition at line 480 of file vf_lut.c.

Referenced by filter_frame().

◆ filter_frame()

static int filter_frame ( AVFilterLink * inlink,
AVFrame * in )
static

Definition at line 522 of file vf_lut.c.

◆ process_command()

static int process_command ( AVFilterContext * ctx,
const char * cmd,
const char * args,
char * res,
int res_len,
int flags )
static

Definition at line 573 of file vf_lut.c.

◆ AVFILTER_DEFINE_CLASS_EXT()

AVFILTER_DEFINE_CLASS_EXT ( lut ,
"lut/lutyuv/lutrgb" ,
options  )

Variable Documentation

◆ var_names

const char* const var_names[]
static
Initial value:
= {
"w",
"h",
"val",
"maxval",
"minval",
"negval",
"clipval",
}
#define NULL
Definition coverity.c:32

Definition at line 42 of file vf_lut.c.

◆ options

const AVOption options[]
static
Initial value:
= {
{ "c0", "set component #0 expression", OFFSET(comp_expr_str[0]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "c1", "set component #1 expression", OFFSET(comp_expr_str[1]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "c2", "set component #2 expression", OFFSET(comp_expr_str[2]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "c3", "set component #3 expression", OFFSET(comp_expr_str[3]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "y", "set Y expression", OFFSET(comp_expr_str[Y]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "u", "set U expression", OFFSET(comp_expr_str[U]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "v", "set V expression", OFFSET(comp_expr_str[V]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "r", "set R expression", OFFSET(comp_expr_str[R]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "g", "set G expression", OFFSET(comp_expr_str[G]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "b", "set B expression", OFFSET(comp_expr_str[B]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ "a", "set A expression", OFFSET(comp_expr_str[A]), AV_OPT_TYPE_STRING, { .str = "clipval" }, .flags = FLAGS },
{ NULL }
}
#define U(x)
Definition vpx_arith.h:37
#define A(x)
Definition vpx_arith.h:28
#define V
Definition avdct.c:32
#define Y
Definition boxblur.h:37
#define FLAGS
Definition cmdutils.c:598
#define OFFSET(x)
@ AV_OPT_TYPE_STRING
Underlying C type is a uint8_t* that is either NULL or points to a C string allocated with the av_mal...
Definition opt.h:275
#define B
Definition huffyuv.h:42
#define R
Definition huffyuv.h:44
#define G
Definition huffyuv.h:43

Definition at line 88 of file vf_lut.c.

◆ yuv_pix_fmts

enum AVPixelFormat yuv_pix_fmts[] = { YUV_FORMATS, AV_PIX_FMT_NONE }
static

Definition at line 144 of file vf_lut.c.

◆ rgb_pix_fmts

enum AVPixelFormat rgb_pix_fmts[] = { RGB_FORMATS, AV_PIX_FMT_NONE }
static

Definition at line 145 of file vf_lut.c.

◆ all_pix_fmts

enum AVPixelFormat all_pix_fmts[] = { RGB_FORMATS, YUV_FORMATS, GRAY_FORMATS, AV_PIX_FMT_NONE }
static

Definition at line 146 of file vf_lut.c.

◆ funcs1

double(*const funcs1[])(void *, double) ( void * ,
double  )
static
Initial value:
= {
}
static double compute_gammaval709(void *opaque, double gamma)
Compute ITU Rec.709 gamma correction of value val.
Definition vf_lut.c:189
static double compute_gammaval(void *opaque, double gamma)
Compute gamma correction for value val, assuming the minval-maxval range, val is clipped to a value c...
Definition vf_lut.c:176

Definition at line 201 of file vf_lut.c.

Referenced by av_expr_parse(), av_expr_parse_and_eval(), and config_props().

◆ funcs1_names

const char* const funcs1_names[]
static
Initial value:
= {
"clip",
"gammaval",
"gammaval709",
}

Definition at line 208 of file vf_lut.c.

Referenced by config_props().

◆ inputs

const AVFilterPad inputs[]
static
Initial value:
= {
{ .name = "default",
.filter_frame = filter_frame,
.config_props = config_props,
},
}
static int filter_frame(DBEDecodeContext *s, AVFrame *frame)
Definition dolby_e.c:1067
@ AVMEDIA_TYPE_VIDEO
Definition avutil.h:200
static int config_props(AVBitStreamFilterLink *link)
Definition source.c:181

Definition at line 584 of file vf_lut.c.