Skip to content

2.1.1 - pgssubdec Epoch Continue retain

Choose a tag to compare

@superuser404notfound superuser404notfound released this 19 Jul 14:09

Fixed

  • pgssubdec no longer flushes retained palettes/objects on an Epoch-Continue PCS (patch_ffmpeg_pgssub in build.sh, applied to the FFmpeg n8.1.2 source before compilation). Upstream FFmpeg releases the retained decoder state for ANY composition_state != Normal, including 0xC0 Epoch Continue. Per PGS semantics Epoch Continue means the previous epoch continues across a connection point, so a bare Epoch-Continue display set (PCS+WDS+END with no PDS/ODS retransmit) legitimately references retained state; upstream dropped such sets whole with "Invalid palette id 0", and because PGS end times are closed by the successor cue, the predecessor cue overstayed. The flush is now skipped for Epoch Continue only; Acquisition Point and Epoch Start (self-contained restatements by spec) keep flushing. Upstream FFmpeg master still carries the old behavior. Fixes AetherEngine #142, reported by cmcpherson274.

Only the Libavcodec xcframework binaries changed; all other frameworks are unchanged apart from repackaging metadata. FFmpeg base stays n8.1.2.