Struct ndi::VideoData [−][src]
pub struct VideoData { /* fields omitted */ }
Expand description
Describes a video frame
Implementations
The width of the frame expressed in pixels.
Note that, because data is internally all considered in 4:2:2 formats, image width values should be divisible by two.
The FourCC pixel format for this buffer.
See FourCCVideoType
for details on possible values
The numerator of the framerate of the current frame.
The framerate is specified as a numerator and denominator, such that the following is valid:
let frame_rate = (frame_rate_N as f32) / (frame_rate_D as f32);
The denominator of the framerate of the current frame.
The framerate is specified as a numerator and denominator, such that the following is valid:
let frame_rate = (frame_rate_N as f32) / (frame_rate_D as f32);
The framerate of the current frame.
The SDK defines picture aspect ratio (as opposed to pixel aspect ratios).
When the aspect ratio is 0.0 it is interpreted as xres/yres, or square pixel; for most modern video types this is a default that can be used.
The frame format type of a video
The timecode of this frame in 100 ns intervals.
This is generally not used internally by the SDK
but is passed through to applications, which may interpret it as they wish.
See Send
for details
The video data itself laid out linearly in memory
The memory is laid out in the FourCC format returned by four_cc()
.
The number of bytes defined between lines is specified in line_stride_in_bytes()
This is the inter-line stride of the video data, in bytes.
The size of the p_data buffer in bytes.
A per frame metadata stream that should be XML
It is sent and received with the frame.
A per-frame timestamp filled in by the NDI SDK using a high precision clock.
This is only valid when receiving a frame. It represents the time (in 100 ns intervals measured in UTC time, since the Unix Time Epoch 1/1/1970 00:00 of the exact moment that the frame was submitted by the sending side If this value is None then this value is not available.