Skip to content

Releases

rusty_h264-v0.17.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 22:42
c6bd1b6

Other

  • overflow-checks cost 22.5% of decode — moved to release-checked
  • audit pass 2 — 6% to 89% of in-scope gates, every unit >=85%
  • close H-03/04/05/07/13/14/15/16/31/39 + threat model
  • use-protection-please first pass — 41 gates x 8 units, depth=deep

rusty_h264-encoder-v0.17.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 22:42
c6bd1b6

Fixed

  • the profile census compiles again, and the decoder builds no_std (#20)

Other

  • make main green — fix the root cause behind each failing gate
  • narrow the motion grids to (i16,i16) - 2.90 GB of pool clear removed
  • four more, from the encoder and the PPS-gated grids
  • narrow the reference-index grids i32 -> i8 (-103 MB of memset)
  • overflow-checks cost 22.5% of decode — moved to release-checked
  • audit pass 2 — 6% to 89% of in-scope gates, every unit >=85%
  • close H-03/04/05/07/13/14/15/16/31/39 + threat model
  • use-protection-please first pass — 41 gates x 8 units, depth=deep

rusty_h264-decoder-v0.17.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 22:42
c6bd1b6

Fixed

  • the profile census compiles again, and the decoder builds no_std (#20)

Other

  • Merge remote-tracking branch 'origin/main' into fix16
  • gate the field-picture refusal too (#16)
  • Decode frame pictures of streams that permit field coding
  • 87% of every allocation was one Box::new that skipped its own pool
  • the plane recycle pool was never fed - 4.34 GB of wasted zeroing
  • narrow the motion grids to (i16,i16) - 2.90 GB of pool clear removed
  • the List-1 grids are B-only, so stop clearing them without B (-36%)
  • four more, from the encoder and the PPS-gated grids
  • the mvd cache stores what the context can read, not what was parsed
  • second pass of the copy hunt — the census's own two blind spots
  • carry the POC lookup table, not its per-block expansion (-37 MB)
  • narrow the reference-index grids i32 -> i8 (-103 MB of memset)
  • overflow-checks cost 22.5% of decode — moved to release-checked
  • audit pass 2 — 6% to 89% of in-scope gates, every unit >=85%
  • close H-03/04/05/07/13/14/15/16/31/39 + threat model
  • use-protection-please first pass — 41 gates x 8 units, depth=deep
  • no production panic sites — 47 to 0 (H-18)
  • put the 8x8-transform flag in the intra table, so the filter stops asking
  • move the derivation's output pointer into a register argument
  • build the packed record where it lives (spills -72%)
  • mark single-partition B macroblocks uniform (mb_uniform now -86..-96%)
  • coded flags a word at a time, and a provable kind row
  • pack a uniform macroblock from one block, not sixteen
  • mark the B classes whose motion the decoder already knows is uniform
  • one motion test per macroblock edge when both sides are uniform
  • take the uniformity answer from mb_kind instead of recomputing it
  • derive boundary strengths at u8, not i32 (-223 instrs on the decoder's derivation path)

rusty_h264-common-v0.17.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 22:41
c6bd1b6

Other

  • (miri) make the H-23 gate finish — fix one real test bug, skip the sweeps
  • make main green — fix the root cause behind each failing gate
  • bump rusty_alloc-api to =2.2.6 (#19)
  • bump rusty_alloc-api to =2.2.5 (#17)
  • 87% of every allocation was one Box::new that skipped its own pool
  • narrow the motion grids to (i16,i16) - 2.90 GB of pool clear removed
  • narrow the reference-index grids i32 -> i8 (-103 MB of memset)
  • overflow-checks cost 22.5% of decode — moved to release-checked
  • audit pass 2 — 6% to 89% of in-scope gates, every unit >=85%
  • close H-03/04/05/07/13/14/15/16/31/39 + threat model
  • use-protection-please first pass — 41 gates x 8 units, depth=deep
  • put the 8x8-transform flag in the intra table, so the filter stops asking
  • record one more refutation on the derivation's argument list
  • move the derivation's output pointer into a register argument
  • build the packed record where it lives (spills -72%)
  • add a spill column to the row-hook census, and record what it settled
  • outline the per-lane edge arms, now the minority case
  • the filter keeps boundary strengths at byte width
  • an intra record is one boolean, and the filter stops touching a TLS
  • coded flags a word at a time, and a provable kind row
  • pack a uniform macroblock from one block, not sixteen
  • one motion test per macroblock edge when both sides are uniform
  • take the uniformity answer from mb_kind instead of recomputing it
  • fold the paired motion tests, share the edge nnz mask, split the hot prefix
  • derive boundary strengths at u8, not i32 (-223 instrs on the decoder's derivation path)

rusty_h264-accel-v0.17.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 22:41
c6bd1b6

Other

  • overflow-checks cost 22.5% of decode — moved to release-checked
  • audit pass 2 — 6% to 89% of in-scope gates, every unit >=85%
  • close H-03/04/05/07/13/14/15/16/31/39 + threat model
  • use-protection-please first pass — 41 gates x 8 units, depth=deep
  • an intra record is one boolean, and the filter stops touching a TLS
  • pack a uniform macroblock from one block, not sixteen
  • one motion test per macroblock edge when both sides are uniform