Skip to content

build(deps): bump rusty_h264 from 0.8.0 to 0.10.0 - #11

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/cargo/rusty_h264-0.10.0
Open

build(deps): bump rusty_h264 from 0.8.0 to 0.10.0#11
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/cargo/rusty_h264-0.10.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 19, 2026

Copy link
Copy Markdown

Bumps rusty_h264 from 0.8.0 to 0.10.0.

Changelog

Sourced from rusty_h264's changelog.

[0.10.0] - 2026-08-13

The pure-Rust release: the codec no longer contains or requires assembly, and every SIMD kernel family now covers x86-64 and aarch64. Also carries a run of H.264 conformance fixes found by a syntax-layer audit — most notably multi-slice CABAC decode, which was broken for every slice after the first.

Removed — the last assembly, and the nasm build dependency

The rip-ASM campaign is complete: crates/rusty_h264-accel/vendor/ (the final 6 .asm files), build.rs, the cc build-dependency and every extern "C" declaration are gone. Building the codec no longer requires nasm, or any assembler, on any platform. LICENSE.openh264 stays at the accel crate root — the algorithms and tables remain openh264-derived (BSD-2); only the assembly is gone. The asm feature keeps its (now historical) name and gates the pure-Rust SIMD kernels.

Measured: the pure-Rust decoder vs the last asm-linked build is 1.004x (z=-0.26, 15 interleaved pairs) — no measurable decode cost. Encoder output is byte-identical across CABAC / CAVLC / B-frame configurations.

Added — SIMD on both ISAs for every kernel family

  • NEON twins for deblocking (lt4/eq4 x luma/chroma x V/H incl. transposes), SATD (hadamard bands, 16x16/16x8/8x16/8x8) and the transform/quant trio. aarch64 previously compiled the accel crate to an empty lib and ran fully scalar; it now has SIMD for MC, SAD, SATD, deblock and transform/quant.
  • SSE2 twins for the transform/quant trio and the 16x16/8x8 intra predictors (the families that were still assembly).
  • Every kernel keeps its scalar twin as a permanent oracle, pinned by differential tests over full-range inputs. x86-64 paths are test-executed; the aarch64 paths are compile-verified (zero warnings) and their tests run on the first ARM build.
  • bench/pgo.sh — reproducible profile-guided-optimization build. Measured -3.1% (high) / -5.3% (CAVLC) whole-decoder, zero code changes.

Fixed — conformance

  • Multi-slice CABAC decode. slice_first_mb was never set on the CABAC path (the CAVLC twin set it), and context-neighbour availability ignored slice membership — so every slice after the first desynced. x264 --slices 4 streams are now byte-identical to ffmpeg.
  • CABAC I_PCM. decode_ipcm existed but all three CABAC entry points refused with Unsupported; the engine byte-realign (pcm_start_byte / reinit_at, spec §9.3.1.2) is now wired and gated against ffmpeg.
  • qpprime_y_zero_transform_bypass_flag was parsed and discarded — lossless-bypass macroblocks decoded silently wrong. Now a targeted refusal at the step_qp chokepoint (all-PCM lossless streams still decode).
  • direct_8x8_inference_flag is now 1, as the spec requires at level >= 3.0 (every 720p+ stream we emit was formally non-conformant), with

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Aug 19, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/rusty_h264-0.10.0 branch 3 times, most recently from c6eda8c to b3d53c7 Compare August 20, 2026 13:38
Bumps [rusty_h264](https://github.com/remade-with-rust/rusty_h264) from 0.8.0 to 0.10.0.
- [Changelog](https://github.com/Remade-With-Rust/rusty_h264/blob/main/CHANGELOG.md)
- [Commits](https://github.com/remade-with-rust/rusty_h264/commits/v0.10.0)

---
updated-dependencies:
- dependency-name: rusty_h264
  dependency-version: 0.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/rusty_h264-0.10.0 branch from b3d53c7 to 9b325a2 Compare August 21, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants