Chromium Code Reviews| Index: talk/app/webrtc/java/jni/androidmediaencoder_jni.cc |
| diff --git a/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc b/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc |
| index f6a3b650a6b8aaf481fa941e3bbb777a09dc84b6..f1ef31e21d89b2d741fee3c047c0ea938838e8d5 100644 |
| --- a/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc |
| +++ b/talk/app/webrtc/java/jni/androidmediaencoder_jni.cc |
| @@ -306,11 +306,18 @@ int32_t MediaCodecVideoEncoder::InitEncode( |
| // always = 127. Note that in SW, QP is that of the user-level range [0, |
| // 63]. |
| const int kMaxQp = 127; |
| - quality_scaler_.Init(kMaxQp / kLowQpThresholdDenominator, true); |
| + // TODO(pbos): Investigate whether high-QP thresholds make sense for VP8. |
| + // This effectively disables high QP as VP8 QP can't go above this |
| + // threshold. |
| + const int kDisabledBadQpThreshold = kMaxQp + 1; |
| + quality_scaler_.Init(kMaxQp / kLowQpThresholdDenominator, |
| + kDisabledBadQpThreshold, true); |
| } else if (codecType_ == kVideoCodecH264) { |
| // H264 QP is in the range [0, 51]. |
| const int kMaxQp = 51; |
| - quality_scaler_.Init(kMaxQp / kLowQpThresholdDenominator, true); |
| + const int kBadQpThreshold = 40; |
| + quality_scaler_.Init(kMaxQp / kLowQpThresholdDenominator, kBadQpThreshold, |
| + true); |
|
stefan-webrtc
2015/09/25 14:18:02
Maybe we should consider disabling this until we h
pbos-webrtc
2015/09/25 14:24:08
Done.
|
| } else { |
| // When adding codec support to additional hardware codecs, also configure |
| // their QP thresholds for scaling. |