libavc/encoder
Martin Storsjo cc58d3f491 Check the width/height and adjust level used for RC
Since 6cb6772805, the actual level used is
MAX(u4_max_level, ih264e_get_min_level()), which means that it isn't
a fatal error to set u4_max_level to a too low level (if the caller
doesn't know or care). Despite this, the actual value set by the caller
was still used for initializing the RC.

This allows the caller to not have to set u4_max_level (currently
every caller has to duplicate a table or code snippet for determining
the right level for each resolution). The caller still can set it
to a higher value if he wants to explicitly use a higher level than
what is necessary.

This makes sure that the output is identical even if u4_max_level is
set too low.

Change-Id: Icdc6c0652a97568d1eafc050226357a9d643d809
2015-07-28 18:44:06 +00:00
..
arm arm: Properly match /* */ comments in the arm assembly 2015-06-24 20:47:59 +00:00
armv8 armv8: Don't touch the x18 register 2015-06-24 20:48:51 +00:00
mips Fix MIPS build 2015-06-24 15:05:29 -07:00
x86 Don't declare variables after statements 2015-06-25 13:29:52 +03:00
ih264e.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_api.c Remove the now unused stride field from the set dimensions struct 2015-06-27 09:28:24 +03:00
ih264e_bitstream.c Added check for minimum output buffer size. 2015-06-24 21:05:34 +00:00
ih264e_bitstream.h Added check for minimum output buffer size. 2015-06-24 21:05:34 +00:00
ih264e_cabac.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_cabac.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_cabac_encode.c Don't declare variables after statements 2015-07-28 18:35:54 +00:00
ih264e_cabac_init.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_cabac_structs.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_cavlc.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_cavlc.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_config.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_core_coding.c Use a separate field for the chroma stride 2015-06-24 20:49:50 +00:00
ih264e_core_coding.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_deblk.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_deblk.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_debug.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_defs.h Reduced memory requirements. 2015-06-24 21:04:04 +00:00
ih264e_encode.c Fixed encode of single frame 2015-07-28 18:37:38 +00:00
ih264e_encode_header.c Reorder code to avoid reading uninitialized data 2015-06-25 13:29:13 +03:00
ih264e_encode_header.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_error.h Added check for minimum output buffer size. 2015-06-24 21:05:34 +00:00
ih264e_fmt_conv.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_fmt_conv.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_function_selector_generic.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_globals.c Fixed QP lockups 2015-06-24 21:03:22 +00:00
ih264e_globals.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_half_pel.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_half_pel.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_intra_modes_eval.c Use a separate field for the chroma stride 2015-06-24 20:49:50 +00:00
ih264e_intra_modes_eval.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_list.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_master.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_mc.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_mc.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_me.c Don't declare variables after statements 2015-07-28 18:35:54 +00:00
ih264e_me.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_modify_frm_rate.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_modify_frm_rate.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_process.c Added code to handle cases with qp less than 10 2015-06-24 21:04:58 +00:00
ih264e_process.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_rate_control.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_rate_control.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_rc_mem_interface.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_rc_mem_interface.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_statistics.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_structs.h Fixed issues with forcing I and IDR frames. 2015-06-24 21:02:01 +00:00
ih264e_time_stamp.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ih264e_time_stamp.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_trace.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_trace_support.h fix file permissions 2015-05-05 17:34:51 +00:00
ih264e_utils.c Check the width/height and adjust level used for RC 2015-07-28 18:44:06 +00:00
ih264e_utils.h Reduced memory requirements. 2015-06-24 21:04:04 +00:00
ih264e_version.c Fix string handling for generating version strings 2015-06-18 12:12:47 +03:00
ih264e_version.h fix file permissions 2015-05-05 17:34:51 +00:00
ime.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ime.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ime_defs.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ime_distortion_metrics.c Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ime_distortion_metrics.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ime_macros.h fix file permissions 2015-05-05 17:34:51 +00:00
ime_statistics.h fix file permissions 2015-05-05 17:34:51 +00:00
ime_structs.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
ime_typedefs.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_bit_allocation.c Don't use static structs for rc init 2015-06-23 15:00:45 +03:00
irc_bit_allocation.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_cbr_buffer_control.c Don't use static structs for rc init 2015-06-23 15:00:45 +03:00
irc_cbr_buffer_control.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_cntrl_param.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_common.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
irc_datatypes.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_est_sad.c Don't use static structs for rc init 2015-06-23 15:00:45 +03:00
irc_est_sad.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_fixed_point_error_bits.c Don't use static structs for rc init 2015-06-23 15:00:45 +03:00
irc_fixed_point_error_bits.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_frame_info_collector.c fix file permissions 2015-05-05 17:34:51 +00:00
irc_frame_info_collector.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_mb_model_based.c Don't use static structs for rc init 2015-06-23 15:00:45 +03:00
irc_mb_model_based.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_mem_req_and_acq.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_picture_type.c Fixed issues with forcing I and IDR frames. 2015-06-24 21:02:01 +00:00
irc_picture_type.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
irc_rate_control_api.c Fixed QP lockups 2015-06-24 21:03:22 +00:00
irc_rate_control_api.h Added support for Main Profile toolsets in encoder. 2015-06-24 20:36:11 +00:00
irc_rate_control_api_structs.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_rd_model.c Don't declare variables after statements 2015-06-25 13:29:52 +03:00
irc_rd_model.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_rd_model_struct.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_trace_support.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_vbr_storage_vbv.c Don't use static structs for rc init 2015-06-23 15:00:45 +03:00
irc_vbr_storage_vbv.h fix file permissions 2015-05-05 17:34:51 +00:00
irc_vbr_str_prms.c fix file permissions 2015-05-05 17:34:51 +00:00
irc_vbr_str_prms.h fix file permissions 2015-05-05 17:34:51 +00:00
iv2.h fix file permissions 2015-05-05 17:34:51 +00:00
ive2.h Remove the now unused stride field from the set dimensions struct 2015-06-27 09:28:24 +03:00