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
64a10313
Commit
64a10313
authored
Apr 10, 2013
by
Clément Bœsch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavfi/tile: switch to an AVOptions-based system.
parent
35a27402
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
19 deletions
+16
-19
filters.texi
doc/filters.texi
+13
-13
avfilter.c
libavfilter/avfilter.c
+1
-0
vf_tile.c
libavfilter/vf_tile.c
+2
-6
No files found.
doc/filters.texi
View file @
64a10313
...
...
@@ -5414,8 +5414,7 @@ ffmpeg -i in.avi -vf thumbnail,scale=300:200 -frames:v 1 out.png
Tile several successive frames together.
It accepts a list of options in the form of @var{key}=@var{value} pairs
separated by ":". A description of the accepted options follows.
The filter accepts the following options:
@table @option
...
...
@@ -5423,6 +5422,11 @@ separated by ":". A description of the accepted options follows.
Set the grid size (i.e. the number of lines and columns) in the form
"@var{w}x@var{h}".
@item nb_frames
Set the maximum number of frames to render in the given area. It must be less
than or equal to @var{w}x@var{h}. The default value is @code{0}, meaning all
the area will be used.
@item margin
Set the outer border margin in pixels.
...
...
@@ -5431,19 +5435,13 @@ Set the inner border thickness (i.e. the number of pixels between frames). For
more advanced padding options (such as having different values for the edges),
refer to the pad video filter.
@item nb_frames
Set the maximum number of frames to render in the given area. It must be less
than or equal to @var{w}x@var{h}. The default value is @code{0}, meaning all
the area will be used.
@end table
Alternatively, the options can be specified as a flat string:
@var{layout}[:@var{nb_frames}[:@var{margin}[:@var{padding}]]]
@subsection Examples
For example, produce 8x8 PNG tiles of all keyframes (@option{-skip_frame
nokey}) in a movie:
@itemize
@item
Produce 8x8 PNG tiles of all keyframes (@option{-skip_frame nokey}) in a movie:
@example
ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
@end example
...
...
@@ -5451,12 +5449,14 @@ The @option{-vsync 0} is necessary to prevent @command{ffmpeg} from
duplicating each output frame to accomodate the originally detected frame
rate.
Another example to display @code{5} pictures in an area of @code{3x2} frames,
@item
Display @code{5} pictures in an area of @code{3x2} frames,
with @code{7} pixels between them, and @code{2} pixels of initial margin, using
mixed flat and named options:
@example
tile=3x2:nb_frames=5:padding=7:margin=2
@end example
@end itemize
@section tinterlace
...
...
libavfilter/avfilter.c
View file @
64a10313
...
...
@@ -757,6 +757,7 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque
!
strcmp
(
filter
->
filter
->
name
,
"subtitles"
)
||
!
strcmp
(
filter
->
filter
->
name
,
"testsrc"
)
||
!
strcmp
(
filter
->
filter
->
name
,
"thumbnail"
)
||
!
strcmp
(
filter
->
filter
->
name
,
"tile"
)
||
!
strcmp
(
filter
->
filter
->
name
,
"transpose"
)
||
!
strcmp
(
filter
->
filter
->
name
,
"treble"
)
||
!
strcmp
(
filter
->
filter
->
name
,
"unsharp"
)
||
...
...
libavfilter/vf_tile.c
View file @
64a10313
...
...
@@ -51,12 +51,12 @@ typedef struct {
static
const
AVOption
tile_options
[]
=
{
{
"layout"
,
"set grid size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
"6x5"
},
0
,
0
,
FLAGS
},
{
"nb_frames"
,
"set maximum number of frame to render"
,
OFFSET
(
nb_frames
),
AV_OPT_TYPE_INT
,
{.
i64
=
0
},
0
,
INT_MAX
,
FLAGS
},
{
"margin"
,
"set outer border margin in pixels"
,
OFFSET
(
margin
),
AV_OPT_TYPE_INT
,
{.
i64
=
0
},
0
,
1024
,
FLAGS
},
{
"padding"
,
"set inner border thickness in pixels"
,
OFFSET
(
padding
),
AV_OPT_TYPE_INT
,
{.
i64
=
0
},
0
,
1024
,
FLAGS
},
{
"nb_frames"
,
"set maximum number of frame to render"
,
OFFSET
(
nb_frames
),
AV_OPT_TYPE_INT
,
{.
i64
=
0
},
0
,
INT_MAX
,
FLAGS
},
{
NULL
},
};
...
...
@@ -230,9 +230,6 @@ static const AVFilterPad tile_outputs[] = {
{
NULL
}
};
static
const
char
*
const
shorthand
[]
=
{
"layout"
,
"nb_frames"
,
"margin"
,
"padding"
,
NULL
};
AVFilter
avfilter_vf_tile
=
{
.
name
=
"tile"
,
.
description
=
NULL_IF_CONFIG_SMALL
(
"Tile several successive frames together."
),
...
...
@@ -242,5 +239,4 @@ AVFilter avfilter_vf_tile = {
.
inputs
=
tile_inputs
,
.
outputs
=
tile_outputs
,
.
priv_class
=
&
tile_class
,
.
shorthand
=
shorthand
,
};
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