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

Side by Side Diff: webrtc/modules/video_coding/codecs/vp8/vp8_sequence_coder.cc

Issue 2685783014: Replace NULL with nullptr in all C++ files. (Closed)
Patch Set: Fixing android. Created 3 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) 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 24 matching lines...) Expand all
35 size_t encoded_bytes() { return encoded_bytes_; } 35 size_t encoded_bytes() { return encoded_bytes_; }
36 36
37 private: 37 private:
38 webrtc::EncodedImage encoded_image_; 38 webrtc::EncodedImage encoded_image_;
39 FILE* encoded_file_; 39 FILE* encoded_file_;
40 size_t encoded_bytes_; 40 size_t encoded_bytes_;
41 }; 41 };
42 42
43 Vp8SequenceCoderEncodeCallback::~Vp8SequenceCoderEncodeCallback() { 43 Vp8SequenceCoderEncodeCallback::~Vp8SequenceCoderEncodeCallback() {
44 delete[] encoded_image_._buffer; 44 delete[] encoded_image_._buffer;
45 encoded_image_._buffer = NULL; 45 encoded_image_._buffer = nullptr;
46 } 46 }
47 47
48 webrtc::EncodedImageCallback::Result 48 webrtc::EncodedImageCallback::Result
49 Vp8SequenceCoderEncodeCallback::OnEncodedImage( 49 Vp8SequenceCoderEncodeCallback::OnEncodedImage(
50 const webrtc::EncodedImage& encoded_image, 50 const webrtc::EncodedImage& encoded_image,
51 const webrtc::CodecSpecificInfo* codecSpecificInfo, 51 const webrtc::CodecSpecificInfo* codecSpecificInfo,
52 const webrtc::RTPFragmentationHeader* fragmentation) { 52 const webrtc::RTPFragmentationHeader* fragmentation) {
53 if (encoded_image_._size < encoded_image._size) { 53 if (encoded_image_._size < encoded_image._size) {
54 delete[] encoded_image_._buffer; 54 delete[] encoded_image_._buffer;
55 encoded_image_._buffer = NULL; 55 encoded_image_._buffer = nullptr;
56 encoded_image_._buffer = new uint8_t[encoded_image._size]; 56 encoded_image_._buffer = new uint8_t[encoded_image._size];
57 encoded_image_._size = encoded_image._size; 57 encoded_image_._size = encoded_image._size;
58 } 58 }
59 memcpy(encoded_image_._buffer, encoded_image._buffer, encoded_image._size); 59 memcpy(encoded_image_._buffer, encoded_image._buffer, encoded_image._size);
60 encoded_image_._length = encoded_image._length; 60 encoded_image_._length = encoded_image._length;
61 if (encoded_file_ != NULL) { 61 if (encoded_file_ != nullptr) {
62 if (fwrite(encoded_image._buffer, 1, encoded_image._length, 62 if (fwrite(encoded_image._buffer, 1, encoded_image._length,
63 encoded_file_) != encoded_image._length) { 63 encoded_file_) != encoded_image._length) {
64 return Result(Result::ERROR_SEND_FAILED, 0); 64 return Result(Result::ERROR_SEND_FAILED, 0);
65 } 65 }
66 } 66 }
67 encoded_bytes_ += encoded_image_._length; 67 encoded_bytes_ += encoded_image_._length;
68 return Result(Result::OK, 0); 68 return Result(Result::OK, 0);
69 } 69 }
70 70
71 // TODO(mikhal): Add support for varying the frame size. 71 // TODO(mikhal): Add support for varying the frame size.
(...skipping 11 matching lines...) Expand all
83 private: 83 private:
84 FILE* decoded_file_; 84 FILE* decoded_file_;
85 }; 85 };
86 86
87 int Vp8SequenceCoderDecodeCallback::Decoded(webrtc::VideoFrame& image) { 87 int Vp8SequenceCoderDecodeCallback::Decoded(webrtc::VideoFrame& image) {
88 EXPECT_EQ(0, webrtc::PrintVideoFrame(image, decoded_file_)); 88 EXPECT_EQ(0, webrtc::PrintVideoFrame(image, decoded_file_));
89 return 0; 89 return 0;
90 } 90 }
91 91
92 int SequenceCoder(webrtc::test::CommandLineParser* parser) { 92 int SequenceCoder(webrtc::test::CommandLineParser* parser) {
93 int width = strtol((parser->GetFlag("w")).c_str(), NULL, 10); 93 int width = strtol((parser->GetFlag("w")).c_str(), nullptr, 10);
94 int height = strtol((parser->GetFlag("h")).c_str(), NULL, 10); 94 int height = strtol((parser->GetFlag("h")).c_str(), nullptr, 10);
95 int framerate = strtol((parser->GetFlag("f")).c_str(), NULL, 10); 95 int framerate = strtol((parser->GetFlag("f")).c_str(), nullptr, 10);
96 96
97 if (width <= 0 || height <= 0 || framerate <= 0) { 97 if (width <= 0 || height <= 0 || framerate <= 0) {
98 fprintf(stderr, "Error: Resolution cannot be <= 0!\n"); 98 fprintf(stderr, "Error: Resolution cannot be <= 0!\n");
99 return -1; 99 return -1;
100 } 100 }
101 int target_bitrate = strtol((parser->GetFlag("b")).c_str(), NULL, 10); 101 int target_bitrate = strtol((parser->GetFlag("b")).c_str(), nullptr, 10);
102 if (target_bitrate <= 0) { 102 if (target_bitrate <= 0) {
103 fprintf(stderr, "Error: Bit-rate cannot be <= 0!\n"); 103 fprintf(stderr, "Error: Bit-rate cannot be <= 0!\n");
104 return -1; 104 return -1;
105 } 105 }
106 106
107 // SetUp 107 // SetUp
108 // Open input file. 108 // Open input file.
109 std::string encoded_file_name = parser->GetFlag("encoded_file"); 109 std::string encoded_file_name = parser->GetFlag("encoded_file");
110 FILE* encoded_file = fopen(encoded_file_name.c_str(), "wb"); 110 FILE* encoded_file = fopen(encoded_file_name.c_str(), "wb");
111 if (encoded_file == NULL) { 111 if (encoded_file == nullptr) {
112 fprintf(stderr, "Error: Cannot open encoded file\n"); 112 fprintf(stderr, "Error: Cannot open encoded file\n");
113 return -1; 113 return -1;
114 } 114 }
115 std::string input_file_name = parser->GetFlag("input_file"); 115 std::string input_file_name = parser->GetFlag("input_file");
116 FILE* input_file = fopen(input_file_name.c_str(), "rb"); 116 FILE* input_file = fopen(input_file_name.c_str(), "rb");
117 if (input_file == NULL) { 117 if (input_file == nullptr) {
118 fprintf(stderr, "Error: Cannot open input file\n"); 118 fprintf(stderr, "Error: Cannot open input file\n");
119 return -1; 119 return -1;
120 } 120 }
121 // Open output file. 121 // Open output file.
122 std::string output_file_name = parser->GetFlag("output_file"); 122 std::string output_file_name = parser->GetFlag("output_file");
123 FILE* output_file = fopen(output_file_name.c_str(), "wb"); 123 FILE* output_file = fopen(output_file_name.c_str(), "wb");
124 if (output_file == NULL) { 124 if (output_file == nullptr) {
125 fprintf(stderr, "Error: Cannot open output file\n"); 125 fprintf(stderr, "Error: Cannot open output file\n");
126 return -1; 126 return -1;
127 } 127 }
128 128
129 // Get range of frames: will encode num_frames following start_frame). 129 // Get range of frames: will encode num_frames following start_frame).
130 int start_frame = strtol((parser->GetFlag("start_frame")).c_str(), NULL, 10); 130 int start_frame =
131 int num_frames = strtol((parser->GetFlag("num_frames")).c_str(), NULL, 10); 131 strtol((parser->GetFlag("start_frame")).c_str(), nullptr, 10);
132 int num_frames = strtol((parser->GetFlag("num_frames")).c_str(), nullptr, 10);
132 133
133 // Codec SetUp. 134 // Codec SetUp.
134 webrtc::VideoCodec inst; 135 webrtc::VideoCodec inst;
135 memset(&inst, 0, sizeof(inst)); 136 memset(&inst, 0, sizeof(inst));
136 webrtc::VP8Encoder* encoder = webrtc::VP8Encoder::Create(); 137 webrtc::VP8Encoder* encoder = webrtc::VP8Encoder::Create();
137 webrtc::VP8Decoder* decoder = webrtc::VP8Decoder::Create(); 138 webrtc::VP8Decoder* decoder = webrtc::VP8Decoder::Create();
138 inst.codecType = webrtc::kVideoCodecVP8; 139 inst.codecType = webrtc::kVideoCodecVP8;
139 inst.VP8()->feedbackModeOn = false; 140 inst.VP8()->feedbackModeOn = false;
140 inst.VP8()->denoisingOn = true; 141 inst.VP8()->denoisingOn = true;
141 inst.maxFramerate = framerate; 142 inst.maxFramerate = framerate;
(...skipping 23 matching lines...) Expand all
165 int frame_cnt = 1; 166 int frame_cnt = 1;
166 int frames_processed = 0; 167 int frames_processed = 0;
167 while (num_frames == -1 || frames_processed < num_frames) { 168 while (num_frames == -1 || frames_processed < num_frames) {
168 rtc::scoped_refptr<VideoFrameBuffer> buffer( 169 rtc::scoped_refptr<VideoFrameBuffer> buffer(
169 test::ReadI420Buffer(width, height, input_file)); 170 test::ReadI420Buffer(width, height, input_file));
170 if (!buffer) { 171 if (!buffer) {
171 // EOF or read error. 172 // EOF or read error.
172 break; 173 break;
173 } 174 }
174 if (frame_cnt >= start_frame) { 175 if (frame_cnt >= start_frame) {
175 encoder->Encode(VideoFrame(buffer, webrtc::kVideoRotation_0, 0), 176 encoder->Encode(VideoFrame(buffer, webrtc::kVideoRotation_0, 0), nullptr,
176 NULL, NULL); 177 nullptr);
177 decoder->Decode(encoder_callback.encoded_image(), false, NULL); 178 decoder->Decode(encoder_callback.encoded_image(), false, nullptr);
178 ++frames_processed; 179 ++frames_processed;
179 } 180 }
180 ++frame_cnt; 181 ++frame_cnt;
181 } 182 }
182 printf("\nProcessed %d frames\n", frames_processed); 183 printf("\nProcessed %d frames\n", frames_processed);
183 int64_t endtime = rtc::TimeMillis(); 184 int64_t endtime = rtc::TimeMillis();
184 int64_t totalExecutionTime = endtime - starttime; 185 int64_t totalExecutionTime = endtime - starttime;
185 printf("Total execution time: %.2lf ms\n", 186 printf("Total execution time: %.2lf ms\n",
186 static_cast<double>(totalExecutionTime)); 187 static_cast<double>(totalExecutionTime));
187 double actual_bit_rate = 188 double actual_bit_rate =
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 242
242 parser.ProcessFlags(); 243 parser.ProcessFlags();
243 if (parser.GetFlag("help") == "true") { 244 if (parser.GetFlag("help") == "true") {
244 parser.PrintUsageMessage(); 245 parser.PrintUsageMessage();
245 exit(EXIT_SUCCESS); 246 exit(EXIT_SUCCESS);
246 } 247 }
247 parser.PrintEnteredFlags(); 248 parser.PrintEnteredFlags();
248 249
249 return SequenceCoder(&parser); 250 return SequenceCoder(&parser);
250 } 251 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698