From 8a2cd3d57da1eb0494aff3b14a7ff34fe97fd5ef Mon Sep 17 00:00:00 2001 From: Alex Glaznev Date: Tue, 11 Aug 2015 11:32:53 -0700 Subject: [PATCH] Revert H.264 HW encoder setting to CBR mode. VBR mode does not work well on KK devices - bitrate deviations from target are too large, R=wzh@webrtc.org Review URL: https://codereview.webrtc.org/1270403007 . Cr-Commit-Position: refs/heads/master@{#9701} --- .../webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java index 749f12956e..eb31cdd16b 100644 --- a/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java +++ b/talk/app/webrtc/java/src/org/webrtc/MediaCodecVideoEncoder.java @@ -218,16 +218,13 @@ public class MediaCodecVideoEncoder { EncoderProperties properties = null; String mime = null; int keyFrameIntervalSec = 0; - int bitrateMode = 0; if (type == VideoCodecType.VIDEO_CODEC_VP8) { mime = VP8_MIME_TYPE; properties = findHwEncoder(VP8_MIME_TYPE, supportedVp8HwCodecPrefixes); keyFrameIntervalSec = 100; - bitrateMode = VIDEO_ControlRateConstant; } else if (type == VideoCodecType.VIDEO_CODEC_H264) { mime = H264_MIME_TYPE; properties = findHwEncoder(H264_MIME_TYPE, supportedH264HwCodecPrefixes); - bitrateMode = VIDEO_ControlRateVariable; keyFrameIntervalSec = 20; } if (properties == null) { @@ -237,7 +234,7 @@ public class MediaCodecVideoEncoder { try { MediaFormat format = MediaFormat.createVideoFormat(mime, width, height); format.setInteger(MediaFormat.KEY_BIT_RATE, 1000 * kbps); - format.setInteger("bitrate-mode", bitrateMode); + format.setInteger("bitrate-mode", VIDEO_ControlRateConstant); format.setInteger(MediaFormat.KEY_COLOR_FORMAT, properties.colorFormat); format.setInteger(MediaFormat.KEY_FRAME_RATE, fps); format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, keyFrameIntervalSec);