media: venus: Update v6 buffer descriptors
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>
Fri, 2 Apr 2021 10:06:24 +0000 (12:06 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 6 Apr 2021 13:18:01 +0000 (15:18 +0200)
Currently hfi_platform_v6.c adds a bunch of capability parameters.
Reviewing downstream we can see a number of these need to be updated.

techpack/video/msm/vidc/msm_vidc_platform.c :: kona_capabilities[]

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/qcom/venus/hfi_platform_v6.c

index 2278be1..dd1a039 100644 (file)
@@ -9,15 +9,15 @@ static const struct hfi_plat_caps caps[] = {
        .codec = HFI_VIDEO_CODEC_H264,
        .domain = VIDC_SESSION_TYPE_DEC,
        .cap_bufs_mode_dynamic = true,
-       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 5760, 1},
-       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 5760, 1},
+       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 1},
+       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 1},
        /* ((5760 * 2880) / 256) */
-       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 36, 64800, 1},
-       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 200000000, 1},
+       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},
+       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 220000000, 1},
        .caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},
        .caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},
-       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 36, 1958400, 1},
-       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},
+       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},
+       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},
        .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},
        .num_caps = 9,
        .pl[0] = {HFI_H264_PROFILE_BASELINE, HFI_H264_LEVEL_52},
@@ -35,15 +35,15 @@ static const struct hfi_plat_caps caps[] = {
        .codec = HFI_VIDEO_CODEC_HEVC,
        .domain = VIDC_SESSION_TYPE_DEC,
        .cap_bufs_mode_dynamic = true,
-       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 1},
-       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 1},
-       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},
-       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},
-       .caps[4] = {HFI_CAPABILITY_SCALE_X, 4096, 65536, 1},
-       .caps[5] = {HFI_CAPABILITY_SCALE_Y, 4096, 65536, 1},
-       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 2073600, 1},
-       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},
-       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 2, 1},
+       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 1},
+       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 1},
+       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},
+       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 220000000, 1},
+       .caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},
+       .caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},
+       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},
+       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},
+       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},
        .caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 3, 1},
        .num_caps = 10,
        .pl[0] = {HFI_HEVC_PROFILE_MAIN, HFI_HEVC_LEVEL_6 | HFI_HEVC_TIER_HIGH0},
@@ -61,15 +61,15 @@ static const struct hfi_plat_caps caps[] = {
        .codec = HFI_VIDEO_CODEC_VP8,
        .domain = VIDC_SESSION_TYPE_DEC,
        .cap_bufs_mode_dynamic = true,
-       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 1},
-       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 1},
-       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},
-       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},
-       .caps[4] = {HFI_CAPABILITY_SCALE_X, 4096, 65536, 1},
-       .caps[5] = {HFI_CAPABILITY_SCALE_Y, 4096, 65536, 1},
-       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 2073600, 1},
-       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},
-       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 2, 1},
+       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 4096, 1},
+       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 4096, 1},
+       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 36864, 1},
+       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 100000000, 1},
+       .caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},
+       .caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},
+       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 4423680, 1},
+       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 120, 1},
+       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},
        .caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 3, 1},
        .num_caps = 10,
        .pl[0] = {HFI_VPX_PROFILE_MAIN, HFI_VPX_LEVEL_VERSION_0},
@@ -86,15 +86,15 @@ static const struct hfi_plat_caps caps[] = {
        .codec = HFI_VIDEO_CODEC_VP9,
        .domain = VIDC_SESSION_TYPE_DEC,
        .cap_bufs_mode_dynamic = true,
-       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 1},
-       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 1},
-       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},
-       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},
-       .caps[4] = {HFI_CAPABILITY_SCALE_X, 4096, 65536, 1},
-       .caps[5] = {HFI_CAPABILITY_SCALE_Y, 4096, 65536, 1},
-       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 2073600, 1},
-       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},
-       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 2, 1},
+       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 1},
+       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 1},
+       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},
+       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 220000000, 1},
+       .caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},
+       .caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},
+       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},
+       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},
+       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},
        .caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 3, 1},
        .num_caps = 10,
        .pl[0] = {HFI_VP9_PROFILE_P0, 200},
