Skip to content

feat(yuv420p10): 10-bit YUV 4:2:0 planar → u8 + native u16 RGB#4

Merged
uqio merged 10 commits intomainfrom
feat/yuv420p10
Apr 19, 2026
Merged

feat(yuv420p10): 10-bit YUV 4:2:0 planar → u8 + native u16 RGB#4
uqio merged 10 commits intomainfrom
feat/yuv420p10

Conversation

@uqio
Copy link
Copy Markdown
Collaborator

@uqio uqio commented Apr 19, 2026

Summary

Ships AV_PIX_FMT_YUV420P10LE end-to-end — the keystone high-bit-depth
format that Ships 3/4/6 (P010, yuv420p12/14, P012/P016) build on. Two
output paths: u8 RGB (fast, downshifts 10→8 in a single Q15 shift)
and native-depth u16 RGB (lossless, yuv420p10le-style low-bit-
packed for HDR / 10-bit scene analysis).

API additions

  • frame::Yuv420pFrame16<'a, const BITS: u32> + Yuv420p10Frame alias
    — generic u16-backed frame type. Validates BITS ∈ {10, 12, 14} so
    12/14 unlock by relaxing one check. Opt-in try_new_checked
    validates every sample is in [0, (1<<BITS)-1] for untrusted input.
  • yuv::{Yuv420p10, Yuv420p10Row, Yuv420p10Sink, yuv420p10_to}
    marker type, row struct, Sink subtrait, row walker.
  • row::yuv420p10_to_rgb_row (u8 out) + row::yuv420p10_to_rgb_u16_row
    (u16 native-depth out) dispatchers with SIMD/scalar toggle.
  • MixedSinker::with_rgb_u16 / set_rgb_u16gated at the type
    level
    to MixedSinker<Yuv420p10>. Attaching u16 RGB to an 8-bit
    sink is now a compile error, not a silent stale-buffer bug.
  • New errors: Yuv420pFrame16Error::{UnsupportedBits, SampleOutOfRange, ...}, MixedSinkerError::RgbU16BufferTooShort, and
    RowSlice::{Y10, UHalf10, VHalf10}.

Kernel design

range_params_n<BITS, OUT_BITS> derives y_off / y_scale_q15 /
c_scale_q15 from the input/output bit depths. Q15 coefficients
and i32 intermediates work unchanged across 10/12/14 — the 2-term
chroma sum stays < 10⁹, well inside i32 (16-bit input would overflow;
deferred to Ship 4 with i64 intermediates or a lower-Q coefficient
family).

Every kernel AND-masks u16 loads to the low BITS bits so out-of-
range samples (e.g. p010-packed buffers) produce deterministic,
backend-identical output instead of backend-dependent corruption.
Mask is a no-op on valid input.

SIMD backends

All 5 shipped with scalar-equivalence tests across every matrix
(BT.601/709/2020-NCL/SMPTE240M/FCC/YCgCo) × both range modes × tail
widths (18/30/34/1922/1920) × adversarial out-of-range input.

Backend Block u8 status u16 status Test runtime
NEON 16 Y/it aarch64 native CI
SSE4.1 16 Y/it x86 CI (SDE)
AVX2 32 Y/it x86 CI (SDE)
AVX-512BW 64 Y/it x86 CI (SDE)
wasm simd128 16 Y/it wasmtime CI (wasip1)

CI benchmark (1920px row, scalar → SIMD, ns/iter)

Results from the bench runner across all configured tiers (full
report
):

Target u8 path u8 speedup u16 path u16 speedup
macOS aarch64 NEON 4651 → 753 ns 6.2× 4649 → 917 ns 5.1×
Ubuntu x86_64 sse41-max 7356 → 1238 ns 5.9× 7149 → 1575 ns 4.5×
Ubuntu x86_64 native 7181 → 1314 ns 5.5× 7025 → 1472 ns 4.8×
Ubuntu x86_64 avx2-max 7334 → 1452 ns 5.1× 7131 → 1501 ns 4.8×
Ubuntu x86_64 default 7080 → 1453 ns 4.9× 7130 → 1496 ns 4.8×
Windows x86_64 default 6967 → 1465 ns 4.8× 6931 → 1517 ns 4.6×
Ubuntu x86_64 force-scalar 6784 → 6749 ns 1.0× 6882 → 6881 ns 1.0×
macOS aarch64 force-scalar 4677 → 4629 ns 1.0× 4702 → 4638 ns 1.0×

Notes:

  • Every SIMD tier delivers 4.5–6.2× speedup on both output paths.
  • colconv_force_scalar rows validate the dispatch gate: when
    forced scalar, the simd=true and simd=false paths match.
  • NEON per-row absolute latency is ~2× the fastest x86 tier (Apple
    M-series' wider issue + tighter cache on row-granular workloads).
  • Default Ubuntu runners lack native AVX-512, so default and
    avx2-max numbers are near-identical — AVX-512 correctness is
    covered by the SDE-emulated test-sde-avx512 job.

Review findings addressed

Adversarial review iterations flagged and this branch now resolves:

  • Silent stale-buffer risk: with_rgb_u16 compile-time gated to
    Yuv420p10 sinks.
  • p010 vs yuv420p10le docs: explicit "low-bit-packed, not p010"
    wording, with shift-left-by-6 instructions for p010 consumers.
  • Out-of-range sample handling: every kernel AND-masks loads to the
    low BITS bits, so scalar and all 5 SIMD backends produce bit-
    identical output on malformed input. try_new_checked opt-in
    constructor rejects out-of-range samples up front with a plane-
    specific diagnostic.
  • Internal "Ship 2" jargon in public docs → replaced with "colconv
    v0.2".
  • wasm backend runtime coverage: new test-wasm-simd128 CI job runs
    every equivalence test under wasmtime with simd128 enabled.

Test plan

  • cargo test --lib — 127 tests pass (NEON native)
  • cargo build --lib --target x86_64-pc-windows-msvc — clean
  • cargo build --lib --target wasm32-unknown-unknown (simd128) —
    clean
  • x86 CI runs SSE4.1 / AVX2 / AVX-512 equivalence tests (under
    Intel SDE -icx in the test-sde-avx512 job)
  • wasm CI runs simd128 equivalence tests under wasmtime (new
    test-wasm-simd128 job; 118 tests pass including the p10
    out-of-range adversarial regression)
  • Criterion bench yuv_420p10_to_rgb — 4.5–6.2× SIMD speedup
    across aarch64 + x86_64 + Windows tiers (see table above)

🤖 Generated with Claude Code

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds YUV420p10 (10‑bit 4:2:0 planar, AV_PIX_FMT_YUV420P10LE) support end-to-end, including frame validation, row conversion (scalar + SIMD backends), and integration into MixedSinker for RGB/Luma/HSV outputs.

Changes:

  • Introduces Yuv420pFrame16 / Yuv420p10Frame and a YUV420p10 row-walker (yuv420p10_to) plus Yuv420p10 marker types.
  • Adds 10‑bit YUV420p→RGB row primitives for both u8 RGB output and native-depth u16 RGB output (scalar + NEON/SSE4.1/AVX2/AVX‑512/wasm simd128).
  • Extends MixedSinker with optional rgb_u16 output and adds benchmarks + tests for the new format and SIMD equivalence.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/yuv/yuv420p10.rs New YUV420p10 format marker, row type, and frame row-walker.
src/yuv/mod.rs Wires the new YUV420p10 module into the public yuv API.
src/sinker/mixed.rs Adds rgb_u16 output support and a PixelSink impl for Yuv420p10; adds tests.
src/row/scalar.rs Adds scalar high-bit-depth 4:2:0 row converters and shared range/bias helpers; adds tests.
src/row/mod.rs Exposes public YUV420p10 row conversion APIs with SIMD dispatch + u16 output path.
src/row/arch/x86_sse41.rs Adds SSE4.1 YUV420p10→RGB kernels (u8 + u16) and scalar-equivalence tests.
src/row/arch/x86_common.rs Adds shared write_rgb_u16_8 helper for x86 u16 RGB interleaving.
src/row/arch/x86_avx2.rs Adds AVX2 YUV420p10→RGB kernels (u8 + u16) and scalar-equivalence tests.
src/row/arch/x86_avx512.rs Adds AVX‑512 YUV420p10→RGB kernels (u8 + u16) and scalar-equivalence tests.
src/row/arch/wasm_simd128.rs Adds wasm simd128 YUV420p10→RGB kernels (u8 + u16) and u16 write helper.
src/row/arch/neon.rs Adds NEON YUV420p10→RGB kernels (u8 + u16) and scalar-equivalence tests.
src/frame.rs Adds Yuv420pFrame16 + Yuv420p10Frame and validation error types + tests.
benches/yuv_420p10_to_rgb.rs Adds Criterion benchmarks for u8 and u16 YUV420p10 row conversion throughput.
Cargo.toml Registers the new benchmark target.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/frame.rs Outdated
Comment thread src/yuv/yuv420p10.rs Outdated
Comment thread src/yuv/yuv420p10.rs Outdated
Comment thread src/sinker/mixed.rs Outdated
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 19, 2026

Codecov Report

❌ Patch coverage is 74.51802% with 304 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/row/arch/x86_avx512.rs 2.76% 211 Missing ⚠️
src/frame.rs 81.51% 22 Missing ⚠️
src/sinker/mixed.rs 81.81% 22 Missing ⚠️
src/row/mod.rs 71.42% 18 Missing ⚠️
src/row/arch/x86_avx2.rs 94.50% 11 Missing ⚠️
src/row/arch/neon.rs 94.15% 10 Missing ⚠️
src/row/arch/x86_sse41.rs 94.15% 10 Missing ⚠️

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Copy Markdown

Benchmark Results

Benchmark Results Summary

Date: 2026-04-19 06:15:35 UTC

Benchmark Results for macos-aarch64-neon

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: neon
  • Runner: GitHub Actions 1000008570
  • Runner arch (GH): ARM64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:14:13 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,840 ns/iter (+/- 602)
test nv12_to_rgb_row/simd/1280 ... bench:         704 ns/iter (+/- 127)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,598 ns/iter (+/- 948)
test nv12_to_rgb_row/simd/1920 ... bench:       1,092 ns/iter (+/- 206)
test nv12_to_rgb_row/scalar/3840 ... bench:      11,792 ns/iter (+/- 1,526)
test nv12_to_rgb_row/simd/3840 ... bench:       2,048 ns/iter (+/- 288)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,254 ns/iter (+/- 946)
test nv21_to_rgb_row/simd/1280 ... bench:         622 ns/iter (+/- 153)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,656 ns/iter (+/- 729)
test nv21_to_rgb_row/simd/1920 ... bench:       1,085 ns/iter (+/- 138)
test nv21_to_rgb_row/scalar/3840 ... bench:      10,822 ns/iter (+/- 1,956)
test nv21_to_rgb_row/simd/3840 ... bench:       1,890 ns/iter (+/- 193)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,412 ns/iter (+/- 353)
test rgb_to_hsv_row/simd/1280 ... bench:       1,574 ns/iter (+/- 408)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,064 ns/iter (+/- 130)
test rgb_to_hsv_row/simd/1920 ... bench:       2,349 ns/iter (+/- 99)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,149 ns/iter (+/- 584)
test rgb_to_hsv_row/simd/3840 ... bench:       4,712 ns/iter (+/- 200)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,915 ns/iter (+/- 46)
test yuv_420_to_rgb_row/simd/1280 ... bench:         530 ns/iter (+/- 13)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,370 ns/iter (+/- 233)
test yuv_420_to_rgb_row/simd/1920 ... bench:         791 ns/iter (+/- 17)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       8,955 ns/iter (+/- 231)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,579 ns/iter (+/- 21)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,049 ns/iter (+/- 282)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         490 ns/iter (+/- 10)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,567 ns/iter (+/- 61)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         738 ns/iter (+/- 16)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,121 ns/iter (+/- 121)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,472 ns/iter (+/- 91)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,047 ns/iter (+/- 47)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         604 ns/iter (+/- 8)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,580 ns/iter (+/- 102)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:         902 ns/iter (+/- 21)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,130 ns/iter (+/- 151)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       1,797 ns/iter (+/- 37)

Benchmark Results for macos-aarch64-scalar

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008576
  • Runner arch (GH): ARM64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 06:15:14 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,964 ns/iter (+/- 142)
test nv12_to_rgb_row/simd/1280 ... bench:       2,959 ns/iter (+/- 93)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,429 ns/iter (+/- 139)
test nv12_to_rgb_row/simd/1920 ... bench:       4,435 ns/iter (+/- 202)
test nv12_to_rgb_row/scalar/3840 ... bench:       9,051 ns/iter (+/- 2,810)
test nv12_to_rgb_row/simd/3840 ... bench:       8,838 ns/iter (+/- 238)
test nv21_to_rgb_row/scalar/1280 ... bench:       2,971 ns/iter (+/- 118)
test nv21_to_rgb_row/simd/1280 ... bench:       2,969 ns/iter (+/- 110)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,454 ns/iter (+/- 313)
test nv21_to_rgb_row/simd/1920 ... bench:       4,986 ns/iter (+/- 529)
test nv21_to_rgb_row/scalar/3840 ... bench:       9,404 ns/iter (+/- 741)
test nv21_to_rgb_row/simd/3840 ... bench:       9,349 ns/iter (+/- 813)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,633 ns/iter (+/- 449)
test rgb_to_hsv_row/simd/1280 ... bench:       3,681 ns/iter (+/- 535)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,307 ns/iter (+/- 587)
test rgb_to_hsv_row/simd/1920 ... bench:       5,425 ns/iter (+/- 336)
test rgb_to_hsv_row/scalar/3840 ... bench:      11,407 ns/iter (+/- 1,092)
test rgb_to_hsv_row/simd/3840 ... bench:      11,305 ns/iter (+/- 1,308)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,156 ns/iter (+/- 318)
test yuv_420_to_rgb_row/simd/1280 ... bench:       3,223 ns/iter (+/- 272)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,776 ns/iter (+/- 483)
test yuv_420_to_rgb_row/simd/1920 ... bench:       4,625 ns/iter (+/- 356)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       9,695 ns/iter (+/- 713)
test yuv_420_to_rgb_row/simd/3840 ... bench:       9,982 ns/iter (+/- 965)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,233 ns/iter (+/- 206)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       3,085 ns/iter (+/- 100)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,653 ns/iter (+/- 267)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       4,963 ns/iter (+/- 466)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,949 ns/iter (+/- 780)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       9,055 ns/iter (+/- 370)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,044 ns/iter (+/- 48)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       3,045 ns/iter (+/- 44)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,563 ns/iter (+/- 67)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       4,566 ns/iter (+/- 104)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,127 ns/iter (+/- 205)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       9,125 ns/iter (+/- 128)

Benchmark Results for ubuntu-x86_64-avx2-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: avx2-max
  • Runner: GitHub Actions 1000008564
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512
  • Date: 2026-04-19 06:13:19 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,879 ns/iter (+/- 94)
test nv12_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       7,363 ns/iter (+/- 33)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      14,741 ns/iter (+/- 70)
test nv12_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 23)
test nv21_to_rgb_row/scalar/1280 ... bench:       5,064 ns/iter (+/- 35)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 0)
test nv21_to_rgb_row/scalar/1920 ... bench:       7,344 ns/iter (+/- 12)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      14,676 ns/iter (+/- 384)
test nv21_to_rgb_row/simd/3840 ... bench:       3,354 ns/iter (+/- 5)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,712 ns/iter (+/- 94)
test rgb_to_hsv_row/simd/1280 ... bench:       2,590 ns/iter (+/- 7)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,084 ns/iter (+/- 66)
test rgb_to_hsv_row/simd/1920 ... bench:       3,876 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,220 ns/iter (+/- 47)
test rgb_to_hsv_row/simd/3840 ... bench:       7,756 ns/iter (+/- 91)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,582 ns/iter (+/- 51)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,004 ns/iter (+/- 31)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,926 ns/iter (+/- 189)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 25)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,847 ns/iter (+/- 53)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,011 ns/iter (+/- 58)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       5,043 ns/iter (+/- 64)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         972 ns/iter (+/- 15)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,334 ns/iter (+/- 79)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,451 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,779 ns/iter (+/- 31)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,905 ns/iter (+/- 33)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,887 ns/iter (+/- 37)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,008 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,107 ns/iter (+/- 86)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,508 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,369 ns/iter (+/- 49)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,010 ns/iter (+/- 22)

Benchmark Results for ubuntu-x86_64-default

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008563
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:13:25 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,262 ns/iter (+/- 27)
test nv12_to_rgb_row/simd/1280 ... bench:       1,013 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,456 ns/iter (+/- 181)
test nv12_to_rgb_row/simd/1920 ... bench:       1,518 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      12,903 ns/iter (+/- 175)
test nv12_to_rgb_row/simd/3840 ... bench:       3,036 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,204 ns/iter (+/- 158)
test nv21_to_rgb_row/simd/1280 ... bench:       1,011 ns/iter (+/- 0)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,338 ns/iter (+/- 60)
test nv21_to_rgb_row/simd/1920 ... bench:       1,517 ns/iter (+/- 5)
test nv21_to_rgb_row/scalar/3840 ... bench:      12,560 ns/iter (+/- 500)
test nv21_to_rgb_row/simd/3840 ... bench:       3,033 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,597 ns/iter (+/- 64)
test rgb_to_hsv_row/simd/1280 ... bench:       2,789 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,893 ns/iter (+/- 45)
test rgb_to_hsv_row/simd/1920 ... bench:       4,187 ns/iter (+/- 121)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,802 ns/iter (+/- 45)
test rgb_to_hsv_row/simd/3840 ... bench:       8,374 ns/iter (+/- 12)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,514 ns/iter (+/- 28)
test yuv_420_to_rgb_row/simd/1280 ... bench:         940 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,882 ns/iter (+/- 190)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,410 ns/iter (+/- 3)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,783 ns/iter (+/- 128)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,817 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,635 ns/iter (+/- 23)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         877 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,214 ns/iter (+/- 62)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,326 ns/iter (+/- 10)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,187 ns/iter (+/- 32)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,638 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,586 ns/iter (+/- 26)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         982 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,926 ns/iter (+/- 11)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,470 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,001 ns/iter (+/- 53)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,963 ns/iter (+/- 4)

Benchmark Results for ubuntu-x86_64-native

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: native
  • Runner: GitHub Actions 1000008562
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS: -C target-cpu=native
  • Date: 2026-04-19 06:13:46 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,450 ns/iter (+/- 30)
test nv12_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,706 ns/iter (+/- 34)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,368 ns/iter (+/- 37)
test nv12_to_rgb_row/simd/3840 ... bench:       3,354 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,648 ns/iter (+/- 104)
test nv21_to_rgb_row/simd/1280 ... bench:       1,118 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,704 ns/iter (+/- 91)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,390 ns/iter (+/- 53)
test nv21_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,659 ns/iter (+/- 81)
test rgb_to_hsv_row/simd/1280 ... bench:       2,587 ns/iter (+/- 7)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,995 ns/iter (+/- 42)
test rgb_to_hsv_row/simd/1920 ... bench:       3,878 ns/iter (+/- 4)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,139 ns/iter (+/- 96)
test rgb_to_hsv_row/simd/3840 ... bench:       7,767 ns/iter (+/- 11)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,555 ns/iter (+/- 372)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,007 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,879 ns/iter (+/- 48)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,771 ns/iter (+/- 60)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,012 ns/iter (+/- 19)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,687 ns/iter (+/- 44)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         969 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,083 ns/iter (+/- 20)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,453 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,359 ns/iter (+/- 33)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,909 ns/iter (+/- 8)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,714 ns/iter (+/- 15)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,007 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,131 ns/iter (+/- 26)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,498 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,316 ns/iter (+/- 237)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,006 ns/iter (+/- 9)

Benchmark Results for ubuntu-x86_64-scalar

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008561
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 06:13:18 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,755 ns/iter (+/- 102)
test nv12_to_rgb_row/simd/1280 ... bench:       4,505 ns/iter (+/- 137)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,810 ns/iter (+/- 268)
test nv12_to_rgb_row/simd/1920 ... bench:       6,846 ns/iter (+/- 75)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,616 ns/iter (+/- 604)
test nv12_to_rgb_row/simd/3840 ... bench:      13,575 ns/iter (+/- 388)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,687 ns/iter (+/- 37)
test nv21_to_rgb_row/simd/1280 ... bench:       4,690 ns/iter (+/- 203)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,801 ns/iter (+/- 24)
test nv21_to_rgb_row/simd/1920 ... bench:       6,800 ns/iter (+/- 23)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,876 ns/iter (+/- 422)
test nv21_to_rgb_row/simd/3840 ... bench:      13,625 ns/iter (+/- 86)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,572 ns/iter (+/- 53)
test rgb_to_hsv_row/simd/1280 ... bench:       4,576 ns/iter (+/- 41)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,876 ns/iter (+/- 58)
test rgb_to_hsv_row/simd/1920 ... bench:       6,860 ns/iter (+/- 169)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,860 ns/iter (+/- 154)
test rgb_to_hsv_row/simd/3840 ... bench:      13,763 ns/iter (+/- 294)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,819 ns/iter (+/- 8)
test yuv_420_to_rgb_row/simd/1280 ... bench:       4,822 ns/iter (+/- 100)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,280 ns/iter (+/- 107)
test yuv_420_to_rgb_row/simd/1920 ... bench:       7,274 ns/iter (+/- 78)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,534 ns/iter (+/- 44)
test yuv_420_to_rgb_row/simd/3840 ... bench:      14,560 ns/iter (+/- 75)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,524 ns/iter (+/- 26)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,518 ns/iter (+/- 81)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,871 ns/iter (+/- 36)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       6,867 ns/iter (+/- 23)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      13,682 ns/iter (+/- 93)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      13,661 ns/iter (+/- 233)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,529 ns/iter (+/- 31)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       4,518 ns/iter (+/- 70)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,867 ns/iter (+/- 153)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       6,867 ns/iter (+/- 136)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      13,789 ns/iter (+/- 26)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:      13,792 ns/iter (+/- 33)

