Expand description
The HEVC arm: the sequence, picture, and slice parameters, the packed VPS, SPS, PPS, and slice
headers, and the reference picture set behind them. Main profile, Main 10 at 10 bits, or the
range extensions’ Main 4:4:4 and Main 4:4:4 10 for a 4:4:4 session, with the coding tools
and block sizes the driver reports, one reference per slice, and a decoded picture buffer of
the frames the level admits: every slice header carries an explicit short-term reference
picture set naming the frames the decoder keeps, with the newest one the client still has
as the one used. Where the driver says a predicted slice has to carry both reference lists
(VA_PREDICTION_DIRECTION_BI_NOT_EMPTY, Intel’s low-power encoder), a predicted frame is a B
slice whose two lists name that same frame, which codes what a P slice would: such an
encoder fails a P slice on some generations and takes it on others.
Structs§
- Arm 🔒
- Tools 🔒
- The coding tools and block sizes a session runs with: what the driver reports, or the
defaults of
Arm::newwhere it reports none.
Constants§
- INTEL_
LOW_ 🔒POWER_ MIN_ QP - The finest quantizer Intel’s low-power HEVC encoder codes: the driver clips the slice’s to 10..51 when it programs VDENC and looks its rate tables up from 10, and its rate control floors its own minimum at 10. A slice naming a finer one is coded at this one regardless, so the decoder dequantizes it too fine and the picture comes out washed out, the more so the finer the slice names (31 dB at 9 and 16 dB at 2 against 59 dB at 10, Arc A750).
- LOG2_
MAX_ 🔒POC_ LSB_ MINU S4 - PIC_
INIT_ 🔒QP_ CBR - The quantizer the PPS names for a constant-rate session, and the base of every slice’s delta.
- PIC_
INIT_ 🔒QP_ CQP
Functions§
- centered_
qp 🔒 - The quantizer a constant-rate slice names where the rate control codes its own in every
coding unit as a delta from the slice’s (Intel’s full encoder): the middle of the range
at
bit_depth, from which a delta within the syntax’s -(26 + QpBdOffsetY / 2) to 25 + QpBdOffsetY / 2 reaches every quantizer. From 30, a unit the rate control takes under 4 codes a delta past that range, which a strict decoder refuses and a lenient one decodes as garbage.