libhevc-mirror/encoder
Ram Mohan 0bd715ca06 libhevcenc: fix few isan and usan issues
1. While encoding uniform content, it is possible to have perfect
prediction, thus yielding zero distortion. Ratio of Log(cu distortion),
Log(avg cu distortion) is used in cu level qp modulation.
So avoid log(zero) calls.
2. Limit peak-br to twice of tgt-br.

Test: hevcenc -c vid_enc_cfg.txt --input night_320x240_1.yuv --src_width 320 --src_height 240
Bug: 130019940
Change-Id: I9ec68e385b06af25f216c51bcb90910750a5b3bf
(cherry picked from commit 79d3f2a354)
2019-05-15 21:45:55 +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 libhevcenc: fix few isan and usan issues 2019-05-15 21:45:55 +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: fix few isan and usan issues 2019-05-15 21:45:55 +00: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: Initial commit 2019-02-18 07:43:11 -08: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