Re: [PATCH 01/25] media: venus: Update v6 buffer descriptors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2/22/21 6:02 PM, Bryan O'Donoghue wrote:
> 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@xxxxxxxxxx>
> ---
>  .../platform/qcom/venus/hfi_platform_v6.c     | 138 +++++++++---------
>  1 file changed, 69 insertions(+), 69 deletions(-)
> 
> diff --git a/drivers/media/platform/qcom/venus/hfi_platform_v6.c b/drivers/media/platform/qcom/venus/hfi_platform_v6.c
> index 2278be13cb90..6fa80353bcce 100644
> --- a/drivers/media/platform/qcom/venus/hfi_platform_v6.c
> +++ b/drivers/media/platform/qcom/venus/hfi_platform_v6.c
> @@ -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, 22000000, 1},

s/22000000/220000000

>  	.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, 22000000, 1},

s/22000000/220000000

> +	.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, 22000000, 1},

s/22000000/220000000

> +	.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},

this should be 64 - 244800.

>  	.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, 22000000, 1},

s/22000000/220000000

>  	.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},

s/120/60

> +	.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},
> 

-- 
regards,
Stan



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux