FFmpeg  4.0
bwdif.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_BWDIF_H
20 #define AVFILTER_BWDIF_H
21 
22 #include "libavutil/pixdesc.h"
23 #include "avfilter.h"
24 
25 enum BWDIFMode {
26  BWDIF_MODE_SEND_FRAME = 0, ///< send 1 frame for each frame
27  BWDIF_MODE_SEND_FIELD = 1, ///< send 1 frame for each field
28 };
29 
31  BWDIF_PARITY_TFF = 0, ///< top field first
32  BWDIF_PARITY_BFF = 1, ///< bottom field first
33  BWDIF_PARITY_AUTO = -1, ///< auto detection
34 };
35 
36 enum BWDIFDeint {
37  BWDIF_DEINT_ALL = 0, ///< deinterlace all frames
38  BWDIF_DEINT_INTERLACED = 1, ///< only deinterlace frames marked as interlaced
39 };
40 
41 typedef struct BWDIFContext {
42  const AVClass *class;
43 
44  int mode; ///< BWDIFMode
45  int parity; ///< BWDIFParity
46  int deint; ///< BWDIFDeint
47 
49 
54 
55  void (*filter_intra)(void *dst1, void *cur1, int w, int prefs, int mrefs,
56  int prefs3, int mrefs3, int parity, int clip_max);
57  void (*filter_line)(void *dst, void *prev, void *cur, void *next,
58  int w, int prefs, int mrefs, int prefs2, int mrefs2,
59  int prefs3, int mrefs3, int prefs4, int mrefs4,
60  int parity, int clip_max);
61  void (*filter_edge)(void *dst, void *prev, void *cur, void *next,
62  int w, int prefs, int mrefs, int prefs2, int mrefs2,
63  int parity, int clip_max, int spat);
64 
67  int eof;
68 } BWDIFContext;
69 
70 void ff_bwdif_init_x86(BWDIFContext *bwdif);
71 
72 #endif /* AVFILTER_BWDIF_H */
send 1 frame for each frame
Definition: bwdif.h:26
void(* filter_edge)(void *dst, void *prev, void *cur, void *next, int w, int prefs, int mrefs, int prefs2, int mrefs2, int parity, int clip_max, int spat)
Definition: bwdif.h:61
This structure describes decoded (raw) audio or video data.
Definition: frame.h:218
AVFrame * prev
Definition: bwdif.h:52
int parity
BWDIFParity.
Definition: bwdif.h:45
Main libavfilter public API header.
void ff_bwdif_init_x86(BWDIFContext *bwdif)
Definition: vf_bwdif_init.c:54
BWDIFDeint
Definition: bwdif.h:36
top field first
Definition: bwdif.h:31
int inter_field
Definition: bwdif.h:66
void(* filter_line)(void *dst, void *prev, void *cur, void *next, int w, int prefs, int mrefs, int prefs2, int mrefs2, int prefs3, int mrefs3, int prefs4, int mrefs4, int parity, int clip_max)
Definition: bwdif.h:57
deinterlace all frames
Definition: bwdif.h:37
AVFrame * next
Definition: bwdif.h:51
uint8_t w
Definition: llviddspenc.c:38
int frame_pending
Definition: bwdif.h:48
bottom field first
Definition: bwdif.h:32
BWDIFMode
Definition: bwdif.h:25
int deint
BWDIFDeint.
Definition: bwdif.h:46
int eof
Definition: bwdif.h:67
const AVPixFmtDescriptor * csp
Definition: bwdif.h:65
typedef void(RENAME(mix_any_func_type))
AVFrame * out
Definition: bwdif.h:53
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
Definition: pixdesc.h:81
only deinterlace frames marked as interlaced
Definition: bwdif.h:38
Describe the class of an AVClass context structure.
Definition: log.h:67
auto detection
Definition: bwdif.h:33
BWDIFParity
Definition: bwdif.h:30
send 1 frame for each field
Definition: bwdif.h:27
AVFrame * cur
Definition: bwdif.h:50
int mode
BWDIFMode.
Definition: bwdif.h:44
void(* filter_intra)(void *dst1, void *cur1, int w, int prefs, int mrefs, int prefs3, int mrefs3, int parity, int clip_max)
Definition: bwdif.h:55