Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
357f11ec
Commit
357f11ec
authored
Oct 20, 2019
by
Paul B Mahol
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avfilter/vf_atadenoise: add support for commands
parent
824b026d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
4 deletions
+25
-4
filters.texi
doc/filters.texi
+4
-0
vf_atadenoise.c
libavfilter/vf_atadenoise.c
+21
-4
No files found.
doc/filters.texi
View file @
357f11ec
...
...
@@ -6281,6 +6281,10 @@ Parallel will abort early on first change being greater then thresholds, while s
will
continue
processing
other
side
of
frames
if
they
are
equal
or
bellow
thresholds
.
@
end
table
@
subsection
Commands
This
filter
supports
same
@
ref
{
commands
}
as
options
except
option
@
code
{
s
}.
The
command
accepts
the
same
syntax
of
the
corresponding
option
.
@
section
avgblur
Apply
average
blur
filter
.
...
...
libavfilter/vf_atadenoise.c
View file @
357f11ec
...
...
@@ -64,7 +64,8 @@ typedef struct ATADenoiseContext {
}
ATADenoiseContext
;
#define OFFSET(x) offsetof(ATADenoiseContext, x)
#define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
#define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM
#define VF AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
static
const
AVOption
atadenoise_options
[]
=
{
{
"0a"
,
"set threshold A for 1st plane"
,
OFFSET
(
fthra
[
0
]),
AV_OPT_TYPE_FLOAT
,
{.
dbl
=
0
.
02
},
0
,
0
.
3
,
FLAGS
},
...
...
@@ -73,11 +74,11 @@ static const AVOption atadenoise_options[] = {
{
"1b"
,
"set threshold B for 2nd plane"
,
OFFSET
(
fthrb
[
1
]),
AV_OPT_TYPE_FLOAT
,
{.
dbl
=
0
.
04
},
0
,
5
.
0
,
FLAGS
},
{
"2a"
,
"set threshold A for 3rd plane"
,
OFFSET
(
fthra
[
2
]),
AV_OPT_TYPE_FLOAT
,
{.
dbl
=
0
.
02
},
0
,
0
.
3
,
FLAGS
},
{
"2b"
,
"set threshold B for 3rd plane"
,
OFFSET
(
fthrb
[
2
]),
AV_OPT_TYPE_FLOAT
,
{.
dbl
=
0
.
04
},
0
,
5
.
0
,
FLAGS
},
{
"s"
,
"set how many frames to use"
,
OFFSET
(
size
),
AV_OPT_TYPE_INT
,
{.
i64
=
9
},
5
,
SIZE
,
FLAGS
},
{
"s"
,
"set how many frames to use"
,
OFFSET
(
size
),
AV_OPT_TYPE_INT
,
{.
i64
=
9
},
5
,
SIZE
,
VF
},
{
"p"
,
"set what planes to filter"
,
OFFSET
(
planes
),
AV_OPT_TYPE_FLAGS
,
{.
i64
=
7
},
0
,
15
,
FLAGS
},
{
"a"
,
"set variant of algorithm"
,
OFFSET
(
algorithm
),
AV_OPT_TYPE_INT
,
{.
i64
=
PARALLEL
},
0
,
NB_ATAA
-
1
,
FLAGS
,
"a"
},
{
"p"
,
"parallel"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
PARALLEL
},
0
,
0
,
FLAGS
,
"a"
},
{
"s"
,
"serial"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
SERIAL
},
0
,
0
,
FLAGS
,
"a"
},
{
"p"
,
"parallel"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
PARALLEL
},
0
,
0
,
FLAGS
,
"a"
},
{
"s"
,
"serial"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
SERIAL
},
0
,
0
,
FLAGS
,
"a"
},
{
NULL
}
};
...
...
@@ -404,6 +405,21 @@ static av_cold void uninit(AVFilterContext *ctx)
ff_bufqueue_discard_all
(
&
s
->
q
);
}
static
int
process_command
(
AVFilterContext
*
ctx
,
const
char
*
cmd
,
const
char
*
arg
,
char
*
res
,
int
res_len
,
int
flags
)
{
int
ret
=
ff_filter_process_command
(
ctx
,
cmd
,
arg
,
res
,
res_len
,
flags
);
if
(
ret
<
0
)
return
ret
;
return
config_input
(
ctx
->
inputs
[
0
]);
}
static
const
AVFilterPad
inputs
[]
=
{
{
.
name
=
"default"
,
...
...
@@ -434,4 +450,5 @@ AVFilter ff_vf_atadenoise = {
.
inputs
=
inputs
,
.
outputs
=
outputs
,
.
flags
=
AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL
|
AVFILTER_FLAG_SLICE_THREADS
,
.
process_command
=
process_command
,
};
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