diff options
Diffstat (limited to 'webrtc/modules/video_coding/codecs/vp8/simulcast_unittest.h')
-rw-r--r-- | webrtc/modules/video_coding/codecs/vp8/simulcast_unittest.h | 282 |
1 files changed, 121 insertions, 161 deletions
diff --git a/webrtc/modules/video_coding/codecs/vp8/simulcast_unittest.h b/webrtc/modules/video_coding/codecs/vp8/simulcast_unittest.h index e4fc986545..7a7a2c253b 100644 --- a/webrtc/modules/video_coding/codecs/vp8/simulcast_unittest.h +++ b/webrtc/modules/video_coding/codecs/vp8/simulcast_unittest.h @@ -14,10 +14,11 @@ #include <algorithm> #include <vector> +#include "webrtc/base/checks.h" #include "webrtc/base/scoped_ptr.h" #include "webrtc/common.h" #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" -#include "webrtc/modules/video_coding/codecs/interface/mock/mock_video_codec_interface.h" +#include "webrtc/modules/video_coding/include/mock/mock_video_codec_interface.h" #include "webrtc/modules/video_coding/codecs/vp8/include/vp8.h" #include "webrtc/modules/video_coding/codecs/vp8/temporal_layers.h" #include "webrtc/video_frame.h" @@ -43,10 +44,8 @@ const int kMinBitrates[kNumberOfSimulcastStreams] = {50, 150, 600}; const int kTargetBitrates[kNumberOfSimulcastStreams] = {100, 450, 1000}; const int kDefaultTemporalLayerProfile[3] = {3, 3, 3}; -template<typename T> void SetExpectedValues3(T value0, - T value1, - T value2, - T* expected_values) { +template <typename T> +void SetExpectedValues3(T value0, T value1, T value2, T* expected_values) { expected_values[0] = value0; expected_values[1] = value1; expected_values[2] = value2; @@ -54,15 +53,14 @@ template<typename T> void SetExpectedValues3(T value0, class Vp8TestEncodedImageCallback : public EncodedImageCallback { public: - Vp8TestEncodedImageCallback() - : picture_id_(-1) { + Vp8TestEncodedImageCallback() : picture_id_(-1) { memset(temporal_layer_, -1, sizeof(temporal_layer_)); memset(layer_sync_, false, sizeof(layer_sync_)); } ~Vp8TestEncodedImageCallback() { - delete [] encoded_key_frame_._buffer; - delete [] encoded_frame_._buffer; + delete[] encoded_key_frame_._buffer; + delete[] encoded_frame_._buffer; } virtual int32_t Encoded(const EncodedImage& encoded_image, @@ -71,22 +69,20 @@ class Vp8TestEncodedImageCallback : public EncodedImageCallback { // Only store the base layer. if (codec_specific_info->codecSpecific.VP8.simulcastIdx == 0) { if (encoded_image._frameType == kVideoFrameKey) { - delete [] encoded_key_frame_._buffer; + delete[] encoded_key_frame_._buffer; encoded_key_frame_._buffer = new uint8_t[encoded_image._size]; encoded_key_frame_._size = encoded_image._size; encoded_key_frame_._length = encoded_image._length; encoded_key_frame_._frameType = kVideoFrameKey; encoded_key_frame_._completeFrame = encoded_image._completeFrame; - memcpy(encoded_key_frame_._buffer, - encoded_image._buffer, + memcpy(encoded_key_frame_._buffer, encoded_image._buffer, encoded_image._length); } else { - delete [] encoded_frame_._buffer; + delete[] encoded_frame_._buffer; encoded_frame_._buffer = new uint8_t[encoded_image._size]; encoded_frame_._size = encoded_image._size; encoded_frame_._length = encoded_image._length; - memcpy(encoded_frame_._buffer, - encoded_image._buffer, + memcpy(encoded_frame_._buffer, encoded_image._buffer, encoded_image._length); } } @@ -97,8 +93,10 @@ class Vp8TestEncodedImageCallback : public EncodedImageCallback { codec_specific_info->codecSpecific.VP8.temporalIdx; return 0; } - void GetLastEncodedFrameInfo(int* picture_id, int* temporal_layer, - bool* layer_sync, int stream) { + void GetLastEncodedFrameInfo(int* picture_id, + int* temporal_layer, + bool* layer_sync, + int stream) { *picture_id = picture_id_; *temporal_layer = temporal_layer_[stream]; *layer_sync = layer_sync_[stream]; @@ -120,10 +118,8 @@ class Vp8TestEncodedImageCallback : public EncodedImageCallback { class Vp8TestDecodedImageCallback : public DecodedImageCallback { public: - Vp8TestDecodedImageCallback() - : decoded_frames_(0) { - } - virtual int32_t Decoded(VideoFrame& decoded_image) { + Vp8TestDecodedImageCallback() : decoded_frames_(0) {} + int32_t Decoded(VideoFrame& decoded_image) override { for (int i = 0; i < decoded_image.width(); ++i) { EXPECT_NEAR(kColorY, decoded_image.buffer(kYPlane)[i], 1); } @@ -136,9 +132,11 @@ class Vp8TestDecodedImageCallback : public DecodedImageCallback { decoded_frames_++; return 0; } - int DecodedFrames() { - return decoded_frames_; + int32_t Decoded(VideoFrame& decoded_image, int64_t decode_time_ms) override { + RTC_NOTREACHED(); + return -1; } + int DecodedFrames() { return decoded_frames_; } private: int decoded_frames_; @@ -161,8 +159,7 @@ class SkipEncodingUnusedStreamsTest { std::vector<unsigned int> configured_bitrates; for (std::vector<TemporalLayers*>::const_iterator it = spy_factory->spying_layers_.begin(); - it != spy_factory->spying_layers_.end(); - ++it) { + it != spy_factory->spying_layers_.end(); ++it) { configured_bitrates.push_back( static_cast<SpyingTemporalLayers*>(*it)->configured_bitrate_); } @@ -185,8 +182,8 @@ class SkipEncodingUnusedStreamsTest { int framerate, vpx_codec_enc_cfg_t* cfg) override { configured_bitrate_ = bitrate_kbit; - return layers_->ConfigureBitrates( - bitrate_kbit, max_bitrate_kbit, framerate, cfg); + return layers_->ConfigureBitrates(bitrate_kbit, max_bitrate_kbit, + framerate, cfg); } void PopulateCodecSpecific(bool base_layer_sync, @@ -228,16 +225,15 @@ class SkipEncodingUnusedStreamsTest { class TestVp8Simulcast : public ::testing::Test { public: TestVp8Simulcast(VP8Encoder* encoder, VP8Decoder* decoder) - : encoder_(encoder), - decoder_(decoder) {} + : encoder_(encoder), decoder_(decoder) {} // Creates an VideoFrame from |plane_colors|. static void CreateImage(VideoFrame* frame, int plane_colors[kNumOfPlanes]) { for (int plane_num = 0; plane_num < kNumOfPlanes; ++plane_num) { - int width = (plane_num != kYPlane ? (frame->width() + 1) / 2 : - frame->width()); - int height = (plane_num != kYPlane ? (frame->height() + 1) / 2 : - frame->height()); + int width = + (plane_num != kYPlane ? (frame->width() + 1) / 2 : frame->width()); + int height = + (plane_num != kYPlane ? (frame->height() + 1) / 2 : frame->height()); PlaneType plane_type = static_cast<PlaneType>(plane_num); uint8_t* data = frame->buffer(plane_type); // Setting allocated area to zero - setting only image size to @@ -267,24 +263,15 @@ class TestVp8Simulcast : public ::testing::Test { settings->height = kDefaultHeight; settings->numberOfSimulcastStreams = kNumberOfSimulcastStreams; ASSERT_EQ(3, kNumberOfSimulcastStreams); - ConfigureStream(kDefaultWidth / 4, kDefaultHeight / 4, - kMaxBitrates[0], - kMinBitrates[0], - kTargetBitrates[0], - &settings->simulcastStream[0], - temporal_layer_profile[0]); - ConfigureStream(kDefaultWidth / 2, kDefaultHeight / 2, - kMaxBitrates[1], - kMinBitrates[1], - kTargetBitrates[1], - &settings->simulcastStream[1], - temporal_layer_profile[1]); - ConfigureStream(kDefaultWidth, kDefaultHeight, - kMaxBitrates[2], - kMinBitrates[2], - kTargetBitrates[2], - &settings->simulcastStream[2], - temporal_layer_profile[2]); + ConfigureStream(kDefaultWidth / 4, kDefaultHeight / 4, kMaxBitrates[0], + kMinBitrates[0], kTargetBitrates[0], + &settings->simulcastStream[0], temporal_layer_profile[0]); + ConfigureStream(kDefaultWidth / 2, kDefaultHeight / 2, kMaxBitrates[1], + kMinBitrates[1], kTargetBitrates[1], + &settings->simulcastStream[1], temporal_layer_profile[1]); + ConfigureStream(kDefaultWidth, kDefaultHeight, kMaxBitrates[2], + kMinBitrates[2], kTargetBitrates[2], + &settings->simulcastStream[2], temporal_layer_profile[2]); settings->codecSpecific.VP8.resilience = kResilientStream; settings->codecSpecific.VP8.denoisingOn = true; settings->codecSpecific.VP8.errorConcealmentOn = false; @@ -312,9 +299,7 @@ class TestVp8Simulcast : public ::testing::Test { } protected: - virtual void SetUp() { - SetUpCodec(kDefaultTemporalLayerProfile); - } + virtual void SetUp() { SetUpCodec(kDefaultTemporalLayerProfile); } virtual void SetUpCodec(const int* temporal_layer_profile) { encoder_->RegisterEncodeCompleteCallback(&encoder_callback_); @@ -323,14 +308,14 @@ class TestVp8Simulcast : public ::testing::Test { EXPECT_EQ(0, encoder_->InitEncode(&settings_, 1, 1200)); EXPECT_EQ(0, decoder_->InitDecode(&settings_, 1)); int half_width = (kDefaultWidth + 1) / 2; - input_frame_.CreateEmptyFrame(kDefaultWidth, kDefaultHeight, - kDefaultWidth, half_width, half_width); + input_frame_.CreateEmptyFrame(kDefaultWidth, kDefaultHeight, kDefaultWidth, + half_width, half_width); memset(input_frame_.buffer(kYPlane), 0, - input_frame_.allocated_size(kYPlane)); + input_frame_.allocated_size(kYPlane)); memset(input_frame_.buffer(kUPlane), 0, - input_frame_.allocated_size(kUPlane)); + input_frame_.allocated_size(kUPlane)); memset(input_frame_.buffer(kVPlane), 0, - input_frame_.allocated_size(kVPlane)); + input_frame_.allocated_size(kVPlane)); } virtual void TearDown() { @@ -342,28 +327,34 @@ class TestVp8Simulcast : public ::testing::Test { ASSERT_GE(expected_video_streams, 0); ASSERT_LE(expected_video_streams, kNumberOfSimulcastStreams); if (expected_video_streams >= 1) { - EXPECT_CALL(encoder_callback_, Encoded( - AllOf(Field(&EncodedImage::_frameType, frame_type), - Field(&EncodedImage::_encodedWidth, kDefaultWidth / 4), - Field(&EncodedImage::_encodedHeight, kDefaultHeight / 4)), _, _) - ) + EXPECT_CALL( + encoder_callback_, + Encoded( + AllOf(Field(&EncodedImage::_frameType, frame_type), + Field(&EncodedImage::_encodedWidth, kDefaultWidth / 4), + Field(&EncodedImage::_encodedHeight, kDefaultHeight / 4)), + _, _)) .Times(1) .WillRepeatedly(Return(0)); } if (expected_video_streams >= 2) { - EXPECT_CALL(encoder_callback_, Encoded( - AllOf(Field(&EncodedImage::_frameType, frame_type), - Field(&EncodedImage::_encodedWidth, kDefaultWidth / 2), - Field(&EncodedImage::_encodedHeight, kDefaultHeight / 2)), _, _) - ) + EXPECT_CALL( + encoder_callback_, + Encoded( + AllOf(Field(&EncodedImage::_frameType, frame_type), + Field(&EncodedImage::_encodedWidth, kDefaultWidth / 2), + Field(&EncodedImage::_encodedHeight, kDefaultHeight / 2)), + _, _)) .Times(1) .WillRepeatedly(Return(0)); } if (expected_video_streams >= 3) { - EXPECT_CALL(encoder_callback_, Encoded( - AllOf(Field(&EncodedImage::_frameType, frame_type), - Field(&EncodedImage::_encodedWidth, kDefaultWidth), - Field(&EncodedImage::_encodedHeight, kDefaultHeight)), _, _)) + EXPECT_CALL( + encoder_callback_, + Encoded(AllOf(Field(&EncodedImage::_frameType, frame_type), + Field(&EncodedImage::_encodedWidth, kDefaultWidth), + Field(&EncodedImage::_encodedHeight, kDefaultHeight)), + _, _)) .Times(1) .WillRepeatedly(Return(0)); } @@ -477,8 +468,8 @@ class TestVp8Simulcast : public ::testing::Test { void TestPaddingOneStreamTwoMaxedOut() { // We are just below limit of sending third stream, so we should get // first stream's rate maxed out at |targetBitrate|, second at |maxBitrate|. - encoder_->SetRates(kTargetBitrates[0] + kTargetBitrates[1] + - kMinBitrates[2] - 1, 30); + encoder_->SetRates( + kTargetBitrates[0] + kTargetBitrates[1] + kMinBitrates[2] - 1, 30); std::vector<FrameType> frame_types(kNumberOfSimulcastStreams, kVideoFrameDelta); ExpectStreams(kVideoFrameKey, 2); @@ -491,8 +482,8 @@ class TestVp8Simulcast : public ::testing::Test { void TestSendAllStreams() { // We have just enough to send all streams. - encoder_->SetRates(kTargetBitrates[0] + kTargetBitrates[1] + - kMinBitrates[2], 30); + encoder_->SetRates( + kTargetBitrates[0] + kTargetBitrates[1] + kMinBitrates[2], 30); std::vector<FrameType> frame_types(kNumberOfSimulcastStreams, kVideoFrameDelta); ExpectStreams(kVideoFrameKey, 3); @@ -505,8 +496,7 @@ class TestVp8Simulcast : public ::testing::Test { void TestDisablingStreams() { // We should get three media streams. - encoder_->SetRates(kMaxBitrates[0] + kMaxBitrates[1] + - kMaxBitrates[2], 30); + encoder_->SetRates(kMaxBitrates[0] + kMaxBitrates[1] + kMaxBitrates[2], 30); std::vector<FrameType> frame_types(kNumberOfSimulcastStreams, kVideoFrameDelta); ExpectStreams(kVideoFrameKey, 3); @@ -517,8 +507,8 @@ class TestVp8Simulcast : public ::testing::Test { EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, &frame_types)); // We should only get two streams and padding for one. - encoder_->SetRates(kTargetBitrates[0] + kTargetBitrates[1] + - kMinBitrates[2] / 2, 30); + encoder_->SetRates( + kTargetBitrates[0] + kTargetBitrates[1] + kMinBitrates[2] / 2, 30); ExpectStreams(kVideoFrameDelta, 2); input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, &frame_types)); @@ -537,16 +527,16 @@ class TestVp8Simulcast : public ::testing::Test { EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, &frame_types)); // We should only get two streams and padding for one. - encoder_->SetRates(kTargetBitrates[0] + kTargetBitrates[1] + - kMinBitrates[2] / 2, 30); + encoder_->SetRates( + kTargetBitrates[0] + kTargetBitrates[1] + kMinBitrates[2] / 2, 30); // We get a key frame because a new stream is being enabled. ExpectStreams(kVideoFrameKey, 2); input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, &frame_types)); // We should get all three streams. - encoder_->SetRates(kTargetBitrates[0] + kTargetBitrates[1] + - kTargetBitrates[2], 30); + encoder_->SetRates( + kTargetBitrates[0] + kTargetBitrates[1] + kTargetBitrates[2], 30); // We get a key frame because a new stream is being enabled. ExpectStreams(kVideoFrameKey, 3); input_frame_.set_timestamp(input_frame_.timestamp() + 3000); @@ -571,20 +561,20 @@ class TestVp8Simulcast : public ::testing::Test { input_frame_.CreateEmptyFrame(settings_.width, settings_.height, settings_.width, half_width, half_width); memset(input_frame_.buffer(kYPlane), 0, - input_frame_.allocated_size(kYPlane)); + input_frame_.allocated_size(kYPlane)); memset(input_frame_.buffer(kUPlane), 0, - input_frame_.allocated_size(kUPlane)); + input_frame_.allocated_size(kUPlane)); memset(input_frame_.buffer(kVPlane), 0, - input_frame_.allocated_size(kVPlane)); + input_frame_.allocated_size(kVPlane)); // The for loop above did not set the bitrate of the highest layer. - settings_.simulcastStream[settings_.numberOfSimulcastStreams - 1]. - maxBitrate = 0; + settings_.simulcastStream[settings_.numberOfSimulcastStreams - 1] + .maxBitrate = 0; // The highest layer has to correspond to the non-simulcast resolution. - settings_.simulcastStream[settings_.numberOfSimulcastStreams - 1]. - width = settings_.width; - settings_.simulcastStream[settings_.numberOfSimulcastStreams - 1]. - height = settings_.height; + settings_.simulcastStream[settings_.numberOfSimulcastStreams - 1].width = + settings_.width; + settings_.simulcastStream[settings_.numberOfSimulcastStreams - 1].height = + settings_.height; EXPECT_EQ(0, encoder_->InitEncode(&settings_, 1, 1200)); // Encode one frame and verify. @@ -612,21 +602,17 @@ class TestVp8Simulcast : public ::testing::Test { input_frame_.CreateEmptyFrame(settings_.width, settings_.height, settings_.width, half_width, half_width); memset(input_frame_.buffer(kYPlane), 0, - input_frame_.allocated_size(kYPlane)); + input_frame_.allocated_size(kYPlane)); memset(input_frame_.buffer(kUPlane), 0, - input_frame_.allocated_size(kUPlane)); + input_frame_.allocated_size(kUPlane)); memset(input_frame_.buffer(kVPlane), 0, - input_frame_.allocated_size(kVPlane)); + input_frame_.allocated_size(kVPlane)); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, &frame_types)); } - void TestSwitchingToOneStream() { - SwitchingToOneStream(1024, 768); - } + void TestSwitchingToOneStream() { SwitchingToOneStream(1024, 768); } - void TestSwitchingToOneOddStream() { - SwitchingToOneStream(1023, 769); - } + void TestSwitchingToOneOddStream() { SwitchingToOneStream(1023, 769); } void TestRPSIEncoder() { Vp8TestEncodedImageCallback encoder_callback; @@ -777,67 +763,55 @@ class TestVp8Simulcast : public ::testing::Test { encoder_->RegisterEncodeCompleteCallback(&encoder_callback); encoder_->SetRates(kMaxBitrates[2], 30); // To get all three streams. - int expected_temporal_idx[3] = { -1, -1, -1}; + int expected_temporal_idx[3] = {-1, -1, -1}; bool expected_layer_sync[3] = {false, false, false}; // First frame: #0. EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(0, 0, 0, expected_temporal_idx); SetExpectedValues3<bool>(true, true, true, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #1. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(2, 2, 2, expected_temporal_idx); SetExpectedValues3<bool>(true, true, true, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #2. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(1, 1, 1, expected_temporal_idx); SetExpectedValues3<bool>(true, true, true, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #3. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(2, 2, 2, expected_temporal_idx); SetExpectedValues3<bool>(false, false, false, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #4. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(0, 0, 0, expected_temporal_idx); SetExpectedValues3<bool>(false, false, false, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #5. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(2, 2, 2, expected_temporal_idx); SetExpectedValues3<bool>(false, false, false, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); } // Test the layer pattern and sync flag for various spatial-temporal patterns. @@ -858,67 +832,55 @@ class TestVp8Simulcast : public ::testing::Test { encoder_->RegisterEncodeCompleteCallback(&encoder_callback); encoder_->SetRates(kMaxBitrates[2], 30); // To get all three streams. - int expected_temporal_idx[3] = { -1, -1, -1}; + int expected_temporal_idx[3] = {-1, -1, -1}; bool expected_layer_sync[3] = {false, false, false}; // First frame: #0. EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(0, 0, 255, expected_temporal_idx); SetExpectedValues3<bool>(true, true, false, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #1. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(2, 1, 255, expected_temporal_idx); SetExpectedValues3<bool>(true, true, false, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #2. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(1, 0, 255, expected_temporal_idx); SetExpectedValues3<bool>(true, false, false, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #3. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(2, 1, 255, expected_temporal_idx); SetExpectedValues3<bool>(false, false, false, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #4. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(0, 0, 255, expected_temporal_idx); SetExpectedValues3<bool>(false, false, false, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); // Next frame: #5. input_frame_.set_timestamp(input_frame_.timestamp() + 3000); EXPECT_EQ(0, encoder_->Encode(input_frame_, NULL, NULL)); SetExpectedValues3<int>(2, 1, 255, expected_temporal_idx); SetExpectedValues3<bool>(false, false, false, expected_layer_sync); - VerifyTemporalIdxAndSyncForAllSpatialLayers(&encoder_callback, - expected_temporal_idx, - expected_layer_sync, - 3); + VerifyTemporalIdxAndSyncForAllSpatialLayers( + &encoder_callback, expected_temporal_idx, expected_layer_sync, 3); } void TestStrideEncodeDecode() { @@ -932,8 +894,8 @@ class TestVp8Simulcast : public ::testing::Test { // 1. stride > width 2. stride_y != stride_uv/2 int stride_y = kDefaultWidth + 20; int stride_uv = ((kDefaultWidth + 1) / 2) + 5; - input_frame_.CreateEmptyFrame(kDefaultWidth, kDefaultHeight, - stride_y, stride_uv, stride_uv); + input_frame_.CreateEmptyFrame(kDefaultWidth, kDefaultHeight, stride_y, + stride_uv, stride_uv); // Set color. int plane_offset[kNumOfPlanes]; plane_offset[kYPlane] = kColorY; @@ -963,10 +925,9 @@ class TestVp8Simulcast : public ::testing::Test { void TestSkipEncodingUnusedStreams() { SkipEncodingUnusedStreamsTest test; std::vector<unsigned int> configured_bitrate = - test.RunTest(encoder_.get(), - &settings_, - 1); // Target bit rate 1, to force all streams but the - // base one to be exceeding bandwidth constraints. + test.RunTest(encoder_.get(), &settings_, + 1); // Target bit rate 1, to force all streams but the + // base one to be exceeding bandwidth constraints. EXPECT_EQ(static_cast<size_t>(kNumberOfSimulcastStreams), configured_bitrate.size()); @@ -975,8 +936,7 @@ class TestVp8Simulcast : public ::testing::Test { int stream = 0; for (std::vector<unsigned int>::const_iterator it = configured_bitrate.begin(); - it != configured_bitrate.end(); - ++it) { + it != configured_bitrate.end(); ++it) { if (stream == 0) { EXPECT_EQ(min_bitrate, *it); } else { |