Grok 20.3.2
grk::FileFormatMJ2Compress Class Reference

#include <FileFormatMJ2Compress.h>

Inheritance diagram for grk::FileFormatMJ2Compress:
grk::FileFormatJP2Compress grk::FileFormatJP2Family grk::ICompressor

Public Member Functions

 FileFormatMJ2Compress (IStream *stream)
 ~FileFormatMJ2Compress () override
bool init (grk_cparameters *param, GrkImage *image) override
bool start (void) override
uint64_t compress (grk_plugin_tile *tile) override
uint64_t compressFrame (GrkImage *image, grk_plugin_tile *tile) override
bool finalize (void) override
Public Member Functions inherited from grk::FileFormatJP2Compress
 FileFormatJP2Compress (IStream *stream)
virtual ~FileFormatJP2Compress ()
uint64_t transcode (IStream *srcStream)
Public Member Functions inherited from grk::FileFormatJP2Family
 FileFormatJP2Family (IStream *stream)
virtual ~FileFormatJP2Family ()
 FileFormatJP2Family (const FileFormatJP2Family &)=delete
FileFormatJP2Familyoperator= (const FileFormatJP2Family &)=delete
Public Member Functions inherited from grk::ICompressor
virtual ~ICompressor ()=default

Private Member Functions

bool write_mj2_signature (void)
bool write_mj2_ftyp (void)
bool write_moov (void)
uint8_t * write_mvhd (uint32_t *p_nb_bytes_written)
uint8_t * write_trak (uint32_t *p_nb_bytes_written)
uint8_t * write_tkhd (uint32_t *p_nb_bytes_written)
uint8_t * write_mdia (uint32_t *p_nb_bytes_written)
uint8_t * write_mdhd (uint32_t *p_nb_bytes_written)
uint8_t * write_hdlr (uint32_t *p_nb_bytes_written)
uint8_t * write_minf (uint32_t *p_nb_bytes_written)
uint8_t * write_vmhd (uint32_t *p_nb_bytes_written)
uint8_t * write_dinf (uint32_t *p_nb_bytes_written)
uint8_t * write_stbl (uint32_t *p_nb_bytes_written)
uint8_t * write_stsd (uint32_t *p_nb_bytes_written)
uint8_t * write_smj2 (uint32_t *p_nb_bytes_written)
uint8_t * write_stts (uint32_t *p_nb_bytes_written)
uint8_t * write_stsc (uint32_t *p_nb_bytes_written)
uint8_t * write_stsz (uint32_t *p_nb_bytes_written)
uint8_t * write_stco (uint32_t *p_nb_bytes_written)
bool write_mdat_header (void)
bool write_mdat_finalize (void)

Private Attributes

uint64_t mdat_offset_
uint32_t timescale_
uint32_t frame_rate_
bool finalized_
grk_cparameters compressParams_
std::vector< MJ2SampleRecordsampleRecords_

Additional Inherited Members

Protected Member Functions inherited from grk::FileFormatJP2Compress
GrkImagegetHeaderImage (void) override
uint8_t * write_ihdr (uint32_t *p_nb_bytes_written)
uint8_t * write_colr (uint32_t *p_nb_bytes_written)
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_colorgetColour (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::FileFormatJP2Compress
CodeStreamCompresscodeStream = nullptr
GrkImageinputImage_ = nullptr
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
ComponentInfocomps
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_FUNCheader
AsocBox root_asoc
uint32_t jp2_state
bool headerError_
bool headerRead_
std::stack< BoxsuperBoxes_
std::unordered_map< uint32_t, BOX_FUNCimg_header
IStreamstream_

Constructor & Destructor Documentation

◆ FileFormatMJ2Compress()

grk::FileFormatMJ2Compress::FileFormatMJ2Compress ( IStream * stream)
explicit

◆ ~FileFormatMJ2Compress()

grk::FileFormatMJ2Compress::~FileFormatMJ2Compress ( )
override

Member Function Documentation

◆ compress()

uint64_t grk::FileFormatMJ2Compress::compress ( grk_plugin_tile * tile)
overridevirtual

◆ compressFrame()

uint64_t grk::FileFormatMJ2Compress::compressFrame ( GrkImage * image,
grk_plugin_tile * tile )
overridevirtual

◆ finalize()

bool grk::FileFormatMJ2Compress::finalize ( void )
overridevirtual

◆ init()

bool grk::FileFormatMJ2Compress::init ( grk_cparameters * param,
GrkImage * image )
overridevirtual

◆ start()

bool grk::FileFormatMJ2Compress::start ( void )
overridevirtual

◆ write_dinf()

uint8_t * grk::FileFormatMJ2Compress::write_dinf ( uint32_t * p_nb_bytes_written)
private

◆ write_hdlr()

uint8_t * grk::FileFormatMJ2Compress::write_hdlr ( uint32_t * p_nb_bytes_written)
private

◆ write_mdat_finalize()

bool grk::FileFormatMJ2Compress::write_mdat_finalize ( void )
private

◆ write_mdat_header()

bool grk::FileFormatMJ2Compress::write_mdat_header ( void )
private

◆ write_mdhd()

uint8_t * grk::FileFormatMJ2Compress::write_mdhd ( uint32_t * p_nb_bytes_written)
private

◆ write_mdia()

uint8_t * grk::FileFormatMJ2Compress::write_mdia ( uint32_t * p_nb_bytes_written)
private

◆ write_minf()

uint8_t * grk::FileFormatMJ2Compress::write_minf ( uint32_t * p_nb_bytes_written)
private

◆ write_mj2_ftyp()

bool grk::FileFormatMJ2Compress::write_mj2_ftyp ( void )
private

◆ write_mj2_signature()

bool grk::FileFormatMJ2Compress::write_mj2_signature ( void )
private

◆ write_moov()

bool grk::FileFormatMJ2Compress::write_moov ( void )
private

◆ write_mvhd()

uint8_t * grk::FileFormatMJ2Compress::write_mvhd ( uint32_t * p_nb_bytes_written)
private

◆ write_smj2()

uint8_t * grk::FileFormatMJ2Compress::write_smj2 ( uint32_t * p_nb_bytes_written)
private

◆ write_stbl()

uint8_t * grk::FileFormatMJ2Compress::write_stbl ( uint32_t * p_nb_bytes_written)
private

◆ write_stco()

uint8_t * grk::FileFormatMJ2Compress::write_stco ( uint32_t * p_nb_bytes_written)
private

◆ write_stsc()

uint8_t * grk::FileFormatMJ2Compress::write_stsc ( uint32_t * p_nb_bytes_written)
private

References grk::grk_calloc(), grk::grk_write(), and MJ2_STSC.

Referenced by write_stbl().

◆ write_stsd()

uint8_t * grk::FileFormatMJ2Compress::write_stsd ( uint32_t * p_nb_bytes_written)
private

◆ write_stsz()

uint8_t * grk::FileFormatMJ2Compress::write_stsz ( uint32_t * p_nb_bytes_written)
private

◆ write_stts()

uint8_t * grk::FileFormatMJ2Compress::write_stts ( uint32_t * p_nb_bytes_written)
private

◆ write_tkhd()

uint8_t * grk::FileFormatMJ2Compress::write_tkhd ( uint32_t * p_nb_bytes_written)
private

◆ write_trak()

uint8_t * grk::FileFormatMJ2Compress::write_trak ( uint32_t * p_nb_bytes_written)
private

◆ write_vmhd()

uint8_t * grk::FileFormatMJ2Compress::write_vmhd ( uint32_t * p_nb_bytes_written)
private

References grk::grk_calloc(), grk::grk_write(), and MJ2_VMHD.

Referenced by write_minf().

Member Data Documentation

◆ compressParams_

grk_cparameters grk::FileFormatMJ2Compress::compressParams_
private

◆ finalized_

bool grk::FileFormatMJ2Compress::finalized_
private

◆ frame_rate_

uint32_t grk::FileFormatMJ2Compress::frame_rate_
private

◆ mdat_offset_

uint64_t grk::FileFormatMJ2Compress::mdat_offset_
private

◆ sampleRecords_

std::vector<MJ2SampleRecord> grk::FileFormatMJ2Compress::sampleRecords_
private

◆ timescale_

uint32_t grk::FileFormatMJ2Compress::timescale_
private

The documentation for this class was generated from the following files: