Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
cc884a35
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,发现更多精彩内容 >>
提交
cc884a35
编写于
8月 21, 2005
作者:
M
Michael Niedermayer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
reducing minimum supported picture size
Originally committed as revision 4535 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
49f1a349
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
24 addition
and
12 deletion
+24
-12
libavcodec/snow.c
libavcodec/snow.c
+24
-12
未找到文件。
libavcodec/snow.c
浏览文件 @
cc884a35
...
...
@@ -2470,7 +2470,9 @@ static always_inline void add_yblock_buffered(SnowContext *s, slice_buffer * sb,
BlockNode
*
lb
=
lt
+
b_stride
;
BlockNode
*
rb
=
lb
+
1
;
uint8_t
*
block
[
4
];
uint8_t
tmp
[
src_stride
*
(
b_h
+
5
)];
//FIXME align
int
tmp_step
=
src_stride
>=
7
*
MB_SIZE
?
MB_SIZE
:
MB_SIZE
*
src_stride
;
uint8_t
tmp
[
src_stride
*
7
*
MB_SIZE
];
//FIXME align
uint8_t
*
ptmp
;
int
x
,
y
;
if
(
b_x
<
0
){
...
...
@@ -2505,18 +2507,21 @@ static always_inline void add_yblock_buffered(SnowContext *s, slice_buffer * sb,
if
(
b_w
<=
0
||
b_h
<=
0
)
return
;
assert
(
src_stride
>
7
*
MB_SIZE
);
assert
(
src_stride
>
2
*
MB_SIZE
+
5
);
// old_dst += src_x + src_y*dst_stride;
dst8
+=
src_x
+
src_y
*
src_stride
;
// src += src_x + src_y*src_stride;
block
[
0
]
=
tmp
+
3
*
MB_SIZE
;
ptmp
=
tmp
+
3
*
tmp_step
;
block
[
0
]
=
ptmp
;
ptmp
+=
tmp_step
;
pred_block
(
s
,
block
[
0
],
src
,
tmp
,
src_stride
,
src_x
,
src_y
,
b_w
,
b_h
,
lt
,
plane_index
,
w
,
h
);
if
(
same_block
(
lt
,
rt
)){
block
[
1
]
=
block
[
0
];
}
else
{
block
[
1
]
=
tmp
+
4
*
MB_SIZE
;
block
[
1
]
=
ptmp
;
ptmp
+=
tmp_step
;
pred_block
(
s
,
block
[
1
],
src
,
tmp
,
src_stride
,
src_x
,
src_y
,
b_w
,
b_h
,
rt
,
plane_index
,
w
,
h
);
}
...
...
@@ -2525,7 +2530,8 @@ assert(src_stride > 7*MB_SIZE);
}
else
if
(
same_block
(
rt
,
lb
)){
block
[
2
]
=
block
[
1
];
}
else
{
block
[
2
]
=
tmp
+
5
*
MB_SIZE
;
block
[
2
]
=
ptmp
;
ptmp
+=
tmp_step
;
pred_block
(
s
,
block
[
2
],
src
,
tmp
,
src_stride
,
src_x
,
src_y
,
b_w
,
b_h
,
lb
,
plane_index
,
w
,
h
);
}
...
...
@@ -2536,7 +2542,7 @@ assert(src_stride > 7*MB_SIZE);
}
else
if
(
same_block
(
lb
,
rb
)){
block
[
3
]
=
block
[
2
];
}
else
{
block
[
3
]
=
tmp
+
6
*
MB_SIZE
;
block
[
3
]
=
ptmp
;
pred_block
(
s
,
block
[
3
],
src
,
tmp
,
src_stride
,
src_x
,
src_y
,
b_w
,
b_h
,
rb
,
plane_index
,
w
,
h
);
}
#if 0
...
...
@@ -2623,7 +2629,9 @@ static always_inline void add_yblock(SnowContext *s, DWTELEM *dst, uint8_t *dst8
BlockNode
*
lb
=
lt
+
b_stride
;
BlockNode
*
rb
=
lb
+
1
;
uint8_t
*
block
[
4
];
uint8_t
tmp
[
src_stride
*
(
b_h
+
5
)];
//FIXME align
int
tmp_step
=
src_stride
>=
7
*
MB_SIZE
?
MB_SIZE
:
MB_SIZE
*
src_stride
;
uint8_t
tmp
[
src_stride
*
7
*
MB_SIZE
];
//FIXME align
uint8_t
*
ptmp
;
int
x
,
y
;
if
(
b_x
<
0
){
...
...
@@ -2658,18 +2666,21 @@ static always_inline void add_yblock(SnowContext *s, DWTELEM *dst, uint8_t *dst8
if
(
b_w
<=
0
||
b_h
<=
0
)
return
;
assert
(
src_stride
>
7
*
MB_SIZE
);
assert
(
src_stride
>
2
*
MB_SIZE
+
5
);
dst
+=
src_x
+
src_y
*
dst_stride
;
dst8
+=
src_x
+
src_y
*
src_stride
;
// src += src_x + src_y*src_stride;
block
[
0
]
=
tmp
+
3
*
MB_SIZE
;
ptmp
=
tmp
+
3
*
tmp_step
;
block
[
0
]
=
ptmp
;
ptmp
+=
tmp_step
;
pred_block
(
s
,
block
[
0
],
src
,
tmp
,
src_stride
,
src_x
,
src_y
,
b_w
,
b_h
,
lt
,
plane_index
,
w
,
h
);
if
(
same_block
(
lt
,
rt
)){
block
[
1
]
=
block
[
0
];
}
else
{
block
[
1
]
=
tmp
+
4
*
MB_SIZE
;
block
[
1
]
=
ptmp
;
ptmp
+=
tmp_step
;
pred_block
(
s
,
block
[
1
],
src
,
tmp
,
src_stride
,
src_x
,
src_y
,
b_w
,
b_h
,
rt
,
plane_index
,
w
,
h
);
}
...
...
@@ -2678,7 +2689,8 @@ assert(src_stride > 7*MB_SIZE);
}
else
if
(
same_block
(
rt
,
lb
)){
block
[
2
]
=
block
[
1
];
}
else
{
block
[
2
]
=
tmp
+
5
*
MB_SIZE
;
block
[
2
]
=
ptmp
;
ptmp
+=
tmp_step
;
pred_block
(
s
,
block
[
2
],
src
,
tmp
,
src_stride
,
src_x
,
src_y
,
b_w
,
b_h
,
lb
,
plane_index
,
w
,
h
);
}
...
...
@@ -2689,7 +2701,7 @@ assert(src_stride > 7*MB_SIZE);
}
else
if
(
same_block
(
lb
,
rb
)){
block
[
3
]
=
block
[
2
];
}
else
{
block
[
3
]
=
tmp
+
6
*
MB_SIZE
;
block
[
3
]
=
ptmp
;
pred_block
(
s
,
block
[
3
],
src
,
tmp
,
src_stride
,
src_x
,
src_y
,
b_w
,
b_h
,
rb
,
plane_index
,
w
,
h
);
}
#if 0
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录