Skip to content

fix: the profile census compiles again, and the decoder builds no_std - #20

Merged
Ttimmahlax merged 1 commit into
mainfrom
fix/profile-census-and-no-std
Oct 18, 2026
Merged

Ttimmahlax merged 1 commit into
mainfrom
fix/profile-census-and-no-std

Conversation

@Ttimmahlax

Copy link
Copy Markdown
Collaborator

Two build breaks, both in profiling code, both blocking the portfolio release campaign. 7 lines across two files.

Encoder, --features profile. The diamond and sub-pel loops lost the enumerate() that supplied _si (the rung index diastats::ev/imp count by) and _pi (the ring position spstats::ev/imp count by). This restores both, with a comment saying which census reads each. release-plz runs cargo-semver-checks with every feature on, so this is what has stopped the 0.16.x release.

Decoder, no_std. The DQROUTE report() named Vec, which is not in the no_std prelude; it is now alloc::vec::Vec. Published 0.16.0 fails cargo check --no-default-features --features libm on riscv32imac/imafc, which is exactly what rusty_esp_video's no_std jobs build (rusty_esp_video#4 is red on it).

Checked locally:

  • cargo check -p rusty_h264-encoder --features profile --lib
  • cargo check -p rusty_h264-decoder --no-default-features --features libm on riscv32imac-unknown-none-elf and riscv32imafc-unknown-none-elf

Not touched: main is not rustfmt-clean (the long-standing clippy + fmt red), so this PR changes only these lines rather than mixing a 52-file reformat into a fix.

🤖 Generated with Claude Code

Two build breaks, both in profiling code, both blocking the campaign:

- encoder (`--features profile`): the diamond and sub-pel loops lost the
  `enumerate()` that supplied `_si` (the rung index diastats::ev/imp count by)
  and `_pi` (the ring position spstats::ev/imp count by). Restored, with a
  comment saying which census reads each. release-plz runs cargo-semver-checks
  with every feature on, so this is what stopped the 0.16.x release.
- decoder (no_std): the DQROUTE `report()` named `Vec`, which is not in the
  no_std prelude; it is `alloc::vec::Vec` now. Published 0.16.0 fails
  `cargo check --no-default-features --features libm` on riscv32imac/imafc,
  which is what rusty_esp_video's no_std jobs build.

Checked: `cargo check -p rusty_h264-encoder --features profile --lib`, and
`cargo check -p rusty_h264-decoder --no-default-features --features libm` on
riscv32imac-unknown-none-elf and riscv32imafc-unknown-none-elf.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Ttimmahlax
Ttimmahlax merged commit 1911c59 into main Oct 18, 2026
12 of 21 checks passed
@github-actions github-actions Bot mentioned this pull request Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants