Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
652f5185
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,发现更多精彩内容 >>
提交
652f5185
编写于
7月 08, 2012
作者:
D
Diego Biurrun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
x86: mmx2 ---> mmxext in comments and messages
上级
04581c8c
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
24 addition
and
24 deletion
+24
-24
doc/optimization.txt
doc/optimization.txt
+1
-1
doc/swscale.txt
doc/swscale.txt
+1
-1
libavcodec/x86/dsputil_avg_template.c
libavcodec/x86/dsputil_avg_template.c
+1
-1
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_mmx.c
+2
-2
libswscale/rgb2rgb.c
libswscale/rgb2rgb.c
+1
-1
libswscale/rgb2rgb_template.c
libswscale/rgb2rgb_template.c
+1
-1
libswscale/swscale_internal.h
libswscale/swscale_internal.h
+4
-4
libswscale/utils.c
libswscale/utils.c
+3
-3
libswscale/x86/output.asm
libswscale/x86/output.asm
+2
-2
libswscale/x86/rgb2rgb.c
libswscale/x86/rgb2rgb.c
+3
-3
libswscale/x86/rgb2rgb_template.c
libswscale/x86/rgb2rgb_template.c
+1
-1
libswscale/x86/swscale.c
libswscale/x86/swscale.c
+1
-1
libswscale/x86/swscale_template.c
libswscale/x86/swscale_template.c
+1
-1
libswscale/x86/yuv2rgb.c
libswscale/x86/yuv2rgb.c
+2
-2
未找到文件。
doc/optimization.txt
浏览文件 @
652f5185
...
...
@@ -253,7 +253,7 @@ Optimization guide for ARM11 (used in Nokia N800 Internet Tablet):
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0211j/DDI0211J_arm1136_r1p5_trm.pdf
Optimization guide for Intel XScale (used in Sharp Zaurus PDA):
http://download.intel.com/design/intelxscale/27347302.pdf
Intel Wireless MMX2 Coprocessor: Programmers Reference Manual
Intel Wireless MMX
2 Coprocessor: Programmers Reference Manual
http://download.intel.com/design/intelxscale/31451001.pdf
PowerPC-specific:
...
...
doc/swscale.txt
浏览文件 @
652f5185
...
...
@@ -58,7 +58,7 @@ Input to YUV Converter
Horizontal scaler
There are several horizontal scalers. A special case worth mentioning is
the fast bilinear scaler that is made of runtime-generated MMX
2
code
the fast bilinear scaler that is made of runtime-generated MMX
EXT
code
using specially tuned pshufw instructions.
The remaining scalers are specially-tuned for various filter lengths.
They scale 8-bit unsigned planar data to 16-bit signed planar data.
...
...
libavcodec/x86/dsputil_avg_template.c
浏览文件 @
652f5185
/*
* DSP utils : average functions are compiled twice for 3dnow/mmx
2
* DSP utils : average functions are compiled twice for 3dnow/mmx
ext
* Copyright (c) 2000, 2001 Fabrice Bellard
* Copyright (c) 2002-2004 Michael Niedermayer
*
...
...
libavcodec/x86/dsputil_mmx.c
浏览文件 @
652f5185
...
...
@@ -205,11 +205,11 @@ DECLARE_ALIGNED(16, const double, ff_pd_2)[2] = { 2.0, 2.0 };
#undef OP_AVG
/***********************************/
/* MMX
2
specific */
/* MMX
EXT
specific */
#define DEF(x) x ## _mmx2
/* Introduced only in MMX
2
set */
/* Introduced only in MMX
EXT
set */
#define PAVGB "pavgb"
#define OP_AVG PAVGB
...
...
libswscale/rgb2rgb.c
浏览文件 @
652f5185
...
...
@@ -122,7 +122,7 @@ void (*yuyvtoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst,
/*
* RGB15->RGB16 original by Strepto/Astral
* ported to gcc & bugfixed : A'rpi
* MMX
2
, 3DNOW optimization by Nick Kurshev
* MMX
EXT
, 3DNOW optimization by Nick Kurshev
* 32-bit C version, and and&add trick by Michael Niedermayer
*/
...
...
libswscale/rgb2rgb_template.c
浏览文件 @
652f5185
...
...
@@ -77,7 +77,7 @@ static inline void rgb32tobgr24_c(const uint8_t *src, uint8_t *dst,
/*
* original by Strepto/Astral
* ported to gcc & bugfixed: A'rpi
* MMX
2
, 3DNOW optimization by Nick Kurshev
* MMX
EXT
, 3DNOW optimization by Nick Kurshev
* 32-bit C version, and and&add trick by Michael Niedermayer
*/
static
inline
void
rgb15to16_c
(
const
uint8_t
*
src
,
uint8_t
*
dst
,
int
src_size
)
...
...
libswscale/swscale_internal.h
浏览文件 @
652f5185
...
...
@@ -307,10 +307,10 @@ typedef struct SwsContext {
int
vChrFilterSize
;
///< Vertical filter size for chroma pixels.
//@}
int
lumMmx2FilterCodeSize
;
///< Runtime-generated MMX
2
horizontal fast bilinear scaler code size for luma/alpha planes.
int
chrMmx2FilterCodeSize
;
///< Runtime-generated MMX
2 horizontal fast bilinear scaler code size for chroma
planes.
uint8_t
*
lumMmx2FilterCode
;
///< Runtime-generated MMX
2
horizontal fast bilinear scaler code for luma/alpha planes.
uint8_t
*
chrMmx2FilterCode
;
///< Runtime-generated MMX
2 horizontal fast bilinear scaler code for chroma
planes.
int
lumMmx2FilterCodeSize
;
///< Runtime-generated MMX
EXT
horizontal fast bilinear scaler code size for luma/alpha planes.
int
chrMmx2FilterCodeSize
;
///< Runtime-generated MMX
EXT horizontal fast bilinear scaler code size for chroma
planes.
uint8_t
*
lumMmx2FilterCode
;
///< Runtime-generated MMX
EXT
horizontal fast bilinear scaler code for luma/alpha planes.
uint8_t
*
chrMmx2FilterCode
;
///< Runtime-generated MMX
EXT horizontal fast bilinear scaler code for chroma
planes.
int
canMMX2BeUsed
;
...
...
libswscale/utils.c
浏览文件 @
652f5185
...
...
@@ -616,7 +616,7 @@ static int initMMX2HScaler(int dstW, int xInc, uint8_t *filterCode,
int
xpos
,
i
;
// create an optimized horizontal scaling routine
/* This scaler is made of runtime-generated MMX
2
code using specially tuned
/* This scaler is made of runtime-generated MMX
EXT
code using specially tuned
* pshufw instructions. For every four output pixels, if four input pixels
* are enough for the fast bilinear scaling, then a chunk of fragmentB is
* used. If five input pixels are needed, then a chunk of fragmentA is used.
...
...
@@ -1007,7 +1007,7 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
&&
(
flags
&
SWS_FAST_BILINEAR
))
{
if
(
flags
&
SWS_PRINT_INFO
)
av_log
(
c
,
AV_LOG_INFO
,
"output width is not a multiple of 32 -> no MMX
2
scaler
\n
"
);
"output width is not a multiple of 32 -> no MMX
EXT
scaler
\n
"
);
}
if
(
usesHFilter
)
c
->
canMMX2BeUsed
=
0
;
...
...
@@ -1237,7 +1237,7 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
sws_format_name
(
dstFormat
));
if
(
INLINE_MMXEXT
(
cpu_flags
))
av_log
(
c
,
AV_LOG_INFO
,
"using MMX
2
\n
"
);
av_log
(
c
,
AV_LOG_INFO
,
"using MMX
EXT
\n
"
);
else
if
(
INLINE_AMD3DNOW
(
cpu_flags
))
av_log
(
c
,
AV_LOG_INFO
,
"using 3DNOW
\n
"
);
else
if
(
INLINE_MMX
(
cpu_flags
))
...
...
libswscale/x86/output.asm
浏览文件 @
652f5185
...
...
@@ -218,10 +218,10 @@ cglobal yuv2planeX_%1, %3, 8, %2, filter, fltsize, src, dst, w, dither, offset
%else
; %1 == 9/10
%if cpuflag(sse4)
packusdw
m2
,
m1
%else
; mmx
2
/sse2
%else
; mmx
ext
/sse2
packssdw
m2
,
m1
pmaxsw
m2
,
m6
%endif
; mmx
2
/sse2/sse4/avx
%endif
; mmx
ext
/sse2/sse4/avx
pminsw
m2
,
[
yuv2yuvX_
%
1
_upper
]
%endif
; %1 == 9/10/16
mova
[
ds
tq
+
r5
*
2
],
m2
...
...
libswscale/x86/rgb2rgb.c
浏览文件 @
652f5185
...
...
@@ -84,7 +84,7 @@ DECLARE_ASM_CONST(8, uint64_t, blue_15mask) = 0x0000001f0000001fULL;
#define RV ((int)( 0.439*(1<<RGB2YUV_SHIFT)+0.5))
#define RU ((int)(-0.148*(1<<RGB2YUV_SHIFT)+0.5))
//
Note: We have C, MMX, MMX2, 3DNOW versions, there is no 3DNOW + MMX2
one.
//
Note: We have C, MMX, MMXEXT, 3DNOW versions, there is no 3DNOW + MMXEXT
one.
#define COMPILE_TEMPLATE_MMXEXT 0
#define COMPILE_TEMPLATE_AMD3DNOW 0
...
...
@@ -95,7 +95,7 @@ DECLARE_ASM_CONST(8, uint64_t, blue_15mask) = 0x0000001f0000001fULL;
#define RENAME(a) a ## _MMX
#include "rgb2rgb_template.c"
//
MMX2
versions
//
MMXEXT
versions
#undef RENAME
#undef COMPILE_TEMPLATE_MMXEXT
#define COMPILE_TEMPLATE_MMXEXT 1
...
...
@@ -123,7 +123,7 @@ DECLARE_ASM_CONST(8, uint64_t, blue_15mask) = 0x0000001f0000001fULL;
/*
RGB15->RGB16 original by Strepto/Astral
ported to gcc & bugfixed : A'rpi
MMX
2
, 3DNOW optimization by Nick Kurshev
MMX
EXT
, 3DNOW optimization by Nick Kurshev
32-bit C version, and and&add trick by Michael Niedermayer
*/
...
...
libswscale/x86/rgb2rgb_template.c
浏览文件 @
652f5185
...
...
@@ -181,7 +181,7 @@ static inline void RENAME(rgb32tobgr24)(const uint8_t *src, uint8_t *dst, int sr
/*
original by Strepto/Astral
ported to gcc & bugfixed: A'rpi
MMX
2
, 3DNOW optimization by Nick Kurshev
MMX
EXT
, 3DNOW optimization by Nick Kurshev
32-bit C version, and and&add trick by Michael Niedermayer
*/
static
inline
void
RENAME
(
rgb15to16
)(
const
uint8_t
*
src
,
uint8_t
*
dst
,
int
src_size
)
...
...
libswscale/x86/swscale.c
浏览文件 @
652f5185
...
...
@@ -78,7 +78,7 @@ DECLARE_ALIGNED(8, const uint64_t, ff_w1111) = 0x0001000100010001ULL;
#include "swscale_template.c"
#endif
//
MMX2
versions
//
MMXEXT
versions
#if HAVE_MMXEXT_INLINE
#undef RENAME
#undef COMPILE_TEMPLATE_MMXEXT
...
...
libswscale/x86/swscale_template.c
浏览文件 @
652f5185
...
...
@@ -1615,7 +1615,7 @@ static av_cold void RENAME(sws_init_swScale)(SwsContext *c)
}
if
(
c
->
srcBpc
==
8
&&
c
->
dstBpc
<=
10
)
{
// Use the new MMX scaler if the MMX
2
one can't be used (it is faster than the x86 ASM one).
// Use the new MMX scaler if the MMX
EXT
one can't be used (it is faster than the x86 ASM one).
#if COMPILE_TEMPLATE_MMXEXT
if
(
c
->
flags
&
SWS_FAST_BILINEAR
&&
c
->
canMMX2BeUsed
)
{
...
...
libswscale/x86/yuv2rgb.c
浏览文件 @
652f5185
...
...
@@ -3,7 +3,7 @@
*
* Copyright (C) 2009 Konstantin Shishkov
*
* MMX/MMX
2
template stuff (needed for fast movntq support),
* MMX/MMX
EXT
template stuff (needed for fast movntq support),
* 1,4,8bpp support and context / deglobalize stuff
* by Michael Niedermayer (michaelni@gmx.at)
*
...
...
@@ -58,7 +58,7 @@ DECLARE_ASM_CONST(8, uint64_t, pb_07) = 0x0707070707070707ULL;
#include "yuv2rgb_template.c"
#endif
/* HAVE_MMX_INLINE */
//
MMX2
versions
//
MMXEXT
versions
#if HAVE_MMXEXT_INLINE
#undef RENAME
#undef COMPILE_TEMPLATE_MMXEXT
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录