@@ -112,15 +112,15 @@ static const struct hfi_plat_caps caps[] = {
        .codec = HFI_VIDEO_CODEC_MPEG2,
        .domain = VIDC_SESSION_TYPE_DEC,
        .cap_bufs_mode_dynamic = true,
-       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 1920, 1},
-       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 1920, 1},
-       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 8160, 1},
+       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 1920, 1},
+       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 1920, 1},
+       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 8160, 1},
        .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 40000000, 1},
-       .caps[4] = {HFI_CAPABILITY_SCALE_X, 4096, 65536, 1},
-       .caps[5] = {HFI_CAPABILITY_SCALE_Y, 4096, 65536, 1},
-       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 244800, 1},
+       .caps[4] = {HFI_CAPABILITY_SCALE_X, 65536, 65536, 1},
+       .caps[5] = {HFI_CAPABILITY_SCALE_Y, 65536, 65536, 1},
+       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},
        .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 30, 1},
-       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 2, 1},
+       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},
        .caps[9] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 1, 1},
        .num_caps = 10,
        .pl[0] = {HFI_MPEG2_PROFILE_SIMPLE, HFI_MPEG2_LEVEL_H14},
@@ -135,21 +135,21 @@ static const struct hfi_plat_caps caps[] = {
        .codec = HFI_VIDEO_CODEC_H264,
        .domain = VIDC_SESSION_TYPE_ENC,
        .cap_bufs_mode_dynamic = true,
-       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 16},
-       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 16},
-       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},
-       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},
+       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 1},
+       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 1},
+       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},
+       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 220000000, 1},
        .caps[4] = {HFI_CAPABILITY_SCALE_X, 8192, 65536, 1},
        .caps[5] = {HFI_CAPABILITY_SCALE_Y, 8192, 65536, 1},
-       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 1036800, 1},
-       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},
-       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 3, 1},
+       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},
+       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},
+       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},
        .caps[9] = {HFI_CAPABILITY_PEAKBITRATE, 32000, 160000000, 1},
-       .caps[10] = {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 5, 1},
-       .caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 4, 1},
+       .caps[10] = {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 6, 1},
+       .caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 2, 1},
        .caps[12] = {HFI_CAPABILITY_LCU_SIZE, 16, 16, 1},
        .caps[13] = {HFI_CAPABILITY_BFRAME, 0, 1, 1},
-       .caps[14] = {HFI_CAPABILITY_HIER_P_HYBRID_NUM_ENH_LAYERS, 0, 5, 1},
+       .caps[14] = {HFI_CAPABILITY_HIER_P_HYBRID_NUM_ENH_LAYERS, 0, 6, 1},
        .caps[15] = {HFI_CAPABILITY_I_FRAME_QP, 0, 51, 1},
        .caps[16] = {HFI_CAPABILITY_P_FRAME_QP, 0, 51, 1},
        .caps[17] = {HFI_CAPABILITY_B_FRAME_QP, 0, 51, 1},
@@ -172,24 +172,24 @@ static const struct hfi_plat_caps caps[] = {
        .codec = HFI_VIDEO_CODEC_HEVC,
        .domain = VIDC_SESSION_TYPE_ENC,
        .cap_bufs_mode_dynamic = true,
-       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 16},
-       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 16},
-       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},
-       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},
+       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 8192, 16},
+       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 8192, 16},
+       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 138240, 1},
+       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 160000000, 1},
        .caps[4] = {HFI_CAPABILITY_SCALE_X, 8192, 65536, 1},
        .caps[5] = {HFI_CAPABILITY_SCALE_Y, 8192, 65536, 1},
