OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Joint encoder and decoder testing. | 5 // Joint encoder and decoder testing. |
6 // These tests operate directly on the VP8 encoder and decoder, not the | 6 // These tests operate directly on the VP8 encoder and decoder, not the |
7 // transport layer, and are targeted at validating the bit stream. | 7 // transport layer, and are targeted at validating the bit stream. |
8 | 8 |
9 #include <gtest/gtest.h> | 9 #include <gtest/gtest.h> |
10 | 10 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 }; | 70 }; |
71 } // namespace | 71 } // namespace |
72 | 72 |
73 class EncodeDecodeTest : public ::testing::Test { | 73 class EncodeDecodeTest : public ::testing::Test { |
74 protected: | 74 protected: |
75 EncodeDecodeTest() | 75 EncodeDecodeTest() |
76 : task_runner_(new test::FakeTaskRunner(&testing_clock_)), | 76 : task_runner_(new test::FakeTaskRunner(&testing_clock_)), |
77 // CastEnvironment will only be used by the vp8 decoder; Enable only the | 77 // CastEnvironment will only be used by the vp8 decoder; Enable only the |
78 // video decoder and main threads. | 78 // video decoder and main threads. |
79 cast_environment_(new CastEnvironment(&testing_clock_, task_runner_, | 79 cast_environment_(new CastEnvironment(&testing_clock_, task_runner_, |
80 NULL, NULL, NULL, task_runner_, GetDefaultCastLoggingConfig())), | 80 NULL, NULL, NULL, task_runner_, NULL, |
| 81 GetDefaultCastLoggingConfig())), |
81 test_callback_(new EncodeDecodeTestFrameCallback()) { | 82 test_callback_(new EncodeDecodeTestFrameCallback()) { |
82 testing_clock_.Advance( | 83 testing_clock_.Advance( |
83 base::TimeDelta::FromMilliseconds(kStartMillisecond)); | 84 base::TimeDelta::FromMilliseconds(kStartMillisecond)); |
84 encoder_config_.max_number_of_video_buffers_used = 1; | 85 encoder_config_.max_number_of_video_buffers_used = 1; |
85 encoder_config_.number_of_cores = 1; | 86 encoder_config_.number_of_cores = 1; |
86 encoder_config_.width = kWidth; | 87 encoder_config_.width = kWidth; |
87 encoder_config_.height = kHeight; | 88 encoder_config_.height = kHeight; |
88 encoder_config_.start_bitrate = kStartbitrate; | 89 encoder_config_.start_bitrate = kStartbitrate; |
89 encoder_config_.min_qp = kMaxQp; | 90 encoder_config_.min_qp = kMaxQp; |
90 encoder_config_.min_qp = kMinQp; | 91 encoder_config_.min_qp = kMinQp; |
(...skipping 20 matching lines...) Expand all Loading... |
111 scoped_ptr<Vp8Encoder> encoder_; | 112 scoped_ptr<Vp8Encoder> encoder_; |
112 scoped_ptr<Vp8Decoder> decoder_; | 113 scoped_ptr<Vp8Decoder> decoder_; |
113 scoped_refptr<media::VideoFrame> video_frame_; | 114 scoped_refptr<media::VideoFrame> video_frame_; |
114 base::SimpleTestTickClock testing_clock_; | 115 base::SimpleTestTickClock testing_clock_; |
115 scoped_refptr<test::FakeTaskRunner> task_runner_; | 116 scoped_refptr<test::FakeTaskRunner> task_runner_; |
116 scoped_refptr<CastEnvironment> cast_environment_; | 117 scoped_refptr<CastEnvironment> cast_environment_; |
117 scoped_refptr<EncodeDecodeTestFrameCallback> test_callback_; | 118 scoped_refptr<EncodeDecodeTestFrameCallback> test_callback_; |
118 }; | 119 }; |
119 | 120 |
120 TEST_F(EncodeDecodeTest, BasicEncodeDecode) { | 121 TEST_F(EncodeDecodeTest, BasicEncodeDecode) { |
121 EncodedVideoFrame encoded_frame; | 122 transport::EncodedVideoFrame encoded_frame; |
122 // Encode frame. | 123 // Encode frame. |
123 encoder_->Encode(video_frame_, &encoded_frame); | 124 encoder_->Encode(video_frame_, &encoded_frame); |
124 EXPECT_GT(encoded_frame.data.size(), GG_UINT64_C(0)); | 125 EXPECT_GT(encoded_frame.data.size(), GG_UINT64_C(0)); |
125 // Decode frame. | 126 // Decode frame. |
126 decoder_->Decode(&encoded_frame, base::TimeTicks(), base::Bind( | 127 decoder_->Decode(&encoded_frame, base::TimeTicks(), base::Bind( |
127 &EncodeDecodeTestFrameCallback::DecodeComplete, test_callback_)); | 128 &EncodeDecodeTestFrameCallback::DecodeComplete, test_callback_)); |
128 task_runner_->RunTasks(); | 129 task_runner_->RunTasks(); |
129 } | 130 } |
130 | 131 |
131 } // namespace cast | 132 } // namespace cast |
132 } // namespace media | 133 } // namespace media |
OLD | NEW |