C# Class BitMiracle.LibJpeg.Classic.Internal.jpeg_marker_reader

Marker reading and parsing
Show file Open project: prepare/HTML-Renderer Class Usage Examples

Public Methods

Method Description
DiscardedByteCount ( ) : int
NextRestartNumber ( ) : int
SawSOF ( ) : bool
SawSOI ( ) : bool
SkipBytes ( int count ) : void
jpeg_marker_reader ( jpeg_decompress_struct cinfo ) : System

Initialize the marker reader module. This is called only once, when the decompression object is created.

jpeg_save_markers ( int marker_code, int length_limit ) : void
jpeg_set_marker_processor ( int marker_code, jpeg_decompress_struct routine ) : void

Install a special processing method for COM or APPn markers.

next_marker ( ) : bool

Find the next JPEG marker, save it in cinfo.unread_marker. Returns false if had to suspend before reaching a marker; in that case cinfo.unread_marker is unchanged. Note that the result might not be a valid marker code, but it will never be 0 or FF.

read_markers ( ) : ReadResult

Read markers until SOS or EOI. Returns same codes as are defined for jpeg_consume_input: JPEG_SUSPENDED, JPEG_REACHED_SOS, or JPEG_REACHED_EOI. Note: This function may return a pseudo SOS marker(with zero component number) for treat by input controller's consume_input. consume_input itself should filter out (skip) the pseudo marker after processing for the caller.

read_restart_marker ( ) : bool

Read a restart marker, which is expected to appear next in the datastream; if the marker is not there, take appropriate recovery action. Returns false if suspension is required. Made public for use by entropy decoder only This is called by the entropy decoder after it has read an appropriate number of MCUs. cinfo.unread_marker may be nonzero if the entropy decoder has already read a marker from the data source. Under normal conditions cinfo.unread_marker will be reset to 0 before returning; if not reset, it holds a marker which the decoder will be unable to read past.

reset_marker_reader ( ) : void

Reset marker processing state to begin a fresh datastream.

Private Methods

Method Description
examine_app0 ( jpeg_decompress_struct cinfo, byte data, int datalen, int remaining ) : void

Examine first few bytes from an APP0. Take appropriate action if it is a JFIF marker. datalen is # of bytes at data[], remaining is length of rest of marker data.

examine_app14 ( jpeg_decompress_struct cinfo, byte data, int datalen, int remaining ) : void

Examine first few bytes from an APP14. Take appropriate action if it is an Adobe marker. datalen is # of bytes at data[], remaining is length of rest of marker data.

first_marker ( ) : bool

Like next_marker, but used to obtain the initial SOI marker. For this marker, we do not allow preceding garbage or fill; otherwise, we might well scan an entire input file before realizing it ain't JPEG. If an application wants to process non-JFIF files, it must seek to the SOI before calling the JPEG library.

get_dac ( ) : bool

Process a DAC marker

get_dht ( ) : bool

Process a DHT marker

get_dqt ( ) : bool

Process a DQT marker

get_dri ( ) : bool

Process a DRI marker

get_interesting_appn ( jpeg_decompress_struct cinfo ) : bool

Process an APP0 or APP14 marker without saving it

get_lse ( ) : bool

Process an LSE marker

get_sof ( bool is_baseline, bool is_prog, bool is_arith ) : bool

Process a SOFn marker

get_soi ( ) : bool

Process an SOI marker

get_sos ( ) : bool

Process a SOS marker

save_marker ( jpeg_decompress_struct cinfo ) : bool

Save an APPn or COM marker into the marker list

skip_variable ( jpeg_decompress_struct cinfo ) : bool

Skip over an unknown or uninteresting variable-length marker

Method Details

DiscardedByteCount() public method

public DiscardedByteCount ( ) : int
return int

NextRestartNumber() public method

public NextRestartNumber ( ) : int
return int

SawSOF() public method

public SawSOF ( ) : bool
return bool

SawSOI() public method

public SawSOI ( ) : bool
return bool

SkipBytes() public method

public SkipBytes ( int count ) : void
count int
return void

jpeg_marker_reader() public method

Initialize the marker reader module. This is called only once, when the decompression object is created.
public jpeg_marker_reader ( jpeg_decompress_struct cinfo ) : System
cinfo jpeg_decompress_struct
return System

jpeg_save_markers() public method

public jpeg_save_markers ( int marker_code, int length_limit ) : void
marker_code int
length_limit int
return void

jpeg_set_marker_processor() public method

Install a special processing method for COM or APPn markers.
public jpeg_set_marker_processor ( int marker_code, jpeg_decompress_struct routine ) : void
marker_code int
routine jpeg_decompress_struct
return void

next_marker() public method

Find the next JPEG marker, save it in cinfo.unread_marker. Returns false if had to suspend before reaching a marker; in that case cinfo.unread_marker is unchanged. Note that the result might not be a valid marker code, but it will never be 0 or FF.
public next_marker ( ) : bool
return bool

read_markers() public method

Read markers until SOS or EOI. Returns same codes as are defined for jpeg_consume_input: JPEG_SUSPENDED, JPEG_REACHED_SOS, or JPEG_REACHED_EOI. Note: This function may return a pseudo SOS marker(with zero component number) for treat by input controller's consume_input. consume_input itself should filter out (skip) the pseudo marker after processing for the caller.
public read_markers ( ) : ReadResult
return ReadResult

read_restart_marker() public method

Read a restart marker, which is expected to appear next in the datastream; if the marker is not there, take appropriate recovery action. Returns false if suspension is required. Made public for use by entropy decoder only This is called by the entropy decoder after it has read an appropriate number of MCUs. cinfo.unread_marker may be nonzero if the entropy decoder has already read a marker from the data source. Under normal conditions cinfo.unread_marker will be reset to 0 before returning; if not reset, it holds a marker which the decoder will be unable to read past.
public read_restart_marker ( ) : bool
return bool

reset_marker_reader() public method

Reset marker processing state to begin a fresh datastream.
public reset_marker_reader ( ) : void
return void