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

Unified Diff: webrtc/sdk/android/src/jni/androidmediaencoder_jni.cc

Issue 2914363002: MediaCodecVideoEncoder: Add QP stats to Encoded callback for VP9 and turn on quality scaling. (Closed)
Patch Set: Created 3 years, 6 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
« no previous file with comments | « webrtc/sdk/android/src/jni/DEPS ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/sdk/android/src/jni/androidmediaencoder_jni.cc
diff --git a/webrtc/sdk/android/src/jni/androidmediaencoder_jni.cc b/webrtc/sdk/android/src/jni/androidmediaencoder_jni.cc
index 1c86f08bc8a005ccdc1c64258569dac14d3ac8ff..40d21d243a7ebf339f92ec2b82472e2bafa4bf30 100644
--- a/webrtc/sdk/android/src/jni/androidmediaencoder_jni.cc
+++ b/webrtc/sdk/android/src/jni/androidmediaencoder_jni.cc
@@ -39,6 +39,7 @@
#include "webrtc/modules/video_coding/include/video_codec_interface.h"
#include "webrtc/modules/video_coding/utility/quality_scaler.h"
#include "webrtc/modules/video_coding/utility/vp8_header_parser.h"
+#include "webrtc/modules/video_coding/utility/vp9_uncompressed_header_parser.h"
#include "webrtc/sdk/android/src/jni/androidmediacodeccommon.h"
#include "webrtc/sdk/android/src/jni/classreferenceholder.h"
#include "webrtc/sdk/android/src/jni/native_handle_impl.h"
@@ -404,12 +405,14 @@ int32_t MediaCodecVideoEncoder::InitEncode(
codec_mode_ = codec_settings->mode;
int init_width = codec_settings->width;
int init_height = codec_settings->height;
- // Scaling is disabled for VP9, but optionally enabled for VP8.
+ // Scaling is optionally enabled for VP8 and VP9.
// TODO(pbos): Extract automaticResizeOn out of VP8 settings.
scale_ = false;
if (codec_type == kVideoCodecVP8) {
scale_ = codec_settings->VP8().automaticResizeOn;
- } else if (codec_type != kVideoCodecVP9) {
+ } else if (codec_type == kVideoCodecVP9) {
+ scale_ = codec_settings->VP9().automaticResizeOn;
+ } else {
scale_ = true;
}
@@ -1104,6 +1107,12 @@ bool MediaCodecVideoEncoder::DeliverPendingOutputs(JNIEnv* jni) {
current_acc_qp_ += qp;
image->qp_ = qp;
}
+ } else if (codec_type == kVideoCodecVP9) {
+ int qp;
+ if (webrtc::vp9::GetQp(payload, payload_size, &qp)) {
+ current_acc_qp_ += qp;
+ image->qp_ = qp;
+ }
}
} else if (codec_type == kVideoCodecH264) {
h264_bitstream_parser_.ParseBitstream(payload, payload_size);
« no previous file with comments | « webrtc/sdk/android/src/jni/DEPS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698