Lightningbeam/lightningbeam-ui
Skyler Lehmkuhl 2564d807a0 Convert export frames RGBA->YUV420p on the GPU
The export read back 8MB RGBA per frame and ran swscale RGBA->YUV420p on
the UI thread (~6ms/frame). Add a tight GPU compute converter (gpu_yuv,
BT.709 full-range matching the encoder tags) and wire it into the
triple-buffered ReadbackPipeline: render to RGBA, convert on the GPU, read
back ~3MB of planar YUV, and skip the CPU pass. Gated on a runtime check
that the encoder's YUV420P plane strides are tight (no linesize padding),
with the swscale path as fallback for other dimensions; LB_DISABLE_GPU_YUV
forces the CPU path. Includes a CPU reference + unit tests for the packing.

Also guard render_next_video_frame against re-initializing/re-emitting
"Complete" every frame after the render finishes while the encoder/mux
drains (the completion nulled gpu_resources but left video_state set).
2026-06-23 19:06:47 -04:00
..
beamdsp Code cleanup 2026-02-19 11:19:44 -05:00
egui_node_graph2 highlight node connections directly 2026-02-20 11:13:34 -05:00
lightningbeam-core Composite grouped/nested video on the GPU path 2026-06-22 17:38:30 -04:00
lightningbeam-editor Convert export frames RGBA->YUV420p on the GPU 2026-06-23 19:06:47 -04:00
.gitignore Add Rust desktop UI with Blender-style pane system 2025-11-12 06:13:00 -05:00
Cargo.lock Pack video into .beam and stream frames + audio from the blob 2026-06-22 09:17:10 -04:00
Cargo.toml Add amp sim 2026-02-21 09:43:03 -05:00
build-static.sh Video export 2025-12-07 13:17:21 -05:00
build-windows.bat windows build fixes 2026-02-24 14:40:16 -05:00