Grok 12.0.1
grok_private.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
18#pragma once
19
20#include "grok.h"
21
22/* opaque stream object */
24
32
40
48
57
64void grk_stream_set_user_data_length(grk_stream* stream, uint64_t data_length);
65
77bool grk_decompress_buffer_detect_format(uint8_t* buffer, size_t len, GRK_CODEC_FORMAT* fmt);
enum _GRK_CODEC_FORMAT GRK_CODEC_FORMAT
Supported JPEG 2000 formats.
size_t(* grk_stream_read_fn)(uint8_t *buffer, size_t numBytes, void *user_data)
read stream callback
Definition grok.h:492
bool(* grk_stream_seek_fn)(uint64_t offset, void *user_data)
seek (absolute) callback
Definition grok.h:511
void(* grk_stream_free_user_data_fn)(void *user_data)
free user data callback
Definition grok.h:519
size_t(* grk_stream_write_fn)(const uint8_t *buffer, size_t numBytes, void *user_data)
write stream callback
Definition grok.h:502
grk_object grk_stream
Definition grok_private.h:23
void grk_stream_set_write_function(grk_stream *stream, grk_stream_write_fn func)
Set write function.
Definition grok.cpp:978
void grk_stream_set_read_function(grk_stream *stream, grk_stream_read_fn func)
Set read function.
Definition grok.cpp:964
void grk_stream_set_seek_function(grk_stream *stream, grk_stream_seek_fn func)
Set (absolute) seek function (stream must be seekable)
Definition grok.cpp:972
void grk_stream_set_user_data(grk_stream *stream, void *data, grk_stream_free_user_data_fn func)
Set user data for JPEG 2000 stream.
Definition grok.cpp:987
bool grk_decompress_buffer_detect_format(uint8_t *buffer, size_t len, GRK_CODEC_FORMAT *fmt)
Detect jpeg 2000 format from buffer Format is either GRK_FMT_J2K or GRK_FMT_JP2.
Definition grok.cpp:231
void grk_stream_set_user_data_length(grk_stream *stream, uint64_t data_length)
Set the length of the user data for the stream.
Definition grok.cpp:994
Grok ref-counted object.
Definition grok.h:144