Lightningbeam/lightningbeam-ui/gpu-video-encoder/src
Skyler Lehmkuhl 9411145ce9 export: H.264 color range toggle (fix dark/oversaturated output)
The zero-copy VAAPI encoder emitted full-range BT.709 NV12 but wrote no color
tags, so players assumed limited range and stretched it — the H.264 output
looked dark and oversaturated (preview and VP9/software were fine).

- Rgba2Nv12 takes `full_range` and applies the matching Y/chroma scale+offset
  (limited 16-235 / full 0-255) via a uniform; the encoder sets color_range +
  bt709 colorspace/primaries/transfer tags to match. ffprobe-confirmed.
- New ColorRange { Limited, Full } on VideoExportSettings (default Limited, the
  universally-correct choice; serde(default) so saved settings still load),
  surfaced as a "Color range" dropdown in advanced export settings for H.264.

The swscale software fallback still emits Limited regardless of the toggle
(Full only affects the VAAPI zero-copy path).
2026-06-26 00:38:19 -04:00
..
dmabuf.rs gpu-video-encoder: mux the zero-copy encode into a container file 2026-06-25 15:43:39 -04:00
encoder.rs export: H.264 color range toggle (fix dark/oversaturated output) 2026-06-26 00:38:19 -04:00
lib.rs gpu-video-encoder: complete zero-copy H.264 encode pipeline 2026-06-23 19:28:57 -04:00
nv12.rs Add gpu-video-encoder crate: zero-copy VAAPI encode (validated) 2026-06-23 19:07:37 -04:00
render_nv12.rs export: H.264 color range toggle (fix dark/oversaturated output) 2026-06-26 00:38:19 -04:00
vaapi.rs gpu-video-encoder: VAAPI driver retry, Vello-capable device, Send 2026-06-25 18:15:05 -04:00
vk_device.rs gpu-video-encoder: VAAPI driver retry, Vello-capable device, Send 2026-06-25 18:15:05 -04:00