Grok 12.0.1
FileFormatCompress.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016-2024 Grok Image Compression Inc.
3 *
4 * This source code is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Affero General Public License, version 3,
6 * as published by the Free Software Foundation.
7 *
8 * This source code is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Affero General Public License for more details.
12 *
13 * You should have received a copy of the GNU Affero General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 *
17 * This source code incorporates work covered by the BSD 2-clause license.
18 * Please see the LICENSE file in the root directory for details.
19 *
20 */
21#pragma once
22
23namespace grk
24{
26{
27 public:
29 virtual ~FileFormatCompress();
30
32 bool start(void);
34
35 private:
36 bool end(void);
37 grk_color* getColour(void);
38 void find_cf(double x, uint16_t* num, uint16_t* den);
46 bool write_jp2h(void);
49 bool write_uuids(void);
50 bool write_ftyp(void);
51 bool write_jp2c(void);
52 bool write_jp(void);
53 bool default_validation(void);
55 void init_end_header_writing(void);
56 void init_compressValidation(void);
58 bool skip_jp2c(void);
59
64};
65
66} // namespace grk
Definition CodeStreamCompress.h:29
Definition FileFormatCompress.h:26
uint8_t * write_channel_definition(uint32_t *p_nb_bytes_written)
Definition FileFormatCompress.cpp:420
uint8_t * write_colr(uint32_t *p_nb_bytes_written)
Definition FileFormatCompress.cpp:360
void write_res_box(double resx, double resy, uint32_t box_id, uint8_t **current_res_ptr)
Definition FileFormatCompress.cpp:563
CodeStreamCompress * codeStream
Definition FileFormatCompress.h:60
uint8_t * write_bpc(uint32_t *p_nb_bytes_written)
Definition FileFormatCompress.cpp:466
uint8_t * write_ihdr(uint32_t *p_nb_bytes_written)
Definition FileFormatCompress.cpp:655
grk_color * getColour(void)
Definition FileFormatCompress.cpp:52
uint64_t j2k_codestream_offset
Definition FileFormatCompress.h:62
uint64_t compress(grk_plugin_tile *tile)
Definition FileFormatCompress.cpp:916
uint8_t * write_res(uint32_t *p_nb_bytes_written)
Definition FileFormatCompress.cpp:494
bool skip_jp2c(void)
Definition FileFormatCompress.cpp:947
FileFormatCompress(BufferedStream *stream)
Definition FileFormatCompress.cpp:41
bool init(grk_cparameters *p_param, GrkImage *p_image)
Definition FileFormatCompress.cpp:730
GrkImage * inputImage_
Definition FileFormatCompress.h:63
bool write_uuids(void)
Definition FileFormatCompress.cpp:164
bool end(void)
Definition FileFormatCompress.cpp:924
bool write_jp2c(void)
Definition FileFormatCompress.cpp:75
uint8_t * write_buffer(uint32_t boxId, grk_buf8 *buffer, uint32_t *p_nb_bytes_written)
Definition FileFormatCompress.cpp:627
uint8_t * write_palette_clr(uint32_t *p_nb_bytes_written)
Definition FileFormatCompress.cpp:281
bool default_validation(void)
Definition FileFormatCompress.cpp:957
bool write_jp2h(void)
Definition FileFormatCompress.cpp:190
bool start(void)
Definition FileFormatCompress.cpp:702
bool needs_xl_jp2c_box_length
Definition FileFormatCompress.h:61
bool write_ftyp(void)
Definition FileFormatCompress.cpp:119
bool write_jp(void)
Definition FileFormatCompress.cpp:59
uint8_t * write_xml(uint32_t *p_nb_bytes_written)
Definition FileFormatCompress.cpp:623
uint8_t * write_component_mapping(uint32_t *p_nb_bytes_written)
Definition FileFormatCompress.cpp:331
virtual ~FileFormatCompress()
Definition FileFormatCompress.cpp:45
void init_header_writing()
Definition FileFormatCompress.cpp:939
void init_end_header_writing(void)
Definition FileFormatCompress.cpp:931
void find_cf(double x, uint16_t *num, uint16_t *den)
Definition FileFormatCompress.cpp:533
void init_compressValidation(void)
Definition FileFormatCompress.cpp:935
JPEG 2000 file format reader/writer.
Definition FileFormat.h:133
Definition GrkImage.h:24
Copyright (C) 2016-2024 Grok Image Compression Inc.
Definition ICacheable.h:20
void grk_read(const uint8_t *buffer, TYPE *value, uint32_t numBytes)
Definition BufferedStream.h:239
ICC profile, palette, channel definition.
Definition grok.h:346
Compress parameters.
Definition grok.h:976
Plugin tile.
Definition grok.h:808
Definition BufferedStream.h:35
Definition CodeStream.h:107