hardware-acceleration

2 posts

discord

Discord Patch Notes: March 6, 2026 (opens in new tab)

Discord’s March 6, 2026 patch focuses on safer mentions, faster desktop startup, accessibility, and a broad collection of platform-specific bug fixes. Escaped `@everyone` and `@here` mentions are now correctly ignored by the backend, preventing accidental mass notifications. Discord also reports an 11.8% median improvement in desktop time-to-interactive after changing API payload ordering. ## Safer Mention Handling - Escaped mentions such as `\@everyone` previously appeared harmless in the client but could still notify roles when sent. - Backend handling now respects escape characters for `@everyone` and `@here`, ensuring these messages do not trigger mentions. - The change addresses cases where users received no warning before unintentionally notifying large server populations. ## Desktop Performance - Discord changed the order of API payloads sent to desktop clients. - The update reduced median launch time, or p50 time-to-interactive, by 11.8%. - The improvement builds on navigation performance work released the previous week. ## Accessibility Improvements - Discord completed a broad accessibility pass covering Quest, Events, Profiles, Activities, and Nitro surfaces. - The changes are intended to improve screen-reader navigation and usability across these areas. ## General and Platform Fixes - Non-Nitro users can once again forward messages containing large attachments from Nitro users. - iOS startup times after a full device restart were fixed; an asset request had been competing with the busy boot-time background queue. - Mobile animations no longer remain stuck mid-transition. - League of Legends game invites and Overlay “Join” invites were repaired. - Android fixes include the Forest theme gradient, duplicate server-invite information, modal layering, role colors, and server-onboarding alignment. - Search-result keyboard selection no longer remains stuck on the first item. - Desktop fixes address private-channel role setup, oversized hyperlinks, broken embeds, Quick Switcher shortcuts, tooltip links, and copying webhook URLs without confirmation. - Server administration fixes include role sorting, role-selector scrolling, onboarding dropdown positioning, audit-log deletion reasons, permission-panel alignment, and non-removable role controls. - iOS fixes restore back-swipe navigation, correct switch styling, reduce overly aggressive settings scrolling, and prevent the device from being kept awake unnecessarily. - Browser and mobile layout issues were corrected across server lists, profiles, Nitro Home, boost flows, and message controls. Discord recommends trying the iOS TestFlight build for early features and reporting remaining bugs through the community bug megathread. Fixes had been merged but could still be rolling out gradually across platforms.

meta

FFmpeg at Meta: Media Processing at Scale (opens in new tab)

FFmpeg is central to Meta’s media infrastructure, running tens of billions of times daily. Meta’s heavily modified internal fork became difficult to maintain as upstream FFmpeg evolved, so the company collaborated with the FFmpeg community to upstream key capabilities. Threaded multi-lane transcoding and real-time quality metrics now allow Meta to rely entirely on upstream FFmpeg for VOD and livestreaming. ## Moving Away from an Internal FFmpeg Fork - Meta’s fork had diverged substantially from upstream while supporting specialized requirements. - Maintaining both the fork and newer open-source FFmpeg versions created: - Divergent feature sets - Difficult rebases - Increased regression risk - Collaboration with FFmpeg developers, FFlabs, and VideoLAN enabled the needed functionality to be integrated upstream. ## More Efficient Multi-Lane Transcoding - Meta creates multiple DASH encodings for each uploaded video, varying resolution, codec, framerate, and quality. - Running separate FFmpeg processes wastes resources by repeatedly decoding the same source and starting multiple processes. - A single FFmpeg command can decode once and send frames to multiple encoder instances. - Earlier FFmpeg versions still processed those encoders serially for each frame. - Improved parallel encoder threading, introduced from FFmpeg 6.0 and completed in FFmpeg 8.0, allows encoder instances to run concurrently. - The change reduces compute overhead across Meta’s more than one billion daily video uploads. ## Real-Time Quality Metrics for Livestreaming - Metrics such as PSNR, SSIM, and VMAF measure compression-related visual quality loss. - Traditional FFmpeg workflows calculate these metrics after encoding, which is unsuitable for live video. - Meta needed a decoder after each encoder to reconstruct compressed frames and compare them with the original frames during processing. - FFmpeg’s “in-loop” decoding, available beginning in FFmpeg 7.0, enables real-time per-lane quality measurement within one command. ## Deciding What to Upstream - Meta aims to upstream changes that provide broad value to FFmpeg users. - Infrastructure-specific patches are kept internal when they cannot be reasonably tested or used by the wider community. - Meta’s custom MSVP transcoding ASIC is integrated through FFmpeg’s standard hardware APIs, alongside NVIDIA, AMD, and Intel technologies. - Because external developers cannot access MSVP hardware, Meta maintains and validates those internal patches itself. ## Continued Investment in FFmpeg - Upstream improvements allowed Meta to retire its internal fork for all VOD and livestreaming pipelines. - Standardized hardware interfaces make it easier to combine specialized ASICs with software-based encoding and decoding. - Meta plans to continue contributing to FFmpeg to improve efficiency, reliability, codec support, and media experiences across the industry. Meta’s experience demonstrates that upstreaming broadly useful infrastructure improvements can reduce long-term maintenance costs while strengthening the entire FFmpeg ecosystem.