| | Concrete IMatSource that drives an injected IFrameGrabber and an optional IFrameOrientationCorrector. Owns _frameMat, a lazy _rotatedBuffer used only for user 90-degree rotation, and a lazy orientation scratch used only when orientation correction needs a swapped-size buffer and the output color format differs from the grabber. When user rotation is off, _rotatedBuffer is released. When the orientation scratch is not required, it is released. Grabber frames from IFrameGrabber.TryGrab are treated as read-only. Implements IMatTransformable only; IMatUpdateFPSControllable is implemented by derived sources such as ImageFileMatSource and by integration-layer mat sources that throttle texture readback. Also implements IMatSourceEvents, IMatSourceTickable, IMatSourceReinitializable, and IMatSourceDerivedFrames for host event subscription, per-tick acquisition, source-swap re-initialization, and derived frame registration. More...
|