Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
itdan3344
stb
提交
7759a2a9
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,发现更多精彩内容 >>
提交
7759a2a9
编写于
12月 04, 2016
作者:
S
Sean Barrett
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix "misleading indentation" gcc warning
上级
ae241fee
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
37 addition
and
37 deletion
+37
-37
stb_image.h
stb_image.h
+37
-37
未找到文件。
stb_image.h
浏览文件 @
7759a2a9
...
...
@@ -1566,18 +1566,18 @@ static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int r
// convert source image with img_n components to one with req_comp components;
// avoid switch per pixel, so use switch per scanline and massive macros
switch
(
STBI__COMBO
(
img_n
,
req_comp
))
{
STBI__CASE
(
1
,
2
)
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
255
;
break
;
STBI__CASE
(
1
,
3
)
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
];
break
;
STBI__CASE
(
1
,
4
)
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
],
dest
[
3
]
=
255
;
break
;
STBI__CASE
(
2
,
1
)
dest
[
0
]
=
src
[
0
];
break
;
STBI__CASE
(
2
,
3
)
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
];
break
;
STBI__CASE
(
2
,
4
)
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
],
dest
[
3
]
=
src
[
1
];
break
;
STBI__CASE
(
3
,
4
)
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
src
[
1
],
dest
[
2
]
=
src
[
2
],
dest
[
3
]
=
255
;
break
;
STBI__CASE
(
3
,
1
)
dest
[
0
]
=
stbi__compute_y
(
src
[
0
],
src
[
1
],
src
[
2
]);
break
;
STBI__CASE
(
3
,
2
)
dest
[
0
]
=
stbi__compute_y
(
src
[
0
],
src
[
1
],
src
[
2
]),
dest
[
1
]
=
255
;
break
;
STBI__CASE
(
4
,
1
)
dest
[
0
]
=
stbi__compute_y
(
src
[
0
],
src
[
1
],
src
[
2
]);
break
;
STBI__CASE
(
4
,
2
)
dest
[
0
]
=
stbi__compute_y
(
src
[
0
],
src
[
1
],
src
[
2
]),
dest
[
1
]
=
src
[
3
];
break
;
STBI__CASE
(
4
,
3
)
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
src
[
1
],
dest
[
2
]
=
src
[
2
];
break
;
STBI__CASE
(
1
,
2
)
{
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
255
;
}
break
;
STBI__CASE
(
1
,
3
)
{
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
];
}
break
;
STBI__CASE
(
1
,
4
)
{
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
],
dest
[
3
]
=
255
;
}
break
;
STBI__CASE
(
2
,
1
)
{
dest
[
0
]
=
src
[
0
];
}
break
;
STBI__CASE
(
2
,
3
)
{
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
];
}
break
;
STBI__CASE
(
2
,
4
)
{
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
],
dest
[
3
]
=
src
[
1
];
}
break
;
STBI__CASE
(
3
,
4
)
{
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
src
[
1
],
dest
[
2
]
=
src
[
2
],
dest
[
3
]
=
255
;
}
break
;
STBI__CASE
(
3
,
1
)
{
dest
[
0
]
=
stbi__compute_y
(
src
[
0
],
src
[
1
],
src
[
2
]);
}
break
;
STBI__CASE
(
3
,
2
)
{
dest
[
0
]
=
stbi__compute_y
(
src
[
0
],
src
[
1
],
src
[
2
]),
dest
[
1
]
=
255
;
}
break
;
STBI__CASE
(
4
,
1
)
{
dest
[
0
]
=
stbi__compute_y
(
src
[
0
],
src
[
1
],
src
[
2
]);
}
break
;
STBI__CASE
(
4
,
2
)
{
dest
[
0
]
=
stbi__compute_y
(
src
[
0
],
src
[
1
],
src
[
2
]),
dest
[
1
]
=
src
[
3
];
}
break
;
STBI__CASE
(
4
,
3
)
{
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
src
[
1
],
dest
[
2
]
=
src
[
2
];
}
break
;
default:
STBI_ASSERT
(
0
);
}
#undef STBI__CASE
...
...
@@ -1615,18 +1615,18 @@ static stbi__uint16 *stbi__convert_format16(stbi__uint16 *data, int img_n, int r
// convert source image with img_n components to one with req_comp components;
// avoid switch per pixel, so use switch per scanline and massive macros
switch
(
STBI__COMBO
(
img_n
,
req_comp
))
{
STBI__CASE
(
1
,
2
)
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
0xffff
;
break
;
STBI__CASE
(
1
,
3
)
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
];
break
;
STBI__CASE
(
1
,
4
)
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
],
dest
[
3
]
=
0xffff
;
break
;
STBI__CASE
(
2
,
1
)
dest
[
0
]
=
src
[
0
];
break
;
STBI__CASE
(
2
,
3
)
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
];
break
;
STBI__CASE
(
2
,
4
)
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
],
dest
[
3
]
=
src
[
1
];
break
;
STBI__CASE
(
3
,
4
)
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
src
[
1
],
dest
[
2
]
=
src
[
2
],
dest
[
3
]
=
0xffff
;
break
;
STBI__CASE
(
3
,
1
)
dest
[
0
]
=
stbi__compute_y_16
(
src
[
0
],
src
[
1
],
src
[
2
]);
break
;
STBI__CASE
(
3
,
2
)
dest
[
0
]
=
stbi__compute_y_16
(
src
[
0
],
src
[
1
],
src
[
2
]),
dest
[
1
]
=
0xffff
;
break
;
STBI__CASE
(
4
,
1
)
dest
[
0
]
=
stbi__compute_y_16
(
src
[
0
],
src
[
1
],
src
[
2
]);
break
;
STBI__CASE
(
4
,
2
)
dest
[
0
]
=
stbi__compute_y_16
(
src
[
0
],
src
[
1
],
src
[
2
]),
dest
[
1
]
=
src
[
3
];
break
;
STBI__CASE
(
4
,
3
)
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
src
[
1
],
dest
[
2
]
=
src
[
2
];
break
;
STBI__CASE
(
1
,
2
)
{
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
0xffff
;
}
break
;
STBI__CASE
(
1
,
3
)
{
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
];
}
break
;
STBI__CASE
(
1
,
4
)
{
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
],
dest
[
3
]
=
0xffff
;
}
break
;
STBI__CASE
(
2
,
1
)
{
dest
[
0
]
=
src
[
0
];
}
break
;
STBI__CASE
(
2
,
3
)
{
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
];
}
break
;
STBI__CASE
(
2
,
4
)
{
dest
[
0
]
=
dest
[
1
]
=
dest
[
2
]
=
src
[
0
],
dest
[
3
]
=
src
[
1
];
}
break
;
STBI__CASE
(
3
,
4
)
{
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
src
[
1
],
dest
[
2
]
=
src
[
2
],
dest
[
3
]
=
0xffff
;
}
break
;
STBI__CASE
(
3
,
1
)
{
dest
[
0
]
=
stbi__compute_y_16
(
src
[
0
],
src
[
1
],
src
[
2
]);
}
break
;
STBI__CASE
(
3
,
2
)
{
dest
[
0
]
=
stbi__compute_y_16
(
src
[
0
],
src
[
1
],
src
[
2
]),
dest
[
1
]
=
0xffff
;
}
break
;
STBI__CASE
(
4
,
1
)
{
dest
[
0
]
=
stbi__compute_y_16
(
src
[
0
],
src
[
1
],
src
[
2
]);
}
break
;
STBI__CASE
(
4
,
2
)
{
dest
[
0
]
=
stbi__compute_y_16
(
src
[
0
],
src
[
1
],
src
[
2
]),
dest
[
1
]
=
src
[
3
];
}
break
;
STBI__CASE
(
4
,
3
)
{
dest
[
0
]
=
src
[
0
],
dest
[
1
]
=
src
[
1
],
dest
[
2
]
=
src
[
2
];
}
break
;
default:
STBI_ASSERT
(
0
);
}
#undef STBI__CASE
...
...
@@ -4354,12 +4354,12 @@ static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 r
switch
(
filter
)
{
// "none" filter turns into a memcpy here; make that explicit.
case
STBI__F_none
:
memcpy
(
cur
,
raw
,
nk
);
break
;
STBI__CASE
(
STBI__F_sub
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
cur
[
k
-
filter_bytes
]);
break
;
STBI__CASE
(
STBI__F_up
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
prior
[
k
]);
break
;
STBI__CASE
(
STBI__F_avg
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
((
prior
[
k
]
+
cur
[
k
-
filter_bytes
])
>>
1
));
break
;
STBI__CASE
(
STBI__F_paeth
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
stbi__paeth
(
cur
[
k
-
filter_bytes
],
prior
[
k
],
prior
[
k
-
filter_bytes
]));
break
;
STBI__CASE
(
STBI__F_avg_first
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
(
cur
[
k
-
filter_bytes
]
>>
1
));
break
;
STBI__CASE
(
STBI__F_paeth_first
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
stbi__paeth
(
cur
[
k
-
filter_bytes
],
0
,
0
));
break
;
STBI__CASE
(
STBI__F_sub
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
cur
[
k
-
filter_bytes
]);
}
break
;
STBI__CASE
(
STBI__F_up
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
prior
[
k
]);
}
break
;
STBI__CASE
(
STBI__F_avg
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
((
prior
[
k
]
+
cur
[
k
-
filter_bytes
])
>>
1
));
}
break
;
STBI__CASE
(
STBI__F_paeth
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
stbi__paeth
(
cur
[
k
-
filter_bytes
],
prior
[
k
],
prior
[
k
-
filter_bytes
]));
}
break
;
STBI__CASE
(
STBI__F_avg_first
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
(
cur
[
k
-
filter_bytes
]
>>
1
));
}
break
;
STBI__CASE
(
STBI__F_paeth_first
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
stbi__paeth
(
cur
[
k
-
filter_bytes
],
0
,
0
));
}
break
;
}
#undef STBI__CASE
raw
+=
nk
;
...
...
@@ -4370,13 +4370,13 @@ static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 r
for (i=x-1; i >= 1; --i, cur[filter_bytes]=255,raw+=filter_bytes,cur+=output_bytes,prior+=output_bytes) \
for (k=0; k < filter_bytes; ++k)
switch
(
filter
)
{
STBI__CASE
(
STBI__F_none
)
cur
[
k
]
=
raw
[
k
];
break
;
STBI__CASE
(
STBI__F_sub
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
cur
[
k
-
output_bytes
]);
break
;
STBI__CASE
(
STBI__F_up
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
prior
[
k
]);
break
;
STBI__CASE
(
STBI__F_avg
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
((
prior
[
k
]
+
cur
[
k
-
output_bytes
])
>>
1
));
break
;
STBI__CASE
(
STBI__F_paeth
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
stbi__paeth
(
cur
[
k
-
output_bytes
],
prior
[
k
],
prior
[
k
-
output_bytes
]));
break
;
STBI__CASE
(
STBI__F_avg_first
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
(
cur
[
k
-
output_bytes
]
>>
1
));
break
;
STBI__CASE
(
STBI__F_paeth_first
)
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
stbi__paeth
(
cur
[
k
-
output_bytes
],
0
,
0
));
break
;
STBI__CASE
(
STBI__F_none
)
{
cur
[
k
]
=
raw
[
k
];
}
break
;
STBI__CASE
(
STBI__F_sub
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
cur
[
k
-
output_bytes
]);
}
break
;
STBI__CASE
(
STBI__F_up
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
prior
[
k
]);
}
break
;
STBI__CASE
(
STBI__F_avg
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
((
prior
[
k
]
+
cur
[
k
-
output_bytes
])
>>
1
));
}
break
;
STBI__CASE
(
STBI__F_paeth
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
stbi__paeth
(
cur
[
k
-
output_bytes
],
prior
[
k
],
prior
[
k
-
output_bytes
]));
}
break
;
STBI__CASE
(
STBI__F_avg_first
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
(
cur
[
k
-
output_bytes
]
>>
1
));
}
break
;
STBI__CASE
(
STBI__F_paeth_first
)
{
cur
[
k
]
=
STBI__BYTECAST
(
raw
[
k
]
+
stbi__paeth
(
cur
[
k
-
output_bytes
],
0
,
0
));
}
break
;
}
#undef STBI__CASE
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录