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

Side by Side Diff: remoting/codec/codec_test.cc

Issue 13642007: Rewrite scoped_array<T> to scoped_ptr<T[]> in remoting/, Linux edition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Manually rewrite Win files. Created 7 years, 8 months 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 | Annotate | Revision Log
« no previous file with comments | « remoting/codec/audio_encoder_speex.h ('k') | remoting/codec/video_decoder_verbatim.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include <deque> 5 #include <deque>
6 #include <stdlib.h> 6 #include <stdlib.h>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 return sqrt(error_sum_squares / 3.0); 264 return sqrt(error_sum_squares / 3.0);
265 } 265 }
266 266
267 private: 267 private:
268 SkISize screen_size_; 268 SkISize screen_size_;
269 SkISize view_size_; 269 SkISize view_size_;
270 bool strict_; 270 bool strict_;
271 SkRegion expected_region_; 271 SkRegion expected_region_;
272 SkRegion update_region_; 272 SkRegion update_region_;
273 VideoDecoder* decoder_; 273 VideoDecoder* decoder_;
274 scoped_array<uint8> image_data_; 274 scoped_ptr<uint8[]> image_data_;
275 scoped_refptr<media::ScreenCaptureData> capture_data_; 275 scoped_refptr<media::ScreenCaptureData> capture_data_;
276 276
277 DISALLOW_COPY_AND_ASSIGN(VideoDecoderTester); 277 DISALLOW_COPY_AND_ASSIGN(VideoDecoderTester);
278 }; 278 };
279 279
280 // The VideoEncoderTester provides a hook for retrieving the data, and passing 280 // The VideoEncoderTester provides a hook for retrieving the data, and passing
281 // the message to other subprograms for validaton. 281 // the message to other subprograms for validaton.
282 class VideoEncoderTester { 282 class VideoEncoderTester {
283 public: 283 public:
284 VideoEncoderTester(VideoEncoderMessageTester* message_tester) 284 VideoEncoderTester(VideoEncoderMessageTester* message_tester)
(...skipping 27 matching lines...) Expand all
312 private: 312 private:
313 VideoEncoderMessageTester* message_tester_; 313 VideoEncoderMessageTester* message_tester_;
314 VideoDecoderTester* decoder_tester_; 314 VideoDecoderTester* decoder_tester_;
315 int data_available_; 315 int data_available_;
316 316
317 DISALLOW_COPY_AND_ASSIGN(VideoEncoderTester); 317 DISALLOW_COPY_AND_ASSIGN(VideoEncoderTester);
318 }; 318 };
319 319
320 scoped_refptr<media::ScreenCaptureData> PrepareEncodeData( 320 scoped_refptr<media::ScreenCaptureData> PrepareEncodeData(
321 const SkISize& size, 321 const SkISize& size,
322 scoped_array<uint8>* memory) { 322 scoped_ptr<uint8[]>* memory) {
323 int memory_size = size.width() * size.height() * kBytesPerPixel; 323 int memory_size = size.width() * size.height() * kBytesPerPixel;
324 324
325 memory->reset(new uint8[memory_size]); 325 memory->reset(new uint8[memory_size]);
326 326
327 srand(0); 327 srand(0);
328 for (int i = 0; i < memory_size; ++i) { 328 for (int i = 0; i < memory_size; ++i) {
329 (*memory)[i] = rand() % 256; 329 (*memory)[i] = rand() % 256;
330 } 330 }
331 331
332 scoped_refptr<media::ScreenCaptureData> data = new media::ScreenCaptureData( 332 scoped_refptr<media::ScreenCaptureData> data = new media::ScreenCaptureData(
(...skipping 16 matching lines...) Expand all
349 } 349 }
350 350
351 void TestVideoEncoder(VideoEncoder* encoder, bool strict) { 351 void TestVideoEncoder(VideoEncoder* encoder, bool strict) {
352 const int kSizes[] = {320, 319, 317, 150}; 352 const int kSizes[] = {320, 319, 317, 150};
353 353
354 VideoEncoderMessageTester message_tester; 354 VideoEncoderMessageTester message_tester;
355 message_tester.set_strict(strict); 355 message_tester.set_strict(strict);
356 356
357 VideoEncoderTester tester(&message_tester); 357 VideoEncoderTester tester(&message_tester);
358 358
359 scoped_array<uint8> memory; 359 scoped_ptr<uint8[]> memory;
360 360
361 for (size_t xi = 0; xi < arraysize(kSizes); ++xi) { 361 for (size_t xi = 0; xi < arraysize(kSizes); ++xi) {
362 for (size_t yi = 0; yi < arraysize(kSizes); ++yi) { 362 for (size_t yi = 0; yi < arraysize(kSizes); ++yi) {
363 SkISize size = SkISize::Make(kSizes[xi], kSizes[yi]); 363 SkISize size = SkISize::Make(kSizes[xi], kSizes[yi]);
364 scoped_refptr<media::ScreenCaptureData> data = 364 scoped_refptr<media::ScreenCaptureData> data =
365 PrepareEncodeData(size, &memory); 365 PrepareEncodeData(size, &memory);
366 std::vector<std::vector<SkIRect> > test_rect_lists = 366 std::vector<std::vector<SkIRect> > test_rect_lists =
367 MakeTestRectLists(size); 367 MakeTestRectLists(size);
368 for (size_t i = 0; i < test_rect_lists.size(); ++i) { 368 for (size_t i = 0; i < test_rect_lists.size(); ++i) {
369 const std::vector<SkIRect>& test_rects = test_rect_lists[i]; 369 const std::vector<SkIRect>& test_rects = test_rect_lists[i];
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 406
407 void TestVideoEncoderDecoder( 407 void TestVideoEncoderDecoder(
408 VideoEncoder* encoder, VideoDecoder* decoder, bool strict) { 408 VideoEncoder* encoder, VideoDecoder* decoder, bool strict) {
409 SkISize kSize = SkISize::Make(320, 240); 409 SkISize kSize = SkISize::Make(320, 240);
410 410
411 VideoEncoderMessageTester message_tester; 411 VideoEncoderMessageTester message_tester;
412 message_tester.set_strict(strict); 412 message_tester.set_strict(strict);
413 413
414 VideoEncoderTester encoder_tester(&message_tester); 414 VideoEncoderTester encoder_tester(&message_tester);
415 415
416 scoped_array<uint8> memory; 416 scoped_ptr<uint8[]> memory;
417 scoped_refptr<media::ScreenCaptureData> data = 417 scoped_refptr<media::ScreenCaptureData> data =
418 PrepareEncodeData(kSize, &memory); 418 PrepareEncodeData(kSize, &memory);
419 419
420 VideoDecoderTester decoder_tester(decoder, kSize, kSize); 420 VideoDecoderTester decoder_tester(decoder, kSize, kSize);
421 decoder_tester.set_strict(strict); 421 decoder_tester.set_strict(strict);
422 decoder_tester.set_capture_data(data); 422 decoder_tester.set_capture_data(data);
423 encoder_tester.set_decoder_tester(&decoder_tester); 423 encoder_tester.set_decoder_tester(&decoder_tester);
424 424
425 std::vector<std::vector<SkIRect> > test_rect_lists = MakeTestRectLists(kSize); 425 std::vector<std::vector<SkIRect> > test_rect_lists = MakeTestRectLists(kSize);
426 for (size_t i = 0; i < test_rect_lists.size(); ++i) { 426 for (size_t i = 0; i < test_rect_lists.size(); ++i) {
(...skipping 17 matching lines...) Expand all
444 } 444 }
445 } 445 }
446 446
447 void TestVideoEncoderDecoderGradient(VideoEncoder* encoder, 447 void TestVideoEncoderDecoderGradient(VideoEncoder* encoder,
448 VideoDecoder* decoder, 448 VideoDecoder* decoder,
449 const SkISize& screen_size, 449 const SkISize& screen_size,
450 const SkISize& view_size, 450 const SkISize& view_size,
451 double max_error_limit, 451 double max_error_limit,
452 double mean_error_limit) { 452 double mean_error_limit) {
453 SkIRect screen_rect = SkIRect::MakeSize(screen_size); 453 SkIRect screen_rect = SkIRect::MakeSize(screen_size);
454 scoped_array<uint8> screen_data(new uint8[ 454 scoped_ptr<uint8[]> screen_data(new uint8[
455 screen_size.width() * screen_size.height() * kBytesPerPixel]); 455 screen_size.width() * screen_size.height() * kBytesPerPixel]);
456 FillWithGradient(screen_data.get(), screen_size, screen_rect); 456 FillWithGradient(screen_data.get(), screen_size, screen_rect);
457 457
458 SkIRect view_rect = SkIRect::MakeSize(view_size); 458 SkIRect view_rect = SkIRect::MakeSize(view_size);
459 scoped_array<uint8> expected_view_data(new uint8[ 459 scoped_ptr<uint8[]> expected_view_data(new uint8[
460 view_size.width() * view_size.height() * kBytesPerPixel]); 460 view_size.width() * view_size.height() * kBytesPerPixel]);
461 FillWithGradient(expected_view_data.get(), view_size, view_rect); 461 FillWithGradient(expected_view_data.get(), view_size, view_rect);
462 462
463 scoped_refptr<media::ScreenCaptureData> capture_data = 463 scoped_refptr<media::ScreenCaptureData> capture_data =
464 new media::ScreenCaptureData( 464 new media::ScreenCaptureData(
465 screen_data.get(), screen_size.width() * kBytesPerPixel, screen_size); 465 screen_data.get(), screen_size.width() * kBytesPerPixel, screen_size);
466 capture_data->mutable_dirty_region().op(screen_rect, SkRegion::kUnion_Op); 466 capture_data->mutable_dirty_region().op(screen_rect, SkRegion::kUnion_Op);
467 467
468 VideoDecoderTester decoder_tester(decoder, screen_size, view_size); 468 VideoDecoderTester decoder_tester(decoder, screen_size, view_size);
469 decoder_tester.set_capture_data(capture_data); 469 decoder_tester.set_capture_data(capture_data);
470 decoder_tester.AddRegion(capture_data->dirty_region()); 470 decoder_tester.AddRegion(capture_data->dirty_region());
471 471
472 encoder->Encode(capture_data, true, 472 encoder->Encode(capture_data, true,
473 base::Bind(&VideoDecoderTester::ReceivedScopedPacket, 473 base::Bind(&VideoDecoderTester::ReceivedScopedPacket,
474 base::Unretained(&decoder_tester))); 474 base::Unretained(&decoder_tester)));
475 475
476 decoder_tester.VerifyResultsApprox(expected_view_data.get(), 476 decoder_tester.VerifyResultsApprox(expected_view_data.get(),
477 max_error_limit, mean_error_limit); 477 max_error_limit, mean_error_limit);
478 478
479 // Check that the decoder correctly re-renders the frame if its client 479 // Check that the decoder correctly re-renders the frame if its client
480 // invalidates the frame. 480 // invalidates the frame.
481 decoder_tester.ResetRenderedData(); 481 decoder_tester.ResetRenderedData();
482 decoder->Invalidate(view_size, SkRegion(view_rect)); 482 decoder->Invalidate(view_size, SkRegion(view_rect));
483 decoder_tester.RenderFrame(); 483 decoder_tester.RenderFrame();
484 decoder_tester.VerifyResultsApprox(expected_view_data.get(), 484 decoder_tester.VerifyResultsApprox(expected_view_data.get(),
485 max_error_limit, mean_error_limit); 485 max_error_limit, mean_error_limit);
486 } 486 }
487 487
488 } // namespace remoting 488 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/codec/audio_encoder_speex.h ('k') | remoting/codec/video_decoder_verbatim.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698