Support setting num_unit_in_tick and time_scale in libmix
BZ: 123457
Support setting num_unit_in_tick and time_scale in H264 SPS VUI header.
But make sure VUIFlag is set in VideoParamsAVC if want to it is vaild.
Change-Id: I3a1e86b08eda6a6f44ae272b7faea6f5f7e8f156
Signed-off-by: Zhao Liang <leo.zhao@intel.com>
Reviewed-on: http://android.intel.com:8080/118896
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/VideoEncoderAVC.cpp b/videoencoder/VideoEncoderAVC.cpp
index b4f0222..665cc7e 100644
--- a/videoencoder/VideoEncoderAVC.cpp
+++ b/videoencoder/VideoEncoderAVC.cpp
@@ -870,6 +870,8 @@
avcSeqParams.intra_period = mComParams.intraPeriod;
//avcSeqParams.vui_flag = 248;
avcSeqParams.vui_parameters_present_flag = mVideoParamsAVC.VUIFlag;
+ avcSeqParams.num_units_in_tick = frameRateDenom;
+ avcSeqParams.time_scale = 2 * frameRateNum;
avcSeqParams.seq_parameter_set_id = 0;
if (mVideoParamsAVC.crop.LeftOffset ||
mVideoParamsAVC.crop.RightOffset ||
@@ -928,8 +930,8 @@
avcSeqParams.seq_fields.bits.log2_max_frame_num_minus4 = 0;
avcSeqParams.seq_fields.bits.log2_max_pic_order_cnt_lsb_minus4 = 2;
- avcSeqParams.time_scale = 900;
- avcSeqParams.num_units_in_tick = 15; /* Tc = num_units_in_tick / time_sacle */
+// avcSeqParams.time_scale = 900;
+// avcSeqParams.num_units_in_tick = 15; /* Tc = num_units_in_tick / time_sacle */
// Not sure whether these settings work for all drivers
vaStatus = vaUnmapBuffer(mVADisplay, mRcParamBuf);