webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | List of all members
webrtc::H264VideoToolboxEncoder Class Reference

#include <h264_video_toolbox_encoder.h>

Inheritance diagram for webrtc::H264VideoToolboxEncoder:
webrtc::H264Encoder webrtc::H264Encoder webrtc::VideoEncoder webrtc::VideoEncoder webrtc::VideoEncoder webrtc::VideoEncoder

Public Member Functions

 H264VideoToolboxEncoder (const cricket::VideoCodec &codec)
 
 ~H264VideoToolboxEncoder () override
 
int InitEncode (const VideoCodec *codec_settings, int number_of_cores, size_t max_payload_size) override
 
int Encode (const VideoFrame &input_image, const CodecSpecificInfo *codec_specific_info, const std::vector< FrameType > *frame_types) override
 
int RegisterEncodeCompleteCallback (EncodedImageCallback *callback) override
 
int SetChannelParameters (uint32_t packet_loss, int64_t rtt) override
 
int SetRates (uint32_t new_bitrate_kbit, uint32_t frame_rate) override
 
int Release () override
 
const char * ImplementationName () const override
 
bool SupportsNativeHandle () const override
 
void OnEncodedFrame (OSStatus status, VTEncodeInfoFlags info_flags, CMSampleBufferRef sample_buffer, CodecSpecificInfo codec_specific_info, int32_t width, int32_t height, int64_t render_time_ms, uint32_t timestamp, VideoRotation rotation)
 
ScalingSettings GetScalingSettings () const override
 
 H264VideoToolboxEncoder (const cricket::VideoCodec &codec)
 
 ~H264VideoToolboxEncoder () override
 
int InitEncode (const VideoCodec *codec_settings, int number_of_cores, size_t max_payload_size) override
 
int Encode (const VideoFrame &input_image, const CodecSpecificInfo *codec_specific_info, const std::vector< FrameType > *frame_types) override
 
int RegisterEncodeCompleteCallback (EncodedImageCallback *callback) override
 
int SetChannelParameters (uint32_t packet_loss, int64_t rtt) override
 
int SetRates (uint32_t new_bitrate_kbit, uint32_t frame_rate) override
 
int Release () override
 
const char * ImplementationName () const override
 
bool SupportsNativeHandle () const override
 
void OnEncodedFrame (OSStatus status, VTEncodeInfoFlags info_flags, CMSampleBufferRef sample_buffer, CodecSpecificInfo codec_specific_info, int32_t width, int32_t height, int64_t render_time_ms, uint32_t timestamp, VideoRotation rotation)
 
ScalingSettings GetScalingSettings () const override
 
- Public Member Functions inherited from webrtc::H264Encoder
 ~H264Encoder () override
 
 ~H264Encoder () override
 
- Public Member Functions inherited from webrtc::VideoEncoder
virtual ~VideoEncoder ()
 
virtual int32_t InitEncode (const VideoCodec *codec_settings, int32_t number_of_cores, size_t max_payload_size)=0
 
virtual int32_t SetRateAllocation (const BitrateAllocation &allocation, uint32_t framerate)
 
virtual int32_t SetPeriodicKeyFrames (bool enable)
 
virtual ~VideoEncoder ()
 
virtual int32_t InitEncode (const VideoCodec *codec_settings, int32_t number_of_cores, size_t max_payload_size)=0
 
virtual int32_t SetRateAllocation (const BitrateAllocation &allocation, uint32_t framerate)
 
virtual int32_t SetPeriodicKeyFrames (bool enable)
 

Additional Inherited Members

- Public Types inherited from webrtc::VideoEncoder
enum  EncoderType {
  kH264, kVp8, kVp9, kUnsupportedCodec,
  kH264, kVp8, kVp9, kUnsupportedCodec
}
 
enum  EncoderType {
  kH264, kVp8, kVp9, kUnsupportedCodec,
  kH264, kVp8, kVp9, kUnsupportedCodec
}
 
- Static Public Member Functions inherited from webrtc::H264Encoder
static H264EncoderCreate (const cricket::VideoCodec &codec)
 
static bool IsSupported ()
 
static H264EncoderCreate (const cricket::VideoCodec &codec)
 
static bool IsSupported ()
 
- Static Public Member Functions inherited from webrtc::VideoEncoder
static VideoEncoderCreate (EncoderType codec_type)
 
static bool IsSupportedSoftware (EncoderType codec_type)
 
static EncoderType CodecToEncoderType (VideoCodecType codec_type)
 
static VideoCodecVP8 GetDefaultVp8Settings ()
 
static VideoCodecVP9 GetDefaultVp9Settings ()
 
static VideoCodecH264 GetDefaultH264Settings ()
 
static VideoEncoderCreate (EncoderType codec_type)
 
static bool IsSupportedSoftware (EncoderType codec_type)
 
static EncoderType CodecToEncoderType (VideoCodecType codec_type)
 
static VideoCodecVP8 GetDefaultVp8Settings ()
 
static VideoCodecVP9 GetDefaultVp9Settings ()
 
static VideoCodecH264 GetDefaultH264Settings ()
 

Constructor & Destructor Documentation

◆ H264VideoToolboxEncoder() [1/2]

webrtc::H264VideoToolboxEncoder::H264VideoToolboxEncoder ( const cricket::VideoCodec codec)
explicit

◆ ~H264VideoToolboxEncoder() [1/2]

