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_idet.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef AVFILTER_IDET_H
20
#define AVFILTER_IDET_H
21
22
#include "
libavutil/pixdesc.h
"
23
#include "
avfilter.h
"
24
25
#define HIST_SIZE 4
26
27
typedef
int (*
ff_idet_filter_func
)(
const
uint8_t
*
a
,
const
uint8_t
*
b
,
const
uint8_t
*
c
,
int
w);
28
29
typedef
enum
{
30
TFF
,
31
BFF
,
32
PROGRESSIVE
,
33
UNDETERMINED
,
34
}
Type
;
35
36
typedef
enum
{
37
REPEAT_NONE
,
38
REPEAT_TOP
,
39
REPEAT_BOTTOM
,
40
}
RepeatedField
;
41
42
typedef
struct
{
43
const
AVClass
*
class
;
44
float
interlace_threshold
;
45
float
progressive_threshold
;
46
float
repeat_threshold
;
47
float
half_life
;
48
uint64_t
decay_coefficient
;
49
50
Type
last_type
;
51
52
uint64_t repeats[3];
53
uint64_t prestat[4];
54
uint64_t poststat[4];
55
uint64_t total_repeats[3];
56
uint64_t total_prestat[4];
57
uint64_t total_poststat[4];
58
59
uint8_t
history[
HIST_SIZE
];
60
61
AVFrame
*
cur
;
62
AVFrame
*
next
;
63
AVFrame
*
prev
;
64
ff_idet_filter_func
filter_line
;
65
66
int
interlaced_flag_accuracy
;
67
int
analyze_interlaced_flag
;
68
int
analyze_interlaced_flag_done
;
69
70
const
AVPixFmtDescriptor
*
csp
;
71
int
eof
;
72
}
IDETContext
;
73
74
void
ff_idet_init_x86
(
IDETContext
*idet,
int
for_16b);
75
76
/* main fall-back for left-over */
77
int
ff_idet_filter_line_c
(
const
uint8_t
*
a
,
const
uint8_t
*
b
,
const
uint8_t
*
c
,
int
w);
78
int
ff_idet_filter_line_c_16bit
(
const
uint16_t *
a
,
const
uint16_t *
b
,
const
uint16_t *
c
,
int
w);
79
80
#endif
Generated on Sun Mar 8 2015 02:35:07 for FFmpeg by
1.8.2