Benchmark Results for ubuntu-x86_64-sse41-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: sse41-max
  • Runner: GitHub Actions 1000008565
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512 --cfg colconv_disable_avx2
  • Date: 2026-04-19 06:13:30 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,701 ns/iter (+/- 81)
test nv12_to_rgb_row/simd/1280 ... bench:       1,178 ns/iter (+/- 3)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,561 ns/iter (+/- 50)
test nv12_to_rgb_row/simd/1920 ... bench:       1,767 ns/iter (+/- 8)
test nv12_to_rgb_row/scalar/3840 ... bench:      11,300 ns/iter (+/- 69)
test nv12_to_rgb_row/simd/3840 ... bench:       3,538 ns/iter (+/- 13)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,763 ns/iter (+/- 45)
test nv21_to_rgb_row/simd/1280 ... bench:       1,176 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,602 ns/iter (+/- 18)
test nv21_to_rgb_row/simd/1920 ... bench:       1,763 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/3840 ... bench:      11,165 ns/iter (+/- 43)
test nv21_to_rgb_row/simd/3840 ... bench:       3,534 ns/iter (+/- 5)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,350 ns/iter (+/- 50)
test rgb_to_hsv_row/simd/1280 ... bench:       2,840 ns/iter (+/- 67)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,567 ns/iter (+/- 53)
test rgb_to_hsv_row/simd/1920 ... bench:       4,259 ns/iter (+/- 22)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,249 ns/iter (+/- 98)
test rgb_to_hsv_row/simd/3840 ... bench:       8,516 ns/iter (+/- 28)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,757 ns/iter (+/- 67)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,215 ns/iter (+/- 9)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,747 ns/iter (+/- 134)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,816 ns/iter (+/- 5)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      11,229 ns/iter (+/- 150)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,620 ns/iter (+/- 57)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,016 ns/iter (+/- 44)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         971 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,010 ns/iter (+/- 101)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,454 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      12,003 ns/iter (+/- 138)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,907 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,857 ns/iter (+/- 52)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,538 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,775 ns/iter (+/- 35)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       2,306 ns/iter (+/- 7)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,588 ns/iter (+/- 82)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       4,612 ns/iter (+/- 9)

Benchmark Results for windows-x86_64-default

System Information

  • OS: windows-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008558
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:14:51 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,396 ns/iter (+/- 160)
test nv12_to_rgb_row/simd/1280 ... bench:       1,126 ns/iter (+/- 3)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,610 ns/iter (+/- 44)
test nv12_to_rgb_row/simd/1920 ... bench:       1,685 ns/iter (+/- 38)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,211 ns/iter (+/- 194)
test nv12_to_rgb_row/simd/3840 ... bench:       3,367 ns/iter (+/- 8)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,523 ns/iter (+/- 38)
test nv21_to_rgb_row/simd/1280 ... bench:       1,123 ns/iter (+/- 5)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,820 ns/iter (+/- 65)
test nv21_to_rgb_row/simd/1920 ... bench:       1,681 ns/iter (+/- 5)
test nv21_to_rgb_row/scalar/3840 ... bench:      14,122 ns/iter (+/- 5,007)
test nv21_to_rgb_row/simd/3840 ... bench:       3,373 ns/iter (+/- 156)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,686 ns/iter (+/- 257)
test rgb_to_hsv_row/simd/1280 ... bench:       2,601 ns/iter (+/- 11)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,008 ns/iter (+/- 146)
test rgb_to_hsv_row/simd/1920 ... bench:       3,898 ns/iter (+/- 53)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,109 ns/iter (+/- 215)
test rgb_to_hsv_row/simd/3840 ... bench:       7,841 ns/iter (+/- 205)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,628 ns/iter (+/- 57)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,015 ns/iter (+/- 5)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,000 ns/iter (+/- 149)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,516 ns/iter (+/- 6)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,972 ns/iter (+/- 245)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,048 ns/iter (+/- 33)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,603 ns/iter (+/- 65)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         984 ns/iter (+/- 8)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,013 ns/iter (+/- 353)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,474 ns/iter (+/- 19)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,841 ns/iter (+/- 1,510)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,935 ns/iter (+/- 127)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,602 ns/iter (+/- 108)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,014 ns/iter (+/- 19)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,974 ns/iter (+/- 107)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,514 ns/iter (+/- 28)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,167 ns/iter (+/- 252)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,041 ns/iter (+/- 64)

View detailed results

Detailed Criterion results have been uploaded as artifacts. Download them from the workflow run to view charts and detailed statistics.

@github-actions
Copy link
Copy Markdown

Benchmark Results

Benchmark Results Summary

Date: 2026-04-19 06:36:06 UTC

Benchmark Results for macos-aarch64-neon

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: neon
  • Runner: GitHub Actions 1000008646
  • Runner arch (GH): ARM64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:34:54 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,960 ns/iter (+/- 461)
test nv12_to_rgb_row/simd/1280 ... bench:         553 ns/iter (+/- 127)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,285 ns/iter (+/- 283)
test nv12_to_rgb_row/simd/1920 ... bench:         779 ns/iter (+/- 59)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,343 ns/iter (+/- 430)
test nv12_to_rgb_row/simd/3840 ... bench:       1,629 ns/iter (+/- 182)
test nv21_to_rgb_row/scalar/1280 ... bench:       2,936 ns/iter (+/- 496)
test nv21_to_rgb_row/simd/1280 ... bench:         564 ns/iter (+/- 73)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,407 ns/iter (+/- 408)
test nv21_to_rgb_row/simd/1920 ... bench:         818 ns/iter (+/- 51)
test nv21_to_rgb_row/scalar/3840 ... bench:       9,172 ns/iter (+/- 1,708)
test nv21_to_rgb_row/simd/3840 ... bench:       1,684 ns/iter (+/- 419)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,484 ns/iter (+/- 391)
test rgb_to_hsv_row/simd/1280 ... bench:       1,595 ns/iter (+/- 275)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,221 ns/iter (+/- 1,307)
test rgb_to_hsv_row/simd/1920 ... bench:       2,477 ns/iter (+/- 664)
test rgb_to_hsv_row/scalar/3840 ... bench:      12,872 ns/iter (+/- 3,249)
test rgb_to_hsv_row/simd/3840 ... bench:       5,824 ns/iter (+/- 1,106)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,542 ns/iter (+/- 1,395)
test yuv_420_to_rgb_row/simd/1280 ... bench:         585 ns/iter (+/- 165)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,089 ns/iter (+/- 1,142)
test yuv_420_to_rgb_row/simd/1920 ... bench:         846 ns/iter (+/- 151)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      10,577 ns/iter (+/- 1,945)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,786 ns/iter (+/- 550)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,896 ns/iter (+/- 1,134)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         579 ns/iter (+/- 172)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,382 ns/iter (+/- 1,078)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         785 ns/iter (+/- 158)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      10,722 ns/iter (+/- 1,596)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,610 ns/iter (+/- 288)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,752 ns/iter (+/- 945)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         734 ns/iter (+/- 166)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,884 ns/iter (+/- 752)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,057 ns/iter (+/- 230)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,045 ns/iter (+/- 2,188)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       1,936 ns/iter (+/- 317)

Benchmark Results for macos-aarch64-scalar

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008648
  • Runner arch (GH): ARM64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 06:34:49 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,746 ns/iter (+/- 59)
test nv12_to_rgb_row/simd/1280 ... bench:       2,741 ns/iter (+/- 59)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,104 ns/iter (+/- 77)
test nv12_to_rgb_row/simd/1920 ... bench:       4,105 ns/iter (+/- 97)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,190 ns/iter (+/- 146)
test nv12_to_rgb_row/simd/3840 ... bench:       8,247 ns/iter (+/- 256)
test nv21_to_rgb_row/scalar/1280 ... bench:       2,737 ns/iter (+/- 57)
test nv21_to_rgb_row/simd/1280 ... bench:       2,745 ns/iter (+/- 60)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,104 ns/iter (+/- 87)
test nv21_to_rgb_row/simd/1920 ... bench:       4,109 ns/iter (+/- 84)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,193 ns/iter (+/- 167)
test nv21_to_rgb_row/simd/3840 ... bench:       8,186 ns/iter (+/- 155)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,120 ns/iter (+/- 21)
test rgb_to_hsv_row/simd/1280 ... bench:       3,122 ns/iter (+/- 22)
test rgb_to_hsv_row/scalar/1920 ... bench:       4,680 ns/iter (+/- 45)
test rgb_to_hsv_row/simd/1920 ... bench:       4,673 ns/iter (+/- 37)
test rgb_to_hsv_row/scalar/3840 ... bench:       9,375 ns/iter (+/- 429)
test rgb_to_hsv_row/simd/3840 ... bench:       9,377 ns/iter (+/- 843)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,702 ns/iter (+/- 34)
test yuv_420_to_rgb_row/simd/1280 ... bench:       2,704 ns/iter (+/- 103)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,043 ns/iter (+/- 48)
test yuv_420_to_rgb_row/simd/1920 ... bench:       4,043 ns/iter (+/- 54)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       8,285 ns/iter (+/- 111)
test yuv_420_to_rgb_row/simd/3840 ... bench:       8,296 ns/iter (+/- 147)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       2,817 ns/iter (+/- 24)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       2,827 ns/iter (+/- 84)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,237 ns/iter (+/- 137)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       4,231 ns/iter (+/- 83)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       8,446 ns/iter (+/- 229)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       8,433 ns/iter (+/- 157)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       2,815 ns/iter (+/- 41)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       2,819 ns/iter (+/- 51)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,219 ns/iter (+/- 62)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       4,222 ns/iter (+/- 289)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       8,440 ns/iter (+/- 232)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       8,485 ns/iter (+/- 532)

Benchmark Results for ubuntu-x86_64-avx2-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: avx2-max
  • Runner: GitHub Actions 1000008643
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512
  • Date: 2026-04-19 06:35:10 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,736 ns/iter (+/- 17)
test nv12_to_rgb_row/simd/1280 ... bench:         785 ns/iter (+/- 15)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,575 ns/iter (+/- 18)
test nv12_to_rgb_row/simd/1920 ... bench:       1,175 ns/iter (+/- 28)
test nv12_to_rgb_row/scalar/3840 ... bench:      11,151 ns/iter (+/- 191)
test nv12_to_rgb_row/simd/3840 ... bench:       2,352 ns/iter (+/- 48)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,693 ns/iter (+/- 16)
test nv21_to_rgb_row/simd/1280 ... bench:         784 ns/iter (+/- 0)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,643 ns/iter (+/- 48)
test nv21_to_rgb_row/simd/1920 ... bench:       1,176 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      11,174 ns/iter (+/- 28)
test nv21_to_rgb_row/simd/3840 ... bench:       2,354 ns/iter (+/- 4)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,575 ns/iter (+/- 7)
test rgb_to_hsv_row/simd/1280 ... bench:       2,220 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,362 ns/iter (+/- 430)
test rgb_to_hsv_row/simd/1920 ... bench:       3,329 ns/iter (+/- 12)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,741 ns/iter (+/- 25)
test rgb_to_hsv_row/simd/3840 ... bench:       6,661 ns/iter (+/- 12)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,599 ns/iter (+/- 15)
test yuv_420_to_rgb_row/simd/1280 ... bench:         730 ns/iter (+/- 20)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,451 ns/iter (+/- 18)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,094 ns/iter (+/- 18)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      11,212 ns/iter (+/- 165)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,188 ns/iter (+/- 21)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,689 ns/iter (+/- 23)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         685 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,610 ns/iter (+/- 11)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,021 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      11,355 ns/iter (+/- 27)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,038 ns/iter (+/- 33)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,543 ns/iter (+/- 16)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         761 ns/iter (+/- 0)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,313 ns/iter (+/- 57)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,141 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      10,901 ns/iter (+/- 61)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,290 ns/iter (+/- 3)

Benchmark Results for ubuntu-x86_64-default

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008635
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:33:58 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,447 ns/iter (+/- 42)
test nv12_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,691 ns/iter (+/- 34)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,381 ns/iter (+/- 55)
test nv12_to_rgb_row/simd/3840 ... bench:       3,354 ns/iter (+/- 8)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,480 ns/iter (+/- 126)
test nv21_to_rgb_row/simd/1280 ... bench:       1,132 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,695 ns/iter (+/- 17)
test nv21_to_rgb_row/simd/1920 ... bench:       1,679 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,418 ns/iter (+/- 52)
test nv21_to_rgb_row/simd/3840 ... bench:       3,355 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,670 ns/iter (+/- 15)
test rgb_to_hsv_row/simd/1280 ... bench:       2,590 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,001 ns/iter (+/- 39)
test rgb_to_hsv_row/simd/1920 ... bench:       3,886 ns/iter (+/- 9)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,063 ns/iter (+/- 91)
test rgb_to_hsv_row/simd/3840 ... bench:       7,778 ns/iter (+/- 13)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,581 ns/iter (+/- 18)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,004 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,883 ns/iter (+/- 22)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 3)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,773 ns/iter (+/- 47)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,015 ns/iter (+/- 5)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,698 ns/iter (+/- 17)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         969 ns/iter (+/- 14)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,090 ns/iter (+/- 196)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,452 ns/iter (+/- 19)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,350 ns/iter (+/- 50)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,912 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,706 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,005 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,141 ns/iter (+/- 34)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,497 ns/iter (+/- 22)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,341 ns/iter (+/- 64)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,009 ns/iter (+/- 19)

Benchmark Results for ubuntu-x86_64-native

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: native
  • Runner: GitHub Actions 1000008647
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS: -C target-cpu=native
  • Date: 2026-04-19 06:35:49 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,249 ns/iter (+/- 57)
test nv12_to_rgb_row/simd/1280 ... bench:       1,012 ns/iter (+/- 5)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,375 ns/iter (+/- 80)
test nv12_to_rgb_row/simd/1920 ... bench:       1,517 ns/iter (+/- 6)
test nv12_to_rgb_row/scalar/3840 ... bench:      12,669 ns/iter (+/- 28)
test nv12_to_rgb_row/simd/3840 ... bench:       3,037 ns/iter (+/- 7)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,301 ns/iter (+/- 79)
test nv21_to_rgb_row/simd/1280 ... bench:       1,012 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,350 ns/iter (+/- 69)
test nv21_to_rgb_row/simd/1920 ... bench:       1,519 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/3840 ... bench:      12,584 ns/iter (+/- 146)
test nv21_to_rgb_row/simd/3840 ... bench:       3,034 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,595 ns/iter (+/- 20)
test rgb_to_hsv_row/simd/1280 ... bench:       2,789 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,890 ns/iter (+/- 20)
test rgb_to_hsv_row/simd/1920 ... bench:       4,183 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,797 ns/iter (+/- 107)
test rgb_to_hsv_row/simd/3840 ... bench:       8,370 ns/iter (+/- 49)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,524 ns/iter (+/- 243)
test yuv_420_to_rgb_row/simd/1280 ... bench:         940 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,914 ns/iter (+/- 92)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,409 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,775 ns/iter (+/- 340)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,817 ns/iter (+/- 70)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,620 ns/iter (+/- 255)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         882 ns/iter (+/- 10)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,096 ns/iter (+/- 134)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,326 ns/iter (+/- 6)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,222 ns/iter (+/- 26)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,639 ns/iter (+/- 6)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,581 ns/iter (+/- 9)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         987 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,916 ns/iter (+/- 91)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,479 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      13,992 ns/iter (+/- 44)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,962 ns/iter (+/- 3)

Benchmark Results for ubuntu-x86_64-scalar

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008639
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 06:34:10 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,504 ns/iter (+/- 23)
test nv12_to_rgb_row/simd/1280 ... bench:       4,744 ns/iter (+/- 116)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,852 ns/iter (+/- 37)
test nv12_to_rgb_row/simd/1920 ... bench:       6,812 ns/iter (+/- 104)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,579 ns/iter (+/- 339)
test nv12_to_rgb_row/simd/3840 ... bench:      13,588 ns/iter (+/- 96)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,701 ns/iter (+/- 102)
test nv21_to_rgb_row/simd/1280 ... bench:       4,716 ns/iter (+/- 8)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,799 ns/iter (+/- 36)
test nv21_to_rgb_row/simd/1920 ... bench:       6,801 ns/iter (+/- 60)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,621 ns/iter (+/- 130)
test nv21_to_rgb_row/simd/3840 ... bench:      13,604 ns/iter (+/- 774)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,573 ns/iter (+/- 110)
test rgb_to_hsv_row/simd/1280 ... bench:       4,573 ns/iter (+/- 18)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,866 ns/iter (+/- 521)
test rgb_to_hsv_row/simd/1920 ... bench:       6,867 ns/iter (+/- 166)
test rgb_to_hsv_row/scalar/3840 ... bench:      15,040 ns/iter (+/- 594)
test rgb_to_hsv_row/simd/3840 ... bench:      13,841 ns/iter (+/- 70)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,817 ns/iter (+/- 29)
test yuv_420_to_rgb_row/simd/1280 ... bench:       4,818 ns/iter (+/- 165)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,287 ns/iter (+/- 279)
test yuv_420_to_rgb_row/simd/1920 ... bench:       7,250 ns/iter (+/- 145)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,551 ns/iter (+/- 75)
test yuv_420_to_rgb_row/simd/3840 ... bench:      14,554 ns/iter (+/- 29)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,446 ns/iter (+/- 101)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,451 ns/iter (+/- 42)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,784 ns/iter (+/- 36)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       6,778 ns/iter (+/- 206)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      13,607 ns/iter (+/- 64)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      13,601 ns/iter (+/- 76)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,524 ns/iter (+/- 8)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       4,523 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,839 ns/iter (+/- 28)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       6,877 ns/iter (+/- 105)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      13,822 ns/iter (+/- 33)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:      13,803 ns/iter (+/- 225)

Benchmark Results for ubuntu-x86_64-sse41-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: sse41-max
  • Runner: GitHub Actions 1000008644
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512 --cfg colconv_disable_avx2
  • Date: 2026-04-19 06:35:15 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       5,004 ns/iter (+/- 22)
test nv12_to_rgb_row/simd/1280 ... bench:         989 ns/iter (+/- 31)
test nv12_to_rgb_row/scalar/1920 ... bench:       7,235 ns/iter (+/- 39)
test nv12_to_rgb_row/simd/1920 ... bench:       1,483 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      14,605 ns/iter (+/- 354)
test nv12_to_rgb_row/simd/3840 ... bench:       2,964 ns/iter (+/- 133)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,966 ns/iter (+/- 32)
test nv21_to_rgb_row/simd/1280 ... bench:         989 ns/iter (+/- 11)
test nv21_to_rgb_row/scalar/1920 ... bench:       7,200 ns/iter (+/- 105)
test nv21_to_rgb_row/simd/1920 ... bench:       1,483 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      14,401 ns/iter (+/- 36)
test nv21_to_rgb_row/simd/3840 ... bench:       2,965 ns/iter (+/- 14)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,472 ns/iter (+/- 185)
test rgb_to_hsv_row/simd/1280 ... bench:       2,751 ns/iter (+/- 210)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,701 ns/iter (+/- 39)
test rgb_to_hsv_row/simd/1920 ... bench:       4,123 ns/iter (+/- 12)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,423 ns/iter (+/- 435)
test rgb_to_hsv_row/simd/3840 ... bench:       8,250 ns/iter (+/- 26)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,556 ns/iter (+/- 79)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,009 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,883 ns/iter (+/- 92)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,512 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,787 ns/iter (+/- 140)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,024 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,769 ns/iter (+/- 77)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         860 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,240 ns/iter (+/- 141)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,287 ns/iter (+/- 9)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,541 ns/iter (+/- 34)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,582 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,532 ns/iter (+/- 118)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,224 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,948 ns/iter (+/- 46)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,840 ns/iter (+/- 15)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      13,994 ns/iter (+/- 55)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,684 ns/iter (+/- 3)

Benchmark Results for windows-x86_64-default