webrtc::H264VideoToolboxEncoder::~H264VideoToolboxEncoder ( )
override

◆ H264VideoToolboxEncoder() [2/2]

webrtc::H264VideoToolboxEncoder::H264VideoToolboxEncoder ( const cricket::VideoCodec codec)
explicit

◆ ~H264VideoToolboxEncoder() [2/2]

webrtc::H264VideoToolboxEncoder::~H264VideoToolboxEncoder ( )
override

Member Function Documentation

◆ Encode() [1/2]

int webrtc::H264VideoToolboxEncoder::Encode ( const VideoFrame input_image,
const CodecSpecificInfo codec_specific_info,
const std::vector< FrameType > *  frame_types 
)
overridevirtual

Implements webrtc::VideoEncoder.

◆ Encode() [2/2]

int webrtc::H264VideoToolboxEncoder::Encode ( const VideoFrame input_image,
const CodecSpecificInfo codec_specific_info,
const std::vector< FrameType > *  frame_types 
)
overridevirtual

Implements webrtc::VideoEncoder.

◆ GetScalingSettings() [1/2]

VideoEncoder::ScalingSettings webrtc::H264VideoToolboxEncoder::GetScalingSettings ( ) const
overridevirtual

Reimplemented from webrtc::VideoEncoder.

◆ GetScalingSettings() [2/2]

ScalingSettings webrtc::H264VideoToolboxEncoder::GetScalingSettings ( ) const
overridevirtual

Reimplemented from webrtc::VideoEncoder.

◆ ImplementationName() [1/2]

const char* webrtc::H264VideoToolboxEncoder::ImplementationName ( ) const
overridevirtual

Reimplemented from webrtc::VideoEncoder.

◆ ImplementationName() [2/2]

const char * webrtc::H264VideoToolboxEncoder::ImplementationName ( ) const
overridevirtual

Reimplemented from webrtc::VideoEncoder.

◆ InitEncode() [1/2]

int webrtc::H264VideoToolboxEncoder::InitEncode ( const VideoCodec codec_settings,
int  number_of_cores,
size_t  max_payload_size 
)
override

◆ InitEncode() [2/2]

int webrtc::H264VideoToolboxEncoder::InitEncode ( const VideoCodec codec_settings,
int  number_of_cores,
size_t  max_payload_size 
)
override

◆ OnEncodedFrame() [1/2]

void webrtc::H264VideoToolboxEncoder::OnEncodedFrame ( OSStatus  status,
VTEncodeInfoFlags  info_flags,
CMSampleBufferRef  sample_buffer,
CodecSpecificInfo  codec_specific_info,
int32_t  width,
int32_t  height,
int64_t  render_time_ms,
uint32_t  timestamp,
VideoRotation  rotation 
)

◆ OnEncodedFrame() [2/2]

void webrtc::H264VideoToolboxEncoder::OnEncodedFrame ( OSStatus  status,
VTEncodeInfoFlags  info_flags,
CMSampleBufferRef  sample_buffer,
CodecSpecificInfo  codec_specific_info,
int32_t  width,
int32_t  height,
int64_t  render_time_ms,
uint32_t  timestamp,
VideoRotation  rotation 
)

◆ RegisterEncodeCompleteCallback() [1/2]

int webrtc::H264VideoToolboxEncoder::RegisterEncodeCompleteCallback ( EncodedImageCallback callback)
overridevirtual

Implements webrtc::VideoEncoder.

◆ RegisterEncodeCompleteCallback() [2/2]

int webrtc::H264VideoToolboxEncoder::RegisterEncodeCompleteCallback ( EncodedImageCallback callback)
overridevirtual

Implements webrtc::VideoEncoder.

◆ Release() [1/2]

int webrtc::H264VideoToolboxEncoder::Release ( )
overridevirtual

Implements webrtc::VideoEncoder.

◆ Release() [2/2]

int webrtc::H264VideoToolboxEncoder::Release ( )
overridevirtual

Implements webrtc::VideoEncoder.

◆ SetChannelParameters() [1/2]

int webrtc::H264VideoToolboxEncoder::SetChannelParameters ( uint32_t  packet_loss,
int64_t  rtt 
)
overridevirtual

Implements webrtc::VideoEncoder.

◆ SetChannelParameters() [2/2]

int webrtc::H264VideoToolboxEncoder::SetChannelParameters ( uint32_t  packet_loss,
int64_t  rtt 
)
overridevirtual

Implements webrtc::VideoEncoder.

◆ SetRates() [1/2]

int webrtc::H264VideoToolboxEncoder::SetRates ( uint32_t  new_bitrate_kbit,
uint32_t  frame_rate 
)
overridevirtual

Reimplemented from webrtc::VideoEncoder.

◆ SetRates() [2/2]

int webrtc::H264VideoToolboxEncoder::SetRates ( uint32_t  new_bitrate_kbit,
uint32_t  frame_rate 
)
overridevirtual

Reimplemented from webrtc::VideoEncoder.

◆ SupportsNativeHandle() [1/2]

bool webrtc::H264VideoToolboxEncoder::SupportsNativeHandle ( ) const
overridevirtual

Reimplemented from webrtc::VideoEncoder.

◆ SupportsNativeHandle() [2/2]

bool webrtc::H264VideoToolboxEncoder::SupportsNativeHandle ( ) const
overridevirtual

Reimplemented from webrtc::VideoEncoder.


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