Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
8915320d
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,发现更多精彩内容 >>
提交
8915320d
编写于
12月 26, 2014
作者:
R
Ronald S. Bultje
提交者:
Anton Khirnov
10月 04, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
vp9lpf/x86: make filter_48/84/88_h work on 32-bit.
Signed-off-by:
N
Anton Khirnov
<
anton@khirnov.net
>
上级
725a2164
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
48 addition
and
26 deletion
+48
-26
libavcodec/x86/vp9dsp_init.c
libavcodec/x86/vp9dsp_init.c
+3
-9
libavcodec/x86/vp9lpf.asm
libavcodec/x86/vp9lpf.asm
+45
-17
未找到文件。
libavcodec/x86/vp9dsp_init.c
浏览文件 @
8915320d
...
...
@@ -285,17 +285,11 @@ av_cold void ff_vp9dsp_init_x86(VP9DSPContext *dsp)
dsp->loop_filter_16[1] = ff_vp9_loop_filter_v_16_16_##opt; \
dsp->loop_filter_mix2[0][0][0] = ff_vp9_loop_filter_h_44_16_##opt; \
dsp->loop_filter_mix2[0][0][1] = ff_vp9_loop_filter_v_44_16_##opt; \
if (ARCH_X86_64) { \
dsp->loop_filter_mix2[0][1][0] = ff_vp9_loop_filter_h_48_16_##opt; \
} \
dsp->loop_filter_mix2[0][1][0] = ff_vp9_loop_filter_h_48_16_##opt; \
dsp->loop_filter_mix2[0][1][1] = ff_vp9_loop_filter_v_48_16_##opt; \
if (ARCH_X86_64) { \
dsp->loop_filter_mix2[1][0][0] = ff_vp9_loop_filter_h_84_16_##opt; \
} \
dsp->loop_filter_mix2[1][0][0] = ff_vp9_loop_filter_h_84_16_##opt; \
dsp->loop_filter_mix2[1][0][1] = ff_vp9_loop_filter_v_84_16_##opt; \
if (ARCH_X86_64) { \
dsp->loop_filter_mix2[1][1][0] = ff_vp9_loop_filter_h_88_16_##opt; \
} \
dsp->loop_filter_mix2[1][1][0] = ff_vp9_loop_filter_h_88_16_##opt; \
dsp->loop_filter_mix2[1][1][1] = ff_vp9_loop_filter_v_88_16_##opt; \
} while (0)
...
...
libavcodec/x86/vp9lpf.asm
浏览文件 @
8915320d
...
...
@@ -939,9 +939,12 @@ cglobal vp9_loop_filter_%1_%2_16, 2, 6, 16, %3 + %4 + %5, dst, stride, mstride,
mova
m3
,
[
P0
]
mova
m4
,
[
Q0
]
mova
m5
,
[
Q1
]
%if ARCH_X86_64
mova
m6
,
[
Q2
]
%endif
mova
m7
,
[
Q3
]
DEFINE_REAL_P7_TO_Q7
%if ARCH_X86_64
SBUTTERFLY
bw
,
0
,
1
,
8
SBUTTERFLY
bw
,
2
,
3
,
8
SBUTTERFLY
bw
,
4
,
5
,
8
...
...
@@ -954,22 +957,47 @@ cglobal vp9_loop_filter_%1_%2_16, 2, 6, 16, %3 + %4 + %5, dst, stride, mstride,
SBUTTERFLY
dq
,
1
,
5
,
8
SBUTTERFLY
dq
,
2
,
6
,
8
SBUTTERFLY
dq
,
3
,
7
,
8
movh
[
P7
],
m0
movhps
[
P6
],
m0
movh
[
Q0
],
m1
movhps
[
Q1
],
m1
movh
[
P3
],
m2
movhps
[
P2
],
m2
movh
[
Q4
],
m3
movhps
[
Q5
],
m3
movh
[
P5
],
m4
movhps
[
P4
],
m4
movh
[
Q2
],
m5
movhps
[
Q3
],
m5
movh
[
P1
],
m6
movhps
[
P0
],
m6
movh
[
Q6
],
m7
movhps
[
Q7
],
m7
%else
SBUTTERFLY
bw
,
0
,
1
,
6
mova
[
rsp
+
64
],
m1
mova
m6
,
[
rsp
+
96
]
SBUTTERFLY
bw
,
2
,
3
,
1
SBUTTERFLY
bw
,
4
,
5
,
1
SBUTTERFLY
bw
,
6
,
7
,
1
SBUTTERFLY
wd
,
0
,
2
,
1
mova
[
rsp
+
96
],
m2
mova
m1
,
[
rsp
+
64
]
SBUTTERFLY
wd
,
1
,
3
,
2
SBUTTERFLY
wd
,
4
,
6
,
2
SBUTTERFLY
wd
,
5
,
7
,
2
SBUTTERFLY
dq
,
0
,
4
,
2
SBUTTERFLY
dq
,
1
,
5
,
2
movh
[
Q0
],
m1
movhps
[
Q1
],
m1
mova
m2
,
[
rsp
+
96
]
SBUTTERFLY
dq
,
2
,
6
,
1
SBUTTERFLY
dq
,
3
,
7
,
1
%endif
SWAP
3
,
6
SWAP
1
,
4
movh
[
P7
],
m0
movhps
[
P6
],
m0
movh
[
P5
],
m1
movhps
[
P4
],
m1
movh
[
P3
],
m2
movhps
[
P2
],
m2
movh
[
P1
],
m3
movhps
[
P0
],
m3
%if ARCH_X86_64
movh
[
Q0
],
m4
movhps
[
Q1
],
m4
%endif
movh
[
Q2
],
m5
movhps
[
Q3
],
m5
movh
[
Q4
],
m6
movhps
[
Q5
],
m6
movh
[
Q6
],
m7
movhps
[
Q7
],
m7
%endif
%endif
...
...
@@ -979,7 +1007,7 @@ cglobal vp9_loop_filter_%1_%2_16, 2, 6, 16, %3 + %4 + %5, dst, stride, mstride,
%macro LPF_16_VH 5
INIT_XMM
%
5
LOOPFILTER
v
,
%
1
,
%
2
,
0
,
%
4
%if ARCH_X86_64 || %1
== 44
%if ARCH_X86_64 || %1
!= 16
LOOPFILTER
h
,
%
1
,
%
2
,
%
3
,
%
4
%endif
%endmacro
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录