FOnline Engine
Current master GitHub
Documentation Docs/en/reference/video/decoding.md

Video Decoding Contract

Generated reference. Do not edit directly. Update BuildTools/VideoInterface.json, then run python BuildTools/docs_video.py --write.

Index Formats Delivery Decoding Fullscreen Embedded Validation Canonical JSON Guide
Stable ID Rule Requirement Why Source
video.decoding.ogg-pages Ogg page and packet ingestion Treat the input as Ogg pages read into the sync layer in 1024-byte portions and support at most ten simultaneously discovered logical streams. DecodePacket owns a fixed ten-stream state table and copies bounded portions from the in-memory resource. Source/Client/VideoClip.cpp
video.decoding.headers Theora header selection Provide a stream whose headers are accepted by th_decode_headerin and whose setup can allocate a decoder context. Construction fails when packet seeking, setup data, or decoder allocation fails. Source/Client/VideoClip.cpp
video.decoding.frame-clock Clock-derived frame selection Author valid fps numerator and denominator metadata; frame selection derives the target frame from elapsed monotonic time and decoder cost. RenderFrame multiplies elapsed seconds by the Theora fps ratio and decodes the positive frame difference. Source/Client/VideoClip.cpp
video.decoding.pixel-formats Supported chroma subsampling Use TH_PF_420, TH_PF_422, or TH_PF_444; any other Theora pixel format stops playback. The CPU conversion chooses chroma divisors only for those three enum values. Source/Client/VideoClip.cpp
video.decoding.rgba-output CPU RGBA output Expect each decoded frame to be converted from YCbCr to opaque RGBA on the CPU before texture upload. RenderFrame writes clamped RGB components and alpha 0xFF into RenderedTextureData. Source/Client/VideoClip.cpp
video.decoding.error-stop Decode failure stops playback Treat malformed frame data, color output failure, unsupported pixel format, and end-of-stream as stop conditions and inspect client logs. Frame errors log and call Stop; end-of-stream also stops the clip. Source/Client/VideoClip.cpp
video.decoding.no-container-audio No container-audio decode Do not rely on an audio stream embedded in the Ogg video; author audio as a separate client music resource when needed. VideoClip links Theora packet decoding only, while fullscreen pairing starts AudioManager music from the path after a vertical bar. Source/Client/VideoClip.cpp, Source/Client/Client.cpp
Start typing to search.