T1OpenHTJ2K.h
Go to the documentation of this file.
/*
* Copyright (C) 2016-2023 Grok Image Compression Inc.
*
* This source code is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This source code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#include "T1Interface.h"
#include "TileProcessor.h"
namespace openhtj2k
{
struct TileCodingParams;
class T1OpenHTJ2K : public grk::T1Interface
{
public:
T1OpenHTJ2K(bool isCompressor, grk::TileCodingParams* tcp, uint32_t maxCblkW,
uint32_t maxCblkH);
virtual ~T1OpenHTJ2K();
bool compress(grk::CompressBlockExec* block);
bool decompress(grk::DecompressBlockExec* block);
private:
void preCompress(grk::CompressBlockExec* block, grk::Tile* tile);
bool postProcess(grk::DecompressBlockExec* block);
uint32_t coded_data_size;
uint8_t* coded_data;
uint32_t unencoded_data_size;
int32_t* unencoded_data;
};
} // namespace openhtj2k
T1Interface.h
TileProcessor.h
grk::T1Interface
Definition T1Interface.h:26
openhtj2k::T1OpenHTJ2K
Definition T1OpenHTJ2K.h:27
openhtj2k::T1OpenHTJ2K::coded_data
uint8_t * coded_data
Definition T1OpenHTJ2K.h:41
openhtj2k::T1OpenHTJ2K::compress
bool compress(grk::CompressBlockExec *block)
Definition T1OpenHTJ2K.cpp:88
openhtj2k::T1OpenHTJ2K::unencoded_data_size
uint32_t unencoded_data_size
Definition T1OpenHTJ2K.h:42
openhtj2k::T1OpenHTJ2K::coded_data_size
uint32_t coded_data_size
Definition T1OpenHTJ2K.h:40
openhtj2k::T1OpenHTJ2K::preCompress
void preCompress(grk::CompressBlockExec *block, grk::Tile *tile)
Definition T1OpenHTJ2K.cpp:49
openhtj2k::T1OpenHTJ2K::unencoded_data
int32_t * unencoded_data
Definition T1OpenHTJ2K.h:43
openhtj2k::T1OpenHTJ2K::postProcess
bool postProcess(grk::DecompressBlockExec *block)
openhtj2k::T1OpenHTJ2K::~T1OpenHTJ2K
virtual ~T1OpenHTJ2K()
Definition T1OpenHTJ2K.cpp:44
openhtj2k::T1OpenHTJ2K::decompress
bool decompress(grk::DecompressBlockExec *block)
Definition T1OpenHTJ2K.cpp:112
openhtj2k
Definition PostT1DecompressFiltersOpenHTJ2K.h:6
grk::CompressBlockExec
Definition BlockExec.h:57
grk::DecompressBlockExec
Definition BlockExec.h:45
grk::TileCodingParams
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition CodingParams.h:122
grk::Tile
Definition TileProcessor.h:39