2.2.4.2.1.5.3 RFX_PROGRESSIVE_TILE_SIMPLE

The RFX_PROGRESSIVE_TILE_SIMPLE structure specifies a tile that has been compressed without progressive techniques.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

blockType

blockLen

...

quantIdxY

quantIdxCb

quantIdxCr

xIdx

yIdx

...

flags

yLen

cbLen

crLen

tailLen

yData (variable)

...

...

cbData (variable)

...

...

crData (variable)

...

...

tailData (variable)

...

...

blockType (2 bytes):  A 16-bit unsigned integer that specifies the block type. This field MUST be set to WBT_TILE_SIMPLE (0xCCC5).

blockLen (4 bytes):  A 32-bit unsigned integer that specifies the size, in bytes, of the variable-length RFX_PROGRESSIVE_TILE_SIMPLE block.

quantIdxY (1 byte):  An 8-bit unsigned integer that specifies an index into the RFX_COMPONENT_CODEC_QUANT (section 2.2.4.2.1.5.2) array (the quantVals field) of the containing RFX_PROGRESSIVE_REGION (section 2.2.4.2.1.5) block. The specified quantization table MUST be used for de-quantization of the sub-bands for the Luma (Y) component.

quantIdxCb (1 byte):  An 8-bit unsigned integer that specifies an index into the RFX_COMPONENT_CODEC_QUANT array (the quantVals field) of the containing RFX_PROGRESSIVE_REGION block. The specified quantization table MUST be used for de-quantization of the sub-bands for the Chroma Blue (Cb) component.

quantIdxCr (1 byte):  An 8-bit unsigned integer that specifies an index into the RFX_COMPONENT_CODEC_QUANT array (the quantVals field) of the containing RFX_PROGRESSIVE_REGION block. The specified quantization table MUST be used for de-quantization of the sub-bands for the Chroma Red (Cr) component.

xIdx (2 bytes):  A 16-bit unsigned integer that specifies the x-index of the encoded tile in the screen tile grid. The pixel x-coordinate is obtained by multiplying the x-index by the size of the tile.

yIdx (2 bytes):  A 16-bit unsigned integer that specifies the y-index of the encoded tile in the screen tile grid. The pixel y-coordinate is obtained by multiplying the y-index by the size of the tile.

flags (1 byte):  An 8-bit unsigned integer that contains tile flags.

Flag

Meaning

RFX_TILE_DIFFERENCE

0x01

Indicates that the tile contains the compressed difference of the DWT coefficients for the same tile between the current frame and the previous frame.

yLen (2 bytes):  A 16-bit unsigned integer that specifies the size, in bytes, of the yData field.

cbLen (2 bytes):  A 16-bit unsigned integer that specifies the size, in bytes, of the cbData field.

crLen (2 bytes):  A 16-bit unsigned integer that specifies the size, in bytes, of the crData field.

tailLen (2 bytes):  A 16-bit unsigned integer that specifies the size, in bytes, of the tailData field. This field SHOULD<1> be set to zero.

yData (variable): A variable-length array of bytes that contains the compressed data for the Luma (Y) component of the tile using, a discrete wavelet transform (DWT), sub-band diffing if enabled, and quantization and entropy encoded using the RLGR1 method. The size of this field, in bytes, is specified by the yLen field.

cbData (variable): A variable-length array of bytes that contains the compressed data for the Chroma Blue (Cb) component of the tile using the same methods as the yData field. The size of this field, in bytes, is specified by the cbLen field.

crData (variable): A variable-length array of bytes that contains the compressed data for the Chroma Red (Cr) component of the tile using the same methods as the yData field. The size of this field, in bytes, is specified by the crLen field.

tailData (variable):  A variable-length array of bytes that contains data that SHOULD<2> be ignored. The size of this field, in bytes, is specified by the tailLen field.