-       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 1036800, 1},
-       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 480, 1},
-       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 3, 1},
+       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 7833600, 1},
+       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 960, 1},
+       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},
        .caps[9] = {HFI_CAPABILITY_PEAKBITRATE, 32000, 160000000, 1},
        .caps[10] = {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 5, 1},
-       .caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 4, 1},
+       .caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 2, 1},
        .caps[12] = {HFI_CAPABILITY_LCU_SIZE, 32, 32, 1},
        .caps[13] = {HFI_CAPABILITY_BFRAME, 0, 1, 1},
        .caps[14] = {HFI_CAPABILITY_HIER_P_HYBRID_NUM_ENH_LAYERS, 0, 5, 1},
-       .caps[15] = {HFI_CAPABILITY_I_FRAME_QP, 0, 63, 1},
-       .caps[16] = {HFI_CAPABILITY_P_FRAME_QP, 0, 63, 1},
-       .caps[17] = {HFI_CAPABILITY_B_FRAME_QP, 0, 63, 1},
+       .caps[15] = {HFI_CAPABILITY_I_FRAME_QP, 0, 51, 1},
+       .caps[16] = {HFI_CAPABILITY_P_FRAME_QP, 0, 51, 1},
+       .caps[17] = {HFI_CAPABILITY_B_FRAME_QP, 0, 51, 1},
        .caps[18] = {HFI_CAPABILITY_MAX_WORKMODES, 1, 2, 1},
        .caps[19] = {HFI_CAPABILITY_RATE_CONTROL_MODES, 0x1000001, 0x1000005, 1},
        .caps[20] = {HFI_CAPABILITY_COLOR_SPACE_CONVERSION, 0, 2, 1},
@@ -209,20 +209,20 @@ static const struct hfi_plat_caps caps[] = {
        .codec = HFI_VIDEO_CODEC_VP8,
        .domain = VIDC_SESSION_TYPE_ENC,
        .cap_bufs_mode_dynamic = true,
-       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 96, 4096, 16},
-       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 96, 4096, 16},
-       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 1, 36864, 1},
-       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 120000000, 1},
+       .caps[0] = {HFI_CAPABILITY_FRAME_WIDTH, 128, 4096, 16},
+       .caps[1] = {HFI_CAPABILITY_FRAME_HEIGHT, 128, 4096, 16},
+       .caps[2] = {HFI_CAPABILITY_MBS_PER_FRAME, 64, 36864, 1},
+       .caps[3] = {HFI_CAPABILITY_BITRATE, 1, 74000000, 1},
        .caps[4] = {HFI_CAPABILITY_SCALE_X, 8192, 65536, 1},
        .caps[5] = {HFI_CAPABILITY_SCALE_Y, 8192, 65536, 1},
-       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 1, 1036800, 1},
-       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 240, 1},
-       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 1, 3, 1},
+       .caps[6] = {HFI_CAPABILITY_MBS_PER_SECOND, 64, 4423680, 1},
+       .caps[7] = {HFI_CAPABILITY_FRAMERATE, 1, 120, 1},
+       .caps[8] = {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1},
        .caps[9] = {HFI_CAPABILITY_PEAKBITRATE, 32000, 160000000, 1},
        .caps[10] = {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 3, 1},
        .caps[11] = {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 2, 1},
        .caps[12] = {HFI_CAPABILITY_LCU_SIZE, 16, 16, 1},
-       .caps[13] = {HFI_CAPABILITY_BFRAME, 0, 1, 1},
+       .caps[13] = {HFI_CAPABILITY_BFRAME, 0, 0, 1},
        .caps[14] = {HFI_CAPABILITY_HIER_P_HYBRID_NUM_ENH_LAYERS, 0, 5, 1},
        .caps[15] = {HFI_CAPABILITY_I_FRAME_QP, 0, 127, 1},
        .caps[16] = {HFI_CAPABILITY_P_FRAME_QP, 0, 127, 1},