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

Side by Side Diff: media/cast/sender/vp8_encoder.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "media/cast/sender/vp8_encoder.h" 5 #include "media/cast/sender/vp8_encoder.h"
6 6
7 #include "base/debug/crash_logging.h" 7 #include "base/debug/crash_logging.h"
8 #include "base/debug/dump_without_crashing.h" 8 #include "base/debug/dump_without_crashing.h"
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 encoded_frame->dependency = EncodedFrame::DEPENDENT; 222 encoded_frame->dependency = EncodedFrame::DEPENDENT;
223 // Frame dependencies could theoretically be relaxed by looking for the 223 // Frame dependencies could theoretically be relaxed by looking for the
224 // VPX_FRAME_IS_DROPPABLE flag, but in recent testing (Oct 2014), this 224 // VPX_FRAME_IS_DROPPABLE flag, but in recent testing (Oct 2014), this
225 // flag never seems to be set. 225 // flag never seems to be set.
226 encoded_frame->referenced_frame_id = last_encoded_frame_id_ - 1; 226 encoded_frame->referenced_frame_id = last_encoded_frame_id_ - 1;
227 } 227 }
228 encoded_frame->rtp_timestamp = 228 encoded_frame->rtp_timestamp =
229 TimeDeltaToRtpDelta(video_frame->timestamp(), kVideoFrequency); 229 TimeDeltaToRtpDelta(video_frame->timestamp(), kVideoFrequency);
230 encoded_frame->reference_time = reference_time; 230 encoded_frame->reference_time = reference_time;
231 encoded_frame->data.assign( 231 encoded_frame->data.assign(
232 static_cast<const uint8*>(pkt->data.frame.buf), 232 static_cast<const uint8_t*>(pkt->data.frame.buf),
233 static_cast<const uint8*>(pkt->data.frame.buf) + pkt->data.frame.sz); 233 static_cast<const uint8_t*>(pkt->data.frame.buf) + pkt->data.frame.sz);
234 break; // Done, since all data is provided in one CX_FRAME_PKT packet. 234 break; // Done, since all data is provided in one CX_FRAME_PKT packet.
235 } 235 }
236 DCHECK(!encoded_frame->data.empty()) 236 DCHECK(!encoded_frame->data.empty())
237 << "BUG: Encoder must provide data since lagged encoding is disabled."; 237 << "BUG: Encoder must provide data since lagged encoding is disabled.";
238 238
239 // TODO(miu): Determine when/why encoding can produce zero-length data, 239 // TODO(miu): Determine when/why encoding can produce zero-length data,
240 // which causes crypto crashes. http://crbug.com/519022 240 // which causes crypto crashes. http://crbug.com/519022
241 if (!has_seen_zero_length_encoded_frame_ && encoded_frame->data.empty()) { 241 if (!has_seen_zero_length_encoded_frame_ && encoded_frame->data.empty()) {
242 has_seen_zero_length_encoded_frame_ = true; 242 has_seen_zero_length_encoded_frame_ = true;
243 243
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 << ", sized: " << encoded_frame->data.size() 284 << ", sized: " << encoded_frame->data.size()
285 << ", deadline_utilization: " << encoded_frame->deadline_utilization 285 << ", deadline_utilization: " << encoded_frame->deadline_utilization
286 << ", lossy_utilization: " << encoded_frame->lossy_utilization 286 << ", lossy_utilization: " << encoded_frame->lossy_utilization
287 << " (quantizer chosen by the encoder was " << quantizer << ')'; 287 << " (quantizer chosen by the encoder was " << quantizer << ')';
288 288
289 if (encoded_frame->dependency == EncodedFrame::KEY) { 289 if (encoded_frame->dependency == EncodedFrame::KEY) {
290 key_frame_requested_ = false; 290 key_frame_requested_ = false;
291 } 291 }
292 } 292 }
293 293
294 void Vp8Encoder::UpdateRates(uint32 new_bitrate) { 294 void Vp8Encoder::UpdateRates(uint32_t new_bitrate) {
295 DCHECK(thread_checker_.CalledOnValidThread()); 295 DCHECK(thread_checker_.CalledOnValidThread());
296 296
297 if (!is_initialized()) 297 if (!is_initialized())
298 return; 298 return;
299 299
300 uint32 new_bitrate_kbit = new_bitrate / 1000; 300 uint32_t new_bitrate_kbit = new_bitrate / 1000;
301 if (config_.rc_target_bitrate == new_bitrate_kbit) 301 if (config_.rc_target_bitrate == new_bitrate_kbit)
302 return; 302 return;
303 303
304 config_.rc_target_bitrate = bitrate_kbit_ = new_bitrate_kbit; 304 config_.rc_target_bitrate = bitrate_kbit_ = new_bitrate_kbit;
305 305
306 // Update encoder context. 306 // Update encoder context.
307 if (vpx_codec_enc_config_set(&encoder_, &config_)) { 307 if (vpx_codec_enc_config_set(&encoder_, &config_)) {
308 NOTREACHED() << "Invalid return value"; 308 NOTREACHED() << "Invalid return value";
309 } 309 }
310 310
311 VLOG(1) << "VP8 new rc_target_bitrate: " << new_bitrate_kbit << " kbps"; 311 VLOG(1) << "VP8 new rc_target_bitrate: " << new_bitrate_kbit << " kbps";
312 } 312 }
313 313
314 void Vp8Encoder::GenerateKeyFrame() { 314 void Vp8Encoder::GenerateKeyFrame() {
315 DCHECK(thread_checker_.CalledOnValidThread()); 315 DCHECK(thread_checker_.CalledOnValidThread());
316 key_frame_requested_ = true; 316 key_frame_requested_ = true;
317 } 317 }
318 318
319 } // namespace cast 319 } // namespace cast
320 } // namespace media 320 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698