Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
7536c671
Commit
7536c671
authored
Feb 25, 2013
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vf_yadif: switch to an AVOptions-based system.
parent
b83e9efc
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
26 deletions
+35
-26
filters.texi
doc/filters.texi
+13
-7
vf_yadif.c
libavfilter/vf_yadif.c
+21
-19
yadif.h
libavfilter/yadif.h
+1
-0
No files found.
doc/filters.texi
View file @
7536c671
...
...
@@ -2214,10 +2214,12 @@ Flip the input video vertically.
Deinterlace the input video ("yadif" means "yet another deinterlacing
filter").
It accepts the optional parameters: @var{mode}:@var{parity}:@var{auto}.
This filter accepts the following options:
@table @option
@
var{mode} specifies the interlacing mode to adopt, accepts one of th
e
following values:
@
item mod
e
The interlacing mode to adopt, accepts one of the
following values:
@table @option
@item 0
...
...
@@ -2232,8 +2234,9 @@ like 1 but skips spatial interlacing check
Default value is 0.
@var{parity} specifies the picture field parity assumed for the input
interlaced video, accepts one of the following values:
@item parity
The picture field parity assumed for the input interlaced video, accepts one of
the following values:
@table @option
@item 0
...
...
@@ -2248,8 +2251,9 @@ Default value is -1.
If interlacing is unknown or decoder does not export this information,
top field first will be assumed.
@var{auto} specifies if deinterlacer should trust the interlaced flag
and only deinterlace frames marked as interlaced
@item auto
Whether deinterlacer should trust the interlaced flag and only deinterlace
frames marked as interlaced
@table @option
@item 0
...
...
@@ -2260,6 +2264,8 @@ only deinterlace frames marked as interlaced
Default value is 0.
@end table
@c man end VIDEO FILTERS
@chapter Video Sources
...
...
libavfilter/vf_yadif.c
View file @
7536c671
...
...
@@ -21,6 +21,7 @@
#include "libavutil/cpu.h"
#include "libavutil/common.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "formats.h"
...
...
@@ -429,24 +430,6 @@ static int query_formats(AVFilterContext *ctx)
return
0
;
}
static
av_cold
int
init
(
AVFilterContext
*
ctx
,
const
char
*
args
)
{
YADIFContext
*
yadif
=
ctx
->
priv
;
yadif
->
mode
=
0
;
yadif
->
parity
=
-
1
;
yadif
->
auto_enable
=
0
;
if
(
args
)
sscanf
(
args
,
"%d:%d:%d"
,
&
yadif
->
mode
,
&
yadif
->
parity
,
&
yadif
->
auto_enable
);
av_log
(
ctx
,
AV_LOG_VERBOSE
,
"mode:%d parity:%d auto_enable:%d
\n
"
,
yadif
->
mode
,
yadif
->
parity
,
yadif
->
auto_enable
);
return
0
;
}
static
int
config_props
(
AVFilterLink
*
link
)
{
YADIFContext
*
s
=
link
->
src
->
priv
;
...
...
@@ -471,6 +454,25 @@ static int config_props(AVFilterLink *link)
return
0
;
}
#define OFFSET(x) offsetof(YADIFContext, x)
#define FLAGS AV_OPT_FLAG_VIDEO_PARAM
static
const
AVOption
options
[]
=
{
{
"mode"
,
NULL
,
OFFSET
(
mode
),
AV_OPT_TYPE_INT
,
{
.
i64
=
0
},
0
,
3
,
FLAGS
},
{
"parity"
,
NULL
,
OFFSET
(
parity
),
AV_OPT_TYPE_INT
,
{
.
i64
=
-
1
},
-
1
,
1
,
FLAGS
,
"parity"
},
{
"auto"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
-
1
},
.
unit
=
"parity"
},
{
"tff"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
0
},
.
unit
=
"parity"
},
{
"bff"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
.
i64
=
1
},
.
unit
=
"parity"
},
{
"auto"
,
NULL
,
OFFSET
(
auto_enable
),
AV_OPT_TYPE_INT
,
{
.
i64
=
0
},
0
,
1
,
FLAGS
},
{
NULL
},
};
static
const
AVClass
yadif_class
=
{
.
class_name
=
"yadif"
,
.
item_name
=
av_default_item_name
,
.
option
=
options
,
.
version
=
LIBAVUTIL_VERSION_INT
,
};
static
const
AVFilterPad
avfilter_vf_yadif_inputs
[]
=
{
{
.
name
=
"default"
,
...
...
@@ -497,7 +499,7 @@ AVFilter avfilter_vf_yadif = {
.
description
=
NULL_IF_CONFIG_SMALL
(
"Deinterlace the input image"
),
.
priv_size
=
sizeof
(
YADIFContext
),
.
init
=
init
,
.
priv_class
=
&
yadif_class
,
.
uninit
=
uninit
,
.
query_formats
=
query_formats
,
...
...
libavfilter/yadif.h
View file @
7536c671
...
...
@@ -23,6 +23,7 @@
#include "avfilter.h"
typedef
struct
YADIFContext
{
const
AVClass
*
class
;
/**
* 0: send 1 frame for each frame
* 1: send 1 frame for each field
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment