libhevc-mirror/encoder
Akshata Jadhav afb1deb1b3 libhevcenc: Move deblk, sao and subpel plane generation into nctb loop
Currently deblocking, sao and subpel plane generation are happening for every
CTB serially. This change enables deblocking to be finished for the entire row first.
Then performs SAO for the entire row and finally performs subpel plane
generation for the entire row. This change does not have any effect on the
end bitstream but is expected to give performance gains on devices with
low instruction cache.

On arm platforms, it is noticed that for P5 preset, performance is improved by 15%.

Test: hevcenc -c vid_enc_cfg.txt
Bug: 135510351

Change-Id: I6d09e6cc1d36e967a9b3dd3e68f75bdd0b476a1c
2019-10-11 12:09:30 -07: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: Move deblk, sao and subpel plane generation into nctb loop 2019-10-11 12:09:30 -07:00
ihevce_enc_loop_pass.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_loop_structs.h libhevcenc: Move deblk, sao and subpel plane generation into nctb loop 2019-10-11 12:09:30 -07: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: Move deblk, sao and subpel plane generation into nctb loop 2019-10-11 12:09:30 -07:00
ihevce_enc_subpel_gen.h libhevcenc: Move deblk, sao and subpel plane generation into nctb loop 2019-10-11 12:09:30 -07: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: Add support for dynamic change in bitrate 2019-05-20 16:58:32 -07:00
ihevce_frame_process_utils.h libhevcenc: Add support for dynamic change in bitrate 2019-05-20 16:58:32 -07: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: Add support for dynamic change in bitrate 2019-05-20 16:58:32 -07: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: Add support for dynamic change in bitrate 2019-05-20 16:58:32 -07:00
ihevce_lap_interface.h libhevcenc: Add support for dynamic change in bitrate 2019-05-20 16:58:32 -07: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: Add support for dynamic change in bitrate 2019-05-20 16:58:32 -07: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