|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectucar.jpeg.jj2000.j2k.codestream.reader.PktDecoder
public class PktDecoder
This class is used to read packet's head and body. All the members must be re-initialized at the beginning of each tile thanks to the restart() method.
Field Summary |
---|
Fields inherited from interface ucar.jpeg.jj2000.j2k.entropy.StdEntropyCoderOptions |
---|
FIRST_BYPASS_PASS_IDX, MAX_CB_AREA, MAX_CB_DIM, MIN_CB_DIM, NUM_EMPTY_PASSES_IN_MS_BP, NUM_NON_BYPASS_MS_BP, NUM_PASSES, OPT_BYPASS, OPT_PRED_TERM, OPT_RESET_MQ, OPT_SEG_SYMBOLS, OPT_TERM_PASS, OPT_VERT_STR_CAUSAL, STRIPE_HEIGHT |
Constructor Summary | |
---|---|
PktDecoder(DecoderSpecs decSpec,
HeaderDecoder hd,
RandomAccessIO ehs,
BitstreamReaderAgent src,
boolean isTruncMode,
int maxCB)
Creates an empty PktDecoder object associated with given decoder specifications and HeaderDecoder. |
Method Summary | |
---|---|
int |
getNumPrecinct(int c,
int r)
Gets the number of precincts in a given component and resolution level. |
int |
getPPX(int t,
int c,
int r)
Returns the precinct partition width for the specified component, resolution level and tile. |
int |
getPPY(int t,
int c,
int rl)
Returns the precinct partition height for the specified component, resolution level and tile. |
PrecInfo |
getPrecInfo(int c,
int r,
int p)
Get PrecInfo instance of the specified resolution level, component and precinct. |
void |
readEPHMarker(ucar.jpeg.jj2000.j2k.codestream.reader.PktHeaderBitReader bin)
Try to read an EPH marker. |
boolean |
readPktBody(int l,
int r,
int c,
int p,
CBlkInfo[][][] cbI,
int[] nb)
Reads specificied packet body in order to find offset of each code-block's piece of codeword. |
boolean |
readPktHead(int l,
int r,
int c,
int p,
CBlkInfo[][][] cbI,
int[] nb)
Read specified packet head and found length of each code-block's piece of codewords as well as number of skipped most significant bit-planes. |
boolean |
readSOPMarker(int[] nBytes,
int p,
int c,
int r)
Try to read a SOP marker and check that its sequence number if not out of sequence. |
CBlkInfo[][][][][] |
restart(int nc,
int[] mdl,
int nl,
CBlkInfo[][][][][] cbI,
boolean pph,
ByteArrayInputStream pphbais)
Re-initialize the PktDecoder instance at the beginning of a new tile. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PktDecoder(DecoderSpecs decSpec, HeaderDecoder hd, RandomAccessIO ehs, BitstreamReaderAgent src, boolean isTruncMode, int maxCB)
decSpec
- The decoder specifications.hd
- The HeaderDecoder instance.ehs
- The stream where to read data from.src
- The bit stream reader agent.isTruncMode
- Whether or not truncation mode is required.maxCB
- The maximum number of code-blocks to read before ncbquitMethod Detail |
---|
public CBlkInfo[][][][][] restart(int nc, int[] mdl, int nl, CBlkInfo[][][][][] cbI, boolean pph, ByteArrayInputStream pphbais)
nc
- The number of components in this tilemdl
- The maximum number of decomposition level in each component
of this tilenl
- The number of layers in this tilecbI
- The code-blocks arraypph
- Flag indicating whether packed packet headers was usedpphbais
- Stream containing the packed packet headerspublic int getNumPrecinct(int c, int r)
c
- Component indexr
- Resolution indexpublic boolean readPktHead(int l, int r, int c, int p, CBlkInfo[][][] cbI, int[] nb) throws IOException
l
- layer indexr
- Resolution level indexc
- Component indexp
- Precinct indexcbI
- CBlkInfo array of relevant component and resolution
level.nb
- The number of bytes to read in each tile before reaching
output rate (used by truncation mode)
IOException
public boolean readPktBody(int l, int r, int c, int p, CBlkInfo[][][] cbI, int[] nb) throws IOException
l
- layer indexr
- Resolution level indexc
- Component indexp
- Precinct indexcbI
- CBlkInfo array of relevant component and resolution
level.nb
- The remainding number of bytes to read from the bit stream in
each tile before reaching the decoding rate (in truncation mode)
IOException
public final int getPPX(int t, int c, int r)
t
- the tile indexc
- The index of the component (between 0 and C-1)r
- The resolution level, from 0 to L.
public final int getPPY(int t, int c, int rl)
t
- the tile indexc
- The index of the component (between 0 and C-1)rl
- The resolution level, from 0 to L.
public boolean readSOPMarker(int[] nBytes, int p, int c, int r) throws IOException
nBytes
- The number of bytes left to read from each tilep
- Precinct indexr
- Resolution level indexc
- Component index
IOException
public void readEPHMarker(ucar.jpeg.jj2000.j2k.codestream.reader.PktHeaderBitReader bin) throws IOException
bin
- The packet header reader to read the EPH marker from
IOException
public PrecInfo getPrecInfo(int c, int r, int p)
c
- Component index.r
- Resolution level index.p
- Precinct index.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |