5.8.0 - Hardware deinterlace + send_field
Hardware deinterlace + send_field (#107)
Added
- GPU deinterlacing with smooth field-rate motion. Interlaced broadcast on the software-decode path (MPEG-2 / VC-1 / MPEG-4 and interlaced H.264) now deinterlaces on the GPU via
yadif_videotoolbox(Metal over VideoToolbox frames) and, by default, at field rate (send_field: 25i to 50p) for smooth motion on sport.LoadOptions.deinterlaceMode(default.auto, HW with a software bwdif fallback) anddeinterlaceFieldRate(default.field) are the knobs; no host opt-in needed for the default. The hardware sink emits IOSurface-backed CVPixelBuffers copied GPU-side into the decoder's pool, skipping the sws_scale copy. Requires FFmpegBuild 2.1.0 (transitive), which also carries a patch balancing an over-release of the autoreleased Metal command-buffer/encoder in the upstream VT filter (candidate for ffmpeg-devel). Adopts and thanks @tresby (whose fork this ports) and @nathanpiper.
Fixed
- Coloured teletext no longer renders a leading blank line. libzvbi teletext ASS prefixes a row-positioning newline; the plain path trimmed it, the coloured path did not, so a coloured caption showed a blank line a plain one would not. The colour parser now edge-trims across the run sequence (interior line breaks + colours preserved). Reported by @tresby.
Verified: full suite plus hardware-path tests engaging on macOS Metal (VideoToolbox frames, send_field cadence, PTS contract). tvOS metallib runtime load is device-verified by users. FFmpegBuild 2.1.0's LGPL dynamic-framework packaging is unchanged from 2.0.0.