mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-11-24 03:35:53 +01:00
API cleanup
This commit is contained in:
parent
6ef6644260
commit
11677f5e35
@ -138,16 +138,11 @@ QList<const DEMTile*> DEMFile::tiles(const RectC &rect, int level) const
|
|||||||
|
|
||||||
int DEMFile::level(const Zoom &zoom) const
|
int DEMFile::level(const Zoom &zoom) const
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
for (int i = 0; i < _levels.size(); i++)
|
for (int i = 0; i < _levels.size(); i++)
|
||||||
if (_levels.at(i).level >= zoom.level())
|
if (_levels.at(i).level >= zoom.level())
|
||||||
return i;
|
return i;
|
||||||
|
|
||||||
return _levels.size() - 1;
|
return _levels.size() - 1;
|
||||||
*/
|
|
||||||
|
|
||||||
Q_UNUSED(zoom);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MapData::Elevation *DEMFile::elevations(Handle &hdl, int level,
|
MapData::Elevation *DEMFile::elevations(Handle &hdl, int level,
|
||||||
@ -170,7 +165,7 @@ MapData::Elevation *DEMFile::elevations(Handle &hdl, int level,
|
|||||||
|
|
||||||
quint16 lim = limit(tile, l.factor);
|
quint16 lim = limit(tile, l.factor);
|
||||||
Matrix<qint16> m(tile->h(), tile->w());
|
Matrix<qint16> m(tile->h(), tile->w());
|
||||||
JLS jls(tile->diff(), l.factor, tile->w());
|
JLS jls(tile->diff(), l.factor);
|
||||||
if (jls.decode(this, hdl, m)) {
|
if (jls.decode(this, hdl, m)) {
|
||||||
for (int i = 0; i < m.size(); i++) {
|
for (int i = 0; i < m.size(); i++) {
|
||||||
if (m.at(i) >= lim)
|
if (m.at(i) >= lim)
|
||||||
|
@ -21,10 +21,8 @@ static const int J[] = {
|
|||||||
4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14, 15
|
4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14, 15
|
||||||
};
|
};
|
||||||
|
|
||||||
JLS::JLS(quint16 diff, quint16 factor, quint16 cols)
|
JLS::JLS(quint16 diff, quint16 factor)
|
||||||
: _data((cols + 3) * 2)
|
|
||||||
{
|
{
|
||||||
_w = cols;
|
|
||||||
_maxval = diff;
|
_maxval = diff;
|
||||||
_near = factor;
|
_near = factor;
|
||||||
|
|
||||||
@ -33,21 +31,6 @@ JLS::JLS(quint16 diff, quint16 factor, quint16 cols)
|
|||||||
quint8 bpp = max(2, ceil(log2(_maxval + 1)));
|
quint8 bpp = max(2, ceil(log2(_maxval + 1)));
|
||||||
quint8 LIMIT = 2 * (bpp + max(8, bpp));
|
quint8 LIMIT = 2 * (bpp + max(8, bpp));
|
||||||
_limit = LIMIT - _qbpp - 1;
|
_limit = LIMIT - _qbpp - 1;
|
||||||
|
|
||||||
_runIndex = 0;
|
|
||||||
_rk = 0;
|
|
||||||
_rg = 1;
|
|
||||||
_lrk = 0;
|
|
||||||
|
|
||||||
quint16 A = max(2, (_range + 32) / 64);
|
|
||||||
for (int i = 0; i < 4; i++) {
|
|
||||||
_a[i] = A;
|
|
||||||
_b[i] = 0;
|
|
||||||
_n[i] = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
_last = _data.data();
|
|
||||||
_current = _data.data() + (cols + 3);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JLS::processRunMode(BitStream &bs, quint16 col, quint16 &samples)
|
bool JLS::processRunMode(BitStream &bs, quint16 col, quint16 &samples)
|
||||||
@ -308,11 +291,28 @@ bool JLS::decode(const SubFile *file, SubFile::Handle &hdl, Matrix<qint16> &img)
|
|||||||
if (!bs.init())
|
if (!bs.init())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
_w = img.w();
|
||||||
|
_data = QVector<quint16>((_w + 3) * 2);
|
||||||
|
_last = _data.data();
|
||||||
|
_current = _data.data() + (_w + 3);
|
||||||
|
|
||||||
|
_runIndex = 0;
|
||||||
|
_rk = 0;
|
||||||
|
_rg = 1;
|
||||||
|
_lrk = 0;
|
||||||
|
|
||||||
|
quint16 A = max(2, (_range + 32) / 64);
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
_a[i] = A;
|
||||||
|
_b[i] = 0;
|
||||||
|
_n[i] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < img.h(); i++) {
|
for (int i = 0; i < img.h(); i++) {
|
||||||
if (!readLine(bs))
|
if (!readLine(bs))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
memcpy(&img.at(i, 0), _current + 1, img.w() * sizeof(quint16));
|
memcpy(&img.at(i, 0), _current + 1, _w * sizeof(quint16));
|
||||||
|
|
||||||
quint16 *tmp = _last;
|
quint16 *tmp = _last;
|
||||||
_last = _current;
|
_last = _current;
|
||||||
|
@ -10,7 +10,7 @@ namespace IMG {
|
|||||||
class JLS
|
class JLS
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
JLS(quint16 diff, quint16 factor, quint16 cols);
|
JLS(quint16 diff, quint16 factor);
|
||||||
|
|
||||||
bool decode(const SubFile *file, SubFile::Handle &hdl, Matrix<qint16> &img);
|
bool decode(const SubFile *file, SubFile::Handle &hdl, Matrix<qint16> &img);
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ private:
|
|||||||
_value <<= bits;
|
_value <<= bits;
|
||||||
_shift += bits;
|
_shift += bits;
|
||||||
|
|
||||||
while (-1 < (char)_shift) {
|
while (-1 < (qint8)_shift) {
|
||||||
if (!_file->readByte(_hdl, &data))
|
if (!_file->readByte(_hdl, &data))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -60,10 +60,8 @@ private:
|
|||||||
bool processRunMode(BitStream &bs, quint16 col, quint16 &samples);
|
bool processRunMode(BitStream &bs, quint16 col, quint16 &samples);
|
||||||
bool decodeError(BitStream &bs, quint8 limit, quint8 k, uint &MErrval);
|
bool decodeError(BitStream &bs, quint8 limit, quint8 k, uint &MErrval);
|
||||||
|
|
||||||
quint16 _w;
|
|
||||||
quint16 _maxval;
|
quint16 _maxval;
|
||||||
quint16 _near;
|
quint16 _near;
|
||||||
|
|
||||||
quint16 _range;
|
quint16 _range;
|
||||||
quint8 _qbpp;
|
quint8 _qbpp;
|
||||||
quint8 _limit;
|
quint8 _limit;
|
||||||
@ -76,6 +74,7 @@ private:
|
|||||||
qint16 _b[4];
|
qint16 _b[4];
|
||||||
quint8 _lrk;
|
quint8 _lrk;
|
||||||
|
|
||||||
|
quint16 _w;
|
||||||
QVector<quint16> _data;
|
QVector<quint16> _data;
|
||||||
quint16 *_current;
|
quint16 *_current;
|
||||||
quint16 *_last;
|
quint16 *_last;
|
||||||
|
Loading…
Reference in New Issue
Block a user