Repository navigation
Releases
Releases · Remade-With-Rust/rusty_h264
rusty_h264-v0.17.0
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
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
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
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
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