System Information

  • OS: windows-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008632
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:34:44 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,558 ns/iter (+/- 131)
test nv12_to_rgb_row/simd/1280 ... bench:         760 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,316 ns/iter (+/- 87)
test nv12_to_rgb_row/simd/1920 ... bench:       1,136 ns/iter (+/- 4)
test nv12_to_rgb_row/scalar/3840 ... bench:      10,717 ns/iter (+/- 457)
test nv12_to_rgb_row/simd/3840 ... bench:       2,271 ns/iter (+/- 14)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,693 ns/iter (+/- 128)
test nv21_to_rgb_row/simd/1280 ... bench:         773 ns/iter (+/- 7)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,556 ns/iter (+/- 81)
test nv21_to_rgb_row/simd/1920 ... bench:       1,166 ns/iter (+/- 5)
test nv21_to_rgb_row/scalar/3840 ... bench:      11,023 ns/iter (+/- 310)
test nv21_to_rgb_row/simd/3840 ... bench:       2,326 ns/iter (+/- 13)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,457 ns/iter (+/- 292)
test rgb_to_hsv_row/simd/1280 ... bench:       4,118 ns/iter (+/- 327)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,866 ns/iter (+/- 456)
test rgb_to_hsv_row/simd/1920 ... bench:       6,372 ns/iter (+/- 679)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,786 ns/iter (+/- 556)
test rgb_to_hsv_row/simd/3840 ... bench:      12,329 ns/iter (+/- 894)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,806 ns/iter (+/- 630)
test yuv_420_to_rgb_row/simd/1280 ... bench:         693 ns/iter (+/- 28)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,706 ns/iter (+/- 179)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,037 ns/iter (+/- 18)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      11,510 ns/iter (+/- 863)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,146 ns/iter (+/- 79)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,704 ns/iter (+/- 904)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         648 ns/iter (+/- 161)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,739 ns/iter (+/- 1,720)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         944 ns/iter (+/- 38)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      11,548 ns/iter (+/- 305)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,900 ns/iter (+/- 12)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,847 ns/iter (+/- 669)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,208 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,702 ns/iter (+/- 41)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,816 ns/iter (+/- 14)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,452 ns/iter (+/- 846)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,655 ns/iter (+/- 63)

View detailed results

Detailed Criterion results have been uploaded as artifacts. Download them from the workflow run to view charts and detailed statistics.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/sinker/mixed.rs
Comment on lines +950 to +956
if row.y().len() != w {
return Err(MixedSinkerError::RowShapeMismatch {
which: RowSlice::Y10,
row: idx,
expected: w,
actual: row.y().len(),
});
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RowShapeMismatch is reused here for u16 row slices (Y10/UHalf10/VHalf10), but its error message says the slice has N "bytes". In this 10‑bit path the lengths are counts of u16 elements, so the diagnostics will be misleading. Consider making the message unit-agnostic (e.g., “elements/len”) or adding a separate mismatch variant for u16 rows so callers don’t misinterpret the reported sizes.

Copilot uses AI. Check for mistakes.
Comment thread src/frame.rs
fn p10_planes() -> (std::vec::Vec<u16>, std::vec::Vec<u16>, std::vec::Vec<u16>) {
// 16×8 frame, chroma 8×4. Neutral 10-bit mid-gray (Y=512, UV=512).
(
std::vec![0u16; 16 * 8],
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test helper comment says this builds a neutral 10‑bit mid‑gray frame (Y=512, UV=512), but the Y plane is initialized with 0s. Either update the comment (it’s currently describing a different frame) or initialize the Y plane with 512 to match the stated intent.

Suggested change
std::vec![0u16; 16 * 8],
std::vec![512u16; 16 * 8],

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown

Benchmark Results

Benchmark Results Summary

Date: 2026-04-19 06:46:44 UTC

Benchmark Results for macos-aarch64-neon

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: neon
  • Runner: GitHub Actions 1000008675
  • Runner arch (GH): ARM64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:44:11 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,031 ns/iter (+/- 525)
test nv12_to_rgb_row/simd/1280 ... bench:         603 ns/iter (+/- 83)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,745 ns/iter (+/- 836)
test nv12_to_rgb_row/simd/1920 ... bench:         834 ns/iter (+/- 137)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,827 ns/iter (+/- 1,007)
test nv12_to_rgb_row/simd/3840 ... bench:       1,583 ns/iter (+/- 88)
test nv21_to_rgb_row/scalar/1280 ... bench:       2,848 ns/iter (+/- 158)
test nv21_to_rgb_row/simd/1280 ... bench:         518 ns/iter (+/- 23)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,151 ns/iter (+/- 155)
test nv21_to_rgb_row/simd/1920 ... bench:         764 ns/iter (+/- 35)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,334 ns/iter (+/- 478)
test nv21_to_rgb_row/simd/3840 ... bench:       1,556 ns/iter (+/- 54)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,409 ns/iter (+/- 413)
test rgb_to_hsv_row/simd/1280 ... bench:       1,476 ns/iter (+/- 55)
test rgb_to_hsv_row/scalar/1920 ... bench:       4,691 ns/iter (+/- 155)
test rgb_to_hsv_row/simd/1920 ... bench:       2,200 ns/iter (+/- 133)
test rgb_to_hsv_row/scalar/3840 ... bench:       9,569 ns/iter (+/- 1,369)
test rgb_to_hsv_row/simd/3840 ... bench:       4,540 ns/iter (+/- 129)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,737 ns/iter (+/- 395)
test yuv_420_to_rgb_row/simd/1280 ... bench:         512 ns/iter (+/- 60)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,369 ns/iter (+/- 465)
test yuv_420_to_rgb_row/simd/1920 ... bench:         826 ns/iter (+/- 75)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       8,991 ns/iter (+/- 634)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,558 ns/iter (+/- 92)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,147 ns/iter (+/- 1,027)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         499 ns/iter (+/- 55)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,651 ns/iter (+/- 394)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         753 ns/iter (+/- 28)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,315 ns/iter (+/- 688)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,466 ns/iter (+/- 85)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,108 ns/iter (+/- 110)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         617 ns/iter (+/- 21)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,649 ns/iter (+/- 143)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:         917 ns/iter (+/- 27)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,344 ns/iter (+/- 239)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       1,831 ns/iter (+/- 195)

Benchmark Results for macos-aarch64-scalar

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008676
  • Runner arch (GH): ARM64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 06:44:41 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,252 ns/iter (+/- 894)
test nv12_to_rgb_row/simd/1280 ... bench:       3,579 ns/iter (+/- 1,099)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,535 ns/iter (+/- 704)
test nv12_to_rgb_row/simd/1920 ... bench:       4,401 ns/iter (+/- 392)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,788 ns/iter (+/- 3,563)
test nv12_to_rgb_row/simd/3840 ... bench:      10,638 ns/iter (+/- 2,032)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,238 ns/iter (+/- 1,072)
test nv21_to_rgb_row/simd/1280 ... bench:       3,225 ns/iter (+/- 652)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,495 ns/iter (+/- 593)
test nv21_to_rgb_row/simd/1920 ... bench:       4,620 ns/iter (+/- 970)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,893 ns/iter (+/- 1,151)
test nv21_to_rgb_row/simd/3840 ... bench:       9,013 ns/iter (+/- 1,510)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,534 ns/iter (+/- 1,153)
test rgb_to_hsv_row/simd/1280 ... bench:       3,469 ns/iter (+/- 567)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,203 ns/iter (+/- 909)
test rgb_to_hsv_row/simd/1920 ... bench:       5,216 ns/iter (+/- 1,065)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,524 ns/iter (+/- 2,138)
test rgb_to_hsv_row/simd/3840 ... bench:      16,505 ns/iter (+/- 3,803)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,024 ns/iter (+/- 728)
test yuv_420_to_rgb_row/simd/1280 ... bench:       3,680 ns/iter (+/- 823)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,280 ns/iter (+/- 1,480)
test yuv_420_to_rgb_row/simd/1920 ... bench:       4,439 ns/iter (+/- 783)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       9,238 ns/iter (+/- 1,618)
test yuv_420_to_rgb_row/simd/3840 ... bench:      11,658 ns/iter (+/- 3,360)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,092 ns/iter (+/- 353)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       3,256 ns/iter (+/- 457)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,677 ns/iter (+/- 750)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       4,629 ns/iter (+/- 1,139)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      10,583 ns/iter (+/- 2,372)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       9,324 ns/iter (+/- 1,642)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,080 ns/iter (+/- 365)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       3,204 ns/iter (+/- 375)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,702 ns/iter (+/- 2,061)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       4,638 ns/iter (+/- 751)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,216 ns/iter (+/- 2,709)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       9,006 ns/iter (+/- 1,504)

Benchmark Results for ubuntu-x86_64-avx2-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: avx2-max
  • Runner: GitHub Actions 1000008682
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512
  • Date: 2026-04-19 06:44:44 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,889 ns/iter (+/- 61)
test nv12_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       7,368 ns/iter (+/- 48)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 4)
test nv12_to_rgb_row/scalar/3840 ... bench:      14,734 ns/iter (+/- 38)
test nv12_to_rgb_row/simd/3840 ... bench:       3,351 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1280 ... bench:       5,062 ns/iter (+/- 72)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1920 ... bench:       7,346 ns/iter (+/- 37)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      14,696 ns/iter (+/- 228)
test nv21_to_rgb_row/simd/3840 ... bench:       3,350 ns/iter (+/- 7)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,713 ns/iter (+/- 15)
test rgb_to_hsv_row/simd/1280 ... bench:       2,585 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,077 ns/iter (+/- 53)
test rgb_to_hsv_row/simd/1920 ... bench:       3,880 ns/iter (+/- 20)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,253 ns/iter (+/- 57)
test rgb_to_hsv_row/simd/3840 ... bench:       7,760 ns/iter (+/- 16)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,597 ns/iter (+/- 105)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,004 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,953 ns/iter (+/- 142)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,842 ns/iter (+/- 110)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,013 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,843 ns/iter (+/- 10)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         969 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,334 ns/iter (+/- 99)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,452 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,783 ns/iter (+/- 30)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,906 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,698 ns/iter (+/- 12)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,004 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,131 ns/iter (+/- 21)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,501 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,349 ns/iter (+/- 61)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,008 ns/iter (+/- 4)

Benchmark Results for ubuntu-x86_64-default

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008684
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:44:36 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,446 ns/iter (+/- 11)
test nv12_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 8)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,702 ns/iter (+/- 33)
test nv12_to_rgb_row/simd/1920 ... bench:       1,675 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,367 ns/iter (+/- 36)
test nv12_to_rgb_row/simd/3840 ... bench:       3,352 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,632 ns/iter (+/- 69)
test nv21_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,697 ns/iter (+/- 22)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,401 ns/iter (+/- 40)
test nv21_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 8)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,659 ns/iter (+/- 27)
test rgb_to_hsv_row/simd/1280 ... bench:       2,587 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,999 ns/iter (+/- 24)
test rgb_to_hsv_row/simd/1920 ... bench:       3,879 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,083 ns/iter (+/- 92)
test rgb_to_hsv_row/simd/3840 ... bench:       7,768 ns/iter (+/- 67)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,557 ns/iter (+/- 20)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,007 ns/iter (+/- 15)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,895 ns/iter (+/- 25)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 15)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,787 ns/iter (+/- 86)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,012 ns/iter (+/- 15)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,686 ns/iter (+/- 267)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         972 ns/iter (+/- 60)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,080 ns/iter (+/- 16)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,453 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,335 ns/iter (+/- 243)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,905 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,705 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,003 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,130 ns/iter (+/- 19)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,496 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,325 ns/iter (+/- 34)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,011 ns/iter (+/- 5)

Benchmark Results for ubuntu-x86_64-native

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: native
  • Runner: GitHub Actions 1000008689
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS: -C target-cpu=native
  • Date: 2026-04-19 06:45:09 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,299 ns/iter (+/- 111)
test nv12_to_rgb_row/simd/1280 ... bench:       1,010 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,368 ns/iter (+/- 13)
test nv12_to_rgb_row/simd/1920 ... bench:       1,516 ns/iter (+/- 3)
test nv12_to_rgb_row/scalar/3840 ... bench:      12,849 ns/iter (+/- 35)
test nv12_to_rgb_row/simd/3840 ... bench:       3,032 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,274 ns/iter (+/- 65)
test nv21_to_rgb_row/simd/1280 ... bench:       1,011 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,392 ns/iter (+/- 25)
test nv21_to_rgb_row/simd/1920 ... bench:       1,517 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      12,846 ns/iter (+/- 97)
test nv21_to_rgb_row/simd/3840 ... bench:       3,034 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,592 ns/iter (+/- 9)
test rgb_to_hsv_row/simd/1280 ... bench:       2,789 ns/iter (+/- 29)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,893 ns/iter (+/- 24)
test rgb_to_hsv_row/simd/1920 ... bench:       4,183 ns/iter (+/- 13)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,808 ns/iter (+/- 42)
test rgb_to_hsv_row/simd/3840 ... bench:       8,397 ns/iter (+/- 87)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,520 ns/iter (+/- 45)
test yuv_420_to_rgb_row/simd/1280 ... bench:         940 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,859 ns/iter (+/- 34)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,409 ns/iter (+/- 6)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,774 ns/iter (+/- 37)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,814 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,616 ns/iter (+/- 156)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         877 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,181 ns/iter (+/- 18)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,314 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,142 ns/iter (+/- 46)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,630 ns/iter (+/- 32)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,599 ns/iter (+/- 11)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         984 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,025 ns/iter (+/- 1,478)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,472 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,019 ns/iter (+/- 485)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,951 ns/iter (+/- 5)

Benchmark Results for ubuntu-x86_64-scalar

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008685
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 06:44:38 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,742 ns/iter (+/- 15)
test nv12_to_rgb_row/simd/1280 ... bench:       4,750 ns/iter (+/- 32)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,830 ns/iter (+/- 24)
test nv12_to_rgb_row/simd/1920 ... bench:       6,850 ns/iter (+/- 29)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,566 ns/iter (+/- 64)
test nv12_to_rgb_row/simd/3840 ... bench:      13,565 ns/iter (+/- 101)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,490 ns/iter (+/- 8)
test nv21_to_rgb_row/simd/1280 ... bench:       4,495 ns/iter (+/- 11)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,785 ns/iter (+/- 192)
test nv21_to_rgb_row/simd/1920 ... bench:       6,781 ns/iter (+/- 13)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,577 ns/iter (+/- 36)
test nv21_to_rgb_row/simd/3840 ... bench:      13,578 ns/iter (+/- 278)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,570 ns/iter (+/- 15)
test rgb_to_hsv_row/simd/1280 ... bench:       4,571 ns/iter (+/- 21)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,064 ns/iter (+/- 200)
test rgb_to_hsv_row/simd/1920 ... bench:       7,061 ns/iter (+/- 80)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,978 ns/iter (+/- 43)
test rgb_to_hsv_row/simd/3840 ... bench:      13,957 ns/iter (+/- 322)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,803 ns/iter (+/- 15)
test yuv_420_to_rgb_row/simd/1280 ... bench:       4,820 ns/iter (+/- 88)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,276 ns/iter (+/- 357)
test yuv_420_to_rgb_row/simd/1920 ... bench:       7,273 ns/iter (+/- 61)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,553 ns/iter (+/- 26)
test yuv_420_to_rgb_row/simd/3840 ... bench:      14,553 ns/iter (+/- 28)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,454 ns/iter (+/- 34)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,456 ns/iter (+/- 19)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,784 ns/iter (+/- 35)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       6,749 ns/iter (+/- 34)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      13,660 ns/iter (+/- 118)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      13,655 ns/iter (+/- 39)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,545 ns/iter (+/- 47)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       4,514 ns/iter (+/- 9)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,882 ns/iter (+/- 25)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       6,881 ns/iter (+/- 14)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      13,784 ns/iter (+/- 22)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:      13,806 ns/iter (+/- 207)

Benchmark Results for ubuntu-x86_64-sse41-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: sse41-max
  • Runner: GitHub Actions 1000008683
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512 --cfg colconv_disable_avx2
  • Date: 2026-04-19 06:44:49 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,641 ns/iter (+/- 8)
test nv12_to_rgb_row/simd/1280 ... bench:         885 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       7,285 ns/iter (+/- 153)
test nv12_to_rgb_row/simd/1920 ... bench:       1,332 ns/iter (+/- 5)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,982 ns/iter (+/- 171)
test nv12_to_rgb_row/simd/3840 ... bench:       2,660 ns/iter (+/- 23)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,628 ns/iter (+/- 336)
test nv21_to_rgb_row/simd/1280 ... bench:         880 ns/iter (+/- 0)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,954 ns/iter (+/- 137)
test nv21_to_rgb_row/simd/1920 ... bench:       1,321 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,813 ns/iter (+/- 42)
test nv21_to_rgb_row/simd/3840 ... bench:       2,646 ns/iter (+/- 27)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,626 ns/iter (+/- 33)
test rgb_to_hsv_row/simd/1280 ... bench:       2,563 ns/iter (+/- 7)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,938 ns/iter (+/- 20)
test rgb_to_hsv_row/simd/1920 ... bench:       3,848 ns/iter (+/- 5)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,906 ns/iter (+/- 42)
test rgb_to_hsv_row/simd/3840 ... bench:       7,689 ns/iter (+/- 23)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,576 ns/iter (+/- 26)
test yuv_420_to_rgb_row/simd/1280 ... bench:         903 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,932 ns/iter (+/- 13)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,360 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,844 ns/iter (+/- 189)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,711 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,860 ns/iter (+/- 9)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         824 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,356 ns/iter (+/- 33)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,238 ns/iter (+/- 52)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,747 ns/iter (+/- 53)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,468 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,725 ns/iter (+/- 45)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,047 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,149 ns/iter (+/- 16)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,575 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,371 ns/iter (+/- 29)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,148 ns/iter (+/- 4)

Benchmark Results for windows-x86_64-default

System Information

  • OS: windows-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008688
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:46:23 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,401 ns/iter (+/- 116)
test nv12_to_rgb_row/simd/1280 ... bench:       1,128 ns/iter (+/- 11)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,605 ns/iter (+/- 67)
test nv12_to_rgb_row/simd/1920 ... bench:       1,683 ns/iter (+/- 14)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,217 ns/iter (+/- 234)
test nv12_to_rgb_row/simd/3840 ... bench:       3,382 ns/iter (+/- 209)
test nv21_to_rgb_row/scalar/1280 ... bench:       5,070 ns/iter (+/- 791)
test nv21_to_rgb_row/simd/1280 ... bench:       1,123 ns/iter (+/- 12)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,876 ns/iter (+/- 278)
test nv21_to_rgb_row/simd/1920 ... bench:       1,684 ns/iter (+/- 5)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,708 ns/iter (+/- 573)
test nv21_to_rgb_row/simd/3840 ... bench:       3,367 ns/iter (+/- 16)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,679 ns/iter (+/- 57)
test rgb_to_hsv_row/simd/1280 ... bench:       2,612 ns/iter (+/- 19)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,042 ns/iter (+/- 110)
test rgb_to_hsv_row/simd/1920 ... bench:       3,912 ns/iter (+/- 24)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,172 ns/iter (+/- 447)
test rgb_to_hsv_row/simd/3840 ... bench:       7,824 ns/iter (+/- 45)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,626 ns/iter (+/- 97)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,018 ns/iter (+/- 27)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,238 ns/iter (+/- 1,110)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,532 ns/iter (+/- 58)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,077 ns/iter (+/- 371)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,098 ns/iter (+/- 171)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,969 ns/iter (+/- 794)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       1,003 ns/iter (+/- 29)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,967 ns/iter (+/- 893)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,465 ns/iter (+/- 20)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      13,970 ns/iter (+/- 142)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,920 ns/iter (+/- 51)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,558 ns/iter (+/- 59)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,016 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,931 ns/iter (+/- 126)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,517 ns/iter (+/- 6)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,005 ns/iter (+/- 188)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,035 ns/iter (+/- 43)

View detailed results

Detailed Criterion results have been uploaded as artifacts. Download them from the workflow run to view charts and detailed statistics.

@al8n al8n changed the title feat(yuv420p10): add YUV420p10 pixel format support feat(yuv420p10): 10-bit YUV 4:2:0 planar → u8 + native u16 RGB Apr 19, 2026
@github-actions
Copy link
Copy Markdown

Benchmark Results

Benchmark Results Summary

Date: 2026-04-19 06:58:31 UTC

Benchmark Results for macos-aarch64-neon

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: neon
  • Runner: GitHub Actions 1000008753
  • Runner arch (GH): ARM64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:55:22 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,008 ns/iter (+/- 417)
