Update VP8 encode middleware
BZ: 103440
Due to VIED FW parameter sensitivity, config the reasonable
SPS/PPS for VP8 encode to avoid VSP timeout and system hang.
Remove usused variable.
Change-Id: I4835ca3fa0d96f6e0ae3218e45f10f4e272d1e92
Signed-off-by: liu, Bolun <bolun.liu@intel.com>
Reviewed-on: http://android.intel.com:8080/110893
Reviewed-by: cactus <cactus@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
diff --git a/videoencoder/VideoEncoderDef.h b/videoencoder/VideoEncoderDef.h
index 6c47e34..4f36303 100644
--- a/videoencoder/VideoEncoderDef.h
+++ b/videoencoder/VideoEncoderDef.h
@@ -592,7 +592,6 @@
uint32_t kf_auto;
uint32_t kf_min_dist;
uint32_t kf_max_dist;
- uint32_t quality_setting;
uint32_t min_qp;
uint32_t max_qp;
uint32_t rc_undershoot;
diff --git a/videoencoder/VideoEncoderVP8.cpp b/videoencoder/VideoEncoderVP8.cpp
index 06c23b2..d8d05b0 100644
--- a/videoencoder/VideoEncoderVP8.cpp
+++ b/videoencoder/VideoEncoderVP8.cpp
@@ -19,17 +19,16 @@
mVideoParamsVP8.profile = 0;
mVideoParamsVP8.error_resilient = 0;
mVideoParamsVP8.num_token_partitions = 4;
- mVideoParamsVP8.kf_auto = 0;
+ mVideoParamsVP8.kf_auto = 1;
mVideoParamsVP8.kf_min_dist = 0;
- mVideoParamsVP8.kf_max_dist = 0;
- mVideoParamsVP8.quality_setting = 0;
- mVideoParamsVP8.min_qp = 0;
- mVideoParamsVP8.max_qp = 0;
+ mVideoParamsVP8.kf_max_dist = 30;
+ mVideoParamsVP8.min_qp = 4;
+ mVideoParamsVP8.max_qp = 63;
mVideoParamsVP8.rc_undershoot = 100;
mVideoParamsVP8.rc_overshoot = 100;
- mVideoParamsVP8.hrd_buf_size = 500;
- mVideoParamsVP8.hrd_buf_initial_fullness = 200;
- mVideoParamsVP8.hrd_buf_optimal_fullness = 200;
+ mVideoParamsVP8.hrd_buf_size = 6000;
+ mVideoParamsVP8.hrd_buf_initial_fullness = 4000;
+ mVideoParamsVP8.hrd_buf_optimal_fullness = 5000;
mVideoConfigVP8.force_kf = 0;
mVideoConfigVP8.no_ref_last = 0;
@@ -94,6 +93,7 @@
vp8PicParam.pic_flags.bits.no_ref_last = mVideoConfigVP8.no_ref_last;
vp8PicParam.pic_flags.bits.no_ref_gf = mVideoConfigVP8.no_ref_gf;
vp8PicParam.pic_flags.bits.no_ref_arf = mVideoConfigVP8.no_ref_arf;
+ vp8PicParam.pic_flags.value = 0;
vaStatus = vaCreateBuffer(
mVADisplay, mVAContext,