@@ -10,7 +10,30 @@ the public-API contract.
1010
1111## [Unreleased]
1212
13- _Nothing yet._
13+ ### Fixed
14+
15+ - **A picture that is not a whole number of ticks long left #409's repair with nothing to stand on,
16+ so the reporting asset still juddered from the first frame (AE#409).** The repair reads a rank out
17+ of the bitstream and puts it back on the ladder the container wrote, and it needed that ladder to
18+ advance by one constant. A constant frame rate does not always produce one: at a 1200000 timescale
19+ the retest asset's pictures are `200202/5` ticks apart, so its sample table can only alternate
20+ between 40040 and 40041, and the classifier fell closed on a ladder it read as variable frame
21+ timing. A two-valued ladder is now read as the quantization it is: the cycle it repeats names the
22+ fraction (a cycle counts only when it is seen through twice), and the pattern it rounds to names
23+ the phase of the lattice it was quantized from, which is the one thing a whole-tick ladder cannot
24+ carry and this one can. Ranks are then placed on that lattice instead of on a step, so the repair
25+ reproduces the muxer exactly rather than a tick beside it, and the whole-tick ladder stays the
26+ special case it always was, untouched. The phase also makes the verdict independent of where the
27+ sample was taken, so a session that starts inside the file describes the same axis as one that
28+ starts at byte 0. Nothing else changed: how far the ladder runs ahead of presentation is still
29+ read from the container header (the ladder fits every alignment equally well, so it cannot answer
30+ that), the container index is still folded by one constant so an index entry can never disagree
31+ with the packet it points at, and a picture the lattice cannot place still falls back to the
32+ rounded step rather than being handed on in decode order. Genuine variable frame timing, a ladder
33+ with a dropped picture, and a wobble that never repeats are all still left exactly as the container
34+ delivered them. Verified against a fractional twin pair (33 packets, three coded video sequences,
35+ both writer shapes, from the head and after a seek): every repaired packet carries the healthy
36+ twin's PTS and DTS exactly. Reported and diagnosed by @orut34iop.
1437
1538## [6.43.0] - 2026-08-25
1639
0 commit comments