Skip to content

Add owned frame preprocessing and optional bounded video decoding - #1149

Draft
Baiju Meswani (baijumeswani) wants to merge 1 commit into
baijumeswani/bounded-tokenizerfrom
baijumeswani/video-preprocessing
Draft

Baiju Meswani (baijumeswani) wants to merge 1 commit into
baijumeswani/bounded-tokenizerfrom
baijumeswani/video-preprocessing

Conversation

@baijumeswani

Copy link
Copy Markdown
Contributor

Summary

Add reusable owned RGB frame inputs and optional bounded local-file video loading to the Extensions preprocessing API. Model-specific prompt formatting, temporal positions, scheduling and feature replacement remain in GenAI.

  • Validate frame geometry, storage extents, presentation times and limits before copying pixels; retain independent owned RGB storage.
  • Apply shared transforms before temporal packing, including resolved image/frame geometry and source-compatible tensor/OpenCV cubic coefficient modes.
  • Add opt-in OCOS_ENABLE_VIDEO_DECODER loading with an externally supplied shared FFmpeg 8.x SDK. Caller-frame preprocessing remains usable without the decoder.
  • Preserve authoritative presentation timestamps, distinct-frame selection and target correspondence. Bound file/read bytes, packets, decoded frames, output frames, geometry and decode deadline; reject unsupported external references and profiles.
  • Include synthetic codec fixtures with generation commands, hashes and presentation-time provenance.

Dependencies

This draft is based on the bounded-tokenizer prerequisite #1148. Its diff contains media preprocessing and decoding only.

Validation

The committed Linux decoder-enabled candidate passes all 45 targeted processor/video-loading cases, including image regressions, temporal packing, geometry/ownership failures, VFR and B-frame selection, audio ignoring, orientation, truncation and quota handling.

Decoder-disabled execution is also validated before publication, preserving frame support and API symbols without a file-decoding dependency.

The integrated GenAI candidate has passing Qwen/Flash functional matrices and reduced-Ling lifecycle evidence. These are not claims of complete source numerical qualification or full Ling execution.

Draft status

Windows shared-library ABI, codec SDK packaging and runtime execution remain to be performed on the separate Windows machine. This draft does not claim complete model quality qualification.

Provide owned RGB frames, authoritative timestamps, resolved patch preprocessing and source-compatible resize modes. Add opt-in shared FFmpeg loading with bounded selection, decode work and geometry.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a32500b6-be93-4206-a257-11406b00a3f3
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.

1 participant