mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 21:22:09 -04:00
msm: vidc: update VP9 level ranges
Added changes to update decoder VP9 level ranges According to the platform specific. Change-Id: Ie0115bf255fa2edc2ebed047d095e086cb18b3e0
This commit is contained in:
parent
ebf28bcfef
commit
446693d0b9
3 changed files with 44 additions and 10 deletions
|
|
@ -1407,6 +1407,9 @@ static void msm_vidc_comm_update_ctrl_limits(struct msm_vidc_inst *inst)
|
|||
msm_vidc_comm_update_ctrl(inst,
|
||||
V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,
|
||||
&inst->capability.cap[CAP_HEVC_LEVEL]);
|
||||
msm_vidc_comm_update_ctrl(inst,
|
||||
V4L2_CID_MPEG_VIDC_VIDEO_VP9_LEVEL,
|
||||
&inst->capability.cap[CAP_VP9_LEVEL]);
|
||||
/*
|
||||
* Default value of level is unknown, but since we are not
|
||||
* using unknown value while updating level controls, we need
|
||||
|
|
|
|||
|
|
@ -203,13 +203,16 @@ static struct msm_vidc_codec_capability bengal_capabilities_v0[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_0, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_4_1},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5},
|
||||
};
|
||||
|
||||
static struct msm_vidc_codec_capability bengal_capabilities_v1[] = {
|
||||
|
|
@ -270,13 +273,16 @@ static struct msm_vidc_codec_capability bengal_capabilities_v1[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_0, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_4_1},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5},
|
||||
};
|
||||
|
||||
static struct msm_vidc_codec_capability holi_capabilities[] = {
|
||||
|
|
@ -339,13 +345,16 @@ static struct msm_vidc_codec_capability holi_capabilities[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_0, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_4_1},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5},
|
||||
};
|
||||
|
||||
static struct msm_vidc_codec_capability scuba_capabilities[] = {
|
||||
|
|
@ -408,13 +417,16 @@ static struct msm_vidc_codec_capability scuba_capabilities[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_0, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_4_1},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5},
|
||||
};
|
||||
|
||||
static struct msm_vidc_codec_capability lahaina_capabilities[] = {
|
||||
|
|
@ -518,13 +530,16 @@ static struct msm_vidc_codec_capability lahaina_capabilities[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_6, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_6},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_6_1, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_0},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51},
|
||||
};
|
||||
|
||||
static struct msm_vidc_codec_capability yupik_capabilities_v0[] = {
|
||||
|
|
@ -633,13 +648,16 @@ static struct msm_vidc_codec_capability yupik_capabilities_v0[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_2, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_4_0},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51},
|
||||
};
|
||||
|
||||
static struct msm_vidc_codec_capability yupik_capabilities_v1[] = {
|
||||
|
|
@ -741,13 +759,16 @@ static struct msm_vidc_codec_capability yupik_capabilities_v1[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_2, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_4_0},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_5},
|
||||
};
|
||||
|
||||
static struct msm_vidc_codec_capability shima_capabilities_v0[] = {
|
||||
|
|
@ -854,13 +875,16 @@ static struct msm_vidc_codec_capability shima_capabilities_v0[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_6_0, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_4_0},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_6, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51},
|
||||
};
|
||||
|
||||
static struct msm_vidc_codec_capability shima_capabilities_v1[] = {
|
||||
|
|
@ -961,13 +985,16 @@ static struct msm_vidc_codec_capability shima_capabilities_v1[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_2, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_4_0},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51},
|
||||
};
|
||||
|
||||
static struct msm_vidc_codec_capability shima_capabilities_v2[] = {
|
||||
|
|
@ -1067,13 +1094,16 @@ static struct msm_vidc_codec_capability shima_capabilities_v2[] = {
|
|||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
|
||||
/* Level for AVC and HEVC decoder specific */
|
||||
/* Level for AVC, HEVC and VP9 decoder specific */
|
||||
{CAP_H264_LEVEL, DEC, H264, V4L2_MPEG_VIDEO_H264_LEVEL_1_0,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_5_1, 1,
|
||||
V4L2_MPEG_VIDEO_H264_LEVEL_4_0},
|
||||
{CAP_HEVC_LEVEL, DEC, HEVC, V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_5, 1,
|
||||
V4L2_MPEG_VIDEO_HEVC_LEVEL_4},
|
||||
{CAP_VP9_LEVEL, DEC, VP9, V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_UNUSED,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51, 1,
|
||||
V4L2_MPEG_VIDC_VIDEO_VP9_LEVEL_51},
|
||||
};
|
||||
|
||||
/* Generally Iris2 VPSS only support 8 multiple encoding if
|
||||
|
|
|
|||
|
|
@ -257,6 +257,7 @@ enum hal_capability {
|
|||
CAP_HEIC_IMAGE_FRAME_HEIGHT,
|
||||
CAP_H264_LEVEL,
|
||||
CAP_HEVC_LEVEL,
|
||||
CAP_VP9_LEVEL,
|
||||
CAP_MAX,
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue