msm: vidc: Update min resolution capability

Update min resolution support from 128x128
to 96x96 for decoder.

CRs-Fixed: 2724675
Change-Id: I230d3c5fbdc1d476a634160de30b20e207a5f315
Signed-off-by: Manikanta Kanamarlapudi <kmanikan@codeaurora.org>
This commit is contained in:
Manikanta Kanamarlapudi 2020-07-03 10:03:17 +05:30
parent 7b3b1524c4
commit 8fa3a6f8a4

View File

@ -244,12 +244,16 @@ static struct msm_vidc_codec_capability bengal_capabilities_v1[] = {
static struct msm_vidc_codec_capability holi_capabilities[] = {
/* {cap_type, domains, codecs, min, max, step_size, default_value} */
{CAP_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 128, 1920, 1, 1920},
{CAP_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 128, 1920, 1, 1080},
{CAP_FRAME_WIDTH, DEC, CODECS_ALL, 96, 1920, 1, 1920},
{CAP_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 1920, 1, 1080},
{CAP_FRAME_WIDTH, ENC, CODECS_ALL, 128, 1920, 1, 1920},
{CAP_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 1920, 1, 1080},
/* ((1920 * 1088) / 256) */
{CAP_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 64, 8160, 1, 8160},
{CAP_MBS_PER_FRAME, DEC, CODECS_ALL, 36, 8160, 1, 8160},
{CAP_MBS_PER_FRAME, ENC, CODECS_ALL, 64, 8160, 1, 8160},
/* 1080@30 decode + 1080@30 encode */
{CAP_MBS_PER_SECOND, DOMAINS_ALL, CODECS_ALL, 64, 489600, 1, 244800},
{CAP_MBS_PER_SECOND, DEC, CODECS_ALL, 36, 489600, 1, 244800},
{CAP_MBS_PER_SECOND, ENC, CODECS_ALL, 64, 489600, 1, 244800},
{CAP_FRAMERATE, DOMAINS_ALL, CODECS_ALL, 1, 120, 1, 30},
{CAP_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 60000000, 1, 20000000},
{CAP_CABAC_BITRATE, ENC, H264, 1, 60000000, 1, 20000000},
@ -268,8 +272,10 @@ static struct msm_vidc_codec_capability holi_capabilities[] = {
{CAP_MAX_VIDEOCORES, DOMAINS_ALL, CODECS_ALL, 0, 1, 1, 1},
/* Secure usecase specific */
{CAP_SECURE_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 128, 1920, 1, 1920},
{CAP_SECURE_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 128, 1920, 1, 1080},
{CAP_SECURE_FRAME_WIDTH, DEC, CODECS_ALL, 96, 1920, 1, 1920},
{CAP_SECURE_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 1920, 1, 1080},
{CAP_SECURE_FRAME_WIDTH, ENC, CODECS_ALL, 128, 1920, 1, 1920},
{CAP_SECURE_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 1920, 1, 1080},
/* (1920 * 1088) / 256 */
{CAP_SECURE_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 64, 8160, 1, 8160},
{CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 35000000, 1, 20000000},
@ -407,10 +413,13 @@ static struct msm_vidc_codec_capability lahaina_capabilities[] = {
static struct msm_vidc_codec_capability shima_capabilities_v0[] = {
/* {cap_type, domains, codecs, min, max, step_size, default_value,} */
{CAP_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 128, 8192, 1, 1920},
{CAP_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 128, 8192, 1, 1080},
{CAP_FRAME_WIDTH, DEC, CODECS_ALL, 96, 8192, 1, 1920},
{CAP_FRAME_HEIGHT, DEC, CODECS_ALL, 96, 8192, 1, 1080},
{CAP_FRAME_WIDTH, ENC, CODECS_ALL, 128, 8192, 1, 1920},
{CAP_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 8192, 1, 1080},
/* (8192 * 4320) / 256 */
{CAP_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 64, 138240, 1, 138240},
{CAP_MBS_PER_FRAME, DEC, CODECS_ALL, 36, 138240, 1, 138240},
{CAP_MBS_PER_FRAME, ENC, CODECS_ALL, 64, 138240, 1, 138240},
{CAP_FRAMERATE, DOMAINS_ALL, CODECS_ALL, 1, 480, 1, 30},
/* Encode spec - 4K@60 */
@ -419,7 +428,7 @@ static struct msm_vidc_codec_capability shima_capabilities_v0[] = {
/* Decode spec - 8K@30, 4k@120*/
/* ((8192 * 4320) / 256) * 30 fps */
{CAP_MBS_PER_SECOND, DEC, CODECS_ALL, 64, 4147200, 1, 979200},
{CAP_MBS_PER_SECOND, DEC, CODECS_ALL, 36, 4147200, 1, 979200},
{CAP_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 160000000, 1, 20000000},
{CAP_CABAC_BITRATE, ENC, H264, 1, 160000000, 1, 20000000},
@ -442,24 +451,27 @@ static struct msm_vidc_codec_capability shima_capabilities_v0[] = {
{CAP_MAX_VIDEOCORES, DOMAINS_ALL, CODECS_ALL, 0, 1, 1, 1},
/* Mpeg2 decoder specific */
{CAP_FRAME_WIDTH, DEC, MPEG2, 128, 1920, 1, 1920},
{CAP_FRAME_HEIGHT, DEC, MPEG2, 128, 1920, 1, 1080},
{CAP_FRAME_WIDTH, DEC, MPEG2, 96, 1920, 1, 1920},
{CAP_FRAME_HEIGHT, DEC, MPEG2, 96, 1920, 1, 1080},
/* (1920 * 1088) / 256 */
{CAP_MBS_PER_FRAME, DEC, MPEG2, 64, 8160, 1, 8160},
{CAP_MBS_PER_FRAME, DEC, MPEG2, 36, 8160, 1, 8160},
/* ((1920 * 1088) / 256) * 30*/
{CAP_MBS_PER_SECOND, DEC, MPEG2, 64, 244800, 1, 244800},
{CAP_MBS_PER_SECOND, DEC, MPEG2, 36, 244800, 1, 244800},
{CAP_FRAMERATE, DEC, MPEG2, 1, 30, 1, 30},
{CAP_BITRATE, DEC, MPEG2, 1, 40000000, 1, 20000000},
/* Secure usecase specific */
{CAP_SECURE_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 128, 4096, 1, 1920},
{CAP_SECURE_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 128, 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, 128, 4096, 1, 1920},
{CAP_SECURE_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 4096, 1, 1080},
/* (3840 * 2176) / 256 */
{CAP_SECURE_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 64, 34816, 1, 8160},
{CAP_SECURE_MBS_PER_FRAME, DEC, CODECS_ALL, 36, 34816, 1, 8160},
{CAP_SECURE_MBS_PER_FRAME, ENC, CODECS_ALL, 64, 34816, 1, 8160},
{CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 40000000, 1, 20000000},
/* Batch Mode Decode */
{CAP_BATCH_MAX_MB_PER_FRAME, DEC, CODECS_ALL, 64, 8160, 1, 8160},
{CAP_BATCH_MAX_MB_PER_FRAME, DEC, CODECS_ALL, 36, 8160, 1, 8160},
/* (1920 * 1088) / 256 */
{CAP_BATCH_MAX_FPS, DEC, CODECS_ALL, 1, 60, 1, 60},
@ -503,12 +515,16 @@ static struct msm_vidc_codec_capability shima_capabilities_v0[] = {
static struct msm_vidc_codec_capability shima_capabilities_v1[] = {
/* {cap_type, domains, codecs, min, max, step_size, default_value,} */
{CAP_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 128, 4096, 1, 1920},
{CAP_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 128, 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, 128, 4096, 1, 1920},
{CAP_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 4096, 1, 1080},
/* ((4096 * 2176) / 256) */
{CAP_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 36, 34816, 1, 8160},
{CAP_MBS_PER_FRAME, DEC, CODECS_ALL, 36, 34816, 1, 8160},
{CAP_MBS_PER_FRAME, ENC, CODECS_ALL, 64, 34816, 1, 8160},
/* ((3840 * 2176) / 256) * 60 fps */
{CAP_MBS_PER_SECOND, DOMAINS_ALL, CODECS_ALL, 64, 1958400, 1, 489600},
{CAP_MBS_PER_SECOND, DEC, CODECS_ALL, 36, 1958400, 1, 489600},
{CAP_MBS_PER_SECOND, ENC, CODECS_ALL, 64, 1958400, 1, 489600},
{CAP_FRAMERATE, DOMAINS_ALL, CODECS_ALL, 1, 480, 1, 30},
{CAP_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 100000000, 1, 20000000},
@ -532,24 +548,27 @@ static struct msm_vidc_codec_capability shima_capabilities_v1[] = {
{CAP_MAX_VIDEOCORES, DOMAINS_ALL, CODECS_ALL, 0, 1, 1, 1},
/* Mpeg2 decoder specific */
{CAP_FRAME_WIDTH, DEC, MPEG2, 128, 1920, 1, 1920},
{CAP_FRAME_HEIGHT, DEC, MPEG2, 128, 1920, 1, 1080},
{CAP_FRAME_WIDTH, DEC, MPEG2, 96, 1920, 1, 1920},
{CAP_FRAME_HEIGHT, DEC, MPEG2, 96, 1920, 1, 1080},
/* (1920 * 1088) / 256 */
{CAP_MBS_PER_FRAME, DEC, MPEG2, 64, 8160, 1, 8160},
{CAP_MBS_PER_FRAME, DEC, MPEG2, 36, 8160, 1, 8160},
/* ((1920 * 1088) / 256) * 30 */
{CAP_MBS_PER_SECOND, DEC, MPEG2, 64, 244800, 1, 244800},
{CAP_MBS_PER_SECOND, DEC, MPEG2, 36, 244800, 1, 244800},
{CAP_FRAMERATE, DEC, MPEG2, 1, 30, 1, 30},
{CAP_BITRATE, DEC, MPEG2, 1, 40000000, 1, 20000000},
/* Secure usecase specific */
{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, DOMAINS_ALL, CODECS_ALL, 128, 4096, 1, 1920},
{CAP_SECURE_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 128, 4096, 1, 1080},
/* (4096 * 2176) / 256 */
{CAP_SECURE_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 64, 34816, 1, 8160},
{CAP_SECURE_MBS_PER_FRAME, DEC, CODECS_ALL, 36, 34816, 1, 8160},
{CAP_SECURE_MBS_PER_FRAME, ENC, CODECS_ALL, 64, 34816, 1, 8160},
{CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 40000000, 1, 20000000},
/* Batch Mode Decode */
{CAP_BATCH_MAX_MB_PER_FRAME, DEC, CODECS_ALL, 64, 8160, 1, 8160},
{CAP_BATCH_MAX_MB_PER_FRAME, DEC, CODECS_ALL, 36, 8160, 1, 8160},
/* (1920 * 1088) / 256 */
{CAP_BATCH_MAX_FPS, DEC, CODECS_ALL, 1, 30, 1, 30},
@ -593,12 +612,16 @@ static struct msm_vidc_codec_capability shima_capabilities_v1[] = {
static struct msm_vidc_codec_capability shima_capabilities_v2[] = {
/* {cap_type, domains, codecs, min, max, step_size, default_value,} */
{CAP_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 128, 4096, 1, 1920},
{CAP_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 128, 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, 128, 4096, 1, 1920},
{CAP_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 4096, 1, 1080},
/* (4096 * 2176) / 256 */
{CAP_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 64, 34816, 1, 8160},
{CAP_MBS_PER_FRAME, DEC, CODECS_ALL, 36, 34816, 1, 8160},
{CAP_MBS_PER_FRAME, ENC, CODECS_ALL, 64, 34816, 1, 8160},
/* ((3840 * 2176) / 256) * 30 fps */
{CAP_MBS_PER_SECOND, DOMAINS_ALL, CODECS_ALL, 64, 979200, 1, 244800},
{CAP_MBS_PER_SECOND, DEC, CODECS_ALL, 36, 979200, 1, 244800},
{CAP_MBS_PER_SECOND, ENC, CODECS_ALL, 64, 979200, 1, 244800},
{CAP_FRAMERATE, DOMAINS_ALL, CODECS_ALL, 1, 240, 1, 30},
{CAP_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 100000000, 1, 20000000},
{CAP_CABAC_BITRATE, ENC, H264, 1, 100000000, 1, 20000000},
@ -621,24 +644,27 @@ static struct msm_vidc_codec_capability shima_capabilities_v2[] = {
{CAP_MAX_VIDEOCORES, DOMAINS_ALL, CODECS_ALL, 0, 1, 1, 1},
/* Mpeg2 decoder specific */
{CAP_FRAME_WIDTH, DEC, MPEG2, 128, 1920, 1, 1920},
{CAP_FRAME_HEIGHT, DEC, MPEG2, 128, 1920, 1, 1080},
{CAP_FRAME_WIDTH, DEC, MPEG2, 96, 1920, 1, 1920},
{CAP_FRAME_HEIGHT, DEC, MPEG2, 96, 1920, 1, 1080},
/* (1920 * 1088) / 256 */
{CAP_MBS_PER_FRAME, DEC, MPEG2, 64, 8160, 1, 8160},
{CAP_MBS_PER_FRAME, DEC, MPEG2, 36, 8160, 1, 8160},
/* ((1920 * 1088) / 256) * 30*/
{CAP_MBS_PER_SECOND, DEC, MPEG2, 64, 244800, 1, 244800},
{CAP_MBS_PER_SECOND, DEC, MPEG2, 36, 244800, 1, 244800},
{CAP_FRAMERATE, DEC, MPEG2, 1, 30, 1, 30},
{CAP_BITRATE, DEC, MPEG2, 1, 40000000, 1, 20000000},
/* Secure usecase specific */
{CAP_SECURE_FRAME_WIDTH, DOMAINS_ALL, CODECS_ALL, 128, 4096, 1, 1920},
{CAP_SECURE_FRAME_HEIGHT, DOMAINS_ALL, CODECS_ALL, 128, 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, 128, 4096, 1, 1920},
{CAP_SECURE_FRAME_HEIGHT, ENC, CODECS_ALL, 128, 4096, 1, 1080},
/* (4096 * 2176) / 256 */
{CAP_SECURE_MBS_PER_FRAME, DOMAINS_ALL, CODECS_ALL, 64, 34816, 1, 8160},
{CAP_SECURE_MBS_PER_FRAME, DEC, CODECS_ALL, 36, 34816, 1, 8160},
{CAP_SECURE_MBS_PER_FRAME, ENC, CODECS_ALL, 64, 34816, 1, 8160},
{CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 40000000, 1, 20000000},
/* Batch Mode Decode */
{CAP_BATCH_MAX_MB_PER_FRAME, DEC, CODECS_ALL, 64, 8160, 1, 8160},
{CAP_BATCH_MAX_MB_PER_FRAME, DEC, CODECS_ALL, 36, 8160, 1, 8160},
/* (1920 * 1088) / 256 */
{CAP_BATCH_MAX_FPS, DEC, CODECS_ALL, 1, 30, 1, 30},