Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
itdan3344
stb
提交
007de5eb
S
stb
项目概览
itdan3344
/
stb
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
stb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
007de5eb
编写于
12月 13, 2014
作者:
F
Fabian Giesen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
stb_image: Extract zhuffman_decode slow path into own function.
上级
cdc23059
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
10 deletion
+15
-10
stb_image.h
stb_image.h
+15
-10
未找到文件。
stb_image.h
浏览文件 @
007de5eb
...
@@ -2119,18 +2119,9 @@ stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n)
...
@@ -2119,18 +2119,9 @@ stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n)
return
k
;
return
k
;
}
}
st
bi_inline
static
int
stbi__zhuffman_decode
(
stbi__zbuf
*
a
,
stbi__zhuffman
*
z
)
st
atic
int
stbi__zhuffman_decode_slowpath
(
stbi__zbuf
*
a
,
stbi__zhuffman
*
z
)
{
{
int
b
,
s
,
k
;
int
b
,
s
,
k
;
if
(
a
->
num_bits
<
16
)
stbi__fill_bits
(
a
);
b
=
z
->
fast
[
a
->
code_buffer
&
STBI__ZFAST_MASK
];
if
(
b
<
0xffff
)
{
s
=
z
->
size
[
b
];
a
->
code_buffer
>>=
s
;
a
->
num_bits
-=
s
;
return
z
->
value
[
b
];
}
// not resolved by fast table, so compute it the slow way
// not resolved by fast table, so compute it the slow way
// use jpeg approach, which requires MSbits at top
// use jpeg approach, which requires MSbits at top
k
=
stbi__bit_reverse
(
a
->
code_buffer
,
16
);
k
=
stbi__bit_reverse
(
a
->
code_buffer
,
16
);
...
@@ -2146,6 +2137,20 @@ stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z)
...
@@ -2146,6 +2137,20 @@ stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z)
return
z
->
value
[
b
];
return
z
->
value
[
b
];
}
}
stbi_inline
static
int
stbi__zhuffman_decode
(
stbi__zbuf
*
a
,
stbi__zhuffman
*
z
)
{
int
b
,
s
;
if
(
a
->
num_bits
<
16
)
stbi__fill_bits
(
a
);
b
=
z
->
fast
[
a
->
code_buffer
&
STBI__ZFAST_MASK
];
if
(
b
<
0xffff
)
{
s
=
z
->
size
[
b
];
a
->
code_buffer
>>=
s
;
a
->
num_bits
-=
s
;
return
z
->
value
[
b
];
}
return
stbi__zhuffman_decode_slowpath
(
a
,
z
);
}
static
int
stbi__zexpand
(
stbi__zbuf
*
z
,
char
*
zout
,
int
n
)
// need to make room for n bytes
static
int
stbi__zexpand
(
stbi__zbuf
*
z
,
char
*
zout
,
int
n
)
// need to make room for n bytes
{
{
char
*
q
;
char
*
q
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录