Shaka Packager SDK
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
shaka::media::VPCodecConfigurationRecord Class Reference

Class for parsing or writing VP codec configuration record. More...

#include <vp_codec_configuration_record.h>

Public Types

enum  ChromaSubsampling {
  CHROMA_420_VERTICAL = 0 , CHROMA_420_COLLOCATED_WITH_LUMA = 1 , CHROMA_422 = 2 , CHROMA_444 = 3 ,
  CHROMA_440 = 4
}
 
enum  ChromaSitingValues { kUnspecified = 0 , kLeftCollocated = 1 , kTopCollocated = kLeftCollocated , kHalf = 2 }
 

Public Member Functions

 VPCodecConfigurationRecord (uint8_t profile, uint8_t level, uint8_t bit_depth, uint8_t chroma_subsampling, bool video_full_range_flag, uint8_t color_primaries, uint8_t transfer_characteristics, uint8_t matrix_coefficients, const std::vector< uint8_t > &codec_initialization_data)
 
bool ParseMP4 (const std::vector< uint8_t > &data)
 
bool ParseWebM (const std::vector< uint8_t > &data)
 
void SetVP9Level (uint16_t width, uint16_t height, double sample_duration_seconds)
 Compute and set VP9 Level based on the input attributes.
 
void WriteMP4 (std::vector< uint8_t > *data) const
 
void WriteWebM (std::vector< uint8_t > *data) const
 
std::string GetCodecString (Codec codec) const
 
void MergeFrom (const VPCodecConfigurationRecord &other)
 
void SetChromaSubsampling (uint8_t subsampling_x, uint8_t subsampling_y)
 
void SetChromaSubsampling (ChromaSubsampling chroma_subsampling)
 
void SetChromaLocation (uint8_t chroma_siting_x, uint8_t chroma_siting_y)
 
void set_profile (uint8_t profile)
 
void set_level (uint8_t level)
 
void set_bit_depth (uint8_t bit_depth)
 
void set_video_full_range_flag (bool video_full_range_flag)
 
void set_color_primaries (uint8_t color_primaries)
 
void set_transfer_characteristics (uint8_t transfer_characteristics)
 
void set_matrix_coefficients (uint8_t matrix_coefficients)
 
bool is_profile_set () const
 
bool is_level_set () const
 
bool is_bit_depth_set () const
 
bool is_chroma_subsampling_set () const
 
bool is_video_full_range_flag_set () const
 
bool is_color_primaries_set () const
 
bool is_transfer_characteristics_set () const
 
bool is_matrix_coefficients_set () const
 
bool is_chroma_location_set () const
 
uint8_t profile () const
 
uint8_t level () const
 
uint8_t bit_depth () const
 
uint8_t chroma_subsampling () const
 
bool video_full_range_flag () const
 
uint8_t color_primaries () const
 
uint8_t transfer_characteristics () const
 
uint8_t matrix_coefficients () const
 
uint8_t chroma_location () const
 

Detailed Description

Class for parsing or writing VP codec configuration record.

Definition at line 153 of file vp_codec_configuration_record.h.

Member Enumeration Documentation

◆ ChromaSitingValues

enum shaka::media::VPCodecConfigurationRecord::ChromaSitingValues

Definition at line 162 of file vp_codec_configuration_record.h.

◆ ChromaSubsampling

enum shaka::media::VPCodecConfigurationRecord::ChromaSubsampling

Definition at line 155 of file vp_codec_configuration_record.h.

Constructor & Destructor Documentation

◆ VPCodecConfigurationRecord() [1/2]

shaka::media::VPCodecConfigurationRecord::VPCodecConfigurationRecord ( )

Definition at line 131 of file vp_codec_configuration_record.cc.

◆ VPCodecConfigurationRecord() [2/2]

shaka::media::VPCodecConfigurationRecord::VPCodecConfigurationRecord ( uint8_t  profile,
uint8_t  level,
uint8_t  bit_depth,
uint8_t  chroma_subsampling,
bool  video_full_range_flag,
uint8_t  color_primaries,
uint8_t  transfer_characteristics,
uint8_t  matrix_coefficients,
const std::vector< uint8_t > &  codec_initialization_data 
)

Definition at line 133 of file vp_codec_configuration_record.cc.

◆ ~VPCodecConfigurationRecord()

shaka::media::VPCodecConfigurationRecord::~VPCodecConfigurationRecord ( )

Definition at line 153 of file vp_codec_configuration_record.cc.

Member Function Documentation

◆ bit_depth()

uint8_t shaka::media::VPCodecConfigurationRecord::bit_depth ( ) const
inline

Definition at line 254 of file vp_codec_configuration_record.h.

◆ chroma_location()

uint8_t shaka::media::VPCodecConfigurationRecord::chroma_location ( ) const
inline

Definition at line 270 of file vp_codec_configuration_record.h.

◆ chroma_subsampling()

uint8_t shaka::media::VPCodecConfigurationRecord::chroma_subsampling ( ) const
inline

Definition at line 255 of file vp_codec_configuration_record.h.

◆ color_primaries()

uint8_t shaka::media::VPCodecConfigurationRecord::color_primaries ( ) const
inline

Definition at line 261 of file vp_codec_configuration_record.h.

◆ GetCodecString()

std::string shaka::media::VPCodecConfigurationRecord::GetCodecString ( Codec  codec) const
Returns
The codec string.

Definition at line 297 of file vp_codec_configuration_record.cc.

◆ is_bit_depth_set()

bool shaka::media::VPCodecConfigurationRecord::is_bit_depth_set ( ) const
inline

Definition at line 232 of file vp_codec_configuration_record.h.

◆ is_chroma_location_set()

bool shaka::media::VPCodecConfigurationRecord::is_chroma_location_set ( ) const
inline

Definition at line 248 of file vp_codec_configuration_record.h.

◆ is_chroma_subsampling_set()

bool shaka::media::VPCodecConfigurationRecord::is_chroma_subsampling_set ( ) const
inline

Definition at line 233 of file vp_codec_configuration_record.h.

◆ is_color_primaries_set()

bool shaka::media::VPCodecConfigurationRecord::is_color_primaries_set ( ) const
inline

Definition at line 239 of file vp_codec_configuration_record.h.

◆ is_level_set()

bool shaka::media::VPCodecConfigurationRecord::is_level_set ( ) const
inline

Definition at line 231 of file vp_codec_configuration_record.h.

◆ is_matrix_coefficients_set()

bool shaka::media::VPCodecConfigurationRecord::is_matrix_coefficients_set ( ) const
inline

Definition at line 245 of file vp_codec_configuration_record.h.

◆ is_profile_set()

bool shaka::media::VPCodecConfigurationRecord::is_profile_set ( ) const
inline

Definition at line 230 of file vp_codec_configuration_record.h.

◆ is_transfer_characteristics_set()

bool shaka::media::VPCodecConfigurationRecord::is_transfer_characteristics_set ( ) const
inline

Definition at line 242 of file vp_codec_configuration_record.h.

◆ is_video_full_range_flag_set()

bool shaka::media::VPCodecConfigurationRecord::is_video_full_range_flag_set ( ) const
inline

Definition at line 236 of file vp_codec_configuration_record.h.

◆ level()

uint8_t shaka::media::VPCodecConfigurationRecord::level ( ) const
inline

Definition at line 253 of file vp_codec_configuration_record.h.

◆ matrix_coefficients()

uint8_t shaka::media::VPCodecConfigurationRecord::matrix_coefficients ( ) const
inline

Definition at line 267 of file vp_codec_configuration_record.h.

◆ MergeFrom()

void shaka::media::VPCodecConfigurationRecord::MergeFrom ( const VPCodecConfigurationRecord other)

Merges the values from the given configuration. If there are values in both |*this| and |other|, |*this| is not updated.

Definition at line 319 of file vp_codec_configuration_record.cc.

◆ ParseMP4()

bool shaka::media::VPCodecConfigurationRecord::ParseMP4 ( const std::vector< uint8_t > &  data)

Parses input (in MP4 format) to extract VP codec configuration record.

Returns
false if there is parsing errors.

