webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
webrtc::VideoEncoder Class Referenceabstract

#include <video_encoder.h>

Inheritance diagram for webrtc::VideoEncoder:
cricket::FakeWebRtcVideoEncoder cricket::FakeWebRtcVideoEncoder webrtc::H264Encoder webrtc::H264Encoder webrtc::I420Encoder webrtc::I420Encoder webrtc::MockVideoEncoder webrtc::MockVideoEncoder webrtc::MockVideoEncoder webrtc::MockVideoEncoder webrtc::test::ConfigurableFrameSizeEncoder webrtc::test::ConfigurableFrameSizeEncoder webrtc::test::FakeEncoder webrtc::test::FakeEncoder webrtc::testing::MockVideoEncoder webrtc::VideoEncoderSoftwareFallbackWrapper webrtc::VideoEncoderSoftwareFallbackWrapper webrtc::VideoEncoderSoftwareFallbackWrapperTest::CountingFakeEncoder webrtc::VP8Encoder webrtc::VP8Encoder webrtc::VP9Encoder webrtc::VP9Encoder webrtc_jni::MediaCodecVideoEncoder

Classes

struct  QpThresholds
 
struct  ScalingSettings
 

Public Types

enum  EncoderType {
  kH264, kVp8, kVp9, kUnsupportedCodec,
  kH264, kVp8, kVp9, kUnsupportedCodec
}
 
enum  EncoderType {
  kH264, kVp8, kVp9, kUnsupportedCodec,
  kH264, kVp8, kVp9, kUnsupportedCodec
}
 

Public Member Functions

virtual ~VideoEncoder ()
 
virtual int32_t InitEncode (const VideoCodec *codec_settings, int32_t number_of_cores, size_t max_payload_size)=0
 
virtual int32_t RegisterEncodeCompleteCallback (EncodedImageCallback *callback)=0
 
virtual int32_t Release ()=0
 
virtual int32_t Encode (const VideoFrame &frame, const CodecSpecificInfo *codec_specific_info, const std::vector< FrameType > *frame_types)=0
 
virtual int32_t SetChannelParameters (uint32_t packet_loss, int64_t rtt)=0
 
virtual int32_t SetRates (uint32_t bitrate, uint32_t framerate)
 
virtual int32_t SetRateAllocation (const BitrateAllocation &allocation, uint32_t framerate)
 
virtual ScalingSettings GetScalingSettings () const
 
virtual int32_t SetPeriodicKeyFrames (bool enable)
 
virtual bool SupportsNativeHandle () const
 
virtual const char * ImplementationName () const
 
virtual ~VideoEncoder ()
 
virtual int32_t InitEncode (const VideoCodec *codec_settings, int32_t number_of_cores, size_t max_payload_size)=0
 
virtual int32_t RegisterEncodeCompleteCallback (EncodedImageCallback *callback)=0
 
virtual int32_t Release ()=0
 
virtual int32_t Encode (const VideoFrame &frame, const CodecSpecificInfo *codec_specific_info, const std::vector< FrameType > *frame_types)=0
 
virtual int32_t SetChannelParameters (uint32_t packet_loss, int64_t rtt)=0
 
virtual int32_t SetRates (uint32_t bitrate, uint32_t framerate)
 
virtual int32_t SetRateAllocation (const BitrateAllocation &allocation, uint32_t framerate)
 
virtual ScalingSettings GetScalingSettings () const
 
virtual int32_t SetPeriodicKeyFrames (bool enable)
 
virtual bool SupportsNativeHandle () const
 
virtual const char * ImplementationName () const
 

Static Public Member Functions

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 ()
 

Member Enumeration Documentation

◆ EncoderType [1/2]

Enumerator
kH264 
kVp8 
kVp9 
kUnsupportedCodec 
kH264 
kVp8 
kVp9 
kUnsupportedCodec 

◆ EncoderType [2/2]

Enumerator
kH264 
kVp8 
kVp9 
kUnsupportedCodec 
kH264 
kVp8 
kVp9 
kUnsupportedCodec 

Constructor & Destructor Documentation

◆ ~VideoEncoder() [1/2]

virtual webrtc::VideoEncoder::~VideoEncoder ( )
inlinevirtual

◆ ~VideoEncoder() [2/2]

virtual webrtc::VideoEncoder::~VideoEncoder ( )
inlinevirtual

Member Function Documentation

◆ CodecToEncoderType() [1/2]

static EncoderType webrtc::VideoEncoder::CodecToEncoderType ( VideoCodecType  codec_type)
static

◆ CodecToEncoderType() [2/2]

static EncoderType webrtc::VideoEncoder::CodecToEncoderType ( VideoCodecType  codec_type)
static

◆ Create() [1/2]

static VideoEncoder* webrtc::VideoEncoder::Create ( EncoderType  codec_type)
static

◆ Create() [2/2]

static VideoEncoder* webrtc::VideoEncoder::Create ( EncoderType  codec_type)
static

◆ Encode() [1/2]

virtual int32_t webrtc::VideoEncoder::Encode ( const VideoFrame frame,
const CodecSpecificInfo codec_specific_info,
const std::vector< FrameType > *  frame_types 
)
pure virtual

◆ Encode() [2/2]

virtual int32_t webrtc::VideoEncoder::Encode ( const VideoFrame frame,
const CodecSpecificInfo codec_specific_info,
const std::vector< FrameType > *  frame_types 
)
pure virtual

◆ GetDefaultH264Settings() [1/2]

static VideoCodecH264 webrtc::VideoEncoder::GetDefaultH264Settings ( )
static

◆ GetDefaultH264Settings() [2/2]

VideoCodecH264 webrtc::VideoEncoder::GetDefaultH264Settings ( )
static

◆ GetDefaultVp8Settings() [1/2]

VideoCodecVP8 webrtc::VideoEncoder::GetDefaultVp8Settings ( )
static

◆ GetDefaultVp8Settings() [2/2]

static VideoCodecVP8 webrtc::VideoEncoder::GetDefaultVp8Settings ( )
static

◆ GetDefaultVp9Settings() [1/2]

VideoCodecVP9 webrtc::VideoEncoder::GetDefaultVp9Settings ( )
static

◆ GetDefaultVp9Settings() [2/2]

static VideoCodecVP9 webrtc::VideoEncoder::GetDefaultVp9Settings ( )
static

◆ GetScalingSettings() [1/2]

virtual ScalingSettings webrtc::VideoEncoder::GetScalingSettings ( ) const
inlinevirtual

◆ GetScalingSettings() [2/2]

virtual ScalingSettings webrtc::VideoEncoder::GetScalingSettings ( ) const
inlinevirtual

◆ ImplementationName() [1/2]

virtual const char* webrtc::VideoEncoder::ImplementationName ( ) const
inlinevirtual

◆ ImplementationName() [2/2]

virtual const char* webrtc::VideoEncoder::ImplementationName ( ) const
inlinevirtual

◆ InitEncode() [1/2]

virtual int32_t webrtc::VideoEncoder::InitEncode ( const VideoCodec codec_settings,
int32_t  number_of_cores,
size_t  max_payload_size 
)
pure virtual

◆ InitEncode() [2/2]

virtual int32_t webrtc::VideoEncoder::InitEncode ( const VideoCodec codec_settings,
int32_t  number_of_cores,
size_t  max_payload_size 
)
pure virtual

◆ IsSupportedSoftware() [1/2]

static bool webrtc::VideoEncoder::IsSupportedSoftware ( EncoderType  codec_type)
static

◆ IsSupportedSoftware() [2/2]

static bool webrtc::VideoEncoder::IsSupportedSoftware ( EncoderType  codec_type)
static

◆ RegisterEncodeCompleteCallback() [1/2]

virtual int32_t webrtc::VideoEncoder::RegisterEncodeCompleteCallback ( EncodedImageCallback callback)
pure virtual

◆ RegisterEncodeCompleteCallback() [2/2]

virtual int32_t webrtc::VideoEncoder::RegisterEncodeCompleteCallback ( EncodedImageCallback callback)
pure virtual

◆ Release() [1/2]

virtual int32_t webrtc::VideoEncoder::Release ( )
pure virtual

◆ Release() [2/2]

virtual int32_t webrtc::VideoEncoder::Release ( )
pure virtual

◆ SetChannelParameters() [1/2]

virtual int32_t webrtc::VideoEncoder::SetChannelParameters ( uint32_t  packet_loss,
int64_t  rtt 
)
pure virtual

◆ SetChannelParameters() [2/2]

virtual int32_t webrtc::VideoEncoder::SetChannelParameters ( uint32_t  packet_loss,
int64_t  rtt 
)
pure virtual

◆ SetPeriodicKeyFrames() [1/2]

virtual int32_t webrtc::VideoEncoder::SetPeriodicKeyFrames ( bool  enable)
inlinevirtual

◆ SetPeriodicKeyFrames() [2/2]

virtual int32_t webrtc::VideoEncoder::SetPeriodicKeyFrames ( bool  enable)
inlinevirtual

◆ SetRateAllocation() [1/2]

virtual int32_t webrtc::VideoEncoder::SetRateAllocation ( const BitrateAllocation allocation,
uint32_t  framerate 
)
inlinevirtual

◆ SetRateAllocation() [2/2]

virtual int32_t webrtc::VideoEncoder::SetRateAllocation ( const BitrateAllocation allocation,
uint32_t  framerate 
)
inlinevirtual

◆ SetRates() [1/2]

virtual int32_t webrtc::VideoEncoder::SetRates ( uint32_t  bitrate,
uint32_t  framerate 
)
inlinevirtual

◆ SetRates() [2/2]

virtual int32_t webrtc::VideoEncoder::SetRates ( uint32_t  bitrate,
uint32_t  framerate 
)
inlinevirtual

◆ SupportsNativeHandle() [1/2]

virtual bool webrtc::VideoEncoder::SupportsNativeHandle ( ) const
inlinevirtual

◆ SupportsNativeHandle() [2/2]

virtual bool webrtc::VideoEncoder::SupportsNativeHandle ( ) const
inlinevirtual

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