test nv12_to_rgb_row/simd/1280 ... bench:         573 ns/iter (+/- 67)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,541 ns/iter (+/- 783)
test nv12_to_rgb_row/simd/1920 ... bench:         855 ns/iter (+/- 135)
test nv12_to_rgb_row/scalar/3840 ... bench:       9,279 ns/iter (+/- 1,103)
test nv12_to_rgb_row/simd/3840 ... bench:       1,689 ns/iter (+/- 212)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,192 ns/iter (+/- 582)
test nv21_to_rgb_row/simd/1280 ... bench:         661 ns/iter (+/- 106)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,285 ns/iter (+/- 2,057)
test nv21_to_rgb_row/simd/1920 ... bench:       1,043 ns/iter (+/- 327)
test nv21_to_rgb_row/scalar/3840 ... bench:      10,669 ns/iter (+/- 4,044)
test nv21_to_rgb_row/simd/3840 ... bench:       2,069 ns/iter (+/- 564)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,158 ns/iter (+/- 988)
test rgb_to_hsv_row/simd/1280 ... bench:       1,743 ns/iter (+/- 407)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,918 ns/iter (+/- 1,605)
test rgb_to_hsv_row/simd/1920 ... bench:       2,855 ns/iter (+/- 672)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,891 ns/iter (+/- 3,592)
test rgb_to_hsv_row/simd/3840 ... bench:       5,646 ns/iter (+/- 1,063)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,190 ns/iter (+/- 783)
test yuv_420_to_rgb_row/simd/1280 ... bench:         535 ns/iter (+/- 90)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,823 ns/iter (+/- 824)
test yuv_420_to_rgb_row/simd/1920 ... bench:         844 ns/iter (+/- 303)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      10,729 ns/iter (+/- 2,576)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,923 ns/iter (+/- 422)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,107 ns/iter (+/- 976)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         553 ns/iter (+/- 50)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,856 ns/iter (+/- 711)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         765 ns/iter (+/- 202)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       8,812 ns/iter (+/- 404)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,489 ns/iter (+/- 75)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,097 ns/iter (+/- 296)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         595 ns/iter (+/- 18)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,222 ns/iter (+/- 116)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:         835 ns/iter (+/- 69)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       8,438 ns/iter (+/- 207)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       1,663 ns/iter (+/- 48)

Benchmark Results for macos-aarch64-scalar

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008754
  • Runner arch (GH): ARM64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 06:55:37 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,923 ns/iter (+/- 302)
test nv12_to_rgb_row/simd/1280 ... bench:       2,951 ns/iter (+/- 406)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,188 ns/iter (+/- 263)
test nv12_to_rgb_row/simd/1920 ... bench:       4,412 ns/iter (+/- 867)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,670 ns/iter (+/- 1,806)
test nv12_to_rgb_row/simd/3840 ... bench:       8,575 ns/iter (+/- 562)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,001 ns/iter (+/- 692)
test nv21_to_rgb_row/simd/1280 ... bench:       3,006 ns/iter (+/- 303)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,515 ns/iter (+/- 1,220)
test nv21_to_rgb_row/simd/1920 ... bench:       4,438 ns/iter (+/- 584)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,988 ns/iter (+/- 1,939)
test nv21_to_rgb_row/simd/3840 ... bench:       9,030 ns/iter (+/- 1,294)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,433 ns/iter (+/- 438)
test rgb_to_hsv_row/simd/1280 ... bench:       3,407 ns/iter (+/- 454)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,149 ns/iter (+/- 595)
test rgb_to_hsv_row/simd/1920 ... bench:       5,054 ns/iter (+/- 527)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,467 ns/iter (+/- 2,279)
test rgb_to_hsv_row/simd/3840 ... bench:      10,450 ns/iter (+/- 913)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,957 ns/iter (+/- 528)
test yuv_420_to_rgb_row/simd/1280 ... bench:       2,959 ns/iter (+/- 336)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,443 ns/iter (+/- 477)
test yuv_420_to_rgb_row/simd/1920 ... bench:       4,437 ns/iter (+/- 211)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       9,124 ns/iter (+/- 952)
test yuv_420_to_rgb_row/simd/3840 ... bench:       9,087 ns/iter (+/- 473)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,084 ns/iter (+/- 245)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       3,079 ns/iter (+/- 321)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,608 ns/iter (+/- 141)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       4,623 ns/iter (+/- 622)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,046 ns/iter (+/- 1,033)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       8,868 ns/iter (+/- 296)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       2,959 ns/iter (+/- 107)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       3,078 ns/iter (+/- 502)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,616 ns/iter (+/- 226)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       4,598 ns/iter (+/- 245)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,052 ns/iter (+/- 324)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       8,483 ns/iter (+/- 297)

Benchmark Results for ubuntu-x86_64-avx2-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: avx2-max
  • Runner: GitHub Actions 1000008746
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512
  • Date: 2026-04-19 06:55:38 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,970 ns/iter (+/- 13)
test nv12_to_rgb_row/simd/1280 ... bench:       1,102 ns/iter (+/- 6)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,877 ns/iter (+/- 11)
test nv12_to_rgb_row/simd/1920 ... bench:       1,648 ns/iter (+/- 7)
test nv12_to_rgb_row/scalar/3840 ... bench:      11,838 ns/iter (+/- 61)
test nv12_to_rgb_row/simd/3840 ... bench:       3,298 ns/iter (+/- 13)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,947 ns/iter (+/- 12)
test nv21_to_rgb_row/simd/1280 ... bench:       1,102 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,911 ns/iter (+/- 33)
test nv21_to_rgb_row/simd/1920 ... bench:       1,636 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/3840 ... bench:      11,786 ns/iter (+/- 32)
test nv21_to_rgb_row/simd/3840 ... bench:       3,268 ns/iter (+/- 11)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,210 ns/iter (+/- 43)
test rgb_to_hsv_row/simd/1280 ... bench:       2,778 ns/iter (+/- 5)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,301 ns/iter (+/- 134)
test rgb_to_hsv_row/simd/1920 ... bench:       4,165 ns/iter (+/- 8)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,446 ns/iter (+/- 381)
test rgb_to_hsv_row/simd/3840 ... bench:       8,329 ns/iter (+/- 16)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,851 ns/iter (+/- 26)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,084 ns/iter (+/- 8)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,800 ns/iter (+/- 159)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,612 ns/iter (+/- 7)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      11,506 ns/iter (+/- 45)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,221 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,014 ns/iter (+/- 15)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         978 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,039 ns/iter (+/- 23)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,479 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      12,033 ns/iter (+/- 34)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,910 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,841 ns/iter (+/- 71)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,257 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,798 ns/iter (+/- 14)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,874 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,557 ns/iter (+/- 33)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,745 ns/iter (+/- 3)

Benchmark Results for ubuntu-x86_64-default

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008744
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:55:45 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,452 ns/iter (+/- 21)
test nv12_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 3)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,707 ns/iter (+/- 29)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,382 ns/iter (+/- 77)
test nv12_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,438 ns/iter (+/- 84)
test nv21_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 18)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,695 ns/iter (+/- 17)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,422 ns/iter (+/- 105)
test nv21_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 12)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,659 ns/iter (+/- 21)
test rgb_to_hsv_row/simd/1280 ... bench:       2,586 ns/iter (+/- 5)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,001 ns/iter (+/- 19)
test rgb_to_hsv_row/simd/1920 ... bench:       3,880 ns/iter (+/- 65)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,075 ns/iter (+/- 108)
test rgb_to_hsv_row/simd/3840 ... bench:       7,764 ns/iter (+/- 177)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,554 ns/iter (+/- 8)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,007 ns/iter (+/- 43)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,886 ns/iter (+/- 85)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,506 ns/iter (+/- 73)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,766 ns/iter (+/- 31)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,012 ns/iter (+/- 126)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,697 ns/iter (+/- 22)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         969 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,080 ns/iter (+/- 329)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,452 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,349 ns/iter (+/- 31)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,908 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,710 ns/iter (+/- 11)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,001 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,126 ns/iter (+/- 28)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,498 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,312 ns/iter (+/- 57)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,006 ns/iter (+/- 5)

Benchmark Results for ubuntu-x86_64-native

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: native
  • Runner: GitHub Actions 1000008745
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS: -C target-cpu=native
  • Date: 2026-04-19 06:56:13 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,652 ns/iter (+/- 140)
test nv12_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,696 ns/iter (+/- 21)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 4)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,423 ns/iter (+/- 44)
test nv12_to_rgb_row/simd/3840 ... bench:       3,352 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,443 ns/iter (+/- 104)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,697 ns/iter (+/- 50)
test nv21_to_rgb_row/simd/1920 ... bench:       1,675 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,421 ns/iter (+/- 120)
test nv21_to_rgb_row/simd/3840 ... bench:       3,358 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,656 ns/iter (+/- 12)
test rgb_to_hsv_row/simd/1280 ... bench:       2,587 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,004 ns/iter (+/- 16)
test rgb_to_hsv_row/simd/1920 ... bench:       3,880 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,059 ns/iter (+/- 60)
test rgb_to_hsv_row/simd/3840 ... bench:       7,763 ns/iter (+/- 12)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,552 ns/iter (+/- 19)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,006 ns/iter (+/- 4)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,899 ns/iter (+/- 16)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,765 ns/iter (+/- 33)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,032 ns/iter (+/- 6)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,700 ns/iter (+/- 19)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         969 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,097 ns/iter (+/- 24)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,451 ns/iter (+/- 8)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,330 ns/iter (+/- 33)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,906 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,701 ns/iter (+/- 21)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,004 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,135 ns/iter (+/- 193)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,500 ns/iter (+/- 65)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,328 ns/iter (+/- 113)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,007 ns/iter (+/- 9)

Benchmark Results for ubuntu-x86_64-scalar

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008742
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 06:55:50 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,505 ns/iter (+/- 45)
test nv12_to_rgb_row/simd/1280 ... bench:       4,506 ns/iter (+/- 101)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,808 ns/iter (+/- 207)
test nv12_to_rgb_row/simd/1920 ... bench:       6,803 ns/iter (+/- 11)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,601 ns/iter (+/- 65)
test nv12_to_rgb_row/simd/3840 ... bench:      13,580 ns/iter (+/- 25)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,707 ns/iter (+/- 59)
test nv21_to_rgb_row/simd/1280 ... bench:       4,703 ns/iter (+/- 9)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,800 ns/iter (+/- 12)
test nv21_to_rgb_row/simd/1920 ... bench:       6,802 ns/iter (+/- 14)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,618 ns/iter (+/- 63)
test nv21_to_rgb_row/simd/3840 ... bench:      13,617 ns/iter (+/- 51)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,573 ns/iter (+/- 23)
test rgb_to_hsv_row/simd/1280 ... bench:       4,574 ns/iter (+/- 53)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,858 ns/iter (+/- 16)
test rgb_to_hsv_row/simd/1920 ... bench:       6,857 ns/iter (+/- 13)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,837 ns/iter (+/- 121)
test rgb_to_hsv_row/simd/3840 ... bench:      13,744 ns/iter (+/- 31)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,814 ns/iter (+/- 17)
test yuv_420_to_rgb_row/simd/1280 ... bench:       4,816 ns/iter (+/- 38)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,278 ns/iter (+/- 26)
test yuv_420_to_rgb_row/simd/1920 ... bench:       7,278 ns/iter (+/- 18)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,564 ns/iter (+/- 46)
test yuv_420_to_rgb_row/simd/3840 ... bench:      14,527 ns/iter (+/- 28)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,522 ns/iter (+/- 27)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,529 ns/iter (+/- 23)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,871 ns/iter (+/- 49)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       6,864 ns/iter (+/- 117)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      13,659 ns/iter (+/- 111)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      13,664 ns/iter (+/- 98)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,516 ns/iter (+/- 7)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       4,550 ns/iter (+/- 34)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,868 ns/iter (+/- 54)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       6,828 ns/iter (+/- 12)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      13,845 ns/iter (+/- 29)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:      13,853 ns/iter (+/- 36)

Benchmark Results for ubuntu-x86_64-sse41-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: sse41-max
  • Runner: GitHub Actions 1000008743
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512 --cfg colconv_disable_avx2
  • Date: 2026-04-19 06:56:03 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,633 ns/iter (+/- 24)
test nv12_to_rgb_row/simd/1280 ... bench:         886 ns/iter (+/- 5)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,939 ns/iter (+/- 50)
test nv12_to_rgb_row/simd/1920 ... bench:       1,332 ns/iter (+/- 5)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,877 ns/iter (+/- 45)
test nv12_to_rgb_row/simd/3840 ... bench:       2,659 ns/iter (+/- 17)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,599 ns/iter (+/- 8)
test nv21_to_rgb_row/simd/1280 ... bench:         880 ns/iter (+/- 0)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,908 ns/iter (+/- 15)
test nv21_to_rgb_row/simd/1920 ... bench:       1,324 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,831 ns/iter (+/- 246)
test nv21_to_rgb_row/simd/3840 ... bench:       2,648 ns/iter (+/- 9)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,628 ns/iter (+/- 29)
test rgb_to_hsv_row/simd/1280 ... bench:       2,563 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,942 ns/iter (+/- 50)
test rgb_to_hsv_row/simd/1920 ... bench:       3,849 ns/iter (+/- 12)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,930 ns/iter (+/- 110)
test rgb_to_hsv_row/simd/3840 ... bench:       7,699 ns/iter (+/- 26)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,586 ns/iter (+/- 20)
test yuv_420_to_rgb_row/simd/1280 ... bench:         904 ns/iter (+/- 0)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,993 ns/iter (+/- 315)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,360 ns/iter (+/- 3)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,836 ns/iter (+/- 130)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,714 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,841 ns/iter (+/- 23)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         821 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,337 ns/iter (+/- 18)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,239 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,699 ns/iter (+/- 115)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,470 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,726 ns/iter (+/- 81)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,047 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,147 ns/iter (+/- 15)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,575 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,368 ns/iter (+/- 116)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,151 ns/iter (+/- 5)

Benchmark Results for windows-x86_64-default

System Information

  • OS: windows-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008762
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 06:58:11 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,390 ns/iter (+/- 27)
test nv12_to_rgb_row/simd/1280 ... bench:       1,127 ns/iter (+/- 6)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,602 ns/iter (+/- 66)
test nv12_to_rgb_row/simd/1920 ... bench:       1,685 ns/iter (+/- 7)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,193 ns/iter (+/- 78)
test nv12_to_rgb_row/simd/3840 ... bench:       3,377 ns/iter (+/- 16)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,523 ns/iter (+/- 120)
test nv21_to_rgb_row/simd/1280 ... bench:       1,122 ns/iter (+/- 7)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,816 ns/iter (+/- 91)
test nv21_to_rgb_row/simd/1920 ... bench:       1,680 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,666 ns/iter (+/- 218)
test nv21_to_rgb_row/simd/3840 ... bench:       3,363 ns/iter (+/- 11)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,664 ns/iter (+/- 26)
test rgb_to_hsv_row/simd/1280 ... bench:       2,599 ns/iter (+/- 15)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,994 ns/iter (+/- 41)
test rgb_to_hsv_row/simd/1920 ... bench:       3,905 ns/iter (+/- 33)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,190 ns/iter (+/- 266)
test rgb_to_hsv_row/simd/3840 ... bench:       7,790 ns/iter (+/- 22)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,617 ns/iter (+/- 84)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,014 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,993 ns/iter (+/- 234)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,515 ns/iter (+/- 6)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,954 ns/iter (+/- 69)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,024 ns/iter (+/- 7)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,553 ns/iter (+/- 31)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         978 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,916 ns/iter (+/- 35)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,461 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      13,938 ns/iter (+/- 294)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,918 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,544 ns/iter (+/- 19)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,008 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       6,914 ns/iter (+/- 98)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,505 ns/iter (+/- 6)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      13,953 ns/iter (+/- 232)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,026 ns/iter (+/- 15)

View detailed results

Detailed Criterion results have been uploaded as artifacts. Download them from the workflow run to view charts and detailed statistics.

@al8n al8n requested review from Copilot and removed request for Copilot April 19, 2026 07:08
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/sinker/mixed.rs
Comment on lines +290 to +298
/// Returns `true` iff the sinker will write `u16` RGB at the
/// source's native bit depth. Only high‑bit‑depth source impls
/// (currently [`Yuv420p10`](crate::yuv::Yuv420p10)) honor this
/// buffer — attaching it on an 8‑bit source format is legal but
/// no writes occur.
#[cfg_attr(not(tarpaulin), inline(always))]
pub const fn produces_rgb_u16(&self) -> bool {
self.rgb_u16.is_some()
}
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The doc comment says attaching a u16 RGB buffer on an 8-bit format is “legal but no writes occur”, but the PR specifically type-gates with_rgb_u16/set_rgb_u16 to MixedSinker<Yuv420p10>, so external callers can’t attach it for 8-bit formats at all. Update this doc to reflect the compile-time restriction (or alternatively move produces_rgb_u16 onto the MixedSinker<Yuv420p10> impl so the API surface matches the gating).

Copilot uses AI. Check for mistakes.
Comment thread src/frame.rs Outdated
Comment on lines +768 to +770
/// Returns [`Yuv420pFrame16Error`] if any of:
/// - `BITS` is not 10, 12, or 14 (Ship 2 additionally rejects 12/14
/// at the type alias layer — see [`Yuv420p10Frame`]),
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description says the public “Ship 2” jargon was replaced with “colconv v0.2”, but this doc comment still uses “Ship 2”. Please update to the v0.2 wording (or remove the ship reference) to keep public docs consistent with the PR’s stated cleanup.

Copilot uses AI. Check for mistakes.
Comment thread src/frame.rs Outdated
Comment thread src/row/scalar.rs Outdated
Comment thread src/sinker/mixed.rs Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

Benchmark Results

Benchmark Results Summary

Date: 2026-04-19 07:18:02 UTC

Benchmark Results for macos-aarch64-neon

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: neon
  • Runner: GitHub Actions 1000008813
  • Runner arch (GH): ARM64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 07:14:29 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,980 ns/iter (+/- 328)
test nv12_to_rgb_row/simd/1280 ... bench:         554 ns/iter (+/- 94)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,135 ns/iter (+/- 305)
test nv12_to_rgb_row/simd/1920 ... bench:         797 ns/iter (+/- 60)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,773 ns/iter (+/- 514)
test nv12_to_rgb_row/simd/3840 ... bench:       1,609 ns/iter (+/- 87)
test nv21_to_rgb_row/scalar/1280 ... bench:       2,972 ns/iter (+/- 470)
test nv21_to_rgb_row/simd/1280 ... bench:         540 ns/iter (+/- 33)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,359 ns/iter (+/- 328)
test nv21_to_rgb_row/simd/1920 ... bench:         833 ns/iter (+/- 85)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,431 ns/iter (+/- 288)
test nv21_to_rgb_row/simd/3840 ... bench:       1,636 ns/iter (+/- 70)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,134 ns/iter (+/- 105)
test rgb_to_hsv_row/simd/1280 ... bench:       1,454 ns/iter (+/- 65)
test rgb_to_hsv_row/scalar/1920 ... bench:       4,907 ns/iter (+/- 576)
test rgb_to_hsv_row/simd/1920 ... bench:       2,281 ns/iter (+/- 197)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,060 ns/iter (+/- 797)
test rgb_to_hsv_row/simd/3840 ... bench:       4,608 ns/iter (+/- 262)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,922 ns/iter (+/- 496)
test yuv_420_to_rgb_row/simd/1280 ... bench:         536 ns/iter (+/- 45)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,440 ns/iter (+/- 293)
test yuv_420_to_rgb_row/simd/1920 ... bench:         799 ns/iter (+/- 62)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       8,871 ns/iter (+/- 612)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,593 ns/iter (+/- 178)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,402 ns/iter (+/- 303)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         488 ns/iter (+/- 27)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,102 ns/iter (+/- 334)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         747 ns/iter (+/- 110)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      10,059 ns/iter (+/- 648)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,484 ns/iter (+/- 99)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,409 ns/iter (+/- 294)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         602 ns/iter (+/- 45)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,109 ns/iter (+/- 228)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:         911 ns/iter (+/- 53)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      10,182 ns/iter (+/- 894)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       1,818 ns/iter (+/- 249)

Benchmark Results for macos-aarch64-scalar

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008812
  • Runner arch (GH): ARM64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 07:14:17 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,890 ns/iter (+/- 18)
test nv12_to_rgb_row/simd/1280 ... bench:       2,888 ns/iter (+/- 20)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,331 ns/iter (+/- 21)
test nv12_to_rgb_row/simd/1920 ... bench:       4,330 ns/iter (+/- 52)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,665 ns/iter (+/- 140)
test nv12_to_rgb_row/simd/3840 ... bench:       8,663 ns/iter (+/- 122)
test nv21_to_rgb_row/scalar/1280 ... bench:       2,892 ns/iter (+/- 55)
test nv21_to_rgb_row/simd/1280 ... bench:       2,890 ns/iter (+/- 31)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,333 ns/iter (+/- 35)
test nv21_to_rgb_row/simd/1920 ... bench:       4,331 ns/iter (+/- 68)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,173 ns/iter (+/- 247)
test nv21_to_rgb_row/simd/3840 ... bench:       8,168 ns/iter (+/- 36)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,118 ns/iter (+/- 19)
test rgb_to_hsv_row/simd/1280 ... bench:       3,115 ns/iter (+/- 33)
test rgb_to_hsv_row/scalar/1920 ... bench:       4,671 ns/iter (+/- 39)
test rgb_to_hsv_row/simd/1920 ... bench:       4,672 ns/iter (+/- 27)
test rgb_to_hsv_row/scalar/3840 ... bench:       9,351 ns/iter (+/- 366)
test rgb_to_hsv_row/simd/3840 ... bench:       9,386 ns/iter (+/- 560)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,697 ns/iter (+/- 31)
test yuv_420_to_rgb_row/simd/1280 ... bench:       2,695 ns/iter (+/- 30)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,038 ns/iter (+/- 18)
test yuv_420_to_rgb_row/simd/1920 ... bench:       4,039 ns/iter (+/- 37)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       8,270 ns/iter (+/- 117)
test yuv_420_to_rgb_row/simd/3840 ... bench:       8,266 ns/iter (+/- 41)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,105 ns/iter (+/- 48)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       3,103 ns/iter (+/- 85)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,651 ns/iter (+/- 105)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       4,652 ns/iter (+/- 126)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,297 ns/iter (+/- 201)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       9,298 ns/iter (+/- 214)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,115 ns/iter (+/- 78)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       3,106 ns/iter (+/- 126)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,653 ns/iter (+/- 142)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       4,654 ns/iter (+/- 105)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,304 ns/iter (+/- 183)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       9,296 ns/iter (+/- 183)

Benchmark Results for ubuntu-x86_64-avx2-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: avx2-max
  • Runner: GitHub Actions 1000008822
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512
  • Date: 2026-04-19 07:15:01 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,824 ns/iter (+/- 74)
test nv12_to_rgb_row/simd/1280 ... bench:         785 ns/iter (+/- 17)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,573 ns/iter (+/- 37)
test nv12_to_rgb_row/simd/1920 ... bench:       1,177 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/3840 ... bench:      11,135 ns/iter (+/- 461)
test nv12_to_rgb_row/simd/3840 ... bench:       2,352 ns/iter (+/- 17)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,696 ns/iter (+/- 59)
test nv21_to_rgb_row/simd/1280 ... bench:         784 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,576 ns/iter (+/- 27)
test nv21_to_rgb_row/simd/1920 ... bench:       1,176 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      11,178 ns/iter (+/- 52)
test nv21_to_rgb_row/simd/3840 ... bench:       2,355 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,576 ns/iter (+/- 6)
test rgb_to_hsv_row/simd/1280 ... bench:       2,219 ns/iter (+/- 9)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,364 ns/iter (+/- 48)
test rgb_to_hsv_row/simd/1920 ... bench:       3,329 ns/iter (+/- 35)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,748 ns/iter (+/- 28)
test rgb_to_hsv_row/simd/3840 ... bench:       6,660 ns/iter (+/- 12)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,582 ns/iter (+/- 16)
test yuv_420_to_rgb_row/simd/1280 ... bench:         730 ns/iter (+/- 14)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,593 ns/iter (+/- 75)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,094 ns/iter (+/- 9)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      10,872 ns/iter (+/- 41)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,185 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,664 ns/iter (+/- 7)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         681 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,521 ns/iter (+/- 18)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,022 ns/iter (+/- 9)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      11,075 ns/iter (+/- 27)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,042 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,701 ns/iter (+/- 37)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         765 ns/iter (+/- 0)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,541 ns/iter (+/- 109)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,141 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,161 ns/iter (+/- 141)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,299 ns/iter (+/- 6)

Benchmark Results for ubuntu-x86_64-default

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008821
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 07:14:59 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,505 ns/iter (+/- 84)
test nv12_to_rgb_row/simd/1280 ... bench:       1,011 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,298 ns/iter (+/- 51)
test nv12_to_rgb_row/simd/1920 ... bench:       1,516 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      12,758 ns/iter (+/- 132)
test nv12_to_rgb_row/simd/3840 ... bench:       3,034 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,269 ns/iter (+/- 42)
test nv21_to_rgb_row/simd/1280 ... bench:       1,016 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,373 ns/iter (+/- 34)
test nv21_to_rgb_row/simd/1920 ... bench:       1,521 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/3840 ... bench:      12,860 ns/iter (+/- 114)
test nv21_to_rgb_row/simd/3840 ... bench:       3,038 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,885 ns/iter (+/- 150)
test rgb_to_hsv_row/simd/1280 ... bench:       2,791 ns/iter (+/- 52)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,893 ns/iter (+/- 22)
test rgb_to_hsv_row/simd/1920 ... bench:       4,190 ns/iter (+/- 183)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,196 ns/iter (+/- 296)
test rgb_to_hsv_row/simd/3840 ... bench:       8,370 ns/iter (+/- 220)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,534 ns/iter (+/- 62)
test yuv_420_to_rgb_row/simd/1280 ... bench:         940 ns/iter (+/- 6)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,886 ns/iter (+/- 35)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,410 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,771 ns/iter (+/- 904)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,815 ns/iter (+/- 5)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,780 ns/iter (+/- 93)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         878 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,159 ns/iter (+/- 37)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,315 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,358 ns/iter (+/- 25)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,626 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,759 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         986 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,194 ns/iter (+/- 30)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,475 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,799 ns/iter (+/- 42)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,955 ns/iter (+/- 29)

Benchmark Results for ubuntu-x86_64-native

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: native
  • Runner: GitHub Actions 1000008819
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS: -C target-cpu=native
  • Date: 2026-04-19 07:15:21 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,459 ns/iter (+/- 80)
test nv12_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 6)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,693 ns/iter (+/- 100)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,377 ns/iter (+/- 57)
test nv12_to_rgb_row/simd/3840 ... bench:       3,354 ns/iter (+/- 30)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,662 ns/iter (+/- 19)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,697 ns/iter (+/- 65)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,413 ns/iter (+/- 45)
test nv21_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,657 ns/iter (+/- 55)
test rgb_to_hsv_row/simd/1280 ... bench:       2,586 ns/iter (+/- 12)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,996 ns/iter (+/- 28)
test rgb_to_hsv_row/simd/1920 ... bench:       3,878 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,111 ns/iter (+/- 185)
test rgb_to_hsv_row/simd/3840 ... bench:       7,762 ns/iter (+/- 21)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,559 ns/iter (+/- 39)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,008 ns/iter (+/- 14)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,900 ns/iter (+/- 30)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,506 ns/iter (+/- 17)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,787 ns/iter (+/- 895)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,015 ns/iter (+/- 15)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,604 ns/iter (+/- 32)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         973 ns/iter (+/- 6)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,924 ns/iter (+/- 114)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,456 ns/iter (+/- 7)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,040 ns/iter (+/- 44)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,912 ns/iter (+/- 130)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,901 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,005 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,451 ns/iter (+/- 31)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,498 ns/iter (+/- 11)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,928 ns/iter (+/- 102)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,005 ns/iter (+/- 6)

Benchmark Results for ubuntu-x86_64-scalar

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008820
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 07:14:54 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,505 ns/iter (+/- 63)
test nv12_to_rgb_row/simd/1280 ... bench:       3,499 ns/iter (+/- 29)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,249 ns/iter (+/- 43)
test nv12_to_rgb_row/simd/1920 ... bench:       5,251 ns/iter (+/- 88)
test nv12_to_rgb_row/scalar/3840 ... bench:      10,804 ns/iter (+/- 291)
test nv12_to_rgb_row/simd/3840 ... bench:      10,820 ns/iter (+/- 311)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,565 ns/iter (+/- 150)
test nv21_to_rgb_row/simd/1280 ... bench:       3,560 ns/iter (+/- 53)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,312 ns/iter (+/- 10)
test nv21_to_rgb_row/simd/1920 ... bench:       5,305 ns/iter (+/- 9)
test nv21_to_rgb_row/scalar/3840 ... bench:      10,558 ns/iter (+/- 29)
test nv21_to_rgb_row/simd/3840 ... bench:      10,564 ns/iter (+/- 207)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,377 ns/iter (+/- 14)
test rgb_to_hsv_row/simd/1280 ... bench:       4,371 ns/iter (+/- 16)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,567 ns/iter (+/- 12)
test rgb_to_hsv_row/simd/1920 ... bench:       6,574 ns/iter (+/- 15)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,141 ns/iter (+/- 59)
test rgb_to_hsv_row/simd/3840 ... bench:      13,122 ns/iter (+/- 32)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,886 ns/iter (+/- 83)
test yuv_420_to_rgb_row/simd/1280 ... bench:       3,868 ns/iter (+/- 11)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,866 ns/iter (+/- 166)
test yuv_420_to_rgb_row/simd/1920 ... bench:       5,842 ns/iter (+/- 64)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      11,638 ns/iter (+/- 437)
test yuv_420_to_rgb_row/simd/3840 ... bench:      11,678 ns/iter (+/- 498)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,119 ns/iter (+/- 10)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,114 ns/iter (+/- 8)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,180 ns/iter (+/- 16)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       6,296 ns/iter (+/- 39)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      12,315 ns/iter (+/- 62)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      12,322 ns/iter (+/- 53)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,922 ns/iter (+/- 64)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       3,932 ns/iter (+/- 82)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,899 ns/iter (+/- 79)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       5,900 ns/iter (+/- 195)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      12,487 ns/iter (+/- 395)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:      11,831 ns/iter (+/- 247)

Benchmark Results for ubuntu-x86_64-sse41-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: sse41-max
  • Runner: GitHub Actions 1000008818
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512 --cfg colconv_disable_avx2
  • Date: 2026-04-19 07:15:04 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,608 ns/iter (+/- 34)
test nv12_to_rgb_row/simd/1280 ... bench:         885 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,937 ns/iter (+/- 31)
test nv12_to_rgb_row/simd/1920 ... bench:       1,332 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,908 ns/iter (+/- 118)
test nv12_to_rgb_row/simd/3840 ... bench:       2,659 ns/iter (+/- 8)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,601 ns/iter (+/- 99)
test nv21_to_rgb_row/simd/1280 ... bench:         880 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,927 ns/iter (+/- 162)
test nv21_to_rgb_row/simd/1920 ... bench:       1,325 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,832 ns/iter (+/- 46)
test nv21_to_rgb_row/simd/3840 ... bench:       2,646 ns/iter (+/- 4)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,628 ns/iter (+/- 41)
test rgb_to_hsv_row/simd/1280 ... bench:       2,562 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,941 ns/iter (+/- 31)
test rgb_to_hsv_row/simd/1920 ... bench:       3,851 ns/iter (+/- 55)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,900 ns/iter (+/- 34)
test rgb_to_hsv_row/simd/3840 ... bench:       7,689 ns/iter (+/- 22)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,581 ns/iter (+/- 10)
test yuv_420_to_rgb_row/simd/1280 ... bench:         904 ns/iter (+/- 0)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,942 ns/iter (+/- 20)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,360 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,802 ns/iter (+/- 98)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,712 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,768 ns/iter (+/- 10)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         821 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,218 ns/iter (+/- 22)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,237 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,516 ns/iter (+/- 84)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,467 ns/iter (+/- 11)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,881 ns/iter (+/- 92)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,047 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,166 ns/iter (+/- 15)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,575 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,403 ns/iter (+/- 391)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,159 ns/iter (+/- 3)

Benchmark Results for windows-x86_64-default

System Information

  • OS: windows-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008806
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 07:16:29 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,529 ns/iter (+/- 347)
test nv12_to_rgb_row/simd/1280 ... bench:         597 ns/iter (+/- 27)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,142 ns/iter (+/- 33)
test nv12_to_rgb_row/simd/1920 ... bench:         895 ns/iter (+/- 19)
test nv12_to_rgb_row/scalar/3840 ... bench:      10,302 ns/iter (+/- 1,522)
test nv12_to_rgb_row/simd/3840 ... bench:       1,792 ns/iter (+/- 9)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,357 ns/iter (+/- 70)
test nv21_to_rgb_row/simd/1280 ... bench:         610 ns/iter (+/- 22)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,085 ns/iter (+/- 109)
test nv21_to_rgb_row/simd/1920 ... bench:         911 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/3840 ... bench:      10,170 ns/iter (+/- 32)
test nv21_to_rgb_row/simd/3840 ... bench:       1,811 ns/iter (+/- 28)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,464 ns/iter (+/- 245)
test rgb_to_hsv_row/simd/1280 ... bench:       2,545 ns/iter (+/- 106)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,192 ns/iter (+/- 412)
test rgb_to_hsv_row/simd/1920 ... bench:       3,812 ns/iter (+/- 146)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,401 ns/iter (+/- 202)
test rgb_to_hsv_row/simd/3840 ... bench:       7,703 ns/iter (+/- 466)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,559 ns/iter (+/- 57)
test yuv_420_to_rgb_row/simd/1280 ... bench:         564 ns/iter (+/- 3)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,379 ns/iter (+/- 459)
test yuv_420_to_rgb_row/simd/1920 ... bench:         845 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      10,836 ns/iter (+/- 311)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,695 ns/iter (+/- 22)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,665 ns/iter (+/- 157)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         531 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,510 ns/iter (+/- 186)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         794 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      11,020 ns/iter (+/- 475)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,595 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,722 ns/iter (+/- 17)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         672 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,571 ns/iter (+/- 72)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,004 ns/iter (+/- 9)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,250 ns/iter (+/- 101)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,034 ns/iter (+/- 30)

View detailed results

Detailed Criterion results have been uploaded as artifacts. Download them from the workflow run to view charts and detailed statistics.

@github-actions
Copy link
Copy Markdown

Benchmark Results

Benchmark Results Summary

Date: 2026-04-19 07:25:58 UTC

Benchmark Results for macos-aarch64-neon

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: neon
  • Runner: GitHub Actions 1000008897
  • Runner arch (GH): ARM64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 07:24:08 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,902 ns/iter (+/- 59)
test nv12_to_rgb_row/simd/1280 ... bench:         551 ns/iter (+/- 52)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,423 ns/iter (+/- 308)
test nv12_to_rgb_row/simd/1920 ... bench:         823 ns/iter (+/- 30)
test nv12_to_rgb_row/scalar/3840 ... bench:       9,717 ns/iter (+/- 930)
test nv12_to_rgb_row/simd/3840 ... bench:       1,755 ns/iter (+/- 108)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,036 ns/iter (+/- 335)
test nv21_to_rgb_row/simd/1280 ... bench:         624 ns/iter (+/- 156)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,110 ns/iter (+/- 231)
test nv21_to_rgb_row/simd/1920 ... bench:         764 ns/iter (+/- 22)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,195 ns/iter (+/- 269)
test nv21_to_rgb_row/simd/3840 ... bench:       1,616 ns/iter (+/- 87)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,121 ns/iter (+/- 32)
test rgb_to_hsv_row/simd/1280 ... bench:       1,456 ns/iter (+/- 30)
test rgb_to_hsv_row/scalar/1920 ... bench:       4,922 ns/iter (+/- 212)
test rgb_to_hsv_row/simd/1920 ... bench:       2,208 ns/iter (+/- 216)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,126 ns/iter (+/- 1,289)
test rgb_to_hsv_row/simd/3840 ... bench:       4,580 ns/iter (+/- 125)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,798 ns/iter (+/- 61)
test yuv_420_to_rgb_row/simd/1280 ... bench:         525 ns/iter (+/- 21)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,328 ns/iter (+/- 162)
test yuv_420_to_rgb_row/simd/1920 ... bench:         756 ns/iter (+/- 4)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       8,587 ns/iter (+/- 196)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,514 ns/iter (+/- 63)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,226 ns/iter (+/- 71)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         487 ns/iter (+/- 15)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,021 ns/iter (+/- 209)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         734 ns/iter (+/- 40)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,993 ns/iter (+/- 953)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,467 ns/iter (+/- 99)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,331 ns/iter (+/- 103)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         594 ns/iter (+/- 30)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,026 ns/iter (+/- 687)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:         896 ns/iter (+/- 156)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      10,092 ns/iter (+/- 1,275)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       1,796 ns/iter (+/- 230)

Benchmark Results for macos-aarch64-scalar

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008893
  • Runner arch (GH): ARM64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 07:24:03 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,772 ns/iter (+/- 110)
test nv12_to_rgb_row/simd/1280 ... bench:       2,739 ns/iter (+/- 207)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,225 ns/iter (+/- 466)
test nv12_to_rgb_row/simd/1920 ... bench:       4,133 ns/iter (+/- 260)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,215 ns/iter (+/- 378)
test nv12_to_rgb_row/simd/3840 ... bench:       8,521 ns/iter (+/- 269)
test nv21_to_rgb_row/scalar/1280 ... bench:       2,770 ns/iter (+/- 133)
test nv21_to_rgb_row/simd/1280 ... bench:       2,835 ns/iter (+/- 194)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,545 ns/iter (+/- 525)
test nv21_to_rgb_row/simd/1920 ... bench:       4,524 ns/iter (+/- 419)
test nv21_to_rgb_row/scalar/3840 ... bench:       9,027 ns/iter (+/- 717)
test nv21_to_rgb_row/simd/3840 ... bench:       9,015 ns/iter (+/- 829)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,432 ns/iter (+/- 248)
test rgb_to_hsv_row/simd/1280 ... bench:       3,406 ns/iter (+/- 193)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,056 ns/iter (+/- 249)
test rgb_to_hsv_row/simd/1920 ... bench:       5,097 ns/iter (+/- 1,000)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,485 ns/iter (+/- 900)
test rgb_to_hsv_row/simd/3840 ... bench:      10,405 ns/iter (+/- 835)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,903 ns/iter (+/- 270)
test yuv_420_to_rgb_row/simd/1280 ... bench:       2,925 ns/iter (+/- 127)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,363 ns/iter (+/- 164)
test yuv_420_to_rgb_row/simd/1920 ... bench:       4,408 ns/iter (+/- 208)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       9,161 ns/iter (+/- 993)
test yuv_420_to_rgb_row/simd/3840 ... bench:       9,032 ns/iter (+/- 413)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,188 ns/iter (+/- 94)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       3,197 ns/iter (+/- 97)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,077 ns/iter (+/- 975)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       5,119 ns/iter (+/- 353)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,846 ns/iter (+/- 269)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       9,306 ns/iter (+/- 190)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,107 ns/iter (+/- 76)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       3,102 ns/iter (+/- 57)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,651 ns/iter (+/- 90)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       4,654 ns/iter (+/- 114)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,302 ns/iter (+/- 443)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       9,306 ns/iter (+/- 193)

Benchmark Results for ubuntu-x86_64-avx2-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: avx2-max
  • Runner: GitHub Actions 1000008880
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512
  • Date: 2026-04-19 07:23:37 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,889 ns/iter (+/- 259)
test nv12_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 10)
test nv12_to_rgb_row/scalar/1920 ... bench:       7,364 ns/iter (+/- 70)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 18)
test nv12_to_rgb_row/scalar/3840 ... bench:      14,739 ns/iter (+/- 51)
test nv12_to_rgb_row/simd/3840 ... bench:       3,354 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/1280 ... bench:       5,063 ns/iter (+/- 23)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 9)
test nv21_to_rgb_row/scalar/1920 ... bench:       7,361 ns/iter (+/- 28)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      14,696 ns/iter (+/- 250)
test nv21_to_rgb_row/simd/3840 ... bench:       3,349 ns/iter (+/- 148)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,722 ns/iter (+/- 13)
test rgb_to_hsv_row/simd/1280 ... bench:       2,589 ns/iter (+/- 12)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,098 ns/iter (+/- 273)
test rgb_to_hsv_row/simd/1920 ... bench:       3,883 ns/iter (+/- 38)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,212 ns/iter (+/- 177)
test rgb_to_hsv_row/simd/3840 ... bench:       7,758 ns/iter (+/- 110)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,579 ns/iter (+/- 49)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,006 ns/iter (+/- 28)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,935 ns/iter (+/- 36)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,506 ns/iter (+/- 5)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,834 ns/iter (+/- 1,000)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,012 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,703 ns/iter (+/- 19)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         972 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,125 ns/iter (+/- 54)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,452 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,355 ns/iter (+/- 35)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,908 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,907 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,009 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,510 ns/iter (+/- 135)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,499 ns/iter (+/- 8)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,961 ns/iter (+/- 252)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,007 ns/iter (+/- 8)

Benchmark Results for ubuntu-x86_64-default

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008882
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 07:23:34 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,459 ns/iter (+/- 85)
test nv12_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 15)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,696 ns/iter (+/- 73)
test nv12_to_rgb_row/simd/1920 ... bench:       1,675 ns/iter (+/- 24)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,446 ns/iter (+/- 35)
test nv12_to_rgb_row/simd/3840 ... bench:       3,358 ns/iter (+/- 76)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,647 ns/iter (+/- 19)
test nv21_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,694 ns/iter (+/- 16)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 34)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,388 ns/iter (+/- 39)
test nv21_to_rgb_row/simd/3840 ... bench:       3,352 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,667 ns/iter (+/- 161)
test rgb_to_hsv_row/simd/1280 ... bench:       2,587 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,015 ns/iter (+/- 29)
test rgb_to_hsv_row/simd/1920 ... bench:       3,881 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,054 ns/iter (+/- 48)
test rgb_to_hsv_row/simd/3840 ... bench:       7,765 ns/iter (+/- 14)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,555 ns/iter (+/- 17)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,004 ns/iter (+/- 13)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,884 ns/iter (+/- 12)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,506 ns/iter (+/- 5)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,779 ns/iter (+/- 25)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,015 ns/iter (+/- 34)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,570 ns/iter (+/- 56)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         970 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,923 ns/iter (+/- 43)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,453 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,053 ns/iter (+/- 90)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,911 ns/iter (+/- 16)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,905 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,004 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,423 ns/iter (+/- 71)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,498 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,923 ns/iter (+/- 82)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,005 ns/iter (+/- 3)

