Vision

Images, video, capture, and models on one GPU-first path.

OA Vision combines 50 schema-owned image operations, Vulkan Video decode and encode, timestamped capture, media containers, and direct OaMatrix interoperability.

50 image operationsH.264 · H.265 · AV1 · VP9 decodeCapability-gated codecs
Vision model interview scene
Vision

The frame contract

OaVideoFrame carries the image or buffer resource, format, dimensions, presentation timestamp, color metadata, and GPU completion token. Decode, capture, processing, display, and encode use that same contract instead of copying through an intermediate CPU frame abstraction.

Image operations

The public inventory is generated from Vision schemas; complex graph lowering remains handwritten and tested.

Vulkan Video

Codec support and resource paths are selected from device capabilities, queue topology, formats, and profile limits.

Media sessions

OaVideo provides open, next, seek, flush, playback state, frame reordering, and optional synchronized audio.

ML interop

CurrentFrameToMatrix and OaFnImage preserve the direct path from decoded or captured imagery to model input.

Operation families

FamilyCoverage
PixelThresholding, range tests, clamp, inversion, tone controls, compositing, channel operations, and noise.
GeometricResize, crop, flip, rotate, pad, remap, affine warp, and perspective warp.
FilterConvolution, blur, Sobel, Scharr, Laplacian, morphology, bilateral, sharpening, and adaptive thresholding.
ColorPer-channel normalization plus semantic image color conversion.

Matrix to image operation

The examples use only calls present in the current C++ surface and oa.vision bindings.

Vision_ops.cpp

OaMatrix image = OaFnMatrix::Rand(OaMatrixShape{1, 3, 1080, 1920});
OaMatrix resized = OaFnImage::Resize(image, 640, 640, OaInterpolationMode::Bilinear);
OaMatrix edges = OaFnImage::Sobel(resized, 1, 0, OaBorderMode::Reflect);
OaContext::GetDefault().Execute();
OaContext::GetDefault().Sync();

Codec boundary

FormatRouteOutput contract
H.264 / AVCVulkan Video when supportedTimestamped NV12 or converted RGBA frame
H.265 / HEVCVulkan Video when supportedTimestamped NV12 or converted RGBA frame
AV1Vulkan Video when supportedTimestamped NV12 or converted RGBA frame
VP9Vulkan Video when supportedTimestamped NV12 or converted RGBA frame
JPEG / PNGFile decode and GPU uploadTexture, image planes, or OaMatrix

Support is queried at runtime. A listed codec is part of the OA implementation surface; it is not a claim that every Vulkan device exposes every profile, format, or queue route.