Initial public beta release for Apple Silicon. Introduces the Metal SDR → HDR highlight expansion compute pipeline, resolves six upstream HDR defects, introduces the redesigned 8-pane settings architecture, and integrates native macOS system materials.
SDR → HDR Highlight Expansion
- Metal Compute Pipeline (
VLCHDRExpander): Implemented an 895-line Metal compute shader that re-encodes standard dynamic range (SDR) video into 10-bit PQ / BT.2020 in real time. - Preserved Mid-Tones and Hue: The expansion curve is the identity at and below a knee at half SDR white (50%), transitioning into a quadratic curve above the knee matching value and slope. Scaling is applied to the maximum RGB component, ensuring hue and saturation never shift.
- Measured Benchmark Performance: Benchmarked on Apple M3 Max at 0.53 ms per frame for 1080p and 0.91 ms per frame for 4K video, including synchronous display synchronization. Wall-clock runtimes match baseline playback with zero memory drift.
- Live Headroom Clamping: Dynamic boost is user-adjustable from 1.0× (disabled) to 16.0× (default 4.0×), automatically clamped to the connected display’s real physical headroom. Transitions apply instantly to the current frame mid-playback.
Upstream HDR Defect Fixes
- Multi-Display Headroom Tracking: Resolved an upstream issue where display brightness headroom was sampled once from the primary display. Headroom is now re-measured whenever a window moves between displays or color profiles change.
- Live Preference Wiring: Fixed non-functional HDR controls in Preferences. The HDR mode selector and boost sliders now apply immediately during playback.
- SDR Tone-Mapping Path: Implemented a dedicated conversion path to gracefully compress HDR content on standard SDR displays, eliminating flat-white clipping.
- BT.2408 Subtitle Luminance Clamping: Fixed subtitles rendering at peak display luminance. Subtitles are now anchored to SDR and mapped to the ITU-R BT.2408 203-nit reference white level.
- High-Bit-Depth Preservation: Prevented 12-bit and 16-bit video sources from being downsampled to 8-bit. Full 10-bit display output is preserved, with 16-bit 4:2:2 wired cleanly through the pipeline.
- Sub-4K Stream Color Tagging: Corrected wide-gamut and mastering metadata tagging on sub-4K HDR files, ensuring correct color primaries on all streams.
Hardware Decode & Performance Enhancements
- Hardware AV1 on M3 & M4: Integrated VideoToolbox hardware-accelerated AV1 decoding on Apple Silicon M3 and M4 chips, with automatic software fallback for M1 and M2 processors.
- HDR10+ Dynamic Metadata: Added passthrough support for HDR10+ metadata packets across the video filter graph.
- Dolby Vision Stream Extraction: Hardened VideoToolbox bitstream parsers, fixing an upstream defect where Dolby Vision metadata was dropped due to a stray bit on the initial frame.
- ARM64 NEON Optimization: Replaced scalar software-decode loops with hand-optimized ARM64 NEON vector instructions for chroma conversion.
- OpenGL Core Profile for libplacebo: Enabled OpenGL 4.1 / 3.2 Core profiles with 64-bit color, unblocking advanced shader stages and resolving legacy version errors.
- Display Metadata Passthrough: Fixed ST 2086 mastering-display and CTA-861.3 content-light-level metadata forwarding to macOS display services.
- Per-Window Color Matching: Calibrated rendering to the ICC profile of the specific screen containing the playback window.
Redesigned Settings Architecture
- Unified 8-Pane Window: Replaced legacy preferences with a single structured window featuring a category sidebar and real-time search across labels, descriptions, and keywords.
- Plain-Language Impact Descriptions: Every control now features a clear explanation of what you will see or hear (e.g., “highlights keep detail but the picture is dimmer overall” rather than raw technical jargon).
- Guarded Configuration Reads: Wrapped all 240 preference lookups in guarded handlers, eliminating an upstream application abort caused by missing keys in the interface pane.
- Power User Access: Preserved access to the complete low-level upstream libVLC configuration tree via an expandable disclosure.
- Self-Validating Startup: Implemented an automated verification pass on launch (8 panes verified, 8 ok, 0 failed).
macOS Integration & System Materials
MacLCDesignToken Layer: Unified colors, typography, radii, and spacing into semantic tokens tied directly to macOS system appearances.- Native AppKit Sidebar: Integrated a true source-list sidebar with native vibrancy, materials, and collapse behaviors.
- HUD Playback Controls: Introduced floating on-screen transport controls with SF Symbol-style iconography and tabular-num timecodes to prevent visual jitter.
- 8-Point Layout Grid: Normalized interface metrics to an 8-point grid, raising click targets from 25 pt to 32 pt.
- Built-in Accessibility: Native compliance with Reduce Motion, Increase Contrast, Reduce Transparency, and VoiceOver without custom overrides.
Identity & Isolation
- Isolated Bundle Identifier: Assigned
org.maclc.MacLC, preventing dock and Stage Manager collisions with existing VLC installations. - Non-Destructive Configuration Migration: On initial launch, existing VLC preferences and Application Support directories are safely copied, leaving original files unchanged.
- Programmatic Superellipse Icon: Original app icon designed on Apple’s 824/1024 grid, rendered with an amber highlight bloom and specular edge.
- Preserved Localizations: Retained all upstream translations with post-processed application naming.
Stability & Lifecycle Fixes
- Clean Process Teardown: Fixed an upstream use-after-free crash occurring consistently on application quit.
- Deadlock Resolution: Eliminated thread deadlocks and playback stalls during rapid media switching.
- Channel & Layer Fixes: Corrected swapped subtitle audio routing, dangling display references, and infinite Core Animation layer wait conditions.