Benchmark Results for ubuntu-x86_64-native

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: native
  • Runner: GitHub Actions 1000008900
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS: -C target-cpu=native
  • Date: 2026-04-19 07:25:36 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,446 ns/iter (+/- 29)
test nv12_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,691 ns/iter (+/- 15)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 3)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,376 ns/iter (+/- 315)
test nv12_to_rgb_row/simd/3840 ... bench:       3,352 ns/iter (+/- 5)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,440 ns/iter (+/- 89)
test nv21_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,696 ns/iter (+/- 19)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,392 ns/iter (+/- 55)
test nv21_to_rgb_row/simd/3840 ... bench:       3,354 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,664 ns/iter (+/- 175)
test rgb_to_hsv_row/simd/1280 ... bench:       2,587 ns/iter (+/- 4)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,001 ns/iter (+/- 20)
test rgb_to_hsv_row/simd/1920 ... bench:       3,887 ns/iter (+/- 9)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,087 ns/iter (+/- 35)
test rgb_to_hsv_row/simd/3840 ... bench:       7,766 ns/iter (+/- 125)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,566 ns/iter (+/- 304)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,005 ns/iter (+/- 4)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,898 ns/iter (+/- 19)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,504 ns/iter (+/- 15)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,743 ns/iter (+/- 46)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,012 ns/iter (+/- 7)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,578 ns/iter (+/- 59)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         972 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,932 ns/iter (+/- 15)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,453 ns/iter (+/- 5)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      13,940 ns/iter (+/- 127)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,906 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,900 ns/iter (+/- 17)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,000 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,404 ns/iter (+/- 22)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,502 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,913 ns/iter (+/- 28)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,015 ns/iter (+/- 36)

Benchmark Results for ubuntu-x86_64-scalar

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008898
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 07:24:43 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,742 ns/iter (+/- 17)
test nv12_to_rgb_row/simd/1280 ... bench:       4,787 ns/iter (+/- 103)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,918 ns/iter (+/- 57)
test nv12_to_rgb_row/simd/1920 ... bench:       6,843 ns/iter (+/- 67)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,562 ns/iter (+/- 47)
test nv12_to_rgb_row/simd/3840 ... bench:      13,585 ns/iter (+/- 55)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,685 ns/iter (+/- 15)
test nv21_to_rgb_row/simd/1280 ... bench:       4,681 ns/iter (+/- 25)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,786 ns/iter (+/- 161)
test nv21_to_rgb_row/simd/1920 ... bench:       6,792 ns/iter (+/- 16)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,626 ns/iter (+/- 32)
test nv21_to_rgb_row/simd/3840 ... bench:      13,626 ns/iter (+/- 574)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,572 ns/iter (+/- 62)
test rgb_to_hsv_row/simd/1280 ... bench:       4,574 ns/iter (+/- 11)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,862 ns/iter (+/- 25)
test rgb_to_hsv_row/simd/1920 ... bench:       6,863 ns/iter (+/- 12)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,743 ns/iter (+/- 127)
test rgb_to_hsv_row/simd/3840 ... bench:      13,757 ns/iter (+/- 47)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,817 ns/iter (+/- 47)
test yuv_420_to_rgb_row/simd/1280 ... bench:       4,811 ns/iter (+/- 19)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,271 ns/iter (+/- 31)
test yuv_420_to_rgb_row/simd/1920 ... bench:       7,276 ns/iter (+/- 83)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,581 ns/iter (+/- 23)
test yuv_420_to_rgb_row/simd/3840 ... bench:      14,583 ns/iter (+/- 54)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,935 ns/iter (+/- 77)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,939 ns/iter (+/- 57)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,480 ns/iter (+/- 219)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       7,465 ns/iter (+/- 23)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      15,007 ns/iter (+/- 42)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      15,022 ns/iter (+/- 49)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,633 ns/iter (+/- 20)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       4,631 ns/iter (+/- 23)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,061 ns/iter (+/- 20)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       7,066 ns/iter (+/- 23)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,207 ns/iter (+/- 24)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:      14,213 ns/iter (+/- 278)

Benchmark Results for ubuntu-x86_64-sse41-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: sse41-max
  • Runner: GitHub Actions 1000008881
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512 --cfg colconv_disable_avx2
  • Date: 2026-04-19 07:23:41 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,705 ns/iter (+/- 157)
test nv12_to_rgb_row/simd/1280 ... bench:         767 ns/iter (+/- 13)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,595 ns/iter (+/- 31)
test nv12_to_rgb_row/simd/1920 ... bench:       1,152 ns/iter (+/- 5)
test nv12_to_rgb_row/scalar/3840 ... bench:      11,178 ns/iter (+/- 82)
test nv12_to_rgb_row/simd/3840 ... bench:       2,301 ns/iter (+/- 34)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,645 ns/iter (+/- 34)
test nv21_to_rgb_row/simd/1280 ... bench:         767 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,579 ns/iter (+/- 181)
test nv21_to_rgb_row/simd/1920 ... bench:       1,151 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      11,167 ns/iter (+/- 182)
test nv21_to_rgb_row/simd/3840 ... bench:       2,303 ns/iter (+/- 16)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,466 ns/iter (+/- 4)
test rgb_to_hsv_row/simd/1280 ... bench:       2,202 ns/iter (+/- 4)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,206 ns/iter (+/- 50)
test rgb_to_hsv_row/simd/1920 ... bench:       3,300 ns/iter (+/- 9)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,414 ns/iter (+/- 24)
test rgb_to_hsv_row/simd/3840 ... bench:       6,598 ns/iter (+/- 8)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,564 ns/iter (+/- 64)
test yuv_420_to_rgb_row/simd/1280 ... bench:         783 ns/iter (+/- 18)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,344 ns/iter (+/- 37)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,178 ns/iter (+/- 24)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      10,744 ns/iter (+/- 1,035)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,346 ns/iter (+/- 52)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,764 ns/iter (+/- 14)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         668 ns/iter (+/- 0)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,543 ns/iter (+/- 28)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,000 ns/iter (+/- 0)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      11,151 ns/iter (+/- 245)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,000 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,665 ns/iter (+/- 31)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         951 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,560 ns/iter (+/- 24)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,427 ns/iter (+/- 7)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,175 ns/iter (+/- 33)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,862 ns/iter (+/- 3)

Benchmark Results for windows-x86_64-default

System Information

  • OS: windows-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008873
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 07:25:23 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,843 ns/iter (+/- 843)
test nv12_to_rgb_row/simd/1280 ... bench:       1,138 ns/iter (+/- 108)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,758 ns/iter (+/- 608)
test nv12_to_rgb_row/simd/1920 ... bench:       1,689 ns/iter (+/- 16)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,205 ns/iter (+/- 77)
test nv12_to_rgb_row/simd/3840 ... bench:       3,364 ns/iter (+/- 14)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,524 ns/iter (+/- 69)
test nv21_to_rgb_row/simd/1280 ... bench:       1,122 ns/iter (+/- 10)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,818 ns/iter (+/- 48)
test nv21_to_rgb_row/simd/1920 ... bench:       1,682 ns/iter (+/- 9)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,667 ns/iter (+/- 314)
test nv21_to_rgb_row/simd/3840 ... bench:       3,365 ns/iter (+/- 16)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,722 ns/iter (+/- 478)
test rgb_to_hsv_row/simd/1280 ... bench:       2,675 ns/iter (+/- 124)
test rgb_to_hsv_row/scalar/1920 ... bench:       8,614 ns/iter (+/- 2,181)
test rgb_to_hsv_row/simd/1920 ... bench:       3,927 ns/iter (+/- 723)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,195 ns/iter (+/- 220)
test rgb_to_hsv_row/simd/3840 ... bench:       7,826 ns/iter (+/- 40)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,630 ns/iter (+/- 21)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,018 ns/iter (+/- 7)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,023 ns/iter (+/- 271)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,522 ns/iter (+/- 9)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,029 ns/iter (+/- 96)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,035 ns/iter (+/- 36)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,685 ns/iter (+/- 509)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         981 ns/iter (+/- 5)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,062 ns/iter (+/- 57)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,464 ns/iter (+/- 5)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,307 ns/iter (+/- 3,882)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,923 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,770 ns/iter (+/- 39)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,011 ns/iter (+/- 75)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,217 ns/iter (+/- 441)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,509 ns/iter (+/- 75)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,594 ns/iter (+/- 2,425)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,203 ns/iter (+/- 284)

View detailed results

Detailed Criterion results have been uploaded as artifacts. Download them from the workflow run to view charts and detailed statistics.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/frame.rs Outdated
Comment thread src/frame.rs Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

Benchmark Results

Benchmark Results Summary

Date: 2026-04-19 08:07:06 UTC

Benchmark Results for macos-aarch64-neon

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: neon
  • Runner: GitHub Actions 1000008959
  • Runner arch (GH): ARM64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 08:04:13 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,969 ns/iter (+/- 392)
test nv12_to_rgb_row/simd/1280 ... bench:         551 ns/iter (+/- 24)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,429 ns/iter (+/- 117)
test nv12_to_rgb_row/simd/1920 ... bench:         828 ns/iter (+/- 54)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,882 ns/iter (+/- 414)
test nv12_to_rgb_row/simd/3840 ... bench:       1,651 ns/iter (+/- 42)
test nv21_to_rgb_row/scalar/1280 ... bench:       2,958 ns/iter (+/- 51)
test nv21_to_rgb_row/simd/1280 ... bench:         552 ns/iter (+/- 20)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,438 ns/iter (+/- 183)
test nv21_to_rgb_row/simd/1920 ... bench:         828 ns/iter (+/- 30)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,859 ns/iter (+/- 555)
test nv21_to_rgb_row/simd/3840 ... bench:       1,638 ns/iter (+/- 208)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,404 ns/iter (+/- 248)
test rgb_to_hsv_row/simd/1280 ... bench:       1,587 ns/iter (+/- 160)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,183 ns/iter (+/- 1,172)
test rgb_to_hsv_row/simd/1920 ... bench:       2,386 ns/iter (+/- 222)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,777 ns/iter (+/- 1,720)
test rgb_to_hsv_row/simd/3840 ... bench:       4,747 ns/iter (+/- 823)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,952 ns/iter (+/- 190)
test yuv_420_to_rgb_row/simd/1280 ... bench:         537 ns/iter (+/- 20)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,442 ns/iter (+/- 311)
test yuv_420_to_rgb_row/simd/1920 ... bench:         796 ns/iter (+/- 36)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       9,070 ns/iter (+/- 1,228)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,605 ns/iter (+/- 103)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,256 ns/iter (+/- 264)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         507 ns/iter (+/- 46)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,865 ns/iter (+/- 587)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         765 ns/iter (+/- 33)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,615 ns/iter (+/- 302)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,524 ns/iter (+/- 144)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,225 ns/iter (+/- 207)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         636 ns/iter (+/- 72)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,856 ns/iter (+/- 1,307)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:         952 ns/iter (+/- 117)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,704 ns/iter (+/- 500)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       1,907 ns/iter (+/- 183)

Benchmark Results for macos-aarch64-scalar

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008952
  • Runner arch (GH): ARM64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 08:02:58 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,015 ns/iter (+/- 391)
test nv12_to_rgb_row/simd/1280 ... bench:       3,000 ns/iter (+/- 128)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,480 ns/iter (+/- 332)
test nv12_to_rgb_row/simd/1920 ... bench:       4,503 ns/iter (+/- 604)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,951 ns/iter (+/- 187)
test nv12_to_rgb_row/simd/3840 ... bench:       8,885 ns/iter (+/- 702)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,006 ns/iter (+/- 454)
test nv21_to_rgb_row/simd/1280 ... bench:       3,000 ns/iter (+/- 244)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,501 ns/iter (+/- 433)
test nv21_to_rgb_row/simd/1920 ... bench:       4,491 ns/iter (+/- 286)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,954 ns/iter (+/- 447)
test nv21_to_rgb_row/simd/3840 ... bench:       8,929 ns/iter (+/- 509)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,389 ns/iter (+/- 1,546)
test rgb_to_hsv_row/simd/1280 ... bench:       3,411 ns/iter (+/- 203)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,079 ns/iter (+/- 36)
test rgb_to_hsv_row/simd/1920 ... bench:       5,036 ns/iter (+/- 507)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,675 ns/iter (+/- 720)
test rgb_to_hsv_row/simd/3840 ... bench:      10,680 ns/iter (+/- 594)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,909 ns/iter (+/- 76)
test yuv_420_to_rgb_row/simd/1280 ... bench:       2,919 ns/iter (+/- 100)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,380 ns/iter (+/- 78)
test yuv_420_to_rgb_row/simd/1920 ... bench:       4,393 ns/iter (+/- 185)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       8,954 ns/iter (+/- 233)
test yuv_420_to_rgb_row/simd/3840 ... bench:       8,969 ns/iter (+/- 269)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,213 ns/iter (+/- 191)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       3,192 ns/iter (+/- 83)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,786 ns/iter (+/- 87)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       4,795 ns/iter (+/- 421)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,582 ns/iter (+/- 189)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       9,573 ns/iter (+/- 170)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,195 ns/iter (+/- 61)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       3,192 ns/iter (+/- 63)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,782 ns/iter (+/- 90)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       4,788 ns/iter (+/- 78)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,570 ns/iter (+/- 164)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       9,561 ns/iter (+/- 273)

Benchmark Results for ubuntu-x86_64-avx2-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: avx2-max
  • Runner: GitHub Actions 1000008943
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512
  • Date: 2026-04-19 08:02:50 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,869 ns/iter (+/- 14)
test nv12_to_rgb_row/simd/1280 ... bench:       1,119 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       7,358 ns/iter (+/- 19)
test nv12_to_rgb_row/simd/1920 ... bench:       1,675 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      14,730 ns/iter (+/- 26)
test nv12_to_rgb_row/simd/3840 ... bench:       3,350 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1280 ... bench:       5,066 ns/iter (+/- 93)
test nv21_to_rgb_row/simd/1280 ... bench:       1,118 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       7,348 ns/iter (+/- 27)
test nv21_to_rgb_row/simd/1920 ... bench:       1,678 ns/iter (+/- 10)
test nv21_to_rgb_row/scalar/3840 ... bench:      14,687 ns/iter (+/- 44)
test nv21_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,711 ns/iter (+/- 83)
test rgb_to_hsv_row/simd/1280 ... bench:       2,586 ns/iter (+/- 15)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,078 ns/iter (+/- 56)
test rgb_to_hsv_row/simd/1920 ... bench:       3,876 ns/iter (+/- 9)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,206 ns/iter (+/- 59)
test rgb_to_hsv_row/simd/3840 ... bench:       7,758 ns/iter (+/- 9)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,581 ns/iter (+/- 21)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,004 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,938 ns/iter (+/- 21)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,828 ns/iter (+/- 60)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,011 ns/iter (+/- 39)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,663 ns/iter (+/- 37)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         994 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,089 ns/iter (+/- 25)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,483 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,273 ns/iter (+/- 248)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,969 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,763 ns/iter (+/- 39)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,023 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,216 ns/iter (+/- 29)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,523 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,478 ns/iter (+/- 59)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,062 ns/iter (+/- 11)

Benchmark Results for ubuntu-x86_64-default

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008946
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 08:02:49 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,452 ns/iter (+/- 19)
test nv12_to_rgb_row/simd/1280 ... bench:       1,117 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,691 ns/iter (+/- 57)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,372 ns/iter (+/- 510)
test nv12_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,441 ns/iter (+/- 77)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,699 ns/iter (+/- 41)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,417 ns/iter (+/- 24)
test nv21_to_rgb_row/simd/3840 ... bench:       3,352 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,657 ns/iter (+/- 54)
test rgb_to_hsv_row/simd/1280 ... bench:       2,587 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,008 ns/iter (+/- 242)
test rgb_to_hsv_row/simd/1920 ... bench:       3,885 ns/iter (+/- 87)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,067 ns/iter (+/- 103)
test rgb_to_hsv_row/simd/3840 ... bench:       7,766 ns/iter (+/- 9)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,557 ns/iter (+/- 58)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,007 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,881 ns/iter (+/- 50)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 25)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,777 ns/iter (+/- 23)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,012 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,852 ns/iter (+/- 13)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         991 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,342 ns/iter (+/- 17)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,489 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,807 ns/iter (+/- 45)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,968 ns/iter (+/- 119)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,821 ns/iter (+/- 15)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,024 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,276 ns/iter (+/- 33)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,526 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,621 ns/iter (+/- 78)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,069 ns/iter (+/- 5)

Benchmark Results for ubuntu-x86_64-native

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: native
  • Runner: GitHub Actions 1000008944
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS: -C target-cpu=native
  • Date: 2026-04-19 08:03:16 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,448 ns/iter (+/- 13)
test nv12_to_rgb_row/simd/1280 ... bench:       1,118 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,694 ns/iter (+/- 21)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,360 ns/iter (+/- 66)
test nv12_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,640 ns/iter (+/- 55)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,693 ns/iter (+/- 16)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,390 ns/iter (+/- 29)
test nv21_to_rgb_row/simd/3840 ... bench:       3,354 ns/iter (+/- 13)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,948 ns/iter (+/- 13)
test rgb_to_hsv_row/simd/1280 ... bench:       2,586 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,996 ns/iter (+/- 18)
test rgb_to_hsv_row/simd/1920 ... bench:       3,878 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,079 ns/iter (+/- 281)
test rgb_to_hsv_row/simd/3840 ... bench:       7,764 ns/iter (+/- 23)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,556 ns/iter (+/- 17)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,004 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,899 ns/iter (+/- 59)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,506 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,786 ns/iter (+/- 52)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,013 ns/iter (+/- 6)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,853 ns/iter (+/- 9)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         993 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,347 ns/iter (+/- 19)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,484 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,800 ns/iter (+/- 332)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,972 ns/iter (+/- 8)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,817 ns/iter (+/- 42)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,024 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,276 ns/iter (+/- 18)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,525 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,603 ns/iter (+/- 59)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,069 ns/iter (+/- 4)

Benchmark Results for ubuntu-x86_64-scalar

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000008945
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 08:02:54 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,500 ns/iter (+/- 66)
test nv12_to_rgb_row/simd/1280 ... bench:       4,730 ns/iter (+/- 128)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,846 ns/iter (+/- 22)
test nv12_to_rgb_row/simd/1920 ... bench:       6,841 ns/iter (+/- 28)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,583 ns/iter (+/- 85)
test nv12_to_rgb_row/simd/3840 ... bench:      13,590 ns/iter (+/- 216)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,486 ns/iter (+/- 10)
test nv21_to_rgb_row/simd/1280 ... bench:       4,492 ns/iter (+/- 72)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,767 ns/iter (+/- 21)
test nv21_to_rgb_row/simd/1920 ... bench:       6,770 ns/iter (+/- 17)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,558 ns/iter (+/- 23)
test nv21_to_rgb_row/simd/3840 ... bench:      13,560 ns/iter (+/- 32)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,573 ns/iter (+/- 9)
test rgb_to_hsv_row/simd/1280 ... bench:       4,572 ns/iter (+/- 12)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,862 ns/iter (+/- 42)
test rgb_to_hsv_row/simd/1920 ... bench:       6,868 ns/iter (+/- 66)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,751 ns/iter (+/- 75)
test rgb_to_hsv_row/simd/3840 ... bench:      13,765 ns/iter (+/- 111)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,818 ns/iter (+/- 11)
test yuv_420_to_rgb_row/simd/1280 ... bench:       4,811 ns/iter (+/- 30)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,279 ns/iter (+/- 143)
test yuv_420_to_rgb_row/simd/1920 ... bench:       7,277 ns/iter (+/- 22)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,565 ns/iter (+/- 30)
test yuv_420_to_rgb_row/simd/3840 ... bench:      14,575 ns/iter (+/- 41)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,822 ns/iter (+/- 50)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,822 ns/iter (+/- 16)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,290 ns/iter (+/- 20)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       7,283 ns/iter (+/- 30)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,643 ns/iter (+/- 81)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      14,648 ns/iter (+/- 65)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,629 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       4,628 ns/iter (+/- 26)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,030 ns/iter (+/- 34)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       7,034 ns/iter (+/- 52)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,095 ns/iter (+/- 186)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:      14,122 ns/iter (+/- 79)

Benchmark Results for ubuntu-x86_64-sse41-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: sse41-max
  • Runner: GitHub Actions 1000008947
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512 --cfg colconv_disable_avx2
  • Date: 2026-04-19 08:03:08 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,640 ns/iter (+/- 258)
