libhevc-mirror/encoder
Suyog Pawar 8dd2b3392a libhevc: Update encoder logic to handle iframe interval and bframes
This update improves the encoder's behavior and ensures it runs efficiently
when the iframeinterval is less than or equal to maxbframes. In this
case, the encoder ignores the maxbframes.

Test: ./hevcenc
2024-07-17 21:23:49 -07:00
..
arm encoder: Update chroma modules to avoid reading an extra byte 2021-03-27 04:30:56 +00: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 hevcenc: Correctly update second best mv candidate in hme coarse layers 2022-03-21 15:54:53 +00: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 encoder: Fix warnings due to -WSwitch 2023-09-17 21:05:31 -07:00
hme_refine.c encoder: Fix warnings due to -WSwitch 2023-09-17 21:05:31 -07: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 libhevc: do not disable sei code in hevc encoder application 2024-06-05 23:39:50 -07: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 encoder: Update chroma modules to avoid reading an extra byte 2021-03-27 04:30:56 +00: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 encoder: Update chroma modules to avoid reading an extra byte 2021-03-27 04:30:56 +00: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: fix overflow during intermediate computes of qp modulation 2023-10-30 23:59:12 -07:00
ihevce_decomp_pre_intra_pass.h libhevcenc: pre enc intra cleanup 2019-11-08 13:22:26 -08:00
ihevce_decomp_pre_intra_structs.h libhevcenc: pre enc intra cleanup 2019-11-08 13:22:26 -08:00
ihevce_defs.h libhevcenc: update minimum bitrate check value 2021-09-21 07:51:32 +05:30
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 encoder: Fix warnings due to -WSwitch 2023-09-17 21:05:31 -07:00
ihevce_enc_loop_inter_mode_sifter.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_loop_pass.c Fix int-in-bool-context warning 2022-03-30 17:38:15 +00:00
ihevce_enc_loop_pass.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_enc_loop_structs.h encoder: Update chroma modules to avoid reading an extra byte 2021-03-27 04:30:56 +00:00
ihevce_enc_loop_utils.c encoder: Update chroma modules to avoid reading an extra byte 2021-03-27 04:30:56 +00:00
ihevce_enc_loop_utils.h libhevcenc: default initialize enc ctxt at the start 2019-10-10 18:55:10 +05:30
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 libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07: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 libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07:00
ihevce_encode_header_sei_vui.h libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07:00
ihevce_entropy_cod.c libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07: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 libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07:00
ihevce_entropy_interface.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_entropy_structs.h libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07:00
ihevce_error_check.c libhevc: Update encoder logic to handle iframe interval and bframes 2024-07-17 21:23:49 -07:00
ihevce_error_checks.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_error_codes.h libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07:00
ihevce_frame_process.c libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07:00
ihevce_frame_process.h libhevcenc: pre enc intra cleanup 2019-11-08 13:22:26 -08:00
ihevce_frame_process_utils.c libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07:00
ihevce_frame_process_utils.h libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -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: pre enc intra cleanup 2019-11-08 13:22:26 -08:00
ihevce_global_tables.h libhevcenc: pre enc intra cleanup 2019-11-08 13:22:26 -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 libhevc: fix encoder SEI related code while disabling SEI 2024-06-06 22:52:18 -07:00
ihevce_hle_interface.h Correct comment spelling error. 2023-08-11 15:54:49 -07: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 Merge "libhevcenc: pre enc intra cleanup" 2019-12-05 21:54:12 +00: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: pre enc intra cleanup 2019-11-08 13:22:26 -08:00
ihevce_lap_interface.c libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -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: Add support for force idr picture 2020-03-24 12:20:20 -07: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 libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07:00
ihevce_memory_init.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_multi_thrd_funcs.c encoder: Do not use memcmp for volatile data 2021-01-15 12:39:41 -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 libhevc: move encoder SEI related code under a macro 2024-05-09 07:40:11 -07:00
ihevce_plugin.h libhevcenc: Add support for force idr picture 2020-03-24 12:20:20 -07:00
ihevce_plugin_priv.h libhevcenc: Add support for force idr picture 2020-03-24 12:20:20 -07:00
ihevce_profile.c libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_profile.h cmake: Move hevcdec specific macros to its cmake file 2022-08-04 20:40:33 -07:00
ihevce_rc_enc_structs.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_rc_interface.c encoder: Fix warnings due to -WSwitch 2023-09-17 21:05:31 -07:00
ihevce_rc_interface.h libhevcenc: Add support for force idr picture 2020-03-24 12:20:20 -07: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 encoder: Update chroma modules to avoid reading an extra byte 2021-03-27 04:30:56 +00:00
ihevce_recur_bracketing.h libhevcenc: Initial commit 2019-02-18 07:43:11 -08:00
ihevce_sao.c encoder: Update chroma modules to avoid reading an extra byte 2021-03-27 04:30:56 +00: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
libhevcenc.cmake Fix cmake build for arm 2023-03-27 20:53:41 -07: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