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

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

Issue 1900673002: Delete webrtc::VideoFrame methods buffer and stride. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase. Created 4 years, 7 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
« no previous file with comments | « webrtc/common_video/i420_video_frame_unittest.cc ('k') | webrtc/common_video/libyuv/scaler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
11 #include <math.h> 11 #include <math.h>
12 #include <string.h> 12 #include <string.h>
13 13
14 #include <memory> 14 #include <memory>
15 15
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" 17 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
18 #include "webrtc/system_wrappers/include/tick_util.h" 18 #include "webrtc/system_wrappers/include/tick_util.h"
19 #include "webrtc/test/testsupport/fileutils.h" 19 #include "webrtc/test/testsupport/fileutils.h"
20 #include "webrtc/video_frame.h" 20 #include "webrtc/video_frame.h"
21 21
22 namespace webrtc { 22 namespace webrtc {
23 23
24 int PrintBuffer(const uint8_t* buffer, int width, int height, int stride) {
25 if (buffer == NULL)
26 return -1;
27 int k;
28 const uint8_t* tmp_buffer = buffer;
29 for (int i = 0; i < height; i++) {
30 k = 0;
31 for (int j = 0; j < width; j++) {
32 printf("%d ", tmp_buffer[k++]);
33 }
34 tmp_buffer += stride;
35 printf(" \n");
36 }
37 printf(" \n");
38 return 0;
39 }
40
41 int PrintFrame(const VideoFrame* frame, const char* str) {
42 if (frame == NULL)
43 return -1;
44 printf("%s %dx%d \n", str, frame->width(), frame->height());
45
46 int ret = 0;
47 for (int plane_num = 0; plane_num < kNumOfPlanes; ++plane_num) {
48 PlaneType plane_type = static_cast<PlaneType>(plane_num);
49 int width = (plane_num ? (frame->width() + 1) / 2 : frame->width());
50 int height = (plane_num ? (frame->height() + 1) / 2 : frame->height());
51 ret += PrintBuffer(frame->buffer(plane_type), width, height,
52 frame->stride(plane_type));
53 }
54 return ret;
55 }
56
57
58 // Create an image from on a YUV frame. Every plane value starts with a start
59 // value, and will be set to increasing values.
60 void CreateImage(VideoFrame* frame, int plane_offset[kNumOfPlanes]) {
61 if (frame == NULL)
62 return;
63 for (int plane_num = 0; plane_num < kNumOfPlanes; ++plane_num) {
64 int width = (plane_num != kYPlane ? (frame->width() + 1) / 2 :
65 frame->width());
66 int height = (plane_num != kYPlane ? (frame->height() + 1) / 2 :
67 frame->height());
68 PlaneType plane_type = static_cast<PlaneType>(plane_num);
69 uint8_t *data = frame->buffer(plane_type);
70 for (int i = 0; i < height; i++) {
71 for (int j = 0; j < width; j++) {
72 data[j] = static_cast<uint8_t>(i + plane_offset[plane_num] + j);
73 }
74 data += frame->stride(plane_type);
75 }
76 }
77 }
78
79 class TestLibYuv : public ::testing::Test { 24 class TestLibYuv : public ::testing::Test {
80 protected: 25 protected:
81 TestLibYuv(); 26 TestLibYuv();
82 virtual void SetUp(); 27 virtual void SetUp();
83 virtual void TearDown(); 28 virtual void TearDown();
84 29
85 FILE* source_file_; 30 FILE* source_file_;
86 VideoFrame orig_frame_; 31 VideoFrame orig_frame_;
87 std::unique_ptr<uint8_t[]> orig_buffer_; 32 std::unique_ptr<uint8_t[]> orig_buffer_;
88 const int width_; 33 const int width_;
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 Calc16ByteAlignedStride(width, &stride_y, &stride_uv); 288 Calc16ByteAlignedStride(width, &stride_y, &stride_uv);
344 EXPECT_EQ(128, stride_y); 289 EXPECT_EQ(128, stride_y);
345 EXPECT_EQ(64, stride_uv); 290 EXPECT_EQ(64, stride_uv);
346 width = 127; 291 width = 127;
347 Calc16ByteAlignedStride(width, &stride_y, &stride_uv); 292 Calc16ByteAlignedStride(width, &stride_y, &stride_uv);
348 EXPECT_EQ(128, stride_y); 293 EXPECT_EQ(128, stride_y);
349 EXPECT_EQ(64, stride_uv); 294 EXPECT_EQ(64, stride_uv);
350 } 295 }
351 296
352 } // namespace webrtc 297 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/common_video/i420_video_frame_unittest.cc ('k') | webrtc/common_video/libyuv/scaler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698