video: driver: Prepare dependency list without parent

This is change 2 of the Prepare dependency list without
parent change.
In this change we remove all parent information from
the CAP database.

Change-Id: Ie0b878050ae2d24e3c1a41cbd579ef0f19d42250
Signed-off-by: Ankush Mitra <quic_ankumitr@quicinc.com>
This commit is contained in:
Ankush Mitra
2022-11-29 20:29:24 +05:30
parent 2c39d5b91b
commit bd1cd4368b
9 changed files with 27 additions and 462 deletions

View File

@@ -1752,119 +1752,97 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_anor
*/ */
{PIX_FMTS, ENC, H264, {PIX_FMTS, ENC, H264,
{0},
{META_ROI_INFO, IR_PERIOD}}, {META_ROI_INFO, IR_PERIOD}},
{PIX_FMTS, ENC, HEVC, {PIX_FMTS, ENC, HEVC,
{0},
{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP, {PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP,
B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD}}, B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD}},
{PIX_FMTS, ENC, HEIC, {PIX_FMTS, ENC, HEIC,
{0},
{PROFILE}}, {PROFILE}},
{PIX_FMTS, DEC, HEVC|HEIC, {PIX_FMTS, DEC, HEVC|HEIC,
{0},
{PROFILE}}, {PROFILE}},
{FRAME_RATE, ENC, CODECS_ALL, {FRAME_RATE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_q16}, msm_vidc_set_q16},
{FRAME_RATE, DEC, CODECS_ALL, {FRAME_RATE, DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_dec_frame_rate}, msm_vidc_adjust_dec_frame_rate},
{OPERATING_RATE, DEC, CODECS_ALL, {OPERATING_RATE, DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_dec_operating_rate}, msm_vidc_adjust_dec_operating_rate},
{SECURE_MODE, ENC|DEC, H264|HEVC|VP9|AV1, {SECURE_MODE, ENC|DEC, H264|HEVC|VP9|AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{META_OUTBUF_FENCE, DEC, H264|HEVC|VP9|AV1, {META_OUTBUF_FENCE, DEC, H264|HEVC|VP9|AV1,
{OUTPUT_ORDER},
{LOWLATENCY_MODE, SLICE_DECODE}, {LOWLATENCY_MODE, SLICE_DECODE},
msm_vidc_adjust_dec_outbuf_fence, msm_vidc_adjust_dec_outbuf_fence,
NULL}, NULL},
{HFLIP, ENC, CODECS_ALL, {HFLIP, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_flip}, msm_vidc_set_flip},
{VFLIP, ENC, CODECS_ALL, {VFLIP, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_flip}, msm_vidc_set_flip},
{ROTATION, ENC, CODECS_ALL, {ROTATION, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_rotation}, msm_vidc_set_rotation},
{SUPER_FRAME, ENC, H264|HEVC, {SUPER_FRAME, ENC, H264|HEVC,
{0},
{INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT}, {INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT},
NULL, NULL,
NULL}, NULL},
{SLICE_DECODE, DEC, H264|HEVC|AV1, {SLICE_DECODE, DEC, H264|HEVC|AV1,
{LOWLATENCY_MODE, META_OUTBUF_FENCE, OUTPUT_ORDER},
{0}, {0},
msm_vidc_adjust_dec_slice_mode, msm_vidc_adjust_dec_slice_mode,
msm_vidc_set_u32}, msm_vidc_set_u32},
{HEADER_MODE, ENC, CODECS_ALL, {HEADER_MODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_header_mode}, msm_vidc_set_header_mode},
{WITHOUT_STARTCODE, ENC, CODECS_ALL, {WITHOUT_STARTCODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_nal_length}, msm_vidc_set_nal_length},
{WITHOUT_STARTCODE, DEC, AV1, {WITHOUT_STARTCODE, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{REQUEST_I_FRAME, ENC, H264|HEVC, {REQUEST_I_FRAME, ENC, H264|HEVC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_req_sync_frame}, msm_vidc_set_req_sync_frame},
{BIT_RATE, ENC, H264, {BIT_RATE, ENC, H264,
{ENH_LAYER_COUNT, BITRATE_MODE, ENTROPY_MODE,
ALL_INTRA, LOWLATENCY_MODE},
{PEAK_BITRATE, BITRATE_BOOST}, {PEAK_BITRATE, BITRATE_BOOST},
msm_vidc_adjust_bitrate, msm_vidc_adjust_bitrate,
msm_vidc_set_bitrate}, msm_vidc_set_bitrate},
{BIT_RATE, ENC, HEVC, {BIT_RATE, ENC, HEVC,
{ENH_LAYER_COUNT, BITRATE_MODE, ALL_INTRA, LOWLATENCY_MODE},
{PEAK_BITRATE, BITRATE_BOOST}, {PEAK_BITRATE, BITRATE_BOOST},
msm_vidc_adjust_bitrate, msm_vidc_adjust_bitrate,
msm_vidc_set_bitrate}, msm_vidc_set_bitrate},
{BITRATE_MODE, ENC, H264, {BITRATE_MODE, ENC, H264,
{0},
{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP, {LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE, P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
@@ -1874,7 +1852,6 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_anor
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BITRATE_MODE, ENC, HEVC, {BITRATE_MODE, ENC, HEVC,
{0},
{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP, {LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT, P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY, BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
@@ -1884,515 +1861,428 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_anor
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BITRATE_MODE, ENC, HEIC, {BITRATE_MODE, ENC, HEIC,
{0},
{TIME_DELTA_BASED_RC, CONSTANT_QUALITY}, {TIME_DELTA_BASED_RC, CONSTANT_QUALITY},
msm_vidc_adjust_bitrate_mode, msm_vidc_adjust_bitrate_mode,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{CONSTANT_QUALITY, ENC, HEVC|HEIC, {CONSTANT_QUALITY, ENC, HEVC|HEIC,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_constant_quality}, msm_vidc_set_constant_quality},
{GOP_SIZE, ENC, CODECS_ALL, {GOP_SIZE, ENC, CODECS_ALL,
{ENH_LAYER_COUNT},
{ALL_INTRA}, {ALL_INTRA},
msm_vidc_adjust_gop_size, msm_vidc_adjust_gop_size,
msm_vidc_set_gop_size}, msm_vidc_set_gop_size},
{GOP_SIZE, ENC, HEIC, {GOP_SIZE, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{B_FRAME, ENC, H264|HEVC, {B_FRAME, ENC, H264|HEVC,
{ENH_LAYER_COUNT},
{ALL_INTRA}, {ALL_INTRA},
msm_vidc_adjust_b_frame, msm_vidc_adjust_b_frame,
msm_vidc_set_u32}, msm_vidc_set_u32},
{B_FRAME, ENC, HEIC, {B_FRAME, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{BLUR_TYPES, ENC, H264|HEVC, {BLUR_TYPES, ENC, H264|HEVC,
{PIX_FMTS, BITRATE_MODE, MIN_QUALITY, META_ROI_INFO},
{BLUR_RESOLUTION}, {BLUR_RESOLUTION},
msm_vidc_adjust_blur_type, msm_vidc_adjust_blur_type,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BLUR_RESOLUTION, ENC, H264|HEVC, {BLUR_RESOLUTION, ENC, H264|HEVC,
{BLUR_TYPES},
{0}, {0},
msm_vidc_adjust_blur_resolution, msm_vidc_adjust_blur_resolution,
msm_vidc_set_blur_resolution}, msm_vidc_set_blur_resolution},
{CSC_CUSTOM_MATRIX, ENC, CODECS_ALL, {CSC_CUSTOM_MATRIX, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_csc_custom_matrix}, msm_vidc_set_csc_custom_matrix},
{LOWLATENCY_MODE, ENC, H264 | HEVC, {LOWLATENCY_MODE, ENC, H264 | HEVC,
{BITRATE_MODE, DELIVERY_MODE},
{STAGE, BIT_RATE}, {STAGE, BIT_RATE},
msm_vidc_adjust_enc_lowlatency_mode, msm_vidc_adjust_enc_lowlatency_mode,
NULL}, NULL},
{LOWLATENCY_MODE, DEC, H264|HEVC|VP9|AV1, {LOWLATENCY_MODE, DEC, H264|HEVC|VP9|AV1,
{META_OUTBUF_FENCE},
{STAGE, SLICE_DECODE}, {STAGE, SLICE_DECODE},
msm_vidc_adjust_dec_lowlatency_mode, msm_vidc_adjust_dec_lowlatency_mode,
NULL}, NULL},
{LTR_COUNT, ENC, H264|HEVC, {LTR_COUNT, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA},
{0}, {0},
msm_vidc_adjust_ltr_count, msm_vidc_adjust_ltr_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{USE_LTR, ENC, H264|HEVC, {USE_LTR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_use_ltr, msm_vidc_adjust_use_ltr,
msm_vidc_set_use_and_mark_ltr}, msm_vidc_set_use_and_mark_ltr},
{MARK_LTR, ENC, H264|HEVC, {MARK_LTR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_mark_ltr, msm_vidc_adjust_mark_ltr,
msm_vidc_set_use_and_mark_ltr}, msm_vidc_set_use_and_mark_ltr},
{IR_PERIOD, ENC, H264|HEVC, {IR_PERIOD, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA, META_ROI_INFO, PIX_FMTS},
{0}, {0},
msm_vidc_adjust_ir_period, msm_vidc_adjust_ir_period,
msm_vidc_set_ir_period}, msm_vidc_set_ir_period},
{AU_DELIMITER, ENC, H264|HEVC, {AU_DELIMITER, ENC, H264|HEVC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{TIME_DELTA_BASED_RC, ENC, CODECS_ALL, {TIME_DELTA_BASED_RC, ENC, CODECS_ALL,
{BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_delta_based_rc, msm_vidc_adjust_delta_based_rc,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC, {CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
{BITRATE_MODE, LAYER_ENABLE, LAYER_TYPE},
{REQUEST_PREPROCESS}, {REQUEST_PREPROCESS},
msm_vidc_adjust_brs, msm_vidc_adjust_brs,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{REQUEST_PREPROCESS, ENC, H264|HEVC, {REQUEST_PREPROCESS, ENC, H264|HEVC,
{CONTENT_ADAPTIVE_CODING, META_EVA_STATS},
{0}, {0},
msm_vidc_adjust_preprocess, msm_vidc_adjust_preprocess,
msm_vidc_set_preprocess}, msm_vidc_set_preprocess},
{BITRATE_BOOST, ENC, H264|HEVC, {BITRATE_BOOST, ENC, H264|HEVC,
{BITRATE_MODE, MIN_QUALITY, BIT_RATE},
{0}, {0},
msm_vidc_adjust_bitrate_boost_iris3, msm_vidc_adjust_bitrate_boost_iris3,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{MIN_QUALITY, ENC, H264, {MIN_QUALITY, ENC, H264,
{BITRATE_MODE, ENH_LAYER_COUNT, META_ROI_INFO},
{BLUR_TYPES}, {BLUR_TYPES},
msm_vidc_adjust_min_quality, msm_vidc_adjust_min_quality,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{MIN_QUALITY, ENC, HEVC, {MIN_QUALITY, ENC, HEVC,
{BITRATE_MODE, PIX_FMTS, ENH_LAYER_COUNT,
META_ROI_INFO},
{BLUR_TYPES}, {BLUR_TYPES},
msm_vidc_adjust_min_quality, msm_vidc_adjust_min_quality,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{VBV_DELAY, ENC, H264|HEVC, {VBV_DELAY, ENC, H264|HEVC,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_cbr_related_properties}, msm_vidc_set_cbr_related_properties},
{PEAK_BITRATE, ENC, H264|HEVC, {PEAK_BITRATE, ENC, H264|HEVC,
{BITRATE_MODE, BIT_RATE},
{0}, {0},
msm_vidc_adjust_peak_bitrate, msm_vidc_adjust_peak_bitrate,
msm_vidc_set_cbr_related_properties}, msm_vidc_set_cbr_related_properties},
{MIN_FRAME_QP, ENC, H264, {MIN_FRAME_QP, ENC, H264,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_min_qp}, msm_vidc_set_min_qp},
{MIN_FRAME_QP, ENC, HEVC|HEIC, {MIN_FRAME_QP, ENC, HEVC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_hevc_min_qp, msm_vidc_adjust_hevc_min_qp,
msm_vidc_set_min_qp}, msm_vidc_set_min_qp},
{MAX_FRAME_QP, ENC, H264, {MAX_FRAME_QP, ENC, H264,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_max_qp}, msm_vidc_set_max_qp},
{MAX_FRAME_QP, ENC, HEVC|HEIC, {MAX_FRAME_QP, ENC, HEVC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_hevc_max_qp, msm_vidc_adjust_hevc_max_qp,
msm_vidc_set_max_qp}, msm_vidc_set_max_qp},
{I_FRAME_QP, ENC, HEVC, {I_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_i_frame_qp, msm_vidc_adjust_hevc_i_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{I_FRAME_QP, ENC, H264, {I_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{P_FRAME_QP, ENC, HEVC, {P_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_p_frame_qp, msm_vidc_adjust_hevc_p_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{P_FRAME_QP, ENC, H264, {P_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{B_FRAME_QP, ENC, HEVC, {B_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_b_frame_qp, msm_vidc_adjust_hevc_b_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{B_FRAME_QP, ENC, H264, {B_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{LAYER_TYPE, ENC, H264, {LAYER_TYPE, ENC, H264|HEVC,
{0},
{CONTENT_ADAPTIVE_CODING}}, {CONTENT_ADAPTIVE_CODING}},
{LAYER_ENABLE, ENC, H264|HEVC, {LAYER_ENABLE, ENC, H264|HEVC,
{0},
{CONTENT_ADAPTIVE_CODING}}, {CONTENT_ADAPTIVE_CODING}},
{ENH_LAYER_COUNT, ENC, H264|HEVC, {ENH_LAYER_COUNT, ENC, H264|HEVC,
{BITRATE_MODE, META_EVA_STATS},
{GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE}, {GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE},
msm_vidc_adjust_layer_count, msm_vidc_adjust_layer_count,
msm_vidc_set_layer_count_and_type}, msm_vidc_set_layer_count_and_type},
{ENH_LAYER_COUNT, DEC, AV1, {ENH_LAYER_COUNT, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{L0_BR, ENC, H264|HEVC, {L0_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L1_BR, ENC, H264|HEVC, {L1_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L2_BR, ENC, H264|HEVC, {L2_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L3_BR, ENC, H264|HEVC, {L3_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L4_BR, ENC, H264|HEVC, {L4_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L5_BR, ENC, H264|HEVC, {L5_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{ENTROPY_MODE, ENC, H264, {ENTROPY_MODE, ENC, H264,
{PROFILE},
{BIT_RATE}, {BIT_RATE},
msm_vidc_adjust_entropy_mode, msm_vidc_adjust_entropy_mode,
msm_vidc_set_u32}, msm_vidc_set_u32},
{PROFILE, ENC, H264, {PROFILE, ENC, H264,
{0},
{ENTROPY_MODE, TRANSFORM_8X8}, {ENTROPY_MODE, TRANSFORM_8X8},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, DEC, H264, {PROFILE, DEC, H264,
{0},
{ENTROPY_MODE}, {ENTROPY_MODE},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, ENC|DEC, HEVC|HEIC, {PROFILE, ENC|DEC, HEVC|HEIC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_profile, msm_vidc_adjust_profile,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, DEC, VP9|AV1, {PROFILE, DEC, VP9|AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LEVEL, DEC, CODECS_ALL, {LEVEL, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LEVEL, ENC, CODECS_ALL, {LEVEL, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_level}, msm_vidc_set_level},
{AV1_TIER, DEC, AV1, {AV1_TIER, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{HEVC_TIER, ENC|DEC, HEVC|HEIC, {HEVC_TIER, ENC|DEC, HEVC|HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LF_MODE, ENC, CODECS_ALL, {LF_MODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_deblock_mode}, msm_vidc_set_deblock_mode},
{SLICE_MODE, ENC, H264|HEVC, {SLICE_MODE, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA, ENH_LAYER_COUNT},
{STAGE, DELIVERY_MODE}, {STAGE, DELIVERY_MODE},
msm_vidc_adjust_slice_count, msm_vidc_adjust_slice_count,
msm_vidc_set_slice_count}, msm_vidc_set_slice_count},
{SLICE_MODE, ENC, HEIC, {SLICE_MODE, ENC, HEIC,
{0},
{0}, {0},
msm_vidc_adjust_slice_count, msm_vidc_adjust_slice_count,
msm_vidc_set_slice_count}, msm_vidc_set_slice_count},
{TRANSFORM_8X8, ENC, H264, {TRANSFORM_8X8, ENC, H264,
{PROFILE},
{0}, {0},
msm_vidc_adjust_transform_8x8, msm_vidc_adjust_transform_8x8,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CHROMA_QP_INDEX_OFFSET, ENC, HEVC, {CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
{0},
{0}, {0},
msm_vidc_adjust_chroma_qp_index_offset, msm_vidc_adjust_chroma_qp_index_offset,
msm_vidc_set_chroma_qp_index_offset}, msm_vidc_set_chroma_qp_index_offset},
{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9|AV1, {DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
NULL}, NULL},
{DISPLAY_DELAY, DEC, H264|HEVC|VP9|AV1, {DISPLAY_DELAY, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
NULL}, NULL},
{OUTPUT_ORDER, DEC, H264|HEVC|VP9|AV1, {OUTPUT_ORDER, DEC, H264|HEVC|VP9|AV1,
{THUMBNAIL_MODE, DISPLAY_DELAY, DISPLAY_DELAY_ENABLE},
{META_OUTBUF_FENCE, SLICE_DECODE}, {META_OUTBUF_FENCE, SLICE_DECODE},
msm_vidc_adjust_output_order, msm_vidc_adjust_output_order,
msm_vidc_set_u32}, msm_vidc_set_u32},
{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL, {INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_input_buf_host_max_count, msm_vidc_adjust_input_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC, {INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
{SUPER_FRAME},
{0}, {0},
msm_vidc_adjust_input_buf_host_max_count, msm_vidc_adjust_input_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL, {OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_output_buf_host_max_count, msm_vidc_adjust_output_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC, {OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
{SUPER_FRAME, DELIVERY_MODE},
{0}, {0},
msm_vidc_adjust_output_buf_host_max_count, msm_vidc_adjust_output_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL, {CONCEAL_COLOR_8BIT, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_packed}, msm_vidc_set_u32_packed},
{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL, {CONCEAL_COLOR_10BIT, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_packed}, msm_vidc_set_u32_packed},
{STAGE, ENC | DEC, CODECS_ALL, {STAGE, ENC | DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{STAGE, ENC, H264|HEVC, {STAGE, ENC, H264|HEVC,
{LOWLATENCY_MODE, SLICE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{STAGE, DEC, H264|HEVC|VP9|AV1, {STAGE, DEC, H264|HEVC|VP9|AV1,
{LOWLATENCY_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{PIPE, DEC|ENC, CODECS_ALL, {PIPE, DEC|ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_pipe}, msm_vidc_set_pipe},
{THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1, {THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{THUMBNAIL_MODE, DEC, HEIC, {THUMBNAIL_MODE, DEC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{RAP_FRAME, DEC, CODECS_ALL, {RAP_FRAME, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{PRIORITY, DEC|ENC, CODECS_ALL, {PRIORITY, DEC|ENC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_session_priority, msm_vidc_adjust_session_priority,
msm_vidc_set_session_priority}, msm_vidc_set_session_priority},
{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL, {FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{CRITICAL_PRIORITY, ENC, CODECS_ALL, {CRITICAL_PRIORITY, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{RESERVE_DURATION, ENC, CODECS_ALL, {RESERVE_DURATION, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_reserve_duration}, msm_vidc_set_reserve_duration},
{DPB_LIST, DEC, CODECS_ALL, {DPB_LIST, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{DRAP, DEC, AV1, {DRAP, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{ALL_INTRA, ENC, H264|HEVC, {ALL_INTRA, ENC, H264|HEVC,
{GOP_SIZE, B_FRAME},
{LTR_COUNT, IR_PERIOD, SLICE_MODE, BIT_RATE}, {LTR_COUNT, IR_PERIOD, SLICE_MODE, BIT_RATE},
msm_vidc_adjust_all_intra, msm_vidc_adjust_all_intra,
NULL}, NULL},
{META_EVA_STATS, ENC, H264|HEVC, {META_EVA_STATS, ENC, H264|HEVC,
{0},
{ENH_LAYER_COUNT, REQUEST_PREPROCESS}}, {ENH_LAYER_COUNT, REQUEST_PREPROCESS}},
{META_EVA_STATS, ENC, HEIC, {META_EVA_STATS, ENC, HEIC,
{0},
{0}}, {0}},
{META_ROI_INFO, ENC, H264|HEVC, {META_ROI_INFO, ENC, H264|HEVC,
{BITRATE_MODE, PIX_FMTS}, {MIN_QUALITY, IR_PERIOD, BLUR_TYPES},
{MIN_QUALITY, IR_PERIOD},
msm_vidc_adjust_roi_info, msm_vidc_adjust_roi_info,
NULL}, NULL},
{GRID, ENC, HEIC, {GRID, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{DELIVERY_MODE, ENC, H264|HEVC, {DELIVERY_MODE, ENC, H264|HEVC,
{SLICE_MODE}, {LOWLATENCY_MODE, OUTPUT_BUF_HOST_MAX_COUNT}, {LOWLATENCY_MODE, OUTPUT_BUF_HOST_MAX_COUNT},
msm_vidc_adjust_delivery_mode, msm_vidc_adjust_delivery_mode,
msm_vidc_set_u32}, msm_vidc_set_u32},
{VUI_TIMING_INFO, ENC, CODECS_ALL, {VUI_TIMING_INFO, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_vui_timing_info}, msm_vidc_set_vui_timing_info},

View File

@@ -146,7 +146,6 @@ struct msm_platform_inst_cap_dependency {
enum msm_vidc_inst_capability_type cap_id; enum msm_vidc_inst_capability_type cap_id;
enum msm_vidc_domain_type domain; enum msm_vidc_domain_type domain;
enum msm_vidc_codec_type codec; enum msm_vidc_codec_type codec;
enum msm_vidc_inst_capability_type parents[MAX_CAP_PARENTS];
enum msm_vidc_inst_capability_type children[MAX_CAP_CHILDREN]; enum msm_vidc_inst_capability_type children[MAX_CAP_CHILDREN];
int (*adjust)(void *inst, int (*adjust)(void *inst,
struct v4l2_ctrl *ctrl); struct v4l2_ctrl *ctrl);

View File

@@ -523,12 +523,15 @@ bool is_parent_available(struct msm_vidc_inst *inst,
u32 cap_id, u32 check_parent, const char *func) u32 cap_id, u32 check_parent, const char *func)
{ {
int i = 0; int i = 0;
u32 cap_parent; u32 cap_child;
while (i < MAX_CAP_PARENTS && if (!is_valid_cap_id(cap_id) || !is_valid_cap_id(check_parent))
inst->capabilities->cap[cap_id].parents[i]) { return false;
cap_parent = inst->capabilities->cap[cap_id].parents[i];
if (cap_parent == check_parent) while (i < MAX_CAP_CHILDREN &&
inst->capabilities->cap[check_parent].children[i]) {
cap_child = inst->capabilities->cap[check_parent].children[i];
if (cap_child == cap_id)
return true; return true;
i++; i++;
} }

View File

@@ -1944,113 +1944,92 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_kala
*/ */
{PIX_FMTS, ENC, H264, {PIX_FMTS, ENC, H264,
{0},
{META_ROI_INFO, IR_PERIOD}}, {META_ROI_INFO, IR_PERIOD}},
{PIX_FMTS, ENC, HEVC, {PIX_FMTS, ENC, HEVC,
{0},
{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP, {PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP,
B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD}}, B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD}},
{PIX_FMTS, ENC, HEIC, {PIX_FMTS, ENC, HEIC,
{0},
{PROFILE}}, {PROFILE}},
{PIX_FMTS, DEC, HEVC|HEIC, {PIX_FMTS, DEC, HEVC|HEIC,
{0},
{PROFILE}}, {PROFILE}},
{FRAME_RATE, ENC, CODECS_ALL, {FRAME_RATE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_q16}, msm_vidc_set_q16},
{FRAME_RATE, DEC, CODECS_ALL, {FRAME_RATE, DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_dec_frame_rate}, msm_vidc_adjust_dec_frame_rate},
{OPERATING_RATE, DEC, CODECS_ALL, {OPERATING_RATE, DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_dec_operating_rate}, msm_vidc_adjust_dec_operating_rate},
{SECURE_MODE, ENC|DEC, H264|HEVC|VP9|AV1, {SECURE_MODE, ENC|DEC, H264|HEVC|VP9|AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{META_OUTBUF_FENCE, DEC, H264|HEVC|VP9|AV1, {META_OUTBUF_FENCE, DEC, H264|HEVC|VP9|AV1,
{OUTPUT_ORDER},
{LOWLATENCY_MODE}, {LOWLATENCY_MODE},
msm_vidc_adjust_dec_outbuf_fence, msm_vidc_adjust_dec_outbuf_fence,
NULL}, NULL},
{HFLIP, ENC, CODECS_ALL, {HFLIP, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_flip}, msm_vidc_set_flip},
{VFLIP, ENC, CODECS_ALL, {VFLIP, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_flip}, msm_vidc_set_flip},
{ROTATION, ENC, CODECS_ALL, {ROTATION, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_rotation}, msm_vidc_set_rotation},
{SUPER_FRAME, ENC, H264|HEVC, {SUPER_FRAME, ENC, H264|HEVC,
{0},
{INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT}, {INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT},
NULL, NULL,
NULL}, NULL},
{HEADER_MODE, ENC, CODECS_ALL, {HEADER_MODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_header_mode}, msm_vidc_set_header_mode},
{WITHOUT_STARTCODE, ENC, CODECS_ALL, {WITHOUT_STARTCODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_nal_length}, msm_vidc_set_nal_length},
{WITHOUT_STARTCODE, DEC, AV1, {WITHOUT_STARTCODE, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{REQUEST_I_FRAME, ENC, H264|HEVC, {REQUEST_I_FRAME, ENC, H264|HEVC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_req_sync_frame}, msm_vidc_set_req_sync_frame},
{BIT_RATE, ENC, H264, {BIT_RATE, ENC, H264,
{ENH_LAYER_COUNT, BITRATE_MODE, ENTROPY_MODE,
ALL_INTRA, LOWLATENCY_MODE},
{PEAK_BITRATE, BITRATE_BOOST}, {PEAK_BITRATE, BITRATE_BOOST},
msm_vidc_adjust_bitrate, msm_vidc_adjust_bitrate,
msm_vidc_set_bitrate}, msm_vidc_set_bitrate},
{BIT_RATE, ENC, HEVC, {BIT_RATE, ENC, HEVC,
{ENH_LAYER_COUNT, BITRATE_MODE, ALL_INTRA, LOWLATENCY_MODE},
{PEAK_BITRATE, BITRATE_BOOST}, {PEAK_BITRATE, BITRATE_BOOST},
msm_vidc_adjust_bitrate, msm_vidc_adjust_bitrate,
msm_vidc_set_bitrate}, msm_vidc_set_bitrate},
{BITRATE_MODE, ENC, H264, {BITRATE_MODE, ENC, H264,
{0},
{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP, {LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE, P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
@@ -2060,7 +2039,6 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_kala
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BITRATE_MODE, ENC, HEVC, {BITRATE_MODE, ENC, HEVC,
{0},
{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP, {LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT, P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY, BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
@@ -2070,515 +2048,428 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_kala
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BITRATE_MODE, ENC, HEIC, {BITRATE_MODE, ENC, HEIC,
{0},
{TIME_DELTA_BASED_RC, CONSTANT_QUALITY}, {TIME_DELTA_BASED_RC, CONSTANT_QUALITY},
msm_vidc_adjust_bitrate_mode, msm_vidc_adjust_bitrate_mode,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{CONSTANT_QUALITY, ENC, HEVC|HEIC, {CONSTANT_QUALITY, ENC, HEVC|HEIC,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_constant_quality}, msm_vidc_set_constant_quality},
{GOP_SIZE, ENC, CODECS_ALL, {GOP_SIZE, ENC, CODECS_ALL,
{ENH_LAYER_COUNT},
{ALL_INTRA}, {ALL_INTRA},
msm_vidc_adjust_gop_size, msm_vidc_adjust_gop_size,
msm_vidc_set_gop_size}, msm_vidc_set_gop_size},
{GOP_SIZE, ENC, HEIC, {GOP_SIZE, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{B_FRAME, ENC, H264|HEVC, {B_FRAME, ENC, H264|HEVC,
{ENH_LAYER_COUNT},
{ALL_INTRA}, {ALL_INTRA},
msm_vidc_adjust_b_frame, msm_vidc_adjust_b_frame,
msm_vidc_set_u32}, msm_vidc_set_u32},
{B_FRAME, ENC, HEIC, {B_FRAME, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{BLUR_TYPES, ENC, H264|HEVC, {BLUR_TYPES, ENC, H264|HEVC,
{PIX_FMTS, BITRATE_MODE, MIN_QUALITY, META_ROI_INFO},
{BLUR_RESOLUTION}, {BLUR_RESOLUTION},
msm_vidc_adjust_blur_type, msm_vidc_adjust_blur_type,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BLUR_RESOLUTION, ENC, H264|HEVC, {BLUR_RESOLUTION, ENC, H264|HEVC,
{BLUR_TYPES},
{0}, {0},
msm_vidc_adjust_blur_resolution, msm_vidc_adjust_blur_resolution,
msm_vidc_set_blur_resolution}, msm_vidc_set_blur_resolution},
{CSC_CUSTOM_MATRIX, ENC, CODECS_ALL, {CSC_CUSTOM_MATRIX, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_csc_custom_matrix}, msm_vidc_set_csc_custom_matrix},
{LOWLATENCY_MODE, ENC, H264 | HEVC, {LOWLATENCY_MODE, ENC, H264 | HEVC,
{BITRATE_MODE, DELIVERY_MODE},
{STAGE, BIT_RATE}, {STAGE, BIT_RATE},
msm_vidc_adjust_enc_lowlatency_mode, msm_vidc_adjust_enc_lowlatency_mode,
NULL}, NULL},
{LOWLATENCY_MODE, DEC, H264|HEVC|VP9|AV1, {LOWLATENCY_MODE, DEC, H264|HEVC|VP9|AV1,
{META_OUTBUF_FENCE},
{STAGE}, {STAGE},
msm_vidc_adjust_dec_lowlatency_mode, msm_vidc_adjust_dec_lowlatency_mode,
NULL}, NULL},
{LTR_COUNT, ENC, H264|HEVC, {LTR_COUNT, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA},
{0}, {0},
msm_vidc_adjust_ltr_count, msm_vidc_adjust_ltr_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{USE_LTR, ENC, H264|HEVC, {USE_LTR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_use_ltr, msm_vidc_adjust_use_ltr,
msm_vidc_set_use_and_mark_ltr}, msm_vidc_set_use_and_mark_ltr},
{MARK_LTR, ENC, H264|HEVC, {MARK_LTR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_mark_ltr, msm_vidc_adjust_mark_ltr,
msm_vidc_set_use_and_mark_ltr}, msm_vidc_set_use_and_mark_ltr},
{IR_PERIOD, ENC, H264|HEVC, {IR_PERIOD, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA, META_ROI_INFO, PIX_FMTS},
{0}, {0},
msm_vidc_adjust_ir_period, msm_vidc_adjust_ir_period,
msm_vidc_set_ir_period}, msm_vidc_set_ir_period},
{AU_DELIMITER, ENC, H264|HEVC, {AU_DELIMITER, ENC, H264|HEVC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{TIME_DELTA_BASED_RC, ENC, CODECS_ALL, {TIME_DELTA_BASED_RC, ENC, CODECS_ALL,
{BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_delta_based_rc, msm_vidc_adjust_delta_based_rc,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC, {CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
{BITRATE_MODE, LAYER_ENABLE, LAYER_TYPE},
{REQUEST_PREPROCESS}, {REQUEST_PREPROCESS},
msm_vidc_adjust_brs, msm_vidc_adjust_brs,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{REQUEST_PREPROCESS, ENC, H264|HEVC, {REQUEST_PREPROCESS, ENC, H264|HEVC,
{CONTENT_ADAPTIVE_CODING, META_EVA_STATS},
{0}, {0},
msm_vidc_adjust_preprocess, msm_vidc_adjust_preprocess,
msm_vidc_set_preprocess}, msm_vidc_set_preprocess},
{BITRATE_BOOST, ENC, H264|HEVC, {BITRATE_BOOST, ENC, H264|HEVC,
{BITRATE_MODE, MIN_QUALITY, BIT_RATE},
{0}, {0},
msm_vidc_adjust_bitrate_boost_iris3, msm_vidc_adjust_bitrate_boost_iris3,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{MIN_QUALITY, ENC, H264, {MIN_QUALITY, ENC, H264,
{BITRATE_MODE, ENH_LAYER_COUNT, META_ROI_INFO},
{BLUR_TYPES}, {BLUR_TYPES},
msm_vidc_adjust_min_quality, msm_vidc_adjust_min_quality,
msm_vidc_set_u32}, msm_vidc_set_u32},
{MIN_QUALITY, ENC, HEVC, {MIN_QUALITY, ENC, HEVC,
{BITRATE_MODE, PIX_FMTS, ENH_LAYER_COUNT,
META_ROI_INFO},
{BLUR_TYPES}, {BLUR_TYPES},
msm_vidc_adjust_min_quality, msm_vidc_adjust_min_quality,
msm_vidc_set_u32}, msm_vidc_set_u32},
{VBV_DELAY, ENC, H264|HEVC, {VBV_DELAY, ENC, H264|HEVC,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_cbr_related_properties}, msm_vidc_set_cbr_related_properties},
{PEAK_BITRATE, ENC, H264|HEVC, {PEAK_BITRATE, ENC, H264|HEVC,
{BITRATE_MODE, BIT_RATE},
{0}, {0},
msm_vidc_adjust_peak_bitrate, msm_vidc_adjust_peak_bitrate,
msm_vidc_set_cbr_related_properties}, msm_vidc_set_cbr_related_properties},
{MIN_FRAME_QP, ENC, H264, {MIN_FRAME_QP, ENC, H264,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_min_qp}, msm_vidc_set_min_qp},
{MIN_FRAME_QP, ENC, HEVC|HEIC, {MIN_FRAME_QP, ENC, HEVC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_hevc_min_qp, msm_vidc_adjust_hevc_min_qp,
msm_vidc_set_min_qp}, msm_vidc_set_min_qp},
{MAX_FRAME_QP, ENC, H264, {MAX_FRAME_QP, ENC, H264,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_max_qp}, msm_vidc_set_max_qp},
{MAX_FRAME_QP, ENC, HEVC|HEIC, {MAX_FRAME_QP, ENC, HEVC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_hevc_max_qp, msm_vidc_adjust_hevc_max_qp,
msm_vidc_set_max_qp}, msm_vidc_set_max_qp},
{I_FRAME_QP, ENC, HEVC, {I_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_i_frame_qp, msm_vidc_adjust_hevc_i_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{I_FRAME_QP, ENC, H264, {I_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{P_FRAME_QP, ENC, HEVC, {P_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_p_frame_qp, msm_vidc_adjust_hevc_p_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{P_FRAME_QP, ENC, H264, {P_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{B_FRAME_QP, ENC, HEVC, {B_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_b_frame_qp, msm_vidc_adjust_hevc_b_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{B_FRAME_QP, ENC, H264, {B_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{LAYER_TYPE, ENC, H264, {LAYER_TYPE, ENC, H264|HEVC,
{0},
{CONTENT_ADAPTIVE_CODING}}, {CONTENT_ADAPTIVE_CODING}},
{LAYER_ENABLE, ENC, H264|HEVC, {LAYER_ENABLE, ENC, H264|HEVC,
{0},
{CONTENT_ADAPTIVE_CODING}}, {CONTENT_ADAPTIVE_CODING}},
{ENH_LAYER_COUNT, ENC, H264|HEVC, {ENH_LAYER_COUNT, ENC, H264|HEVC,
{BITRATE_MODE, META_EVA_STATS},
{GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE}, {GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE},
msm_vidc_adjust_layer_count, msm_vidc_adjust_layer_count,
msm_vidc_set_layer_count_and_type}, msm_vidc_set_layer_count_and_type},
{ENH_LAYER_COUNT, DEC, AV1, {ENH_LAYER_COUNT, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{L0_BR, ENC, H264|HEVC, {L0_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L1_BR, ENC, H264|HEVC, {L1_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L2_BR, ENC, H264|HEVC, {L2_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L3_BR, ENC, H264|HEVC, {L3_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L4_BR, ENC, H264|HEVC, {L4_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L5_BR, ENC, H264|HEVC, {L5_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{ENTROPY_MODE, ENC, H264, {ENTROPY_MODE, ENC, H264,
{PROFILE},
{BIT_RATE}, {BIT_RATE},
msm_vidc_adjust_entropy_mode, msm_vidc_adjust_entropy_mode,
msm_vidc_set_u32}, msm_vidc_set_u32},
{PROFILE, ENC, H264, {PROFILE, ENC, H264,
{0},
{ENTROPY_MODE, TRANSFORM_8X8}, {ENTROPY_MODE, TRANSFORM_8X8},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, DEC, H264, {PROFILE, DEC, H264,
{0},
{ENTROPY_MODE}, {ENTROPY_MODE},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, ENC|DEC, HEVC|HEIC, {PROFILE, ENC|DEC, HEVC|HEIC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_profile, msm_vidc_adjust_profile,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, DEC, VP9|AV1, {PROFILE, DEC, VP9|AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LEVEL, DEC, CODECS_ALL, {LEVEL, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LEVEL, ENC, CODECS_ALL, {LEVEL, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_level}, msm_vidc_set_level},
{AV1_TIER, DEC, AV1, {AV1_TIER, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{HEVC_TIER, ENC|DEC, HEVC|HEIC, {HEVC_TIER, ENC|DEC, HEVC|HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LF_MODE, ENC, CODECS_ALL, {LF_MODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_deblock_mode}, msm_vidc_set_deblock_mode},
{SLICE_MODE, ENC, H264|HEVC, {SLICE_MODE, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA, ENH_LAYER_COUNT},
{STAGE, DELIVERY_MODE}, {STAGE, DELIVERY_MODE},
msm_vidc_adjust_slice_count, msm_vidc_adjust_slice_count,
msm_vidc_set_slice_count}, msm_vidc_set_slice_count},
{SLICE_MODE, ENC, HEIC, {SLICE_MODE, ENC, HEIC,
{0},
{0}, {0},
msm_vidc_adjust_slice_count, msm_vidc_adjust_slice_count,
msm_vidc_set_slice_count}, msm_vidc_set_slice_count},
{TRANSFORM_8X8, ENC, H264, {TRANSFORM_8X8, ENC, H264,
{PROFILE},
{0}, {0},
msm_vidc_adjust_transform_8x8, msm_vidc_adjust_transform_8x8,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CHROMA_QP_INDEX_OFFSET, ENC, HEVC, {CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
{0},
{0}, {0},
msm_vidc_adjust_chroma_qp_index_offset, msm_vidc_adjust_chroma_qp_index_offset,
msm_vidc_set_chroma_qp_index_offset}, msm_vidc_set_chroma_qp_index_offset},
{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9|AV1, {DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
NULL}, NULL},
{DISPLAY_DELAY, DEC, H264|HEVC|VP9|AV1, {DISPLAY_DELAY, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
NULL}, NULL},
{OUTPUT_ORDER, DEC, H264|HEVC|VP9|AV1, {OUTPUT_ORDER, DEC, H264|HEVC|VP9|AV1,
{THUMBNAIL_MODE, DISPLAY_DELAY, DISPLAY_DELAY_ENABLE},
{META_OUTBUF_FENCE}, {META_OUTBUF_FENCE},
msm_vidc_adjust_output_order, msm_vidc_adjust_output_order,
msm_vidc_set_u32}, msm_vidc_set_u32},
{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL, {INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_input_buf_host_max_count, msm_vidc_adjust_input_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC, {INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
{SUPER_FRAME},
{0}, {0},
msm_vidc_adjust_input_buf_host_max_count, msm_vidc_adjust_input_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL, {OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_output_buf_host_max_count, msm_vidc_adjust_output_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC, {OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
{SUPER_FRAME, DELIVERY_MODE},
{0}, {0},
msm_vidc_adjust_output_buf_host_max_count, msm_vidc_adjust_output_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL, {CONCEAL_COLOR_8BIT, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_packed}, msm_vidc_set_u32_packed},
{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL, {CONCEAL_COLOR_10BIT, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_packed}, msm_vidc_set_u32_packed},
{STAGE, ENC | DEC, CODECS_ALL, {STAGE, ENC | DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{STAGE, ENC, H264|HEVC, {STAGE, ENC, H264|HEVC,
{LOWLATENCY_MODE, SLICE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{STAGE, DEC, H264|HEVC|VP9|AV1, {STAGE, DEC, H264|HEVC|VP9|AV1,
{LOWLATENCY_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{PIPE, DEC|ENC, CODECS_ALL, {PIPE, DEC|ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_pipe}, msm_vidc_set_pipe},
{THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1, {THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{THUMBNAIL_MODE, DEC, HEIC, {THUMBNAIL_MODE, DEC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{RAP_FRAME, DEC, CODECS_ALL, {RAP_FRAME, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{PRIORITY, DEC|ENC, CODECS_ALL, {PRIORITY, DEC|ENC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_session_priority, msm_vidc_adjust_session_priority,
msm_vidc_set_session_priority}, msm_vidc_set_session_priority},
{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL, {FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{CRITICAL_PRIORITY, ENC, CODECS_ALL, {CRITICAL_PRIORITY, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{RESERVE_DURATION, ENC, CODECS_ALL, {RESERVE_DURATION, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_reserve_duration}, msm_vidc_set_reserve_duration},
{DPB_LIST, DEC, CODECS_ALL, {DPB_LIST, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{DRAP, DEC, AV1, {DRAP, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{ALL_INTRA, ENC, H264|HEVC, {ALL_INTRA, ENC, H264|HEVC,
{GOP_SIZE, B_FRAME},
{LTR_COUNT, IR_PERIOD, SLICE_MODE, BIT_RATE}, {LTR_COUNT, IR_PERIOD, SLICE_MODE, BIT_RATE},
msm_vidc_adjust_all_intra, msm_vidc_adjust_all_intra,
NULL}, NULL},
{META_EVA_STATS, ENC, H264|HEVC, {META_EVA_STATS, ENC, H264|HEVC,
{0},
{ENH_LAYER_COUNT, REQUEST_PREPROCESS}}, {ENH_LAYER_COUNT, REQUEST_PREPROCESS}},
{META_EVA_STATS, ENC, HEIC, {META_EVA_STATS, ENC, HEIC,
{0},
{0}}, {0}},
{META_ROI_INFO, ENC, H264|HEVC, {META_ROI_INFO, ENC, H264|HEVC,
{BITRATE_MODE, PIX_FMTS}, {MIN_QUALITY, IR_PERIOD, BLUR_TYPES},
{MIN_QUALITY, IR_PERIOD},
msm_vidc_adjust_roi_info, msm_vidc_adjust_roi_info,
NULL}, NULL},
{GRID, ENC, HEIC, {GRID, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{DELIVERY_MODE, ENC, H264|HEVC, {DELIVERY_MODE, ENC, H264|HEVC,
{SLICE_MODE}, {LOWLATENCY_MODE, OUTPUT_BUF_HOST_MAX_COUNT}, {LOWLATENCY_MODE, OUTPUT_BUF_HOST_MAX_COUNT},
msm_vidc_adjust_delivery_mode, msm_vidc_adjust_delivery_mode,
msm_vidc_set_u32}, msm_vidc_set_u32},
{VUI_TIMING_INFO, ENC, CODECS_ALL, {VUI_TIMING_INFO, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_vui_timing_info}, msm_vidc_set_vui_timing_info},

View File

@@ -1952,119 +1952,97 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_pine
*/ */
{PIX_FMTS, ENC, H264, {PIX_FMTS, ENC, H264,
{0},
{META_ROI_INFO, IR_PERIOD}}, {META_ROI_INFO, IR_PERIOD}},
{PIX_FMTS, ENC, HEVC, {PIX_FMTS, ENC, HEVC,
{0},
{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP, {PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP,
B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD}}, B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD}},
{PIX_FMTS, ENC, HEIC, {PIX_FMTS, ENC, HEIC,
{0},
{PROFILE}}, {PROFILE}},
{PIX_FMTS, DEC, HEVC|HEIC, {PIX_FMTS, DEC, HEVC|HEIC,
{0},
{PROFILE}}, {PROFILE}},
{FRAME_RATE, ENC, CODECS_ALL, {FRAME_RATE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_q16}, msm_vidc_set_q16},
{FRAME_RATE, DEC, CODECS_ALL, {FRAME_RATE, DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_dec_frame_rate}, msm_vidc_adjust_dec_frame_rate},
{OPERATING_RATE, DEC, CODECS_ALL, {OPERATING_RATE, DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_dec_operating_rate}, msm_vidc_adjust_dec_operating_rate},
{SECURE_MODE, ENC|DEC, H264|HEVC|VP9|AV1, {SECURE_MODE, ENC|DEC, H264|HEVC|VP9|AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{META_OUTBUF_FENCE, DEC, H264|HEVC|VP9|AV1, {META_OUTBUF_FENCE, DEC, H264|HEVC|VP9|AV1,
{OUTPUT_ORDER},
{LOWLATENCY_MODE, SLICE_DECODE}, {LOWLATENCY_MODE, SLICE_DECODE},
msm_vidc_adjust_dec_outbuf_fence, msm_vidc_adjust_dec_outbuf_fence,
NULL}, NULL},
{HFLIP, ENC, CODECS_ALL, {HFLIP, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_flip}, msm_vidc_set_flip},
{VFLIP, ENC, CODECS_ALL, {VFLIP, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_flip}, msm_vidc_set_flip},
{ROTATION, ENC, CODECS_ALL, {ROTATION, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_rotation}, msm_vidc_set_rotation},
{SUPER_FRAME, ENC, H264|HEVC, {SUPER_FRAME, ENC, H264|HEVC,
{0},
{INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT}, {INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT},
NULL, NULL,
NULL}, NULL},
{SLICE_DECODE, DEC, H264|HEVC|AV1, {SLICE_DECODE, DEC, H264|HEVC|AV1,
{LOWLATENCY_MODE, META_OUTBUF_FENCE, OUTPUT_ORDER},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{HEADER_MODE, ENC, CODECS_ALL, {HEADER_MODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_header_mode}, msm_vidc_set_header_mode},
{WITHOUT_STARTCODE, ENC, CODECS_ALL, {WITHOUT_STARTCODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_nal_length}, msm_vidc_set_nal_length},
{WITHOUT_STARTCODE, DEC, AV1, {WITHOUT_STARTCODE, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{REQUEST_I_FRAME, ENC, H264|HEVC, {REQUEST_I_FRAME, ENC, H264|HEVC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_req_sync_frame}, msm_vidc_set_req_sync_frame},
{BIT_RATE, ENC, H264, {BIT_RATE, ENC, H264,
{ENH_LAYER_COUNT, BITRATE_MODE, ENTROPY_MODE,
ALL_INTRA, LOWLATENCY_MODE},
{PEAK_BITRATE, BITRATE_BOOST}, {PEAK_BITRATE, BITRATE_BOOST},
msm_vidc_adjust_bitrate, msm_vidc_adjust_bitrate,
msm_vidc_set_bitrate}, msm_vidc_set_bitrate},
{BIT_RATE, ENC, HEVC, {BIT_RATE, ENC, HEVC,
{ENH_LAYER_COUNT, BITRATE_MODE, ALL_INTRA, LOWLATENCY_MODE},
{PEAK_BITRATE, BITRATE_BOOST}, {PEAK_BITRATE, BITRATE_BOOST},
msm_vidc_adjust_bitrate, msm_vidc_adjust_bitrate,
msm_vidc_set_bitrate}, msm_vidc_set_bitrate},
{BITRATE_MODE, ENC, H264, {BITRATE_MODE, ENC, H264,
{0},
{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP, {LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE, P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
@@ -2074,7 +2052,6 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_pine
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BITRATE_MODE, ENC, HEVC, {BITRATE_MODE, ENC, HEVC,
{0},
{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP, {LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT, P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY, BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
@@ -2084,521 +2061,433 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_pine
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BITRATE_MODE, ENC, HEIC, {BITRATE_MODE, ENC, HEIC,
{0},
{TIME_DELTA_BASED_RC, CONSTANT_QUALITY}, {TIME_DELTA_BASED_RC, CONSTANT_QUALITY},
msm_vidc_adjust_bitrate_mode, msm_vidc_adjust_bitrate_mode,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{CONSTANT_QUALITY, ENC, HEVC|HEIC, {CONSTANT_QUALITY, ENC, HEVC|HEIC,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_constant_quality}, msm_vidc_set_constant_quality},
{GOP_SIZE, ENC, CODECS_ALL, {GOP_SIZE, ENC, CODECS_ALL,
{ENH_LAYER_COUNT},
{ALL_INTRA}, {ALL_INTRA},
msm_vidc_adjust_gop_size, msm_vidc_adjust_gop_size,
msm_vidc_set_gop_size}, msm_vidc_set_gop_size},
{GOP_SIZE, ENC, HEIC, {GOP_SIZE, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{B_FRAME, ENC, H264|HEVC, {B_FRAME, ENC, H264|HEVC,
{ENH_LAYER_COUNT},
{ALL_INTRA}, {ALL_INTRA},
msm_vidc_adjust_b_frame, msm_vidc_adjust_b_frame,
msm_vidc_set_u32}, msm_vidc_set_u32},
{B_FRAME, ENC, HEIC, {B_FRAME, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{BLUR_TYPES, ENC, H264|HEVC, {BLUR_TYPES, ENC, H264|HEVC,
{PIX_FMTS, BITRATE_MODE, MIN_QUALITY, META_ROI_INFO},
{BLUR_RESOLUTION}, {BLUR_RESOLUTION},
msm_vidc_adjust_blur_type, msm_vidc_adjust_blur_type,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BLUR_RESOLUTION, ENC, H264|HEVC, {BLUR_RESOLUTION, ENC, H264|HEVC,
{BLUR_TYPES},
{0}, {0},
msm_vidc_adjust_blur_resolution, msm_vidc_adjust_blur_resolution,
msm_vidc_set_blur_resolution}, msm_vidc_set_blur_resolution},
{CSC_CUSTOM_MATRIX, ENC, CODECS_ALL, {CSC_CUSTOM_MATRIX, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_csc_custom_matrix}, msm_vidc_set_csc_custom_matrix},
{LOWLATENCY_MODE, ENC, H264 | HEVC, {LOWLATENCY_MODE, ENC, H264 | HEVC,
{BITRATE_MODE, DELIVERY_MODE},
{STAGE, BIT_RATE}, {STAGE, BIT_RATE},
msm_vidc_adjust_enc_lowlatency_mode, msm_vidc_adjust_enc_lowlatency_mode,
NULL}, NULL},
{LOWLATENCY_MODE, DEC, H264|HEVC|VP9|AV1, {LOWLATENCY_MODE, DEC, H264|HEVC|VP9|AV1,
{META_OUTBUF_FENCE},
{STAGE, SLICE_DECODE}, {STAGE, SLICE_DECODE},
msm_vidc_adjust_dec_lowlatency_mode, msm_vidc_adjust_dec_lowlatency_mode,
NULL}, NULL},
{LTR_COUNT, ENC, H264|HEVC, {LTR_COUNT, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA},
{0}, {0},
msm_vidc_adjust_ltr_count, msm_vidc_adjust_ltr_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{USE_LTR, ENC, H264|HEVC, {USE_LTR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_use_ltr, msm_vidc_adjust_use_ltr,
msm_vidc_set_use_and_mark_ltr}, msm_vidc_set_use_and_mark_ltr},
{MARK_LTR, ENC, H264|HEVC, {MARK_LTR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_mark_ltr, msm_vidc_adjust_mark_ltr,
msm_vidc_set_use_and_mark_ltr}, msm_vidc_set_use_and_mark_ltr},
{IR_PERIOD, ENC, H264|HEVC, {IR_PERIOD, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA, META_ROI_INFO, PIX_FMTS},
{0}, {0},
msm_vidc_adjust_ir_period, msm_vidc_adjust_ir_period,
msm_vidc_set_ir_period}, msm_vidc_set_ir_period},
{AU_DELIMITER, ENC, H264|HEVC, {AU_DELIMITER, ENC, H264|HEVC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{BASELAYER_PRIORITY, ENC, H264, {BASELAYER_PRIORITY, ENC, H264,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{TIME_DELTA_BASED_RC, ENC, CODECS_ALL, {TIME_DELTA_BASED_RC, ENC, CODECS_ALL,
{BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_delta_based_rc, msm_vidc_adjust_delta_based_rc,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC, {CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
{BITRATE_MODE, LAYER_ENABLE, LAYER_TYPE},
{REQUEST_PREPROCESS}, {REQUEST_PREPROCESS},
msm_vidc_adjust_brs, msm_vidc_adjust_brs,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{REQUEST_PREPROCESS, ENC, H264|HEVC, {REQUEST_PREPROCESS, ENC, H264|HEVC,
{CONTENT_ADAPTIVE_CODING, META_EVA_STATS},
{0}, {0},
msm_vidc_adjust_preprocess, msm_vidc_adjust_preprocess,
msm_vidc_set_preprocess}, msm_vidc_set_preprocess},
{BITRATE_BOOST, ENC, H264|HEVC, {BITRATE_BOOST, ENC, H264|HEVC,
{BITRATE_MODE, MIN_QUALITY, BIT_RATE},
{0}, {0},
msm_vidc_adjust_bitrate_boost_iris33, msm_vidc_adjust_bitrate_boost_iris33,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{MIN_QUALITY, ENC, H264, {MIN_QUALITY, ENC, H264,
{BITRATE_MODE, ENH_LAYER_COUNT, META_ROI_INFO},
{BLUR_TYPES}, {BLUR_TYPES},
msm_vidc_adjust_min_quality, msm_vidc_adjust_min_quality,
msm_vidc_set_u32}, msm_vidc_set_u32},
{MIN_QUALITY, ENC, HEVC, {MIN_QUALITY, ENC, HEVC,
{BITRATE_MODE, PIX_FMTS, ENH_LAYER_COUNT,
META_ROI_INFO},
{BLUR_TYPES}, {BLUR_TYPES},
msm_vidc_adjust_min_quality, msm_vidc_adjust_min_quality,
msm_vidc_set_u32}, msm_vidc_set_u32},
{VBV_DELAY, ENC, H264|HEVC, {VBV_DELAY, ENC, H264|HEVC,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_cbr_related_properties}, msm_vidc_set_cbr_related_properties},
{PEAK_BITRATE, ENC, H264|HEVC, {PEAK_BITRATE, ENC, H264|HEVC,
{BITRATE_MODE, BIT_RATE},
{0}, {0},
msm_vidc_adjust_peak_bitrate, msm_vidc_adjust_peak_bitrate,
msm_vidc_set_cbr_related_properties}, msm_vidc_set_cbr_related_properties},
{MIN_FRAME_QP, ENC, H264, {MIN_FRAME_QP, ENC, H264,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_min_qp}, msm_vidc_set_min_qp},
{MIN_FRAME_QP, ENC, HEVC|HEIC, {MIN_FRAME_QP, ENC, HEVC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_hevc_min_qp, msm_vidc_adjust_hevc_min_qp,
msm_vidc_set_min_qp}, msm_vidc_set_min_qp},
{MAX_FRAME_QP, ENC, H264, {MAX_FRAME_QP, ENC, H264,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_max_qp}, msm_vidc_set_max_qp},
{MAX_FRAME_QP, ENC, HEVC|HEIC, {MAX_FRAME_QP, ENC, HEVC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_hevc_max_qp, msm_vidc_adjust_hevc_max_qp,
msm_vidc_set_max_qp}, msm_vidc_set_max_qp},
{I_FRAME_QP, ENC, HEVC, {I_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_i_frame_qp, msm_vidc_adjust_hevc_i_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{I_FRAME_QP, ENC, H264, {I_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{P_FRAME_QP, ENC, HEVC, {P_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_p_frame_qp, msm_vidc_adjust_hevc_p_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{P_FRAME_QP, ENC, H264, {P_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{B_FRAME_QP, ENC, HEVC, {B_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_b_frame_qp, msm_vidc_adjust_hevc_b_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{B_FRAME_QP, ENC, H264, {B_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{LAYER_TYPE, ENC, H264, {LAYER_TYPE, ENC, H264|HEVC,
{0},
{CONTENT_ADAPTIVE_CODING}}, {CONTENT_ADAPTIVE_CODING}},
{LAYER_ENABLE, ENC, H264|HEVC, {LAYER_ENABLE, ENC, H264|HEVC,
{0},
{CONTENT_ADAPTIVE_CODING}}, {CONTENT_ADAPTIVE_CODING}},
{ENH_LAYER_COUNT, ENC, H264|HEVC, {ENH_LAYER_COUNT, ENC, H264|HEVC,
{BITRATE_MODE, META_EVA_STATS},
{GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE}, {GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE},
msm_vidc_adjust_layer_count, msm_vidc_adjust_layer_count,
msm_vidc_set_layer_count_and_type}, msm_vidc_set_layer_count_and_type},
{ENH_LAYER_COUNT, DEC, AV1, {ENH_LAYER_COUNT, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{L0_BR, ENC, H264|HEVC, {L0_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L1_BR, ENC, H264|HEVC, {L1_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L2_BR, ENC, H264|HEVC, {L2_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L3_BR, ENC, H264|HEVC, {L3_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L4_BR, ENC, H264|HEVC, {L4_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L5_BR, ENC, H264|HEVC, {L5_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{ENTROPY_MODE, ENC, H264, {ENTROPY_MODE, ENC, H264,
{PROFILE},
{BIT_RATE}, {BIT_RATE},
msm_vidc_adjust_entropy_mode, msm_vidc_adjust_entropy_mode,
msm_vidc_set_u32}, msm_vidc_set_u32},
{PROFILE, ENC, H264, {PROFILE, ENC, H264,
{0},
{ENTROPY_MODE, TRANSFORM_8X8}, {ENTROPY_MODE, TRANSFORM_8X8},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, DEC, H264, {PROFILE, DEC, H264,
{0},
{ENTROPY_MODE}, {ENTROPY_MODE},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, ENC|DEC, HEVC|HEIC, {PROFILE, ENC|DEC, HEVC|HEIC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_profile, msm_vidc_adjust_profile,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, DEC, VP9|AV1, {PROFILE, DEC, VP9|AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LEVEL, DEC, CODECS_ALL, {LEVEL, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LEVEL, ENC, CODECS_ALL, {LEVEL, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_level}, msm_vidc_set_level},
{AV1_TIER, DEC, AV1, {AV1_TIER, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{HEVC_TIER, ENC|DEC, HEVC|HEIC, {HEVC_TIER, ENC|DEC, HEVC|HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LF_MODE, ENC, CODECS_ALL, {LF_MODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_deblock_mode}, msm_vidc_set_deblock_mode},
{SLICE_MODE, ENC, H264|HEVC, {SLICE_MODE, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA, ENH_LAYER_COUNT},
{STAGE, DELIVERY_MODE}, {STAGE, DELIVERY_MODE},
msm_vidc_adjust_slice_count, msm_vidc_adjust_slice_count,
msm_vidc_set_slice_count}, msm_vidc_set_slice_count},
{SLICE_MODE, ENC, HEIC, {SLICE_MODE, ENC, HEIC,
{0},
{0}, {0},
msm_vidc_adjust_slice_count, msm_vidc_adjust_slice_count,
msm_vidc_set_slice_count}, msm_vidc_set_slice_count},
{TRANSFORM_8X8, ENC, H264, {TRANSFORM_8X8, ENC, H264,
{PROFILE},
{0}, {0},
msm_vidc_adjust_transform_8x8, msm_vidc_adjust_transform_8x8,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CHROMA_QP_INDEX_OFFSET, ENC, HEVC, {CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
{0},
{0}, {0},
msm_vidc_adjust_chroma_qp_index_offset, msm_vidc_adjust_chroma_qp_index_offset,
msm_vidc_set_chroma_qp_index_offset}, msm_vidc_set_chroma_qp_index_offset},
{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9|AV1, {DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
NULL}, NULL},
{DISPLAY_DELAY, DEC, H264|HEVC|VP9|AV1, {DISPLAY_DELAY, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
NULL}, NULL},
{OUTPUT_ORDER, DEC, H264|HEVC|VP9|AV1, {OUTPUT_ORDER, DEC, H264|HEVC|VP9|AV1,
{THUMBNAIL_MODE, DISPLAY_DELAY, DISPLAY_DELAY_ENABLE},
{META_OUTBUF_FENCE, SLICE_DECODE}, {META_OUTBUF_FENCE, SLICE_DECODE},
msm_vidc_adjust_output_order, msm_vidc_adjust_output_order,
msm_vidc_set_u32}, msm_vidc_set_u32},
{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL, {INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_input_buf_host_max_count, msm_vidc_adjust_input_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC, {INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
{SUPER_FRAME},
{0}, {0},
msm_vidc_adjust_input_buf_host_max_count, msm_vidc_adjust_input_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL, {OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_output_buf_host_max_count, msm_vidc_adjust_output_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC, {OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
{SUPER_FRAME, DELIVERY_MODE},
{0}, {0},
msm_vidc_adjust_output_buf_host_max_count, msm_vidc_adjust_output_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL, {CONCEAL_COLOR_8BIT, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_packed}, msm_vidc_set_u32_packed},
{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL, {CONCEAL_COLOR_10BIT, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_packed}, msm_vidc_set_u32_packed},
{STAGE, ENC | DEC, CODECS_ALL, {STAGE, ENC | DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{STAGE, ENC, H264|HEVC, {STAGE, ENC, H264|HEVC,
{LOWLATENCY_MODE, SLICE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{STAGE, DEC, H264|HEVC|VP9|AV1, {STAGE, DEC, H264|HEVC|VP9|AV1,
{LOWLATENCY_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{PIPE, DEC|ENC, CODECS_ALL, {PIPE, DEC|ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_pipe}, msm_vidc_set_pipe},
{THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1, {THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{THUMBNAIL_MODE, DEC, HEIC, {THUMBNAIL_MODE, DEC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{RAP_FRAME, DEC, CODECS_ALL, {RAP_FRAME, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{PRIORITY, DEC|ENC, CODECS_ALL, {PRIORITY, DEC|ENC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_session_priority, msm_vidc_adjust_session_priority,
msm_vidc_set_session_priority}, msm_vidc_set_session_priority},
{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL, {FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{CRITICAL_PRIORITY, ENC, CODECS_ALL, {CRITICAL_PRIORITY, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{RESERVE_DURATION, ENC, CODECS_ALL, {RESERVE_DURATION, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_reserve_duration}, msm_vidc_set_reserve_duration},
{DPB_LIST, DEC, CODECS_ALL, {DPB_LIST, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{DRAP, DEC, AV1, {DRAP, DEC, AV1,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{ALL_INTRA, ENC, H264|HEVC, {ALL_INTRA, ENC, H264|HEVC,
{GOP_SIZE, B_FRAME},
{LTR_COUNT, IR_PERIOD, SLICE_MODE, BIT_RATE}, {LTR_COUNT, IR_PERIOD, SLICE_MODE, BIT_RATE},
msm_vidc_adjust_all_intra, msm_vidc_adjust_all_intra,
NULL}, NULL},
{META_EVA_STATS, ENC, H264|HEVC, {META_EVA_STATS, ENC, H264|HEVC,
{0},
{ENH_LAYER_COUNT, REQUEST_PREPROCESS}}, {ENH_LAYER_COUNT, REQUEST_PREPROCESS}},
{META_EVA_STATS, ENC, HEIC, {META_EVA_STATS, ENC, HEIC,
{0},
{0}}, {0}},
{META_ROI_INFO, ENC, H264|HEVC, {META_ROI_INFO, ENC, H264|HEVC,
{BITRATE_MODE, PIX_FMTS}, {MIN_QUALITY, IR_PERIOD, BLUR_TYPES},
{MIN_QUALITY, IR_PERIOD},
msm_vidc_adjust_roi_info, msm_vidc_adjust_roi_info,
NULL}, NULL},
{GRID, ENC, HEIC, {GRID, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{DELIVERY_MODE, ENC, H264|HEVC, {DELIVERY_MODE, ENC, H264|HEVC,
{SLICE_MODE}, {LOWLATENCY_MODE, OUTPUT_BUF_HOST_MAX_COUNT}, {LOWLATENCY_MODE, OUTPUT_BUF_HOST_MAX_COUNT},
msm_vidc_adjust_delivery_mode, msm_vidc_adjust_delivery_mode,
msm_vidc_set_u32}, msm_vidc_set_u32},
{VUI_TIMING_INFO, ENC, CODECS_ALL, {VUI_TIMING_INFO, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_vui_timing_info}, msm_vidc_set_vui_timing_info},

View File

@@ -1533,100 +1533,82 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_waip
*/ */
{PIX_FMTS, ENC, H264, {PIX_FMTS, ENC, H264,
{0},
{META_ROI_INFO, IR_PERIOD}}, {META_ROI_INFO, IR_PERIOD}},
{PIX_FMTS, ENC, HEVC, {PIX_FMTS, ENC, HEVC,
{0},
{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP, {PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP, P_FRAME_QP,
B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD}}, B_FRAME_QP, META_ROI_INFO, MIN_QUALITY, BLUR_TYPES, IR_PERIOD}},
{PIX_FMTS, ENC, HEIC, {PIX_FMTS, ENC, HEIC,
{0},
{PROFILE}}, {PROFILE}},
{PIX_FMTS, DEC, HEVC|HEIC, {PIX_FMTS, DEC, HEVC|HEIC,
{0},
{PROFILE}}, {PROFILE}},
{FRAME_RATE, ENC, CODECS_ALL, {FRAME_RATE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_q16}, msm_vidc_set_q16},
{FRAME_RATE, DEC, CODECS_ALL, {FRAME_RATE, DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_dec_frame_rate}, msm_vidc_adjust_dec_frame_rate},
{OPERATING_RATE, DEC, CODECS_ALL, {OPERATING_RATE, DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_dec_operating_rate}, msm_vidc_adjust_dec_operating_rate},
{SECURE_MODE, ENC|DEC, H264|HEVC|VP9, {SECURE_MODE, ENC|DEC, H264|HEVC|VP9,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{META_OUTBUF_FENCE, DEC, H264|HEVC|VP9, {META_OUTBUF_FENCE, DEC, H264|HEVC|VP9,
{OUTPUT_ORDER},
{LOWLATENCY_MODE}, {LOWLATENCY_MODE},
NULL, NULL,
NULL}, NULL},
{HFLIP, ENC, CODECS_ALL, {HFLIP, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_flip}, msm_vidc_set_flip},
{VFLIP, ENC, CODECS_ALL, {VFLIP, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_flip}, msm_vidc_set_flip},
{ROTATION, ENC, CODECS_ALL, {ROTATION, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_rotation}, msm_vidc_set_rotation},
{SUPER_FRAME, ENC, H264|HEVC, {SUPER_FRAME, ENC, H264|HEVC,
{0},
{INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT}, {INPUT_BUF_HOST_MAX_COUNT, OUTPUT_BUF_HOST_MAX_COUNT},
NULL, NULL,
NULL}, NULL},
{HEADER_MODE, ENC, CODECS_ALL, {HEADER_MODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_header_mode}, msm_vidc_set_header_mode},
{WITHOUT_STARTCODE, ENC, CODECS_ALL, {WITHOUT_STARTCODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_nal_length}, msm_vidc_set_nal_length},
{REQUEST_I_FRAME, ENC, H264|HEVC, {REQUEST_I_FRAME, ENC, H264|HEVC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_req_sync_frame}, msm_vidc_set_req_sync_frame},
{BIT_RATE, ENC, H264|HEVC, {BIT_RATE, ENC, H264|HEVC,
{ENH_LAYER_COUNT, BITRATE_MODE},
{PEAK_BITRATE}, {PEAK_BITRATE},
msm_vidc_adjust_bitrate, msm_vidc_adjust_bitrate,
msm_vidc_set_bitrate}, msm_vidc_set_bitrate},
{BITRATE_MODE, ENC, H264, {BITRATE_MODE, ENC, H264,
{0},
{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP, {LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE, P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
@@ -1636,7 +1618,6 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_waip
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BITRATE_MODE, ENC, HEVC, {BITRATE_MODE, ENC, HEVC,
{0},
{LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP, {LTR_COUNT, IR_PERIOD, TIME_DELTA_BASED_RC, I_FRAME_QP,
P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT, P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY, BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
@@ -1646,493 +1627,408 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_waip
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BITRATE_MODE, ENC, HEIC, {BITRATE_MODE, ENC, HEIC,
{0},
{TIME_DELTA_BASED_RC, CONSTANT_QUALITY}, {TIME_DELTA_BASED_RC, CONSTANT_QUALITY},
msm_vidc_adjust_bitrate_mode, msm_vidc_adjust_bitrate_mode,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{CONSTANT_QUALITY, ENC, HEVC|HEIC, {CONSTANT_QUALITY, ENC, HEVC|HEIC,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_constant_quality}, msm_vidc_set_constant_quality},
{GOP_SIZE, ENC, CODECS_ALL, {GOP_SIZE, ENC, CODECS_ALL,
{ENH_LAYER_COUNT},
{ALL_INTRA}, {ALL_INTRA},
msm_vidc_adjust_gop_size, msm_vidc_adjust_gop_size,
msm_vidc_set_gop_size}, msm_vidc_set_gop_size},
{GOP_SIZE, ENC, HEIC, {GOP_SIZE, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{B_FRAME, ENC, H264|HEVC, {B_FRAME, ENC, H264|HEVC,
{ENH_LAYER_COUNT},
{ALL_INTRA}, {ALL_INTRA},
msm_vidc_adjust_b_frame, msm_vidc_adjust_b_frame,
msm_vidc_set_u32}, msm_vidc_set_u32},
{B_FRAME, ENC, HEIC, {B_FRAME, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{BLUR_TYPES, ENC, H264|HEVC, {BLUR_TYPES, ENC, H264|HEVC,
{PIX_FMTS, BITRATE_MODE, MIN_QUALITY,
CONTENT_ADAPTIVE_CODING, META_ROI_INFO},
{BLUR_RESOLUTION}, {BLUR_RESOLUTION},
msm_vidc_adjust_blur_type_iris2, msm_vidc_adjust_blur_type_iris2,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{BLUR_RESOLUTION, ENC, H264|HEVC, {BLUR_RESOLUTION, ENC, H264|HEVC,
{BLUR_TYPES},
{0}, {0},
msm_vidc_adjust_blur_resolution, msm_vidc_adjust_blur_resolution,
msm_vidc_set_blur_resolution}, msm_vidc_set_blur_resolution},
{CSC_CUSTOM_MATRIX, ENC, CODECS_ALL, {CSC_CUSTOM_MATRIX, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_csc_custom_matrix}, msm_vidc_set_csc_custom_matrix},
{LOWLATENCY_MODE, ENC, H264 | HEVC, {LOWLATENCY_MODE, ENC, H264 | HEVC,
{BITRATE_MODE},
{STAGE}, {STAGE},
msm_vidc_adjust_enc_lowlatency_mode, msm_vidc_adjust_enc_lowlatency_mode,
NULL}, NULL},
{LOWLATENCY_MODE, DEC, H264|HEVC|VP9, {LOWLATENCY_MODE, DEC, H264|HEVC|VP9,
{META_OUTBUF_FENCE},
{STAGE}, {STAGE},
msm_vidc_adjust_dec_lowlatency_mode, msm_vidc_adjust_dec_lowlatency_mode,
NULL}, NULL},
{LTR_COUNT, ENC, H264|HEVC, {LTR_COUNT, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA},
{0}, {0},
msm_vidc_adjust_ltr_count, msm_vidc_adjust_ltr_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{USE_LTR, ENC, H264|HEVC, {USE_LTR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_use_ltr, msm_vidc_adjust_use_ltr,
msm_vidc_set_use_and_mark_ltr}, msm_vidc_set_use_and_mark_ltr},
{MARK_LTR, ENC, H264|HEVC, {MARK_LTR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_mark_ltr, msm_vidc_adjust_mark_ltr,
msm_vidc_set_use_and_mark_ltr}, msm_vidc_set_use_and_mark_ltr},
{IR_PERIOD, ENC, H264|HEVC, {IR_PERIOD, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA, META_ROI_INFO, PIX_FMTS},
{0}, {0},
msm_vidc_adjust_ir_period, msm_vidc_adjust_ir_period,
msm_vidc_set_ir_period}, msm_vidc_set_ir_period},
{AU_DELIMITER, ENC, H264|HEVC, {AU_DELIMITER, ENC, H264|HEVC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{TIME_DELTA_BASED_RC, ENC, CODECS_ALL, {TIME_DELTA_BASED_RC, ENC, CODECS_ALL,
{BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_delta_based_rc, msm_vidc_adjust_delta_based_rc,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC, {CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
{BITRATE_MODE, LAYER_ENABLE, LAYER_TYPE},
{REQUEST_PREPROCESS}, {REQUEST_PREPROCESS},
msm_vidc_adjust_brs, msm_vidc_adjust_brs,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{REQUEST_PREPROCESS, ENC, H264|HEVC, {REQUEST_PREPROCESS, ENC, H264|HEVC,
{CONTENT_ADAPTIVE_CODING, META_EVA_STATS},
{0}, {0},
msm_vidc_adjust_preprocess, msm_vidc_adjust_preprocess,
NULL}, NULL},
{BITRATE_BOOST, ENC, H264|HEVC, {BITRATE_BOOST, ENC, H264|HEVC,
{BITRATE_MODE, MIN_QUALITY},
{0}, {0},
msm_vidc_adjust_bitrate_boost, msm_vidc_adjust_bitrate_boost,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{MIN_QUALITY, ENC, H264, {MIN_QUALITY, ENC, H264,
{BITRATE_MODE, ENH_LAYER_COUNT, META_ROI_INFO},
{BLUR_TYPES}, {BLUR_TYPES},
msm_vidc_adjust_min_quality, msm_vidc_adjust_min_quality,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{MIN_QUALITY, ENC, HEVC, {MIN_QUALITY, ENC, HEVC,
{BITRATE_MODE, PIX_FMTS, ENH_LAYER_COUNT,
META_ROI_INFO},
{BLUR_TYPES}, {BLUR_TYPES},
msm_vidc_adjust_min_quality, msm_vidc_adjust_min_quality,
msm_vidc_set_vbr_related_properties}, msm_vidc_set_vbr_related_properties},
{VBV_DELAY, ENC, H264|HEVC, {VBV_DELAY, ENC, H264|HEVC,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_cbr_related_properties}, msm_vidc_set_cbr_related_properties},
{PEAK_BITRATE, ENC, H264|HEVC, {PEAK_BITRATE, ENC, H264|HEVC,
{BITRATE_MODE, BIT_RATE},
{0}, {0},
msm_vidc_adjust_peak_bitrate, msm_vidc_adjust_peak_bitrate,
msm_vidc_set_cbr_related_properties}, msm_vidc_set_cbr_related_properties},
{MIN_FRAME_QP, ENC, H264, {MIN_FRAME_QP, ENC, H264,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_min_qp}, msm_vidc_set_min_qp},
{MIN_FRAME_QP, ENC, HEVC|HEIC, {MIN_FRAME_QP, ENC, HEVC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_hevc_min_qp, msm_vidc_adjust_hevc_min_qp,
msm_vidc_set_min_qp}, msm_vidc_set_min_qp},
{MAX_FRAME_QP, ENC, H264, {MAX_FRAME_QP, ENC, H264,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_max_qp}, msm_vidc_set_max_qp},
{MAX_FRAME_QP, ENC, HEVC|HEIC, {MAX_FRAME_QP, ENC, HEVC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_hevc_max_qp, msm_vidc_adjust_hevc_max_qp,
msm_vidc_set_max_qp}, msm_vidc_set_max_qp},
{I_FRAME_QP, ENC, HEVC, {I_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_i_frame_qp, msm_vidc_adjust_hevc_i_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{I_FRAME_QP, ENC, H264, {I_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{P_FRAME_QP, ENC, HEVC, {P_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_p_frame_qp, msm_vidc_adjust_hevc_p_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{P_FRAME_QP, ENC, H264, {P_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{B_FRAME_QP, ENC, HEVC, {B_FRAME_QP, ENC, HEVC,
{PIX_FMTS, BITRATE_MODE},
{0}, {0},
msm_vidc_adjust_hevc_b_frame_qp, msm_vidc_adjust_hevc_b_frame_qp,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{B_FRAME_QP, ENC, H264, {B_FRAME_QP, ENC, H264,
{BITRATE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_frame_qp}, msm_vidc_set_frame_qp},
{LAYER_TYPE, ENC, H264|HEVC, {LAYER_TYPE, ENC, H264|HEVC,
{0},
{CONTENT_ADAPTIVE_CODING}}, {CONTENT_ADAPTIVE_CODING}},
{LAYER_ENABLE, ENC, H264|HEVC, {LAYER_ENABLE, ENC, H264|HEVC,
{0},
{CONTENT_ADAPTIVE_CODING}}, {CONTENT_ADAPTIVE_CODING}},
{ENH_LAYER_COUNT, ENC, H264|HEVC, {ENH_LAYER_COUNT, ENC, H264|HEVC,
{BITRATE_MODE, META_EVA_STATS},
{GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE}, {GOP_SIZE, B_FRAME, BIT_RATE, MIN_QUALITY, SLICE_MODE},
msm_vidc_adjust_layer_count, msm_vidc_adjust_layer_count,
msm_vidc_set_layer_count_and_type}, msm_vidc_set_layer_count_and_type},
{L0_BR, ENC, H264|HEVC, {L0_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L1_BR, ENC, H264|HEVC, {L1_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L2_BR, ENC, H264|HEVC, {L2_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L3_BR, ENC, H264|HEVC, {L3_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L4_BR, ENC, H264|HEVC, {L4_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{L5_BR, ENC, H264|HEVC, {L5_BR, ENC, H264|HEVC,
{0},
{0}, {0},
msm_vidc_adjust_dynamic_layer_bitrate, msm_vidc_adjust_dynamic_layer_bitrate,
msm_vidc_set_dynamic_layer_bitrate}, msm_vidc_set_dynamic_layer_bitrate},
{ENTROPY_MODE, ENC, H264, {ENTROPY_MODE, ENC, H264,
{PROFILE},
{0}, {0},
msm_vidc_adjust_entropy_mode, msm_vidc_adjust_entropy_mode,
msm_vidc_set_u32}, msm_vidc_set_u32},
{PROFILE, ENC, H264, {PROFILE, ENC, H264,
{0},
{ENTROPY_MODE, TRANSFORM_8X8}, {ENTROPY_MODE, TRANSFORM_8X8},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, DEC, H264, {PROFILE, DEC, H264,
{0},
{ENTROPY_MODE}, {ENTROPY_MODE},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, ENC|DEC, HEVC|HEIC, {PROFILE, ENC|DEC, HEVC|HEIC,
{PIX_FMTS},
{0}, {0},
msm_vidc_adjust_profile, msm_vidc_adjust_profile,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{PROFILE, DEC, VP9, {PROFILE, DEC, VP9,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LEVEL, DEC, CODECS_ALL, {LEVEL, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LEVEL, ENC, CODECS_ALL, {LEVEL, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_level}, msm_vidc_set_level},
{HEVC_TIER, ENC|DEC, HEVC|HEIC, {HEVC_TIER, ENC|DEC, HEVC|HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_enum}, msm_vidc_set_u32_enum},
{LF_MODE, ENC, CODECS_ALL, {LF_MODE, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_deblock_mode}, msm_vidc_set_deblock_mode},
{SLICE_MODE, ENC, H264|HEVC, {SLICE_MODE, ENC, H264|HEVC,
{BITRATE_MODE, ALL_INTRA, ENH_LAYER_COUNT},
{STAGE}, {STAGE},
msm_vidc_adjust_slice_count, msm_vidc_adjust_slice_count,
msm_vidc_set_slice_count}, msm_vidc_set_slice_count},
{SLICE_MODE, ENC, HEIC, {SLICE_MODE, ENC, HEIC,
{0},
{0}, {0},
msm_vidc_adjust_slice_count, msm_vidc_adjust_slice_count,
msm_vidc_set_slice_count}, msm_vidc_set_slice_count},
{TRANSFORM_8X8, ENC, H264, {TRANSFORM_8X8, ENC, H264,
{PROFILE},
{0}, {0},
msm_vidc_adjust_transform_8x8, msm_vidc_adjust_transform_8x8,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CHROMA_QP_INDEX_OFFSET, ENC, HEVC, {CHROMA_QP_INDEX_OFFSET, ENC, HEVC,
{0},
{0}, {0},
msm_vidc_adjust_chroma_qp_index_offset, msm_vidc_adjust_chroma_qp_index_offset,
msm_vidc_set_chroma_qp_index_offset}, msm_vidc_set_chroma_qp_index_offset},
{DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9, {DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
NULL}, NULL},
{DISPLAY_DELAY, DEC, H264|HEVC|VP9, {DISPLAY_DELAY, DEC, H264|HEVC|VP9,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
NULL}, NULL},
{OUTPUT_ORDER, DEC, H264|HEVC|VP9, {OUTPUT_ORDER, DEC, H264|HEVC|VP9,
{THUMBNAIL_MODE, DISPLAY_DELAY, DISPLAY_DELAY_ENABLE},
{META_OUTBUF_FENCE}, {META_OUTBUF_FENCE},
msm_vidc_adjust_output_order, msm_vidc_adjust_output_order,
msm_vidc_set_u32}, msm_vidc_set_u32},
{INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL, {INPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_input_buf_host_max_count, msm_vidc_adjust_input_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC, {INPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
{SUPER_FRAME},
{0}, {0},
msm_vidc_adjust_input_buf_host_max_count, msm_vidc_adjust_input_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL, {OUTPUT_BUF_HOST_MAX_COUNT, ENC|DEC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_output_buf_host_max_count, msm_vidc_adjust_output_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC, {OUTPUT_BUF_HOST_MAX_COUNT, ENC, H264|HEVC,
{SUPER_FRAME},
{0}, {0},
msm_vidc_adjust_output_buf_host_max_count, msm_vidc_adjust_output_buf_host_max_count,
msm_vidc_set_u32}, msm_vidc_set_u32},
{CONCEAL_COLOR_8BIT, DEC, CODECS_ALL, {CONCEAL_COLOR_8BIT, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_packed}, msm_vidc_set_u32_packed},
{CONCEAL_COLOR_10BIT, DEC, CODECS_ALL, {CONCEAL_COLOR_10BIT, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32_packed}, msm_vidc_set_u32_packed},
{STAGE, ENC|DEC, CODECS_ALL, {STAGE, ENC|DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{STAGE, ENC, H264|HEVC, {STAGE, ENC, H264|HEVC,
{LOWLATENCY_MODE, SLICE_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{STAGE, DEC, H264|HEVC|VP9, {STAGE, DEC, H264|HEVC|VP9,
{LOWLATENCY_MODE},
{0}, {0},
NULL, NULL,
msm_vidc_set_stage}, msm_vidc_set_stage},
{PIPE, DEC|ENC, CODECS_ALL, {PIPE, DEC|ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_pipe}, msm_vidc_set_pipe},
{THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1, {THUMBNAIL_MODE, DEC, H264|HEVC|VP9|AV1,
{0},
{OUTPUT_ORDER}, {OUTPUT_ORDER},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{THUMBNAIL_MODE, DEC, HEIC, {THUMBNAIL_MODE, DEC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{RAP_FRAME, DEC, CODECS_ALL, {RAP_FRAME, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},
{PRIORITY, DEC|ENC, CODECS_ALL, {PRIORITY, DEC|ENC, CODECS_ALL,
{0},
{0}, {0},
msm_vidc_adjust_session_priority, msm_vidc_adjust_session_priority,
msm_vidc_set_session_priority}, msm_vidc_set_session_priority},
{FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL, {FIRMWARE_PRIORITY_OFFSET, DEC | ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{CRITICAL_PRIORITY, ENC, CODECS_ALL, {CRITICAL_PRIORITY, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{RESERVE_DURATION, ENC, CODECS_ALL, {RESERVE_DURATION, ENC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_reserve_duration}, msm_vidc_set_reserve_duration},
{DPB_LIST, DEC, CODECS_ALL, {DPB_LIST, DEC, CODECS_ALL,
{0},
{0}, {0},
NULL, NULL,
NULL}, NULL},
{ALL_INTRA, ENC, H264|HEVC, {ALL_INTRA, ENC, H264|HEVC,
{GOP_SIZE, B_FRAME},
{LTR_COUNT, IR_PERIOD, SLICE_MODE}, {LTR_COUNT, IR_PERIOD, SLICE_MODE},
msm_vidc_adjust_all_intra, msm_vidc_adjust_all_intra,
NULL}, NULL},
{META_EVA_STATS, ENC, H264|HEVC, {META_EVA_STATS, ENC, H264|HEVC,
{0},
{ENH_LAYER_COUNT, REQUEST_PREPROCESS}}, {ENH_LAYER_COUNT, REQUEST_PREPROCESS}},
{META_EVA_STATS, ENC, HEIC, {META_EVA_STATS, ENC, HEIC,
{0},
{0}}, {0}},
{META_ROI_INFO, ENC, H264|HEVC, {META_ROI_INFO, ENC, H264|HEVC,
{BITRATE_MODE, PIX_FMTS}, {MIN_QUALITY, IR_PERIOD, BLUR_TYPES},
{MIN_QUALITY, IR_PERIOD},
msm_vidc_adjust_roi_info, msm_vidc_adjust_roi_info,
NULL}, NULL},
{META_ROI_INFO, ENC, HEIC, {META_ROI_INFO, ENC, HEIC,
{BITRATE_MODE, PIX_FMTS},
{0}, {0},
msm_vidc_adjust_roi_info, msm_vidc_adjust_roi_info,
NULL}, NULL},
{GRID, ENC, HEIC, {GRID, ENC, HEIC,
{0},
{0}, {0},
NULL, NULL,
msm_vidc_set_u32}, msm_vidc_set_u32},

View File

@@ -9,7 +9,7 @@
#include "msm_vidc_inst.h" #include "msm_vidc_inst.h"
#include "msm_vidc_core.h" #include "msm_vidc_core.h"
#include "msm_vidc_driver.h" #include "msm_vidc_driver.h"
#include "msm_vidc_plaform.h" #include "msm_vidc_platform.h"
#include "msm_vidc_internal.h" #include "msm_vidc_internal.h"
#include "msm_vidc_buffer.h" #include "msm_vidc_buffer.h"
#include "msm_vidc_debug.h" #include "msm_vidc_debug.h"

View File

@@ -612,7 +612,6 @@ struct msm_vidc_inst_cap {
u32 v4l2_id; u32 v4l2_id;
u32 hfi_id; u32 hfi_id;
enum msm_vidc_inst_capability_flags flags; enum msm_vidc_inst_capability_flags flags;
enum msm_vidc_inst_capability_type parents[MAX_CAP_PARENTS];
enum msm_vidc_inst_capability_type children[MAX_CAP_CHILDREN]; enum msm_vidc_inst_capability_type children[MAX_CAP_CHILDREN];
int (*adjust)(void *inst, int (*adjust)(void *inst,
struct v4l2_ctrl *ctrl); struct v4l2_ctrl *ctrl);

View File

@@ -4568,8 +4568,6 @@ static void update_inst_cap_dependency(
} }
capability->cap[in->cap_id].cap_id = in->cap_id; capability->cap[in->cap_id].cap_id = in->cap_id;
memcpy(capability->cap[in->cap_id].parents, in->parents,
sizeof(capability->cap[in->cap_id].parents));
memcpy(capability->cap[in->cap_id].children, in->children, memcpy(capability->cap[in->cap_id].children, in->children,
sizeof(capability->cap[in->cap_id].children)); sizeof(capability->cap[in->cap_id].children));
capability->cap[in->cap_id].adjust = in->adjust; capability->cap[in->cap_id].adjust = in->adjust;