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 | Friends | List of all members
StormByte::Multimedia::FFmpeg::AVCodecParameters Class Reference

Deep-copying RAII wrapper for AVCodecParameters. More...

#include <StormByte/multimedia/ffmpeg/AVCodecParameters.hxx>

Inheritance diagram for StormByte::Multimedia::FFmpeg::AVCodecParameters:
Inheritance graph
[legend]
Collaboration diagram for StormByte::Multimedia::FFmpeg::AVCodecParameters:
Collaboration graph
[legend]

Public Member Functions

 AVCodecParameters (::AVCodecParameters *par) noexcept
 Allocates and optionally copies from par.
 
 AVCodecParameters (const AVCodecParameters &other) noexcept
 Copy constructor (deep copy).
 
 AVCodecParameters (AVCodecParameters &&other) noexcept=default
 Move constructor.
 
 ~AVCodecParameters () noexcept override
 Destructor.
 
AVCodecParametersoperator= (const AVCodecParameters &other) noexcept
 Copy assignment (deep copy).
 
AVCodecParametersoperator= (AVCodecParameters &&other) noexcept=default
 Move assignment.
 
int CodecId () const noexcept
 FFmpeg codec id.
 
void CodecId (int id) noexcept
 Sets the FFmpeg codec id.
 
std::int64_t BitRate () const noexcept
 Stream bitrate in bits per second.
 
void BitRate (std::int64_t bit_rate) noexcept
 Sets stream bitrate in bits per second.
 
int Width () const noexcept
 Frame width in pixels.
 
void Width (int width) noexcept
 Sets frame width.
 
int Height () const noexcept
 Frame height in pixels.
 
void Height (int height) noexcept
 Sets frame height.
 
AVRational SampleAspectRatio () const noexcept
 Pixel aspect ratio (sample_aspect_ratio).
 
void SampleAspectRatio (AVRational sar) noexcept
 Sets pixel aspect ratio.
 
int Format () const noexcept
 Pixel or sample format.
 
void Format (int format) noexcept
 Sets pixel or sample format.
 
int ColorRange () const noexcept
 Color range.
 
void ColorRange (int range) noexcept
 Sets color range.
 
int ColorSpace () const noexcept
 Matrix coefficients.
 
void ColorSpace (int space) noexcept
 Sets matrix coefficients.
 
int ColorPrimaries () const noexcept
 Color primaries.
 
void ColorPrimaries (int primaries) noexcept
 Sets color primaries.
 
int ColorTransfer () const noexcept
 Transfer characteristics.
 
void ColorTransfer (int transfer) noexcept
 Sets transfer characteristics.
 
int SampleRate () const noexcept
 Audio sample rate in Hz.
 
void SampleRate (int rate) noexcept
 Sets audio sample rate.
 
int Channels () const noexcept
 Audio channel count.
 
int Profile () const noexcept
 Codec profile id.
 
void Profile (int profile) noexcept
 Sets codec profile id.
 
AVChannelLayout ChannelLayout () const noexcept
 Channel layout owned by this wrapper.
 
void DefaultChannelLayout (int channels) noexcept
 Replaces the layout with FFmpeg's default for channels.
 
 operator bool () const noexcept
 Whether a parameters struct is owned.
 
bool CopyChannelLayout (const AVChannelLayout &layout) noexcept
 Replaces the channel layout.
 
bool Export (::AVCodecParameters *dest) const noexcept
 Copies this into dest (avcodec_parameters_copy).
 
void WriteHdr10 (const StormByte::Multimedia::Property::HDR10 &hdr10) noexcept
 Writes mastering display and content light onto coded side data.
 
int CodecType () const noexcept
 Media type.
 
void CodecType (int type) noexcept
 Sets media type.
 
- Public Member Functions inherited from StormByte::Multimedia::FFmpeg::AVPointer<::AVCodecParameters >
constexpr AVPointer () noexcept=delete
 Default constructor (deleted).
 
constexpr AVPointer (const AVPointer &) noexcept=delete
 Copy constructor (deleted).
 
constexpr AVPointer (AVPointer &&other) noexcept
 Move constructor.
 
virtual ~AVPointer () noexcept=default
 Destructor.
 
constexpr AVPointeroperator= (const AVPointer &) noexcept=delete
 Copy assignment (deleted).
 
constexpr AVPointeroperator= (AVPointer &&other) noexcept
 Move assignment.
 

