Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
f559812a
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,体验更适合开发者的 AI 搜索 >>
提交
f559812a
编写于
9月 20, 2015
作者:
R
Rodger Combs
提交者:
Michael Niedermayer
9月 26, 2015
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tests/checkasm: make randomize_buffers a function for easier debugging
Signed-off-by:
N
Michael Niedermayer
<
michael@niedermayer.cc
>
上级
086718e8
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
57 addition
and
51 deletion
+57
-51
tests/checkasm/vp9dsp.c
tests/checkasm/vp9dsp.c
+57
-51
未找到文件。
tests/checkasm/vp9dsp.c
浏览文件 @
f559812a
...
...
@@ -106,58 +106,64 @@ static void check_ipred(void)
// c can be an assignment and must not be put under ()
#define setdx(a,b,c,d) setpx(a,b,c-(d)+(rnd()%((d)*2+1)))
#define setsx(a,b,c,d) setdx(a,b,c,(d) << (bit_depth - 8))
static
void
randomize_loopfilter_buffers
(
int
bidx
,
int
lineoff
,
int
str
,
int
bit_depth
,
int
dir
,
int
*
E
,
int
*
F
,
int
*
H
,
int
*
I
,
uint8_t
*
buf0
,
uint8_t
*
buf1
)
{
uint32_t
mask
=
(
1
<<
bit_depth
)
-
1
;
int
off
=
dir
?
lineoff
:
lineoff
*
16
;
int
istride
=
dir
?
1
:
16
;
int
jstride
=
dir
?
str
:
1
;
int
i
,
j
;
for
(
i
=
0
;
i
<
2
;
i
++
)
/* flat16 */
{
int
idx
=
off
+
i
*
istride
,
p0
,
q0
;
setpx
(
idx
,
0
,
q0
=
rnd
()
&
mask
);
setsx
(
idx
,
-
1
,
p0
=
q0
,
E
[
bidx
]
>>
2
);
for
(
j
=
1
;
j
<
8
;
j
++
)
{
setsx
(
idx
,
-
1
-
j
,
p0
,
F
[
bidx
]);
setsx
(
idx
,
j
,
q0
,
F
[
bidx
]);
}
}
for
(
i
=
2
;
i
<
4
;
i
++
)
/* flat8 */
{
int
idx
=
off
+
i
*
istride
,
p0
,
q0
;
setpx
(
idx
,
0
,
q0
=
rnd
()
&
mask
);
setsx
(
idx
,
-
1
,
p0
=
q0
,
E
[
bidx
]
>>
2
);
for
(
j
=
1
;
j
<
4
;
j
++
)
{
setsx
(
idx
,
-
1
-
j
,
p0
,
F
[
bidx
]);
setsx
(
idx
,
j
,
q0
,
F
[
bidx
]);
}
for
(
j
=
4
;
j
<
8
;
j
++
)
{
setpx
(
idx
,
-
1
-
j
,
rnd
()
&
mask
);
setpx
(
idx
,
j
,
rnd
()
&
mask
);
}
}
for
(
i
=
4
;
i
<
6
;
i
++
)
/* regular */
{
int
idx
=
off
+
i
*
istride
,
p2
,
p1
,
p0
,
q0
,
q1
,
q2
;
setpx
(
idx
,
0
,
q0
=
rnd
()
&
mask
);
setsx
(
idx
,
1
,
q1
=
q0
,
I
[
bidx
]);
setsx
(
idx
,
2
,
q2
=
q1
,
I
[
bidx
]);
setsx
(
idx
,
3
,
q2
,
I
[
bidx
]);
setsx
(
idx
,
-
1
,
p0
=
q0
,
E
[
bidx
]
>>
2
);
setsx
(
idx
,
-
2
,
p1
=
p0
,
I
[
bidx
]);
setsx
(
idx
,
-
3
,
p2
=
p1
,
I
[
bidx
]);
setsx
(
idx
,
-
4
,
p2
,
I
[
bidx
]);
for
(
j
=
4
;
j
<
8
;
j
++
)
{
setpx
(
idx
,
-
1
-
j
,
rnd
()
&
mask
);
setpx
(
idx
,
j
,
rnd
()
&
mask
);
}
}
for
(
i
=
6
;
i
<
8
;
i
++
)
/* off */
{
int
idx
=
off
+
i
*
istride
;
for
(
j
=
0
;
j
<
8
;
j
++
)
{
setpx
(
idx
,
-
1
-
j
,
rnd
()
&
mask
);
setpx
(
idx
,
j
,
rnd
()
&
mask
);
}
}
}
#define randomize_buffers(bidx, lineoff, str) \
do { \
uint32_t mask = (1 << bit_depth) - 1; \
int off = dir ? lineoff : lineoff * 16; \
int istride = dir ? 1 : 16; \
int jstride = dir ? str : 1; \
int i, j; \
for (i = 0; i < 2; i++)
/* flat16 */
{ \
int idx = off + i * istride, p0, q0; \
setpx(idx, 0, q0 = rnd() & mask); \
setsx(idx, -1, p0 = q0, E[bidx] >> 2); \
for (j = 1; j < 8; j++) { \
setsx(idx, -1 - j, p0, F[bidx]); \
setsx(idx, j, q0, F[bidx]); \
} \
} \
for (i = 2; i < 4; i++)
/* flat8 */
{ \
int idx = off + i * istride, p0, q0; \
setpx(idx, 0, q0 = rnd() & mask); \
setsx(idx, -1, p0 = q0, E[bidx] >> 2); \
for (j = 1; j < 4; j++) { \
setsx(idx, -1 - j, p0, F[bidx]); \
setsx(idx, j, q0, F[bidx]); \
} \
for (j = 4; j < 8; j++) { \
setpx(idx, -1 - j, rnd() & mask); \
setpx(idx, j, rnd() & mask); \
} \
} \
for (i = 4; i < 6; i++)
/* regular */
{ \
int idx = off + i * istride, p2, p1, p0, q0, q1, q2; \
setpx(idx, 0, q0 = rnd() & mask); \
setsx(idx, 1, q1 = q0, I[bidx]); \
setsx(idx, 2, q2 = q1, I[bidx]); \
setsx(idx, 3, q2, I[bidx]); \
setsx(idx, -1, p0 = q0, E[bidx] >> 2); \
setsx(idx, -2, p1 = p0, I[bidx]); \
setsx(idx, -3, p2 = p1, I[bidx]); \
setsx(idx, -4, p2, I[bidx]); \
for (j = 4; j < 8; j++) { \
setpx(idx, -1 - j, rnd() & mask); \
setpx(idx, j, rnd() & mask); \
} \
} \
for (i = 6; i < 8; i++)
/* off */
{ \
int idx = off + i * istride; \
for (j = 0; j < 8; j++) { \
setpx(idx, -1 - j, rnd() & mask); \
setpx(idx, j, rnd() & mask); \
} \
} \
} while (0)
randomize_loopfilter_buffers(bidx, lineoff, str, bit_depth, dir, \
E, F, H, I, buf0, buf1)
static
void
check_loopfilter
(
void
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录