Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
1b85ec1e
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,发现更多精彩内容 >>
提交
1b85ec1e
编写于
3月 06, 2009
作者:
M
Michael Niedermayer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Selftest code.
Originally committed as revision 17844 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
8537591a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
48 addition
and
0 deletion
+48
-0
libavformat/timefilter.c
libavformat/timefilter.c
+48
-0
未找到文件。
libavformat/timefilter.c
浏览文件 @
1b85ec1e
...
...
@@ -72,3 +72,51 @@ double ff_timefilter_update(TimeFilter *self, double system_time, double period)
}
return
self
->
cycle_time
;
}
#ifdef TEST
main
(){
double
n0
,
n1
;
#define SAMPLES 1000
double
ideal
[
SAMPLES
];
double
samples
[
SAMPLES
];
for
(
n0
=
0
;
n0
<
40
;
n0
=
2
*
n0
+
1
){
for
(
n1
=
0
;
n1
<
10
;
n1
=
2
*
n1
+
1
){
double
best_error
=
1000000000
;
double
bestpar0
=
1
;
double
bestpar1
=
0
.
001
;
int
better
,
i
;
srandom
(
123
);
for
(
i
=
0
;
i
<
SAMPLES
;
i
++
){
ideal
[
i
]
=
10
+
i
+
n1
*
i
/
(
1000
);
samples
[
i
]
=
ideal
[
i
]
+
n0
*
(
rand
()
-
RAND_MAX
/
2
)
/
(
RAND_MAX
*
10LL
);
}
do
{
double
par0
,
par1
;
better
=
0
;
for
(
par0
=
bestpar0
*
0
.
8
;
par0
<=
bestpar0
*
1
.
21
;
par0
+=
bestpar0
*
0
.
05
){
for
(
par1
=
bestpar1
*
0
.
8
;
par1
<=
bestpar1
*
1
.
21
;
par1
+=
bestpar1
*
0
.
05
){
double
error
=
0
;
TimeFilter
*
tf
=
ff_timefilter_new
(
par0
,
par1
);
for
(
i
=
0
;
i
<
SAMPLES
;
i
++
){
double
filtered
;
filtered
=
ff_timefilter_update
(
tf
,
samples
[
i
],
1
);
error
+=
(
filtered
-
ideal
[
i
])
*
(
filtered
-
ideal
[
i
]);
}
ff_timefilter_destroy
(
tf
);
if
(
error
<
best_error
){
best_error
=
error
;
bestpar0
=
par0
;
bestpar1
=
par1
;
better
=
1
;
}
}
}
}
while
(
better
);
printf
(
" [%f %f %f]"
,
bestpar0
,
bestpar1
,
best_error
);
}
printf
(
"
\n
"
);
}
}
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录