Skip to content

Progressive encoding Q10 size diff ~2.8% vs C++ jpegli #23

@lilith

Description

@lilith

Bug

Progressive encoding at Q10 produces ~2.8% larger files than C++ jpegli reference, exceeding the 2% tolerance threshold. Affects all subsampling modes.

Tests:

cargo test --release -p zenjpeg --features __ffi-tests --test quality_matrix -- test_ycbcr_420_progressive --ignored
cargo test --release -p zenjpeg --features __ffi-tests --test quality_matrix -- test_ycbcr_422_progressive --ignored
cargo test --release -p zenjpeg --features __ffi-tests --test quality_matrix -- test_ycbcr_440_progressive --ignored
cargo test --release -p zenjpeg --features __ffi-tests --test quality_matrix -- test_ycbcr_444_progressive --ignored

Symptoms:

  • YCbCr 4:2:0 Progressive Q10: Size diff 2.8% (rust=117109, ref=113877)
  • YCbCr 4:2:2 Progressive Q10: Size diff 2.9% (rust=128954, ref=125348)
  • YCbCr 4:4:0 Progressive Q10: ~2.8%
  • YCbCr 4:4:4 Progressive Q10: ~2.8%
  • Higher quality levels (Q50+) are within tolerance

Context: Pre-existing issue surfaced by enabling __ffi-tests in CI. The size difference is at very low quality (Q10) only, likely from Huffman table or DCT rounding differences.

File: zenjpeg/tests/quality_matrix.rs:691

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions