Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
b7c27ee6
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,发现更多精彩内容 >>
提交
b7c27ee6
编写于
9月 14, 2002
作者:
M
Michael Niedermayer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
alignment info
Originally committed as revision 947 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
a172cae6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
13 deletion
+23
-13
libavcodec/dsputil.h
libavcodec/dsputil.h
+23
-13
未找到文件。
libavcodec/dsputil.h
浏览文件 @
b7c27ee6
...
...
@@ -50,17 +50,26 @@ extern UINT8 cropTbl[256 + 2 * MAX_NEG_CROP];
void
dsputil_init
(
void
);
/* pixel ops : interface with DCT */
/* minimum alignment rules ;)
if u notice errors in the align stuff, need more alignment for some asm code for some cpu
or need to use a function with less aligned data then send a mail to the ffmpeg-dev list, ...
!warning these alignments might not match reallity, (missing attribute((align)) stuff somewhere possible)
i (michael) didnt check them, these are just the alignents which i think could be reached easily ...
extern
void
(
*
ff_idct
)(
DCTELEM
*
block
);
extern
void
(
*
ff_idct_put
)(
UINT8
*
dest
,
int
line_size
,
DCTELEM
*
block
);
extern
void
(
*
ff_idct_add
)(
UINT8
*
dest
,
int
line_size
,
DCTELEM
*
block
);
extern
void
(
*
get_pixels
)(
DCTELEM
*
block
,
const
UINT8
*
pixels
,
int
line_size
);
extern
void
(
*
diff_pixels
)(
DCTELEM
*
block
,
const
UINT8
*
s1
,
const
UINT8
*
s2
,
int
stride
);
extern
void
(
*
put_pixels_clamped
)(
const
DCTELEM
*
block
,
UINT8
*
pixels
,
int
line_size
);
extern
void
(
*
add_pixels_clamped
)(
const
DCTELEM
*
block
,
UINT8
*
pixels
,
int
line_size
);
extern
void
(
*
gmc1
)(
UINT8
*
dst
,
UINT8
*
src
,
int
srcStride
,
int
h
,
int
x16
,
int
y16
,
int
rounder
);
extern
void
(
*
clear_blocks
)(
DCTELEM
*
blocks
);
!future video codecs might need functions with less strict alignment
*/
/* pixel ops : interface with DCT */
extern
void
(
*
ff_idct
)(
DCTELEM
*
block
/*align 16*/
);
extern
void
(
*
ff_idct_put
)(
UINT8
*
dest
/*align 8*/
,
int
line_size
,
DCTELEM
*
block
/*align 16*/
);
extern
void
(
*
ff_idct_add
)(
UINT8
*
dest
/*align 8*/
,
int
line_size
,
DCTELEM
*
block
/*align 16*/
);
extern
void
(
*
get_pixels
)(
DCTELEM
*
block
/*align 16*/
,
const
UINT8
*
pixels
/*align 8*/
,
int
line_size
);
extern
void
(
*
diff_pixels
)(
DCTELEM
*
block
/*align 16*/
,
const
UINT8
*
s1
/*align 8*/
,
const
UINT8
*
s2
/*align 8*/
,
int
stride
);
extern
void
(
*
put_pixels_clamped
)(
const
DCTELEM
*
block
/*align 16*/
,
UINT8
*
pixels
/*align 8*/
,
int
line_size
);
extern
void
(
*
add_pixels_clamped
)(
const
DCTELEM
*
block
/*align 16*/
,
UINT8
*
pixels
/*align 8*/
,
int
line_size
);
extern
void
(
*
gmc1
)(
UINT8
*
dst
/*align 8*/
,
UINT8
*
src
/*align 1*/
,
int
srcStride
,
int
h
,
int
x16
,
int
y16
,
int
rounder
);
extern
void
(
*
clear_blocks
)(
DCTELEM
*
blocks
/*align 16*/
);
extern
int
(
*
pix_sum
)(
UINT8
*
pix
,
int
line_size
);
extern
int
(
*
pix_norm1
)(
UINT8
*
pix
,
int
line_size
);
...
...
@@ -73,8 +82,9 @@ void add_pixels_clamped_c(const DCTELEM *block, UINT8 *pixels, int line_size);
void
clear_blocks_c
(
DCTELEM
*
blocks
);
/* add and put pixel (decoding) */
typedef
void
(
*
op_pixels_func
)(
UINT8
*
block
,
const
UINT8
*
pixels
,
int
line_size
,
int
h
);
typedef
void
(
*
qpel_mc_func
)(
UINT8
*
dst
,
UINT8
*
src
,
int
stride
);
// blocksizes for op_pixels_func are 8x4,8x8 16x8 16x16
typedef
void
(
*
op_pixels_func
)(
UINT8
*
block
/*align width (8 or 16)*/
,
const
UINT8
*
pixels
/*align 1*/
,
int
line_size
,
int
h
);
typedef
void
(
*
qpel_mc_func
)(
UINT8
*
dst
/*align width (8 or 16)*/
,
UINT8
*
src
/*align 1*/
,
int
stride
);
extern
op_pixels_func
put_pixels_tab
[
2
][
4
];
extern
op_pixels_func
avg_pixels_tab
[
2
][
4
];
...
...
@@ -93,7 +103,7 @@ static void a(uint8_t *block, const uint8_t *pixels, int line_size, int h){\
/* motion estimation */
typedef
int
(
*
op_pixels_abs_func
)(
UINT8
*
blk1
,
UINT8
*
blk2
,
int
line_size
);
typedef
int
(
*
op_pixels_abs_func
)(
UINT8
*
blk1
/*align width (8 or 16)*/
,
UINT8
*
blk2
/*align 1*/
,
int
line_size
);
extern
op_pixels_abs_func
pix_abs16x16
;
extern
op_pixels_abs_func
pix_abs16x16_x2
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录