Friends

class AVBSF
 
class AVDecoder
 
class AVEncoder
 
class AVFormatContext
 

Additional Inherited Members

- Protected Member Functions inherited from StormByte::Multimedia::FFmpeg::AVPointer<::AVCodecParameters >
constexpr AVPointer (std::decay_t< ::AVCodecParameters > *ptr) noexcept
 Adopts ptr.
 
constexpr const std::decay_t< ::AVCodecParameters > * Get () const noexcept
 Const view of the raw FFmpeg pointer.
 
constexpr std::decay_t< ::AVCodecParameters > * Get () noexcept
 Mutable view of the raw FFmpeg pointer.
 
constexpr std::decay_t< ::AVCodecParameters > * Detach () noexcept
 Yields the raw pointer and leaves this wrapper empty.
 
- Protected Attributes inherited from StormByte::Multimedia::FFmpeg::AVPointer<::AVCodecParameters >
std::decay_t< ::AVCodecParameters > * m_ptr
 Owned FFmpeg pointer.
 

Detailed Description

Deep-copying RAII wrapper for AVCodecParameters.

Constructor & Destructor Documentation

◆ AVCodecParameters() [1/3]

StormByte::Multimedia::FFmpeg::AVCodecParameters::AVCodecParameters ( ::AVCodecParameters *  par)
explicitnoexcept

Allocates and optionally copies from par.

Parameters
parSource parameters (may be null).

◆ AVCodecParameters() [2/3]

StormByte::Multimedia::FFmpeg::AVCodecParameters::AVCodecParameters ( const AVCodecParameters other)
noexcept

Copy constructor (deep copy).

Parameters
otherSource parameters.

◆ AVCodecParameters() [3/3]

StormByte::Multimedia::FFmpeg::AVCodecParameters::AVCodecParameters ( AVCodecParameters &&  other)
defaultnoexcept

Move constructor.

Parameters
otherSource parameters.

◆ ~AVCodecParameters()

StormByte::Multimedia::FFmpeg::AVCodecParameters::~AVCodecParameters ( )
overridenoexcept

Destructor.

Member Function Documentation

◆ BitRate() [1/2]

std::int64_t StormByte::Multimedia::FFmpeg::AVCodecParameters::BitRate ( ) const
noexcept

Stream bitrate in bits per second.

Returns
Bitrate, or 0 if unknown.

◆ BitRate() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::BitRate ( std::int64_t  bit_rate)
noexcept

Sets stream bitrate in bits per second.

Parameters
bit_rateBitrate. 0 = unknown.

◆ ChannelLayout()

AVChannelLayout StormByte::Multimedia::FFmpeg::AVCodecParameters::ChannelLayout ( ) const
noexcept

Channel layout owned by this wrapper.

Returns
Layout, or nullptr.

◆ Channels()

int StormByte::Multimedia::FFmpeg::AVCodecParameters::Channels ( ) const
noexcept

Audio channel count.

Returns
Channel count, or 0.

◆ CodecId() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::CodecId ( ) const
noexcept

FFmpeg codec id.

Returns
AVCodecID as int, or AV_CODEC_ID_NONE.

◆ CodecId() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::CodecId ( int  id)
noexcept

Sets the FFmpeg codec id.

Parameters
idAVCodecID as int.

◆ CodecType() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::CodecType ( ) const
noexcept

Media type.

Returns
AVMediaType as int.

◆ CodecType() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::CodecType ( int  type)
noexcept

Sets media type.

Parameters
typeAVMediaType as int.

◆ ColorPrimaries() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::ColorPrimaries ( ) const
noexcept

Color primaries.

Returns
AVColorPrimaries as int.

◆ ColorPrimaries() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::ColorPrimaries ( int  primaries)
noexcept

Sets color primaries.

Parameters
primariesAVColorPrimaries as int.

◆ ColorRange() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::ColorRange ( ) const
noexcept

Color range.

Returns
AVColorRange as int.

◆ ColorRange() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::ColorRange ( int  range)
noexcept

Sets color range.

Parameters
rangeAVColorRange as int.

◆ ColorSpace() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::ColorSpace ( ) const
noexcept

Matrix coefficients.

Returns
AVColorSpace as int.

◆ ColorSpace() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::ColorSpace ( int  space)
noexcept

Sets matrix coefficients.

Parameters
spaceAVColorSpace as int.

