Skip to content

Latest commit

 

History

History
53 lines (45 loc) · 10.8 KB

PATCHES.md

File metadata and controls

53 lines (45 loc) · 10.8 KB

Native patches

Inputs.lock.json pins source revisions, patch order, platform selection, and checksums. Apple and Android share mpv and FFmpeg revisions but apply different patch sets. The tables explain each change.

mpv

Patch Platforms Purpose
0001-moltenvk-embedding Apple Embed the app-owned Metal layer, pass drawable sizes, and coordinate surface resizing.
0002-apple-audio-portability Apple Enable Apple audio output on iOS and tvOS and guard macOS-only audio APIs.
0003-text-subtitle-interception Apple, Android Expose plain-text subtitle snapshots while leaving styled ASS and bitmap subtitles in mpv.
0004-swift-object-build Apple Build Swift sources into one Mach-O object and preserve explicit include paths.
0005-avfoundation-native-video Apple Add AVFoundation video output with sample-buffer timing, seeking, and subtitle composition.
0006-avfoundation-compressed-audio Apple Add optional AC-3/E-AC-3 playback through AVPlayer with bounded buffering and route recovery.
0007-native-dolby-vision-compatibility Apple Add opt-in lossy Dolby Vision Profile 7 conversion with decoder and output checks.
0008-bounded-hardware-decoder-recovery Apple Limit recovery attempts after a working native VideoToolbox HEVC decoder fails.
0009-native-hdr-color-metadata Apple Preserve native HDR color metadata and apply HDR subtitle luminance.
0010-apple-rendering-quality Apple Add Apple color-output handling, live surface updates, and rendering diagnostics.
0011-native-subtitle-image-cache Apple Reuse converted native subtitle images until the subtitle bitmap changes.
0012-text-subtitle-queries Apple, Android Query complete text-subtitle tracks with cue times, cancellation, and paused updates.
0013-subtitle-roles Apple, Android Include track identities and primary or secondary roles in text-subtitle snapshots.
0014-webp-animation-duration Apple, Android Include the final animated WebP frame in duration estimates.
0015-apple-spatial-audio Apple Add Spatial Audio settings and diagnostics, preserve session ownership and pause state, and fall back to PCM for audio processing.
0016-native-audio-clock-wakeup Apple Keep playback position and relative seeks accurate during native compressed audio playback.
0017-track-switch-buffering Apple Preserve buffered audio and video during track refresh seeks.
0018-simulator-frame-upload Apple Copy CPU frame uploads into Metal-owned buffers on Apple simulators.
0006-mpv-dovi-yuv Android Connect decoded Dolby Vision frames to libplacebo through OpenGL ES.
0008-mpv-gles-bitmap-subtitles Android Support bitmap subtitle textures on OpenGL ES devices without native BGRA texture support.
0019-avfoundation-buffer-reuse-and-subtitle-compositing Apple Reuse frame buffers and color metadata, and reduce work when composing native subtitles.
0020-unavailable-pixel-aspect-ratio Apple, Android Omit unavailable pixel aspect ratios so invalid values don't trigger repeated state updates.

FFmpeg

Patch Platforms Purpose
0001-apple-pixelbuffer-compatibility Apple Create VideoToolbox buffers compatible with Metal and Core Animation.
0002-native-dolby-vision Apple Preserve supported native Dolby Vision metadata and associate it with its decoder session.
0003-native-dolby-vision-compatibility Apple Add optional libdovi Profile 7 conversion and forward the converted RPU metadata.
0004-hevc-diagnostic-levels Apple Reduce duplicate HEVC diagnostic messages.
0005-apple-dynamic-hdr-diagnostics Apple Preserve HDR10+ metadata, submit compressed Dolby Vision Profile 8 metadata as standalone RPUs, and route native HDR diagnostics to the owning player.
0001-mediacodec-dolby-vision Android Select MediaCodec Dolby Vision decoders for supported native output.
0002-mediacodec-stall-recovery Android Bound decoder stalls so playback can recover through software decoding.
0003-mediacodec-inband-dolby-vision Android Recognize Dolby Vision metadata in streams without container signaling.
0004-mediacodec-profile7-compatibility Android Permit opt-in lossy Profile 7 conversion to Profile 8.1 for native output.
0005-mediacodec-dovi-gpu Android Pass supported hardware-decoded Dolby Vision frames and metadata to GPU output.

libplacebo

Patch Platforms Purpose
0007-libplacebo-yuv-target Android Sample external YUV textures while retaining source color information.

See AVFoundation credits for imported source attribution and license notices.