Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
33996217
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,发现更多精彩内容 >>
提交
33996217
编写于
3月 14, 2010
作者:
M
Måns Rullgård
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add ff_ prefix to dwt functions
Originally committed as revision 22523 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
05aec7bb
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
25 addition
and
25 deletion
+25
-25
libavcodec/dwt.c
libavcodec/dwt.c
+9
-9
libavcodec/dwt.h
libavcodec/dwt.h
+9
-9
libavcodec/snow.c
libavcodec/snow.c
+7
-7
未找到文件。
libavcodec/dwt.c
浏览文件 @
33996217
...
...
@@ -22,7 +22,7 @@
#include "dsputil.h"
#include "dwt.h"
void
slice_buffer_init
(
slice_buffer
*
buf
,
int
line_count
,
int
max_allocated_lines
,
int
line_width
,
IDWTELEM
*
base_buffer
)
void
ff_
slice_buffer_init
(
slice_buffer
*
buf
,
int
line_count
,
int
max_allocated_lines
,
int
line_width
,
IDWTELEM
*
base_buffer
)
{
int
i
;
...
...
@@ -40,7 +40,7 @@ void slice_buffer_init(slice_buffer * buf, int line_count, int max_allocated_lin
buf
->
data_stack_top
=
max_allocated_lines
-
1
;
}
IDWTELEM
*
slice_buffer_load_line
(
slice_buffer
*
buf
,
int
line
)
IDWTELEM
*
ff_
slice_buffer_load_line
(
slice_buffer
*
buf
,
int
line
)
{
IDWTELEM
*
buffer
;
...
...
@@ -56,7 +56,7 @@ IDWTELEM * slice_buffer_load_line(slice_buffer * buf, int line)
return
buffer
;
}
void
slice_buffer_release
(
slice_buffer
*
buf
,
int
line
)
void
ff_
slice_buffer_release
(
slice_buffer
*
buf
,
int
line
)
{
IDWTELEM
*
buffer
;
...
...
@@ -69,19 +69,19 @@ void slice_buffer_release(slice_buffer * buf, int line)
buf
->
line
[
line
]
=
NULL
;
}
void
slice_buffer_flush
(
slice_buffer
*
buf
)
void
ff_
slice_buffer_flush
(
slice_buffer
*
buf
)
{
int
i
;
for
(
i
=
0
;
i
<
buf
->
line_count
;
i
++
){
if
(
buf
->
line
[
i
])
slice_buffer_release
(
buf
,
i
);
ff_
slice_buffer_release
(
buf
,
i
);
}
}
void
slice_buffer_destroy
(
slice_buffer
*
buf
)
void
ff_
slice_buffer_destroy
(
slice_buffer
*
buf
)
{
int
i
;
slice_buffer_flush
(
buf
);
ff_
slice_buffer_flush
(
buf
);
for
(
i
=
buf
->
data_count
-
1
;
i
>=
0
;
i
--
){
av_freep
(
&
buf
->
data_stack
[
i
]);
...
...
@@ -817,11 +817,11 @@ static int w97_16_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int
return
w_c
(
v
,
pix1
,
pix2
,
line_size
,
16
,
h
,
0
);
}
int
w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
){
int
ff_
w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
){
return
w_c
(
v
,
pix1
,
pix2
,
line_size
,
32
,
h
,
1
);
}
int
w97_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
){
return
w_c
(
v
,
pix1
,
pix2
,
line_size
,
32
,
h
,
0
);
}
...
...
libavcodec/dwt.h
浏览文件 @
33996217
...
...
@@ -126,21 +126,21 @@ 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] : slice_buffer_load_line((slice_buf), (line_num)))
//#define slice_buffer_get_line(slice_buf, line_num) (slice_buffer_load_line((slice_buf), (line_num)))
#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
slice_buffer_init
(
slice_buffer
*
buf
,
int
line_count
,
int
max_allocated_lines
,
int
line_width
,
IDWTELEM
*
base_buffer
);
void
slice_buffer_release
(
slice_buffer
*
buf
,
int
line
);
void
slice_buffer_flush
(
slice_buffer
*
buf
);
void
slice_buffer_destroy
(
slice_buffer
*
buf
);
IDWTELEM
*
slice_buffer_load_line
(
slice_buffer
*
buf
,
int
line
);
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
w53_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
int
w97_32_c
(
void
*
v
,
uint8_t
*
pix1
,
uint8_t
*
pix2
,
int
line_size
,
int
h
);
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
);
...
...
libavcodec/snow.c
浏览文件 @
33996217
...
...
@@ -2081,8 +2081,8 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac
common_init_after_header
(
avctx
);
// realloc slice buffer for the case that spatial_decomposition_count changed
slice_buffer_destroy
(
&
s
->
sb
);
slice_buffer_init
(
&
s
->
sb
,
s
->
plane
[
0
].
height
,
(
MB_SIZE
>>
s
->
block_max_depth
)
+
s
->
spatial_decomposition_count
*
8
+
1
,
s
->
plane
[
0
].
width
,
s
->
spatial_idwt_buffer
);
ff_
slice_buffer_destroy
(
&
s
->
sb
);
ff_
slice_buffer_init
(
&
s
->
sb
,
s
->
plane
[
0
].
height
,
(
MB_SIZE
>>
s
->
block_max_depth
)
+
s
->
spatial_decomposition_count
*
8
+
1
,
s
->
plane
[
0
].
width
,
s
->
spatial_idwt_buffer
);
for
(
plane_index
=
0
;
plane_index
<
3
;
plane_index
++
){
Plane
*
p
=
&
s
->
plane
[
plane_index
];
...
...
@@ -2199,10 +2199,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac
y
=
FFMIN
(
p
->
height
,
slice_starty
);
end_y
=
FFMIN
(
p
->
height
,
slice_h
);
while
(
y
<
end_y
)
slice_buffer_release
(
&
s
->
sb
,
y
++
);
ff_
slice_buffer_release
(
&
s
->
sb
,
y
++
);
}
slice_buffer_flush
(
&
s
->
sb
);
ff_
slice_buffer_flush
(
&
s
->
sb
);
}
}
...
...
@@ -2228,7 +2228,7 @@ static av_cold int decode_end(AVCodecContext *avctx)
{
SnowContext
*
s
=
avctx
->
priv_data
;
slice_buffer_destroy
(
&
s
->
sb
);
ff_
slice_buffer_destroy
(
&
s
->
sb
);
common_end
(
s
);
...
...
@@ -2829,9 +2829,9 @@ static int get_block_rd(SnowContext *s, int mb_x, int mb_y, int plane_index, con
* to improve the score of the whole frame, thus iterative motion
* estimation does not always converge. */
if
(
s
->
avctx
->
me_cmp
==
FF_CMP_W97
)
distortion
=
w97_32_c
(
&
s
->
m
,
src
+
sx
+
sy
*
ref_stride
,
dst
+
sx
+
sy
*
ref_stride
,
ref_stride
,
32
);
distortion
=
ff_
w97_32_c
(
&
s
->
m
,
src
+
sx
+
sy
*
ref_stride
,
dst
+
sx
+
sy
*
ref_stride
,
ref_stride
,
32
);
else
if
(
s
->
avctx
->
me_cmp
==
FF_CMP_W53
)
distortion
=
w53_32_c
(
&
s
->
m
,
src
+
sx
+
sy
*
ref_stride
,
dst
+
sx
+
sy
*
ref_stride
,
ref_stride
,
32
);
distortion
=
ff_
w53_32_c
(
&
s
->
m
,
src
+
sx
+
sy
*
ref_stride
,
dst
+
sx
+
sy
*
ref_stride
,
ref_stride
,
32
);
else
{
distortion
=
0
;
for
(
i
=
0
;
i
<
4
;
i
++
){
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录