public abstract class CBlkWTData extends Object
The data is always stored in one array, of the type matching the data type (i.e. for 'int' it's an 'int[]'). The data should be stored in the array in standard scan-line order. That is the samples go from the top-left corner of the code-block to the lower-right corner by line and then column.
The member variable 'offset' gives the index in the array of the first data element (i.e. the top-left coefficient). The member variable 'scanw' gives the width of the scan that is used to store the data, that can be different from the width of the block. Element '(x,y)' of the code-block (i.e. '(0,0)' is the top-left coefficient), will appear at position 'offset+y*scanw+x' in the array of data.
The classes CBlkWTDataInt and CBlkWTDataFloat provide implementations for int and float types respectively.
The types of data are the same as those defined by the 'DataBlk' class.
CBlkWTDataSrc
,
CBlkQuantDataSrcEnc
,
DataBlk
,
CBlkWTDataInt
,
CBlkWTDataFloat
Modifier and Type | Field and Description |
---|---|
double |
convertFactor
The value by which the absolute value of the data has to be divided in
order to get the real absolute value.
|
int |
h
The height of the code-block
|
int |
m
The vertical index of the code-block, within the subband
|
int |
magbits
The number of magnitude bits in the integer representation.
|
int |
n
The horizontal index of the code-block, within the subband
|
int |
nROIbp
Number of ROI magnitude bit-planes
|
int |
nROIcoeff
Number of ROI coefficients in the code-block
|
int |
offset
The offset in the array of the top-left coefficient
|
SubbandAn |
sb
The subband in which this code-block is found
|
int |
scanw
The width of the scanlines used to store the data in the array
|
double |
stepSize
The quantization step size of the code-block.
|
int |
ulx
The horizontal coordinate of the upper-left corner of the code-block
|
int |
uly
The vertical coordinate of the upper left corner of the code-block
|
int |
w
The width of the code-block
|
float |
wmseScaling
The WMSE scaling factor (multiplicative) to apply to the distortion
measures of the data of this code-block.
|
Constructor and Description |
---|
CBlkWTData() |
Modifier and Type | Method and Description |
---|---|
abstract Object |
getData()
Returns the array containing the data, or null if there is no data.
|
abstract int |
getDataType()
Returns the data type of the CBlkWTData object, as
defined in the DataBlk class.
|
abstract void |
setData(Object arr)
Sets the data array to the specified one.
|
String |
toString()
Returns a string of informations about the DataBlk
|
public int ulx
public int uly
public int n
public int m
public SubbandAn sb
public int w
public int h
public int offset
public int scanw
public int magbits
public float wmseScaling
public double convertFactor
public double stepSize
public int nROIcoeff
public int nROIbp
public abstract int getDataType()
DataBlk
public abstract Object getData()
Each implementing class should provide a type specific equivalent method (e.g., getDataInt() in DataBlkInt) which returns an array of the correct type explicitely and not through an Object.
getDataType()
public abstract void setData(Object arr)
The size of the array is not necessarily checked for consistency with w and h or any other fields.
Each implementing class should provide a type specific equivalent method (e.g., setDataInt() in DataBlkInt) which takes an array of the correct type explicetely and not through an Object.
arr
- The new data array to usegetDataType()
Copyright © 2015–2022 SCIFIO. All rights reserved.