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

Unified Diff: webrtc/video/full_stack.cc

Issue 1306813009: H.264 video codec support using OpenH264/FFmpeg (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Misc (WebRtcVideoChannel2::...::ConfigureVideoEncoderSettings care about H264 case) Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/video/full_stack.cc
diff --git a/webrtc/video/full_stack.cc b/webrtc/video/full_stack.cc
index 1fee08779ca4999d0b02efbe4504e1be361c4c7d..867da3a7ba1f2a6777706d7bd067fc6e3f0daf8e 100644
--- a/webrtc/video/full_stack.cc
+++ b/webrtc/video/full_stack.cc
@@ -590,14 +590,19 @@ void FullStackTest::RunTest(const FullStackTestParams& params) {
CreateSendConfig(1, &analyzer);
rtc::scoped_ptr<VideoEncoder> encoder;
- if (params.codec == "VP8") {
- encoder =
- rtc::scoped_ptr<VideoEncoder>(VideoEncoder::Create(VideoEncoder::kVp8));
+ if (params.codec == "H264") {
+ encoder = rtc::scoped_ptr<VideoEncoder>(
+ VideoEncoder::Create(VideoEncoder::kH264));
+ send_config_.encoder_settings.encoder = encoder.get();
+ send_config_.encoder_settings.payload_name = "H264";
+ } else if (params.codec == "VP8") {
+ encoder = rtc::scoped_ptr<VideoEncoder>(
+ VideoEncoder::Create(VideoEncoder::kVp8));
send_config_.encoder_settings.encoder = encoder.get();
send_config_.encoder_settings.payload_name = "VP8";
} else if (params.codec == "VP9") {
- encoder =
- rtc::scoped_ptr<VideoEncoder>(VideoEncoder::Create(VideoEncoder::kVp9));
+ encoder = rtc::scoped_ptr<VideoEncoder>(
+ VideoEncoder::Create(VideoEncoder::kVp9));
send_config_.encoder_settings.encoder = encoder.get();
send_config_.encoder_settings.payload_name = "VP9";
} else {
@@ -618,13 +623,19 @@ void FullStackTest::RunTest(const FullStackTestParams& params) {
stream->max_bitrate_bps = params.max_bitrate_bps;
stream->max_framerate = params.clip.fps;
+ VideoCodecH264 h264_settings;
VideoCodecVP8 vp8_settings;
VideoCodecVP9 vp9_settings;
if (params.mode == ContentMode::kScreensharingStaticImage ||
params.mode == ContentMode::kScreensharingScrollingImage) {
encoder_config_.content_type = VideoEncoderConfig::ContentType::kScreen;
encoder_config_.min_transmit_bitrate_bps = 400 * 1000;
- if (params.codec == "VP8") {
+ if (params.codec == "H264") {
+ h264_settings = VideoEncoder::GetDefaultH264Settings();
+ h264_settings.frameDroppingOn = false;
+ // Ignoring |num_temporal_layers| for H264.
+ encoder_config_.encoder_specific_settings = &h264_settings;
+ } else if (params.codec == "VP8") {
vp8_settings = VideoEncoder::GetDefaultVp8Settings();
vp8_settings.denoisingOn = false;
vp8_settings.frameDroppingOn = false;

Powered by Google App Engine
This is Rietveld 408576698