◆ ColorTransfer() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::ColorTransfer ( ) const
noexcept

Transfer characteristics.

Returns
AVColorTransferCharacteristic as int.

◆ ColorTransfer() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::ColorTransfer ( int  transfer)
noexcept

Sets transfer characteristics.

Parameters
transferAVColorTransferCharacteristic as int.

◆ CopyChannelLayout()

bool StormByte::Multimedia::FFmpeg::AVCodecParameters::CopyChannelLayout ( const AVChannelLayout layout)
noexcept

Replaces the channel layout.

Parameters
layoutSource layout.
Returns
false on failure.

◆ DefaultChannelLayout()

void StormByte::Multimedia::FFmpeg::AVCodecParameters::DefaultChannelLayout ( int  channels)
noexcept

Replaces the layout with FFmpeg's default for channels.

Parameters
channelsChannel count.

◆ Export()

bool StormByte::Multimedia::FFmpeg::AVCodecParameters::Export ( ::AVCodecParameters dest) const
noexcept

Copies this into dest (avcodec_parameters_copy).

Parameters
destAlready allocated codecpar.
Returns
false on failure.

◆ Format() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::Format ( ) const
noexcept

Pixel or sample format.

Returns
Format as int, or AV_PIX_FMT_NONE.

◆ Format() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::Format ( int  format)
noexcept

Sets pixel or sample format.

Parameters
formatFormat as int.

◆ Height() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::Height ( ) const
noexcept

Frame height in pixels.

Returns
Height, or 0.

◆ Height() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::Height ( int  height)
noexcept

Sets frame height.

Parameters
heightHeight in pixels.

◆ operator bool()

StormByte::Multimedia::FFmpeg::AVCodecParameters::operator bool ( ) const
explicitnoexcept

Whether a parameters struct is owned.

Returns
true if codecpar is allocated.

◆ operator=() [1/2]

AVCodecParameters & StormByte::Multimedia::FFmpeg::AVCodecParameters::operator= ( AVCodecParameters &&  other)
defaultnoexcept

Move assignment.

Parameters
otherSource parameters.
Returns
*this.

◆ operator=() [2/2]

AVCodecParameters & StormByte::Multimedia::FFmpeg::AVCodecParameters::operator= ( const AVCodecParameters other)
noexcept

Copy assignment (deep copy).

Parameters
otherSource parameters.
Returns
*this.

◆ Profile() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::Profile ( ) const
noexcept

Codec profile id.

Returns
Profile, or AV_PROFILE_UNKNOWN.

◆ Profile() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::Profile ( int  profile)
noexcept

Sets codec profile id.

Parameters
profileProfile.

◆ SampleAspectRatio() [1/2]

AVRational StormByte::Multimedia::FFmpeg::AVCodecParameters::SampleAspectRatio ( ) const
noexcept

Pixel aspect ratio (sample_aspect_ratio).

Returns
{num, den}, or {0, 1} if unknown.

◆ SampleAspectRatio() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::SampleAspectRatio ( AVRational  sar)
noexcept

Sets pixel aspect ratio.

Parameters
sar{num, den} like libav.

◆ SampleRate() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::SampleRate ( ) const
noexcept

Audio sample rate in Hz.

Returns
Sample rate, or 0.

◆ SampleRate() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::SampleRate ( int  rate)
noexcept

Sets audio sample rate.

Parameters
rateSample rate in Hz.

◆ Width() [1/2]

int StormByte::Multimedia::FFmpeg::AVCodecParameters::Width ( ) const
noexcept

Frame width in pixels.

Returns
Width, or 0.

◆ Width() [2/2]

void StormByte::Multimedia::FFmpeg::AVCodecParameters::Width ( int  width)
noexcept

Sets frame width.

Parameters
widthWidth in pixels.

◆ WriteHdr10()

void StormByte::Multimedia::FFmpeg::AVCodecParameters::WriteHdr10 ( const StormByte::Multimedia::Property::HDR10 hdr10)
noexcept

Writes mastering display and content light onto coded side data.

Parameters
hdr10High-level HDR10 bag.

Friends And Related Symbol Documentation

◆ AVBSF

friend class AVBSF
friend

◆ AVDecoder

friend class AVDecoder
friend

◆ AVEncoder

friend class AVEncoder
friend

◆ AVFormatContext

friend class AVFormatContext
friend

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