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

Side by Side Diff: webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_nalu_unittest.cc

Issue 1721353002: Replace scoped_ptr with unique_ptr in webrtc/modules/video_coding/ (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 10 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 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 11
12 #include <memory>
13
12 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
13 15
14 #include "webrtc/base/arraysize.h" 16 #include "webrtc/base/arraysize.h"
15 #include "webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_nalu.h" 17 #include "webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_nalu.h"
16 18
17 namespace webrtc { 19 namespace webrtc {
18 20
19 static const uint8_t NALU_TEST_DATA_0[] = {0xAA, 0xBB, 0xCC}; 21 static const uint8_t NALU_TEST_DATA_0[] = {0xAA, 0xBB, 0xCC};
20 static const uint8_t NALU_TEST_DATA_1[] = {0xDE, 0xAD, 0xBE, 0xEF}; 22 static const uint8_t NALU_TEST_DATA_1[] = {0xDE, 0xAD, 0xBE, 0xEF};
21 23
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 EXPECT_EQ(2u, nalu_length); 85 EXPECT_EQ(2u, nalu_length);
84 EXPECT_EQ(0u, reader.BytesRemaining()); 86 EXPECT_EQ(0u, reader.BytesRemaining());
85 EXPECT_FALSE(reader.ReadNalu(&nalu, &nalu_length)); 87 EXPECT_FALSE(reader.ReadNalu(&nalu, &nalu_length));
86 EXPECT_EQ(nullptr, nalu); 88 EXPECT_EQ(nullptr, nalu);
87 EXPECT_EQ(0u, nalu_length); 89 EXPECT_EQ(0u, nalu_length);
88 } 90 }
89 91
90 TEST(AvccBufferWriterTest, TestEmptyOutputBuffer) { 92 TEST(AvccBufferWriterTest, TestEmptyOutputBuffer) {
91 const uint8_t expected_buffer[] = {0x00}; 93 const uint8_t expected_buffer[] = {0x00};
92 const size_t buffer_size = 1; 94 const size_t buffer_size = 1;
93 rtc::scoped_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]); 95 std::unique_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]);
94 memset(buffer.get(), 0, buffer_size); 96 memset(buffer.get(), 0, buffer_size);
95 AvccBufferWriter writer(buffer.get(), 0); 97 AvccBufferWriter writer(buffer.get(), 0);
96 EXPECT_EQ(0u, writer.BytesRemaining()); 98 EXPECT_EQ(0u, writer.BytesRemaining());
97 EXPECT_FALSE(writer.WriteNalu(NALU_TEST_DATA_0, arraysize(NALU_TEST_DATA_0))); 99 EXPECT_FALSE(writer.WriteNalu(NALU_TEST_DATA_0, arraysize(NALU_TEST_DATA_0)));
98 EXPECT_EQ(0, 100 EXPECT_EQ(0,
99 memcmp(expected_buffer, buffer.get(), arraysize(expected_buffer))); 101 memcmp(expected_buffer, buffer.get(), arraysize(expected_buffer)));
100 } 102 }
101 103
102 TEST(AvccBufferWriterTest, TestWriteSingleNalu) { 104 TEST(AvccBufferWriterTest, TestWriteSingleNalu) {
103 const uint8_t expected_buffer[] = { 105 const uint8_t expected_buffer[] = {
104 0x00, 0x00, 0x00, 0x03, 0xAA, 0xBB, 0xCC, 106 0x00, 0x00, 0x00, 0x03, 0xAA, 0xBB, 0xCC,
105 }; 107 };
106 const size_t buffer_size = arraysize(NALU_TEST_DATA_0) + 4; 108 const size_t buffer_size = arraysize(NALU_TEST_DATA_0) + 4;
107 rtc::scoped_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]); 109 std::unique_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]);
108 AvccBufferWriter writer(buffer.get(), buffer_size); 110 AvccBufferWriter writer(buffer.get(), buffer_size);
109 EXPECT_EQ(buffer_size, writer.BytesRemaining()); 111 EXPECT_EQ(buffer_size, writer.BytesRemaining());
110 EXPECT_TRUE(writer.WriteNalu(NALU_TEST_DATA_0, arraysize(NALU_TEST_DATA_0))); 112 EXPECT_TRUE(writer.WriteNalu(NALU_TEST_DATA_0, arraysize(NALU_TEST_DATA_0)));
111 EXPECT_EQ(0u, writer.BytesRemaining()); 113 EXPECT_EQ(0u, writer.BytesRemaining());
112 EXPECT_FALSE(writer.WriteNalu(NALU_TEST_DATA_1, arraysize(NALU_TEST_DATA_1))); 114 EXPECT_FALSE(writer.WriteNalu(NALU_TEST_DATA_1, arraysize(NALU_TEST_DATA_1)));
113 EXPECT_EQ(0, 115 EXPECT_EQ(0,
114 memcmp(expected_buffer, buffer.get(), arraysize(expected_buffer))); 116 memcmp(expected_buffer, buffer.get(), arraysize(expected_buffer)));
115 } 117 }
116 118
117 TEST(AvccBufferWriterTest, TestWriteMultipleNalus) { 119 TEST(AvccBufferWriterTest, TestWriteMultipleNalus) {
118 // clang-format off 120 // clang-format off
119 const uint8_t expected_buffer[] = { 121 const uint8_t expected_buffer[] = {
120 0x00, 0x00, 0x00, 0x03, 0xAA, 0xBB, 0xCC, 122 0x00, 0x00, 0x00, 0x03, 0xAA, 0xBB, 0xCC,
121 0x00, 0x00, 0x00, 0x04, 0xDE, 0xAD, 0xBE, 0xEF 123 0x00, 0x00, 0x00, 0x04, 0xDE, 0xAD, 0xBE, 0xEF
122 }; 124 };
123 // clang-format on 125 // clang-format on
124 const size_t buffer_size = 126 const size_t buffer_size =
125 arraysize(NALU_TEST_DATA_0) + arraysize(NALU_TEST_DATA_1) + 8; 127 arraysize(NALU_TEST_DATA_0) + arraysize(NALU_TEST_DATA_1) + 8;
126 rtc::scoped_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]); 128 std::unique_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]);
127 AvccBufferWriter writer(buffer.get(), buffer_size); 129 AvccBufferWriter writer(buffer.get(), buffer_size);
128 EXPECT_EQ(buffer_size, writer.BytesRemaining()); 130 EXPECT_EQ(buffer_size, writer.BytesRemaining());
129 EXPECT_TRUE(writer.WriteNalu(NALU_TEST_DATA_0, arraysize(NALU_TEST_DATA_0))); 131 EXPECT_TRUE(writer.WriteNalu(NALU_TEST_DATA_0, arraysize(NALU_TEST_DATA_0)));
130 EXPECT_EQ(buffer_size - (arraysize(NALU_TEST_DATA_0) + 4), 132 EXPECT_EQ(buffer_size - (arraysize(NALU_TEST_DATA_0) + 4),
131 writer.BytesRemaining()); 133 writer.BytesRemaining());
132 EXPECT_TRUE(writer.WriteNalu(NALU_TEST_DATA_1, arraysize(NALU_TEST_DATA_1))); 134 EXPECT_TRUE(writer.WriteNalu(NALU_TEST_DATA_1, arraysize(NALU_TEST_DATA_1)));
133 EXPECT_EQ(0u, writer.BytesRemaining()); 135 EXPECT_EQ(0u, writer.BytesRemaining());
134 EXPECT_EQ(0, 136 EXPECT_EQ(0,
135 memcmp(expected_buffer, buffer.get(), arraysize(expected_buffer))); 137 memcmp(expected_buffer, buffer.get(), arraysize(expected_buffer)));
136 } 138 }
137 139
138 TEST(AvccBufferWriterTest, TestOverflow) { 140 TEST(AvccBufferWriterTest, TestOverflow) {
139 const uint8_t expected_buffer[] = {0x00, 0x00, 0x00}; 141 const uint8_t expected_buffer[] = {0x00, 0x00, 0x00};
140 const size_t buffer_size = arraysize(NALU_TEST_DATA_0); 142 const size_t buffer_size = arraysize(NALU_TEST_DATA_0);
141 rtc::scoped_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]); 143 std::unique_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]);
142 memset(buffer.get(), 0, buffer_size); 144 memset(buffer.get(), 0, buffer_size);
143 AvccBufferWriter writer(buffer.get(), buffer_size); 145 AvccBufferWriter writer(buffer.get(), buffer_size);
144 EXPECT_EQ(buffer_size, writer.BytesRemaining()); 146 EXPECT_EQ(buffer_size, writer.BytesRemaining());
145 EXPECT_FALSE(writer.WriteNalu(NALU_TEST_DATA_0, arraysize(NALU_TEST_DATA_0))); 147 EXPECT_FALSE(writer.WriteNalu(NALU_TEST_DATA_0, arraysize(NALU_TEST_DATA_0)));
146 EXPECT_EQ(buffer_size, writer.BytesRemaining()); 148 EXPECT_EQ(buffer_size, writer.BytesRemaining());
147 EXPECT_EQ(0, 149 EXPECT_EQ(0,
148 memcmp(expected_buffer, buffer.get(), arraysize(expected_buffer))); 150 memcmp(expected_buffer, buffer.get(), arraysize(expected_buffer)));
149 } 151 }
150 152
151 } // namespace webrtc 153 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698