Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
13a867a6
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,发现更多精彩内容 >>
提交
13a867a6
编写于
5月 19, 2012
作者:
J
Jordi Ortiz
提交者:
Diego Biurrun
5月 21, 2012
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dwt: K&R prettyprinting cosmetics
Signed-off-by:
N
Diego Biurrun
<
diego@biurrun.de
>
上级
db9e00f4
变更
2
展开全部
隐藏空白更改
内联
并排
Showing
2 changed file
with
713 addition
and
553 deletion
+713
-553
libavcodec/dwt.c
libavcodec/dwt.c
+665
-527
libavcodec/dwt.h
libavcodec/dwt.h
+48
-26
未找到文件。
libavcodec/dwt.c
浏览文件 @
13a867a6
此差异已折叠。
点击以展开。
libavcodec/dwt.h
浏览文件 @
13a867a6
...
...
@@ -34,21 +34,27 @@ typedef struct {
int
y
;
}
DWTCompose
;
/** Used to minimize the amount of memory used in order to optimize cache performance. **/
/** Used to minimize the amount of memory used in order to
* optimize cache performance. **/
typedef
struct
slice_buffer_s
{
IDWTELEM
*
*
line
;
///< For use by idwt and predict_slices.
IDWTELEM
*
*
data_stack
;
///< Used for internal purposes.
IDWTELEM
*
*
line
;
///< For use by idwt and predict_slices.
IDWTELEM
*
*
data_stack
;
///< Used for internal purposes.
int
data_stack_top
;
int
line_count
;
int
line_width
;
int
data_count
;
IDWTELEM
*
base_buffer
;
///< Buffer that this structure is caching.
IDWTELEM
*
base_buffer
;
///< Buffer that this structure is caching.
}
slice_buffer
;
typedef
struct
DWTContext
{
void
(
*
vertical_compose97i
)(
IDWTELEM
*
b0
,
IDWTELEM
*
b1
,
IDWTELEM
*
b2
,
IDWTELEM
*
b3
,
IDWTELEM
*
b4
,
IDWTELEM
*
b5
,
int
width
);
void
(
*
vertical_compose97i
)(
IDWTELEM
*
b0
,
IDWTELEM
*
b1
,
IDWTELEM
*
b2
,
IDWTELEM
*
b3
,
IDWTELEM
*
b4
,
IDWTELEM
*
b5
,
int
width
);
void
(
*
horizontal_compose97i
)(
IDWTELEM
*
b
,
int
width
);
void
(
*
inner_add_yblock
)(
const
uint8_t
*
obmc
,
const
int
obmc_stride
,
uint8_t
*
*
block
,
int
b_w
,
int
b_h
,
int
src_x
,
int
src_y
,
int
src_stride
,
slice_buffer
*
sb
,
int
add
,
uint8_t
*
dst8
);
void
(
*
inner_add_yblock
)(
const
uint8_t
*
obmc
,
const
int
obmc_stride
,
uint8_t
**
block
,
int
b_w
,
int
b_h
,
int
src_x
,
int
src_y
,
int
src_stride
,
slice_buffer
*
sb
,
int
add
,
uint8_t
*
dst8
);
}
DWTContext
;
#define MAX_DECOMPOSITIONS 8
...
...
@@ -126,27 +132,43 @@ typedef struct DWTContext {
#define W_DS 9
#endif
#define slice_buffer_get_line(slice_buf, line_num) ((slice_buf)->line[line_num] ? (slice_buf)->line[line_num] : ff_slice_buffer_load_line((slice_buf), (line_num)))
//#define slice_buffer_get_line(slice_buf, line_num) (ff_slice_buffer_load_line((slice_buf), (line_num)))
void
ff_slice_buffer_init
(
slice_buffer
*
buf
,
int
line_count
,
int
max_allocated_lines
,
int
line_width
,
IDWTELEM
*
base_buffer
);
void
ff_slice_buffer_release
(
slice_buffer
*
buf
,
int
line
);
void
ff_slice_buffer_flush
(
slice_buffer
*
buf
);
void
ff_slice_buffer_destroy
(
slice_buffer
*
buf
);
IDWTELEM
*
ff_slice_buffer_load_line
(
slice_buffer
*
buf
,
int
line
);
void
ff_snow_vertical_compose97i
(
IDWTELEM
*
b0
,
IDWTELEM
*
b1
,
IDWTELEM
*
b2
,
IDWTELEM
*
b3
,
IDWTELEM
*
b4
,
IDWTELEM
*
b5
,
int
width
);
#define slice_buffer_get_line(slice_buf, line_num) \
((slice_buf)->line[line_num] ? (slice_buf)->line[line_num] \
: ff_slice_buffer_load_line((slice_buf), \
(line_num)))
void
ff_slice_buffer_init
(
slice_buffer
*
buf
,
int
line_count
,
int
max_allocated_lines
,
int
line_width
,
IDWTELEM
*
base_buffer
);
void
ff_slice_buffer_release
(
slice_buffer
*
buf
,
int
line
);
void
ff_slice_buffer_flush
(
slice_buffer
*
buf
);
void
ff_slice_buffer_destroy
(
slice_buffer
*
buf
);
IDWTELEM
*
ff_slice_buffer_load_line
(
slice_buffer
*
buf
,
int
line
);
void
ff_snow_vertical_compose97i
(
IDWTELEM
*
b0
,
IDWTELEM
*
b1
,
IDWTELEM
*
b2
,
IDWTELEM
*
b3
,
IDWTELEM
*
b4
,
IDWTELEM
*
b5
,
int
width
);
void
ff_snow_horizontal_compose97i
(
IDWTELEM
*
b
,
int
width
);
void
ff_snow_inner_add_yblock
(
const
uint8_t
*
obmc
,
const
int
obmc_stride
,
uint8_t
*
*
block
,
int
b_w
,
int
b_h
,
int
src_x
,
int
src_y
,
int
src_stride
,
slice_buffer
*
sb
,
int
add
,
uint8_t
*
dst8
);
int
ff_w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
int
ff_w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
void
ff_spatial_dwt
(
int
*
buffer
,
int
width
,
int
height
,
int
stride
,
int
type
,
int
decomposition_count
);
void
ff_spatial_idwt_buffered_init
(
DWTCompose
*
cs
,
slice_buffer
*
sb
,
int
width
,
int
height
,
int
stride_line
,
int
type
,
int
decomposition_count
);
void
ff_spatial_idwt_buffered_slice
(
DWTContext
*
dsp
,
DWTCompose
*
cs
,
slice_buffer
*
slice_buf
,
int
width
,
int
height
,
int
stride_line
,
int
type
,
int
decomposition_count
,
int
y
);
void
ff_spatial_idwt
(
IDWTELEM
*
buffer
,
int
width
,
int
height
,
int
stride
,
int
type
,
int
decomposition_count
);
void
ff_snow_inner_add_yblock
(
const
uint8_t
*
obmc
,
const
int
obmc_stride
,
uint8_t
**
block
,
int
b_w
,
int
b_h
,
int
src_x
,
int
src_y
,
int
src_stride
,
slice_buffer
*
sb
,
int
add
,
uint8_t
*
dst8
);
int
ff_w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
int
ff_w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
void
ff_spatial_dwt
(
int
*
buffer
,
int
width
,
int
height
,
int
stride
,
int
type
,
int
decomposition_count
);
void
ff_spatial_idwt_buffered_init
(
DWTCompose
*
cs
,
slice_buffer
*
sb
,
int
width
,
int
height
,
int
stride_line
,
int
type
,
int
decomposition_count
);
void
ff_spatial_idwt_buffered_slice
(
DWTContext
*
dsp
,
DWTCompose
*
cs
,
slice_buffer
*
slice_buf
,
int
width
,
int
height
,
int
stride_line
,
int
type
,
int
decomposition_count
,
int
y
);
void
ff_spatial_idwt
(
IDWTELEM
*
buffer
,
int
width
,
int
height
,
int
stride
,
int
type
,
int
decomposition_count
);
void
ff_dwt_init
(
DWTContext
*
c
);
void
ff_dwt_init_x86
(
DWTContext
*
c
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录