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
AVFrame
This structure describes decoded (raw) audio or video data.
Definition:
frame.h:184
REPEAT_BOTTOM
Definition:
vf_idet.h:39
REPEAT_NONE
Definition:
vf_idet.h:37
avfilter.h
Main libavfilter public API header.
UNDETERMINED
Definition:
vf_idet.h:33
b
const char * b
Definition:
vf_curves.c:113
PROGRESSIVE
Definition:
vf_idet.h:32
IDETContext::interlace_threshold
float interlace_threshold
Definition:
vf_idet.h:44
IDETContext::csp
const AVPixFmtDescriptor * csp
Definition:
vf_idet.h:70
IDETContext::eof
int eof
Definition:
vf_idet.h:71
ff_idet_filter_line_c_16bit
int ff_idet_filter_line_c_16bit(const uint16_t *a, const uint16_t *b, const uint16_t *c, int w)
Definition:
vf_idet.c:100
IDETContext::progressive_threshold
float progressive_threshold
Definition:
vf_idet.h:45
uint8_t
uint8_t
Definition:
audio_convert.c:194
BFF
Definition:
vf_idet.h:31
IDETContext::decay_coefficient
uint64_t decay_coefficient
Definition:
vf_idet.h:48
REPEAT_TOP
Definition:
vf_idet.h:38
IDETContext::half_life
float half_life
Definition:
vf_idet.h:47
ff_idet_filter_line_c
int ff_idet_filter_line_c(const uint8_t *a, const uint8_t *b, const uint8_t *c, int w)
Definition:
vf_idet.c:87
ff_idet_init_x86
void ff_idet_init_x86(IDETContext *idet, int for_16b)
Definition:
vf_idet_init.c:69
IDETContext::next
AVFrame * next
Definition:
vf_idet.h:62
IDETContext::analyze_interlaced_flag
int analyze_interlaced_flag
Definition:
vf_idet.h:67
HIST_SIZE
#define HIST_SIZE
Definition:
vf_idet.h:25
pixdesc.h
Type
Type
Definition:
vf_idet.h:29
IDETContext::filter_line
ff_idet_filter_func filter_line
Definition:
vf_idet.h:64
AVPixFmtDescriptor
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
Definition:
pixdesc.h:81
IDETContext::repeat_threshold
float repeat_threshold
Definition:
vf_idet.h:46
RepeatedField
RepeatedField
Definition:
vf_idet.h:36
IDETContext
Definition:
vf_idet.h:42
TFF
Definition:
vf_idet.h:30
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:67
IDETContext::last_type
Type last_type
Definition:
vf_idet.h:50
IDETContext::cur
AVFrame * cur
Definition:
vf_idet.h:61
c
static double c[64]
Definition:
vsrc_mptestsrc.c:87
IDETContext::analyze_interlaced_flag_done
int analyze_interlaced_flag_done
Definition:
vf_idet.h:68
IDETContext::interlaced_flag_accuracy
int interlaced_flag_accuracy
Definition:
vf_idet.h:66
IDETContext::prev
AVFrame * prev
Definition:
vf_idet.h:63
a
a
Definition:
h264pred_template.c:468
ff_idet_filter_func
int(* ff_idet_filter_func)(const uint8_t *a, const uint8_t *b, const uint8_t *c, int w)
Definition:
vf_idet.h:27
Generated on Thu Oct 27 2016 19:33:37 for FFmpeg by
1.8.6