Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: webrtc/common_video/libyuv/libyuv_unittest.cc

Issue 1511603004: Enable cpplint for more webrtc subfolders and fix all uncovered cpplint errors. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Feedback from tommi Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 const int size_uv_; 90 const int size_uv_;
91 const size_t frame_length_; 91 const size_t frame_length_;
92 }; 92 };
93 93
94 TestLibYuv::TestLibYuv() 94 TestLibYuv::TestLibYuv()
95 : source_file_(NULL), 95 : source_file_(NULL),
96 orig_frame_(), 96 orig_frame_(),
97 width_(352), 97 width_(352),
98 height_(288), 98 height_(288),
99 size_y_(width_ * height_), 99 size_y_(width_ * height_),
100 size_uv_(((width_ + 1 ) / 2) * ((height_ + 1) / 2)), 100 size_uv_(((width_ + 1) / 2) * ((height_ + 1) / 2)),
101 frame_length_(CalcBufferSize(kI420, 352, 288)) { 101 frame_length_(CalcBufferSize(kI420, 352, 288)) {
102 orig_buffer_.reset(new uint8_t[frame_length_]); 102 orig_buffer_.reset(new uint8_t[frame_length_]);
103 } 103 }
104 104
105 void TestLibYuv::SetUp() { 105 void TestLibYuv::SetUp() {
106 const std::string input_file_name = webrtc::test::ProjectRootPath() + 106 const std::string input_file_name = webrtc::test::ProjectRootPath() +
107 "resources/foreman_cif.yuv"; 107 "resources/foreman_cif.yuv";
108 source_file_ = fopen(input_file_name.c_str(), "rb"); 108 source_file_ = fopen(input_file_name.c_str(), "rb");
109 ASSERT_TRUE(source_file_ != NULL) << "Cannot read file: "<< 109 ASSERT_TRUE(source_file_ != NULL) << "Cannot read file: "<<
110 input_file_name << "\n"; 110 input_file_name << "\n";
(...skipping 24 matching lines...) Expand all
135 // Reading YUV frame - testing on the first frame of the foreman sequence 135 // Reading YUV frame - testing on the first frame of the foreman sequence
136 int j = 0; 136 int j = 0;
137 std::string output_file_name = webrtc::test::OutputPath() + 137 std::string output_file_name = webrtc::test::OutputPath() +
138 "LibYuvTest_conversion.yuv"; 138 "LibYuvTest_conversion.yuv";
139 FILE* output_file = fopen(output_file_name.c_str(), "wb"); 139 FILE* output_file = fopen(output_file_name.c_str(), "wb");
140 ASSERT_TRUE(output_file != NULL); 140 ASSERT_TRUE(output_file != NULL);
141 141
142 double psnr = 0.0; 142 double psnr = 0.0;
143 143
144 VideoFrame res_i420_frame; 144 VideoFrame res_i420_frame;
145 EXPECT_EQ(0,res_i420_frame.CreateEmptyFrame(width_, height_, width_, 145 EXPECT_EQ(0, res_i420_frame.CreateEmptyFrame(width_, height_, width_,
146 (width_ + 1) / 2, 146 (width_ + 1) / 2,
147 (width_ + 1) / 2)); 147 (width_ + 1) / 2));
148 printf("\nConvert #%d I420 <-> I420 \n", j); 148 printf("\nConvert #%d I420 <-> I420 \n", j);
149 rtc::scoped_ptr<uint8_t[]> out_i420_buffer(new uint8_t[frame_length_]); 149 rtc::scoped_ptr<uint8_t[]> out_i420_buffer(new uint8_t[frame_length_]);
150 EXPECT_EQ(0, ConvertFromI420(orig_frame_, kI420, 0, 150 EXPECT_EQ(0, ConvertFromI420(orig_frame_, kI420, 0,
151 out_i420_buffer.get())); 151 out_i420_buffer.get()));
152 EXPECT_EQ(0, ConvertToI420(kI420, out_i420_buffer.get(), 0, 0, width_, 152 EXPECT_EQ(0, ConvertToI420(kI420, out_i420_buffer.get(), 0, 0, width_,
153 height_, 0, kVideoRotation_0, &res_i420_frame)); 153 height_, 0, kVideoRotation_0, &res_i420_frame));
154 154
155 if (PrintVideoFrame(res_i420_frame, output_file) < 0) { 155 if (PrintVideoFrame(res_i420_frame, output_file) < 0) {
156 return; 156 return;
157 } 157 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 "LibYuvTest_conversion.yuv"; 274 "LibYuvTest_conversion.yuv";
275 FILE* output_file = fopen(output_file_name.c_str(), "wb"); 275 FILE* output_file = fopen(output_file_name.c_str(), "wb");
276 ASSERT_TRUE(output_file != NULL); 276 ASSERT_TRUE(output_file != NULL);
277 277
278 double psnr = 0.0; 278 double psnr = 0.0;
279 279
280 VideoFrame res_i420_frame; 280 VideoFrame res_i420_frame;
281 int stride_y = 0; 281 int stride_y = 0;
282 int stride_uv = 0; 282 int stride_uv = 0;
283 Calc16ByteAlignedStride(width_, &stride_y, &stride_uv); 283 Calc16ByteAlignedStride(width_, &stride_y, &stride_uv);
284 EXPECT_EQ(0,res_i420_frame.CreateEmptyFrame(width_, height_, 284 EXPECT_EQ(0, res_i420_frame.CreateEmptyFrame(width_, height_,
285 stride_y, stride_uv, stride_uv)); 285 stride_y, stride_uv, stride_uv));
286 rtc::scoped_ptr<uint8_t[]> out_i420_buffer(new uint8_t[frame_length_]); 286 rtc::scoped_ptr<uint8_t[]> out_i420_buffer(new uint8_t[frame_length_]);
287 EXPECT_EQ(0, ConvertFromI420(orig_frame_, kI420, 0, 287 EXPECT_EQ(0, ConvertFromI420(orig_frame_, kI420, 0,
288 out_i420_buffer.get())); 288 out_i420_buffer.get()));
289 EXPECT_EQ(0, ConvertToI420(kI420, out_i420_buffer.get(), 0, 0, width_, 289 EXPECT_EQ(0, ConvertToI420(kI420, out_i420_buffer.get(), 0, 0, width_,
290 height_, 0, kVideoRotation_0, &res_i420_frame)); 290 height_, 0, kVideoRotation_0, &res_i420_frame));
291 291
292 if (PrintVideoFrame(res_i420_frame, output_file) < 0) { 292 if (PrintVideoFrame(res_i420_frame, output_file) < 0) {
293 return; 293 return;
294 } 294 }
295 psnr = I420PSNR(&orig_frame_, &res_i420_frame); 295 psnr = I420PSNR(&orig_frame_, &res_i420_frame);
296 EXPECT_EQ(48.0, psnr); 296 EXPECT_EQ(48.0, psnr);
297 } 297 }
298 298
299 299
300 TEST_F(TestLibYuv, RotateTest) { 300 TEST_F(TestLibYuv, RotateTest) {
301 // Use ConvertToI420 for multiple roatations - see that nothing breaks, all 301 // Use ConvertToI420 for multiple roatations - see that nothing breaks, all
302 // memory is properly allocated and end result is equal to the starting point. 302 // memory is properly allocated and end result is equal to the starting point.
303 VideoFrame rotated_res_i420_frame; 303 VideoFrame rotated_res_i420_frame;
304 int rotated_width = height_; 304 int rotated_width = height_;
305 int rotated_height = width_; 305 int rotated_height = width_;
306 int stride_y ; 306 int stride_y;
307 int stride_uv; 307 int stride_uv;
308 Calc16ByteAlignedStride(rotated_width, &stride_y, &stride_uv); 308 Calc16ByteAlignedStride(rotated_width, &stride_y, &stride_uv);
309 EXPECT_EQ(0,rotated_res_i420_frame.CreateEmptyFrame(rotated_width, 309 EXPECT_EQ(0, rotated_res_i420_frame.CreateEmptyFrame(rotated_width,
310 rotated_height, 310 rotated_height,
311 stride_y, 311 stride_y,
312 stride_uv, 312 stride_uv,
313 stride_uv)); 313 stride_uv));
314 EXPECT_EQ(0, ConvertToI420(kI420, orig_buffer_.get(), 0, 0, width_, height_, 314 EXPECT_EQ(0, ConvertToI420(kI420, orig_buffer_.get(), 0, 0, width_, height_,
315 0, kVideoRotation_90, &rotated_res_i420_frame)); 315 0, kVideoRotation_90, &rotated_res_i420_frame));
316 EXPECT_EQ(0, ConvertToI420(kI420, orig_buffer_.get(), 0, 0, width_, height_, 316 EXPECT_EQ(0, ConvertToI420(kI420, orig_buffer_.get(), 0, 0, width_, height_,
317 0, kVideoRotation_270, &rotated_res_i420_frame)); 317 0, kVideoRotation_270, &rotated_res_i420_frame));
318 EXPECT_EQ(0,rotated_res_i420_frame.CreateEmptyFrame(width_, height_, 318 EXPECT_EQ(0, rotated_res_i420_frame.CreateEmptyFrame(width_, height_,
319 width_, (width_ + 1) / 2, 319 width_, (width_ + 1) / 2,
320 (width_ + 1) / 2)); 320 (width_ + 1) / 2));
321 EXPECT_EQ(0, ConvertToI420(kI420, orig_buffer_.get(), 0, 0, width_, height_, 321 EXPECT_EQ(0, ConvertToI420(kI420, orig_buffer_.get(), 0, 0, width_, height_,
322 0, kVideoRotation_180, &rotated_res_i420_frame)); 322 0, kVideoRotation_180, &rotated_res_i420_frame));
323 } 323 }
324 324
325 TEST_F(TestLibYuv, alignment) { 325 TEST_F(TestLibYuv, alignment) {
326 int value = 0x3FF; // 1023 326 int value = 0x3FF; // 1023
327 EXPECT_EQ(0x400, AlignInt(value, 128)); // Low 7 bits are zero. 327 EXPECT_EQ(0x400, AlignInt(value, 128)); // Low 7 bits are zero.
328 EXPECT_EQ(0x400, AlignInt(value, 64)); // Low 6 bits are zero. 328 EXPECT_EQ(0x400, AlignInt(value, 64)); // Low 6 bits are zero.
329 EXPECT_EQ(0x400, AlignInt(value, 32)); // Low 5 bits are zero. 329 EXPECT_EQ(0x400, AlignInt(value, 32)); // Low 5 bits are zero.
330 } 330 }
331 331
332 TEST_F(TestLibYuv, StrideAlignment) { 332 TEST_F(TestLibYuv, StrideAlignment) {
333 int stride_y = 0; 333 int stride_y = 0;
334 int stride_uv = 0; 334 int stride_uv = 0;
335 int width = 52; 335 int width = 52;
336 Calc16ByteAlignedStride(width, &stride_y, &stride_uv); 336 Calc16ByteAlignedStride(width, &stride_y, &stride_uv);
337 EXPECT_EQ(64, stride_y); 337 EXPECT_EQ(64, stride_y);
338 EXPECT_EQ(32, stride_uv); 338 EXPECT_EQ(32, stride_uv);
339 width = 128; 339 width = 128;
340 Calc16ByteAlignedStride(width, &stride_y, &stride_uv); 340 Calc16ByteAlignedStride(width, &stride_y, &stride_uv);
341 EXPECT_EQ(128, stride_y); 341 EXPECT_EQ(128, stride_y);
342 EXPECT_EQ(64, stride_uv); 342 EXPECT_EQ(64, stride_uv);
343 width = 127; 343 width = 127;
344 Calc16ByteAlignedStride(width, &stride_y, &stride_uv); 344 Calc16ByteAlignedStride(width, &stride_y, &stride_uv);
345 EXPECT_EQ(128, stride_y); 345 EXPECT_EQ(128, stride_y);
346 EXPECT_EQ(64, stride_uv); 346 EXPECT_EQ(64, stride_uv);
347 } 347 }
348 348
349 } // namespace 349 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/common_video/libyuv/include/webrtc_libyuv.h ('k') | webrtc/common_video/libyuv/scaler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698