From c5ad0c81c78d6286d8fd6ac14246e444dc68bf8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Bostr=C3=B6m?= Date: Thu, 30 Jun 2016 16:11:34 +0200 Subject: [PATCH] Respect VP8.automaticResizeOn for MediaCodec. Disables QualityScaler for screenshare-type content and simulcast inside MediaCodecVideoEncoder. BUG= R=glaznev@webrtc.org Review URL: https://codereview.webrtc.org/2107233003 . Cr-Commit-Position: refs/heads/master@{#13347} --- webrtc/api/java/jni/androidmediaencoder_jni.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/webrtc/api/java/jni/androidmediaencoder_jni.cc b/webrtc/api/java/jni/androidmediaencoder_jni.cc index 49a3fb893d..2c50fe5b01 100644 --- a/webrtc/api/java/jni/androidmediaencoder_jni.cc +++ b/webrtc/api/java/jni/androidmediaencoder_jni.cc @@ -382,7 +382,14 @@ int32_t MediaCodecVideoEncoder::InitEncode( codec_mode_ = codec_settings->mode; int init_width = codec_settings->width; int init_height = codec_settings->height; - scale_ = codecType_ != kVideoCodecVP9; + // Scaling is disabled for VP9, but optionally enabled for VP8. + // TODO(pbos): Extract automaticResizeOn out of VP8 settings. + scale_ = false; + if (codecType_ == kVideoCodecVP8) { + scale_ = codec_settings->codecSpecific.VP8.automaticResizeOn; + } else if (codecType_ != kVideoCodecVP9) { + scale_ = true; + } ALOGD << "InitEncode request: " << init_width << " x " << init_height; ALOGD << "Encoder automatic resize " << (scale_ ? "enabled" : "disabled");