FFmpeg
4.0
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
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
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
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
MODE_TFF
Definition:
interlace.h:40
FIELD_UPPER
Definition:
interlace.h:45
VLPF_LIN
Definition:
interlace.h:51
MODE_BFF
Definition:
interlace.h:41
void
typedef void(RENAME(mix_any_func_type))
Definition:
rematrix_template.c:52
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 Tue May 22 2018 07:06:47 for FFmpeg by
1.8.13