@ -437,16 +437,22 @@ static const char* context_to_name(void* ptr) {
# define OFFSET(x) (int)&((AVCodecContext*)0)->x
# define DEFAULT 0 //should be NAN but it doesnt work as its not a constant in glibc as required by ANSI/ISO C
//these names are too long to be readable
# define V AV_OPT_FLAG_VIDEO_PARAM
# define A AV_OPT_FLAG_AUDIO_PARAM
# define S AV_OPT_FLAG_SUBTITLE_PARAM
# define E AV_OPT_FLAG_ENCODING_PARAM
# define D AV_OPT_FLAG_DECODING_PARAM
static AVOption options [ ] = {
{ " bit_rate " , NULL , OFFSET ( bit_rate ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " bit_rate_tolerance " , NULL , OFFSET ( bit_rate_tolerance ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " flags " , NULL , OFFSET ( flags ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " bit_rate " , NULL , OFFSET ( bit_rate ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | A | E } ,
{ " bit_rate_tolerance " , NULL , OFFSET ( bit_rate_tolerance ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " flags " , NULL , OFFSET ( flags ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } , //FIXME
{ " sub_id " , NULL , OFFSET ( sub_id ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " me_method " , NULL , OFFSET ( me_method ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " me_method " , NULL , OFFSET ( me_method ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " extradata_size " , NULL , OFFSET ( extradata_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " time_base " , NULL , OFFSET ( time_base ) , FF_OPT_TYPE_RATIONAL , DEFAULT , INT_MIN , INT_MAX } ,
{ " gop_size " , NULL , OFFSET ( gop_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " gop_size " , NULL , OFFSET ( gop_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " rate_emu " , NULL , OFFSET ( rate_emu ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " sample_rate " , NULL , OFFSET ( sample_rate ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " channels " , NULL , OFFSET ( channels ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
@ -454,16 +460,16 @@ static AVOption options[]={
{ " frame_number " , NULL , OFFSET ( frame_number ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " real_pict_num " , NULL , OFFSET ( real_pict_num ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " delay " , NULL , OFFSET ( delay ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " qcompress " , NULL , OFFSET ( qcompress ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " qblur " , NULL , OFFSET ( qblur ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " qmin " , NULL , OFFSET ( qmin ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " qmax " , NULL , OFFSET ( qmax ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " max_qdiff " , NULL , OFFSET ( max_qdiff ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " max_b_frames " , NULL , OFFSET ( max_b_frames ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " b_quant_factor " , NULL , OFFSET ( b_quant_factor ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " rc_strategy " , NULL , OFFSET ( rc_strategy ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " b_frame_strategy " , NULL , OFFSET ( b_frame_strategy ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " hurry_up " , NULL , OFFSET ( hurry_up ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " qcompress " , NULL , OFFSET ( qcompress ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " qblur " , NULL , OFFSET ( qblur ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " qmin " , NULL , OFFSET ( qmin ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " qmax " , NULL , OFFSET ( qmax ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " max_qdiff " , NULL , OFFSET ( max_qdiff ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " max_b_frames " , NULL , OFFSET ( max_b_frames ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " b_quant_factor " , NULL , OFFSET ( b_quant_factor ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " rc_strategy " , NULL , OFFSET ( rc_strategy ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " b_frame_strategy " , NULL , OFFSET ( b_frame_strategy ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " hurry_up " , NULL , OFFSET ( hurry_up ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | D } ,
{ " rtp_mode " , NULL , OFFSET ( rtp_mode ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " rtp_payload_size " , NULL , OFFSET ( rtp_payload_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mv_bits " , NULL , OFFSET ( mv_bits ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
@ -476,101 +482,104 @@ static AVOption options[]={
{ " misc_bits " , NULL , OFFSET ( misc_bits ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " frame_bits " , NULL , OFFSET ( frame_bits ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " codec_tag " , NULL , OFFSET ( codec_tag ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " workaround_bugs " , NULL , OFFSET ( workaround_bugs ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " luma_ elim_threshold " , NULL , OFFSET ( luma_elim_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " chroma_ elim_threshold " , NULL , OFFSET ( chroma_elim_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " strict_std_compliance " , NULL , OFFSET ( strict_std_compliance ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " b_quant_offset " , NULL , OFFSET ( b_quant_offset ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " error_resilience " , NULL , OFFSET ( error_resilience ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " workaround_bugs " , NULL , OFFSET ( workaround_bugs ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | D } ,
{ " lelim " , " single coefficient elimination threshold for luminance (negative values also consider DC coefficient) " , OFFSET ( luma_elim_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " celim " , " single coefficient elimination threshold for chrominance (negative values also consider DC coefficient) " , OFFSET ( chroma_elim_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " strict_std_compliance " , NULL , OFFSET ( strict_std_compliance ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " b_quant_offset " , NULL , OFFSET ( b_quant_offset ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " error_resilience " , NULL , OFFSET ( error_resilience ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | D } ,
{ " has_b_frames " , NULL , OFFSET ( has_b_frames ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " block_align " , NULL , OFFSET ( block_align ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " parse_only " , NULL , OFFSET ( parse_only ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mpeg_quant " , NULL , OFFSET ( mpeg_quant ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mpeg_quant " , NULL , OFFSET ( mpeg_quant ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " stats_out " , NULL , OFFSET ( stats_out ) , FF_OPT_TYPE_STRING , DEFAULT , CHAR_MIN , CHAR_MAX } ,
{ " stats_in " , NULL , OFFSET ( stats_in ) , FF_OPT_TYPE_STRING , DEFAULT , CHAR_MIN , CHAR_MAX } ,
{ " rc_qsquish " , NULL , OFFSET ( rc_qsquish ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " rc_qmod_amp " , NULL , OFFSET ( rc_qmod_amp ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " rc_qmod_freq " , NULL , OFFSET ( rc_qmod_freq ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " rc_qsquish " , NULL , OFFSET ( rc_qsquish ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " rc_qmod_amp " , NULL , OFFSET ( rc_qmod_amp ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " rc_qmod_freq " , NULL , OFFSET ( rc_qmod_freq ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " rc_override_count " , NULL , OFFSET ( rc_override_count ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " rc_eq " , NULL , OFFSET ( rc_eq ) , FF_OPT_TYPE_STRING , DEFAULT , CHAR_MIN , CHAR_MAX } ,
{ " rc_max_rate " , NULL , OFFSET ( rc_max_rate ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " rc_min_rate " , NULL , OFFSET ( rc_min_rate ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " rc_buffer_size " , NULL , OFFSET ( rc_buffer_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " rc_buffer _aggressivity " , NULL , OFFSET ( rc_buffer_aggressivity ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " i_quant_factor " , NULL , OFFSET ( i_quant_factor ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " i_quant_offset " , NULL , OFFSET ( i_quant_offset ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " rc_initial_cplx " , NULL , OFFSET ( rc_initial_cplx ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " dct_algo " , NULL , OFFSET ( dct_algo ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " lumi_masking " , NULL , OFFSET ( lumi_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " temporal_ cplx_masking " , NULL , OFFSET ( temporal_cplx_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " spatial_ cplx_masking " , NULL , OFFSET ( spatial_cplx_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " p_masking " , NULL , OFFSET ( p_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " dark_masking " , NULL , OFFSET ( dark_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " rc_eq " , NULL , OFFSET ( rc_eq ) , FF_OPT_TYPE_STRING , DEFAULT , CHAR_MIN , CHAR_MAX , V | E } ,
{ " rc_max_rate " , NULL , OFFSET ( rc_max_rate ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " rc_min_rate " , NULL , OFFSET ( rc_min_rate ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " rc_buffer_size " , NULL , OFFSET ( rc_buffer_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " rc_buf_aggressivity " , NULL , OFFSET ( rc_buffer_aggressivity ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " i_quant_factor " , NULL , OFFSET ( i_quant_factor ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " i_quant_offset " , NULL , OFFSET ( i_quant_offset ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " rc_initial_cplx " , NULL , OFFSET ( rc_initial_cplx ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " dct_algo " , NULL , OFFSET ( dct_algo ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " lumi_mask " , NULL , OFFSET ( lumi_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " tcplx_mask " , NULL , OFFSET ( temporal_cplx_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " scplx_mask " , NULL , OFFSET ( spatial_cplx_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " p_mask " , NULL , OFFSET ( p_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " dark_mask " , NULL , OFFSET ( dark_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " unused " , NULL , OFFSET ( unused ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " idct_algo " , NULL , OFFSET ( idct_algo ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " idct_algo " , NULL , OFFSET ( idct_algo ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E | D } ,
{ " slice_count " , NULL , OFFSET ( slice_count ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " error_concealment " , NULL , OFFSET ( error_concealment ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " error_concealment " , NULL , OFFSET ( error_concealment ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | D } ,
{ " bits_per_sample " , NULL , OFFSET ( bits_per_sample ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " prediction_method " , NULL , OFFSET ( prediction_method ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " sample_ aspect_ratio " , NULL , OFFSET ( sample_aspect_ratio ) , FF_OPT_TYPE_RATIONAL , DEFAULT , INT_MIN , INT_MAX } ,
{ " debug " , NULL , OFFSET ( debug ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " debug_mv " , NULL , OFFSET ( debug_mv ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mb_qmin " , NULL , OFFSET ( mb_qmin ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mb_qmax " , NULL , OFFSET ( mb_qmax ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " me_cmp " , NULL , OFFSET ( me_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " me_sub_cmp " , NULL , OFFSET ( me_sub_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mb_cmp " , NULL , OFFSET ( mb_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " ildct_cmp " , NULL , OFFSET ( ildct_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " dia_size " , NULL , OFFSET ( dia_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " last_predictor_count " , NULL , OFFSET ( last_predictor_count ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " pre_me " , NULL , OFFSET ( pre_me ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " me_pre_cmp " , NULL , OFFSET ( me_pre_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " pre_dia_size " , NULL , OFFSET ( pre_dia_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " me_subpel_quality " , NULL , OFFSET ( me_subpel_quality ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " prediction_method " , NULL , OFFSET ( prediction_method ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " aspect " , NULL , OFFSET ( sample_aspect_ratio ) , FF_OPT_TYPE_RATIONAL , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " debug " , NULL , OFFSET ( debug ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | A | S | E | D } ,
{ " debug_mv " , NULL , OFFSET ( debug_mv ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | D } ,
{ " mb_qmin " , NULL , OFFSET ( mb_qmin ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " mb_qmax " , NULL , OFFSET ( mb_qmax ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " me_cmp " , NULL , OFFSET ( me_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " me_sub_cmp " , NULL , OFFSET ( me_sub_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " mb_cmp " , NULL , OFFSET ( mb_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " ildct_cmp " , NULL , OFFSET ( ildct_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " dia_size " , NULL , OFFSET ( dia_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " last_pred " , NULL , OFFSET ( last_predictor_count ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " pre_me " , NULL , OFFSET ( pre_me ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " me_pre_cmp " , NULL , OFFSET ( me_pre_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " pre_dia_size " , NULL , OFFSET ( pre_dia_size ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " me_subpel_quality " , NULL , OFFSET ( me_subpel_quality ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " dtg_active_format " , NULL , OFFSET ( dtg_active_format ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " me_range " , NULL , OFFSET ( me_range ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " intra_quant_ bias " , NULL , OFFSET ( intra_quant_bias ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " inter_quant_ bias" , NULL , OFFSET ( inter_quant_bias ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " me_range " , NULL , OFFSET ( me_range ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " ibias " , NULL , OFFSET ( intra_quant_bias ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " p bias" , NULL , OFFSET ( inter_quant_bias ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " color_table_id " , NULL , OFFSET ( color_table_id ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " internal_buffer_count " , NULL , OFFSET ( internal_buffer_count ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " global_quality " , NULL , OFFSET ( global_quality ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " coder_type " , NULL , OFFSET ( coder_type ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " context_model " , NULL , OFFSET ( context_model ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " coder_type " , NULL , OFFSET ( coder_type ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " context_model " , NULL , OFFSET ( context_model ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " slice_flags " , NULL , OFFSET ( slice_flags ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " xvmc_acceleration " , NULL , OFFSET ( xvmc_acceleration ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mb_decision " , NULL , OFFSET ( mb_decision ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mb_decision " , NULL , OFFSET ( mb_decision ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " stream_codec_tag " , NULL , OFFSET ( stream_codec_tag ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " scenechange _threshold " , NULL , OFFSET ( scenechange_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " lmin " , NULL , OFFSET ( lmin ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " lmax " , NULL , OFFSET ( lmax ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " noise_reduction " , NULL , OFFSET ( noise_reduction ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " rc_initial_buffer _occupancy " , NULL , OFFSET ( rc_initial_buffer_occupancy ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " inter_threshold " , NULL , OFFSET ( inter_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " sc_threshold " , NULL , OFFSET ( scenechange_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " lmin " , NULL , OFFSET ( lmin ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " lmax " , NULL , OFFSET ( lmax ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " noise_reduction " , NULL , OFFSET ( noise_reduction ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " rc_init_occupancy " , NULL , OFFSET ( rc_initial_buffer_occupancy ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " inter_threshold " , NULL , OFFSET ( inter_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " flags2 " , NULL , OFFSET ( flags2 ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " error_rate " , NULL , OFFSET ( error_rate ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " antialias_algo " , NULL , OFFSET ( antialias_algo ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " quantizer_noise_shaping " , NULL , OFFSET ( quantizer_noise_shaping ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " thread_count " , NULL , OFFSET ( thread_count ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " quantizer_noise_shaping " , NULL , OFFSET ( quantizer_noise_shaping ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " thread_count " , NULL , OFFSET ( thread_count ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E | D } ,
{ " me_threshold " , NULL , OFFSET ( me_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mb_threshold " , NULL , OFFSET ( mb_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " intra_ dc_precision " , NULL , OFFSET ( intra_dc_precision ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " nsse_weight " , NULL , OFFSET ( nsse_weight ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " skip_top " , NULL , OFFSET ( skip_top ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " skip_bottom " , NULL , OFFSET ( skip_bottom ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " profile " , NULL , OFFSET ( profile ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " level " , NULL , OFFSET ( level ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " lowres " , NULL , OFFSET ( lowres ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " frame_skip_threshold " , NULL , OFFSET ( frame_skip_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " frame_skip_factor " , NULL , OFFSET ( frame_skip_factor ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " frame_skip_exp " , NULL , OFFSET ( frame_skip_exp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " frame_skip_cmp " , NULL , OFFSET ( frame_skip_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " border_masking " , NULL , OFFSET ( border_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX } ,
{ " mb_lmin " , NULL , OFFSET ( mb_lmin ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " mb_lmax " , NULL , OFFSET ( mb_lmax ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " me_penalty_compensation " , NULL , OFFSET ( me_penalty_compensation ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX } ,
{ " dc " , NULL , OFFSET ( intra_dc_precision ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " nsse_weight " , NULL , OFFSET ( nsse_weight ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " skip_top " , NULL , OFFSET ( skip_top ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | D } ,
{ " skip_bottom " , NULL , OFFSET ( skip_bottom ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | D } ,
{ " profile " , NULL , OFFSET ( profile ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | A | E } ,
{ " level " , NULL , OFFSET ( level ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | A | E } ,
{ " lowres " , NULL , OFFSET ( lowres ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | D } ,
{ " frame_skip_threshold " , NULL , OFFSET ( frame_skip_threshold ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " frame_skip_factor " , NULL , OFFSET ( frame_skip_factor ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " frame_skip_exp " , NULL , OFFSET ( frame_skip_exp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " frame_skip_cmp " , NULL , OFFSET ( frame_skip_cmp ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " border_mask " , NULL , OFFSET ( border_masking ) , FF_OPT_TYPE_FLOAT , DEFAULT , FLT_MIN , FLT_MAX , V | E } ,
{ " mb_lmin " , NULL , OFFSET ( mb_lmin ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " mb_lmax " , NULL , OFFSET ( mb_lmax ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ " me_penalty_compensation " , NULL , OFFSET ( me_penalty_compensation ) , FF_OPT_TYPE_INT , DEFAULT , INT_MIN , INT_MAX , V | E } ,
{ NULL } ,
} ;
# undef A
# undef V
static AVClass av_codec_context_class = { " AVCodecContext " , context_to_name , options } ;
void avcodec_get_context_defaults ( AVCodecContext * s ) {