Skip to content

Add per-picture SEI payload injection API - #169

Merged
mpeg5 merged 2 commits into
masterfrom
sei_injection
Aug 7, 2026
Merged

Add per-picture SEI payload injection API#169
mpeg5 merged 2 commits into
masterfrom
sei_injection

Conversation

@kpchoi

@kpchoi kpchoi commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Adds a public API to attach SEI payloads (HDR10 mastering display / content
light level, HDR10+ and other ITU-T T.35 messages, etc.) to individual
pictures, so callers like the FFmpeg wrapper can pass HDR metadata through.

Usage: fill an XEVE_SEI list and set imgb->pdata[XEVE_IMGB_SEI_SLOT] /
imgb->ndata[XEVE_IMGB_SEI_SLOT] = XEVE_SEI_MAGIC before xeve_push(). The
payloads are deep-copied during the push, carried through frame reordering,
and written as prefix SEI NAL units (one per payload) into the access unit of
that picture. Payload bytes are passed through as-is; the library only does
the sei_message framing. The existing spare ndata/pdata fields are used, so
the ABI is unchanged; the internal SEI type/struct definitions move to the
public header.

Also includes a README pass: SEI usage in the programming guide, typo fixes
(libxexe -> libxeve), fps option now documented as accepting fractions, and a
note that ARM hosts no longer need the cross-compile flags.

Verified with an encode/decode round trip against the xevd counterpart
(mpeg5/xevd#94): 16 frames with per-frame T.35 + MDCV payloads and bframes=15
come back frame-accurate on the decoder side; streams without SEI are
bit-exact with master; MAIN/BASE and x86/aarch64 builds pass; decoder-side
AddressSanitizer run is clean.

kpchoi added 2 commits August 7, 2026 19:12
Signed-off-by: KP Choi <kp5.choi@samsung.com>
Signed-off-by: KP Choi <kp5.choi@samsung.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

@mpeg5
mpeg5 merged commit b999553 into master Aug 7, 2026
6 checks passed
@kpchoi
kpchoi deleted the sei_injection branch August 8, 2026 05:11
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