libhevc-mirror/encoder
Ram Mohan c6b8260fc9 libhevcenc: clip frame qp to configured bounds
In one of the returns paths from rc library, it is seen that frame qp is
exceeding the max value configured. At extremely low bitrates, this is
exceeding the max allowable qp and is causing access violation.

Test: hevcenc -c vid_enc_cfg.txt --tgt_bitrate 64000
Bug: 130018957
Test: poc
Change-Id: Iff64c73752d2fd795276678b0d681ab10b550750
(cherry picked from commit 79b1da48eb)
2019-05-15 22:03:54 +00:00
..
arm libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
bit_allocation.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
bit_allocation.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
cast_types.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
cbr_buffer_control.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
cbr_buffer_control.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
common_rom.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
common_rom.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
convert_float_to_fix.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
defs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
est_sad.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
est_sad.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
fixed_point_error_bits.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
fixed_point_error_bits.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
frame_info_collector.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_coarse.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_coarse.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_common_defs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_common_utils.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_common_utils.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_datatype.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_defs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_err_compute.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_err_compute.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_fullpel.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_fullpel.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_function_selector.c libhevcenc: integrate missing neon function in preset P0 2019-05-03 21:35:01 +00:00
hme_function_selector.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_globals.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_globals.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_interface.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_interface.h libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
hme_refine.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_refine.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_search_algo.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_search_algo.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_subpel.c libhevcenc: integrate missing neon function in preset P0 2019-05-03 21:35:01 +00:00
hme_subpel.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_utils.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
hme_utils.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ia_basic_ops32.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ia_basic_ops40.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ia_type_def.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_api.h Merge "encoder: Allow minimum frame rate of 1" into qt-dev 2019-05-11 01:44:17 +00:00
ihevce_bitstream.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_bitstream.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_bs_compute_ctb.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_bs_compute_ctb.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_buffer_que.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_buffer_que_interface.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_buffer_que_private.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_cabac.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_cabac.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_cabac_cu_pu.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_cabac_rdo.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_cabac_rdo.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_cabac_tu.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_chroma_had_satd.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_cmn_utils_instr_set_router.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_cmn_utils_instr_set_router.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_coarse_me_pass.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_coarse_me_pass.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_common_utils.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_common_utils.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_deblk.c libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_deblk.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_decomp_pre_intra_pass.c libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_decomp_pre_intra_pass.h libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_decomp_pre_intra_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_defs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_dep_mngr.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_dep_mngr_interface.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_dep_mngr_private.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_cu_recursion.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_cu_recursion.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_loop_inter_mode_sifter.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_loop_inter_mode_sifter.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_loop_pass.c libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_enc_loop_pass.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_loop_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_loop_utils.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_loop_utils.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_sbh_funcs.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_sbh_utils.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_structs.h libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_enc_subpel_gen.c libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_enc_subpel_gen.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_encode_header.c libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_encode_header.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_encode_header_sei_vui.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_encode_header_sei_vui.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_entropy_cod.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_entropy_cod.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_entropy_ctxt.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_entropy_interface.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_entropy_interface.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_entropy_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_error_check.c Merge "encoder: Allow minimum frame rate of 1" into qt-dev 2019-05-11 01:44:17 +00:00
ihevce_error_checks.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_error_codes.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_frame_process.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_frame_process.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_frame_process_utils.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_frame_process_utils.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_function_selector.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_function_selector.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_global_tables.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_global_tables.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_had_satd.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_had_satd.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_hle_interface.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_hle_interface.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_hle_q_func.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_hle_q_func.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_inter_pred.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_inter_pred.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_ipe_instr_set_router.c libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_ipe_instr_set_router.h libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_ipe_pass.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_ipe_pass.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_ipe_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_lap_enc_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_lap_interface.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_lap_interface.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_lap_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_me_common_defs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_me_instr_set_router.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_me_instr_set_router.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_me_pass.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_me_pass.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_memory_init.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_memory_init.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_multi_thrd_funcs.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_multi_thrd_funcs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_multi_thrd_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_mv_pred.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_mv_pred.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_mv_pred_merge.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_mv_pred_merge.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_nbr_avail.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_nbr_avail.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_plugin.c libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_plugin.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_plugin_priv.h libhevcenc: reduce min resolution from 320x240 to 2x2 2019-05-03 21:36:21 +00:00
ihevce_profile.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_profile.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_rc_enc_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_rc_interface.c libhevcenc: clip frame qp to configured bounds 2019-05-15 22:03:54 +00:00
ihevce_rc_interface.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_rc_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_rdoq_macros.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_recur_bracketing.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_recur_bracketing.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_sao.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_sao.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_stasino_helpers.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_stasino_helpers.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_sub_pic_rc.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_sub_pic_rc.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_sys_api.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_tile_interface.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_tile_interface.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_trace.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_trace.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_tu_tree_selector.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_tu_tree_selector.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
init_qp.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
init_qp.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
itt_video_api.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ittiam_datatypes.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
mb_model_based.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
mb_model_based.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
mem_req_and_acq.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_cond_var.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_cond_var.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_defaults.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_errno.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_error.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_handle.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_mbox.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_mutex.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_mutex.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_network.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_select_engine.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_semaphore.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_semaphore.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_thread.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
osal_thread.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
picture_type.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
picture_type.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rate_control_api.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rate_control_api.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rate_control_api_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_cntrl_param.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_common.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_frame_info_collector.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_look_ahead_params.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_rd_model.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_rd_model.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_rd_model_fix.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_rd_model_struct.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_sad_acc.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
rc_sad_acc.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
sqrt_interp.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
sqrt_interp.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
trace_support.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
var_q_operator.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
var_q_operator.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
vbr_storage_vbv.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
vbr_storage_vbv.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
vbr_str_prms.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
vbr_str_prms.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00