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
blend.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013 Paul B Mahol
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#ifndef AVFILTER_BLEND_H
22
#define AVFILTER_BLEND_H
23
24
#include "
libavutil/eval.h
"
25
#include "
avfilter.h
"
26
27
enum
BlendMode
{
28
BLEND_UNSET
= -1,
29
BLEND_NORMAL
,
30
BLEND_ADDITION
,
31
BLEND_AND
,
32
BLEND_AVERAGE
,
33
BLEND_BURN
,
34
BLEND_DARKEN
,
35
BLEND_DIFFERENCE
,
36
BLEND_DIFFERENCE128
,
37
BLEND_DIVIDE
,
38
BLEND_DODGE
,
39
BLEND_EXCLUSION
,
40
BLEND_HARDLIGHT
,
41
BLEND_LIGHTEN
,
42
BLEND_MULTIPLY
,
43
BLEND_NEGATION
,
44
BLEND_OR
,
45
BLEND_OVERLAY
,
46
BLEND_PHOENIX
,
47
BLEND_PINLIGHT
,
48
BLEND_REFLECT
,
49
BLEND_SCREEN
,
50
BLEND_SOFTLIGHT
,
51
BLEND_SUBTRACT
,
52
BLEND_VIVIDLIGHT
,
53
BLEND_XOR
,
54
BLEND_HARDMIX
,
55
BLEND_LINEARLIGHT
,
56
BLEND_GLOW
,
57
BLEND_ADDITION128
,
58
BLEND_MULTIPLY128
,
59
BLEND_HEAT
,
60
BLEND_FREEZE
,
61
BLEND_NB
62
};
63
64
typedef
struct
FilterParams
{
65
enum
BlendMode
mode
;
66
double
opacity
;
67
AVExpr
*
e
;
68
char
*
expr_str
;
69
void
(*
blend
)(
const
uint8_t
*top, ptrdiff_t top_linesize,
70
const
uint8_t
*bottom, ptrdiff_t bottom_linesize,
71
uint8_t
*dst, ptrdiff_t dst_linesize,
72
ptrdiff_t
width
, ptrdiff_t
height
,
73
struct
FilterParams
*param,
double
*values,
int
starty);
74
}
FilterParams
;
75
76
void
ff_blend_init
(
FilterParams
*param,
int
is_16bit);
77
void
ff_blend_init_x86
(
FilterParams
*param,
int
is_16bit);
78
79
#endif
/* AVFILTER_BLEND_H */
FilterParams::e
AVExpr * e
Definition:
blend.h:67
BLEND_DODGE
Definition:
blend.h:38
FilterParams::opacity
double opacity
Definition:
blend.h:66
BLEND_PINLIGHT
Definition:
blend.h:47
BLEND_DIFFERENCE
Definition:
blend.h:35
avfilter.h
Main libavfilter public API header.
BLEND_PHOENIX
Definition:
blend.h:46
BLEND_NB
Definition:
blend.h:61
BLEND_DIFFERENCE128
Definition:
blend.h:36
BLEND_NEGATION
Definition:
blend.h:43
BLEND_MULTIPLY128
Definition:
blend.h:58
BLEND_DIVIDE
Definition:
blend.h:37
uint8_t
uint8_t
Definition:
audio_convert.c:194
FilterParams::expr_str
char * expr_str
Definition:
blend.h:68
BLEND_NORMAL
Definition:
blend.h:29
BLEND_VIVIDLIGHT
Definition:
blend.h:52
AVExpr
Definition:
eval.c:150
BLEND_HARDLIGHT
Definition:
blend.h:40
BLEND_REFLECT
Definition:
blend.h:48
height
#define height
FilterParams::mode
enum BlendMode mode
Definition:
blend.h:65
BLEND_AND
Definition:
blend.h:31
BLEND_SOFTLIGHT
Definition:
blend.h:50
BLEND_LINEARLIGHT
Definition:
blend.h:55
BLEND_DARKEN
Definition:
blend.h:34
BLEND_BURN
Definition:
blend.h:33
BLEND_HEAT
Definition:
blend.h:59
BLEND_HARDMIX
Definition:
blend.h:54
BLEND_FREEZE
Definition:
blend.h:60
width
#define width
void
typedef void(APIENTRY *FF_PFNGLACTIVETEXTUREPROC)(GLenum texture)
BLEND_ADDITION128
Definition:
blend.h:57
BLEND_MULTIPLY
Definition:
blend.h:42
FilterParams::blend
void(* blend)(const uint8_t *top, ptrdiff_t top_linesize, const uint8_t *bottom, ptrdiff_t bottom_linesize, uint8_t *dst, ptrdiff_t dst_linesize, ptrdiff_t width, ptrdiff_t height, struct FilterParams *param, double *values, int starty)
Definition:
blend.h:69
ff_blend_init_x86
void ff_blend_init_x86(FilterParams *param, int is_16bit)
Definition:
vf_blend_init.c:53
BLEND_LIGHTEN
Definition:
blend.h:41
BLEND_SCREEN
Definition:
blend.h:49
FilterParams
filter data
Definition:
mlp.h:74
BLEND_OVERLAY
Definition:
blend.h:45
BLEND_GLOW
Definition:
blend.h:56
BLEND_UNSET
Definition:
blend.h:28
BlendMode
BlendMode
Definition:
blend.h:27
BLEND_EXCLUSION
Definition:
blend.h:39
BLEND_ADDITION
Definition:
blend.h:30
BLEND_AVERAGE
Definition:
blend.h:32
BLEND_OR
Definition:
blend.h:44
BLEND_SUBTRACT
Definition:
blend.h:51
ff_blend_init
void ff_blend_init(FilterParams *param, int is_16bit)
Definition:
vf_blend.c:446
eval.h
simple arithmetic expression evaluator
BLEND_XOR
Definition:
blend.h:53
Generated on Fri Jan 12 2018 01:45:52 for FFmpeg by
1.8.6