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/common.h
"
29
#include "
libavutil/imgutils.h
"
30
#include "
libavutil/opt.h
"
31
32
#include "
avfilter.h
"
33
#include "
formats.h
"
34
#include "
internal.h
"
35
#include "
video.h
"
36
37
enum
ScanMode
{
38
MODE_TFF
= 0,
39
MODE_BFF
= 1,
40
};
41
42
enum
FieldType
{
43
FIELD_UPPER
= 0,
44
FIELD_LOWER
= 1,
45
};
46
47
typedef
struct
InterlaceContext
{
48
const
AVClass
*
class
;
49
enum
ScanMode
scan
;
// top or bottom field first scanning
50
int
lowpass
;
// enable or disable low pass filtering
51
AVFrame
*
cur
, *
next
;
// the two frames from which the new one is obtained
52
void
(*
lowpass_line
)(
uint8_t
*
dstp
, ptrdiff_t linesize,
const
uint8_t
*
srcp
,
53
const
uint8_t
*srcp_above,
const
uint8_t
*srcp_below);
54
}
InterlaceContext
;
55
56
void
ff_interlace_init_x86
(
InterlaceContext
*interlace);
57
58
#endif
/* AVFILTER_INTERLACE_H */
AVFrame
This structure describes decoded (raw) audio or video data.
Definition:
frame.h:187
FIELD_LOWER
Definition:
interlace.h:44
InterlaceContext::lowpass
int lowpass
Definition:
interlace.h:50
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:47
ScanMode
ScanMode
Definition:
interlace.h:37
video.h
InterlaceContext::lowpass_line
void(* lowpass_line)(uint8_t *dstp, ptrdiff_t linesize, const uint8_t *srcp, const uint8_t *srcp_above, const uint8_t *srcp_below)
Definition:
interlace.h:52
FieldType
FieldType
Definition:
interlace.h:42
ff_interlace_init_x86
void ff_interlace_init_x86(InterlaceContext *interlace)
Definition:
vf_interlace_init.c:38
dstp
BYTE * dstp
Definition:
avisynth_c.h:813
InterlaceContext::next
AVFrame * next
Definition:
interlace.h:51
void
typedef void(APIENTRY *FF_PFNGLACTIVETEXTUREPROC)(GLenum texture)
MODE_TFF
Definition:
interlace.h:38
FIELD_UPPER
Definition:
interlace.h:43
MODE_BFF
Definition:
interlace.h:39
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:67
InterlaceContext::cur
AVFrame * cur
Definition:
interlace.h:51
common.h
common internal and external API header
InterlaceContext::scan
enum ScanMode scan
Definition:
interlace.h:49
formats.h
internal.h
internal API functions
Generated on Fri Jan 12 2018 01:45:52 for FFmpeg by
1.8.6