mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-14 00:58:38 +02:00
lavfi/deshake: switch to an AVOptions-based system.
This commit is contained in:
parent
c85f56bb4f
commit
9ceb7bdf6f
@ -2529,16 +2529,14 @@ Attempt to fix small changes in horizontal and/or vertical shift. This
|
|||||||
filter helps remove camera shake from hand-holding a camera, bumping a
|
filter helps remove camera shake from hand-holding a camera, bumping a
|
||||||
tripod, moving on a vehicle, etc.
|
tripod, moving on a vehicle, etc.
|
||||||
|
|
||||||
The filter accepts parameters as a list of @var{key}=@var{value}
|
The filter accepts the following options:
|
||||||
pairs, separated by ":". If the key of the first options is omitted,
|
|
||||||
the arguments are interpreted according to the syntax
|
|
||||||
@var{x}:@var{y}:@var{w}:@var{h}:@var{rx}:@var{ry}:@var{edge}:@var{blocksize}:@var{contrast}:@var{search}:@var{filename}:@var{opencl}.
|
|
||||||
|
|
||||||
A description of the accepted parameters follows.
|
|
||||||
|
|
||||||
@table @option
|
@table @option
|
||||||
|
|
||||||
@item x, y, w, h
|
@item x
|
||||||
|
@item y
|
||||||
|
@item w
|
||||||
|
@item h
|
||||||
Specify a rectangular area where to limit the search for motion
|
Specify a rectangular area where to limit the search for motion
|
||||||
vectors.
|
vectors.
|
||||||
If desired the search for motion vectors can be limited to a
|
If desired the search for motion vectors can be limited to a
|
||||||
@ -2556,7 +2554,8 @@ without specifying the bounding box for the motion vector search.
|
|||||||
|
|
||||||
Default - search the whole frame.
|
Default - search the whole frame.
|
||||||
|
|
||||||
@item rx, ry
|
@item rx
|
||||||
|
@item ry
|
||||||
Specify the maximum extent of movement in x and y directions in the
|
Specify the maximum extent of movement in x and y directions in the
|
||||||
range 0-64 pixels. Default 16.
|
range 0-64 pixels. Default 16.
|
||||||
|
|
||||||
|
@ -703,6 +703,7 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque
|
|||||||
!strcmp(filter->filter->name, "curves" ) ||
|
!strcmp(filter->filter->name, "curves" ) ||
|
||||||
!strcmp(filter->filter->name, "decimate" ) ||
|
!strcmp(filter->filter->name, "decimate" ) ||
|
||||||
!strcmp(filter->filter->name, "delogo" ) ||
|
!strcmp(filter->filter->name, "delogo" ) ||
|
||||||
|
!strcmp(filter->filter->name, "deshake" ) ||
|
||||||
!strcmp(filter->filter->name, "drawbox" ) ||
|
!strcmp(filter->filter->name, "drawbox" ) ||
|
||||||
!strcmp(filter->filter->name, "drawtext" ) ||
|
!strcmp(filter->filter->name, "drawtext" ) ||
|
||||||
!strcmp(filter->filter->name, "ebur128" ) ||
|
!strcmp(filter->filter->name, "ebur128" ) ||
|
||||||
|
@ -560,12 +560,6 @@ static const AVFilterPad deshake_outputs[] = {
|
|||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *const shorthand[] = {
|
|
||||||
"x", "y", "w", "h", "rx", "ry", "edge",
|
|
||||||
"blocksize", "contrast", "search", "filename",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
AVFilter avfilter_vf_deshake = {
|
AVFilter avfilter_vf_deshake = {
|
||||||
.name = "deshake",
|
.name = "deshake",
|
||||||
.description = NULL_IF_CONFIG_SMALL("Stabilize shaky video."),
|
.description = NULL_IF_CONFIG_SMALL("Stabilize shaky video."),
|
||||||
@ -576,5 +570,4 @@ AVFilter avfilter_vf_deshake = {
|
|||||||
.inputs = deshake_inputs,
|
.inputs = deshake_inputs,
|
||||||
.outputs = deshake_outputs,
|
.outputs = deshake_outputs,
|
||||||
.priv_class = &deshake_class,
|
.priv_class = &deshake_class,
|
||||||
.shorthand = shorthand,
|
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user