video: driver: Add support dynamic low latency for decoder

Latency property is set to firmware during streamon output port,
if set as part of initial configuration by client.
During runtime, the property is set as and when configured by
client.

1. Make the latency property dynamic for decoder.
2. For encoder, the same gets set to firmware with regular
   v4l2 set properties.
3. For decoder, set the property explicitly during streamon
   output port.

Change-Id: I35990614b95e57f113ddacfc2272cad6ae0dde82
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
This commit is contained in:
Vikash Garodia
2021-04-27 19:34:18 +05:30
orang tua af0c91ca4c
melakukan 75ecec1bb5
6 mengubah file dengan 49 tambahan dan 66 penghapusan

Melihat File

@@ -465,12 +465,19 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
HFI_PROP_CSC_MATRIX,
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT}, */
{LOWLATENCY_MODE, ENC|DEC, H264|HEVC|VP9,
{LOWLATENCY_MODE, ENC, H264 | HEVC,
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
1, V4L2_MPEG_MSM_VIDC_DISABLE,
V4L2_CID_MPEG_VIDC_LOWLATENCY_REQUEST},
{LOWLATENCY_MODE, DEC, H264|HEVC|VP9,
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
1, V4L2_MPEG_MSM_VIDC_DISABLE,
V4L2_CID_MPEG_VIDC_LOWLATENCY_REQUEST,
HFI_PROP_STAGE,
CAP_FLAG_ROOT},
CAP_FLAG_DYNAMIC_ALLOWED,
{0}, {0},
NULL, msm_vidc_set_stage},
{LTR_COUNT, ENC, H264|HEVC,
0, 2, 1, 0,
@@ -1142,7 +1149,12 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
{STAGE, DEC|ENC, CODECS_ALL,
MSM_VIDC_STAGE_1,
MSM_VIDC_STAGE_2, 1,
MSM_VIDC_STAGE_2},
MSM_VIDC_STAGE_2,
0,
HFI_PROP_STAGE,
CAP_FLAG_ROOT,
{0}, {0},
NULL, msm_vidc_set_stage},
{PIPE, DEC|ENC, CODECS_ALL,
MSM_VIDC_PIPE_1,
MSM_VIDC_PIPE_4, 1,