Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
d17b6f0b
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,发现更多精彩内容 >>
提交
d17b6f0b
编写于
5月 29, 2002
作者:
Z
Zdenek Kabelac
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
* optimized remaing avg_pixels_xy2
Originally committed as revision 621 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
c04643a2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
34 deletion
+26
-34
libavcodec/i386/dsputil_mmx_avg.h
libavcodec/i386/dsputil_mmx_avg.h
+26
-34
未找到文件。
libavcodec/i386/dsputil_mmx_avg.h
浏览文件 @
d17b6f0b
...
...
@@ -258,47 +258,39 @@ static void DEF(avg_pixels_xy2)(UINT8 *block, const UINT8 *pixels, int line_size
{
__asm
__volatile
(
MOVQ_BONE
(
%%
mm7
)
"
xorl %%eax
, %%eax
\n\t
"
"
lea (%3, %3)
, %%eax
\n\t
"
"movq (%1), %%mm0
\n\t
"
"movq 1(%1), %%mm1
\n\t
"
PAVGB
" %%mm1, %%mm0
\n\t
"
".balign 16
\n\t
"
PAVGB
" 1(%1), %%mm0
\n\t
"
".balign 8
\n\t
"
"1:
\n\t
"
"movq (%2, %%eax), %%mm1
\n\t
"
"movq (%3, %%eax), %%mm2
\n\t
"
"movq 1(%2, %%eax), %%mm3
\n\t
"
"movq 1(%3, %%eax), %%mm4
\n\t
"
"movq (%1, %%eax), %%mm2
\n\t
"
"movq (%1, %3), %%mm1
\n\t
"
"psubusb %%mm7, %%mm2
\n\t
"
PAVGB
" %%mm3, %%mm1
\n\t
"
PAVGB
" %%mm4, %%mm2
\n\t
"
PAVGB
" 1(%1, %3), %%mm1
\n\t
"
PAVGB
" 1(%1, %%eax), %%mm2
\n\t
"
"addl %%eax, %1
\n\t
"
PAVGB
" %%mm1, %%mm0
\n\t
"
PAVGB
" %%mm2, %%mm1
\n\t
"
"movq (%4, %%eax), %%mm3
\n\t
"
"movq (%5, %%eax), %%mm4
\n\t
"
PAVGB
" %%mm3, %%mm0
\n\t
"
PAVGB
" %%mm4, %%mm1
\n\t
"
"movq %%mm0, (%4, %%eax)
\n\t
"
"movq %%mm1, (%5, %%eax)
\n\t
"
"addl %6, %%eax
\n\t
"
"movq (%2, %%eax), %%mm1
\n\t
"
"movq (%3, %%eax), %%mm0
\n\t
"
"movq 1(%2, %%eax), %%mm3
\n\t
"
"movq 1(%3, %%eax), %%mm4
\n\t
"
PAVGB
" %%mm3, %%mm1
\n\t
"
PAVGB
" %%mm4, %%mm0
\n\t
"
PAVGB
" (%2), %%mm0
\n\t
"
PAVGB
" (%2, %3), %%mm1
\n\t
"
"movq %%mm0, (%2)
\n\t
"
"movq %%mm1, (%2, %3)
\n\t
"
"movq (%1, %3), %%mm1
\n\t
"
"movq (%1, %%eax), %%mm0
\n\t
"
PAVGB
" 1(%1, %3), %%mm1
\n\t
"
PAVGB
" 1(%1, %%eax), %%mm0
\n\t
"
"addl %%eax, %2
\n\t
"
"addl %%eax, %1
\n\t
"
PAVGB
" %%mm1, %%mm2
\n\t
"
PAVGB
" %%mm0, %%mm1
\n\t
"
"movq (%4, %%eax), %%mm3
\n\t
"
"movq (%5, %%eax), %%mm4
\n\t
"
PAVGB
" %%mm3, %%mm2
\n\t
"
PAVGB
" %%mm4, %%mm1
\n\t
"
"movq %%mm2, (%4, %%eax)
\n\t
"
"movq %%mm1, (%5, %%eax)
\n\t
"
"addl %6, %%eax
\n\t
"
PAVGB
" (%2), %%mm2
\n\t
"
PAVGB
" (%2, %3), %%mm1
\n\t
"
"movq %%mm2, (%2)
\n\t
"
"movq %%mm1, (%2, %3)
\n\t
"
"addl %%eax, %2
\n\t
"
"subl $4, %0
\n\t
"
" jnz 1b
\n\t
"
:
"+g"
(
h
)
:
"D"
(
pixels
),
"S"
(
pixels
+
line_size
),
"r"
(
pixels
+
line_size
*
2
),
"r"
(
block
),
"r"
(
block
+
line_size
),
"g"
(
line_size
<<
1
)
"jnz 1b
\n\t
"
:
"+g"
(
h
),
"+D"
(
pixels
),
"+S"
(
block
)
:
"r"
(
line_size
)
:
"%eax"
,
"memory"
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录