Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
64a10313
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
64a10313
编写于
4月 10, 2013
作者:
C
Clément Bœsch
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lavfi/tile: switch to an AVOptions-based system.
上级
35a27402
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
16 addition
and
19 deletion
+16
-19
doc/filters.texi
doc/filters.texi
+13
-13
libavfilter/avfilter.c
libavfilter/avfilter.c
+1
-0
libavfilter/vf_tile.c
libavfilter/vf_tile.c
+2
-6
未找到文件。
doc/filters.texi
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
,
};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录