test nv12_to_rgb_row/simd/1280 ... bench:         885 ns/iter (+/- 3)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,924 ns/iter (+/- 23)
test nv12_to_rgb_row/simd/1920 ... bench:       1,331 ns/iter (+/- 4)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,874 ns/iter (+/- 163)
test nv12_to_rgb_row/simd/3840 ... bench:       2,660 ns/iter (+/- 7)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,565 ns/iter (+/- 12)
test nv21_to_rgb_row/simd/1280 ... bench:         880 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,900 ns/iter (+/- 18)
test nv21_to_rgb_row/simd/1920 ... bench:       1,324 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,802 ns/iter (+/- 40)
test nv21_to_rgb_row/simd/3840 ... bench:       2,644 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,628 ns/iter (+/- 9)
test rgb_to_hsv_row/simd/1280 ... bench:       2,563 ns/iter (+/- 5)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,942 ns/iter (+/- 31)
test rgb_to_hsv_row/simd/1920 ... bench:       3,847 ns/iter (+/- 14)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,916 ns/iter (+/- 47)
test rgb_to_hsv_row/simd/3840 ... bench:       7,693 ns/iter (+/- 6)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,580 ns/iter (+/- 25)
test yuv_420_to_rgb_row/simd/1280 ... bench:         904 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,942 ns/iter (+/- 35)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,361 ns/iter (+/- 4)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,831 ns/iter (+/- 40)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,711 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,621 ns/iter (+/- 14)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         841 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,995 ns/iter (+/- 147)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,263 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,047 ns/iter (+/- 54)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,519 ns/iter (+/- 19)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,829 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,103 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,320 ns/iter (+/- 35)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,658 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,760 ns/iter (+/- 97)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,313 ns/iter (+/- 5)

Benchmark Results for windows-x86_64-default

System Information

  • OS: windows-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000008957
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 08:06:03 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,390 ns/iter (+/- 62)
test nv12_to_rgb_row/simd/1280 ... bench:       1,123 ns/iter (+/- 8)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,643 ns/iter (+/- 189)
test nv12_to_rgb_row/simd/1920 ... bench:       1,681 ns/iter (+/- 5)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,276 ns/iter (+/- 200)
test nv12_to_rgb_row/simd/3840 ... bench:       3,377 ns/iter (+/- 21)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,546 ns/iter (+/- 222)
test nv21_to_rgb_row/simd/1280 ... bench:       1,126 ns/iter (+/- 7)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,851 ns/iter (+/- 50)
test nv21_to_rgb_row/simd/1920 ... bench:       1,687 ns/iter (+/- 7)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,747 ns/iter (+/- 111)
test nv21_to_rgb_row/simd/3840 ... bench:       3,380 ns/iter (+/- 26)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,857 ns/iter (+/- 352)
test rgb_to_hsv_row/simd/1280 ... bench:       2,635 ns/iter (+/- 186)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,035 ns/iter (+/- 120)
test rgb_to_hsv_row/simd/1920 ... bench:       3,934 ns/iter (+/- 78)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,301 ns/iter (+/- 251)
test rgb_to_hsv_row/simd/3840 ... bench:       7,854 ns/iter (+/- 173)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,655 ns/iter (+/- 312)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,017 ns/iter (+/- 6)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,004 ns/iter (+/- 92)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,536 ns/iter (+/- 43)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      15,636 ns/iter (+/- 1,740)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,077 ns/iter (+/- 43)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,702 ns/iter (+/- 990)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       1,000 ns/iter (+/- 4)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,100 ns/iter (+/- 656)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,498 ns/iter (+/- 89)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,237 ns/iter (+/- 165)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,986 ns/iter (+/- 192)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,774 ns/iter (+/- 60)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,033 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,284 ns/iter (+/- 1,009)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,535 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,510 ns/iter (+/- 111)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,077 ns/iter (+/- 42)

View detailed results

Detailed Criterion results have been uploaded as artifacts. Download them from the workflow run to view charts and detailed statistics.

@github-actions
Copy link
Copy Markdown

Benchmark Results

Benchmark Results Summary

Date: 2026-04-19 08:14:26 UTC

Benchmark Results for macos-aarch64-neon

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: neon
  • Runner: GitHub Actions 1000009022
  • Runner arch (GH): ARM64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 08:11:00 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       2,899 ns/iter (+/- 67)
test nv12_to_rgb_row/simd/1280 ... bench:         533 ns/iter (+/- 19)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,250 ns/iter (+/- 75)
test nv12_to_rgb_row/simd/1920 ... bench:         813 ns/iter (+/- 16)
test nv12_to_rgb_row/scalar/3840 ... bench:       8,689 ns/iter (+/- 160)
test nv12_to_rgb_row/simd/3840 ... bench:       1,551 ns/iter (+/- 39)
test nv21_to_rgb_row/scalar/1280 ... bench:       2,745 ns/iter (+/- 231)
test nv21_to_rgb_row/simd/1280 ... bench:         513 ns/iter (+/- 20)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,131 ns/iter (+/- 114)
test nv21_to_rgb_row/simd/1920 ... bench:         764 ns/iter (+/- 22)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,204 ns/iter (+/- 197)
test nv21_to_rgb_row/simd/3840 ... bench:       1,521 ns/iter (+/- 32)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,123 ns/iter (+/- 37)
test rgb_to_hsv_row/simd/1280 ... bench:       1,451 ns/iter (+/- 11)
test rgb_to_hsv_row/scalar/1920 ... bench:       4,682 ns/iter (+/- 54)
test rgb_to_hsv_row/simd/1920 ... bench:       2,179 ns/iter (+/- 18)
test rgb_to_hsv_row/scalar/3840 ... bench:       9,398 ns/iter (+/- 629)
test rgb_to_hsv_row/simd/3840 ... bench:       4,361 ns/iter (+/- 75)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,700 ns/iter (+/- 45)
test yuv_420_to_rgb_row/simd/1280 ... bench:         525 ns/iter (+/- 36)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,306 ns/iter (+/- 82)
test yuv_420_to_rgb_row/simd/1920 ... bench:         779 ns/iter (+/- 12)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       8,829 ns/iter (+/- 152)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,542 ns/iter (+/- 41)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       2,954 ns/iter (+/- 53)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         462 ns/iter (+/- 12)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,432 ns/iter (+/- 91)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         697 ns/iter (+/- 6)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       8,902 ns/iter (+/- 279)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,388 ns/iter (+/- 14)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       2,952 ns/iter (+/- 62)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         583 ns/iter (+/- 15)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,438 ns/iter (+/- 109)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:         874 ns/iter (+/- 15)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       8,863 ns/iter (+/- 187)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       1,740 ns/iter (+/- 55)

Benchmark Results for macos-aarch64-scalar

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000009037
  • Runner arch (GH): ARM64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 08:14:09 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,555 ns/iter (+/- 1,178)
test nv12_to_rgb_row/simd/1280 ... bench:       4,111 ns/iter (+/- 852)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,821 ns/iter (+/- 2,758)
test nv12_to_rgb_row/simd/1920 ... bench:       6,427 ns/iter (+/- 1,457)
test nv12_to_rgb_row/scalar/3840 ... bench:      12,414 ns/iter (+/- 3,148)
test nv12_to_rgb_row/simd/3840 ... bench:      13,291 ns/iter (+/- 3,237)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,057 ns/iter (+/- 933)
test nv21_to_rgb_row/simd/1280 ... bench:       3,461 ns/iter (+/- 752)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,768 ns/iter (+/- 1,354)
test nv21_to_rgb_row/simd/1920 ... bench:       5,722 ns/iter (+/- 917)
test nv21_to_rgb_row/scalar/3840 ... bench:      12,401 ns/iter (+/- 4,230)
test nv21_to_rgb_row/simd/3840 ... bench:      11,655 ns/iter (+/- 1,830)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,632 ns/iter (+/- 1,297)
test rgb_to_hsv_row/simd/1280 ... bench:       3,709 ns/iter (+/- 718)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,431 ns/iter (+/- 1,839)
test rgb_to_hsv_row/simd/1920 ... bench:       6,791 ns/iter (+/- 1,360)
test rgb_to_hsv_row/scalar/3840 ... bench:      12,736 ns/iter (+/- 2,398)
test rgb_to_hsv_row/simd/3840 ... bench:      11,806 ns/iter (+/- 2,655)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,929 ns/iter (+/- 238)
test yuv_420_to_rgb_row/simd/1280 ... bench:       2,975 ns/iter (+/- 681)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,472 ns/iter (+/- 925)
test yuv_420_to_rgb_row/simd/1920 ... bench:       4,616 ns/iter (+/- 868)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       9,191 ns/iter (+/- 1,442)
test yuv_420_to_rgb_row/simd/3840 ... bench:       8,892 ns/iter (+/- 842)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,228 ns/iter (+/- 780)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       3,285 ns/iter (+/- 554)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,016 ns/iter (+/- 700)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       4,864 ns/iter (+/- 1,120)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,649 ns/iter (+/- 1,198)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       9,705 ns/iter (+/- 1,799)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,334 ns/iter (+/- 708)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       3,224 ns/iter (+/- 672)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,766 ns/iter (+/- 1,578)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       4,703 ns/iter (+/- 221)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,722 ns/iter (+/- 1,591)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       9,895 ns/iter (+/- 1,402)

Benchmark Results for ubuntu-x86_64-avx2-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: avx2-max
  • Runner: GitHub Actions 1000009018
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512
  • Date: 2026-04-19 08:11:28 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,944 ns/iter (+/- 78)
test nv12_to_rgb_row/simd/1280 ... bench:       1,011 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       7,209 ns/iter (+/- 44)
test nv12_to_rgb_row/simd/1920 ... bench:       1,517 ns/iter (+/- 16)
test nv12_to_rgb_row/scalar/3840 ... bench:      14,297 ns/iter (+/- 80)
test nv12_to_rgb_row/simd/3840 ... bench:       3,034 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,708 ns/iter (+/- 48)
test nv21_to_rgb_row/simd/1280 ... bench:       1,011 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/1920 ... bench:       7,201 ns/iter (+/- 53)
test nv21_to_rgb_row/simd/1920 ... bench:       1,518 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/3840 ... bench:      14,288 ns/iter (+/- 150)
test nv21_to_rgb_row/simd/3840 ... bench:       3,033 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,630 ns/iter (+/- 180)
test rgb_to_hsv_row/simd/1280 ... bench:       2,793 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,917 ns/iter (+/- 34)
test rgb_to_hsv_row/simd/1920 ... bench:       4,182 ns/iter (+/- 4)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,851 ns/iter (+/- 62)
test rgb_to_hsv_row/simd/3840 ... bench:       8,371 ns/iter (+/- 221)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,753 ns/iter (+/- 99)
test yuv_420_to_rgb_row/simd/1280 ... bench:         941 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,028 ns/iter (+/- 12)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,411 ns/iter (+/- 3)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,013 ns/iter (+/- 94)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,817 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,790 ns/iter (+/- 46)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         912 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,170 ns/iter (+/- 13)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,367 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,492 ns/iter (+/- 172)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,728 ns/iter (+/- 4)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,613 ns/iter (+/- 31)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         996 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,090 ns/iter (+/- 30)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,493 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,436 ns/iter (+/- 83)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,997 ns/iter (+/- 8)

Benchmark Results for ubuntu-x86_64-default

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000009021
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 08:11:52 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,744 ns/iter (+/- 41)
test nv12_to_rgb_row/simd/1280 ... bench:         758 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,611 ns/iter (+/- 107)
test nv12_to_rgb_row/simd/1920 ... bench:       1,131 ns/iter (+/- 12)
test nv12_to_rgb_row/scalar/3840 ... bench:      12,171 ns/iter (+/- 547)
test nv12_to_rgb_row/simd/3840 ... bench:       2,258 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,758 ns/iter (+/- 70)
test nv21_to_rgb_row/simd/1280 ... bench:         773 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,761 ns/iter (+/- 127)
test nv21_to_rgb_row/simd/1920 ... bench:       1,160 ns/iter (+/- 0)
test nv21_to_rgb_row/scalar/3840 ... bench:      11,328 ns/iter (+/- 496)
test nv21_to_rgb_row/simd/3840 ... bench:       2,309 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,107 ns/iter (+/- 32)
test rgb_to_hsv_row/simd/1280 ... bench:       3,551 ns/iter (+/- 13)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,182 ns/iter (+/- 36)
test rgb_to_hsv_row/simd/1920 ... bench:       5,327 ns/iter (+/- 53)
test rgb_to_hsv_row/scalar/3840 ... bench:      12,386 ns/iter (+/- 38)
test rgb_to_hsv_row/simd/3840 ... bench:      10,663 ns/iter (+/- 33)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,853 ns/iter (+/- 48)
test yuv_420_to_rgb_row/simd/1280 ... bench:         685 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,635 ns/iter (+/- 32)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,029 ns/iter (+/- 0)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      11,219 ns/iter (+/- 72)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,054 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,017 ns/iter (+/- 22)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         657 ns/iter (+/- 6)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,021 ns/iter (+/- 17)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         981 ns/iter (+/- 0)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      13,008 ns/iter (+/- 403)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,973 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,842 ns/iter (+/- 9)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,208 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,757 ns/iter (+/- 82)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,813 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,452 ns/iter (+/- 80)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,631 ns/iter (+/- 8)

Benchmark Results for ubuntu-x86_64-native

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: native
  • Runner: GitHub Actions 1000009032
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS: -C target-cpu=native
  • Date: 2026-04-19 08:14:10 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,445 ns/iter (+/- 17)
test nv12_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,690 ns/iter (+/- 15)
test nv12_to_rgb_row/simd/1920 ... bench:       1,675 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,361 ns/iter (+/- 44)
test nv12_to_rgb_row/simd/3840 ... bench:       3,356 ns/iter (+/- 9)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,660 ns/iter (+/- 47)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,700 ns/iter (+/- 243)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      14,029 ns/iter (+/- 54)
test nv21_to_rgb_row/simd/3840 ... bench:       3,352 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,658 ns/iter (+/- 83)
test rgb_to_hsv_row/simd/1280 ... bench:       2,585 ns/iter (+/- 9)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,000 ns/iter (+/- 139)
test rgb_to_hsv_row/simd/1920 ... bench:       3,883 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,106 ns/iter (+/- 127)
test rgb_to_hsv_row/simd/3840 ... bench:       7,766 ns/iter (+/- 29)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,552 ns/iter (+/- 9)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,005 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,892 ns/iter (+/- 34)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 11)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,788 ns/iter (+/- 64)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,015 ns/iter (+/- 5)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,848 ns/iter (+/- 202)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         990 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,335 ns/iter (+/- 25)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,484 ns/iter (+/- 19)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,787 ns/iter (+/- 48)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,970 ns/iter (+/- 12)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,822 ns/iter (+/- 53)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,024 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,273 ns/iter (+/- 22)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,524 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,617 ns/iter (+/- 589)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,067 ns/iter (+/- 3)

Benchmark Results for ubuntu-x86_64-scalar

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000009020
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 08:11:39 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,507 ns/iter (+/- 9)
test nv12_to_rgb_row/simd/1280 ... bench:       4,506 ns/iter (+/- 78)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,827 ns/iter (+/- 28)
test nv12_to_rgb_row/simd/1920 ... bench:       6,847 ns/iter (+/- 31)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,605 ns/iter (+/- 76)
test nv12_to_rgb_row/simd/3840 ... bench:      13,609 ns/iter (+/- 67)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,676 ns/iter (+/- 99)
test nv21_to_rgb_row/simd/1280 ... bench:       4,495 ns/iter (+/- 28)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,790 ns/iter (+/- 14)
test nv21_to_rgb_row/simd/1920 ... bench:       6,792 ns/iter (+/- 14)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,619 ns/iter (+/- 42)
test nv21_to_rgb_row/simd/3840 ... bench:      13,613 ns/iter (+/- 31)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,572 ns/iter (+/- 15)
test rgb_to_hsv_row/simd/1280 ... bench:       4,570 ns/iter (+/- 11)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,861 ns/iter (+/- 183)
test rgb_to_hsv_row/simd/1920 ... bench:       6,871 ns/iter (+/- 357)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,795 ns/iter (+/- 127)
test rgb_to_hsv_row/simd/3840 ... bench:      13,830 ns/iter (+/- 50)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,815 ns/iter (+/- 9)
test yuv_420_to_rgb_row/simd/1280 ... bench:       4,815 ns/iter (+/- 20)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,276 ns/iter (+/- 28)
test yuv_420_to_rgb_row/simd/1920 ... bench:       7,276 ns/iter (+/- 138)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,559 ns/iter (+/- 101)
test yuv_420_to_rgb_row/simd/3840 ... bench:      14,557 ns/iter (+/- 64)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,859 ns/iter (+/- 128)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,856 ns/iter (+/- 21)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,355 ns/iter (+/- 129)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       7,329 ns/iter (+/- 22)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,819 ns/iter (+/- 67)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      14,820 ns/iter (+/- 202)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,622 ns/iter (+/- 16)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       4,621 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,036 ns/iter (+/- 34)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       7,047 ns/iter (+/- 121)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,147 ns/iter (+/- 185)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:      14,140 ns/iter (+/- 29)

Benchmark Results for ubuntu-x86_64-sse41-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: sse41-max
  • Runner: GitHub Actions 1000009015
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512 --cfg colconv_disable_avx2
  • Date: 2026-04-19 08:11:07 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,625 ns/iter (+/- 73)
test nv12_to_rgb_row/simd/1280 ... bench:         885 ns/iter (+/- 0)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,936 ns/iter (+/- 19)
test nv12_to_rgb_row/simd/1920 ... bench:       1,332 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,907 ns/iter (+/- 389)
test nv12_to_rgb_row/simd/3840 ... bench:       2,659 ns/iter (+/- 2)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,635 ns/iter (+/- 19)
test nv21_to_rgb_row/simd/1280 ... bench:         880 ns/iter (+/- 0)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,910 ns/iter (+/- 28)
test nv21_to_rgb_row/simd/1920 ... bench:       1,324 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,819 ns/iter (+/- 71)
test nv21_to_rgb_row/simd/3840 ... bench:       2,644 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,627 ns/iter (+/- 9)
test rgb_to_hsv_row/simd/1280 ... bench:       2,564 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,943 ns/iter (+/- 38)
test rgb_to_hsv_row/simd/1920 ... bench:       3,849 ns/iter (+/- 32)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,908 ns/iter (+/- 121)
test rgb_to_hsv_row/simd/3840 ... bench:       7,693 ns/iter (+/- 22)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,588 ns/iter (+/- 8)
test yuv_420_to_rgb_row/simd/1280 ... bench:         904 ns/iter (+/- 0)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,932 ns/iter (+/- 23)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,360 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,860 ns/iter (+/- 38)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,711 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,622 ns/iter (+/- 50)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         841 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,002 ns/iter (+/- 61)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,263 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,042 ns/iter (+/- 39)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,520 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,827 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,103 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,607 ns/iter (+/- 13)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,658 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,795 ns/iter (+/- 31)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,314 ns/iter (+/- 4)

Benchmark Results for windows-x86_64-default

System Information

  • OS: windows-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000009016
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 08:12:50 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,431 ns/iter (+/- 181)
test nv12_to_rgb_row/simd/1280 ... bench:         597 ns/iter (+/- 12)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,143 ns/iter (+/- 36)
test nv12_to_rgb_row/simd/1920 ... bench:         896 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      10,286 ns/iter (+/- 56)
test nv12_to_rgb_row/simd/3840 ... bench:       1,790 ns/iter (+/- 6)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,358 ns/iter (+/- 49)
test nv21_to_rgb_row/simd/1280 ... bench:         602 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,071 ns/iter (+/- 93)
test nv21_to_rgb_row/simd/1920 ... bench:         904 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/3840 ... bench:      10,791 ns/iter (+/- 977)
test nv21_to_rgb_row/simd/3840 ... bench:       1,814 ns/iter (+/- 17)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,806 ns/iter (+/- 440)
test rgb_to_hsv_row/simd/1280 ... bench:       2,586 ns/iter (+/- 146)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,187 ns/iter (+/- 679)
test rgb_to_hsv_row/simd/1920 ... bench:       3,879 ns/iter (+/- 222)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,389 ns/iter (+/- 222)
test rgb_to_hsv_row/simd/3840 ... bench:       7,766 ns/iter (+/- 444)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,546 ns/iter (+/- 24)
test yuv_420_to_rgb_row/simd/1280 ... bench:         563 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,376 ns/iter (+/- 137)
test yuv_420_to_rgb_row/simd/1920 ... bench:         844 ns/iter (+/- 3)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      10,789 ns/iter (+/- 66)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,688 ns/iter (+/- 53)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,478 ns/iter (+/- 20)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         551 ns/iter (+/- 7)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       5,248 ns/iter (+/- 57)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         827 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      10,557 ns/iter (+/- 241)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,656 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,627 ns/iter (+/- 24)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         685 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,491 ns/iter (+/- 75)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,028 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,242 ns/iter (+/- 757)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       2,082 ns/iter (+/- 5)

View detailed results

Detailed Criterion results have been uploaded as artifacts. Download them from the workflow run to view charts and detailed statistics.

@uqio uqio merged commit ff5e99a into main Apr 19, 2026
44 of 58 checks passed
@uqio uqio deleted the feat/yuv420p10 branch April 19, 2026 08:21
@github-actions
Copy link
Copy Markdown

Benchmark Results

Benchmark Results Summary

Date: 2026-04-19 08:38:12 UTC

