video: driver: dynamic control support

- Set dynamic flag in inst database to allow
  dynamic setting of necessary controls.
- avoid enc qbuf call routed to dec.

Change-Id: I66cfcc6be86bfbfe237191a11d533ab6c9455f32
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Esse commit está contido em:
Akshata Sahukar
2021-02-10 19:56:47 -08:00
commit de Gerrit - the friendly Code Review server
commit b5ce6c94cc
7 arquivos alterados com 29 adições e 22 exclusões

Ver arquivo

@@ -181,19 +181,11 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
{FRAME_RATE, ENC, CODECS_ALL,
(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
1, (DEFAULT_FPS << 16),
0,
HFI_PROP_FRAME_RATE,
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT,
{0}, {0},
NULL, msm_vidc_set_q16},
1, (DEFAULT_FPS << 16)},
{FRAME_RATE, DEC, CODECS_ALL,
(MINIMUM_FPS << 16), (MAXIMUM_FPS << 16),
1, (DEFAULT_FPS << 16),
0,
HFI_PROP_FRAME_RATE,
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
1, (DEFAULT_FPS << 16)},
{OPERATING_RATE, ENC|DEC, CODECS_ALL,
1, INT_MAX, 1, (DEFAULT_FPS << 16)},
@@ -287,7 +279,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
0, 0, 0, 0,
V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME,
HFI_PROP_REQUEST_SYNC_FRAME,
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
/* Enc: Keeping CABAC and CAVLC as same bitrate.
* Dec: there's no use of Bitrate cap
@@ -353,7 +345,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
1, MAX_CONSTANT_QUALITY, 1, 90,
V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,
HFI_PROP_CONSTANT_QUALITY,
CAP_FLAG_OUTPUT_PORT,
CAP_FLAG_OUTPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED,
{BITRATE_MODE}, {0},
NULL, msm_vidc_set_constant_quality},
@@ -362,7 +354,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
0, INT_MAX, 1, 2 * DEFAULT_FPS - 1,
V4L2_CID_MPEG_VIDEO_GOP_SIZE,
HFI_PROP_MAX_GOP_FRAMES,
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT,
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED,
{0}, {0},
NULL, msm_vidc_set_u32},
@@ -1045,6 +1037,13 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
CAP_FLAG_INPUT_PORT,
{THUMBNAIL_MODE}},
{SEQ_CHANGE_AT_SYNC_FRAME, DEC, CODECS_ALL,
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
1, V4L2_MPEG_MSM_VIDC_ENABLE,
0,
HFI_PROP_SEQ_CHANGE_AT_SYNC_FRAME,
CAP_FLAG_INPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED},
{META_LTR_MARK_USE, ENC, CODECS_ALL,
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
1, V4L2_MPEG_MSM_VIDC_DISABLE,