Skip to content

2.2.0

Choose a tag to compare

@superuser404notfound superuser404notfound released this 21 Jul 10:10

Changed

  • matroska: the TrackTimestampScale clamp is replaced by a warn-only patch (patch_ffmpeg_matroska_tts). Upstream review of our proposed FFmpeg patch (FFmpeg PR 23852) showed the 2.1.2 clamp rested on a wrong reading of RFC 9559: Block/SimpleBlock relative timestamps and BlockDuration are Track Ticks (sections 11.1.3, 11.2, 5.1.3.5.3), absolute time is (cluster + rel x TTS) x TimestampScale, and upstream matroskadec implements exactly that. There is no hybrid axis; the file that motivated the clamp was authored on the segment axis and is invalid per RFC, while a conformant TTS != 1 file was mistimed by the clamp. Timestamp behavior now stays exactly as upstream implements it; the patch only logs TrackTimestampScale %f applied per RFC 9559; many readers ignore this element and files may be authored against them. so the deprecated, rarely honored element is surfaced instead of silent. See AetherEngine issue #145.
  • pgssub: the Epoch-Continue patch rationale is aligned with upstream review (FFmpeg PR 23851; comments only, no behavior change): an Epoch Continue set marks a seamless connection between two clips and a conformant set re-conveys everything it references, so skipping the flush is output-neutral for conformant streams and error resilience for non-conformant bare PCS+WDS+END sets.

No dependency changes; FFmpeg stays at n8.1.2, dav1d 1.5.1, zimg 3.0.5, zvbi 0.2.44.