Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
4157a640
Commit
4157a640
authored
Aug 28, 2012
by
Andrey Kamaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Apply 01-misc-fixes patch from debian libjasper-dev (1.900.1-13) package
parent
d28af08e
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
274 additions
and
122 deletions
+274
-122
jas_cm.c
3rdparty/libjasper/jas_cm.c
+5
-6
jas_icc.c
3rdparty/libjasper/jas_icc.c
+19
-20
jas_image.c
3rdparty/libjasper/jas_image.c
+2
-3
jas_malloc.c
3rdparty/libjasper/jas_malloc.c
+42
-7
jas_seq.c
3rdparty/libjasper/jas_seq.c
+3
-3
jas_stream.c
3rdparty/libjasper/jas_stream.c
+7
-13
jas_malloc.h
3rdparty/libjasper/jasper/jas_malloc.h
+9
-0
jp2_cod.c
3rdparty/libjasper/jp2_cod.c
+65
-7
jp2_cod.h
3rdparty/libjasper/jp2_cod.h
+12
-0
jp2_dec.c
3rdparty/libjasper/jp2_dec.c
+2
-2
jp2_enc.c
3rdparty/libjasper/jp2_enc.c
+53
-8
jpc_cs.c
3rdparty/libjasper/jpc_cs.c
+10
-7
jpc_dec.c
3rdparty/libjasper/jpc_dec.c
+15
-16
jpc_enc.c
3rdparty/libjasper/jpc_enc.c
+10
-10
jpc_mqdec.c
3rdparty/libjasper/jpc_mqdec.c
+1
-1
jpc_mqenc.c
3rdparty/libjasper/jpc_mqenc.c
+1
-1
jpc_qmfb.c
3rdparty/libjasper/jpc_qmfb.c
+8
-8
jpc_t1enc.c
3rdparty/libjasper/jpc_t1enc.c
+1
-1
jpc_t2cod.c
3rdparty/libjasper/jpc_t2cod.c
+1
-1
jpc_t2dec.c
3rdparty/libjasper/jpc_t2dec.c
+3
-3
jpc_t2enc.c
3rdparty/libjasper/jpc_t2enc.c
+3
-3
jpc_tagtree.c
3rdparty/libjasper/jpc_tagtree.c
+1
-1
jpc_util.c
3rdparty/libjasper/jpc_util.c
+1
-1
No files found.
3rdparty/libjasper/jas_cm.c
View file @
4157a640
...
...
@@ -704,8 +704,7 @@ static int jas_cmpxformseq_resize(jas_cmpxformseq_t *pxformseq, int n)
{
jas_cmpxform_t
**
p
;
assert
(
n
>=
pxformseq
->
numpxforms
);
p
=
(
!
pxformseq
->
pxforms
)
?
jas_malloc
(
n
*
sizeof
(
jas_cmpxform_t
*
))
:
jas_realloc
(
pxformseq
->
pxforms
,
n
*
sizeof
(
jas_cmpxform_t
*
));
p
=
jas_realloc2
(
pxformseq
->
pxforms
,
n
,
sizeof
(
jas_cmpxform_t
*
));
if
(
!
p
)
{
return
-
1
;
}
...
...
@@ -889,13 +888,13 @@ static int jas_cmshapmatlut_set(jas_cmshapmatlut_t *lut, jas_icccurv_t *curv)
jas_cmshapmatlut_cleanup
(
lut
);
if
(
curv
->
numents
==
0
)
{
lut
->
size
=
2
;
if
(
!
(
lut
->
data
=
jas_
malloc
(
lut
->
size
*
sizeof
(
jas_cmreal_t
))))
if
(
!
(
lut
->
data
=
jas_
alloc2
(
lut
->
size
,
sizeof
(
jas_cmreal_t
))))
goto
error
;
lut
->
data
[
0
]
=
0
.
0
;
lut
->
data
[
1
]
=
1
.
0
;
}
else
if
(
curv
->
numents
==
1
)
{
lut
->
size
=
256
;
if
(
!
(
lut
->
data
=
jas_
malloc
(
lut
->
size
*
sizeof
(
jas_cmreal_t
))))
if
(
!
(
lut
->
data
=
jas_
alloc2
(
lut
->
size
,
sizeof
(
jas_cmreal_t
))))
goto
error
;
gamma
=
curv
->
ents
[
0
]
/
256
.
0
;
for
(
i
=
0
;
i
<
lut
->
size
;
++
i
)
{
...
...
@@ -903,7 +902,7 @@ static int jas_cmshapmatlut_set(jas_cmshapmatlut_t *lut, jas_icccurv_t *curv)
}
}
else
{
lut
->
size
=
curv
->
numents
;
if
(
!
(
lut
->
data
=
jas_
malloc
(
lut
->
size
*
sizeof
(
jas_cmreal_t
))))
if
(
!
(
lut
->
data
=
jas_
alloc2
(
lut
->
size
,
sizeof
(
jas_cmreal_t
))))
goto
error
;
for
(
i
=
0
;
i
<
lut
->
size
;
++
i
)
{
lut
->
data
[
i
]
=
curv
->
ents
[
i
]
/
65535
.
0
;
...
...
@@ -953,7 +952,7 @@ static int jas_cmshapmatlut_invert(jas_cmshapmatlut_t *invlut,
return
-
1
;
}
}
if
(
!
(
invlut
->
data
=
jas_
malloc
(
n
*
sizeof
(
jas_cmreal_t
))))
if
(
!
(
invlut
->
data
=
jas_
alloc2
(
n
,
sizeof
(
jas_cmreal_t
))))
return
-
1
;
invlut
->
size
=
n
;
for
(
i
=
0
;
i
<
invlut
->
size
;
++
i
)
{
...
...
3rdparty/libjasper/jas_icc.c
View file @
4157a640
...
...
@@ -373,7 +373,7 @@ int jas_iccprof_save(jas_iccprof_t *prof, jas_stream_t *out)
jas_icctagtab_t
*
tagtab
;
tagtab
=
&
prof
->
tagtab
;
if
(
!
(
tagtab
->
ents
=
jas_
malloc
(
prof
->
attrtab
->
numattrs
*
if
(
!
(
tagtab
->
ents
=
jas_
alloc2
(
prof
->
attrtab
->
numattrs
,
sizeof
(
jas_icctagtabent_t
))))
goto
error
;
tagtab
->
numents
=
prof
->
attrtab
->
numattrs
;
...
...
@@ -522,7 +522,7 @@ static int jas_iccprof_gettagtab(jas_stream_t *in, jas_icctagtab_t *tagtab)
}
if
(
jas_iccgetuint32
(
in
,
&
tagtab
->
numents
))
goto
error
;
if
(
!
(
tagtab
->
ents
=
jas_
malloc
(
tagtab
->
numents
*
if
(
!
(
tagtab
->
ents
=
jas_
alloc2
(
tagtab
->
numents
,
sizeof
(
jas_icctagtabent_t
))))
goto
error
;
tagtabent
=
tagtab
->
ents
;
...
...
@@ -743,8 +743,7 @@ static int jas_iccattrtab_resize(jas_iccattrtab_t *tab, int maxents)
{
jas_iccattr_t
*
newattrs
;
assert
(
maxents
>=
tab
->
numattrs
);
newattrs
=
tab
->
attrs
?
jas_realloc
(
tab
->
attrs
,
maxents
*
sizeof
(
jas_iccattr_t
))
:
jas_malloc
(
maxents
*
sizeof
(
jas_iccattr_t
));
newattrs
=
jas_realloc2
(
tab
->
attrs
,
maxents
,
sizeof
(
jas_iccattr_t
));
if
(
!
newattrs
)
return
-
1
;
tab
->
attrs
=
newattrs
;
...
...
@@ -999,7 +998,7 @@ static int jas_icccurv_input(jas_iccattrval_t *attrval, jas_stream_t *in,
if
(
jas_iccgetuint32
(
in
,
&
curv
->
numents
))
goto
error
;
if
(
!
(
curv
->
ents
=
jas_
malloc
(
curv
->
numents
*
sizeof
(
jas_iccuint16_t
))))
if
(
!
(
curv
->
ents
=
jas_
alloc2
(
curv
->
numents
,
sizeof
(
jas_iccuint16_t
))))
goto
error
;
for
(
i
=
0
;
i
<
curv
->
numents
;
++
i
)
{
if
(
jas_iccgetuint16
(
in
,
&
curv
->
ents
[
i
]))
...
...
@@ -1100,7 +1099,7 @@ static int jas_icctxtdesc_input(jas_iccattrval_t *attrval, jas_stream_t *in,
if
(
jas_iccgetuint32
(
in
,
&
txtdesc
->
uclangcode
)
||
jas_iccgetuint32
(
in
,
&
txtdesc
->
uclen
))
goto
error
;
if
(
!
(
txtdesc
->
ucdata
=
jas_
malloc
(
txtdesc
->
uclen
*
2
)))
if
(
!
(
txtdesc
->
ucdata
=
jas_
alloc2
(
txtdesc
->
uclen
,
2
)))
goto
error
;
if
(
jas_stream_read
(
in
,
txtdesc
->
ucdata
,
txtdesc
->
uclen
*
2
)
!=
JAS_CAST
(
int
,
txtdesc
->
uclen
*
2
))
...
...
@@ -1292,17 +1291,17 @@ static int jas_icclut8_input(jas_iccattrval_t *attrval, jas_stream_t *in,
jas_iccgetuint16
(
in
,
&
lut8
->
numouttabents
))
goto
error
;
clutsize
=
jas_iccpowi
(
lut8
->
clutlen
,
lut8
->
numinchans
)
*
lut8
->
numoutchans
;
if
(
!
(
lut8
->
clut
=
jas_
malloc
(
clutsize
*
sizeof
(
jas_iccuint8_t
)))
||
!
(
lut8
->
intabsbuf
=
jas_
malloc
(
lut8
->
numinchans
*
lut8
->
numintabents
*
sizeof
(
jas_iccuint8_t
)))
||
!
(
lut8
->
intabs
=
jas_
malloc
(
lut8
->
numinchans
*
if
(
!
(
lut8
->
clut
=
jas_
alloc2
(
clutsize
,
sizeof
(
jas_iccuint8_t
)))
||
!
(
lut8
->
intabsbuf
=
jas_
alloc3
(
lut8
->
numinchans
,
lut8
->
numintabents
,
sizeof
(
jas_iccuint8_t
)))
||
!
(
lut8
->
intabs
=
jas_
alloc2
(
lut8
->
numinchans
,
sizeof
(
jas_iccuint8_t
*
))))
goto
error
;
for
(
i
=
0
;
i
<
lut8
->
numinchans
;
++
i
)
lut8
->
intabs
[
i
]
=
&
lut8
->
intabsbuf
[
i
*
lut8
->
numintabents
];
if
(
!
(
lut8
->
outtabsbuf
=
jas_
malloc
(
lut8
->
numoutchans
*
lut8
->
numouttabents
*
sizeof
(
jas_iccuint8_t
)))
||
!
(
lut8
->
outtabs
=
jas_
malloc
(
lut8
->
numoutchans
*
if
(
!
(
lut8
->
outtabsbuf
=
jas_
alloc3
(
lut8
->
numoutchans
,
lut8
->
numouttabents
,
sizeof
(
jas_iccuint8_t
)))
||
!
(
lut8
->
outtabs
=
jas_
alloc2
(
lut8
->
numoutchans
,
sizeof
(
jas_iccuint8_t
*
))))
goto
error
;
for
(
i
=
0
;
i
<
lut8
->
numoutchans
;
++
i
)
...
...
@@ -1461,17 +1460,17 @@ static int jas_icclut16_input(jas_iccattrval_t *attrval, jas_stream_t *in,
jas_iccgetuint16
(
in
,
&
lut16
->
numouttabents
))
goto
error
;
clutsize
=
jas_iccpowi
(
lut16
->
clutlen
,
lut16
->
numinchans
)
*
lut16
->
numoutchans
;
if
(
!
(
lut16
->
clut
=
jas_
malloc
(
clutsize
*
sizeof
(
jas_iccuint16_t
)))
||
!
(
lut16
->
intabsbuf
=
jas_
malloc
(
lut16
->
numinchans
*
lut16
->
numintabents
*
sizeof
(
jas_iccuint16_t
)))
||
!
(
lut16
->
intabs
=
jas_
malloc
(
lut16
->
numinchans
*
if
(
!
(
lut16
->
clut
=
jas_
alloc2
(
clutsize
,
sizeof
(
jas_iccuint16_t
)))
||
!
(
lut16
->
intabsbuf
=
jas_
alloc3
(
lut16
->
numinchans
,
lut16
->
numintabents
,
sizeof
(
jas_iccuint16_t
)))
||
!
(
lut16
->
intabs
=
jas_
alloc2
(
lut16
->
numinchans
,
sizeof
(
jas_iccuint16_t
*
))))
goto
error
;
for
(
i
=
0
;
i
<
lut16
->
numinchans
;
++
i
)
lut16
->
intabs
[
i
]
=
&
lut16
->
intabsbuf
[
i
*
lut16
->
numintabents
];
if
(
!
(
lut16
->
outtabsbuf
=
jas_
malloc
(
lut16
->
numoutchans
*
lut16
->
numouttabents
*
sizeof
(
jas_iccuint16_t
)))
||
!
(
lut16
->
outtabs
=
jas_
malloc
(
lut16
->
numoutchans
*
if
(
!
(
lut16
->
outtabsbuf
=
jas_
alloc3
(
lut16
->
numoutchans
,
lut16
->
numouttabents
,
sizeof
(
jas_iccuint16_t
)))
||
!
(
lut16
->
outtabs
=
jas_
alloc2
(
lut16
->
numoutchans
,
sizeof
(
jas_iccuint16_t
*
))))
goto
error
;
for
(
i
=
0
;
i
<
lut16
->
numoutchans
;
++
i
)
...
...
3rdparty/libjasper/jas_image.c
View file @
4157a640
...
...
@@ -142,7 +142,7 @@ jas_image_t *jas_image_create(int numcmpts, jas_image_cmptparm_t *cmptparms,
image
->
inmem_
=
true
;
/* Allocate memory for the per-component information. */
if
(
!
(
image
->
cmpts_
=
jas_
malloc
(
image
->
maxcmpts_
*
if
(
!
(
image
->
cmpts_
=
jas_
alloc2
(
image
->
maxcmpts_
,
sizeof
(
jas_image_cmpt_t
*
))))
{
jas_image_destroy
(
image
);
return
0
;
...
...
@@ -774,8 +774,7 @@ static int jas_image_growcmpts(jas_image_t *image, int maxcmpts)
jas_image_cmpt_t
**
newcmpts
;
int
cmptno
;
newcmpts
=
(
!
image
->
cmpts_
)
?
jas_malloc
(
maxcmpts
*
sizeof
(
jas_image_cmpt_t
*
))
:
jas_realloc
(
image
->
cmpts_
,
maxcmpts
*
sizeof
(
jas_image_cmpt_t
*
));
newcmpts
=
jas_realloc2
(
image
->
cmpts_
,
maxcmpts
,
sizeof
(
jas_image_cmpt_t
*
));
if
(
!
newcmpts
)
{
return
-
1
;
}
...
...
3rdparty/libjasper/jas_malloc.c
View file @
4157a640
...
...
@@ -76,6 +76,9 @@
/* We need the prototype for memset. */
#include <string.h>
#include <limits.h>
#include <errno.h>
#include <stdint.h>
#include "jasper/jas_malloc.h"
...
...
@@ -113,18 +116,50 @@ void jas_free(void *ptr)
void
*
jas_realloc
(
void
*
ptr
,
size_t
size
)
{
return
realloc
(
ptr
,
size
);
return
ptr
?
realloc
(
ptr
,
size
)
:
malloc
(
size
);
}
void
*
jas_calloc
(
size_t
nmemb
,
size_t
size
)
void
*
jas_realloc2
(
void
*
ptr
,
size_t
nmemb
,
size_t
size
)
{
if
(
!
ptr
)
return
jas_alloc2
(
nmemb
,
size
);
if
(
nmemb
&&
SIZE_MAX
/
nmemb
<
size
)
{
errno
=
ENOMEM
;
return
NULL
;
}
return
jas_realloc
(
ptr
,
nmemb
*
size
);
}
void
*
jas_alloc2
(
size_t
nmemb
,
size_t
size
)
{
if
(
nmemb
&&
SIZE_MAX
/
nmemb
<
size
)
{
errno
=
ENOMEM
;
return
NULL
;
}
return
jas_malloc
(
nmemb
*
size
);
}
void
*
jas_alloc3
(
size_t
a
,
size_t
b
,
size_t
c
)
{
void
*
ptr
;
size_t
n
;
n
=
nmemb
*
size
;
if
(
!
(
ptr
=
jas_malloc
(
n
*
sizeof
(
char
))))
{
return
0
;
if
(
a
&&
SIZE_MAX
/
a
<
b
)
{
errno
=
ENOMEM
;
return
NULL
;
}
memset
(
ptr
,
0
,
n
);
return
jas_alloc2
(
a
*
b
,
c
);
}
void
*
jas_calloc
(
size_t
nmemb
,
size_t
size
)
{
void
*
ptr
;
ptr
=
jas_alloc2
(
nmemb
,
size
);
if
(
ptr
)
memset
(
ptr
,
0
,
nmemb
*
size
);
return
ptr
;
}
...
...
3rdparty/libjasper/jas_seq.c
View file @
4157a640
...
...
@@ -114,7 +114,7 @@ jas_matrix_t *jas_matrix_create(int numrows, int numcols)
matrix
->
datasize_
=
numrows
*
numcols
;
if
(
matrix
->
maxrows_
>
0
)
{
if
(
!
(
matrix
->
rows_
=
jas_
malloc
(
matrix
->
maxrows_
*
if
(
!
(
matrix
->
rows_
=
jas_
alloc2
(
matrix
->
maxrows_
,
sizeof
(
jas_seqent_t
*
))))
{
jas_matrix_destroy
(
matrix
);
return
0
;
...
...
@@ -122,7 +122,7 @@ jas_matrix_t *jas_matrix_create(int numrows, int numcols)
}
if
(
matrix
->
datasize_
>
0
)
{
if
(
!
(
matrix
->
data_
=
jas_
malloc
(
matrix
->
datasize_
*
if
(
!
(
matrix
->
data_
=
jas_
alloc2
(
matrix
->
datasize_
,
sizeof
(
jas_seqent_t
))))
{
jas_matrix_destroy
(
matrix
);
return
0
;
...
...
@@ -220,7 +220,7 @@ void jas_matrix_bindsub(jas_matrix_t *mat0, jas_matrix_t *mat1, int r0, int c0,
mat0
->
numrows_
=
r1
-
r0
+
1
;
mat0
->
numcols_
=
c1
-
c0
+
1
;
mat0
->
maxrows_
=
mat0
->
numrows_
;
mat0
->
rows_
=
jas_
malloc
(
mat0
->
maxrows_
*
sizeof
(
jas_seqent_t
*
));
mat0
->
rows_
=
jas_
alloc2
(
mat0
->
maxrows_
,
sizeof
(
jas_seqent_t
*
));
for
(
i
=
0
;
i
<
mat0
->
numrows_
;
++
i
)
{
mat0
->
rows_
[
i
]
=
mat1
->
rows_
[
r0
+
i
]
+
c0
;
}
...
...
3rdparty/libjasper/jas_stream.c
View file @
4157a640
...
...
@@ -212,7 +212,7 @@ jas_stream_t *jas_stream_memopen(char *buf, int bufsize)
if
(
buf
)
{
obj
->
buf_
=
(
unsigned
char
*
)
buf
;
}
else
{
obj
->
buf_
=
jas_malloc
(
obj
->
bufsize_
*
sizeof
(
char
)
);
obj
->
buf_
=
jas_malloc
(
obj
->
bufsize_
);
obj
->
myalloc_
=
1
;
}
if
(
!
obj
->
buf_
)
{
...
...
@@ -361,28 +361,22 @@ jas_stream_t *jas_stream_tmpfile()
}
obj
->
fd
=
-
1
;
obj
->
flags
=
0
;
obj
->
pathname
[
0
]
=
'\0'
;
stream
->
obj_
=
obj
;
/* Choose a file name. */
tmpnam
(
obj
->
pathname
);
snprintf
(
obj
->
pathname
,
L_tmpnam
,
"%s/tmp.XXXXXXXXXX"
,
P_tmpdir
);
/* Open the underlying file. */
if
((
obj
->
fd
=
open
(
obj
->
pathname
,
O_CREAT
|
O_EXCL
|
O_RDWR
|
O_TRUNC
|
O_BINARY
,
JAS_STREAM_PERMS
))
<
0
)
{
if
((
obj
->
fd
=
mkstemp
(
obj
->
pathname
))
<
0
)
{
jas_stream_destroy
(
stream
);
return
0
;
}
/* Unlink the file so that it will disappear if the program
terminates abnormally. */
/* Under UNIX, one can unlink an open file and continue to do I/O
on it. Not all operating systems support this functionality, however.
For example, under Microsoft Windows the unlink operation will fail,
since the file is open. */
if
(
unlink
(
obj
->
pathname
))
{
/* We will try unlinking the file again after it is closed. */
obj
->
flags
|=
JAS_STREAM_FILEOBJ_DELONCLOSE
;
jas_stream_destroy
(
stream
);
return
0
;
}
/* Use full buffering. */
...
...
@@ -553,7 +547,7 @@ int jas_stream_printf(jas_stream_t *stream, const char *fmt, ...)
int
ret
;
va_start
(
ap
,
fmt
);
ret
=
vs
printf
(
buf
,
fmt
,
ap
);
ret
=
vs
nprintf
(
buf
,
sizeof
buf
,
fmt
,
ap
);
jas_stream_puts
(
stream
,
buf
);
va_end
(
ap
);
return
ret
;
...
...
@@ -992,7 +986,7 @@ static int mem_resize(jas_stream_memobj_t *m, int bufsize)
unsigned
char
*
buf
;
assert
(
m
->
buf_
);
if
(
!
(
buf
=
jas_realloc
(
m
->
buf_
,
bufsize
*
sizeof
(
unsigned
char
)
)))
{
if
(
!
(
buf
=
jas_realloc
(
m
->
buf_
,
bufsize
)))
{
return
-
1
;
}
m
->
buf_
=
buf
;
...
...
3rdparty/libjasper/jasper/jas_malloc.h
View file @
4157a640
...
...
@@ -95,6 +95,9 @@ extern "C" {
#define jas_free MEMFREE
#define jas_realloc MEMREALLOC
#define jas_calloc MEMCALLOC
#define jas_alloc2(a, b) MEMALLOC((a)*(b))
#define jas_alloc3(a, b, c) MEMALLOC((a)*(b)*(c))
#define jas_realloc2(p, a, b) MEMREALLOC((p), (a)*(b))
#endif
/******************************************************************************\
...
...
@@ -115,6 +118,12 @@ void *jas_realloc(void *ptr, size_t size);
/* Allocate a block of memory and initialize the contents to zero. */
void
*
jas_calloc
(
size_t
nmemb
,
size_t
size
);
/* size-checked double allocation .*/
void
*
jas_alloc2
(
size_t
,
size_t
);
void
*
jas_alloc3
(
size_t
,
size_t
,
size_t
);
void
*
jas_realloc2
(
void
*
,
size_t
,
size_t
);
#endif
#ifdef __cplusplus
...
...
3rdparty/libjasper/jp2_cod.c
View file @
4157a640
...
...
@@ -5,6 +5,11 @@
* All rights reserved.
*/
/*
* Modified by Andrey Kiselev <dron@remotesensing.org> to handle UUID
* box properly.
*/
/* __START_OF_JASPER_LICENSE__
*
* JasPer License Version 2.0
...
...
@@ -127,6 +132,9 @@ static void jp2_pclr_destroy(jp2_box_t *box);
static
int
jp2_pclr_getdata
(
jp2_box_t
*
box
,
jas_stream_t
*
in
);
static
int
jp2_pclr_putdata
(
jp2_box_t
*
box
,
jas_stream_t
*
out
);
static
void
jp2_pclr_dumpdata
(
jp2_box_t
*
box
,
FILE
*
out
);
static
void
jp2_uuid_destroy
(
jp2_box_t
*
box
);
static
int
jp2_uuid_getdata
(
jp2_box_t
*
box
,
jas_stream_t
*
in
);
static
int
jp2_uuid_putdata
(
jp2_box_t
*
box
,
jas_stream_t
*
out
);
/******************************************************************************\
* Local data.
...
...
@@ -164,7 +172,7 @@ jp2_boxinfo_t jp2_boxinfos[] = {
{
JP2_BOX_XML
,
"XML"
,
0
,
{
0
,
0
,
0
,
0
,
0
}},
{
JP2_BOX_UUID
,
"UUID"
,
0
,
{
0
,
0
,
0
,
0
,
0
}},
{
0
,
jp2_uuid_destroy
,
jp2_uuid_getdata
,
jp2_uuid_putdata
,
0
}},
{
JP2_BOX_UINF
,
"UINF"
,
JP2_BOX_SUPER
,
{
0
,
0
,
0
,
0
,
0
}},
{
JP2_BOX_ULST
,
"ULST"
,
0
,
...
...
@@ -372,7 +380,7 @@ static int jp2_bpcc_getdata(jp2_box_t *box, jas_stream_t *in)
jp2_bpcc_t
*
bpcc
=
&
box
->
data
.
bpcc
;
unsigned
int
i
;
bpcc
->
numcmpts
=
box
->
datalen
;
if
(
!
(
bpcc
->
bpcs
=
jas_
malloc
(
bpcc
->
numcmpts
*
sizeof
(
uint_fast8_t
))))
{
if
(
!
(
bpcc
->
bpcs
=
jas_
alloc2
(
bpcc
->
numcmpts
,
sizeof
(
uint_fast8_t
))))
{
return
-
1
;
}
for
(
i
=
0
;
i
<
bpcc
->
numcmpts
;
++
i
)
{
...
...
@@ -416,7 +424,7 @@ static int jp2_colr_getdata(jp2_box_t *box, jas_stream_t *in)
break
;
case
JP2_COLR_ICC
:
colr
->
iccplen
=
box
->
datalen
-
3
;
if
(
!
(
colr
->
iccp
=
jas_
malloc
(
colr
->
iccplen
*
sizeof
(
uint_fast8_t
))))
{
if
(
!
(
colr
->
iccp
=
jas_
alloc2
(
colr
->
iccplen
,
sizeof
(
uint_fast8_t
))))
{
return
-
1
;
}
if
(
jas_stream_read
(
in
,
colr
->
iccp
,
colr
->
iccplen
)
!=
colr
->
iccplen
)
{
...
...
@@ -453,7 +461,7 @@ static int jp2_cdef_getdata(jp2_box_t *box, jas_stream_t *in)
if
(
jp2_getuint16
(
in
,
&
cdef
->
numchans
))
{
return
-
1
;
}
if
(
!
(
cdef
->
ents
=
jas_
malloc
(
cdef
->
numchans
*
sizeof
(
jp2_cdefchan_t
))))
{
if
(
!
(
cdef
->
ents
=
jas_
alloc2
(
cdef
->
numchans
,
sizeof
(
jp2_cdefchan_t
))))
{
return
-
1
;
}
for
(
channo
=
0
;
channo
<
cdef
->
numchans
;
++
channo
)
{
...
...
@@ -766,7 +774,7 @@ static int jp2_cmap_getdata(jp2_box_t *box, jas_stream_t *in)
unsigned
int
i
;
cmap
->
numchans
=
(
box
->
datalen
)
/
4
;
if
(
!
(
cmap
->
ents
=
jas_
malloc
(
cmap
->
numchans
*
sizeof
(
jp2_cmapent_t
))))
{
if
(
!
(
cmap
->
ents
=
jas_
alloc2
(
cmap
->
numchans
,
sizeof
(
jp2_cmapent_t
))))
{
return
-
1
;
}
for
(
i
=
0
;
i
<
cmap
->
numchans
;
++
i
)
{
...
...
@@ -828,10 +836,10 @@ static int jp2_pclr_getdata(jp2_box_t *box, jas_stream_t *in)
return
-
1
;
}
lutsize
=
pclr
->
numlutents
*
pclr
->
numchans
;
if
(
!
(
pclr
->
lutdata
=
jas_
malloc
(
lutsize
*
sizeof
(
int_fast32_t
))))
{
if
(
!
(
pclr
->
lutdata
=
jas_
alloc2
(
lutsize
,
sizeof
(
int_fast32_t
))))
{
return
-
1
;
}
if
(
!
(
pclr
->
bpc
=
jas_
malloc
(
pclr
->
numchans
*
sizeof
(
uint_fast8_t
))))
{
if
(
!
(
pclr
->
bpc
=
jas_
alloc2
(
pclr
->
numchans
,
sizeof
(
uint_fast8_t
))))
{
return
-
1
;
}
for
(
i
=
0
;
i
<
pclr
->
numchans
;
++
i
)
{
...
...
@@ -876,6 +884,56 @@ static void jp2_pclr_dumpdata(jp2_box_t *box, FILE *out)
}
}
static
void
jp2_uuid_destroy
(
jp2_box_t
*
box
)
{
jp2_uuid_t
*
uuid
=
&
box
->
data
.
uuid
;
if
(
uuid
->
data
)
{
jas_free
(
uuid
->
data
);
uuid
->
data
=
NULL
;
}
}
static
int
jp2_uuid_getdata
(
jp2_box_t
*
box
,
jas_stream_t
*
in
)
{
jp2_uuid_t
*
uuid
=
&
box
->
data
.
uuid
;
int
i
;
for
(
i
=
0
;
i
<
16
;
i
++
)
{
if
(
jp2_getuint8
(
in
,
&
uuid
->
uuid
[
i
]))
return
-
1
;
}
uuid
->
datalen
=
box
->
datalen
-
16
;
uuid
->
data
=
jas_malloc
(
uuid
->
datalen
*
sizeof
(
uint_fast8_t
));
for
(
i
=
0
;
i
<
uuid
->
datalen
;
i
++
)
{
if
(
jp2_getuint8
(
in
,
&
uuid
->
data
[
i
]))
return
-
1
;
}
return
0
;
}
static
int
jp2_uuid_putdata
(
jp2_box_t
*
box
,
jas_stream_t
*
out
)
{
jp2_uuid_t
*
uuid
=
&
box
->
data
.
uuid
;
int
i
;
for
(
i
=
0
;
i
<
16
;
i
++
)
{
if
(
jp2_putuint8
(
out
,
uuid
->
uuid
[
i
]))
return
-
1
;
}
for
(
i
=
0
;
i
<
uuid
->
datalen
;
i
++
)
{
if
(
jp2_putuint8
(
out
,
uuid
->
data
[
i
]))
return
-
1
;
}
return
0
;
}
static
int
jp2_getint
(
jas_stream_t
*
in
,
int
s
,
int
n
,
int_fast32_t
*
val
)
{
int
c
;
...
...
3rdparty/libjasper/jp2_cod.h
View file @
4157a640
...
...
@@ -5,6 +5,11 @@
* All rights reserved.
*/
/*
* Modified by Andrey Kiselev <dron@remotesensing.org> to handle UUID
* box properly.
*/
/* __START_OF_JASPER_LICENSE__
*
* JasPer License Version 2.0
...
...
@@ -229,6 +234,12 @@ typedef struct {
jp2_cmapent_t
*
ents
;
}
jp2_cmap_t
;
typedef
struct
{
uint_fast32_t
datalen
;
uint_fast8_t
uuid
[
16
];
uint_fast8_t
*
data
;
}
jp2_uuid_t
;
#define JP2_CMAP_DIRECT 0
#define JP2_CMAP_PALETTE 1
...
...
@@ -257,6 +268,7 @@ typedef struct {
jp2_pclr_t
pclr
;
jp2_cdef_t
cdef
;
jp2_cmap_t
cmap
;
jp2_uuid_t
uuid
;
}
data
;
}
jp2_box_t
;
...
...
3rdparty/libjasper/jp2_dec.c
View file @
4157a640
...
...
@@ -336,7 +336,7 @@ jas_image_t *jp2_decode(jas_stream_t *in, char *optstr)
}
/* Allocate space for the channel-number to component-number LUT. */
if
(
!
(
dec
->
chantocmptlut
=
jas_
malloc
(
dec
->
numchans
*
sizeof
(
uint_fast16_t
))))
{
if
(
!
(
dec
->
chantocmptlut
=
jas_
alloc2
(
dec
->
numchans
,
sizeof
(
uint_fast16_t
))))
{
jas_eprintf
(
"error: no memory
\n
"
);
goto
error
;
}
...
...
@@ -354,7 +354,7 @@ jas_image_t *jp2_decode(jas_stream_t *in, char *optstr)
if
(
cmapent
->
map
==
JP2_CMAP_DIRECT
)
{
dec
->
chantocmptlut
[
channo
]
=
channo
;
}
else
if
(
cmapent
->
map
==
JP2_CMAP_PALETTE
)
{
lutents
=
jas_
malloc
(
pclrd
->
numlutents
*
sizeof
(
int_fast32_t
));
lutents
=
jas_
alloc2
(
pclrd
->
numlutents
,
sizeof
(
int_fast32_t
));
for
(
i
=
0
;
i
<
pclrd
->
numlutents
;
++
i
)
{
lutents
[
i
]
=
pclrd
->
lutdata
[
cmapent
->
pcol
+
i
*
pclrd
->
numchans
];
}
...
...
3rdparty/libjasper/jp2_enc.c
View file @
4157a640
...
...
@@ -5,6 +5,11 @@
* All rights reserved.
*/
/*
* Modified by Andrey Kiselev <dron@remotesensing.org> to handle UUID
* box properly.
*/
/* __START_OF_JASPER_LICENSE__
*
* JasPer License Version 2.0
...
...
@@ -86,7 +91,7 @@ static int clrspctojp2(jas_clrspc_t clrspc);
* Functions.
\******************************************************************************/
int
jp2_
encode
(
jas_image_t
*
image
,
jas_stream_t
*
out
,
char
*
optstr
)
int
jp2_
write_header
(
jas_image_t
*
image
,
jas_stream_t
*
out
)
{
jp2_box_t
*
box
;
jp2_ftyp_t
*
ftyp
;
...
...
@@ -97,8 +102,6 @@ int jp2_encode(jas_image_t *image, jas_stream_t *out, char *optstr)
long
len
;
uint_fast16_t
cmptno
;
jp2_colr_t
*
colr
;
char
buf
[
4096
];
uint_fast32_t
overhead
;
jp2_cdefchan_t
*
cdefchanent
;
jp2_cdef_t
*
cdef
;
int
i
;
...
...
@@ -191,7 +194,7 @@ int sgnd;
}
bpcc
=
&
box
->
data
.
bpcc
;
bpcc
->
numcmpts
=
jas_image_numcmpts
(
image
);
if
(
!
(
bpcc
->
bpcs
=
jas_
malloc
(
bpcc
->
numcmpts
*
if
(
!
(
bpcc
->
bpcs
=
jas_
alloc2
(
bpcc
->
numcmpts
,
sizeof
(
uint_fast8_t
))))
{
goto
error
;
}
...
...
@@ -285,7 +288,7 @@ int sgnd;
}
cdef
=
&
box
->
data
.
cdef
;
cdef
->
numchans
=
jas_image_numcmpts
(
image
);
cdef
->
ents
=
jas_
malloc
(
cdef
->
numchans
*
sizeof
(
jp2_cdefchan_t
));
cdef
->
ents
=
jas_
alloc2
(
cdef
->
numchans
,
sizeof
(
jp2_cdefchan_t
));
for
(
i
=
0
;
i
<
jas_image_numcmpts
(
image
);
++
i
)
{
cdefchanent
=
&
cdef
->
ents
[
i
];
cdefchanent
->
channo
=
i
;
...
...
@@ -326,6 +329,26 @@ int sgnd;
jas_stream_close
(
tmpstream
);
tmpstream
=
0
;
return
0
;
abort
();
error:
if
(
box
)
{
jp2_box_destroy
(
box
);
}
if
(
tmpstream
)
{
jas_stream_close
(
tmpstream
);
}
return
-
1
;
}
int
jp2_write_codestream
(
jas_image_t
*
image
,
jas_stream_t
*
out
,
char
*
optstr
)
{
jp2_box_t
*
box
;
char
buf
[
4096
];
uint_fast32_t
overhead
;
/*
* Output the contiguous code stream box.
*/
...
...
@@ -358,12 +381,34 @@ error:
if
(
box
)
{
jp2_box_destroy
(
box
);
}
if
(
tmpstream
)
{
jas_stream_close
(
tmpstream
);
}
return
-
1
;
}
int
jp2_encode
(
jas_image_t
*
image
,
jas_stream_t
*
out
,
char
*
optstr
)
{
if
(
jp2_write_header
(
image
,
out
)
<
0
)
return
-
1
;
if
(
jp2_write_codestream
(
image
,
out
,
optstr
)
<
0
)
return
-
1
;
return
0
;
}
int
jp2_encode_uuid
(
jas_image_t
*
image
,
jas_stream_t
*
out
,
char
*
optstr
,
jp2_box_t
*
uuid
)
{
if
(
jp2_write_header
(
image
,
out
)
<
0
)
return
-
1
;
if
(
uuid
)
{
if
(
jp2_box_put
(
uuid
,
out
))
return
-
1
;
}
if
(
jp2_write_codestream
(
image
,
out
,
optstr
)
<
0
)
return
-
1
;
return
0
;
}
static
uint_fast32_t
jp2_gettypeasoc
(
int
colorspace
,
int
ctype
)
{
int
type
;
...
...
3rdparty/libjasper/jpc_cs.c
View file @
4157a640
...
...
@@ -501,7 +501,7 @@ static int jpc_siz_getparms(jpc_ms_t *ms, jpc_cstate_t *cstate,
!
siz
->
tileheight
||
!
siz
->
numcomps
)
{
return
-
1
;
}
if
(
!
(
siz
->
comps
=
jas_
malloc
(
siz
->
numcomps
*
sizeof
(
jpc_sizcomp_t
))))
{
if
(
!
(
siz
->
comps
=
jas_
alloc2
(
siz
->
numcomps
,
sizeof
(
jpc_sizcomp_t
))))
{
return
-
1
;
}
for
(
i
=
0
;
i
<
siz
->
numcomps
;
++
i
)
{
...
...
@@ -981,7 +981,10 @@ static int jpc_qcx_getcompparms(jpc_qcxcp_t *compparms, jpc_cstate_t *cstate,
compparms
->
numstepsizes
=
(
len
-
n
)
/
2
;
break
;
}
if
(
compparms
->
numstepsizes
>
0
)
{
if
(
compparms
->
numstepsizes
>
3
*
JPC_MAXRLVLS
+
1
)
{
jpc_qcx_destroycompparms
(
compparms
);
return
-
1
;
}
else
if
(
compparms
->
numstepsizes
>
0
)
{
compparms
->
stepsizes
=
jas_malloc
(
compparms
->
numstepsizes
*
sizeof
(
uint_fast16_t
));
assert
(
compparms
->
stepsizes
);
...
...
@@ -1090,7 +1093,7 @@ static int jpc_ppm_getparms(jpc_ms_t *ms, jpc_cstate_t *cstate, jas_stream_t *in
ppm
->
len
=
ms
->
len
-
1
;
if
(
ppm
->
len
>
0
)
{
if
(
!
(
ppm
->
data
=
jas_malloc
(
ppm
->
len
*
sizeof
(
unsigned
char
)
)))
{
if
(
!
(
ppm
->
data
=
jas_malloc
(
ppm
->
len
)))
{
goto
error
;
}
if
(
JAS_CAST
(
uint
,
jas_stream_read
(
in
,
ppm
->
data
,
ppm
->
len
))
!=
ppm
->
len
)
{
...
...
@@ -1159,7 +1162,7 @@ static int jpc_ppt_getparms(jpc_ms_t *ms, jpc_cstate_t *cstate, jas_stream_t *in
}
ppt
->
len
=
ms
->
len
-
1
;
if
(
ppt
->
len
>
0
)
{
if
(
!
(
ppt
->
data
=
jas_malloc
(
ppt
->
len
*
sizeof
(
unsigned
char
)
)))
{
if
(
!
(
ppt
->
data
=
jas_malloc
(
ppt
->
len
)))
{
goto
error
;
}
if
(
jas_stream_read
(
in
,
(
char
*
)
ppt
->
data
,
ppt
->
len
)
!=
JAS_CAST
(
int
,
ppt
->
len
))
{
...
...
@@ -1222,7 +1225,7 @@ static int jpc_poc_getparms(jpc_ms_t *ms, jpc_cstate_t *cstate, jas_stream_t *in
uint_fast8_t
tmp
;
poc
->
numpchgs
=
(
cstate
->
numcomps
>
256
)
?
(
ms
->
len
/
9
)
:
(
ms
->
len
/
7
);
if
(
!
(
poc
->
pchgs
=
jas_
malloc
(
poc
->
numpchgs
*
sizeof
(
jpc_pocpchg_t
))))
{
if
(
!
(
poc
->
pchgs
=
jas_
alloc2
(
poc
->
numpchgs
,
sizeof
(
jpc_pocpchg_t
))))
{
goto
error
;
}
for
(
pchgno
=
0
,
pchg
=
poc
->
pchgs
;
pchgno
<
poc
->
numpchgs
;
++
pchgno
,
...
...
@@ -1327,7 +1330,7 @@ static int jpc_crg_getparms(jpc_ms_t *ms, jpc_cstate_t *cstate, jas_stream_t *in
jpc_crgcomp_t
*
comp
;
uint_fast16_t
compno
;
crg
->
numcomps
=
cstate
->
numcomps
;
if
(
!
(
crg
->
comps
=
jas_
malloc
(
cstate
->
numcomps
*
sizeof
(
uint_fast16_t
))))
{
if
(
!
(
crg
->
comps
=
jas_
alloc2
(
cstate
->
numcomps
,
sizeof
(
uint_fast16_t
))))
{
return
-
1
;
}
for
(
compno
=
0
,
comp
=
crg
->
comps
;
compno
<
cstate
->
numcomps
;
...
...
@@ -1466,7 +1469,7 @@ static int jpc_unk_getparms(jpc_ms_t *ms, jpc_cstate_t *cstate, jas_stream_t *in
cstate
=
0
;
if
(
ms
->
len
>
0
)
{
if
(
!
(
unk
->
data
=
jas_malloc
(
ms
->
len
*
sizeof
(
unsigned
char
)
)))
{
if
(
!
(
unk
->
data
=
jas_malloc
(
ms
->
len
)))
{
return
-
1
;
}
if
(
jas_stream_read
(
in
,
(
char
*
)
unk
->
data
,
ms
->
len
)
!=
JAS_CAST
(
int
,
ms
->
len
))
{
...
...
3rdparty/libjasper/jpc_dec.c
View file @
4157a640
...
...
@@ -449,7 +449,7 @@ static int jpc_dec_process_sot(jpc_dec_t *dec, jpc_ms_t *ms)
if
(
dec
->
state
==
JPC_MH
)
{
compinfos
=
jas_
malloc
(
dec
->
numcomps
*
sizeof
(
jas_image_cmptparm_t
));
compinfos
=
jas_
alloc2
(
dec
->
numcomps
,
sizeof
(
jas_image_cmptparm_t
));
assert
(
compinfos
);
for
(
cmptno
=
0
,
cmpt
=
dec
->
cmpts
,
compinfo
=
compinfos
;
cmptno
<
dec
->
numcomps
;
++
cmptno
,
++
cmpt
,
++
compinfo
)
{
...
...
@@ -692,7 +692,7 @@ static int jpc_dec_tileinit(jpc_dec_t *dec, jpc_dec_tile_t *tile)
tile
->
realmode
=
1
;
}
tcomp
->
numrlvls
=
ccp
->
numrlvls
;
if
(
!
(
tcomp
->
rlvls
=
jas_
malloc
(
tcomp
->
numrlvls
*
if
(
!
(
tcomp
->
rlvls
=
jas_
alloc2
(
tcomp
->
numrlvls
,
sizeof
(
jpc_dec_rlvl_t
))))
{
return
-
1
;
}
...
...
@@ -764,7 +764,7 @@ rlvl->bands = 0;
rlvl
->
cbgheightexpn
);
rlvl
->
numbands
=
(
!
rlvlno
)
?
1
:
3
;
if
(
!
(
rlvl
->
bands
=
jas_
malloc
(
rlvl
->
numbands
*
if
(
!
(
rlvl
->
bands
=
jas_
alloc2
(
rlvl
->
numbands
,
sizeof
(
jpc_dec_band_t
))))
{
return
-
1
;
}
...
...
@@ -797,7 +797,7 @@ rlvl->bands = 0;
assert
(
rlvl
->
numprcs
);
if
(
!
(
band
->
prcs
=
jas_
malloc
(
rlvl
->
numprcs
*
sizeof
(
jpc_dec_prc_t
))))
{
if
(
!
(
band
->
prcs
=
jas_
alloc2
(
rlvl
->
numprcs
,
sizeof
(
jpc_dec_prc_t
))))
{
return
-
1
;
}
...
...
@@ -834,7 +834,7 @@ rlvl->bands = 0;
if
(
!
(
prc
->
numimsbstagtree
=
jpc_tagtree_create
(
prc
->
numhcblks
,
prc
->
numvcblks
)))
{
return
-
1
;
}
if
(
!
(
prc
->
cblks
=
jas_
malloc
(
prc
->
numcblks
*
sizeof
(
jpc_dec_cblk_t
))))
{
if
(
!
(
prc
->
cblks
=
jas_
alloc2
(
prc
->
numcblks
,
sizeof
(
jpc_dec_cblk_t
))))
{
return
-
1
;
}
...
...
@@ -1069,12 +1069,12 @@ static int jpc_dec_tiledecode(jpc_dec_t *dec, jpc_dec_tile_t *tile)
/* Apply an inverse intercomponent transform if necessary. */
switch
(
tile
->
cp
->
mctid
)
{
case
JPC_MCT_RCT
:
assert
(
dec
->
numcomps
==
3
);
assert
(
dec
->
numcomps
==
3
||
dec
->
numcomps
==
4
);
jpc_irct
(
tile
->
tcomps
[
0
].
data
,
tile
->
tcomps
[
1
].
data
,
tile
->
tcomps
[
2
].
data
);
break
;
case
JPC_MCT_ICT
:
assert
(
dec
->
numcomps
==
3
);
assert
(
dec
->
numcomps
==
3
||
dec
->
numcomps
==
4
);
jpc_iict
(
tile
->
tcomps
[
0
].
data
,
tile
->
tcomps
[
1
].
data
,
tile
->
tcomps
[
2
].
data
);
break
;
...
...
@@ -1181,7 +1181,7 @@ static int jpc_dec_process_siz(jpc_dec_t *dec, jpc_ms_t *ms)
return
-
1
;
}
if
(
!
(
dec
->
cmpts
=
jas_
malloc
(
dec
->
numcomps
*
sizeof
(
jpc_dec_cmpt_t
))))
{
if
(
!
(
dec
->
cmpts
=
jas_
alloc2
(
dec
->
numcomps
,
sizeof
(
jpc_dec_cmpt_t
))))
{
return
-
1
;
}
...
...
@@ -1204,7 +1204,7 @@ static int jpc_dec_process_siz(jpc_dec_t *dec, jpc_ms_t *ms)
dec
->
numhtiles
=
JPC_CEILDIV
(
dec
->
xend
-
dec
->
tilexoff
,
dec
->
tilewidth
);
dec
->
numvtiles
=
JPC_CEILDIV
(
dec
->
yend
-
dec
->
tileyoff
,
dec
->
tileheight
);
dec
->
numtiles
=
dec
->
numhtiles
*
dec
->
numvtiles
;
if
(
!
(
dec
->
tiles
=
jas_
malloc
(
dec
->
numtiles
*
sizeof
(
jpc_dec_tile_t
))))
{
if
(
!
(
dec
->
tiles
=
jas_
alloc2
(
dec
->
numtiles
,
sizeof
(
jpc_dec_tile_t
))))
{
return
-
1
;
}
...
...
@@ -1228,7 +1228,7 @@ static int jpc_dec_process_siz(jpc_dec_t *dec, jpc_ms_t *ms)
tile
->
pkthdrstreampos
=
0
;
tile
->
pptstab
=
0
;
tile
->
cp
=
0
;
if
(
!
(
tile
->
tcomps
=
jas_
malloc
(
dec
->
numcomps
*
if
(
!
(
tile
->
tcomps
=
jas_
alloc2
(
dec
->
numcomps
,
sizeof
(
jpc_dec_tcomp_t
))))
{
return
-
1
;
}
...
...
@@ -1489,7 +1489,7 @@ static jpc_dec_cp_t *jpc_dec_cp_create(uint_fast16_t numcomps)
cp
->
numlyrs
=
0
;
cp
->
mctid
=
0
;
cp
->
csty
=
0
;
if
(
!
(
cp
->
ccps
=
jas_
malloc
(
cp
->
numcomps
*
sizeof
(
jpc_dec_ccp_t
))))
{
if
(
!
(
cp
->
ccps
=
jas_
alloc2
(
cp
->
numcomps
,
sizeof
(
jpc_dec_ccp_t
))))
{
return
0
;
}
if
(
!
(
cp
->
pchglist
=
jpc_pchglist_create
()))
{
...
...
@@ -2048,7 +2048,7 @@ jpc_streamlist_t *jpc_streamlist_create()
}
streamlist
->
numstreams
=
0
;
streamlist
->
maxstreams
=
100
;
if
(
!
(
streamlist
->
streams
=
jas_
malloc
(
streamlist
->
maxstreams
*
if
(
!
(
streamlist
->
streams
=
jas_
alloc2
(
streamlist
->
maxstreams
,
sizeof
(
jas_stream_t
*
))))
{
jas_free
(
streamlist
);
return
0
;
...
...
@@ -2068,8 +2068,8 @@ int jpc_streamlist_insert(jpc_streamlist_t *streamlist, int streamno,
/* Grow the array of streams if necessary. */
if
(
streamlist
->
numstreams
>=
streamlist
->
maxstreams
)
{
newmaxstreams
=
streamlist
->
maxstreams
+
1024
;
if
(
!
(
newstreams
=
jas_realloc
(
streamlist
->
streams
,
(
newmaxstreams
+
1024
)
*
sizeof
(
jas_stream_t
*
))))
{
if
(
!
(
newstreams
=
jas_realloc
2
(
streamlist
->
streams
,
(
newmaxstreams
+
1024
)
,
sizeof
(
jas_stream_t
*
))))
{
return
-
1
;
}
for
(
i
=
streamlist
->
numstreams
;
i
<
streamlist
->
maxstreams
;
++
i
)
{
...
...
@@ -2155,8 +2155,7 @@ int jpc_ppxstab_grow(jpc_ppxstab_t *tab, int maxents)
{
jpc_ppxstabent_t
**
newents
;
if
(
tab
->
maxents
<
maxents
)
{
newents
=
(
tab
->
ents
)
?
jas_realloc
(
tab
->
ents
,
maxents
*
sizeof
(
jpc_ppxstabent_t
*
))
:
jas_malloc
(
maxents
*
sizeof
(
jpc_ppxstabent_t
*
));
newents
=
jas_realloc2
(
tab
->
ents
,
maxents
,
sizeof
(
jpc_ppxstabent_t
*
));
if
(
!
newents
)
{
return
-
1
;
}
...
...
3rdparty/libjasper/jpc_enc.c
View file @
4157a640
...
...
@@ -403,7 +403,7 @@ static jpc_enc_cp_t *cp_create(char *optstr, jas_image_t *image)
vsteplcm
*=
jas_image_cmptvstep
(
image
,
cmptno
);
}
if
(
!
(
cp
->
ccps
=
jas_
malloc
(
cp
->
numcmpts
*
sizeof
(
jpc_enc_ccp_t
))))
{
if
(
!
(
cp
->
ccps
=
jas_
alloc2
(
cp
->
numcmpts
,
sizeof
(
jpc_enc_ccp_t
))))
{
goto
error
;
}
for
(
cmptno
=
0
,
ccp
=
cp
->
ccps
;
cmptno
<
JAS_CAST
(
int
,
cp
->
numcmpts
);
++
cmptno
,
...
...
@@ -656,7 +656,7 @@ static jpc_enc_cp_t *cp_create(char *optstr, jas_image_t *image)
if
(
ilyrrates
&&
numilyrrates
>
0
)
{
tcp
->
numlyrs
=
numilyrrates
+
1
;
if
(
!
(
tcp
->
ilyrrates
=
jas_
malloc
((
tcp
->
numlyrs
-
1
)
*
if
(
!
(
tcp
->
ilyrrates
=
jas_
alloc2
((
tcp
->
numlyrs
-
1
),
sizeof
(
jpc_fix_t
))))
{
goto
error
;
}
...
...
@@ -940,7 +940,7 @@ startoff = jas_stream_getrwcount(enc->out);
siz
->
tilewidth
=
cp
->
tilewidth
;
siz
->
tileheight
=
cp
->
tileheight
;
siz
->
numcomps
=
cp
->
numcmpts
;
siz
->
comps
=
jas_
malloc
(
siz
->
numcomps
*
sizeof
(
jpc_sizcomp_t
));
siz
->
comps
=
jas_
alloc2
(
siz
->
numcomps
,
sizeof
(
jpc_sizcomp_t
));
assert
(
siz
->
comps
);
for
(
i
=
0
;
i
<
JAS_CAST
(
int
,
cp
->
numcmpts
);
++
i
)
{
siz
->
comps
[
i
].
prec
=
cp
->
ccps
[
i
].
prec
;
...
...
@@ -977,7 +977,7 @@ startoff = jas_stream_getrwcount(enc->out);
return -1;
}
crg = &enc->mrk->parms.crg;
crg->comps = jas_
malloc(crg->numcomps *
sizeof(jpc_crgcomp_t));
crg->comps = jas_
alloc2(crg->numcomps,
sizeof(jpc_crgcomp_t));
if (jpc_putms(enc->out, enc->cstate, enc->mrk)) {
jas_eprintf("cannot write CRG marker\n");
return -1;
...
...
@@ -1955,7 +1955,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_enc_cp_t *cp, jas_image_t *image, int ti
tile
->
mctid
=
cp
->
tcp
.
mctid
;
tile
->
numlyrs
=
cp
->
tcp
.
numlyrs
;
if
(
!
(
tile
->
lyrsizes
=
jas_
malloc
(
tile
->
numlyrs
*
if
(
!
(
tile
->
lyrsizes
=
jas_
alloc2
(
tile
->
numlyrs
,
sizeof
(
uint_fast32_t
))))
{
goto
error
;
}
...
...
@@ -1964,7 +1964,7 @@ jpc_enc_tile_t *jpc_enc_tile_create(jpc_enc_cp_t *cp, jas_image_t *image, int ti
}
/* Allocate an array for the per-tile-component information. */
if
(
!
(
tile
->
tcmpts
=
jas_
malloc
(
cp
->
numcmpts
*
sizeof
(
jpc_enc_tcmpt_t
))))
{
if
(
!
(
tile
->
tcmpts
=
jas_
alloc2
(
cp
->
numcmpts
,
sizeof
(
jpc_enc_tcmpt_t
))))
{
goto
error
;
}
/* Initialize a few members critical for error recovery. */
...
...
@@ -2110,7 +2110,7 @@ static jpc_enc_tcmpt_t *tcmpt_create(jpc_enc_tcmpt_t *tcmpt, jpc_enc_cp_t *cp,
jas_seq2d_ystart
(
tcmpt
->
data
),
jas_seq2d_xend
(
tcmpt
->
data
),
jas_seq2d_yend
(
tcmpt
->
data
),
bandinfos
);
if
(
!
(
tcmpt
->
rlvls
=
jas_
malloc
(
tcmpt
->
numrlvls
*
sizeof
(
jpc_enc_rlvl_t
))))
{
if
(
!
(
tcmpt
->
rlvls
=
jas_
alloc2
(
tcmpt
->
numrlvls
,
sizeof
(
jpc_enc_rlvl_t
))))
{
goto
error
;
}
for
(
rlvlno
=
0
,
rlvl
=
tcmpt
->
rlvls
;
rlvlno
<
tcmpt
->
numrlvls
;
...
...
@@ -2213,7 +2213,7 @@ static jpc_enc_rlvl_t *rlvl_create(jpc_enc_rlvl_t *rlvl, jpc_enc_cp_t *cp,
rlvl
->
numvprcs
=
JPC_FLOORDIVPOW2
(
brprcbry
-
tlprctly
,
rlvl
->
prcheightexpn
);
rlvl
->
numprcs
=
rlvl
->
numhprcs
*
rlvl
->
numvprcs
;
if
(
!
(
rlvl
->
bands
=
jas_
malloc
(
rlvl
->
numbands
*
sizeof
(
jpc_enc_band_t
))))
{
if
(
!
(
rlvl
->
bands
=
jas_
alloc2
(
rlvl
->
numbands
,
sizeof
(
jpc_enc_band_t
))))
{
goto
error
;
}
for
(
bandno
=
0
,
band
=
rlvl
->
bands
;
bandno
<
rlvl
->
numbands
;
...
...
@@ -2290,7 +2290,7 @@ if (bandinfo->xstart != bandinfo->xend && bandinfo->ystart != bandinfo->yend) {
band
->
synweight
=
bandinfo
->
synenergywt
;
if
(
band
->
data
)
{
if
(
!
(
band
->
prcs
=
jas_
malloc
(
rlvl
->
numprcs
*
sizeof
(
jpc_enc_prc_t
))))
{
if
(
!
(
band
->
prcs
=
jas_
alloc2
(
rlvl
->
numprcs
,
sizeof
(
jpc_enc_prc_t
))))
{
goto
error
;
}
for
(
prcno
=
0
,
prc
=
band
->
prcs
;
prcno
<
rlvl
->
numprcs
;
++
prcno
,
...
...
@@ -2422,7 +2422,7 @@ if (!rlvlno) {
goto
error
;
}
if
(
!
(
prc
->
cblks
=
jas_
malloc
(
prc
->
numcblks
*
sizeof
(
jpc_enc_cblk_t
))))
{
if
(
!
(
prc
->
cblks
=
jas_
alloc2
(
prc
->
numcblks
,
sizeof
(
jpc_enc_cblk_t
))))
{
goto
error
;
}
for
(
cblkno
=
0
,
cblk
=
prc
->
cblks
;
cblkno
<
prc
->
numcblks
;
...
...
3rdparty/libjasper/jpc_mqdec.c
View file @
4157a640
...
...
@@ -118,7 +118,7 @@ jpc_mqdec_t *jpc_mqdec_create(int maxctxs, jas_stream_t *in)
mqdec
->
in
=
in
;
mqdec
->
maxctxs
=
maxctxs
;
/* Allocate memory for the per-context state information. */
if
(
!
(
mqdec
->
ctxs
=
jas_
malloc
(
mqdec
->
maxctxs
*
sizeof
(
jpc_mqstate_t
*
))))
{
if
(
!
(
mqdec
->
ctxs
=
jas_
alloc2
(
mqdec
->
maxctxs
,
sizeof
(
jpc_mqstate_t
*
))))
{
goto
error
;
}
/* Set the current context to the first context. */
...
...
3rdparty/libjasper/jpc_mqenc.c
View file @
4157a640
...
...
@@ -197,7 +197,7 @@ jpc_mqenc_t *jpc_mqenc_create(int maxctxs, jas_stream_t *out)
mqenc
->
maxctxs
=
maxctxs
;
/* Allocate memory for the per-context state information. */
if
(
!
(
mqenc
->
ctxs
=
jas_
malloc
(
mqenc
->
maxctxs
*
sizeof
(
jpc_mqstate_t
*
))))
{
if
(
!
(
mqenc
->
ctxs
=
jas_
alloc2
(
mqenc
->
maxctxs
,
sizeof
(
jpc_mqstate_t
*
))))
{
goto
error
;
}
...
...
3rdparty/libjasper/jpc_qmfb.c
View file @
4157a640
...
...
@@ -321,7 +321,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int parity)
#if !defined(HAVE_VLA)
/* Get a buffer. */
if
(
bufsize
>
QMFB_SPLITBUFSIZE
)
{
if
(
!
(
buf
=
jas_
malloc
(
bufsize
*
sizeof
(
jpc_fix_t
))))
{
if
(
!
(
buf
=
jas_
alloc2
(
bufsize
,
sizeof
(
jpc_fix_t
))))
{
/* We have no choice but to commit suicide in this case. */
abort
();
}
...
...
@@ -389,7 +389,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, int numrows, int stride,
#if !defined(HAVE_VLA)
/* Get a buffer. */
if
(
bufsize
>
QMFB_SPLITBUFSIZE
)
{
if
(
!
(
buf
=
jas_
malloc
(
bufsize
*
sizeof
(
jpc_fix_t
))))
{
if
(
!
(
buf
=
jas_
alloc2
(
bufsize
,
sizeof
(
jpc_fix_t
))))
{
/* We have no choice but to commit suicide in this case. */
abort
();
}
...
...
@@ -460,7 +460,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, int numrows, int stride,
#if !defined(HAVE_VLA)
/* Get a buffer. */
if
(
bufsize
>
QMFB_SPLITBUFSIZE
)
{
if
(
!
(
buf
=
jas_
malloc
(
bufsize
*
sizeof
(
jpc_fix_t
))))
{
if
(
!
(
buf
=
jas_
alloc2
(
bufsize
,
sizeof
(
jpc_fix_t
))))
{
/* We have no choice but to commit suicide in this case. */
abort
();
}
...
...
@@ -549,7 +549,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, int numcols,
#if !defined(HAVE_VLA)
/* Get a buffer. */
if
(
bufsize
>
QMFB_SPLITBUFSIZE
)
{
if
(
!
(
buf
=
jas_
malloc
(
bufsize
*
sizeof
(
jpc_fix_t
))))
{
if
(
!
(
buf
=
jas_
alloc2
(
bufsize
,
sizeof
(
jpc_fix_t
))))
{
/* We have no choice but to commit suicide in this case. */
abort
();
}
...
...
@@ -633,7 +633,7 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int numcols, int parity)
#if !defined(HAVE_VLA)
/* Allocate memory for the join buffer from the heap. */
if
(
bufsize
>
QMFB_JOINBUFSIZE
)
{
if
(
!
(
buf
=
jas_
malloc
(
bufsize
*
sizeof
(
jpc_fix_t
))))
{
if
(
!
(
buf
=
jas_
alloc2
(
bufsize
,
sizeof
(
jpc_fix_t
))))
{
/* We have no choice but to commit suicide. */
abort
();
}
...
...
@@ -698,7 +698,7 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int numrows, int stride,
#if !defined(HAVE_VLA)
/* Allocate memory for the join buffer from the heap. */
if
(
bufsize
>
QMFB_JOINBUFSIZE
)
{
if
(
!
(
buf
=
jas_
malloc
(
bufsize
*
sizeof
(
jpc_fix_t
))))
{
if
(
!
(
buf
=
jas_
alloc2
(
bufsize
,
sizeof
(
jpc_fix_t
))))
{
/* We have no choice but to commit suicide. */
abort
();
}
...
...
@@ -766,7 +766,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, int numrows, int stride,
#if !defined(HAVE_VLA)
/* Allocate memory for the join buffer from the heap. */
if
(
bufsize
>
QMFB_JOINBUFSIZE
)
{
if
(
!
(
buf
=
jas_
malloc
(
bufsize
*
JPC_QMFB_COLGRPSIZE
*
sizeof
(
jpc_fix_t
))))
{
if
(
!
(
buf
=
jas_
alloc2
(
bufsize
,
JPC_QMFB_COLGRPSIZE
*
sizeof
(
jpc_fix_t
))))
{
/* We have no choice but to commit suicide. */
abort
();
}
...
...
@@ -852,7 +852,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, int numcols,
#if !defined(HAVE_VLA)
/* Allocate memory for the join buffer from the heap. */
if
(
bufsize
>
QMFB_JOINBUFSIZE
)
{
if
(
!
(
buf
=
jas_
malloc
(
bufsize
*
numcols
*
sizeof
(
jpc_fix_t
))))
{
if
(
!
(
buf
=
jas_
alloc3
(
bufsize
,
numcols
,
sizeof
(
jpc_fix_t
))))
{
/* We have no choice but to commit suicide. */
abort
();
}
...
...
3rdparty/libjasper/jpc_t1enc.c
View file @
4157a640
...
...
@@ -219,7 +219,7 @@ int jpc_enc_enccblk(jpc_enc_t *enc, jas_stream_t *out, jpc_enc_tcmpt_t *tcmpt, j
cblk
->
numpasses
=
(
cblk
->
numbps
>
0
)
?
(
3
*
cblk
->
numbps
-
2
)
:
0
;
if
(
cblk
->
numpasses
>
0
)
{
cblk
->
passes
=
jas_
malloc
(
cblk
->
numpasses
*
sizeof
(
jpc_enc_pass_t
));
cblk
->
passes
=
jas_
alloc2
(
cblk
->
numpasses
,
sizeof
(
jpc_enc_pass_t
));
assert
(
cblk
->
passes
);
}
else
{
cblk
->
passes
=
0
;
...
...
3rdparty/libjasper/jpc_t2cod.c
View file @
4157a640
...
...
@@ -573,7 +573,7 @@ int jpc_pchglist_insert(jpc_pchglist_t *pchglist, int pchgno, jpc_pchg_t *pchg)
}
if
(
pchglist
->
numpchgs
>=
pchglist
->
maxpchgs
)
{
newmaxpchgs
=
pchglist
->
maxpchgs
+
128
;
if
(
!
(
newpchgs
=
jas_realloc
(
pchglist
->
pchgs
,
newmaxpchgs
*
sizeof
(
jpc_pchg_t
*
))))
{
if
(
!
(
newpchgs
=
jas_realloc
2
(
pchglist
->
pchgs
,
newmaxpchgs
,
sizeof
(
jpc_pchg_t
*
))))
{
return
-
1
;
}
pchglist
->
maxpchgs
=
newmaxpchgs
;
...
...
3rdparty/libjasper/jpc_t2dec.c
View file @
4157a640
...
...
@@ -478,7 +478,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *dec, jpc_dec_tile_t *tile)
return
0
;
}
pi
->
numcomps
=
dec
->
numcomps
;
if
(
!
(
pi
->
picomps
=
jas_
malloc
(
pi
->
numcomps
*
sizeof
(
jpc_picomp_t
))))
{
if
(
!
(
pi
->
picomps
=
jas_
alloc2
(
pi
->
numcomps
,
sizeof
(
jpc_picomp_t
))))
{
jpc_pi_destroy
(
pi
);
return
0
;
}
...
...
@@ -490,7 +490,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *dec, jpc_dec_tile_t *tile)
for
(
compno
=
0
,
tcomp
=
tile
->
tcomps
,
picomp
=
pi
->
picomps
;
compno
<
pi
->
numcomps
;
++
compno
,
++
tcomp
,
++
picomp
)
{
picomp
->
numrlvls
=
tcomp
->
numrlvls
;
if
(
!
(
picomp
->
pirlvls
=
jas_
malloc
(
picomp
->
numrlvls
*
if
(
!
(
picomp
->
pirlvls
=
jas_
alloc2
(
picomp
->
numrlvls
,
sizeof
(
jpc_pirlvl_t
))))
{
jpc_pi_destroy
(
pi
);
return
0
;
...
...
@@ -503,7 +503,7 @@ jpc_pi_t *jpc_dec_pi_create(jpc_dec_t *dec, jpc_dec_tile_t *tile)
rlvlno
<
picomp
->
numrlvls
;
++
rlvlno
,
++
pirlvl
,
++
rlvl
)
{
/* XXX sizeof(long) should be sizeof different type */
pirlvl
->
numprcs
=
rlvl
->
numprcs
;
if
(
!
(
pirlvl
->
prclyrnos
=
jas_
malloc
(
pirlvl
->
numprcs
*
if
(
!
(
pirlvl
->
prclyrnos
=
jas_
alloc2
(
pirlvl
->
numprcs
,
sizeof
(
long
))))
{
jpc_pi_destroy
(
pi
);
return
0
;
...
...
3rdparty/libjasper/jpc_t2enc.c
View file @
4157a640
...
...
@@ -565,7 +565,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t *cp, jpc_enc_tile_t *tile)
}
pi
->
pktno
=
-
1
;
pi
->
numcomps
=
cp
->
numcmpts
;
if
(
!
(
pi
->
picomps
=
jas_
malloc
(
pi
->
numcomps
*
sizeof
(
jpc_picomp_t
))))
{
if
(
!
(
pi
->
picomps
=
jas_
alloc2
(
pi
->
numcomps
,
sizeof
(
jpc_picomp_t
))))
{
jpc_pi_destroy
(
pi
);
return
0
;
}
...
...
@@ -577,7 +577,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t *cp, jpc_enc_tile_t *tile)
for
(
compno
=
0
,
tcomp
=
tile
->
tcmpts
,
picomp
=
pi
->
picomps
;
compno
<
pi
->
numcomps
;
++
compno
,
++
tcomp
,
++
picomp
)
{
picomp
->
numrlvls
=
tcomp
->
numrlvls
;
if
(
!
(
picomp
->
pirlvls
=
jas_
malloc
(
picomp
->
numrlvls
*
if
(
!
(
picomp
->
pirlvls
=
jas_
alloc2
(
picomp
->
numrlvls
,
sizeof
(
jpc_pirlvl_t
))))
{
jpc_pi_destroy
(
pi
);
return
0
;
...
...
@@ -591,7 +591,7 @@ jpc_pi_t *jpc_enc_pi_create(jpc_enc_cp_t *cp, jpc_enc_tile_t *tile)
/* XXX sizeof(long) should be sizeof different type */
pirlvl
->
numprcs
=
rlvl
->
numprcs
;
if
(
rlvl
->
numprcs
)
{
if
(
!
(
pirlvl
->
prclyrnos
=
jas_
malloc
(
pirlvl
->
numprcs
*
if
(
!
(
pirlvl
->
prclyrnos
=
jas_
alloc2
(
pirlvl
->
numprcs
,
sizeof
(
long
))))
{
jpc_pi_destroy
(
pi
);
return
0
;
...
...
3rdparty/libjasper/jpc_tagtree.c
View file @
4157a640
...
...
@@ -125,7 +125,7 @@ jpc_tagtree_t *jpc_tagtree_create(int numleafsh, int numleafsv)
++
numlvls
;
}
while
(
n
>
1
);
if
(
!
(
tree
->
nodes_
=
jas_
malloc
(
tree
->
numnodes_
*
sizeof
(
jpc_tagtreenode_t
))))
{
if
(
!
(
tree
->
nodes_
=
jas_
alloc2
(
tree
->
numnodes_
,
sizeof
(
jpc_tagtreenode_t
))))
{
return
0
;
}
...
...
3rdparty/libjasper/jpc_util.c
View file @
4157a640
...
...
@@ -109,7 +109,7 @@ int jpc_atoaf(char *s, int *numvalues, double **values)
}
if
(
n
)
{
if
(
!
(
vs
=
jas_
malloc
(
n
*
sizeof
(
double
))))
{
if
(
!
(
vs
=
jas_
alloc2
(
n
,
sizeof
(
double
))))
{
return
-
1
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment