# CSJ2K.j2k.codestream.reader.HeaderDecoder

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="CSJ2K_j2k_codestream_reader_HeaderDecoder" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder" class="text-break">HeaderDecoder Class
</h1>
  <div class="markdown level0 summary"><p>This class reads main and tile-part headers from the codestream given a
RandomAccessIO instance located at the beginning of the codestream (i.e
just before the SOC marker) or at the beginning of a tile-part (i.e. just
before a SOT marker segment) respectively.</p>
<pre><code>       &lt;p&gt;A marker segment includes a marker and eventually marker segment
       parameters. It is designed by the three letters code of the marker
       associated with the marker segment. JPEG 2000 part 1 defines 6 types of
       markers segments:

       &lt;ul&gt;&lt;li&gt; Delimiting : SOC, SOT, SOD, EOC&lt;/li&gt;&lt;li&gt; Fixed information: SIZ.&lt;/li&gt;&lt;li&gt; Functional: COD, COC, RGN, QCD, QCC,POC.&lt;/li&gt;&lt;li&gt; In bit-stream: SOP, EPH.&lt;/li&gt;&lt;li&gt; Pointer: TLM, PLM, PLT, PPM, PPT.&lt;/li&gt;&lt;li&gt; Informational: CRG, COM.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;The main header is read when the constructor is called whereas tile-part
       headers are read when the FileBitstreamReaderAgent instance is created. The
       reading is done in 2 passes:

       &lt;ol&gt;&lt;li&gt;All marker segments are buffered and their corresponding flag is
       activated (extractMainMarkSeg and extractTilePartMarkSeg methods).&lt;/li&gt;&lt;li&gt;Buffered marker segment are analyzed in a logical way and
       specifications are stored in appropriate member of DecoderSpecs instance
       (readFoundMainMarkSeg and readFoundTilePartMarkSeg methods).&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt;&lt;p&gt;Whenever a marker segment is not recognized a warning message is
       displayed and its length parameter is used to skip it.&lt;/p&gt;&lt;p&gt;The information found in this header is stored in HeaderInfo and
       DecoderSpecs instances.&lt;/p&gt;
</code></pre>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><span class="xref">HeaderDecoder</span></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CSJ2K.j2k.codestream.reader.html">CSJ2K.j2k.codestream.reader</a></h6>
  <h6><strong>Assembly</strong>: C1.WPF.ReportViewer.4.6.2.dll</h6>
  <h5 id="CSJ2K_j2k_codestream_reader_HeaderDecoder_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class HeaderDecoder</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class HeaderDecoder</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder__ctor_CSJ2K_j2k_io_RandomAccessIO_CSJ2K_j2k_util_ParameterList_CSJ2K_j2k_codestream_HeaderInfo_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.#ctor(CSJ2K.j2k.io.RandomAccessIO,CSJ2K.j2k.util.ParameterList,CSJ2K.j2k.codestream.HeaderInfo)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.-ctor.html#CSJ2K_j2k_codestream_reader_HeaderDecoder__ctor_CSJ2K_j2k_io_RandomAccessIO_CSJ2K_j2k_util_ParameterList_CSJ2K_j2k_codestream_HeaderInfo_">HeaderDecoder(RandomAccessIO, ParameterList, HeaderInfo)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a HeaderDecoder instance and read in two passes the main header
of the codestream. The first and last marker segments shall be
respectively SOC and SOT.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_CRG_FOUND" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.CRG_FOUND">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.CRG_FOUND.html">CRG_FOUND</a>
        </td>
        <td class="markdown level1 summary"><p>Flag bit for CRG marker segment found</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_OPT_PREFIX" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.OPT_PREFIX">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.OPT_PREFIX.html">OPT_PREFIX</a>
        </td>
        <td class="markdown level1 summary"><p>The prefix for header decoder options: 'H'</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_PPM_FOUND" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.PPM_FOUND">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.PPM_FOUND.html">PPM_FOUND</a>
        </td>
        <td class="markdown level1 summary"><p>Flag bit for SOD marker segment found</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_PPT_FOUND" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.PPT_FOUND">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.PPT_FOUND.html">PPT_FOUND</a>
        </td>
        <td class="markdown level1 summary"><p>Flag bit for SOD marker segment found</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_SOD_FOUND" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.SOD_FOUND">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.SOD_FOUND.html">SOD_FOUND</a>
        </td>
        <td class="markdown level1 summary"><p>Flag bit for SOD marker segment found</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_mainHeadOff" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.mainHeadOff">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.mainHeadOff.html">mainHeadOff</a>
        </td>
        <td class="markdown level1 summary"><p>The offset of the main header in the input stream</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_nTileParts" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.nTileParts">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.nTileParts.html">nTileParts</a>
        </td>
        <td class="markdown level1 summary"><p>The number of tile parts in each tile</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_CbULX" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.CbULX">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.CbULX.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_CbULX">CbULX</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the horizontal code-block partition origin.Allowable values are
0 and 1, nothing else.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_CbULY" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.CbULY">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.CbULY.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_CbULY">CbULY</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the vertical code-block partition origin. Allowable values are
0 and 1, nothing else.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_DecoderSpecs" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.DecoderSpecs">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.DecoderSpecs.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_DecoderSpecs">DecoderSpecs</a>
        </td>
        <td class="markdown level1 summary"><p>Return the DecoderSpecs instance filled when reading the headers</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_ImgHeight" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgHeight">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgHeight.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_ImgHeight">ImgHeight</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the image height in the reference grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_ImgULX" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgULX">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgULX.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_ImgULX">ImgULX</a>
        </td>
        <td class="markdown level1 summary"><p>Return the horizontal upper-left coordinate of the image in the
reference grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_ImgULY" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgULY">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgULY.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_ImgULY">ImgULY</a>
        </td>
        <td class="markdown level1 summary"><p>Return the vertical upper-left coordinate of the image in the reference
grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_ImgWidth" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgWidth">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.ImgWidth.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_ImgWidth">ImgWidth</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the image width in the reference grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_MaxCompImgHeight" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.MaxCompImgHeight">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.MaxCompImgHeight.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_MaxCompImgHeight">MaxCompImgHeight</a>
        </td>
        <td class="markdown level1 summary"><p>Return the maximum height among all components</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_MaxCompImgWidth" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.MaxCompImgWidth">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.MaxCompImgWidth.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_MaxCompImgWidth">MaxCompImgWidth</a>
        </td>
        <td class="markdown level1 summary"><p>Return the maximum width among all components</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_NomTileHeight" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.NomTileHeight">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.NomTileHeight.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_NomTileHeight">NomTileHeight</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the nominal width of the tiles in the reference grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_NomTileWidth" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.NomTileWidth">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.NomTileWidth.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_NomTileWidth">NomTileWidth</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the nominal width of the tiles in the reference grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_NumComps" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.NumComps">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.NumComps.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_NumComps">NumComps</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the number of components in the image.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_NumFoundMarkSeg" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.NumFoundMarkSeg">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.NumFoundMarkSeg.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_NumFoundMarkSeg">NumFoundMarkSeg</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the number of found marker segments in the current header.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_NumTiles" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.NumTiles">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.NumTiles.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_NumTiles">NumTiles</a>
        </td>
        <td class="markdown level1 summary"><p>Return the number of tiles in the image</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_ParameterInfo" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.ParameterInfo">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.ParameterInfo.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_ParameterInfo">ParameterInfo</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the parameters that are used in this class. It returns a 2D
String array. Each of the 1D arrays is for a different option, and they
have 3 elements. The first element is the option name, the second one
is the synopsis and the third one is a long description of what the
parameter is. The synopsis or description may be 'null', in which case
it is assumed that there is no synopsis or description of the option,
respectively.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_TileOfTileParts" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.TileOfTileParts">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.TileOfTileParts.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_TileOfTileParts">TileOfTileParts</a>
        </td>
        <td class="markdown level1 summary"><p>Sets the tile of each tile part in order. This information is needed
for identifying which packet header belongs to which tile when using
the PPM marker.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_ToString" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.ToString">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.ToString.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_ToString">ToString()</a>
        </td>
        <td class="markdown level1 summary"><p>Print information about the current header.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_checkMarkerLength_System_IO_BinaryReader_System_String_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.checkMarkerLength(System.IO.BinaryReader,System.String)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.checkMarkerLength.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_checkMarkerLength_System_IO_BinaryReader_System_String_">checkMarkerLength(BinaryReader, string)</a>
        </td>
        <td class="markdown level1 summary"><p>Checks that the marker segment length is correct.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_createChannelDefinitionMapper_CSJ2K_j2k_image_BlkImgDataSrc_CSJ2K_Color_ColorSpace_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.createChannelDefinitionMapper(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.createChannelDefinitionMapper.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_createChannelDefinitionMapper_CSJ2K_j2k_image_BlkImgDataSrc_CSJ2K_Color_ColorSpace_">createChannelDefinitionMapper(BlkImgDataSrc, ColorSpace)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates and returns the ChannelDefinitonMapper which maps the
input channels to the channel definition for the appropriate
colorspace.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_createColorSpaceMapper_CSJ2K_j2k_image_BlkImgDataSrc_CSJ2K_Color_ColorSpace_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.createColorSpaceMapper(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.createColorSpaceMapper.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_createColorSpaceMapper_CSJ2K_j2k_image_BlkImgDataSrc_CSJ2K_Color_ColorSpace_">createColorSpaceMapper(BlkImgDataSrc, ColorSpace)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates and returns the EnumeratedColorSpaceMapper
corresponding to the information read from the JP2 image file
via the ColorSpace parameter.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_createDequantizer_CSJ2K_j2k_quantization_dequantizer_CBlkQuantDataSrcDec_System_Int32___CSJ2K_j2k_decoder_DecoderSpecs_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.createDequantizer(CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec,System.Int32[],CSJ2K.j2k.decoder.DecoderSpecs)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.createDequantizer.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_createDequantizer_CSJ2K_j2k_quantization_dequantizer_CBlkQuantDataSrcDec_System_Int32___CSJ2K_j2k_decoder_DecoderSpecs_">createDequantizer(CBlkQuantDataSrcDec, int[], DecoderSpecs)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the dequantizer parameters. Dequantizer parameters normally are
the quantization step sizes, see DequantizerParams.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_createEntropyDecoder_CSJ2K_j2k_entropy_decoder_CodedCBlkDataSrcDec_CSJ2K_j2k_util_ParameterList_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.createEntropyDecoder(CSJ2K.j2k.entropy.decoder.CodedCBlkDataSrcDec,CSJ2K.j2k.util.ParameterList)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.createEntropyDecoder.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_createEntropyDecoder_CSJ2K_j2k_entropy_decoder_CodedCBlkDataSrcDec_CSJ2K_j2k_util_ParameterList_">createEntropyDecoder(CodedCBlkDataSrcDec, ParameterList)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates and returns the entropy decoder corresponding to the
information read from the codestream header and with the special
additional parameters from the parameter list.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_createPalettizedColorSpaceMapper_CSJ2K_j2k_image_BlkImgDataSrc_CSJ2K_Color_ColorSpace_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.createPalettizedColorSpaceMapper(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.createPalettizedColorSpaceMapper.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_createPalettizedColorSpaceMapper_CSJ2K_j2k_image_BlkImgDataSrc_CSJ2K_Color_ColorSpace_">createPalettizedColorSpaceMapper(BlkImgDataSrc, ColorSpace)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates and returns the PalettizedColorSpaceMapper which uses
the input samples as indicies into a sample palette to
construct the output.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_createROIDeScaler_CSJ2K_j2k_quantization_dequantizer_CBlkQuantDataSrcDec_CSJ2K_j2k_util_ParameterList_CSJ2K_j2k_decoder_DecoderSpecs_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.createROIDeScaler(CSJ2K.j2k.quantization.dequantizer.CBlkQuantDataSrcDec,CSJ2K.j2k.util.ParameterList,CSJ2K.j2k.decoder.DecoderSpecs)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.createROIDeScaler.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_createROIDeScaler_CSJ2K_j2k_quantization_dequantizer_CBlkQuantDataSrcDec_CSJ2K_j2k_util_ParameterList_CSJ2K_j2k_decoder_DecoderSpecs_">createROIDeScaler(CBlkQuantDataSrcDec, ParameterList, DecoderSpecs)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates and returns the ROIDeScaler corresponding to the information
read from the codestream header and with the special additional
parameters from the parameter list.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_createResampler_CSJ2K_j2k_image_BlkImgDataSrc_CSJ2K_Color_ColorSpace_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.createResampler(CSJ2K.j2k.image.BlkImgDataSrc,CSJ2K.Color.ColorSpace)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.createResampler.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_createResampler_CSJ2K_j2k_image_BlkImgDataSrc_CSJ2K_Color_ColorSpace_">createResampler(BlkImgDataSrc, ColorSpace)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates and returns the Resampler which converts the input
source to one in which all channels have the same number of
samples.  This is required for colorspace conversions.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_extractTilePartMarkSeg_System_Int16_CSJ2K_j2k_io_RandomAccessIO_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.extractTilePartMarkSeg(System.Int16,CSJ2K.j2k.io.RandomAccessIO,System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.extractTilePartMarkSeg.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_extractTilePartMarkSeg_System_Int16_CSJ2K_j2k_io_RandomAccessIO_System_Int32_System_Int32_">extractTilePartMarkSeg(short, RandomAccessIO, int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>This method extracts a marker segment in a tile-part header and stores
it into a byte buffer for the second pass. The marker is first
recognized, then its flag is activated and, finally, its content is
buffered in an element of byte arrays accessible thanks to a hashTable.
If a marker segment is not recognized, it prints a warning and skip it
according to its length.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_getCompSubsX_System_Int32_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.getCompSubsX(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.getCompSubsX.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_getCompSubsX_System_Int32_">getCompSubsX(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the component sub-sampling factor, with respect to the
reference grid, along the horizontal direction for the specified
component.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_getCompSubsY_System_Int32_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.getCompSubsY(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.getCompSubsY.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_getCompSubsY_System_Int32_">getCompSubsY(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the component sub-sampling factor, with respect to the
reference grid, along the vertical direction for the specified
component.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_getOriginalBitDepth_System_Int32_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.getOriginalBitDepth(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.getOriginalBitDepth.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_getOriginalBitDepth_System_Int32_">getOriginalBitDepth(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the original bitdepth of the specified component.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_getPPX_System_Int32_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.getPPX(System.Int32,System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.getPPX.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_getPPX_System_Int32_System_Int32_System_Int32_">getPPX(int, int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the precinct partition width for the specified tile-component
and resolution level.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_getPPY_System_Int32_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.getPPY(System.Int32,System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.getPPY.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_getPPY_System_Int32_System_Int32_System_Int32_">getPPY(int, int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the precinct partition height for the specified tile-component
and resolution level.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_getPackedPktHead_System_Int32_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.getPackedPktHead(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.getPackedPktHead.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_getPackedPktHead_System_Int32_">getPackedPktHead(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Return the packed packet headers for a given tile.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_getTilingOrigin_CSJ2K_j2k_image_Coord_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.getTilingOrigin(CSJ2K.j2k.image.Coord)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.getTilingOrigin.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_getTilingOrigin_CSJ2K_j2k_image_Coord_">getTilingOrigin(Coord)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the tiling origin, referred to as '(Px,Py)' in the 'ImgData'
interface.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_isOriginalSigned_System_Int32_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.isOriginalSigned(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.isOriginalSigned.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_isOriginalSigned_System_Int32_">isOriginalSigned(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns true if the original data of the specified component was
signed. If the data was not signed a level shift has to be applied at
the end of the decompression chain.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_precinctPartitionUsed" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.precinctPartitionUsed">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.precinctPartitionUsed.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_precinctPartitionUsed">precinctPartitionUsed()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the boolean used to know if the precinct partition is used</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_readFoundTilePartMarkSeg_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.readFoundTilePartMarkSeg(System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.readFoundTilePartMarkSeg.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_readFoundTilePartMarkSeg_System_Int32_System_Int32_">readFoundTilePartMarkSeg(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Retrieves and reads all marker segments previously found in the
tile-part header.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_codestream_reader_HeaderDecoder_resetHeaderMarkers" data-uid="CSJ2K.j2k.codestream.reader.HeaderDecoder.resetHeaderMarkers">
          <a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.resetHeaderMarkers.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_resetHeaderMarkers">resetHeaderMarkers()</a>
        </td>
        <td class="markdown level1 summary"><p>Method that resets members indicating which markers have already been
found</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="seealso">See Also</h3>
  <div class="seealso">
      <div><a class="xref" href="CSJ2K.j2k.codestream.reader.HeaderDecoder.DecoderSpecs.html#CSJ2K_j2k_codestream_reader_HeaderDecoder_DecoderSpecs">DecoderSpecs</a></div>
      <div><a class="xref" href="CSJ2K.j2k.codestream.HeaderInfo.html">HeaderInfo</a></div>
      <div><a class="xref" href="CSJ2K.j2k.codestream.reader.FileBitstreamReaderAgent.html">FileBitstreamReaderAgent</a></div>
  </div>

</div>
