|
Grok 20.3.2
|
#include <FileFormatMJ2Decompress.h>
Classes | |
| struct | SampleCodeStream |
Public Member Functions | |
| FileFormatMJ2Decompress (IStream *stream) | |
| ~FileFormatMJ2Decompress () override | |
| bool | readHeader (grk_header_info *header_info) override |
| Reads header. | |
| GrkImage * | getImage (uint16_t tile_index, bool wait) override |
| Gets GrkImage for specified tile. | |
| GrkImage * | getImage (void) override |
| Gets composite GrkImage for all tiles in decompress region. | |
| void | init (grk_decompress_parameters *param) override |
| Initializes decompressor. | |
| grk_progression_state | getProgressionState (uint16_t tile_index) override |
| Gets the grk_progression_state for a tile. | |
| bool | setProgressionState (grk_progression_state state) override |
| Sets the grk_progression_state for a tile. | |
| bool | decompress (grk_plugin_tile *tile) override |
| Decompresses image / image region. | |
| bool | decompressTile (uint16_t tile_index) override |
| Decompresses a single tile. | |
| void | dump (uint32_t flag, FILE *outputFileStream) override |
| Dumps image tags to file. | |
| void | wait (grk_wait_swath *swath) override |
| Waits for asynchronous decompression to complete. | |
| void | setBandCallback (grk_io_band_callback callback, void *user_data) override |
| Sets a band-completion callback for incremental writing. | |
| uint32_t | getNumSamples (void) override |
| bool | decompressSample (uint32_t sampleIndex) override |
| GrkImage * | getSampleImage (uint32_t sampleIndex) override |
| GrkImage * | getSampleTileImage (uint32_t sampleIndex, uint16_t tileIndex) override |
| Public Member Functions inherited from grk::IDecompressor | |
| virtual | ~IDecompressor ()=default |
| Destroys the IDecompressor object. | |
| virtual void | scheduleSwathCopy (const grk_wait_swath *swath, grk_swath_buffer *buf) |
| Schedule Taskflow copy tasks for tiles in a completed swath. | |
| virtual void | waitSwathCopy () |
| Wait for all in-flight swath copy tasks to complete. | |
| Public Member Functions inherited from grk::FileFormatMJ2 | |
| FileFormatMJ2 (IStream *stream) | |
| ~FileFormatMJ2 () override | |
| Public Member Functions inherited from grk::FileFormatJP2Family | |
| FileFormatJP2Family (IStream *stream) | |
| virtual | ~FileFormatJP2Family () |
| FileFormatJP2Family (const FileFormatJP2Family &)=delete | |
| FileFormatJP2Family & | operator= (const FileFormatJP2Family &)=delete |
Private Member Functions | |
| bool | decompressSampleInternal (uint32_t sampleIndex) |
| GrkImage * | getHeaderImage (void) override |
| void | read_version_and_flag (uint8_t **headerData, uint8_t &version, uint32_t &flag) |
| bool | read_version_and_flag_check (uint8_t **headerData, uint32_t *headerSize, uint8_t maxVersion, std::set< uint32_t > allowedFlags) |
| bool | read_mvhd (uint8_t *headerData, uint32_t headerSize) |
| bool | read_tkhd (uint8_t *headerData, uint32_t headerSize) |
| bool | read_mdhd (uint8_t *headerData, uint32_t headerSize) |
| bool | read_mdat (uint8_t *headerData, uint32_t headerSize) |
| bool | read_hdlr (uint8_t *headerData, uint32_t headerSize) |
| bool | read_vmhd (uint8_t *headerData, uint32_t headerSize) |
| bool | read_dref (uint8_t *headerData, uint32_t headerSize) |
| bool | read_stsd (uint8_t *headerData, uint32_t headerSize) |
| bool | read_stts (uint8_t *headerData, uint32_t headerSize) |
| bool | read_stsc (uint8_t *headerData, uint32_t headerSize) |
| bool | read_stsz (uint8_t *headerData, uint32_t headerSize) |
| bool | read_stco (uint8_t *headerData, uint32_t headerSize) |
| bool | read_smj2 (uint8_t *headerData, uint32_t headerSize) |
| bool | read_fiel (uint8_t *headerData, uint32_t headerSize) |
| bool | read_jp2p (uint8_t *headerData, uint32_t headerSize) |
| bool | read_jp2x (uint8_t *headerData, uint32_t headerSize) |
| bool | read_jsub (uint8_t *headerData, uint32_t headerSize) |
| bool | read_orfo (uint8_t *headerData, uint32_t headerSize) |
| bool | read_url (uint8_t *headerData, uint32_t headerSize) |
| bool | read_urn (uint8_t *headerData, uint32_t headerSize) |
| void | tts_decompact (mj2_tk *tk) |
| void | stsc_decompact (mj2_tk *tk) |
| void | stco_decompact (mj2_tk *tk) |
Private Attributes | |
| grk_decompress_parameters | decompressParams_ |
| bool | decompressParamsSet_ |
| std::vector< GrkImage * > | decompressedImages_ |
| std::vector< SampleCodeStream > | sampleCodeStreams_ |
Additional Inherited Members | |
| Protected Member Functions inherited from grk::FileFormatJP2Family | |
| void | init (grk_decompress_parameters *param) |
| bool | readHeaderProcedure () |
| bool | readHeader (grk_header_info *header_info, GrkImage *headerImage) |
| grk_color * | getColour (void) |
| std::string | getBoxName (const Box &box) |
| const FindHandlerInfo | img_find_handler (uint32_t id) |
| Finds the BOX_FUNC related to given box id. | |
| uint32_t | read_asoc (AsocBox *parent, uint8_t **header_data, uint32_t *header_data_size, uint32_t asocSize) |
| bool | read_asoc (uint8_t *header_data, uint32_t header_data_size) |
| void | serializeAsoc (AsocBox *asoc, grk_asoc *serial_asocs, uint32_t *num_asocs, uint32_t level) |
| bool | read_box_header (Box *box, IStream *stream, uint32_t *bytesRead, bool codeStreamBoxWasRead) |
| bool | read_box_header (Box *box, uint8_t *p_data, uint32_t *bytesRead, uint64_t availableBytes) |
| uint8_t * | write_buffer (uint32_t boxId, Buffer8 *buffer, uint32_t *p_nb_bytes_written) |
| bool | write_ftyp (IStream *stream, uint32_t file_type) |
| bool | write_signature (IStream *stream, uint32_t sig) |
| bool | exec (std::vector< PROCEDURE_FUNC > *procs) |
| bool | read_jp2h (uint8_t *headerData, uint32_t headerSize) |
| Reads the Jpeg2000 file Header box - JP2 Header box. | |
| void | skip (uint8_t **headerData, uint32_t *headerSize, uint32_t skip) |
| Protected Attributes inherited from grk::FileFormatMJ2 | |
| GrkImage * | headerImage_ |
| uint32_t | creation_time_ |
| uint32_t | modification_time_ |
| int32_t | timescale_ |
| uint32_t | duration_ |
| int32_t | rate_ |
| int32_t | num_vtk_ |
| int32_t | num_stk_ |
| int32_t | num_htk_ |
| int16_t | volume_ |
| int32_t | trans_matrix_ [9] |
| int32_t | next_tk_id_ |
| std::unordered_map< int32_t, mj2_tk * > | tracks_ |
| mj2_tk * | current_track_ |
| Protected Attributes inherited from grk::FileFormatJP2Family | |
| std::vector< PROCEDURE_FUNC > * | procedure_list_ |
| list of execution procedures | |
| uint32_t | brand |
| uint32_t | minversion |
| uint32_t | numcl |
| uint32_t * | cl |
| uint32_t | w |
| uint32_t | h |
| uint16_t | numcomps |
| uint8_t | bpc |
| uint8_t | C |
| uint8_t | UnkC |
| uint8_t | IPR |
| uint8_t | meth |
| uint8_t | approx |
| GRK_ENUM_COLOUR_SPACE | enumcs |
| uint8_t | precedence |
| ComponentInfo * | comps |
| bool | has_capture_resolution |
| double | capture_resolution [2] |
| bool | has_display_resolution |
| double | display_resolution [2] |
| Buffer8 | xml |
| Buffer8 | xml_boxes [JP2_MAX_NUM_XML_BOXES] |
| uint32_t | numXmlBoxes |
| bool | io_xml_ |
| std::string | xml_outfile_ |
| Buffer8 | ipr |
| UUIDBox | uuids [JP2_MAX_NUM_UUIDS] |
| uint32_t | numUuids |
| std::unordered_map< uint32_t, BOX_FUNC > | header |
| AsocBox | root_asoc |
| uint32_t | jp2_state |
| bool | headerError_ |
| bool | headerRead_ |
| std::stack< Box > | superBoxes_ |
| std::unordered_map< uint32_t, BOX_FUNC > | img_header |
| IStream * | stream_ |
|
explicit |
References decompressParams_, decompressParamsSet_, grk::FileFormatMJ2::FileFormatMJ2(), grk::FileFormatJP2Family::header, MJ2_DINF, MJ2_DREF, MJ2_HDLR, MJ2_MDAT, MJ2_MDHD, MJ2_MDIA, MJ2_MINF, MJ2_MOOV, MJ2_MVHD, MJ2_STBL, MJ2_STCO, MJ2_STSC, MJ2_STSD, MJ2_STSZ, MJ2_STTS, MJ2_TKHD, MJ2_TRAK, MJ2_VMHD, read_dref(), read_hdlr(), read_mdat(), read_mdhd(), read_mvhd(), read_stco(), read_stsc(), read_stsd(), read_stsz(), read_stts(), read_tkhd(), and read_vmhd().
|
override |
References decompressedImages_, grk::grk_unref(), sampleCodeStreams_, and ~FileFormatMJ2Decompress().
Referenced by ~FileFormatMJ2Decompress().
|
overridevirtual |
Decompresses image / image region.
| tile | grk_plugin_tile |
Implements grk::IDecompressor.
References grk::FileFormatMJ2::current_track_, decompress(), decompressedImages_, decompressSampleInternal(), grk::grk_unref(), grk::grklog, and grk::FileFormatMJ2::headerImage_.
Referenced by decompress().
|
overridevirtual |
Reimplemented from grk::IDecompressor.
References decompressSample(), and decompressSampleInternal().
Referenced by decompressSample(), and decompressTile().
|
private |
References grk::FileFormatMJ2::current_track_, decompressedImages_, decompressParams_, decompressParamsSet_, decompressSampleInternal(), GRK_CLRSPC_UNKNOWN, GRK_CODEC_J2K, grk::grk_read(), grk::grk_ref(), grk::grk_unref(), grk::grklog, grk::FileFormatMJ2::headerImage_, grk::memStreamCreate(), sampleCodeStreams_, and grk::FileFormatJP2Family::stream_.
Referenced by decompress(), decompressSample(), and decompressSampleInternal().
|
overridevirtual |
Decompresses a single tile.
| tile_index | tile index |
Implements grk::IDecompressor.
References grk::FileFormatMJ2::current_track_, decompressSample(), decompressTile(), and grk::grklog.
Referenced by decompressTile().
|
overridevirtual |
Dumps image tags to file.
| flag | flag indicating main header, tile header etc. |
| outputFileStream | FILE stream |
Implements grk::IDecompressor.
References dump().
Referenced by dump().
|
overrideprivatevirtual |
Reimplemented from grk::FileFormatMJ2.
References getHeaderImage(), and grk::FileFormatMJ2::headerImage_.
Referenced by getHeaderImage().
|
overridevirtual |
Gets GrkImage for specified tile.
| tile_index | tile index |
Implements grk::IDecompressor.
References decompressedImages_, getImage(), grk::FileFormatMJ2::headerImage_, and wait().
Referenced by getImage(), and getImage().
|
overridevirtual |
Gets composite GrkImage for all tiles in decompress region.
Implements grk::IDecompressor.
References decompressedImages_, getImage(), and grk::FileFormatMJ2::headerImage_.
|
overridevirtual |
Reimplemented from grk::IDecompressor.
References grk::FileFormatMJ2::current_track_, and getNumSamples().
Referenced by getNumSamples().
|
overridevirtual |
Gets the grk_progression_state for a tile.
| tile_index |
Implements grk::IDecompressor.
References getProgressionState().
Referenced by getProgressionState().
|
overridevirtual |
Reimplemented from grk::IDecompressor.
References decompressedImages_, getSampleImage(), and grk::FileFormatMJ2::headerImage_.
Referenced by getSampleImage().
|
overridevirtual |
Reimplemented from grk::IDecompressor.
References getSampleTileImage(), and sampleCodeStreams_.
Referenced by getSampleTileImage().
|
overridevirtual |
Initializes decompressor.
Implements grk::IDecompressor.
References decompressParams_, decompressParamsSet_, grk::FileFormatJP2Family::init(), and init().
Referenced by init().
|
private |
References grk::grk_read(), grk::grklog, MJ2_URL, MJ2_URN, grk::FileFormatJP2Family::read_box_header(), read_dref(), read_url(), read_urn(), read_version_and_flag_check(), and grk::Box::type.
Referenced by FileFormatMJ2Decompress(), and read_dref().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), and read_fiel().
Referenced by read_fiel().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), read_hdlr(), read_version_and_flag_check(), and grk::FileFormatJP2Family::skip().
Referenced by FileFormatMJ2Decompress(), and read_hdlr().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), read_jp2p(), and read_version_and_flag_check().
Referenced by read_jp2p().
|
private |
References read_jp2x().
Referenced by read_jp2x().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), and read_jsub().
Referenced by read_jsub().
|
private |
References read_mdat().
Referenced by FileFormatMJ2Decompress(), and read_mdat().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), read_mdhd(), and read_version_and_flag_check().
Referenced by FileFormatMJ2Decompress(), and read_mdhd().
|
private |
References grk::FileFormatMJ2::creation_time_, grk::FileFormatMJ2::duration_, grk::grk_read(), grk::grklog, grk::FileFormatMJ2::modification_time_, grk::FileFormatMJ2::next_tk_id_, grk::FileFormatMJ2::rate_, read_mvhd(), read_version_and_flag_check(), grk::FileFormatJP2Family::skip(), grk::FileFormatMJ2::timescale_, grk::FileFormatMJ2::trans_matrix_, and grk::FileFormatMJ2::volume_.
Referenced by FileFormatMJ2Decompress(), and read_mvhd().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), and read_orfo().
Referenced by read_orfo().
|
private |
References grk::FileFormatMJ2::current_track_, grk::FileFormatJP2Family::getBoxName(), grk::grk_read(), grk::grklog, grk::JP2_JP2H, grk::FileFormatJP2Family::read_box_header(), grk::FileFormatJP2Family::read_jp2h(), read_smj2(), read_version_and_flag_check(), grk::FileFormatJP2Family::skip(), and grk::Box::type.
Referenced by read_smj2(), and read_stsd().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), grk::grklog, read_stco(), read_version_and_flag_check(), and stco_decompact().
Referenced by FileFormatMJ2Decompress(), and read_stco().
|
private |
References grk::FileFormatMJ2::current_track_, grk::mj2_sampletochunk::first_chunk_, grk::grk_read(), grk::grklog, read_stsc(), read_version_and_flag_check(), grk::mj2_sampletochunk::samples_descr_idx_, grk::mj2_sampletochunk::samples_per_chunk_, and stsc_decompact().
Referenced by FileFormatMJ2Decompress(), and read_stsc().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), grk::grklog, grk::Box::length, MJ2_MJ2, MJ2_TRACK_TYPE_HINT, MJ2_TRACK_TYPE_SOUND, MJ2_TRACK_TYPE_VIDEO, grk::FileFormatJP2Family::read_box_header(), read_smj2(), read_stsd(), read_version_and_flag_check(), and grk::Box::type.
Referenced by FileFormatMJ2Decompress(), and read_stsd().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), grk::grklog, read_stsz(), read_version_and_flag_check(), and grk::FileFormatJP2Family::skip().
Referenced by FileFormatMJ2Decompress(), and read_stsz().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), read_stts(), read_version_and_flag_check(), grk::mj2_tts::samples_count_, grk::mj2_tts::samples_delta_, and tts_decompact().
Referenced by FileFormatMJ2Decompress(), and read_stts().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), read_tkhd(), read_version_and_flag_check(), grk::FileFormatJP2Family::skip(), and grk::FileFormatMJ2::tracks_.
Referenced by FileFormatMJ2Decompress(), and read_tkhd().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), grk::grklog, grk::mj2_url::location_, read_url(), and read_version_and_flag().
Referenced by read_dref(), and read_url().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), grk::grklog, grk::mj2_urn::location_, grk::mj2_urn::name_, read_urn(), and read_version_and_flag().
Referenced by read_dref(), and read_urn().
|
private |
References grk::grk_read(), and read_version_and_flag().
Referenced by read_url(), read_urn(), read_version_and_flag(), and read_version_and_flag_check().
|
private |
References grk::grklog, read_version_and_flag(), and read_version_and_flag_check().
Referenced by read_dref(), read_hdlr(), read_jp2p(), read_mdhd(), read_mvhd(), read_smj2(), read_stco(), read_stsc(), read_stsd(), read_stsz(), read_stts(), read_tkhd(), read_version_and_flag_check(), and read_vmhd().
|
private |
References grk::FileFormatMJ2::current_track_, grk::grk_read(), MJ2_TRACK_TYPE_VIDEO, read_version_and_flag_check(), and read_vmhd().
Referenced by FileFormatMJ2Decompress(), and read_vmhd().
|
overridevirtual |
Reads header.
ref grk_header_info
Implements grk::IDecompressor.
References grk::FileFormatMJ2::current_track_, grk::grk_read(), grk::grklog, grk::FileFormatMJ2::headerImage_, grk::FileFormatJP2Family::readHeader(), readHeader(), and grk::FileFormatJP2Family::stream_.
Referenced by readHeader().
|
overridevirtual |
Sets a band-completion callback for incremental writing.
Must be called after readHeader() but before decompress().
Reimplemented from grk::IDecompressor.
References sampleCodeStreams_, and setBandCallback().
Referenced by setBandCallback().
|
overridevirtual |
Sets the grk_progression_state for a tile.
| state | grk_progression_state |
Implements grk::IDecompressor.
References setProgressionState().
Referenced by setProgressionState().
|
private |
References grk::mj2_tk::chunks_, grk::mj2_tk::samples_, and stco_decompact().
Referenced by read_stco(), and stco_decompact().
|
private |
References grk::mj2_tk::chunks_, grk::mj2_chunk::num_samples_, grk::mj2_tk::samples_, grk::mj2_tk::sampletochunk_, and stsc_decompact().
Referenced by read_stsc(), and stsc_decompact().
|
private |
References grk::mj2_tk::num_samples_, grk::mj2_tk::samples_, grk::mj2_sample::samples_delta_, grk::mj2_tk::tts_, and tts_decompact().
Referenced by read_stts(), and tts_decompact().
|
overridevirtual |
Waits for asynchronous decompression to complete.
Implements grk::IDecompressor.
References wait().
Referenced by getImage(), and wait().
|
private |
Referenced by decompress(), decompressSampleInternal(), getImage(), getImage(), getSampleImage(), and ~FileFormatMJ2Decompress().
|
private |
Referenced by decompressSampleInternal(), FileFormatMJ2Decompress(), and init().
|
private |
Referenced by decompressSampleInternal(), FileFormatMJ2Decompress(), and init().
|
private |
Referenced by decompressSampleInternal(), getSampleTileImage(), setBandCallback(), and ~FileFormatMJ2Decompress().