2.2.4.2.1.5.5 RFX_PROGRESSIVE_TILE_UPGRADE

The RFX_PROGRESSIVE_TILE_UPGRADE structure contains data required for an upgrade pass of a tile using progressive techniques. The block contains information that MUST be added to the information currently stored by the decoder in order to increase the quality of the tile.


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

...

progressiveQuality

ySrlLen

yRawLen

cbSrlLen

cbRawLen

crSrlLen

crRawLen

ySrlData (variable)

...

...

yRawData (variable)

...

...

cbSrlData (variable)

...

...

cbRawData (variable)

...

...

crSrlData (variable)

...

...

crRawData (variable)

...

...

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

blockLen (4 bytes):  A 32-bit unsigned integer that specifies the size, in bytes, of the variable-length RFX_PROGRESSIVE_TILE_UPGRADE 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.

progressiveQuality (1 byte):  An 8-bit unsigned integer that specifies an index into the RFX_PROGRESSIVE_CODEC_QUANT (section 2.2.4.2.1.5.1) array (the quantProgVals field) of the containing RFX_PROGRESSIVE_REGION block. A value of 255 (0xFF) indicates a full progressive quality table (the quality is 100%, and all the coefficients are zero).

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

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

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

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

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

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

ySrlData (variable): A variable-length array of bytes that contains bits for the Luma (Y) component compressed using the Simplified-RL method.

yRawData (variable): A variable-length array of bytes that contains raw bits for the Luma (Y) component.

cbSrlData (variable): A variable-length array of bytes that contains bits for the Chroma Blue (Cb) component compressed using the Simplified-RL method.

cbRawData (variable): A variable-length array of bytes that contains raw bits for the Chroma Blue (Cb) component.

crSrlData (variable): A variable-length array of bytes that contains bits for the Chroma Red (Cr) component compressed using the Simplified-RL method.

crRawData (variable): A variable-length array of bytes that contains raw bits for the Chroma Red (Cr) component.