Hardware VP8 encoding: Use QP as metric for resize.

Add vp8 frame header parser to get QP from vp8 bitstream.

BUG= 4273
R=glaznev@webrtc.org, marpan@google.com, pbos@webrtc.org
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49259004

Cr-Commit-Position: refs/heads/master@{#9256}
This commit is contained in:
jackychen
2015-05-21 11:12:02 -07:00
parent 5fdcdf66d0
commit 98d8cf58ee
9 changed files with 305 additions and 66 deletions

View File

@ -603,7 +603,7 @@ int VP8EncoderImpl::InitEncode(const VideoCodec* inst,
}
rps_.Init();
quality_scaler_.Init(codec_.qpMax);
quality_scaler_.Init(codec_.qpMax / kDefaultLowQpDenominator);
quality_scaler_.ReportFramerate(codec_.maxFramerate);
return InitAndSetControlSettings();
@ -1035,7 +1035,7 @@ int VP8EncoderImpl::GetEncodedPartitions(
if (encoded_images_[0]._length > 0) {
int qp;
vpx_codec_control(&encoders_[0], VP8E_GET_LAST_QUANTIZER_64, &qp);
quality_scaler_.ReportNormalizedQP(qp);
quality_scaler_.ReportQP(qp);
} else {
quality_scaler_.ReportDroppedFrame();
}