Loading...
Searching...
No Matches
Video::ImageFormat Struct Reference
Inheritance diagram for Video::ImageFormat:
Video::VideoMetadata Video::VideoInterface Video::VideoThumbnailer Video::ExternalInput Video::VideoDecoder Gfx::GPhoto2::gphoto2_decoder Gfx::GStreamer::gstreamer_video_decoder Gfx::Kinect2::kinect2_decoder Gfx::PipeWire::InputStream Video::CameraInput Video::LibavStreamInput

Public Attributes

int width {}
 
int height {}
 
AVPixelFormat pixel_format = AVPixelFormat(-1)
 
AVPixelFormat hwaccel_sw_format = AVPixelFormat(-1)
 
VideoPixelFormat native_format = VideoPixelFormat::Unknown
 
AVColorRange color_range = AVCOL_RANGE_UNSPECIFIED
 
AVColorPrimaries color_primaries = AVCOL_PRI_UNSPECIFIED
 
AVColorTransferCharacteristic color_trc = AVCOL_TRC_UNSPECIFIED
 
AVColorSpace color_space = AVCOL_SPC_UNSPECIFIED
 
AVChromaLocation chroma_location = AVCHROMA_LOC_UNSPECIFIED
 
AVMasteringDisplayMetadata mastering_display {}
 
std::optional< AVContentLightMetadata > content_light {}
 
Interlacing interlacing = ::Video::Interlacing::None
 
OutputFormat output_format = ::Video::OutputFormat::SDR
 
Tonemap tonemap = ::Video::Tonemap::Auto
 
Deinterlace deinterlace = ::Video::Deinterlace::Weave
 

Member Data Documentation

◆ interlacing

Interlacing Video::ImageFormat::interlacing = ::Video::Interlacing::None

How the source delivers fields, if it does. Set by whoever produces the frames; Fields means height is the PICTURE height while each AVFrame is half of it, which VideoNodeRenderer::needsRebuild knows about.

◆ native_format

VideoPixelFormat Video::ImageFormat::native_format = VideoPixelFormat::Unknown

For a wire layout no AVPixelFormat describes, the format that does. NDI's UYVA and PA16 are the cases: both carry a separate alpha plane after a packed or semi-planar picture, and ffmpeg has no format for either shape. When this is set it decides the decoder; pixel_format still carries the closest AVPixelFormat for everything that reads one.


The documentation for this struct was generated from the following file: