webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
webrtc::test::VideoProcessorIntegrationTest Class Reference

#include <videoprocessor_integrationtest.h>

Inheritance diagram for webrtc::test::VideoProcessorIntegrationTest:
testing::Test testing::Test webrtc::test::PlotVideoProcessorIntegrationTest

Protected Member Functions

 VideoProcessorIntegrationTest ()
 
virtual ~VideoProcessorIntegrationTest ()=default
 
void SetUpCodecConfig (const CodecParams &process, const VisualizationParams *visualization_params)
 
void ResetRateControlMetrics (int num_frames)
 
void UpdateRateControlMetrics (int frame_num, FrameType frame_type)
 
void VerifyRateControlMetrics (int update_index, int max_key_frame_size_mismatch, int max_delta_frame_size_mismatch, int max_encoding_rate_mismatch, int max_time_hit_target, int max_num_dropped_frames, int num_spatial_resizes, int num_key_frames)
 
void VerifyQuality (const test::QualityMetricsResult &psnr_result, const test::QualityMetricsResult &ssim_result, const QualityThresholds &quality_thresholds)
 
void LayerIndexForFrame (int frame_number)
 
void SetLayerRates ()
 
void ProcessFramesAndVerify (QualityThresholds quality_thresholds, RateProfile rate_profile, CodecParams process, RateControlThresholds *rc_thresholds, const VisualizationParams *visualization_params)
 
 VideoProcessorIntegrationTest ()
 
virtual ~VideoProcessorIntegrationTest ()=default
 
void SetUpCodecConfig (const CodecParams &process, const VisualizationParams *visualization_params)
 
void ResetRateControlMetrics (int num_frames)
 
void UpdateRateControlMetrics (int frame_num, FrameType frame_type)
 
void VerifyRateControlMetrics (int update_index, int max_key_frame_size_mismatch, int max_delta_frame_size_mismatch, int max_encoding_rate_mismatch, int max_time_hit_target, int max_num_dropped_frames, int num_spatial_resizes, int num_key_frames)
 
void VerifyQuality (const test::QualityMetricsResult &psnr_result, const test::QualityMetricsResult &ssim_result, const QualityThresholds &quality_thresholds)
 
void LayerIndexForFrame (int frame_number)
 
void SetLayerRates ()
 
void ProcessFramesAndVerify (QualityThresholds quality_thresholds, RateProfile rate_profile, CodecParams process, RateControlThresholds *rc_thresholds, const VisualizationParams *visualization_params)
 
- Protected Member Functions inherited from testing::Test
 Test ()
 
virtual void SetUp ()
 
virtual void TearDown ()
 

Static Protected Member Functions

static void SetCodecParams (CodecParams *process_settings, VideoCodecType codec_type, bool hw_codec, bool use_single_core, float packet_loss_probability, int key_frame_interval, int num_temporal_layers, bool error_concealment_on, bool denoising_on, bool frame_dropper_on, bool spatial_resize_on, int width, int height, const std::string &filename, bool verbose_logging)
 
static void SetCodecParams (CodecParams *process_settings, VideoCodecType codec_type, bool hw_codec, bool use_single_core, float packet_loss_probability, int key_frame_interval, int num_temporal_layers, bool error_concealment_on, bool denoising_on, bool frame_dropper_on, bool spatial_resize_on)
 
static void SetQualityThresholds (QualityThresholds *quality_thresholds, double min_avg_psnr, double min_min_psnr, double min_avg_ssim, double min_min_ssim)
 
static void SetRateProfile (RateProfile *rate_profile, int update_index, int bit_rate, int frame_rate, int frame_index_rate_update)
 
static void SetRateControlThresholds (RateControlThresholds *rc_thresholds, int update_index, int max_num_dropped_frames, int max_key_frame_size_mismatch, int max_delta_frame_size_mismatch, int max_encoding_rate_mismatch, int max_time_hit_target, int num_spatial_resizes, int num_key_frames)
 
static void SetCodecParams (CodecParams *process_settings, VideoCodecType codec_type, bool hw_codec, bool use_single_core, float packet_loss_probability, int key_frame_interval, int num_temporal_layers, bool error_concealment_on, bool denoising_on, bool frame_dropper_on, bool spatial_resize_on, int width, int height, const std::string &filename, bool verbose_logging)
 
static void SetCodecParams (CodecParams *process_settings, VideoCodecType codec_type, bool hw_codec, bool use_single_core, float packet_loss_probability, int key_frame_interval, int num_temporal_layers, bool error_concealment_on, bool denoising_on, bool frame_dropper_on, bool spatial_resize_on)
 
static void SetQualityThresholds (QualityThresholds *quality_thresholds, double min_avg_psnr, double min_min_psnr, double min_avg_ssim, double min_min_ssim)
 
static void SetRateProfile (RateProfile *rate_profile, int update_index, int bit_rate, int frame_rate, int frame_index_rate_update)
 
static void SetRateControlThresholds (RateControlThresholds *rc_thresholds, int update_index, int max_num_dropped_frames, int max_key_frame_size_mismatch, int max_delta_frame_size_mismatch, int max_encoding_rate_mismatch, int max_time_hit_target, int num_spatial_resizes, int num_key_frames)
 

Protected Attributes

std::unique_ptr< VideoEncoderencoder_
 
std::unique_ptr< cricket::WebRtcVideoEncoderFactoryexternal_encoder_factory_
 
std::unique_ptr< VideoDecoderdecoder_
 
std::unique_ptr< cricket::WebRtcVideoDecoderFactoryexternal_decoder_factory_
 
VideoCodec codec_settings_
 
std::unique_ptr< test::FrameReaderanalysis_frame_reader_
 
std::unique_ptr< test::FrameWriteranalysis_frame_writer_
 
test::PacketReader packet_reader_
 
std::unique_ptr< test::PacketManipulatorpacket_manipulator_
 
test::Stats stats_
 
test::TestConfig config_
 
std::unique_ptr< test::VideoProcessorprocessor_
 
std::unique_ptr< test::FrameWritersource_frame_writer_
 
std::unique_ptr< IvfFileWriterencoded_frame_writer_
 
std::unique_ptr< test::FrameWriterdecoded_frame_writer_
 
int num_frames_per_update_ [3]
 
float sum_frame_size_mismatch_ [3]
 
float sum_encoded_frame_size_ [3]
 
float encoding_bitrate_ [3]
 
float per_frame_bandwidth_ [3]
 
float bit_rate_layer_ [3]
 
float frame_rate_layer_ [3]
 
int num_frames_total_
 
float sum_encoded_frame_size_total_
 
float encoding_bitrate_total_
 
float perc_encoding_rate_mismatch_
 
int num_frames_to_hit_target_
 
bool encoding_rate_within_target_
 
int bit_rate_
 
int frame_rate_
 
int layer_
 
float target_size_key_frame_initial_
 
float target_size_key_frame_
 
float sum_key_frame_size_mismatch_
 
int num_key_frames_
 
float start_bitrate_
 
int start_frame_rate_
 
float packet_loss_probability_
 
int num_temporal_layers_
 

Constructor & Destructor Documentation

◆ VideoProcessorIntegrationTest() [1/2]

webrtc::test::VideoProcessorIntegrationTest::VideoProcessorIntegrationTest ( )
inlineprotected

◆ ~VideoProcessorIntegrationTest() [1/2]

virtual webrtc::test::VideoProcessorIntegrationTest::~VideoProcessorIntegrationTest ( )
protectedvirtualdefault

◆ VideoProcessorIntegrationTest() [2/2]

webrtc::test::VideoProcessorIntegrationTest::VideoProcessorIntegrationTest ( )
inlineprotected

◆ ~VideoProcessorIntegrationTest() [2/2]

virtual webrtc::test::VideoProcessorIntegrationTest::~VideoProcessorIntegrationTest ( )
protectedvirtualdefault

Member Function Documentation

◆ LayerIndexForFrame() [1/2]

void webrtc::test::VideoProcessorIntegrationTest::LayerIndexForFrame ( int  frame_number)
inlineprotected

◆ LayerIndexForFrame() [2/2]

void webrtc::test::VideoProcessorIntegrationTest::LayerIndexForFrame ( int  frame_number)
inlineprotected

◆ ProcessFramesAndVerify() [1/2]

void webrtc::test::VideoProcessorIntegrationTest::ProcessFramesAndVerify ( QualityThresholds  quality_thresholds,
RateProfile  rate_profile,
CodecParams  process,
RateControlThresholds rc_thresholds,
const VisualizationParams visualization_params 
)
inlineprotected

◆ ProcessFramesAndVerify() [2/2]

void webrtc::test::VideoProcessorIntegrationTest::ProcessFramesAndVerify ( QualityThresholds  quality_thresholds,
RateProfile  rate_profile,
CodecParams  process,
RateControlThresholds rc_thresholds,
const VisualizationParams visualization_params 
)
inlineprotected

◆ ResetRateControlMetrics() [1/2]

void webrtc::test::VideoProcessorIntegrationTest::ResetRateControlMetrics ( int  num_frames)
inlineprotected

◆ ResetRateControlMetrics() [2/2]

void webrtc::test::VideoProcessorIntegrationTest::ResetRateControlMetrics ( int  num_frames)
inlineprotected

◆ SetCodecParams() [1/4]

static void webrtc::test::VideoProcessorIntegrationTest::SetCodecParams ( CodecParams process_settings,
VideoCodecType  codec_type,
bool  hw_codec,
bool  use_single_core,
float  packet_loss_probability,
int  key_frame_interval,
int  num_temporal_layers,
bool  error_concealment_on,
bool  denoising_on,
bool  frame_dropper_on,
bool  spatial_resize_on,
int  width,
int  height,
const std::string filename,
bool  verbose_logging 
)
inlinestaticprotected

◆ SetCodecParams() [2/4]

static void webrtc::test::VideoProcessorIntegrationTest::SetCodecParams ( CodecParams process_settings,
VideoCodecType  codec_type,
bool  hw_codec,
bool  use_single_core,
float  packet_loss_probability,
int  key_frame_interval,
int  num_temporal_layers,
bool  error_concealment_on,
bool  denoising_on,
bool  frame_dropper_on,
bool  spatial_resize_on,
int  width,
int  height,
const std::string filename,
bool  verbose_logging 
)
inlinestaticprotected

◆ SetCodecParams() [3/4]

static void webrtc::test::VideoProcessorIntegrationTest::SetCodecParams ( CodecParams process_settings,
VideoCodecType  codec_type,
bool  hw_codec,
bool  use_single_core,
float  packet_loss_probability,
int  key_frame_interval,
int  num_temporal_layers,
bool  error_concealment_on,
bool  denoising_on,
bool  frame_dropper_on,
bool  spatial_resize_on 
)
inlinestaticprotected

◆ SetCodecParams() [4/4]

static void webrtc::test::VideoProcessorIntegrationTest::SetCodecParams ( CodecParams process_settings,
VideoCodecType  codec_type,
bool  hw_codec,
bool  use_single_core,
float  packet_loss_probability,
int  key_frame_interval,
int  num_temporal_layers,
bool  error_concealment_on,
bool  denoising_on,
bool  frame_dropper_on,
bool  spatial_resize_on 
)
inlinestaticprotected

◆ SetLayerRates() [1/2]

void webrtc::test::VideoProcessorIntegrationTest::SetLayerRates ( )
inlineprotected

◆ SetLayerRates() [2/2]

void webrtc::test::VideoProcessorIntegrationTest::SetLayerRates ( )
inlineprotected

◆ SetQualityThresholds() [1/2]

static void webrtc::test::VideoProcessorIntegrationTest::SetQualityThresholds ( QualityThresholds quality_thresholds,
double  min_avg_psnr,
double  min_min_psnr,
double  min_avg_ssim,
double  min_min_ssim 
)
inlinestaticprotected

◆ SetQualityThresholds() [2/2]

static void webrtc::test::VideoProcessorIntegrationTest::SetQualityThresholds ( QualityThresholds quality_thresholds,
double  min_avg_psnr,
double  min_min_psnr,
double  min_avg_ssim,
double  min_min_ssim 
)
inlinestaticprotected

◆ SetRateControlThresholds() [1/2]

static void webrtc::test::VideoProcessorIntegrationTest::SetRateControlThresholds ( RateControlThresholds rc_thresholds,
int  update_index,
int  max_num_dropped_frames,
int  max_key_frame_size_mismatch,
int  max_delta_frame_size_mismatch,
int  max_encoding_rate_mismatch,
int  max_time_hit_target,
int  num_spatial_resizes,
int  num_key_frames 
)
inlinestaticprotected

◆ SetRateControlThresholds() [2/2]

static void webrtc::test::VideoProcessorIntegrationTest::SetRateControlThresholds ( RateControlThresholds rc_thresholds,
int  update_index,
int  max_num_dropped_frames,
int  max_key_frame_size_mismatch,
int  max_delta_frame_size_mismatch,
int  max_encoding_rate_mismatch,
int  max_time_hit_target,
int  num_spatial_resizes,
int  num_key_frames 
)
inlinestaticprotected

◆ SetRateProfile() [1/2]

static void webrtc::test::VideoProcessorIntegrationTest::SetRateProfile ( RateProfile rate_profile,
int  update_index,
int  bit_rate,
int  frame_rate,
int  frame_index_rate_update 
)
inlinestaticprotected

◆ SetRateProfile() [2/2]

static void webrtc::test::VideoProcessorIntegrationTest::SetRateProfile ( RateProfile rate_profile,
int  update_index,
int  bit_rate,
int  frame_rate,
int  frame_index_rate_update 
)
inlinestaticprotected

◆ SetUpCodecConfig() [1/2]

void webrtc::test::VideoProcessorIntegrationTest::SetUpCodecConfig ( const CodecParams process,
const VisualizationParams visualization_params 
)
inlineprotected

◆ SetUpCodecConfig() [2/2]

void webrtc::test::VideoProcessorIntegrationTest::SetUpCodecConfig ( const CodecParams process,
const VisualizationParams visualization_params 
)
inlineprotected

◆ UpdateRateControlMetrics() [1/2]

void webrtc::test::VideoProcessorIntegrationTest::UpdateRateControlMetrics ( int  frame_num,
FrameType  frame_type 
)
inlineprotected

◆ UpdateRateControlMetrics() [2/2]

void webrtc::test::VideoProcessorIntegrationTest::UpdateRateControlMetrics ( int  frame_num,
FrameType  frame_type 
)
inlineprotected

◆ VerifyQuality() [1/2]

void webrtc::test::VideoProcessorIntegrationTest::VerifyQuality ( const test::QualityMetricsResult psnr_result,
const test::QualityMetricsResult ssim_result,
const QualityThresholds quality_thresholds 
)
inlineprotected

◆ VerifyQuality() [2/2]

void webrtc::test::VideoProcessorIntegrationTest::VerifyQuality ( const test::QualityMetricsResult psnr_result,
const test::QualityMetricsResult ssim_result,
const QualityThresholds quality_thresholds 
)
inlineprotected

◆ VerifyRateControlMetrics() [1/2]

void webrtc::test::VideoProcessorIntegrationTest::VerifyRateControlMetrics ( int  update_index,
int  max_key_frame_size_mismatch,
int  max_delta_frame_size_mismatch,
int  max_encoding_rate_mismatch,
int  max_time_hit_target,
int  max_num_dropped_frames,
int  num_spatial_resizes,
int  num_key_frames 
)
inlineprotected

◆ VerifyRateControlMetrics() [2/2]

void webrtc::test::VideoProcessorIntegrationTest::VerifyRateControlMetrics ( int  update_index,
int  max_key_frame_size_mismatch,
int  max_delta_frame_size_mismatch,
int  max_encoding_rate_mismatch,
int  max_time_hit_target,
int  max_num_dropped_frames,
int  num_spatial_resizes,
int  num_key_frames 
)
inlineprotected

Member Data Documentation

◆ analysis_frame_reader_

std::unique_ptr< test::FrameReader > webrtc::test::VideoProcessorIntegrationTest::analysis_frame_reader_
protected

◆ analysis_frame_writer_

std::unique_ptr< test::FrameWriter > webrtc::test::VideoProcessorIntegrationTest::analysis_frame_writer_
protected

◆ bit_rate_

int webrtc::test::VideoProcessorIntegrationTest::bit_rate_
protected

◆ bit_rate_layer_

float webrtc::test::VideoProcessorIntegrationTest::bit_rate_layer_
protected

◆ codec_settings_

VideoCodec webrtc::test::VideoProcessorIntegrationTest::codec_settings_
protected

◆ config_

test::TestConfig webrtc::test::VideoProcessorIntegrationTest::config_
protected

◆ decoded_frame_writer_

std::unique_ptr< test::FrameWriter > webrtc::test::VideoProcessorIntegrationTest::decoded_frame_writer_
protected

◆ decoder_

std::unique_ptr< VideoDecoder > webrtc::test::VideoProcessorIntegrationTest::decoder_
protected

◆ encoded_frame_writer_

std::unique_ptr< IvfFileWriter > webrtc::test::VideoProcessorIntegrationTest::encoded_frame_writer_
protected

◆ encoder_

std::unique_ptr< VideoEncoder > webrtc::test::VideoProcessorIntegrationTest::encoder_
protected

◆ encoding_bitrate_

float webrtc::test::VideoProcessorIntegrationTest::encoding_bitrate_
protected

◆ encoding_bitrate_total_

float webrtc::test::VideoProcessorIntegrationTest::encoding_bitrate_total_
protected

◆ encoding_rate_within_target_

bool webrtc::test::VideoProcessorIntegrationTest::encoding_rate_within_target_
protected

◆ external_decoder_factory_

std::unique_ptr< cricket::WebRtcVideoDecoderFactory > webrtc::test::VideoProcessorIntegrationTest::external_decoder_factory_
protected

◆ external_encoder_factory_

std::unique_ptr< cricket::WebRtcVideoEncoderFactory > webrtc::test::VideoProcessorIntegrationTest::external_encoder_factory_
protected

◆ frame_rate_

int webrtc::test::VideoProcessorIntegrationTest::frame_rate_
protected

◆ frame_rate_layer_

float webrtc::test::VideoProcessorIntegrationTest::frame_rate_layer_
protected

◆ layer_

int webrtc::test::VideoProcessorIntegrationTest::layer_
protected

◆ num_frames_per_update_

int webrtc::test::VideoProcessorIntegrationTest::num_frames_per_update_
protected

◆ num_frames_to_hit_target_

int webrtc::test::VideoProcessorIntegrationTest::num_frames_to_hit_target_
protected

◆ num_frames_total_

int webrtc::test::VideoProcessorIntegrationTest::num_frames_total_
protected

◆ num_key_frames_

int webrtc::test::VideoProcessorIntegrationTest::num_key_frames_
protected

◆ num_temporal_layers_

int webrtc::test::VideoProcessorIntegrationTest::num_temporal_layers_
protected

◆ packet_loss_probability_

float webrtc::test::VideoProcessorIntegrationTest::packet_loss_probability_
protected

◆ packet_manipulator_

std::unique_ptr< test::PacketManipulator > webrtc::test::VideoProcessorIntegrationTest::packet_manipulator_
protected

◆ packet_reader_

test::PacketReader webrtc::test::VideoProcessorIntegrationTest::packet_reader_
protected

◆ per_frame_bandwidth_

float webrtc::test::VideoProcessorIntegrationTest::per_frame_bandwidth_
protected

◆ perc_encoding_rate_mismatch_

float webrtc::test::VideoProcessorIntegrationTest::perc_encoding_rate_mismatch_
protected

◆ processor_

std::unique_ptr< test::VideoProcessor > webrtc::test::VideoProcessorIntegrationTest::processor_
protected

◆ source_frame_writer_

std::unique_ptr< test::FrameWriter > webrtc::test::VideoProcessorIntegrationTest::source_frame_writer_
protected

◆ start_bitrate_

float webrtc::test::VideoProcessorIntegrationTest::start_bitrate_
protected

◆ start_frame_rate_

int webrtc::test::VideoProcessorIntegrationTest::start_frame_rate_
protected

◆ stats_

test::Stats webrtc::test::VideoProcessorIntegrationTest::stats_
protected

◆ sum_encoded_frame_size_

float webrtc::test::VideoProcessorIntegrationTest::sum_encoded_frame_size_
protected

◆ sum_encoded_frame_size_total_

float webrtc::test::VideoProcessorIntegrationTest::sum_encoded_frame_size_total_
protected

◆ sum_frame_size_mismatch_

float webrtc::test::VideoProcessorIntegrationTest::sum_frame_size_mismatch_
protected

◆ sum_key_frame_size_mismatch_

float webrtc::test::VideoProcessorIntegrationTest::sum_key_frame_size_mismatch_
protected

◆ target_size_key_frame_

float webrtc::test::VideoProcessorIntegrationTest::target_size_key_frame_
protected

◆ target_size_key_frame_initial_

float webrtc::test::VideoProcessorIntegrationTest::target_size_key_frame_initial_
protected

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