Loading msm/vidc/msm_vidc_platform.c +32 −20 Original line number Diff line number Diff line Loading @@ -202,8 +202,10 @@ static struct msm_vidc_codec lagoon_codecs[] = { static struct msm_vidc_codec_capability lito_capabilities_v0[] = { /* {cap_type, domains, codecs, min, max, step_size, default_value} */ {CAP_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 96, 5760, 1, 1920}, {CAP_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 96, 5760, 1, 1080}, {CAP_FRAME_WIDTH, DEC, CODECS_ALL, 96, 5760, 1, 1920}, {CAP_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 5760, 1, 1080}, {CAP_FRAME_WIDTH, ENC, CODECS_ALL, 96, 5760, 2, 1920}, {CAP_FRAME_HEIGHT, ENC, CODECS_ALL, 96, 5760, 2, 1080}, /* ((5760 * 2880) / 256) */ {CAP_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 36, 64800, 1, 8160}, /* ((3840x2176)/256)@60fps */ Loading Loading @@ -234,8 +236,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = { {CAP_MAX_VIDEOCORES, DOMAINS_ALL, CODECS_ALL, 0, 1, 1, 1}, /* VP8 specific */ {CAP_FRAME_WIDTH, ENC|DEC, VP8, 96, 4096, 1, 1920}, {CAP_FRAME_HEIGHT, ENC|DEC, VP8, 96, 4096, 1, 1080}, {CAP_FRAME_WIDTH, DEC, VP8, 96, 4096, 1, 1920}, {CAP_FRAME_HEIGHT, DEC, VP8, 96, 4096, 1, 1080}, {CAP_FRAME_WIDTH, ENC, VP8, 96, 4096, 2, 1920}, {CAP_FRAME_HEIGHT, ENC, VP8, 96, 4096, 2, 1080}, /* (4096 * 2176) / 256 */ {CAP_MBS_PER_FRAME, ENC|DEC, VP8, 36, 34816, 1, 8160}, /* (3840 * 2176) / 256) * 30*/ Loading @@ -255,8 +259,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = { {CAP_BITRATE, DEC, MPEG2, 1, 40000000, 1, 20000000}, /* Secure usecase specific */ {CAP_SECURE_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_SECURE_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_SECURE_FRAME_WIDTH, DEC, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_SECURE_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_SECURE_FRAME_WIDTH, ENC, CODECS_ALL, 96, 4096, 2, 1920}, {CAP_SECURE_FRAME_HEIGHT, ENC, CODECS_ALL, 96, 4096, 2, 1080}, /* (4096 * 2176) / 256 */ {CAP_SECURE_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 36, 34816, 1, 8160}, {CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 40000000, 1, 20000000}, Loading @@ -270,10 +276,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = { {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 240, 1, 30}, /* Image specific */ {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 1, 512}, {CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 1, 512}, {CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 1, 8192}, {CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 1, 8192}, {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 2, 512}, {CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 2, 512}, {CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 2, 8192}, {CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 2, 8192}, /* Level for AVC and HEVC encoder specific. Default for levels is UNKNOWN value. But if we use unknown Loading @@ -298,8 +304,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = { static struct msm_vidc_codec_capability lito_capabilities_v1[] = { /* {cap_type, domains, codecs, min, max, step_size, default_value} */ {CAP_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_FRAME_WIDTH, DEC, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_FRAME_WIDTH, ENC, CODECS_ALL, 96, 4096, 2, 1920}, {CAP_FRAME_HEIGHT, ENC, CODECS_ALL, 96, 4096, 2, 1080}, /* ((4096 * 2176) / 256) */ {CAP_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 36, 34816, 1, 8160}, /* UHD@30 decode + 1080@30 encode */ Loading Loading @@ -330,8 +338,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v1[] = { {CAP_MAX_VIDEOCORES, DOMAINS_ALL, CODECS_ALL, 0, 1, 1, 1}, /* VP8 specific */ {CAP_FRAME_WIDTH, ENC|DEC, VP8, 96, 1920, 1, 1920}, {CAP_FRAME_HEIGHT, ENC|DEC, VP8, 96, 1920, 1, 1080}, {CAP_FRAME_WIDTH, DEC, VP8, 96, 1920, 1, 1920}, {CAP_FRAME_HEIGHT, DEC, VP8, 96, 1920, 1, 1080}, {CAP_FRAME_WIDTH, ENC, VP8, 96, 1920, 2, 1920}, {CAP_FRAME_HEIGHT, ENC, VP8, 96, 1920, 2, 1080}, /* (1920 * 1088) / 256 */ {CAP_MBS_PER_FRAME, ENC|DEC, VP8, 36, 8160, 1, 8160}, /* ((1920 * 1088) / 256) * 60*/ Loading @@ -351,8 +361,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v1[] = { {CAP_BITRATE, DEC, MPEG2, 1, 40000000, 1, 20000000}, /* Secure usecase specific */ {CAP_SECURE_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_SECURE_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_SECURE_FRAME_WIDTH, DEC, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_SECURE_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_SECURE_FRAME_WIDTH, ENC, CODECS_ALL, 96, 4096, 2, 1920}, {CAP_SECURE_FRAME_HEIGHT, ENC, CODECS_ALL, 96, 4096, 2, 1080}, /* (4096 * 2176) / 256 */ {CAP_SECURE_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 36, 34816, 1, 8160}, {CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 40000000, 1, 20000000}, Loading @@ -366,10 +378,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v1[] = { {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 240, 1, 30}, /* Image specific */ {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 1, 512}, {CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 1, 512}, {CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 1, 8192}, {CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 1, 8192}, {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 2, 512}, {CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 2, 512}, {CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 2, 8192}, {CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 2, 8192}, /* Level for AVC and HEVC encoder specific. Default for levels is UNKNOWN value. But if we use unknown Loading Loading
msm/vidc/msm_vidc_platform.c +32 −20 Original line number Diff line number Diff line Loading @@ -202,8 +202,10 @@ static struct msm_vidc_codec lagoon_codecs[] = { static struct msm_vidc_codec_capability lito_capabilities_v0[] = { /* {cap_type, domains, codecs, min, max, step_size, default_value} */ {CAP_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 96, 5760, 1, 1920}, {CAP_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 96, 5760, 1, 1080}, {CAP_FRAME_WIDTH, DEC, CODECS_ALL, 96, 5760, 1, 1920}, {CAP_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 5760, 1, 1080}, {CAP_FRAME_WIDTH, ENC, CODECS_ALL, 96, 5760, 2, 1920}, {CAP_FRAME_HEIGHT, ENC, CODECS_ALL, 96, 5760, 2, 1080}, /* ((5760 * 2880) / 256) */ {CAP_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 36, 64800, 1, 8160}, /* ((3840x2176)/256)@60fps */ Loading Loading @@ -234,8 +236,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = { {CAP_MAX_VIDEOCORES, DOMAINS_ALL, CODECS_ALL, 0, 1, 1, 1}, /* VP8 specific */ {CAP_FRAME_WIDTH, ENC|DEC, VP8, 96, 4096, 1, 1920}, {CAP_FRAME_HEIGHT, ENC|DEC, VP8, 96, 4096, 1, 1080}, {CAP_FRAME_WIDTH, DEC, VP8, 96, 4096, 1, 1920}, {CAP_FRAME_HEIGHT, DEC, VP8, 96, 4096, 1, 1080}, {CAP_FRAME_WIDTH, ENC, VP8, 96, 4096, 2, 1920}, {CAP_FRAME_HEIGHT, ENC, VP8, 96, 4096, 2, 1080}, /* (4096 * 2176) / 256 */ {CAP_MBS_PER_FRAME, ENC|DEC, VP8, 36, 34816, 1, 8160}, /* (3840 * 2176) / 256) * 30*/ Loading @@ -255,8 +259,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = { {CAP_BITRATE, DEC, MPEG2, 1, 40000000, 1, 20000000}, /* Secure usecase specific */ {CAP_SECURE_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_SECURE_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_SECURE_FRAME_WIDTH, DEC, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_SECURE_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_SECURE_FRAME_WIDTH, ENC, CODECS_ALL, 96, 4096, 2, 1920}, {CAP_SECURE_FRAME_HEIGHT, ENC, CODECS_ALL, 96, 4096, 2, 1080}, /* (4096 * 2176) / 256 */ {CAP_SECURE_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 36, 34816, 1, 8160}, {CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 40000000, 1, 20000000}, Loading @@ -270,10 +276,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = { {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 240, 1, 30}, /* Image specific */ {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 1, 512}, {CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 1, 512}, {CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 1, 8192}, {CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 1, 8192}, {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 2, 512}, {CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 2, 512}, {CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 2, 8192}, {CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 2, 8192}, /* Level for AVC and HEVC encoder specific. Default for levels is UNKNOWN value. But if we use unknown Loading @@ -298,8 +304,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v0[] = { static struct msm_vidc_codec_capability lito_capabilities_v1[] = { /* {cap_type, domains, codecs, min, max, step_size, default_value} */ {CAP_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_FRAME_WIDTH, DEC, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_FRAME_WIDTH, ENC, CODECS_ALL, 96, 4096, 2, 1920}, {CAP_FRAME_HEIGHT, ENC, CODECS_ALL, 96, 4096, 2, 1080}, /* ((4096 * 2176) / 256) */ {CAP_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 36, 34816, 1, 8160}, /* UHD@30 decode + 1080@30 encode */ Loading Loading @@ -330,8 +338,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v1[] = { {CAP_MAX_VIDEOCORES, DOMAINS_ALL, CODECS_ALL, 0, 1, 1, 1}, /* VP8 specific */ {CAP_FRAME_WIDTH, ENC|DEC, VP8, 96, 1920, 1, 1920}, {CAP_FRAME_HEIGHT, ENC|DEC, VP8, 96, 1920, 1, 1080}, {CAP_FRAME_WIDTH, DEC, VP8, 96, 1920, 1, 1920}, {CAP_FRAME_HEIGHT, DEC, VP8, 96, 1920, 1, 1080}, {CAP_FRAME_WIDTH, ENC, VP8, 96, 1920, 2, 1920}, {CAP_FRAME_HEIGHT, ENC, VP8, 96, 1920, 2, 1080}, /* (1920 * 1088) / 256 */ {CAP_MBS_PER_FRAME, ENC|DEC, VP8, 36, 8160, 1, 8160}, /* ((1920 * 1088) / 256) * 60*/ Loading @@ -351,8 +361,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v1[] = { {CAP_BITRATE, DEC, MPEG2, 1, 40000000, 1, 20000000}, /* Secure usecase specific */ {CAP_SECURE_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_SECURE_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_SECURE_FRAME_WIDTH, DEC, CODECS_ALL, 96, 4096, 1, 1920}, {CAP_SECURE_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 4096, 1, 1080}, {CAP_SECURE_FRAME_WIDTH, ENC, CODECS_ALL, 96, 4096, 2, 1920}, {CAP_SECURE_FRAME_HEIGHT, ENC, CODECS_ALL, 96, 4096, 2, 1080}, /* (4096 * 2176) / 256 */ {CAP_SECURE_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 36, 34816, 1, 8160}, {CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 40000000, 1, 20000000}, Loading @@ -366,10 +378,10 @@ static struct msm_vidc_codec_capability lito_capabilities_v1[] = { {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 240, 1, 30}, /* Image specific */ {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 1, 512}, {CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 1, 512}, {CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 1, 8192}, {CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 1, 8192}, {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 2, 512}, {CAP_HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 2, 512}, {CAP_HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 8192, 2, 8192}, {CAP_HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 8192, 2, 8192}, /* Level for AVC and HEVC encoder specific. Default for levels is UNKNOWN value. But if we use unknown Loading