wai-rs: jpegai_pipeline::efl_chroma — EFE linear cross-component post-filter #11

Merged
dcharlot merged 1 commit from feat/jpegai-efl into main 2026-07-14 09:45:18 -04:00
Owner

Third pixel-domain post-filter — a per-plane linear luma-into-chroma combine:

out = w_uv·(x - mean) + w_y·y + mean

w_uv = chroma self-gain about the plane mean, w_y = luma cross-gain, mean = chroma plane mean. Luma unchanged. The reference multi-tap per-plane linear model reduces to this 1-tap form for the reconstructed image.

Validated vs the reference fixture, both chroma planes: max|Δ| = 1.5e-5 (f32-vs-f64). Plus unit tests.

Third pixel-domain post-filter — a per-plane linear luma-into-chroma combine: ``` out = w_uv·(x - mean) + w_y·y + mean ``` `w_uv` = chroma self-gain about the plane mean, `w_y` = luma cross-gain, `mean` = chroma plane mean. Luma unchanged. The reference multi-tap per-plane linear model reduces to this 1-tap form for the reconstructed image. **Validated vs the reference fixture, both chroma planes: max|Δ| = 1.5e-5 (f32-vs-f64).** Plus unit tests.
Third pixel-domain post-filter — a per-plane linear cross-component (luma-into-chroma)
combine:

  out = w_uv·(x - mean) + w_y·y + mean

`w_uv` is the chroma self-gain about its plane mean, `w_y` the luma cross-gain, `mean`
the chroma plane mean. The luma plane is left unchanged. (The reference's multi-tap
per-plane linear model reduces, for the reconstructed image, to this 1-tap form —
verified against the fixture.)

Validated against the reference fixture, both chroma planes: max|Δ| = 1.5e-5
(f32-vs-f64). Plus unit tests for the cross-component combine and the w_uv=0 collapse.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transaction-Science/open-standards!11
No description provided.