Enable H.264 HW decoder soft rest.

Also tune up scale thresholds a little.

BUG=b/27674326
R=wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1879213002 .

Cr-Commit-Position: refs/heads/master@{#12337}
diff --git a/webrtc/api/java/jni/androidmediadecoder_jni.cc b/webrtc/api/java/jni/androidmediadecoder_jni.cc
index 9d66f83..c83be18 100644
--- a/webrtc/api/java/jni/androidmediadecoder_jni.cc
+++ b/webrtc/api/java/jni/androidmediadecoder_jni.cc
@@ -532,10 +532,9 @@
     codec_.width = inputImage._encodedWidth;
     codec_.height = inputImage._encodedHeight;
     int32_t ret;
-    if (use_surface_ && codecType_ == kVideoCodecVP8) {
-      // Soft codec reset - only for VP8 and surface decoding.
-      // TODO(glaznev): try to use similar approach for H.264
-      // and buffer decoding.
+    if (use_surface_ &&
+        (codecType_ == kVideoCodecVP8 || codecType_ == kVideoCodecH264)) {
+      // Soft codec reset - only for surface decoding.
       ret = codec_thread_->Invoke<int32_t>(Bind(
           &MediaCodecVideoDecoder::ResetDecodeOnCodecThread, this));
     } else {
diff --git a/webrtc/api/java/jni/androidmediaencoder_jni.cc b/webrtc/api/java/jni/androidmediaencoder_jni.cc
index dba71ac..f4d8b9d 100644
--- a/webrtc/api/java/jni/androidmediaencoder_jni.cc
+++ b/webrtc/api/java/jni/androidmediaencoder_jni.cc
@@ -377,15 +377,15 @@
       // (internal) range: [0, 127]. And we cannot change QP_max in HW, so it is
       // always = 127. Note that in SW, QP is that of the user-level range [0,
       // 63].
-      const int kLowQpThreshold = 32;
-      const int kBadQpThreshold = 92;
+      const int kLowQpThreshold = 29;
+      const int kBadQpThreshold = 90;
       quality_scaler_.Init(kLowQpThreshold, kBadQpThreshold, false,
           codec_settings->startBitrate,
           codec_settings->width, codec_settings->height);
     } else if (codecType_ == kVideoCodecH264) {
       // H264 QP is in the range [0, 51].
       const int kLowQpThreshold = 21;
-      const int kBadQpThreshold = 36;
+      const int kBadQpThreshold = 33;
       quality_scaler_.Init(kLowQpThreshold, kBadQpThreshold, false,
           codec_settings->startBitrate,
           codec_settings->width, codec_settings->height);