FFmpeg
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavfilter
yadif.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 modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; either version 2 of the License, or
7
* (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
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with FFmpeg; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
*/
18
19
#ifndef AVFILTER_YADIF_H
20
#define AVFILTER_YADIF_H
21
22
#include "
libavutil/pixdesc.h
"
23
#include "
avfilter.h
"
24
25
enum
YADIFMode
{
26
YADIF_MODE_SEND_FRAME
= 0,
///< send 1 frame for each frame
27
YADIF_MODE_SEND_FIELD
= 1,
///< send 1 frame for each field
28
YADIF_MODE_SEND_FRAME_NOSPATIAL
= 2,
///< send 1 frame for each frame but skips spatial interlacing check
29
YADIF_MODE_SEND_FIELD_NOSPATIAL
= 3,
///< send 1 frame for each field but skips spatial interlacing check
30
};
31
32
enum
YADIFParity
{
33
YADIF_PARITY_TFF
= 0,
///< top field first
34
YADIF_PARITY_BFF
= 1,
///< bottom field first
35
YADIF_PARITY_AUTO
= -1,
///< auto detection
36
};
37
38
enum
YADIFDeint
{
39
YADIF_DEINT_ALL
= 0,
///< deinterlace all frames
40
YADIF_DEINT_INTERLACED
= 1,
///< only deinterlace frames marked as interlaced
41
};
42
43
typedef
struct
YADIFContext
{
44
const
AVClass
*
class
;
45
46
enum
YADIFMode
mode
;
47
enum
YADIFParity
parity
;
48
enum
YADIFDeint
deint
;
49
50
int
frame_pending
;
51
52
AVFilterBufferRef
*
cur
;
53
AVFilterBufferRef
*
next
;
54
AVFilterBufferRef
*
prev
;
55
AVFilterBufferRef
*
out
;
56
57
/**
58
* Required alignment for filter_line
59
*/
60
int
req_align
;
61
void
(*
filter_line
)(
void
*
dst
,
62
void
*
prev
,
void
*
cur
,
void
*
next
,
63
int
w,
int
prefs,
int
mrefs,
int
parity
,
int
mode
);
64
void
(*
filter_edges
)(
void
*
dst
,
void
*
prev
,
void
*
cur
,
void
*
next
,
65
int
w,
int
prefs,
int
mrefs,
int
parity
,
int
mode
,
66
int
l_edge);
67
68
const
AVPixFmtDescriptor
*
csp
;
69
int
eof
;
70
uint8_t
*
temp_line
;
71
int
temp_line_size
;
72
}
YADIFContext
;
73
74
void
ff_yadif_init_x86
(
YADIFContext
*yadif);
75
76
#endif
/* AVFILTER_YADIF_H */
Generated on Sat May 25 2013 04:01:16 for FFmpeg by
1.8.2