Grok 12.0.1
|
#include <BufferedStream.h>
Static Public Member Functions | |
static BufferedStream * | getImpl (grk_stream *stream) |
Public Attributes | |
friend | GrkObjectWrapperImpl< BufferedStream > |
Private Member Functions | |
~BufferedStream () | |
bool | write_skip (int64_t p_size) |
Skip bytes in write stream. | |
bool | read_skip (int64_t p_size) |
Skip bytes in read stream. | |
bool | read_seek (uint64_t offset) |
Absolute seek in read stream. | |
bool | write_seek (uint64_t offset) |
Absolute seek in write stream. | |
void | writeIncrement (size_t p_size) |
template<typename TYPE > | |
bool | write (TYPE value, uint8_t numBytes) |
void | invalidate_buffer () |
bool | isMemStream () |
Private Attributes | |
grk_object | obj |
void * | user_data_ |
user data | |
grk_stream_free_user_data_fn | free_user_data_fn_ |
Pointer to function to free user_data_ (nullptr at initialization) when destroying the stream. | |
uint64_t | user_data_length_ |
User data length. | |
grk_stream_read_fn | read_fn_ |
Pointer to actual read function (nullptr at initialization). | |
grk_stream_zero_copy_read_fn | zero_copy_read_fn_ |
Pointer to actual zero copy read function (nullptr at initialization). | |
grk_stream_write_fn | write_fn_ |
Pointer to actual write function (nullptr at initialization). | |
grk_stream_seek_fn | seek_fn_ |
Pointer to actual seek function (if available). | |
uint32_t | status_ |
Stream status flags. | |
grk_buf8 * | buf_ |
size_t | buffered_bytes_ |
size_t | read_bytes_seekable_ |
uint64_t | stream_offset_ |
GRK_CODEC_FORMAT | format_ |
References buf_, grk::grk_read(), obj, and _grk_object::wrapper.
|
private |
References buf_, free_user_data_fn_, and user_data_.
bool grk::BufferedStream::flush | ( | ) |
Flush stream to disk.
References grk::grk_buf< T, A >::buf, buf_, buffered_bytes_, grk::grk_buf< T, A >::currPtr(), grk::Logger::error(), grk::grk_read(), GROK_STREAM_STATUS_ERROR, grk::grk_buf< T, A >::incrementOffset(), isMemStream(), grk::Logger::logger_, grk::grk_buf< T, A >::offset, read_bytes_seekable_, status_, user_data_, and write_fn_.
Referenced by write(), grk::CodeStreamCompress::write_eoc(), write_seek(), and writeBytes().
GRK_CODEC_FORMAT grk::BufferedStream::getFormat | ( | void | ) |
References format_.
|
static |
References _grk_object::wrapper.
Referenced by grk::get_mem_stream_offset(), grk_compress_create(), grk_decompress_create(), grk_stream_create_file_stream(), grk_stream_create_stream(), grk_stream_set_read_function(), grk_stream_set_seek_function(), grk_stream_set_user_data(), grk_stream_set_user_data_length(), grk_stream_set_write_function(), and grk::grk_stream_set_zero_copy_read_function().
References user_data_.
grk_stream * grk::BufferedStream::getWrapper | ( | void | ) |
References obj.
uint8_t * grk::BufferedStream::getZeroCopyPtr | ( | ) |
References buf_, and grk::grk_buf< T, A >::currPtr().
Referenced by grk::TileProcessor::cacheTilePartPackets().
|
private |
References buf_, buffered_bytes_, GROK_STREAM_STATUS_INPUT, grk::grk_buf< T, A >::offset, read_bytes_seekable_, and status_.
Referenced by read(), read_seek(), and write_seek().
|
private |
References buf_, and grk::grk_buf< T, A >::owns_data.
Referenced by flush(), supportsZeroCopy(), write(), write_seek(), writeBytes(), and writeIncrement().
Get the number of bytes left before end of stream.
References grk::grk_read(), stream_offset_, and user_data_length_.
Referenced by grk::TileProcessor::cacheTilePartPackets(), grk::CodeStreamDecompress::endOfCodeStream(), grk::CodeStreamDecompress::parseTileParts(), grk::CodeStreamDecompress::process_marker(), grk::FileFormatDecompress::read_box_hdr(), and grk::TileProcessor::setTilePartDataLength().
Reads some bytes from the stream.
buffer | pointer to the data buffer that will receive the data. |
p_size | number of bytes to read. |
References grk::grk_buf< T, A >::buf, buf_, buffered_bytes_, grk::grk_buf< T, A >::currPtr(), grk::Logger::error(), grk::grk_read(), GROK_STREAM_STATUS_END, grk::grk_buf< T, A >::incrementOffset(), invalidate_buffer(), grk::grk_buf< T, A >::len, grk::Logger::logger_, read_bytes_seekable_, read_fn_, status_, stream_offset_, supportsZeroCopy(), user_data_, and user_data_length_.
Referenced by grk::TileProcessor::cacheTilePartPackets(), grk::CodeStreamDecompress::process_marker(), grk::FileFormatDecompress::read_box_hdr(), grk::CodeStreamDecompress::read_short(), and grk::CodeStreamDecompress::read_soc().
Absolute seek in read stream.
offset | absolute offset |
References grk::grk_buf< T, A >::buf, buf_, buffered_bytes_, grk::grk_buf< T, A >::currPtr(), grk::grk_read(), GROK_STREAM_STATUS_END, GROK_STREAM_STATUS_ERROR, grk::grk_buf< T, A >::incrementOffset(), invalidate_buffer(), read_bytes_seekable_, seek_fn_, status_, stream_offset_, user_data_, and user_data_length_.
Referenced by read_skip(), and seek().
Skip bytes in read stream.
p_size | the number of bytes to skip. |
References grk::grk_read(), read_seek(), and stream_offset_.
Referenced by skip().
Seek bytes from the stream (absolute)
offset | the number of bytes to skip. |
References GROK_STREAM_STATUS_INPUT, read_seek(), status_, and write_seek().
Referenced by grk::TileLengthMarkers::seek(), grk::CodeStreamInfo::seekFirstTilePart(), grk::SOTMarker::write_psot(), and grk::TileLengthMarkers::writeEnd().
void grk::BufferedStream::setFormat | ( | GRK_CODEC_FORMAT | format | ) |
References format_.
void grk::BufferedStream::setReadFunction | ( | grk_stream_read_fn | fn | ) |
References grk::grk_read(), and read_fn_.
void grk::BufferedStream::setSeekFunction | ( | grk_stream_seek_fn | fn | ) |
References grk::grk_read(), and seek_fn_.
void grk::BufferedStream::setUserData | ( | void * | data, |
grk_stream_free_user_data_fn | freeUserDataFun ) |
References free_user_data_fn_, grk::grk_read(), and user_data_.
References user_data_length_.
void grk::BufferedStream::setWriteFunction | ( | grk_stream_write_fn | fn | ) |
References grk::grk_read(), and write_fn_.
void grk::BufferedStream::setZeroCopyReadFunction | ( | grk_stream_zero_copy_read_fn | fn | ) |
References grk::grk_read(), and zero_copy_read_fn_.
Skip bytes in stream.
p_size | the number of bytes to skip. |
References grk::grk_read(), GROK_STREAM_STATUS_INPUT, read_skip(), status_, and write_skip().
Referenced by grk::CodeStreamDecompress::parseTileParts(), and grk::TileLengthMarkers::writeBegin().
bool grk::BufferedStream::supportsZeroCopy | ( | ) |
References GROK_STREAM_STATUS_INPUT, isMemStream(), and status_.
Referenced by grk::TileProcessor::cacheTilePartPackets(), and read().
Tells byte offset of stream (similar to ftell).
References stream_offset_.
Referenced by grk::CodeStreamCompress::cacheEndOfHeader(), grk::TileProcessor::cacheTilePartPackets(), grk::CodeStreamCompress::compress(), grk::T2Compress::compressPacket(), grk::CodeStreamDecompress::nextTLM(), grk::CodeStreamDecompress::parseTileParts(), grk::CodeStreamDecompress::read_soc(), grk::CodeStreamDecompress::read_unk(), grk::CodeStreamDecompress::readHeaderProcedureImpl(), grk::TileLengthMarkers::seek(), grk::CodeStreamCompress::updateRates(), grk::SOTMarker::write_psot(), grk::TileLengthMarkers::writeBegin(), grk::TileLengthMarkers::writeEnd(), and grk::CodeStreamCompress::writeTilePart().
References grk::grk_read().
Referenced by grk::CodeStreamCompress::write_mcc_record().
References grk::grk_read().
Absolute seek in write stream.
offset | absolute offset |
References buf_, flush(), GROK_STREAM_STATUS_ERROR, invalidate_buffer(), isMemStream(), grk::grk_buf< T, A >::offset, seek_fn_, status_, stream_offset_, and user_data_.
Referenced by seek(), and write_skip().
Skip bytes in write stream.
p_size | the number of bytes to skip. |
References grk::grk_read(), stream_offset_, and write_seek().
Referenced by skip().
References writeBytes().
Referenced by grk::T2Compress::compressPacket(), grk::SIZMarker::write(), grk::CodeStreamCompress::write_cbd(), grk::CodeStreamCompress::write_coc(), grk::CodeStreamCompress::write_cod(), grk::CodeStreamCompress::write_mcc_record(), grk::CodeStreamCompress::write_mco(), grk::CodeStreamCompress::write_qcc(), grk::CodeStreamCompress::write_rgn(), grk::CodeStreamCompress::write_SPCod_SPCoc(), grk::CodeStreamCompress::write_SQcd_SQcc(), grk::TileLengthMarkers::writeBegin(), grk::BitIO::writeByte(), and grk::CodeStreamCompress::writePoc().
Write bytes to stream (no correction for endian!).
buffer | pointer to the data buffer holds the data to be written. |
p_size | number of bytes to write. |
References buf_, buffered_bytes_, grk::grk_buf< T, A >::currPtr(), flush(), grk::grk_read(), GROK_STREAM_STATUS_ERROR, isMemStream(), grk::grk_buf< T, A >::len, grk::grk_buf< T, A >::offset, status_, stream_offset_, user_data_, write_fn_, and writeIncrement().
Referenced by grk::T2Compress::compressPacket(), grk::PLMarkerMgr::write(), grk::CodeStreamCompress::write_com(), grk::CodeStreamCompress::write_mct_record(), and writeByte().
References buf_, buffered_bytes_, grk::grk_read(), grk::grk_buf< T, A >::incrementOffset(), isMemStream(), and stream_offset_.
Referenced by write(), and writeBytes().
References grk::grk_read().
Referenced by grk::SIZMarker::write(), ojph::QuantizerOJPH::write(), grk::SOTMarker::write_psot(), and grk::TileLengthMarkers::writeEnd().
References grk::grk_read().
Referenced by grk::SIZMarker::write(), ojph::QuantizerOJPH::write(), grk::PLMarkerMgr::write(), grk::CodeStreamCompress::write_cbd(), grk::CodeStreamCompress::write_coc(), grk::CodeStreamCompress::write_cod(), grk::CodeStreamCompress::write_com(), grk::CodeStreamCompress::write_eoc(), grk::CodeStreamCompress::write_mcc_record(), grk::CodeStreamCompress::write_mco(), grk::CodeStreamCompress::write_mct_record(), grk::CodeStreamCompress::write_qcc(), grk::CodeStreamCompress::write_qcd(), grk::CodeStreamCompress::write_rgn(), grk::CodeStreamCompress::write_soc(), grk::CodeStreamCompress::write_SQcd_SQcc(), grk::TileLengthMarkers::writeBegin(), grk::TileLengthMarkers::writeEnd(), grk::CodeStreamCompress::writePoc(), and grk::TileProcessor::writeTilePartT2().
|
private |
Referenced by BufferedStream(), flush(), getZeroCopyPtr(), invalidate_buffer(), isMemStream(), read(), read_seek(), write(), write_seek(), writeBytes(), writeIncrement(), and ~BufferedStream().
|
private |
Referenced by flush(), invalidate_buffer(), read(), read_seek(), write(), writeBytes(), and writeIncrement().
|
private |
Referenced by getFormat(), and setFormat().
|
private |
Pointer to function to free user_data_ (nullptr at initialization) when destroying the stream.
If pointer is nullptr the function is not called and the user_data_ is not freed (even if it isn't nullptr).
Referenced by setUserData(), and ~BufferedStream().
friend grk::BufferedStream::GrkObjectWrapperImpl< BufferedStream > |
|
private |
Referenced by BufferedStream(), and getWrapper().
|
private |
Referenced by flush(), invalidate_buffer(), read(), and read_seek().
|
private |
Pointer to actual read function (nullptr at initialization).
Referenced by read(), and setReadFunction().
|
private |
Pointer to actual seek function (if available).
Referenced by hasSeek(), read_seek(), setSeekFunction(), write(), and write_seek().
|
private |
Stream status flags.
Referenced by flush(), getStatus(), invalidate_buffer(), read(), read_seek(), seek(), skip(), supportsZeroCopy(), write(), write_seek(), and writeBytes().
|
private |
Referenced by numBytesLeft(), read(), read_seek(), read_skip(), tell(), write(), write_seek(), write_skip(), writeBytes(), and writeIncrement().
|
private |
user data
Referenced by flush(), getUserData(), read(), read_seek(), setUserData(), write(), write_seek(), writeBytes(), and ~BufferedStream().
|
private |
User data length.
Currently set to size of file for file read stream, and size of buffer for buffer read/write stream
Referenced by numBytesLeft(), read(), read_seek(), and setUserDataLength().
|
private |
Pointer to actual write function (nullptr at initialization).
Referenced by flush(), setWriteFunction(), and writeBytes().
|
private |
Pointer to actual zero copy read function (nullptr at initialization).
Referenced by setZeroCopyReadFunction().