FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
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
"n"
,
// frame count
33
"pos"
,
// frame position
34
"r"
,
// frame rate
35
"t"
,
// timestamp expressed in seconds
36
NULL
37
};
38
39
enum
var_name
{
40
VAR_N
,
41
VAR_POS
,
42
VAR_R
,
43
VAR_T
,
44
VAR_NB
45
};
46
47
typedef
struct
EQParameters
{
48
void
(*
adjust
)(
struct
EQParameters
*
eq
,
uint8_t
*dst,
int
dst_stride,
49
const
uint8_t
*
src
,
int
src_stride,
int
w,
int
h
);
50
51
uint8_t
lut
[256];
52
53
double
brightness
,
contrast
,
gamma
,
gamma_weight
;
54
int
lut_clean
;
55
56
}
EQParameters
;
57
58
typedef
struct
{
59
const
AVClass
*
class
;
60
61
EQParameters
param[3];
62
63
char
*
contrast_expr
;
64
AVExpr
*
contrast_pexpr
;
65
double
contrast
;
66
67
char
*
brightness_expr
;
68
AVExpr
*
brightness_pexpr
;
69
double
brightness
;
70
71
char
*
saturation_expr
;
72
AVExpr
*
saturation_pexpr
;
73
double
saturation
;
74
75
char
*
gamma_expr
;
76
AVExpr
*
gamma_pexpr
;
77
double
gamma
;
78
79
char
*
gamma_weight_expr
;
80
AVExpr
*
gamma_weight_pexpr
;
81
double
gamma_weight
;
82
83
char
*
gamma_r_expr
;
84
AVExpr
*
gamma_r_pexpr
;
85
double
gamma_r
;
86
87
char
*
gamma_g_expr
;
88
AVExpr
*
gamma_g_pexpr
;
89
double
gamma_g
;
90
91
char
*
gamma_b_expr
;
92
AVExpr
*
gamma_b_pexpr
;
93
double
gamma_b
;
94
95
double
var_values[
VAR_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
enum
EvalMode
{
EVAL_MODE_INIT
,
EVAL_MODE_FRAME
,
EVAL_MODE_NB
} eval_mode;
101
}
EQContext
;
102
103
void
ff_eq_init_x86
(
EQContext
*
eq
);
104
105
#endif
/* AVFILTER_EQ_H */
EQContext::gamma_b_expr
char * gamma_b_expr
Definition:
vf_eq.h:91
VAR_T
Definition:
vf_eq.h:43
NULL
#define NULL
Definition:
coverity.c:32
EQContext::gamma_weight_expr
char * gamma_weight_expr
Definition:
vf_eq.h:79
EQContext::gamma_weight_pexpr
AVExpr * gamma_weight_pexpr
Definition:
vf_eq.h:80
EQContext::gamma_g_expr
char * gamma_g_expr
Definition:
vf_eq.h:87
h
h
Definition:
vp9dsp_template.c:2093
EQParameters
Definition:
vf_eq.h:47
avfilter.h
Main libavfilter public API header.
VAR_NB
Definition:
vf_eq.h:44
EQParameters::contrast
double contrast
Definition:
vf_eq.h:53
EQContext::brightness_pexpr
AVExpr * brightness_pexpr
Definition:
vf_eq.h:68
EQContext::contrast_pexpr
AVExpr * contrast_pexpr
Definition:
vf_eq.h:64
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:51
EQContext::gamma_b
double gamma_b
Definition:
vf_eq.h:93
AVExpr
Definition:
eval.c:143
EQContext::contrast_expr
char * contrast_expr
Definition:
vf_eq.h:63
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:48
EQContext::gamma_g_pexpr
AVExpr * gamma_g_pexpr
Definition:
vf_eq.h:88
EQContext::gamma_b_pexpr
AVExpr * gamma_b_pexpr
Definition:
vf_eq.h:92
VAR_POS
Definition:
vf_eq.h:41
EQParameters::lut_clean
int lut_clean
Definition:
vf_eq.h:54
EQContext::gamma_g
double gamma_g
Definition:
vf_eq.h:89
EVAL_MODE_INIT
Definition:
vf_overlay.c:96
EQContext::gamma_r_expr
char * gamma_r_expr
Definition:
vf_eq.h:83
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:53
EQContext::gamma_r_pexpr
AVExpr * gamma_r_pexpr
Definition:
vf_eq.h:84
void
typedef void(APIENTRY *FF_PFNGLACTIVETEXTUREPROC)(GLenum texture)
process
int(* process)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
Definition:
vf_signalstats.c:310
EQContext
Definition:
vf_eq.h:58
EQContext::brightness_expr
char * brightness_expr
Definition:
vf_eq.h:67
EQContext::gamma
double gamma
Definition:
vf_eq.h:77
EQContext::gamma_pexpr
AVExpr * gamma_pexpr
Definition:
vf_eq.h:76
EQContext::gamma_weight
double gamma_weight
Definition:
vf_eq.h:81
EQParameters::brightness
double brightness
Definition:
vf_eq.h:53
src
AVS_Value src
Definition:
avisynth_c.h:482
VAR_N
Definition:
vf_eq.h:40
VAR_R
Definition:
vf_eq.h:42
EQContext::gamma_expr
char * gamma_expr
Definition:
vf_eq.h:75
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:67
EQContext::saturation_pexpr
AVExpr * saturation_pexpr
Definition:
vf_eq.h:72
EQParameters::gamma
double gamma
Definition:
vf_eq.h:53
EQContext::EvalMode
EvalMode
Definition:
vf_eq.h:100
EQContext::brightness
double brightness
Definition:
vf_eq.h:69
EVAL_MODE_NB
Definition:
af_volume.h:42
EQContext::saturation
double saturation
Definition:
vf_eq.h:73
EQContext::gamma_r
double gamma_r
Definition:
vf_eq.h:85
EVAL_MODE_FRAME
Definition:
af_volume.h:41
EQContext::saturation_expr
char * saturation_expr
Definition:
vf_eq.h:71
eval.h
simple arithmetic expression evaluator
EQContext::contrast
double contrast
Definition:
vf_eq.h:65
Generated on Wed Jun 10 2015 01:56:55 for FFmpeg by
1.8.6