StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
Public Member Functions | List of all members
StormByte::Multimedia::Property::Video Class Referencefinal

Per-stream video properties. More...

#include <StormByte/multimedia/property/video.hxx>

Public Member Functions

 Video (Color color, Resolution resolution, std::optional< HDR10 > hdr10=std::nullopt, std::optional< AVRational > frameRate=std::nullopt, std::optional< AVRational > sampleAspectRatio=std::nullopt) noexcept
 Constructs video properties.
 
 Video (const Video &)=default
 Copy constructor.
 
 Video (Video &&) noexcept=default
 Move constructor.
 
 ~Video () noexcept=default
 Destructor.
 
Videooperator= (const Video &)=default
 Copy assignment.
 
Videooperator= (Video &&) noexcept=default
 Move assignment.
 
const class ColorColor () const noexcept
 Colorimetry and pixel format.
 
const class ResolutionResolution () const noexcept
 Frame size.
 
const std::optional< class HDR10 > & HDR10 () const noexcept
 Mastering-display metadata, if present.
 
const std::optional< AVRational > & FrameRate () const noexcept
 Stream frame rate, if the container exposed one.
 
const std::optional< AVRational > & SampleAspectRatio () const noexcept
 Pixel aspect ratio (sample_aspect_ratio).
 

Detailed Description

Per-stream video properties.

Constructor & Destructor Documentation

◆ Video() [1/3]

StormByte::Multimedia::Property::Video::Video ( Color  color,
Resolution  resolution,
std::optional< HDR10 hdr10 = std::nullopt,
std::optional< AVRational frameRate = std::nullopt,
std::optional< AVRational sampleAspectRatio = std::nullopt 
)
noexcept

Constructs video properties.

Parameters
colorColorimetry and pixel format.
resolutionFrame size.
hdr10Optional mastering-display metadata.
frameRateFrames per second ({num, den} like libav). Empty if unknown.
sampleAspectRatioPixel aspect (sample_aspect_ratio). Empty if unknown.

◆ Video() [2/3]

StormByte::Multimedia::Property::Video::Video ( const Video )
default

Copy constructor.

◆ Video() [3/3]

StormByte::Multimedia::Property::Video::Video ( Video &&  )
defaultnoexcept

Move constructor.

◆ ~Video()

StormByte::Multimedia::Property::Video::~Video ( )
defaultnoexcept

Destructor.

Member Function Documentation

◆ Color()

const class Color & StormByte::Multimedia::Property::Video::Color ( ) const
noexcept

Colorimetry and pixel format.

Returns
Color.

◆ FrameRate()

const std::optional< AVRational > & StormByte::Multimedia::Property::Video::FrameRate ( ) const
noexcept

Stream frame rate, if the container exposed one.

Returns
AVRational fps ({24000, 1001} for 23.976), or empty.

◆ HDR10()

const std::optional< class HDR10 > & StormByte::Multimedia::Property::Video::HDR10 ( ) const
noexcept

Mastering-display metadata, if present.

Returns
HDR10, or empty.

◆ operator=() [1/2]

Video & StormByte::Multimedia::Property::Video::operator= ( const Video )
default

Copy assignment.

Returns
*this.

◆ operator=() [2/2]

Video & StormByte::Multimedia::Property::Video::operator= ( Video &&  )
defaultnoexcept

Move assignment.

Returns
*this.

◆ Resolution()

const class Resolution & StormByte::Multimedia::Property::Video::Resolution ( ) const
noexcept

Frame size.

Returns
Resolution.

◆ SampleAspectRatio()

const std::optional< AVRational > & StormByte::Multimedia::Property::Video::SampleAspectRatio ( ) const
noexcept

Pixel aspect ratio (sample_aspect_ratio).

Returns
AVRational SAR ({8, 9} anamorphic NTSC, {1, 1} square), or empty.

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