Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
bad8e33d
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,发现更多精彩内容 >>
提交
bad8e33d
编写于
10月 28, 2012
作者:
R
Ronald S. Bultje
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
x86: use PRED4x4/8x8/8x8L/16x16 macros to declare intrapred prototypes.
上级
08b028c1
变更
2
展开全部
隐藏空白更改
内联
并排
Showing
2 changed file
with
190 addition
and
186 deletion
+190
-186
libavcodec/x86/h264_intrapred.asm
libavcodec/x86/h264_intrapred.asm
+40
-40
libavcodec/x86/h264_intrapred_init.c
libavcodec/x86/h264_intrapred_init.c
+150
-146
未找到文件。
libavcodec/x86/h264_intrapred.asm
浏览文件 @
bad8e33d
...
...
@@ -53,7 +53,7 @@ cextern pw_32
; void pred16x16_vertical(uint8_t *src, int stride)
;-----------------------------------------------------------------------------
cglobal
pred16x16_vertical_mmx
,
2
,
3
cglobal
pred16x16_vertical_
8_
mmx
,
2
,
3
sub
r0
,
r1
mov
r2
,
8
movq
mm0
,
[
r0
+
0
]
...
...
@@ -68,7 +68,7 @@ cglobal pred16x16_vertical_mmx, 2,3
jg
.loop
REP_RET
cglobal
pred16x16_vertical_sse
,
2
,
3
cglobal
pred16x16_vertical_
8_
sse
,
2
,
3
sub
r0
,
r1
mov
r2
,
4
movaps
xmm0
,
[
r0
]
...
...
@@ -88,7 +88,7 @@ cglobal pred16x16_vertical_sse, 2,3
;-----------------------------------------------------------------------------
%macro PRED16x16_H 0
cglobal
pred16x16_horizontal
,
2
,
3
cglobal
pred16x16_horizontal
_8
,
2
,
3
mov
r2
,
8
%if cpuflag(ssse3)
mova
m2
,
[
pb_3
]
...
...
@@ -130,7 +130,7 @@ INIT_XMM
;-----------------------------------------------------------------------------
%macro PRED16x16_DC 0
cglobal
pred16x16_dc
,
2
,
7
cglobal
pred16x16_dc
_8
,
2
,
7
mov
r4
,
r0
sub
r0
,
r1
pxor
mm0
,
mm0
...
...
@@ -193,7 +193,7 @@ INIT_XMM
;-----------------------------------------------------------------------------
%macro PRED16x16_TM_MMX 0
cglobal
pred16x16_tm_vp8
,
2
,
5
cglobal
pred16x16_tm_vp8
_8
,
2
,
5
sub
r0
,
r1
pxor
mm7
,
mm7
movq
mm0
,
[
r0
+
0
]
...
...
@@ -234,7 +234,7 @@ INIT_MMX mmx2
PRED16x16_TM_MMX
INIT_MMX
cglobal
pred16x16_tm_vp8_sse2
,
2
,
6
,
6
cglobal
pred16x16_tm_vp8_
8_
sse2
,
2
,
6
,
6
sub
r0
,
r1
pxor
xmm2
,
xmm2
movdqa
xmm0
,
[
r0
]
...
...
@@ -274,7 +274,7 @@ cglobal pred16x16_tm_vp8_sse2, 2,6,6
;-----------------------------------------------------------------------------
%macro H264_PRED16x16_PLANE 1
cglobal
pred16x16_plane_
%
1
,
2
,
9
,
7
cglobal
pred16x16_plane_
%
1
_8
,
2
,
9
,
7
mov
r2
,
r1
; +stride
neg
r1
; -stride
...
...
@@ -556,7 +556,7 @@ INIT_XMM
;-----------------------------------------------------------------------------
%macro H264_PRED8x8_PLANE 0
cglobal
pred8x8_plane
,
2
,
9
,
7
cglobal
pred8x8_plane
_8
,
2
,
9
,
7
mov
r2
,
r1
; +stride
neg
r1
; -stride
...
...
@@ -730,7 +730,7 @@ INIT_XMM
; void pred8x8_vertical(uint8_t *src, int stride)
;-----------------------------------------------------------------------------
cglobal
pred8x8_vertical_mmx
,
2
,
2
cglobal
pred8x8_vertical_
8_
mmx
,
2
,
2
sub
r0
,
r1
movq
mm0
,
[
r0
]
%rep 3
...
...
@@ -747,7 +747,7 @@ cglobal pred8x8_vertical_mmx, 2,2
;-----------------------------------------------------------------------------
%macro PRED8x8_H 0
cglobal
pred8x8_horizontal
,
2
,
3
cglobal
pred8x8_horizontal
_8
,
2
,
3
mov
r2
,
4
%if cpuflag(ssse3)
mova
m2
,
[
pb_3
]
...
...
@@ -774,7 +774,7 @@ INIT_MMX
;-----------------------------------------------------------------------------
; void pred8x8_top_dc_mmxext(uint8_t *src, int stride)
;-----------------------------------------------------------------------------
cglobal
pred8x8_top_dc_mmxext
,
2
,
5
cglobal
pred8x8_top_dc_
8_
mmxext
,
2
,
5
sub
r0
,
r1
movq
mm0
,
[
r0
]
pxor
mm1
,
mm1
...
...
@@ -809,7 +809,7 @@ cglobal pred8x8_top_dc_mmxext, 2,5
;-----------------------------------------------------------------------------
INIT_MMX
cglobal
pred8x8_dc_mmxext
,
2
,
5
cglobal
pred8x8_dc_
8_
mmxext
,
2
,
5
sub
r0
,
r1
pxor
m7
,
m7
movd
m0
,
[
r0
+
0
]
...
...
@@ -869,7 +869,7 @@ cglobal pred8x8_dc_mmxext, 2,5
; void pred8x8_dc_rv40(uint8_t *src, int stride)
;-----------------------------------------------------------------------------
cglobal
pred8x8_dc_rv40_mmxext
,
2
,
7
cglobal
pred8x8_dc_rv40_
8_
mmxext
,
2
,
7
mov
r4
,
r0
sub
r0
,
r1
pxor
mm0
,
mm0
...
...
@@ -906,7 +906,7 @@ cglobal pred8x8_dc_rv40_mmxext, 2,7
;-----------------------------------------------------------------------------
%macro PRED8x8_TM_MMX 0
cglobal
pred8x8_tm_vp8
,
2
,
6
cglobal
pred8x8_tm_vp8
_8
,
2
,
6
sub
r0
,
r1
pxor
mm7
,
mm7
movq
mm0
,
[
r0
]
...
...
@@ -946,7 +946,7 @@ INIT_MMX mmx2
PRED8x8_TM_MMX
INIT_MMX
cglobal
pred8x8_tm_vp8_sse2
,
2
,
6
,
4
cglobal
pred8x8_tm_vp8_
8_
sse2
,
2
,
6
,
4
sub
r0
,
r1
pxor
xmm1
,
xmm1
movq
xmm0
,
[
r0
]
...
...
@@ -974,7 +974,7 @@ cglobal pred8x8_tm_vp8_sse2, 2,6,4
jg
.loop
REP_RET
cglobal
pred8x8_tm_vp8_ssse3
,
2
,
3
,
6
cglobal
pred8x8_tm_vp8_
8_
ssse3
,
2
,
3
,
6
sub
r0
,
r1
movdqa
xmm4
,
[
tm_shuf
]
pxor
xmm1
,
xmm1
...
...
@@ -1016,7 +1016,7 @@ cglobal pred8x8_tm_vp8_ssse3, 2,3,6
; void pred8x8l_top_dc(uint8_t *src, int has_topleft, int has_topright, int stride)
;-----------------------------------------------------------------------------
%macro PRED8x8L_TOP_DC 1
cglobal
pred8x8l_top_dc_
%
1
,
4
,
4
cglobal
pred8x8l_top_dc_
8_
%
1
,
4
,
4
sub
r0
,
r3
pxor
mm7
,
mm7
movq
mm0
,
[
r0
-
8
]
...
...
@@ -1073,7 +1073,7 @@ PRED8x8L_TOP_DC ssse3
;-----------------------------------------------------------------------------
%macro PRED8x8L_DC 1
cglobal
pred8x8l_dc_
%
1
,
4
,
5
cglobal
pred8x8l_dc_
8_
%
1
,
4
,
5
sub
r0
,
r3
lea
r4
,
[
r0
+
r3
*
2
]
movq
mm0
,
[
r0
+
r3
*
1
-
8
]
...
...
@@ -1176,7 +1176,7 @@ PRED8x8L_DC ssse3
;-----------------------------------------------------------------------------
%macro PRED8x8L_HORIZONTAL 1
cglobal
pred8x8l_horizontal_
%
1
,
4
,
4
cglobal
pred8x8l_horizontal_
8_
%
1
,
4
,
4
sub
r0
,
r3
lea
r2
,
[
r0
+
r3
*
2
]
movq
mm0
,
[
r0
+
r3
*
1
-
8
]
...
...
@@ -1248,7 +1248,7 @@ PRED8x8L_HORIZONTAL ssse3
;-----------------------------------------------------------------------------
%macro PRED8x8L_VERTICAL 1
cglobal
pred8x8l_vertical_
%
1
,
4
,
4
cglobal
pred8x8l_vertical_
8_
%
1
,
4
,
4
sub
r0
,
r3
movq
mm0
,
[
r0
-
8
]
movq
mm3
,
[
r0
]
...
...
@@ -1300,7 +1300,7 @@ PRED8x8L_VERTICAL ssse3
INIT_MMX
%define PALIGNR PALIGNR_MMX
cglobal
pred8x8l_down_left_mmxext
,
4
,
5
cglobal
pred8x8l_down_left_
8_
mmxext
,
4
,
5
sub
r0
,
r3
movq
mm0
,
[
r0
-
8
]
movq
mm3
,
[
r0
]
...
...
@@ -1408,7 +1408,7 @@ cglobal pred8x8l_down_left_mmxext, 4,5
RET
%macro PRED8x8L_DOWN_LEFT 1
cglobal
pred8x8l_down_left_
%
1
,
4
,
4
cglobal
pred8x8l_down_left_
8_
%
1
,
4
,
4
sub
r0
,
r3
movq
mm0
,
[
r0
-
8
]
movq
mm3
,
[
r0
]
...
...
@@ -1503,7 +1503,7 @@ PRED8x8L_DOWN_LEFT ssse3
INIT_MMX
%define PALIGNR PALIGNR_MMX
cglobal
pred8x8l_down_right_mmxext
,
4
,
5
cglobal
pred8x8l_down_right_
8_
mmxext
,
4
,
5
sub
r0
,
r3
lea
r4
,
[
r0
+
r3
*
2
]
movq
mm0
,
[
r0
+
r3
*
1
-
8
]
...
...
@@ -1635,7 +1635,7 @@ cglobal pred8x8l_down_right_mmxext, 4,5
RET
%macro PRED8x8L_DOWN_RIGHT 1
cglobal
pred8x8l_down_right_
%
1
,
4
,
5
cglobal
pred8x8l_down_right_
8_
%
1
,
4
,
5
sub
r0
,
r3
lea
r4
,
[
r0
+
r3
*
2
]
movq
mm0
,
[
r0
+
r3
*
1
-
8
]
...
...
@@ -1757,7 +1757,7 @@ PRED8x8L_DOWN_RIGHT ssse3
INIT_MMX
%define PALIGNR PALIGNR_MMX
cglobal
pred8x8l_vertical_right_mmxext
,
4
,
5
cglobal
pred8x8l_vertical_right_
8_
mmxext
,
4
,
5
sub
r0
,
r3
lea
r4
,
[
r0
+
r3
*
2
]
movq
mm0
,
[
r0
+
r3
*
1
-
8
]
...
...
@@ -1864,7 +1864,7 @@ cglobal pred8x8l_vertical_right_mmxext, 4,5
RET
%macro PRED8x8L_VERTICAL_RIGHT 1
cglobal
pred8x8l_vertical_right_
%
1
,
4
,
5
,
7
cglobal
pred8x8l_vertical_right_
8_
%
1
,
4
,
5
,
7
; manually spill XMM registers for Win64 because
; the code here is initialized with INIT_MMX
WIN64_SPILL_XMM
7
...
...
@@ -1986,7 +1986,7 @@ PRED8x8L_VERTICAL_RIGHT ssse3
;-----------------------------------------------------------------------------
%macro PRED8x8L_VERTICAL_LEFT 1
cglobal
pred8x8l_vertical_left_
%
1
,
4
,
4
cglobal
pred8x8l_vertical_left_
8_
%
1
,
4
,
4
sub
r0
,
r3
movq
mm0
,
[
r0
-
8
]
movq
mm3
,
[
r0
]
...
...
@@ -2077,7 +2077,7 @@ PRED8x8L_VERTICAL_LEFT ssse3
;-----------------------------------------------------------------------------
%macro PRED8x8L_HORIZONTAL_UP 1
cglobal
pred8x8l_horizontal_up_
%
1
,
4
,
4
cglobal
pred8x8l_horizontal_up_
8_
%
1
,
4
,
4
sub
r0
,
r3
lea
r2
,
[
r0
+
r3
*
2
]
movq
mm0
,
[
r0
+
r3
*
1
-
8
]
...
...
@@ -2166,7 +2166,7 @@ PRED8x8L_HORIZONTAL_UP ssse3
INIT_MMX
%define PALIGNR PALIGNR_MMX
cglobal
pred8x8l_horizontal_down_mmxext
,
4
,
5
cglobal
pred8x8l_horizontal_down_
8_
mmxext
,
4
,
5
sub
r0
,
r3
lea
r4
,
[
r0
+
r3
*
2
]
movq
mm0
,
[
r0
+
r3
*
1
-
8
]
...
...
@@ -2281,7 +2281,7 @@ cglobal pred8x8l_horizontal_down_mmxext, 4,5
RET
%macro PRED8x8L_HORIZONTAL_DOWN 1
cglobal
pred8x8l_horizontal_down_
%
1
,
4
,
5
cglobal
pred8x8l_horizontal_down_
8_
%
1
,
4
,
5
sub
r0
,
r3
lea
r4
,
[
r0
+
r3
*
2
]
movq
mm0
,
[
r0
+
r3
*
1
-
8
]
...
...
@@ -2415,7 +2415,7 @@ PRED8x8L_HORIZONTAL_DOWN ssse3
; void pred4x4_dc_mmxext(uint8_t *src, const uint8_t *topright, int stride)
;-----------------------------------------------------------------------------
cglobal
pred4x4_dc_mmxext
,
3
,
5
cglobal
pred4x4_dc_
8_
mmxext
,
3
,
5
pxor
mm7
,
mm7
mov
r4
,
r0
sub
r0
,
r2
...
...
@@ -2445,7 +2445,7 @@ cglobal pred4x4_dc_mmxext, 3,5
;-----------------------------------------------------------------------------
%macro PRED4x4_TM_MMX 0
cglobal
pred4x4_tm_vp8
,
3
,
6
cglobal
pred4x4_tm_vp8
_8
,
3
,
6
sub
r0
,
r2
pxor
mm7
,
mm7
movd
mm0
,
[
r0
]
...
...
@@ -2486,7 +2486,7 @@ INIT_MMX mmx2
PRED4x4_TM_MMX
INIT_MMX
cglobal
pred4x4_tm_vp8_ssse3
,
3
,
3
cglobal
pred4x4_tm_vp8_
8_
ssse3
,
3
,
3
sub
r0
,
r2
movq
mm6
,
[
tm_shuf
]
pxor
mm1
,
mm1
...
...
@@ -2526,7 +2526,7 @@ cglobal pred4x4_tm_vp8_ssse3, 3,3
;-----------------------------------------------------------------------------
INIT_MMX
cglobal
pred4x4_vertical_vp8_mmxext
,
3
,
3
cglobal
pred4x4_vertical_vp8_
8_
mmxext
,
3
,
3
sub
r0
,
r2
movd
m1
,
[
r0
-
1
]
movd
m0
,
[
r0
]
...
...
@@ -2545,7 +2545,7 @@ cglobal pred4x4_vertical_vp8_mmxext, 3,3
; void pred4x4_down_left_mmxext(uint8_t *src, const uint8_t *topright, int stride)
;-----------------------------------------------------------------------------
INIT_MMX
cglobal
pred4x4_down_left_mmxext
,
3
,
3
cglobal
pred4x4_down_left_
8_
mmxext
,
3
,
3
sub
r0
,
r2
movq
m1
,
[
r0
]
punpckldq
m1
,
[
r1
]
...
...
@@ -2572,7 +2572,7 @@ cglobal pred4x4_down_left_mmxext, 3,3
;-----------------------------------------------------------------------------
INIT_MMX
cglobal
pred4x4_vertical_left_mmxext
,
3
,
3
cglobal
pred4x4_vertical_left_
8_
mmxext
,
3
,
3
sub
r0
,
r2
movq
m1
,
[
r0
]
punpckldq
m1
,
[
r1
]
...
...
@@ -2597,7 +2597,7 @@ cglobal pred4x4_vertical_left_mmxext, 3,3
;-----------------------------------------------------------------------------
INIT_MMX
cglobal
pred4x4_horizontal_up_mmxext
,
3
,
3
cglobal
pred4x4_horizontal_up_
8_
mmxext
,
3
,
3
sub
r0
,
r2
lea
r1
,
[
r0
+
r2
*
2
]
movd
m0
,
[
r0
+
r2
*
1
-
4
]
...
...
@@ -2631,7 +2631,7 @@ cglobal pred4x4_horizontal_up_mmxext, 3,3
INIT_MMX
%define PALIGNR PALIGNR_MMX
cglobal
pred4x4_horizontal_down_mmxext
,
3
,
3
cglobal
pred4x4_horizontal_down_
8_
mmxext
,
3
,
3
sub
r0
,
r2
lea
r1
,
[
r0
+
r2
*
2
]
movh
m0
,
[
r0
-
4
]
; lt ..
...
...
@@ -2667,7 +2667,7 @@ cglobal pred4x4_horizontal_down_mmxext, 3,3
INIT_MMX
%define PALIGNR PALIGNR_MMX
cglobal
pred4x4_vertical_right_mmxext
,
3
,
3
cglobal
pred4x4_vertical_right_
8_
mmxext
,
3
,
3
sub
r0
,
r2
lea
r1
,
[
r0
+
r2
*
2
]
movh
m0
,
[
r0
]
; ........t3t2t1t0
...
...
@@ -2698,7 +2698,7 @@ cglobal pred4x4_vertical_right_mmxext, 3,3
INIT_MMX
%define PALIGNR PALIGNR_MMX
cglobal
pred4x4_down_right_mmxext
,
3
,
3
cglobal
pred4x4_down_right_
8_
mmxext
,
3
,
3
sub
r0
,
r2
lea
r1
,
[
r0
+
r2
*
2
]
movq
m1
,
[
r1
-
8
]
...
...
libavcodec/x86/h264_intrapred_init.c
浏览文件 @
bad8e33d
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录