Benchmark Results for macos-aarch64-neon

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: neon
  • Runner: GitHub Actions 1000009084
  • Runner arch (GH): ARM64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 08:29:41 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,583 ns/iter (+/- 904)
test nv12_to_rgb_row/simd/1280 ... bench:         734 ns/iter (+/- 154)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,135 ns/iter (+/- 1,414)
test nv12_to_rgb_row/simd/1920 ... bench:       1,148 ns/iter (+/- 388)
test nv12_to_rgb_row/scalar/3840 ... bench:      11,797 ns/iter (+/- 2,893)
test nv12_to_rgb_row/simd/3840 ... bench:       2,089 ns/iter (+/- 590)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,534 ns/iter (+/- 533)
test nv21_to_rgb_row/simd/1280 ... bench:         625 ns/iter (+/- 83)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,468 ns/iter (+/- 535)
test nv21_to_rgb_row/simd/1920 ... bench:         814 ns/iter (+/- 35)
test nv21_to_rgb_row/scalar/3840 ... bench:       8,813 ns/iter (+/- 895)
test nv21_to_rgb_row/simd/3840 ... bench:       1,845 ns/iter (+/- 658)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,419 ns/iter (+/- 665)
test rgb_to_hsv_row/simd/1280 ... bench:       1,627 ns/iter (+/- 204)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,343 ns/iter (+/- 977)
test rgb_to_hsv_row/simd/1920 ... bench:       2,604 ns/iter (+/- 331)
test rgb_to_hsv_row/scalar/3840 ... bench:      10,364 ns/iter (+/- 1,147)
test rgb_to_hsv_row/simd/3840 ... bench:       4,767 ns/iter (+/- 672)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       2,979 ns/iter (+/- 404)
test yuv_420_to_rgb_row/simd/1280 ... bench:         529 ns/iter (+/- 46)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       4,396 ns/iter (+/- 352)
test yuv_420_to_rgb_row/simd/1920 ... bench:         792 ns/iter (+/- 60)
test yuv_420_to_rgb_row/scalar/3840 ... bench:       8,953 ns/iter (+/- 448)
test yuv_420_to_rgb_row/simd/3840 ... bench:       1,730 ns/iter (+/- 396)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       3,204 ns/iter (+/- 276)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         499 ns/iter (+/- 29)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       4,842 ns/iter (+/- 428)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         755 ns/iter (+/- 21)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:       9,653 ns/iter (+/- 415)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,534 ns/iter (+/- 317)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,238 ns/iter (+/- 273)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:         651 ns/iter (+/- 62)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       4,811 ns/iter (+/- 389)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:         951 ns/iter (+/- 63)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:       9,662 ns/iter (+/- 566)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       1,892 ns/iter (+/- 148)

Benchmark Results for macos-aarch64-scalar

System Information

  • OS: macos-latest
  • Arch: aarch64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000009117
  • Runner arch (GH): ARM64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 08:34:07 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,510 ns/iter (+/- 1,068)
test nv12_to_rgb_row/simd/1280 ... bench:       3,113 ns/iter (+/- 454)
test nv12_to_rgb_row/scalar/1920 ... bench:       4,975 ns/iter (+/- 709)
test nv12_to_rgb_row/simd/1920 ... bench:       4,645 ns/iter (+/- 1,147)
test nv12_to_rgb_row/scalar/3840 ... bench:       9,279 ns/iter (+/- 2,290)
test nv12_to_rgb_row/simd/3840 ... bench:       8,990 ns/iter (+/- 2,033)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,130 ns/iter (+/- 478)
test nv21_to_rgb_row/simd/1280 ... bench:       3,106 ns/iter (+/- 476)
test nv21_to_rgb_row/scalar/1920 ... bench:       4,655 ns/iter (+/- 941)
test nv21_to_rgb_row/simd/1920 ... bench:       4,523 ns/iter (+/- 457)
test nv21_to_rgb_row/scalar/3840 ... bench:       9,389 ns/iter (+/- 2,111)
test nv21_to_rgb_row/simd/3840 ... bench:      10,273 ns/iter (+/- 2,271)
test rgb_to_hsv_row/scalar/1280 ... bench:       3,462 ns/iter (+/- 601)
test rgb_to_hsv_row/simd/1280 ... bench:       3,467 ns/iter (+/- 404)
test rgb_to_hsv_row/scalar/1920 ... bench:       5,936 ns/iter (+/- 1,350)
test rgb_to_hsv_row/simd/1920 ... bench:       7,127 ns/iter (+/- 1,181)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,134 ns/iter (+/- 2,466)
test rgb_to_hsv_row/simd/3840 ... bench:      14,926 ns/iter (+/- 2,989)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,673 ns/iter (+/- 961)
test yuv_420_to_rgb_row/simd/1280 ... bench:       3,585 ns/iter (+/- 895)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,165 ns/iter (+/- 1,350)
test yuv_420_to_rgb_row/simd/1920 ... bench:       5,659 ns/iter (+/- 862)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      12,078 ns/iter (+/- 2,847)
test yuv_420_to_rgb_row/simd/3840 ... bench:      11,516 ns/iter (+/- 2,502)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,256 ns/iter (+/- 776)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,155 ns/iter (+/- 938)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,078 ns/iter (+/- 905)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       5,146 ns/iter (+/- 613)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      12,196 ns/iter (+/- 2,420)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      10,711 ns/iter (+/- 2,206)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,385 ns/iter (+/- 213)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       3,571 ns/iter (+/- 500)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,072 ns/iter (+/- 322)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       5,122 ns/iter (+/- 359)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      12,047 ns/iter (+/- 1,404)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       9,780 ns/iter (+/- 663)

Benchmark Results for ubuntu-x86_64-avx2-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: avx2-max
  • Runner: GitHub Actions 1000009127
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512
  • Date: 2026-04-19 08:36:46 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,880 ns/iter (+/- 131)
test nv12_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/1920 ... bench:       7,363 ns/iter (+/- 46)
test nv12_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/3840 ... bench:      14,735 ns/iter (+/- 101)
test nv12_to_rgb_row/simd/3840 ... bench:       3,351 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/1280 ... bench:       5,069 ns/iter (+/- 11)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 5)
test nv21_to_rgb_row/scalar/1920 ... bench:       7,351 ns/iter (+/- 89)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      14,691 ns/iter (+/- 39)
test nv21_to_rgb_row/simd/3840 ... bench:       3,350 ns/iter (+/- 4)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,723 ns/iter (+/- 13)
test rgb_to_hsv_row/simd/1280 ... bench:       2,584 ns/iter (+/- 1)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,074 ns/iter (+/- 19)
test rgb_to_hsv_row/simd/1920 ... bench:       3,875 ns/iter (+/- 41)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,222 ns/iter (+/- 47)
test rgb_to_hsv_row/simd/3840 ... bench:       7,754 ns/iter (+/- 13)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,581 ns/iter (+/- 14)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,004 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,939 ns/iter (+/- 13)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,505 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,865 ns/iter (+/- 60)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,027 ns/iter (+/- 7)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,680 ns/iter (+/- 20)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         994 ns/iter (+/- 7)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,128 ns/iter (+/- 21)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,483 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,309 ns/iter (+/- 40)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,966 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,751 ns/iter (+/- 10)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,026 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,216 ns/iter (+/- 21)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,524 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,622 ns/iter (+/- 28)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,063 ns/iter (+/- 7)

Benchmark Results for ubuntu-x86_64-default

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000009111
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 08:33:15 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       3,714 ns/iter (+/- 6)
test nv12_to_rgb_row/simd/1280 ... bench:         756 ns/iter (+/- 14)
test nv12_to_rgb_row/scalar/1920 ... bench:       5,578 ns/iter (+/- 46)
test nv12_to_rgb_row/simd/1920 ... bench:       1,129 ns/iter (+/- 7)
test nv12_to_rgb_row/scalar/3840 ... bench:      11,655 ns/iter (+/- 95)
test nv12_to_rgb_row/simd/3840 ... bench:       2,259 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1280 ... bench:       3,861 ns/iter (+/- 167)
test nv21_to_rgb_row/simd/1280 ... bench:         773 ns/iter (+/- 0)
test nv21_to_rgb_row/scalar/1920 ... bench:       5,664 ns/iter (+/- 90)
test nv21_to_rgb_row/simd/1920 ... bench:       1,153 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/3840 ... bench:      11,288 ns/iter (+/- 471)
test nv21_to_rgb_row/simd/3840 ... bench:       2,314 ns/iter (+/- 2)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,109 ns/iter (+/- 7)
test rgb_to_hsv_row/simd/1280 ... bench:       3,558 ns/iter (+/- 6)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,180 ns/iter (+/- 22)
test rgb_to_hsv_row/simd/1920 ... bench:       5,336 ns/iter (+/- 21)
test rgb_to_hsv_row/scalar/3840 ... bench:      12,346 ns/iter (+/- 96)
test rgb_to_hsv_row/simd/3840 ... bench:      10,680 ns/iter (+/- 22)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       3,741 ns/iter (+/- 39)
test yuv_420_to_rgb_row/simd/1280 ... bench:         687 ns/iter (+/- 3)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       5,801 ns/iter (+/- 98)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,034 ns/iter (+/- 4)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      11,219 ns/iter (+/- 96)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,053 ns/iter (+/- 16)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,012 ns/iter (+/- 86)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         657 ns/iter (+/- 0)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,032 ns/iter (+/- 14)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:         984 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      12,013 ns/iter (+/- 123)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       1,968 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       3,834 ns/iter (+/- 55)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,210 ns/iter (+/- 1)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       5,756 ns/iter (+/- 24)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,812 ns/iter (+/- 14)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      11,435 ns/iter (+/- 34)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,627 ns/iter (+/- 2)

Benchmark Results for ubuntu-x86_64-native

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: native
  • Runner: GitHub Actions 1000009131
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS: -C target-cpu=native
  • Date: 2026-04-19 08:37:56 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,654 ns/iter (+/- 10)
test nv12_to_rgb_row/simd/1280 ... bench:       1,119 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,694 ns/iter (+/- 320)
test nv12_to_rgb_row/simd/1920 ... bench:       1,675 ns/iter (+/- 2)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,437 ns/iter (+/- 42)
test nv12_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 3)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,651 ns/iter (+/- 105)
test nv21_to_rgb_row/simd/1280 ... bench:       1,116 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,697 ns/iter (+/- 41)
test nv21_to_rgb_row/simd/1920 ... bench:       1,674 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,408 ns/iter (+/- 48)
test nv21_to_rgb_row/simd/3840 ... bench:       3,353 ns/iter (+/- 44)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,656 ns/iter (+/- 160)
test rgb_to_hsv_row/simd/1280 ... bench:       2,599 ns/iter (+/- 12)
test rgb_to_hsv_row/scalar/1920 ... bench:       7,366 ns/iter (+/- 140)
test rgb_to_hsv_row/simd/1920 ... bench:       3,886 ns/iter (+/- 13)
test rgb_to_hsv_row/scalar/3840 ... bench:      14,071 ns/iter (+/- 141)
test rgb_to_hsv_row/simd/3840 ... bench:       7,784 ns/iter (+/- 26)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,557 ns/iter (+/- 146)
test yuv_420_to_rgb_row/simd/1280 ... bench:       1,004 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,878 ns/iter (+/- 33)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,504 ns/iter (+/- 2)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,787 ns/iter (+/- 93)
test yuv_420_to_rgb_row/simd/3840 ... bench:       3,012 ns/iter (+/- 3)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,846 ns/iter (+/- 113)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         991 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,333 ns/iter (+/- 30)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,487 ns/iter (+/- 2)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,799 ns/iter (+/- 38)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,968 ns/iter (+/- 22)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,818 ns/iter (+/- 24)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,023 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,267 ns/iter (+/- 29)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,526 ns/iter (+/- 22)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,592 ns/iter (+/- 45)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,067 ns/iter (+/- 11)

Benchmark Results for ubuntu-x86_64-scalar

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: scalar
  • Runner: GitHub Actions 1000009124
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_force_scalar
  • Date: 2026-04-19 08:36:04 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,739 ns/iter (+/- 141)
test nv12_to_rgb_row/simd/1280 ... bench:       4,747 ns/iter (+/- 122)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,849 ns/iter (+/- 26)
test nv12_to_rgb_row/simd/1920 ... bench:       6,848 ns/iter (+/- 52)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,575 ns/iter (+/- 43)
test nv12_to_rgb_row/simd/3840 ... bench:      13,619 ns/iter (+/- 109)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,685 ns/iter (+/- 31)
test nv21_to_rgb_row/simd/1280 ... bench:       4,485 ns/iter (+/- 19)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,794 ns/iter (+/- 27)
test nv21_to_rgb_row/simd/1920 ... bench:       6,797 ns/iter (+/- 22)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,562 ns/iter (+/- 237)
test nv21_to_rgb_row/simd/3840 ... bench:      13,568 ns/iter (+/- 64)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,576 ns/iter (+/- 10)
test rgb_to_hsv_row/simd/1280 ... bench:       4,572 ns/iter (+/- 8)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,852 ns/iter (+/- 39)
test rgb_to_hsv_row/simd/1920 ... bench:       6,854 ns/iter (+/- 55)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,729 ns/iter (+/- 1,058)
test rgb_to_hsv_row/simd/3840 ... bench:      13,812 ns/iter (+/- 67)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,815 ns/iter (+/- 101)
test yuv_420_to_rgb_row/simd/1280 ... bench:       4,820 ns/iter (+/- 22)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       7,269 ns/iter (+/- 35)
test yuv_420_to_rgb_row/simd/1920 ... bench:       7,271 ns/iter (+/- 53)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,529 ns/iter (+/- 28)
test yuv_420_to_rgb_row/simd/3840 ... bench:      14,560 ns/iter (+/- 37)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,816 ns/iter (+/- 7)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:       4,817 ns/iter (+/- 10)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,271 ns/iter (+/- 27)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       7,278 ns/iter (+/- 33)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,647 ns/iter (+/- 48)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:      14,647 ns/iter (+/- 50)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,626 ns/iter (+/- 31)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       4,625 ns/iter (+/- 15)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,045 ns/iter (+/- 12)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       7,054 ns/iter (+/- 17)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,132 ns/iter (+/- 26)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:      14,127 ns/iter (+/- 34)

Benchmark Results for ubuntu-x86_64-sse41-max

System Information

  • OS: ubuntu-latest
  • Arch: x86_64
  • SIMD tier: sse41-max
  • Runner: GitHub Actions 1000009091
  • Runner arch (GH): X64
  • RUSTFLAGS: --cfg colconv_disable_avx512 --cfg colconv_disable_avx2
  • Date: 2026-04-19 08:30:48 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,641 ns/iter (+/- 20)
test nv12_to_rgb_row/simd/1280 ... bench:         885 ns/iter (+/- 5)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,936 ns/iter (+/- 57)
test nv12_to_rgb_row/simd/1920 ... bench:       1,332 ns/iter (+/- 1)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,901 ns/iter (+/- 65)
test nv12_to_rgb_row/simd/3840 ... bench:       2,664 ns/iter (+/- 4)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,636 ns/iter (+/- 36)
test nv21_to_rgb_row/simd/1280 ... bench:         880 ns/iter (+/- 1)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,916 ns/iter (+/- 32)
test nv21_to_rgb_row/simd/1920 ... bench:       1,324 ns/iter (+/- 31)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,834 ns/iter (+/- 54)
test nv21_to_rgb_row/simd/3840 ... bench:       2,644 ns/iter (+/- 3)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,629 ns/iter (+/- 21)
test rgb_to_hsv_row/simd/1280 ... bench:       2,564 ns/iter (+/- 29)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,947 ns/iter (+/- 26)
test rgb_to_hsv_row/simd/1920 ... bench:       3,849 ns/iter (+/- 11)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,940 ns/iter (+/- 37)
test rgb_to_hsv_row/simd/3840 ... bench:       7,698 ns/iter (+/- 10)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,587 ns/iter (+/- 11)
test yuv_420_to_rgb_row/simd/1280 ... bench:         905 ns/iter (+/- 1)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,946 ns/iter (+/- 31)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,360 ns/iter (+/- 11)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      13,822 ns/iter (+/- 35)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,715 ns/iter (+/- 6)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,622 ns/iter (+/- 108)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         842 ns/iter (+/- 1)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       7,012 ns/iter (+/- 92)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,263 ns/iter (+/- 8)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      14,065 ns/iter (+/- 284)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,525 ns/iter (+/- 5)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,839 ns/iter (+/- 98)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,104 ns/iter (+/- 2)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,318 ns/iter (+/- 64)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,660 ns/iter (+/- 3)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      14,777 ns/iter (+/- 77)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,318 ns/iter (+/- 13)

Benchmark Results for windows-x86_64-default

System Information

  • OS: windows-latest
  • Arch: x86_64
  • SIMD tier: default
  • Runner: GitHub Actions 1000009098
  • Runner arch (GH): X64
  • RUSTFLAGS: ``
  • Date: 2026-04-19 08:33:02 UTC

all

test nv12_to_rgb_row/scalar/1280 ... bench:       4,407 ns/iter (+/- 101)
test nv12_to_rgb_row/simd/1280 ... bench:       1,015 ns/iter (+/- 7)
test nv12_to_rgb_row/scalar/1920 ... bench:       6,625 ns/iter (+/- 165)
test nv12_to_rgb_row/simd/1920 ... bench:       1,524 ns/iter (+/- 13)
test nv12_to_rgb_row/scalar/3840 ... bench:      13,290 ns/iter (+/- 251)
test nv12_to_rgb_row/simd/3840 ... bench:       3,046 ns/iter (+/- 18)
test nv21_to_rgb_row/scalar/1280 ... bench:       4,336 ns/iter (+/- 111)
test nv21_to_rgb_row/simd/1280 ... bench:       1,015 ns/iter (+/- 7)
test nv21_to_rgb_row/scalar/1920 ... bench:       6,552 ns/iter (+/- 44)
test nv21_to_rgb_row/simd/1920 ... bench:       1,524 ns/iter (+/- 5)
test nv21_to_rgb_row/scalar/3840 ... bench:      13,139 ns/iter (+/- 60)
test nv21_to_rgb_row/simd/3840 ... bench:       3,064 ns/iter (+/- 7)
test rgb_to_hsv_row/scalar/1280 ... bench:       4,470 ns/iter (+/- 182)
test rgb_to_hsv_row/simd/1280 ... bench:       2,803 ns/iter (+/- 8)
test rgb_to_hsv_row/scalar/1920 ... bench:       6,701 ns/iter (+/- 80)
test rgb_to_hsv_row/simd/1920 ... bench:       4,210 ns/iter (+/- 77)
test rgb_to_hsv_row/scalar/3840 ... bench:      13,422 ns/iter (+/- 49)
test rgb_to_hsv_row/simd/3840 ... bench:       8,410 ns/iter (+/- 89)
test yuv_420_to_rgb_row/scalar/1280 ... bench:       4,586 ns/iter (+/- 106)
test yuv_420_to_rgb_row/simd/1280 ... bench:         948 ns/iter (+/- 102)
test yuv_420_to_rgb_row/scalar/1920 ... bench:       6,945 ns/iter (+/- 48)
test yuv_420_to_rgb_row/simd/1920 ... bench:       1,420 ns/iter (+/- 143)
test yuv_420_to_rgb_row/scalar/3840 ... bench:      14,016 ns/iter (+/- 734)
test yuv_420_to_rgb_row/simd/3840 ... bench:       2,836 ns/iter (+/- 286)
test yuv420p10_to_rgb_row/u8_scalar/1280 ... bench:       4,517 ns/iter (+/- 57)
test yuv420p10_to_rgb_row/u8_simd/1280 ... bench:         947 ns/iter (+/- 154)
test yuv420p10_to_rgb_row/u8_scalar/1920 ... bench:       6,944 ns/iter (+/- 1,388)
test yuv420p10_to_rgb_row/u8_simd/1920 ... bench:       1,392 ns/iter (+/- 13)
test yuv420p10_to_rgb_row/u8_scalar/3840 ... bench:      13,629 ns/iter (+/- 178)
test yuv420p10_to_rgb_row/u8_simd/3840 ... bench:       2,761 ns/iter (+/- 29)
test yuv420p10_to_rgb_u16_row/u16_scalar/1280 ... bench:       4,724 ns/iter (+/- 337)
test yuv420p10_to_rgb_u16_row/u16_simd/1280 ... bench:       1,016 ns/iter (+/- 21)
test yuv420p10_to_rgb_u16_row/u16_scalar/1920 ... bench:       7,161 ns/iter (+/- 876)
test yuv420p10_to_rgb_u16_row/u16_simd/1920 ... bench:       1,535 ns/iter (+/- 44)
test yuv420p10_to_rgb_u16_row/u16_scalar/3840 ... bench:      16,206 ns/iter (+/- 3,085)
test yuv420p10_to_rgb_u16_row/u16_simd/3840 ... bench:       3,111 ns/iter (+/- 95)

View detailed results

Detailed Criterion results have been uploaded as artifacts. Download them from the workflow run to view charts and detailed statistics.

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.

3 participants