Skip to main content

Module av1

Module av1 

Source
Expand description

The AV1 arm: the sequence and picture parameters, the packed sequence header and frame header OBUs, and the tile group behind them. Main profile, one tile group of as many tiles as the picture width needs, and the eight buffer slots addressed by timestamp: every frame refreshes its own slot and names the slot of the newest frame the client still has as all seven of its references, which is also where its probability contexts load from. The frame header is written with the bit positions of the quantizer, loop filter, and CDEF fields, which a constant-rate driver rewrites in place and a constant-quantizer session fills itself, and with OBU sizes of the fixed width it asks for.

StructsΒ§

Arm πŸ”’
Filters πŸ”’
The in-loop filters of a frame: the deblocking level of every plane and edge, and the one CDEF strength (primary in the high four bits, secondary in the low two) with its damping. A constant-rate driver chooses its own and rewrites the header; a constant-quantizer session has to name them, and all zero leaves the picture unfiltered.
Tiles πŸ”’
The tile layout of a picture: uniform tiles of cols x rows, in superblocks.

ConstantsΒ§

MAX_TILE_AREA πŸ”’
MAX_TILE_COLS πŸ”’
MAX_TILE_ROWS πŸ”’
MAX_TILE_WIDTH πŸ”’
OBU_FRAME_HEADER πŸ”’
OBU_SEQUENCE_HEADER πŸ”’
ORDER_HINT_BITS πŸ”’
RATE_CONTROLLED_QINDEX πŸ”’
The quantizer of a constant-rate session’s headers, which the driver rewrites.

FunctionsΒ§

bit_width πŸ”’
How many bits value needs, at least one.
obu πŸ”’
An OBU: the header byte, the size in size_bytes of LEB128, the payload, and its trailing bits.
tile_log2 πŸ”’
The smallest k with block << k >= target.