Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (4)
New upstream version 3.2.9
· 31a0f506
Bas Couwenberg
authored
Feb 11, 2019
31a0f506
Merge tag 'upstream/3.2.9'
· 0892ff09
Bas Couwenberg
authored
Feb 11, 2019
Upstream version 3.2.9
0892ff09
New upstream release.
· 798f3ecd
Bas Couwenberg
authored
Feb 11, 2019
798f3ecd
Remove package name from lintian overrides.
· 4e04da53
Bas Couwenberg
authored
Mar 15, 2019
4e04da53
Hide whitespace changes
Inline
Side-by-side
CMakeLists.txt
View file @
4e04da53
...
...
@@ -7,7 +7,7 @@ set(ROOT_DIR "${PROJECT_SOURCE_DIR}")
# the next line is the ONLY place in the entire laszip system where
# the version info is hard-coded
set
(
LASZIP_API_VERSION_STRING
"3.2.
8
"
CACHE STRING
"LASzip version"
FORCE
)
set
(
LASZIP_API_VERSION_STRING
"3.2.
9
"
CACHE STRING
"LASzip version"
FORCE
)
include
(
CheckIncludeFileCXX
)
include
(
${
ROOT_DIR
}
/cmake/common.cmake NO_POLICY_SCOPE
)
...
...
@@ -41,7 +41,7 @@ set(LASZIP_API_VERSION ${LASZIP_API_VERSION_MAJOR}.${LASZIP_API_VERSION_MINOR}.$
# libtool SO version naming
# 8.0.0 for 3.2.1
# 9.0.0 for 4.0+
set
(
LASZIP_SO_VERSION
"8.0.
1
"
)
set
(
LASZIP_SO_VERSION
"8.0.
2
"
)
set
(
LASZIP_COMPATIBILITY_VERSION 8
)
check_include_file_cxx
(
"unordered_map"
HAVE_UNORDERED_MAP
)
...
...
NEWS
View file @
4e04da53
...
...
@@ -2,6 +2,12 @@
LASzip
================================================================================
3.2.9 27-DEC-18
--------------------------------------------------------------------------------
* Decompression bug for PRDF 8 or 10 when the scanner channel and the NIR field are populated.
3.2.8 19-NOV-18
--------------------------------------------------------------------------------
...
...
README.rst
View file @
4e04da53
LASzip
--------------------------------------------------------
https://
www.
laszip.org/
https://laszip.org/
Testing
........................................................
...
...
debian/changelog
View file @
4e04da53
laszip (3.2.
8
-1) UNRELEASED; urgency=medium
laszip (3.2.
9
-1) UNRELEASED; urgency=medium
TODO: FastAC license issue needs to be resolved, see:
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750731#16
...
...
@@ -7,4 +7,4 @@ laszip (3.2.8-1) UNRELEASED; urgency=medium
* Initial release. (Closes: #750731)
-- Bas Couwenberg <sebastic@debian.org>
Tue, 20 Nov
201
8
1
5:49:51
+0100
-- Bas Couwenberg <sebastic@debian.org>
Mon, 11 Feb
201
9
1
6:04:34
+0100
debian/liblaszip-api8.lintian-overrides
View file @
4e04da53
# symbols are problematic for C++ libraries.
liblaszip-api8:
no-symbols-control-file *
no-symbols-control-file *
debian/liblaszip8.lintian-overrides
View file @
4e04da53
# symbols are problematic for C++ libraries.
liblaszip8:
no-symbols-control-file *
no-symbols-control-file *
# False positive, string not included in source.
liblaszip8:
spelling-error-in-binary * wiH with
spelling-error-in-binary * wiH with
# Build uses -D_FORTIFY_SOURCE=2, but hardening-check reports:
# Fortify Source functions: no, only unprotected functions found!
liblaszip8:
hardening-no-fortify-functions *
hardening-no-fortify-functions *
docs/source/conf.py
View file @
4e04da53
...
...
@@ -48,9 +48,9 @@ copyright = u'2018, Martin Isenburg'
# built documents.
#
# The short X.Y version.
version
=
'
3.2.
3
'
version
=
'
3.2.
8
'
# The full version, including alpha/beta/rc tags.
release
=
'
3.2.
3
'
release
=
'
3.2.
8
'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
...
...
src/lasindex.cpp
View file @
4e04da53
...
...
@@ -455,11 +455,11 @@ BOOL LASindex::append(const char* file_name) const
lax_evlr
.
record_id
=
30
;
sprintf
(
lax_evlr
.
description
,
"LAX spatial indexing (LASindex)"
);
bytestreamout
->
put16bitsLE
((
U8
*
)
&
(
lax_evlr
.
reserved
));
bytestreamout
->
putBytes
((
U8
*
)
lax_evlr
.
user_id
,
16
);
bytestreamout
->
put16bitsLE
((
U8
*
)
&
(
lax_evlr
.
record_id
));
bytestreamout
->
put64bitsLE
((
U8
*
)
&
(
lax_evlr
.
record_length_after_header
));
bytestreamout
->
putBytes
((
U8
*
)
lax_evlr
.
description
,
32
);
bytestreamout
->
put16bitsLE
((
const
U8
*
)
&
(
lax_evlr
.
reserved
));
bytestreamout
->
putBytes
((
const
U8
*
)
lax_evlr
.
user_id
,
16
);
bytestreamout
->
put16bitsLE
((
const
U8
*
)
&
(
lax_evlr
.
record_id
));
bytestreamout
->
put64bitsLE
((
const
U8
*
)
&
(
lax_evlr
.
record_length_after_header
));
bytestreamout
->
putBytes
((
const
U8
*
)
lax_evlr
.
description
,
32
);
if
(
!
write
(
bytestreamout
))
{
...
...
@@ -474,15 +474,15 @@ BOOL LASindex::append(const char* file_name) const
lax_evlr
.
record_length_after_header
=
bytestreamout
->
tell
()
-
offset_to_special_evlrs
-
60
;
bytestreamout
->
seek
(
offset_to_special_evlrs
+
20
);
bytestreamout
->
put64bitsLE
((
U8
*
)
&
(
lax_evlr
.
record_length_after_header
));
bytestreamout
->
put64bitsLE
((
const
U8
*
)
&
(
lax_evlr
.
record_length_after_header
));
// maybe update LASzip VLR
if
(
number_of_special_evlrs
!=
-
1
)
{
bytestreamout
->
seek
(
offset_laz_vlr
+
54
+
16
);
bytestreamout
->
put64bitsLE
((
U8
*
)
&
number_of_special_evlrs
);
bytestreamout
->
put64bitsLE
((
U8
*
)
&
offset_to_special_evlrs
);
bytestreamout
->
put64bitsLE
((
const
U8
*
)
&
number_of_special_evlrs
);
bytestreamout
->
put64bitsLE
((
const
U8
*
)
&
offset_to_special_evlrs
);
}
// close writer
...
...
@@ -590,13 +590,13 @@ BOOL LASindex::read(ByteStreamIn* stream)
BOOL
LASindex
::
write
(
ByteStreamOut
*
stream
)
const
{
if
(
!
stream
->
putBytes
((
U8
*
)
"LASX"
,
4
))
if
(
!
stream
->
putBytes
((
const
U8
*
)
"LASX"
,
4
))
{
fprintf
(
stderr
,
"ERROR (LASindex): writing signature
\n
"
);
return
FALSE
;
}
U32
version
=
0
;
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
version
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
version
))
{
fprintf
(
stderr
,
"ERROR (LASindex): writing version
\n
"
);
return
FALSE
;
...
...
src/lasinterval.cpp
View file @
4e04da53
...
...
@@ -659,20 +659,20 @@ BOOL LASinterval::read(ByteStreamIn* stream)
BOOL
LASinterval
::
write
(
ByteStreamOut
*
stream
)
const
{
if
(
!
stream
->
putBytes
((
U8
*
)
"LASV"
,
4
))
if
(
!
stream
->
putBytes
((
const
U8
*
)
"LASV"
,
4
))
{
fprintf
(
stderr
,
"ERROR (LASinterval): writing signature
\n
"
);
return
FALSE
;
}
U32
version
=
0
;
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
version
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
version
))
{
fprintf
(
stderr
,
"ERROR (LASinterval): writing version
\n
"
);
return
FALSE
;
}
// write number of cells
U32
number_cells
=
(
U32
)((
my_cell_hash
*
)
cells
)
->
size
();
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
number_cells
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
number_cells
))
{
fprintf
(
stderr
,
"ERROR (LASinterval): writing number of cells %d
\n
"
,
number_cells
);
return
FALSE
;
...
...
@@ -692,19 +692,19 @@ BOOL LASinterval::write(ByteStreamOut* stream) const
}
// write index of cell
I32
cell_index
=
(
*
hash_element
).
first
;
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
cell_index
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
cell_index
))
{
fprintf
(
stderr
,
"ERROR (LASinterval): writing cell index %d
\n
"
,
cell_index
);
return
FALSE
;
}
// write number of intervals in cell
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
number_intervals
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
number_intervals
))
{
fprintf
(
stderr
,
"ERROR (LASinterval): writing number of intervals %d in cell
\n
"
,
number_intervals
);
return
FALSE
;
}
// write number of points in cell
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
number_points
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
number_points
))
{
fprintf
(
stderr
,
"ERROR (LASinterval): writing number of points %d in cell
\n
"
,
number_points
);
return
FALSE
;
...
...
@@ -714,13 +714,13 @@ BOOL LASinterval::write(ByteStreamOut* stream) const
while
(
cell
)
{
// write start of interval
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
(
cell
->
start
)))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
(
cell
->
start
)))
{
fprintf
(
stderr
,
"ERROR (LASinterval): writing start %d of interval
\n
"
,
cell
->
start
);
return
FALSE
;
}
// write end of interval
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
(
cell
->
end
)))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
(
cell
->
end
)))
{
fprintf
(
stderr
,
"ERROR (LASinterval): writing end %d of interval
\n
"
,
cell
->
end
);
return
FALSE
;
...
...
src/lasquadtree.cpp
View file @
4e04da53
...
...
@@ -405,7 +405,7 @@ U32 LASquadtree::get_cell_index(const F64 x, const F64 y) const
}
// returns the indices of parent and siblings for the specified cell index
BOOL
LASquadtree
::
coarsen
(
const
I32
cell_index
,
I32
*
coarser_cell_index
,
U32
*
num_cell_indices
,
I32
**
cell_indices
)
const
BOOL
LASquadtree
::
coarsen
(
const
I32
cell_index
,
I32
*
coarser_cell_index
,
U32
*
num_cell_indices
,
I32
**
cell_indices
)
{
if
(
cell_index
<
0
)
return
FALSE
;
U32
level
=
get_level
((
U32
)
cell_index
);
...
...
@@ -680,7 +680,7 @@ BOOL LASquadtree::write(ByteStreamOut* stream) const
// F32 max_y 4 bytes
// which totals 28 bytes
if
(
!
stream
->
putBytes
((
U8
*
)
"LASS"
,
4
))
if
(
!
stream
->
putBytes
((
const
U8
*
)
"LASS"
,
4
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing LASspatial signature
\n
"
);
return
FALSE
;
...
...
@@ -693,52 +693,52 @@ BOOL LASquadtree::write(ByteStreamOut* stream) const
return
FALSE
;
}
if
(
!
stream
->
putBytes
((
U8
*
)
"LASQ"
,
4
))
if
(
!
stream
->
putBytes
((
const
U8
*
)
"LASQ"
,
4
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing signature
\n
"
);
return
FALSE
;
}
U32
version
=
0
;
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
version
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
version
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing version
\n
"
);
return
FALSE
;
}
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
levels
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
levels
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing levels %u
\n
"
,
levels
);
return
FALSE
;
}
U32
level_index
=
0
;
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
level_index
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
level_index
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing level_index %u
\n
"
,
level_index
);
return
FALSE
;
}
U32
implicit_levels
=
0
;
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
implicit_levels
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
implicit_levels
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing implicit_levels %u
\n
"
,
implicit_levels
);
return
FALSE
;
}
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
min_x
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
min_x
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing min_x %g
\n
"
,
min_x
);
return
FALSE
;
}
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
max_x
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
max_x
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing max_x %g
\n
"
,
max_x
);
return
FALSE
;
}
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
min_y
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
min_y
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing min_y %g
\n
"
,
min_y
);
return
FALSE
;
}
if
(
!
stream
->
put32bitsLE
((
U8
*
)
&
max_y
))
if
(
!
stream
->
put32bitsLE
((
const
U8
*
)
&
max_y
))
{
fprintf
(
stderr
,
"ERROR (LASquadtree): writing max_y %g
\n
"
,
max_y
);
return
FALSE
;
...
...
src/lasquadtree.hpp
View file @
4e04da53
...
...
@@ -60,7 +60,7 @@ public:
U32
get_cell_index
(
const
F64
x
,
const
F64
y
)
const
;
// map cells to coarser cells
BOOL
coarsen
(
const
I32
cell_index
,
I32
*
coarser_cell_index
,
U32
*
num_cell_indices
,
I32
**
cell_indices
)
const
;
BOOL
coarsen
(
const
I32
cell_index
,
I32
*
coarser_cell_index
,
U32
*
num_cell_indices
,
I32
**
cell_indices
);
// describe cells
void
get_cell_bounding_box
(
const
I32
cell_index
,
F32
*
min
,
F32
*
max
)
const
;
...
...
src/lasreaditemcompressed_v3.cpp
View file @
4e04da53
...
...
@@ -1697,7 +1697,7 @@ inline void LASreadItemCompressed_RGBNIR14_v3::read(U8* item, U32& context)
}
}
// dempress
// de
co
mpress
////////////////////////////////////////
// decompress RGB layer
...
...
@@ -1807,11 +1807,11 @@ inline void LASreadItemCompressed_RGBNIR14_v3::read(U8* item, U32& context)
{
((
U16
*
)
item
)[
3
]
|=
(
last_item
[
3
]
&
0xFF00
);
}
contexts
[
current_context
].
last_item
[
3
]
=
((
U16
*
)
item
)[
3
];
last_item
[
3
]
=
((
U16
*
)
item
)[
3
];
}
else
{
((
U16
*
)
item
)[
3
]
=
contexts
[
current_context
].
last_item
[
3
];
((
U16
*
)
item
)[
3
]
=
last_item
[
3
];
}
}
...
...
src/laszip.hpp
View file @
4e04da53
...
...
@@ -25,6 +25,7 @@
CHANGE HISTORY:
27 December 2018 -- upped to 3.2 r9 for bug fix in multi-channel NIR decompression
7 November 2018 -- upped to 3.2 r8 for identical legacy and extended flags check
20 October 2018 -- upped to 3.2 r7 for rare bug in LASinterval::merge_intervals()
5 October 2018 -- upped to 3.2 r6 for corrected 'is_empty' return value
...
...
@@ -70,8 +71,8 @@ typedef long long SIGNED_INT64;
#define LASZIP_VERSION_MAJOR 3
#define LASZIP_VERSION_MINOR 2
#define LASZIP_VERSION_REVISION
8
#define LASZIP_VERSION_BUILD_DATE 181
10
7
#define LASZIP_VERSION_REVISION
9
#define LASZIP_VERSION_BUILD_DATE 181
22
7
#define LASZIP_COMPRESSOR_NONE 0
#define LASZIP_COMPRESSOR_POINTWISE 1
...
...
src/mydefs.hpp
View file @
4e04da53
...
...
@@ -172,7 +172,7 @@ typedef union I64U32I32F32 { I64 i64; U32 u32[2]; I32 i32[2]; F32 f32[2]; } I64U
inline
BOOL
IS_LITTLE_ENDIAN
()
{
const
U32
i
=
1
;
return
(
*
((
U8
*
)
&
i
)
==
1
);
return
(
*
((
const
U8
*
)
&
i
)
==
1
);
}
#define ENDIANSWAP16(n) \
...
...