StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
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:
Collaboration diagram for StormByte::Multimedia::FFmpeg::AVCodecParameters:

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.
AVCodecParameters & operator= (const AVCodecParameters &other) noexcept
 Copy assignment (deep copy).
AVCodecParameters & operator= (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).
virtual ~AVPointer () noexcept=default
 Destructor.
constexpr AVPointer & operator= (const AVPointer &) noexcept=delete
 Copy assignment (deleted).

Friends

class AVBSF
class AVDecoder
class AVEncoder
class AVFormatContext

Additional Inherited Members

Protected Member Functions inherited from StormByte::Multimedia::FFmpeg::AVPointer<::AVCodecParameters >
constexpr const std::decay_t< ::AVCodecParameters > * Get () const noexcept
 Const 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.

◆ 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: