summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParas Nagda <quic_pnagda@quicinc.com>2022-05-23 14:47:54 +0530
committerJerry Huang <huangjerry@google.com>2022-05-25 05:45:20 +0000
commit5e9930ddf4cbd4fb330f50aa5c64ba289e57f622 (patch)
treed2b0b4b6a85cdb451a012f7d51ef1c93272fae23
parenta84d67dd9422454f086fccfd46b0f4e1f06df763 (diff)
downloadvideo-driver-5e9930ddf4cbd4fb330f50aa5c64ba289e57f622.tar.gz
msm: vidc: limit hevc profile for lito
For lito with sku 0, 10-bit hevc encoding is not supported by firmware.Hence limiting the profile to Main for the same. Bug: 229273015 Test: CodecEncoderSurfaceTest Change-Id: I8d5df7e8aa134cbda39c8db85b4521d4fc0267b1 Signed-off-by: Paras Nagda <quic_pnagda@quicinc.com>
-rw-r--r--msm/vidc/msm_vidc_common.c3
-rw-r--r--msm/vidc/msm_vidc_platform.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/msm/vidc/msm_vidc_common.c b/msm/vidc/msm_vidc_common.c
index 8743d91..5d6be3a 100644
--- a/msm/vidc/msm_vidc_common.c
+++ b/msm/vidc/msm_vidc_common.c
@@ -1490,6 +1490,9 @@ static void msm_vidc_comm_update_ctrl_limits(struct msm_vidc_inst *inst)
msm_vidc_comm_update_ctrl(inst,
V4L2_CID_MPEG_VIDEO_B_FRAMES,
&inst->capability.cap[CAP_BFRAME]);
+ msm_vidc_comm_update_ctrl(inst,
+ V4L2_CID_MPEG_VIDEO_HEVC_PROFILE,
+ &inst->capability.cap[CAP_PROFILE]);
}
msm_vidc_comm_update_ctrl(inst,
V4L2_CID_MPEG_VIDEO_H264_LEVEL,
diff --git a/msm/vidc/msm_vidc_platform.c b/msm/vidc/msm_vidc_platform.c
index b788cce..ce2c337 100644
--- a/msm/vidc/msm_vidc_platform.c
+++ b/msm/vidc/msm_vidc_platform.c
@@ -281,6 +281,11 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = {
{CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 2, 8192},
{CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 2, 8192},
+ /* profile hevc usecase specific */
+ {CAP_PROFILE, ENC, HEVC, V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,
+ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN, 1,
+ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN},
+
/* Level for AVC and HEVC encoder specific.
Default for levels is UNKNOWN value. But if we use unknown
value here to set as default, max value needs to be set to