Definition at line 156 of file vp_codec_configuration_record.cc.

◆ ParseWebM()

bool shaka::media::VPCodecConfigurationRecord::ParseWebM ( const std::vector< uint8_t > &  data)

Parses input (in WebM format) to extract VP codec configuration record.

Returns
false if there is parsing errors.

Definition at line 188 of file vp_codec_configuration_record.cc.

◆ profile()

uint8_t shaka::media::VPCodecConfigurationRecord::profile ( ) const
inline

Definition at line 252 of file vp_codec_configuration_record.h.

◆ set_bit_depth()

void shaka::media::VPCodecConfigurationRecord::set_bit_depth ( uint8_t  bit_depth)
inline

Definition at line 216 of file vp_codec_configuration_record.h.

◆ set_color_primaries()

void shaka::media::VPCodecConfigurationRecord::set_color_primaries ( uint8_t  color_primaries)
inline

Definition at line 220 of file vp_codec_configuration_record.h.

◆ set_level()

void shaka::media::VPCodecConfigurationRecord::set_level ( uint8_t  level)
inline

Definition at line 215 of file vp_codec_configuration_record.h.

◆ set_matrix_coefficients()

void shaka::media::VPCodecConfigurationRecord::set_matrix_coefficients ( uint8_t  matrix_coefficients)
inline

Definition at line 226 of file vp_codec_configuration_record.h.

◆ set_profile()

void shaka::media::VPCodecConfigurationRecord::set_profile ( uint8_t  profile)
inline

Definition at line 214 of file vp_codec_configuration_record.h.

◆ set_transfer_characteristics()

void shaka::media::VPCodecConfigurationRecord::set_transfer_characteristics ( uint8_t  transfer_characteristics)
inline

Definition at line 223 of file vp_codec_configuration_record.h.

◆ set_video_full_range_flag()

void shaka::media::VPCodecConfigurationRecord::set_video_full_range_flag ( bool  video_full_range_flag)
inline

Definition at line 217 of file vp_codec_configuration_record.h.

◆ SetChromaLocation()

void shaka::media::VPCodecConfigurationRecord::SetChromaLocation ( uint8_t  chroma_siting_x,
uint8_t  chroma_siting_y 
)

Definition at line 375 of file vp_codec_configuration_record.cc.

◆ SetChromaSubsampling() [1/2]

void shaka::media::VPCodecConfigurationRecord::SetChromaSubsampling ( ChromaSubsampling  chroma_subsampling)

Definition at line 369 of file vp_codec_configuration_record.cc.

◆ SetChromaSubsampling() [2/2]

void shaka::media::VPCodecConfigurationRecord::SetChromaSubsampling ( uint8_t  subsampling_x,
uint8_t  subsampling_y 
)

Definition at line 347 of file vp_codec_configuration_record.cc.

◆ SetVP9Level()

void shaka::media::VPCodecConfigurationRecord::SetVP9Level ( uint16_t  width,
uint16_t  height,
double  sample_duration_seconds 
)

Compute and set VP9 Level based on the input attributes.

Definition at line 229 of file vp_codec_configuration_record.cc.

◆ transfer_characteristics()

uint8_t shaka::media::VPCodecConfigurationRecord::transfer_characteristics ( ) const
inline

Definition at line 264 of file vp_codec_configuration_record.h.

◆ video_full_range_flag()

bool shaka::media::VPCodecConfigurationRecord::video_full_range_flag ( ) const
inline

Definition at line 258 of file vp_codec_configuration_record.h.

◆ WriteMP4()

void shaka::media::VPCodecConfigurationRecord::WriteMP4 ( std::vector< uint8_t > *  data) const
Parameters
datashould not be null. Writes VP codec configuration record to buffer using MP4 format.

Definition at line 249 of file vp_codec_configuration_record.cc.

◆ WriteWebM()

void shaka::media::VPCodecConfigurationRecord::WriteWebM ( std::vector< uint8_t > *  data) const
Parameters
datashould not be null. Writes VP codec configuration record to buffer using WebM format.

Definition at line 266 of file vp_codec_configuration_record.cc.


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