Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
b06855f1
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,发现更多精彩内容 >>
提交
b06855f1
编写于
7月 03, 2010
作者:
J
Jason Garrett-Glaser
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SSSE3 versions of vp8 width4 bilinear MC functions
Originally committed as revision 24013 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
9862f9e1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
4 deletion
+34
-4
libavcodec/x86/vp8dsp-init.c
libavcodec/x86/vp8dsp-init.c
+11
-2
libavcodec/x86/vp8dsp.asm
libavcodec/x86/vp8dsp.asm
+23
-2
未找到文件。
libavcodec/x86/vp8dsp-init.c
浏览文件 @
b06855f1
...
...
@@ -85,6 +85,12 @@ extern void ff_put_vp8_bilinear4_h_mmxext(uint8_t *dst, int dststride,
extern
void
ff_put_vp8_bilinear8_h_sse2
(
uint8_t
*
dst
,
int
dststride
,
uint8_t
*
src
,
int
srcstride
,
int
height
,
int
mx
,
int
my
);
extern
void
ff_put_vp8_bilinear4_h_ssse3
(
uint8_t
*
dst
,
int
dststride
,
uint8_t
*
src
,
int
srcstride
,
int
height
,
int
mx
,
int
my
);
extern
void
ff_put_vp8_bilinear8_h_ssse3
(
uint8_t
*
dst
,
int
dststride
,
uint8_t
*
src
,
int
srcstride
,
int
height
,
int
mx
,
int
my
);
extern
void
ff_put_vp8_bilinear4_v_mmxext
(
uint8_t
*
dst
,
int
dststride
,
uint8_t
*
src
,
int
srcstride
,
...
...
@@ -92,13 +98,14 @@ extern void ff_put_vp8_bilinear4_v_mmxext(uint8_t *dst, int dststride,
extern
void
ff_put_vp8_bilinear8_v_sse2
(
uint8_t
*
dst
,
int
dststride
,
uint8_t
*
src
,
int
srcstride
,
int
height
,
int
mx
,
int
my
);
extern
void
ff_put_vp8_bilinear
8
_v_ssse3
(
uint8_t
*
dst
,
int
dststride
,
extern
void
ff_put_vp8_bilinear
4
_v_ssse3
(
uint8_t
*
dst
,
int
dststride
,
uint8_t
*
src
,
int
srcstride
,
int
height
,
int
mx
,
int
my
);
extern
void
ff_put_vp8_bilinear8_
h
_ssse3
(
uint8_t
*
dst
,
int
dststride
,
extern
void
ff_put_vp8_bilinear8_
v
_ssse3
(
uint8_t
*
dst
,
int
dststride
,
uint8_t
*
src
,
int
srcstride
,
int
height
,
int
mx
,
int
my
);
extern
void
ff_put_vp8_pixels8_mmx
(
uint8_t
*
dst
,
int
dststride
,
uint8_t
*
src
,
int
srcstride
,
int
height
,
int
mx
,
int
my
);
...
...
@@ -207,6 +214,7 @@ HVBILIN(mmxext, 8, 8, 16)
HVBILIN
(
mmxext
,
8
,
16
,
16
)
HVBILIN
(
sse2
,
8
,
8
,
16
)
HVBILIN
(
sse2
,
8
,
16
,
16
)
HVBILIN
(
ssse3
,
8
,
4
,
8
)
HVBILIN
(
ssse3
,
8
,
8
,
16
)
HVBILIN
(
ssse3
,
8
,
16
,
16
)
...
...
@@ -284,6 +292,7 @@ av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c)
VP8_MC_FUNC
(
2
,
4
,
ssse3
);
VP8_BILINEAR_MC_FUNC
(
0
,
16
,
ssse3
);
VP8_BILINEAR_MC_FUNC
(
1
,
8
,
ssse3
);
VP8_BILINEAR_MC_FUNC
(
2
,
4
,
ssse3
);
}
if
(
mm_flags
&
FF_MM_SSE4
)
{
...
...
libavcodec/x86/vp8dsp.asm
浏览文件 @
b06855f1
...
...
@@ -770,7 +770,8 @@ FILTER_BILINEAR mmxext, 4, 0
INIT_XMM
FILTER_BILINEAR
ss
e2
,
8
,
7
cglobal
put_vp8_bilinear8_v_ssse3
,
7
,
7
,
5
%macro FILTER_BILINEAR_SSSE3 1
cglobal
put_vp8_bilinear
%
1
_v_ssse3
,
7
,
7
shl
r6d
,
4
%ifdef PIC
lea
r11
,
[
bilinear_filter_vb_m
]
...
...
@@ -789,9 +790,16 @@ cglobal put_vp8_bilinear8_v_ssse3, 7,7,5
psraw
m1
,
2
pavgw
m0
,
m4
pavgw
m1
,
m4
%if mmsize==8
packuswb
m0
,
m0
packuswb
m1
,
m1
movh
[
r0
+
r1
*
0
],
m0
movh
[
r0
+
r1
*
1
],
m1
%else
packuswb
m0
,
m1
movh
[
r0
+
r1
*
0
],
m0
movhps
[
r0
+
r1
*
1
],
m0
%endif
lea
r0
,
[
r0
+
r1
*
2
]
lea
r2
,
[
r2
+
r3
*
2
]
...
...
@@ -799,7 +807,7 @@ cglobal put_vp8_bilinear8_v_ssse3, 7,7,5
jg
.nextrow
REP_RET
cglobal
put_vp8_bilinear
8_h_ssse3
,
7
,
7
,
5
cglobal
put_vp8_bilinear
%
1
_h_ssse3
,
7
,
7
shl
r5d
,
4
%ifdef PIC
lea
r11
,
[
bilinear_filter_vb_m
]
...
...
@@ -818,15 +826,28 @@ cglobal put_vp8_bilinear8_h_ssse3, 7,7,5
psraw
m1
,
2
pavgw
m0
,
m4
pavgw
m1
,
m4
%if mmsize==8
packuswb
m0
,
m0
packuswb
m1
,
m1
movh
[
r0
+
r1
*
0
],
m0
movh
[
r0
+
r1
*
1
],
m1
%else
packuswb
m0
,
m1
movh
[
r0
+
r1
*
0
],
m0
movhps
[
r0
+
r1
*
1
],
m0
%endif
lea
r0
,
[
r0
+
r1
*
2
]
lea
r2
,
[
r2
+
r3
*
2
]
sub
r4
,
2
jg
.nextrow
REP_RET
%endmacro
INIT_MMX
FILTER_BILINEAR_SSSE3
4
INIT_XMM
FILTER_BILINEAR_SSSE3
8
cglobal
put_vp8_pixels8_mmx
,
5
,
5
.nextrow:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录