Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
7763b58a
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7763b58a
编写于
1月 10, 2018
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #10563 from alalek:issue_10540
上级
6f8be3f6
8a76fada
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
26 addition
and
18 deletion
+26
-18
modules/imgcodecs/src/bitstrm.cpp
modules/imgcodecs/src/bitstrm.cpp
+14
-8
modules/imgcodecs/src/grfmt_bmp.cpp
modules/imgcodecs/src/grfmt_bmp.cpp
+1
-0
modules/imgcodecs/src/grfmt_pam.cpp
modules/imgcodecs/src/grfmt_pam.cpp
+6
-4
modules/imgcodecs/src/grfmt_sunras.cpp
modules/imgcodecs/src/grfmt_sunras.cpp
+4
-4
modules/imgcodecs/src/precomp.hpp
modules/imgcodecs/src/precomp.hpp
+0
-1
modules/imgcodecs/src/utils.cpp
modules/imgcodecs/src/utils.cpp
+1
-1
未找到文件。
modules/imgcodecs/src/bitstrm.cpp
浏览文件 @
7763b58a
...
...
@@ -42,6 +42,7 @@
#include "precomp.hpp"
#include "bitstrm.hpp"
#include "utils.hpp"
namespace
cv
{
...
...
@@ -165,7 +166,7 @@ void RBaseStream::release()
void
RBaseStream
::
setPos
(
int
pos
)
{
assert
(
isOpened
()
&&
pos
>=
0
);
CV_Assert
(
isOpened
()
&&
pos
>=
0
);
if
(
!
m_file
)
{
...
...
@@ -182,14 +183,19 @@ void RBaseStream::setPos( int pos )
int
RBaseStream
::
getPos
()
{
assert
(
isOpened
()
);
return
m_block_pos
+
(
int
)(
m_current
-
m_start
);
CV_Assert
(
isOpened
());
int
pos
=
validateToInt
((
m_current
-
m_start
)
+
m_block_pos
);
CV_Assert
(
pos
>=
m_block_pos
);
// overflow check
CV_Assert
(
pos
>=
0
);
// overflow check
return
pos
;
}
void
RBaseStream
::
skip
(
int
bytes
)
{
assert
(
bytes
>=
0
);
CV_Assert
(
bytes
>=
0
);
uchar
*
old
=
m_current
;
m_current
+=
bytes
;
CV_Assert
(
m_current
>=
old
);
// overflow check
}
///////////////////////// RLByteStream ////////////////////////////
...
...
@@ -221,7 +227,7 @@ int RLByteStream::getBytes( void* buffer, int count )
{
uchar
*
data
=
(
uchar
*
)
buffer
;
int
readed
=
0
;
assert
(
count
>=
0
);
CV_Assert
(
count
>=
0
);
while
(
count
>
0
)
{
...
...
@@ -373,7 +379,7 @@ void WBaseStream::writeBlock()
{
int
size
=
(
int
)(
m_current
-
m_start
);
assert
(
isOpened
()
);
CV_Assert
(
isOpened
()
);
if
(
size
==
0
)
return
;
...
...
@@ -444,7 +450,7 @@ void WBaseStream::release()
int
WBaseStream
::
getPos
()
{
assert
(
isOpened
()
);
CV_Assert
(
isOpened
()
);
return
m_block_pos
+
(
int
)(
m_current
-
m_start
);
}
...
...
@@ -467,7 +473,7 @@ void WLByteStream::putBytes( const void* buffer, int count )
{
uchar
*
data
=
(
uchar
*
)
buffer
;
assert
(
data
&&
m_current
&&
count
>=
0
);
CV_Assert
(
data
&&
m_current
&&
count
>=
0
);
while
(
count
)
{
...
...
modules/imgcodecs/src/grfmt_bmp.cpp
浏览文件 @
7763b58a
...
...
@@ -95,6 +95,7 @@ bool BmpDecoder::readHeader()
m_offset
=
m_strm
.
getDWord
();
int
size
=
m_strm
.
getDWord
();
CV_Assert
(
size
>
0
);
// overflow, 2Gb limit
if
(
size
>=
36
)
{
...
...
modules/imgcodecs/src/grfmt_pam.cpp
浏览文件 @
7763b58a
...
...
@@ -53,6 +53,8 @@
#include "utils.hpp"
#include "grfmt_pam.hpp"
using
namespace
cv
;
/* the PAM related fields */
#define MAX_PAM_HEADER_IDENITFIER_LENGTH 8
#define MAX_PAM_HEADER_VALUE_LENGTH 255
...
...
@@ -184,7 +186,7 @@ basic_conversion (void *src, const struct channel_layout *layout, int src_sampe_
}
break
;
default:
assert
(
0
);
CV_Error
(
Error
::
StsInternal
,
""
);
}
break
;
}
...
...
@@ -205,12 +207,12 @@ basic_conversion (void *src, const struct channel_layout *layout, int src_sampe_
}
break
;
default:
assert
(
0
);
CV_Error
(
Error
::
StsInternal
,
""
);
}
break
;
}
default:
assert
(
0
);
CV_Error
(
Error
::
StsInternal
,
""
);
}
}
...
...
@@ -711,7 +713,7 @@ bool PAMEncoder::write( const Mat& img, const std::vector<int>& params )
}
else
strm
.
putBytes
(
data
,
stride
*
height
);
}
else
assert
(
0
);
CV_Error
(
Error
::
StsInternal
,
""
);
strm
.
close
();
return
true
;
...
...
modules/imgcodecs/src/grfmt_sunras.cpp
浏览文件 @
7763b58a
...
...
@@ -124,7 +124,7 @@ bool SunRasterDecoder::readHeader()
m_type
=
IsColorPalette
(
m_palette
,
m_bpp
)
?
CV_8UC3
:
CV_8UC1
;
m_offset
=
m_strm
.
getPos
();
assert
(
m_offset
==
32
+
m_maplength
);
CV_Assert
(
m_offset
==
32
+
m_maplength
);
result
=
true
;
}
}
...
...
@@ -137,7 +137,7 @@ bool SunRasterDecoder::readHeader()
m_offset
=
m_strm
.
getPos
();
assert
(
m_offset
==
32
+
m_maplength
);
CV_Assert
(
m_offset
==
32
+
m_maplength
);
result
=
true
;
}
}
...
...
@@ -230,7 +230,7 @@ bool SunRasterDecoder::readData( Mat& img )
code
=
m_strm
.
getByte
();
if
(
len
>
line_end
-
tsrc
)
{
assert
(
0
);
CV_Error
(
Error
::
StsInternal
,
""
);
goto
bad_decoding_1bpp
;
}
...
...
@@ -371,7 +371,7 @@ bad_decoding_end:
result
=
true
;
break
;
default:
assert
(
0
);
CV_Error
(
Error
::
StsInternal
,
""
);
}
}
CV_CATCH_ALL
...
...
modules/imgcodecs/src/precomp.hpp
浏览文件 @
7763b58a
...
...
@@ -56,7 +56,6 @@
#include <string.h>
#include <limits.h>
#include <ctype.h>
#include <assert.h>
#if defined _WIN32 || defined WINCE
#include <windows.h>
...
...
modules/imgcodecs/src/utils.cpp
浏览文件 @
7763b58a
...
...
@@ -670,7 +670,7 @@ cvConvertImage( const CvArr* srcarr, CvArr* dstarr, int flags )
icvCvt_BGR2Gray_8u_C3C1R
(
s
,
s_step
,
d
,
d_step
,
size
,
swap_rb
);
break
;
case
33
:
assert
(
swap_rb
);
CV_Assert
(
swap_rb
);
icvCvt_RGB2BGR_8u_C3R
(
s
,
s_step
,
d
,
d_step
,
size
);
break
;
case
41
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录