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
interlace.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
/**
20
* @file
21
* progressive to interlaced content filter, inspired by heavy debugging of
22
* tinterlace filter.
23
*/
24
25
#ifndef AVFILTER_INTERLACE_H
26
#define AVFILTER_INTERLACE_H
27
28
#include "
libavutil/bswap.h
"
29
#include "
libavutil/common.h
"
30
#include "
libavutil/imgutils.h
"
31
#include "
libavutil/opt.h
"
32
#include "
libavutil/pixdesc.h
"
33
34
#include "
avfilter.h
"
35
#include "
formats.h
"
36
#include "
internal.h
"
37
#include "
video.h
"
38
39
enum
ScanMode
{
40
MODE_TFF
= 0,
41
MODE_BFF
= 1,
42
};
43
44
enum
FieldType
{
45
FIELD_UPPER
= 0,
46
FIELD_LOWER
= 1,
47
};
48
49
enum
VLPFilter
{
50
VLPF_OFF
= 0,
51
VLPF_LIN
= 1,
52
VLPF_CMP
= 2,
53
};
54
55
typedef
struct
InterlaceContext
{
56
const
AVClass
*
class
;
57
enum
ScanMode
scan
;
// top or bottom field first scanning
58
int
lowpass
;
// enable or disable low pass filtering
59
AVFrame
*
cur
, *
next
;
// the two frames from which the new one is obtained
60
const
AVPixFmtDescriptor
*
csp
;
61
void
(*
lowpass_line
)(
uint8_t
*
dstp
, ptrdiff_t linesize,
const
uint8_t
*
srcp
,
62
ptrdiff_t mref, ptrdiff_t pref,
int
clip_max);
63
}
InterlaceContext
;
64
65
void
ff_interlace_init
(
InterlaceContext
*interlace,
int
depth);
66
void
ff_interlace_init_x86
(
InterlaceContext
*interlace,
int
depth);
67
68
#endif
/* AVFILTER_INTERLACE_H */
VLPF_OFF
Definition:
interlace.h:50
InterlaceContext::lowpass_line
void(* lowpass_line)(uint8_t *dstp, ptrdiff_t linesize, const uint8_t *srcp, ptrdiff_t mref, ptrdiff_t pref, int clip_max)
Definition:
interlace.h:61
AVFrame
This structure describes decoded (raw) audio or video data.
Definition:
frame.h:218
FIELD_LOWER
Definition:
interlace.h:46
InterlaceContext::lowpass
int lowpass
Definition:
interlace.h:58
imgutils.h
misc image utilities
avfilter.h
Main libavfilter public API header.
srcp
BYTE int const BYTE * srcp
Definition:
avisynth_c.h:813
uint8_t
uint8_t
Definition:
audio_convert.c:194
opt.h
AVOptions.
InterlaceContext
Definition:
interlace.h:55
VLPFilter
VLPFilter
Definition:
interlace.h:49
ScanMode
ScanMode
Definition:
interlace.h:39
video.h
FieldType
FieldType
Definition:
interlace.h:44
dstp
BYTE * dstp
Definition:
avisynth_c.h:813
InterlaceContext::next
AVFrame * next
Definition:
interlace.h:59
pixdesc.h
ff_interlace_init
void ff_interlace_init(InterlaceContext *interlace, int depth)
Definition:
vf_interlace.c:188
void
typedef void(APIENTRY *FF_PFNGLACTIVETEXTUREPROC)(GLenum texture)
MODE_TFF
Definition:
interlace.h:40
FIELD_UPPER
Definition:
interlace.h:45
VLPF_LIN
Definition:
interlace.h:51
MODE_BFF
Definition:
interlace.h:41
AVPixFmtDescriptor
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
Definition:
pixdesc.h:81
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:67
bswap.h
byte swapping routines
ff_interlace_init_x86
void ff_interlace_init_x86(InterlaceContext *interlace, int depth)
Definition:
vf_interlace_init.c:57
InterlaceContext::cur
AVFrame * cur
Definition:
interlace.h:59
VLPF_CMP
Definition:
interlace.h:52
common.h
common internal and external API header
InterlaceContext::scan
enum ScanMode scan
Definition:
interlace.h:57
formats.h
internal.h
internal API functions
InterlaceContext::csp
const AVPixFmtDescriptor * csp
Definition:
interlace.h:60
Generated on Sun May 13 2018 02:04:01 for FFmpeg by
1.8.6