FFmpeg
2.6.9
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
libavfilter
vf_eq.h
Go to the documentation of this file.
1
/*
2
* Original MPlayer filters by Richard Felker, Hampa Hug, Daniel Moreno,
3
* and Michael Niedermeyer.
4
*
5
* Copyright (c) 2014 James Darnley <james.darnley@gmail.com>
6
* Copyright (c) 2015 Arwa Arif <arwaarif1994@gmail.com>
7
*
8
* This file is part of FFmpeg.
9
*
10
* FFmpeg is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* (at your option) any later version.
14
*
15
* FFmpeg is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License along
21
* with FFmpeg; if not, write to the Free Software Foundation, Inc.,
22
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23
*/
24
25
#ifndef AVFILTER_EQ_H
26
#define AVFILTER_EQ_H
27
28
#include "
avfilter.h
"
29
#include "
libavutil/eval.h
"
30
31
static
const
char
*
const
var_names
[] = {
32
"contrast"
,
33
"brightness"
,
34
"saturation"
,
35
"gamma"
,
36
"gamma_weight"
,
37
"gamma_r"
,
38
"gamma_g"
,
39
"gamma_b"
,
40
NULL
41
};
42
43
enum
var_name
{
44
VAR_CONTRAST
,
45
VAR_BRIGHTNESS
,
46
VAR_SATURATION
,
47
VAR_GAMMA
,
48
VAR_GAMMA_WEIGHT
,
49
VAR_GAMMA_R
,
50
VAR_GAMMA_G
,
51
VAR_GAMMA_B
,
52
VAR_VARS_NB
,
53
};
54
55
typedef
struct
EQParameters
{
56
void
(*
adjust
)(
struct
EQParameters
*
eq
,
uint8_t
*dst,
int
dst_stride,
57
const
uint8_t
*
src
,
int
src_stride,
int
w,
int
h);
58
59
uint8_t
lut
[256];
60
61
double
brightness
,
contrast
,
gamma
,
gamma_weight
;
62
int
lut_clean
;
63
64
}
EQParameters
;
65
66
typedef
struct
{
67
const
AVClass
*
class
;
68
69
EQParameters
param[3];
70
71
char
*
contrast_expr
;
72
AVExpr
*
contrast_pexpr
;
73
74
char
*
brightness_expr
;
75
AVExpr
*
brightness_pexpr
;
76
77
char
*
saturation_expr
;
78
AVExpr
*
saturation_pexpr
;
79
80
char
*
gamma_expr
;
81
AVExpr
*
gamma_pexpr
;
82
83
char
*
gamma_weight_expr
;
84
AVExpr
*
gamma_weight_pexpr
;
85
86
char
*
gamma_r_expr
;
87
AVExpr
*
gamma_r_pexpr
;
88
89
char
*
gamma_g_expr
;
90
AVExpr
*
gamma_g_pexpr
;
91
92
char
*
gamma_b_expr
;
93
AVExpr
*
gamma_b_pexpr
;
94
95
double
var_values[
VAR_VARS_NB
];
96
97
void
(*
process
)(
struct
EQParameters
*par,
uint8_t
*dst,
int
dst_stride,
98
const
uint8_t
*
src
,
int
src_stride,
int
w,
int
h);
99
100
}
EQContext
;
101
102
void
ff_eq_init_x86
(
EQContext
*
eq
);
103
104
#endif
/* AVFILTER_EQ_H */
EQContext::gamma_b_expr
char * gamma_b_expr
Definition:
vf_eq.h:92
NULL
#define NULL
Definition:
coverity.c:32
EQContext::gamma_weight_expr
char * gamma_weight_expr
Definition:
vf_eq.h:83
EQContext::gamma_weight_pexpr
AVExpr * gamma_weight_pexpr
Definition:
vf_eq.h:84
EQContext::gamma_g_expr
char * gamma_g_expr
Definition:
vf_eq.h:89
EQParameters
Definition:
vf_eq.h:55
VAR_CONTRAST
Definition:
vf_eq.h:44
avfilter.h
Main libavfilter public API header.
EQParameters::contrast
double contrast
Definition:
vf_eq.h:61
VAR_GAMMA_R
Definition:
vf_eq.h:49
EQContext::brightness_pexpr
AVExpr * brightness_pexpr
Definition:
vf_eq.h:75
EQContext::contrast_pexpr
AVExpr * contrast_pexpr
Definition:
vf_eq.h:72
ff_eq_init_x86
void ff_eq_init_x86(EQContext *eq)
Definition:
vf_eq.c:87
uint8_t
uint8_t
Definition:
audio_convert.c:194
EQParameters::lut
uint8_t lut[256]
Definition:
vf_eq.h:59
AVExpr
Definition:
eval.c:143
VAR_BRIGHTNESS
Definition:
vf_eq.h:45
EQContext::contrast_expr
char * contrast_expr
Definition:
vf_eq.h:71
EQParameters::adjust
void(* adjust)(struct EQParameters *eq, uint8_t *dst, int dst_stride, const uint8_t *src, int src_stride, int w, int h)
Definition:
vf_eq.h:56
EQContext::gamma_g_pexpr
AVExpr * gamma_g_pexpr
Definition:
vf_eq.h:90
VAR_GAMMA_WEIGHT
Definition:
vf_eq.h:48
EQContext::gamma_b_pexpr
AVExpr * gamma_b_pexpr
Definition:
vf_eq.h:93
EQParameters::lut_clean
int lut_clean
Definition:
vf_eq.h:62
EQContext::gamma_r_expr
char * gamma_r_expr
Definition:
vf_eq.h:86
eq
#define eq(A, B)
Definition:
vf_xbr.c:86
var_name
var_name
Definition:
aeval.c:46
var_names
static const char *const var_names[]
Definition:
vf_eq.h:31
EQParameters::gamma_weight
double gamma_weight
Definition:
vf_eq.h:61
EQContext::gamma_r_pexpr
AVExpr * gamma_r_pexpr
Definition:
vf_eq.h:87
process
int(* process)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
Definition:
vf_signalstats.c:308
EQContext
Definition:
vf_eq.h:66
EQContext::brightness_expr
char * brightness_expr
Definition:
vf_eq.h:74
EQContext::gamma_pexpr
AVExpr * gamma_pexpr
Definition:
vf_eq.h:81
EQParameters::brightness
double brightness
Definition:
vf_eq.h:61
src
AVS_Value src
Definition:
avisynth_c.h:524
void
static void(WINAPI *cond_broadcast)(pthread_cond_t *cond)
EQContext::gamma_expr
char * gamma_expr
Definition:
vf_eq.h:80
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:66
EQContext::saturation_pexpr
AVExpr * saturation_pexpr
Definition:
vf_eq.h:78
EQParameters::gamma
double gamma
Definition:
vf_eq.h:61
VAR_GAMMA
Definition:
vf_eq.h:47
VAR_GAMMA_G
Definition:
vf_eq.h:50
VAR_VARS_NB
Definition:
vf_eq.h:52
VAR_GAMMA_B
Definition:
vf_eq.h:51
VAR_SATURATION
Definition:
vf_eq.h:46
EQContext::saturation_expr
char * saturation_expr
Definition:
vf_eq.h:77
eval.h
simple arithmetic expression evaluator
Generated on Thu Sep 30 2021 22:58:19 for FFmpeg by
1.8.8