Merge remote-tracking branch 'goog/qcom/release/LA.UM.9.12.C10.11.00.00.840.553' am: 6beb06813e am: e13ad5fc63
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/qcom/sm7250/media/+/22520306
Change-Id: Ic2731a547453eb1bd55a763cdaf058187f4b6f69
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/conf_files/bengal/media_codecs_performance.xml b/conf_files/bengal/media_codecs_performance.xml
index 3a03e15..49c9db1 100644
--- a/conf_files/bengal/media_codecs_performance.xml
+++ b/conf_files/bengal/media_codecs_performance.xml
@@ -163,6 +163,8 @@
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="406-543" />
+ <Limit name="measured-frame-rate-480x360" range="450-600" />
+ <Limit name="measured-frame-rate-1280x720" range="140-260" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="160-480" />
diff --git a/conf_files/bengal/media_codecs_vendor.xml b/conf_files/bengal/media_codecs_vendor.xml
index 53dafcc..26727f4 100644
--- a/conf_files/bengal/media_codecs_vendor.xml
+++ b/conf_files/bengal/media_codecs_vendor.xml
@@ -327,9 +327,9 @@
<Limit name="size" min="2x2" max="1280x720" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="8x8" />
- <Limit name="block-count" range="1-3600" />
- <Limit name="blocks-per-second" range="1-108000" />
- <Limit name="bitrate" range="1-2000000" />
+ <Limit name="block-count" range="1-14400" />
+ <Limit name="blocks-per-second" range="1-432000" />
+ <Limit name="bitrate" range="1-3000000" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- profiles and levels: ProfileHigh : Level51 -->
diff --git a/conf_files/bengal/media_codecs_vendor_khaje.xml b/conf_files/bengal/media_codecs_vendor_khaje.xml
index 237c78e..6550cb3 100644
--- a/conf_files/bengal/media_codecs_vendor_khaje.xml
+++ b/conf_files/bengal/media_codecs_vendor_khaje.xml
@@ -341,7 +341,7 @@
<Limit name="block-size" value="8x8" />
<Limit name="block-count" range="1-14400" />
<Limit name="blocks-per-second" range="1-432000" />
- <Limit name="bitrate" range="1-2000000" />
+ <Limit name="bitrate" range="1-3000000" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- profiles and levels: ProfileHigh : Level51 -->
diff --git a/conf_files/bengal/media_codecs_vendor_scuba_v0_32.xml b/conf_files/bengal/media_codecs_vendor_scuba_v0_32.xml
index b5b97c0..3f894be 100644
--- a/conf_files/bengal/media_codecs_vendor_scuba_v0_32.xml
+++ b/conf_files/bengal/media_codecs_vendor_scuba_v0_32.xml
@@ -278,9 +278,9 @@
<Limit name="size" min="2x2" max="1280x720" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="8x8" />
- <Limit name="block-count" range="1-3600" />
- <Limit name="blocks-per-second" range="1-108000" />
- <Limit name="bitrate" range="1-2000000" />
+ <Limit name="block-count" range="1-14400" />
+ <Limit name="blocks-per-second" range="1-432000" />
+ <Limit name="bitrate" range="1-3000000" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- profiles and levels: ProfileHigh : Level51 -->
diff --git a/conf_files/kona/media_codecs_performance.xml b/conf_files/kona/media_codecs_performance.xml
index 455f0ce..e2780b9 100644
--- a/conf_files/kona/media_codecs_performance.xml
+++ b/conf_files/kona/media_codecs_performance.xml
@@ -190,7 +190,7 @@
<Limit name="measured-frame-rate-1280x720" range="300-600" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
- <Limit name="measured-frame-rate-176x144" range="650-770" />
+ <Limit name="measured-frame-rate-176x144" range="2195-2270" />
<Limit name="measured-frame-rate-352x288" range="653-1526" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
diff --git a/media-prop/init.qti.media.sh b/media-prop/init.qti.media.sh
index e95e773..28b76a1 100644
--- a/media-prop/init.qti.media.sh
+++ b/media-prop/init.qti.media.sh
@@ -67,12 +67,12 @@
esac
;;
"kona")
- if [ $build_codename -le "12" ]; then
+ if [ $build_codename -le "13" ]; then
setprop vendor.netflix.bsp_rev "Q8250-19134-1"
fi
;;
"lito")
- if [ $build_codename -le "12" ]; then
+ if [ $build_codename -le "13" ]; then
setprop vendor.netflix.bsp_rev "Q7250-19133-1"
fi
;;
diff --git a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
index 3530049..6f52170 100644
--- a/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
+++ b/mm-video-v4l2/vidc/venc/src/video_encoder_device_v4l2.cpp
@@ -981,6 +981,9 @@
OMX_ERRORTYPE eRet = OMX_ErrorNone;
struct v4l2_queryctrl profile_cap, level_cap, tier_cap;
int v4l2_profile;
+ char platform_name[PROP_VALUE_MAX] = {0};
+ char version[PROP_VALUE_MAX] = {0};
+
int avc_profiles[5] = { QOMX_VIDEO_AVCProfileConstrainedBaseline,
QOMX_VIDEO_AVCProfileBaseline,
QOMX_VIDEO_AVCProfileMain,
@@ -1092,6 +1095,16 @@
eRet = OMX_ErrorNoMore;
}
+ if (m_sVenc_cfg.codectype == V4L2_PIX_FMT_HEVC) {
+ property_get("ro.board.platform", platform_name, "0");
+ if (!strncmp(platform_name, "lito", 4)) {
+ if (property_get("vendor.media.target.version", version, "0") && ((atoi(version) != 2) && (atoi(version) != 3))) {
+ DEBUG_PRINT_LOW("Disabling main10 and above for saipan");
+ m_disable_hdr = 0x2;
+ }
+ }
+ }
+
if (m_disable_hdr & ENC_HDR_DISABLE_FLAG) {
if (m_sVenc_cfg.codectype == V4L2_PIX_FMT_HEVC) {
if (profileLevelType->eProfile == OMX_VIDEO_HEVCProfileMain10 ||
@@ -2720,6 +2733,15 @@
DEBUG_PRINT_LOW("gralloc format 0x%x (%s) (%s)",
handle->format, grallocFormatStr, isUBWC ? "UBWC" : "Linear");
+ if (m_codec == OMX_VIDEO_CodingHEVC && (handle->format == HAL_PIXEL_FORMAT_YCbCr_420_TP10_UBWC ||
+ handle->format == HAL_PIXEL_FORMAT_YCbCr_420_P010_VENUS) &&
+ codec_profile.profile != V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10)
+ {
+ if (!venc_set_profile (OMX_VIDEO_HEVCProfileMain10)) {
+ DEBUG_PRINT_ERROR("ERROR: Unsuccessful in updating Profile OMX_VIDEO_HEVCProfileMain10");
+ return false;
+ }
+ }
if (handle->format == HAL_PIXEL_FORMAT_NV12_ENCODEABLE) {
m_sVenc_cfg.inputformat = isUBWC ? V4L2_PIX_FMT_NV12_UBWC : V4L2_PIX_FMT_NV12;
DEBUG_PRINT_INFO("ENC_CONFIG: Input Color = NV12 %s", isUBWC ? "UBWC" : "Linear");