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:
@@ -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},
|
||||||
|
@@ -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);
|
||||||
|
@@ -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++;
|
||||||
}
|
}
|
||||||
|
@@ -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},
|
||||||
|
@@ -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},
|
||||||
|
@@ -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},
|
||||||
|
@@ -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"
|
||||||
|
@@ -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);
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user