Skip to content

Support seeking in raw EVC streams - #165

Merged
mpeg5 merged 1 commit into
mainfrom
support_raw_evc_seeking
Sep 18, 2026
Merged

mpeg5 merged 1 commit into
mainfrom
support_raw_evc_seeking

Conversation

@kpchoi

@kpchoi kpchoi commented Sep 17, 2026 •

Copy link
Copy Markdown
Owner

Seeking in raw EVC streams did not work and could crash the decoder.

  • evc_parser: a CRA picture (non-IDR I slice) is a random access point;
    mark it as a key frame so open-GOP streams get more than one index entry
  • evcdec: cache SPS/PPS and re-inject them after a seek (raw streams carry
    them only once), flush the BSF, restart the access-unit counter at the
    seek point, and stamp pts shifted by the reorder delay so the core does
    not discard the dts of reordered streams
  • libxevd: add a flush callback that recreates the decoder on seek, and
    return EAGAIN instead of an empty frame when an access unit produced no
    frame

Requires mpeg5/xevd#98.

Signed-off-by: KP Choi <kpchoi@users.noreply.github.com>

@mpeg5 mpeg5 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.
This PR is for random access of RAW EVC stream.
The random access for isobmff file is also required later.

@mpeg5
mpeg5 merged commit 7e7155b into main Sep 18, 2026
4 checks passed
@mpeg5
mpeg5 deleted the support_raw_evc_seeking branch September 18, 2026 04:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants