@ -101,10 +101,6 @@ static const AVOption avcodec_options[] = {
{ " qdiff " , " maximum difference between the quantizer scales (VBR) " , OFFSET ( max_qdiff ) , AV_OPT_TYPE_INT , { . i64 = 3 } , INT_MIN , INT_MAX , V | E } ,
{ " bf " , " set maximum number of B-frames between non-B-frames " , OFFSET ( max_b_frames ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , - 1 , INT_MAX , V | E } ,
{ " b_qfactor " , " QP factor between P- and B-frames " , OFFSET ( b_quant_factor ) , AV_OPT_TYPE_FLOAT , { . dbl = 1.25 } , - FLT_MAX , FLT_MAX , V | E } ,
# if FF_API_PRIVATE_OPT
{ " b_strategy " , " strategy to choose between I/P/B-frames " , OFFSET ( b_frame_strategy ) , AV_OPT_TYPE_INT , { . i64 = 0 } , INT_MIN , INT_MAX , V | E } ,
{ " ps " , " RTP payload size in bytes " , OFFSET ( rtp_payload_size ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
# endif
{ " codec_tag " , NULL , OFFSET ( codec_tag ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX } ,
{ " bug " , " work around not autodetected encoder bugs " , OFFSET ( workaround_bugs ) , AV_OPT_TYPE_FLAGS , { . i64 = FF_BUG_AUTODETECT } , INT_MIN , INT_MAX , V | D , " bug " } ,
{ " autodetect " , NULL , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_BUG_AUTODETECT } , INT_MIN , INT_MAX , V | D , " bug " } ,
@ -140,9 +136,6 @@ static const AVOption avcodec_options[] = {
{ " aggressive " , " consider things that a sane encoder should not do as an error " , 0 , AV_OPT_TYPE_CONST , { . i64 = AV_EF_AGGRESSIVE | AV_EF_COMPLIANT | AV_EF_CAREFUL } , INT_MIN , INT_MAX , A | V | S | D | E , " err_detect " } ,
{ " has_b_frames " , NULL , OFFSET ( has_b_frames ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , 0 , INT_MAX } ,
{ " block_align " , NULL , OFFSET ( block_align ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , 0 , INT_MAX } ,
# if FF_API_PRIVATE_OPT
{ " mpeg_quant " , " use MPEG quantizers instead of H.263 " , OFFSET ( mpeg_quant ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
# endif
{ " rc_override_count " , NULL , OFFSET ( rc_override_count ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX } ,
{ " maxrate " , " maximum bitrate (in bits/s). Used for VBV together with bufsize. " , OFFSET ( rc_max_rate ) , AV_OPT_TYPE_INT64 , { . i64 = DEFAULT } , 0 , INT_MAX , V | A | E } ,
{ " minrate " , " minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. " ,
@ -183,12 +176,6 @@ static const AVOption avcodec_options[] = {
{ " deblock " , " use strong deblock filter for damaged MBs " , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_EC_DEBLOCK } , INT_MIN , INT_MAX , V | D , " ec " } ,
{ " favor_inter " , " favor predicting from the previous frame " , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_EC_FAVOR_INTER } , INT_MIN , INT_MAX , V | D , " ec " } ,
{ " bits_per_coded_sample " , NULL , OFFSET ( bits_per_coded_sample ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , 0 , INT_MAX } ,
# if FF_API_PRIVATE_OPT
{ " pred " , " prediction method " , OFFSET ( prediction_method ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E , " pred " } ,
{ " left " , NULL , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_PRED_LEFT } , INT_MIN , INT_MAX , V | E , " pred " } ,
{ " plane " , NULL , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_PRED_PLANE } , INT_MIN , INT_MAX , V | E , " pred " } ,
{ " median " , NULL , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_PRED_MEDIAN } , INT_MIN , INT_MAX , V | E , " pred " } ,
# endif
{ " aspect " , " sample aspect ratio " , OFFSET ( sample_aspect_ratio ) , AV_OPT_TYPE_RATIONAL , { . dbl = 0 } , 0 , 10 , V | E } ,
{ " sar " , " sample aspect ratio " , OFFSET ( sample_aspect_ratio ) , AV_OPT_TYPE_RATIONAL , { . dbl = 0 } , 0 , 10 , V | E } ,
{ " debug " , " print specific debug info " , OFFSET ( debug ) , AV_OPT_TYPE_FLAGS , { . i64 = DEFAULT } , 0 , INT_MAX , V | A | S | E | D , " debug " } ,
@ -209,27 +196,15 @@ static const AVOption avcodec_options[] = {
{ " nomc " , " skip motion compensation " , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_DEBUG_NOMC } , INT_MIN , INT_MAX , V | A | D , " debug " } ,
{ " dia_size " , " diamond type & size for motion estimation " , OFFSET ( dia_size ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
{ " last_pred " , " amount of motion predictors from the previous frame " , OFFSET ( last_predictor_count ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
# if FF_API_PRIVATE_OPT
{ " preme " , " pre motion estimation " , OFFSET ( pre_me ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
# endif
{ " pre_dia_size " , " diamond type & size for motion estimation pre-pass " , OFFSET ( pre_dia_size ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
{ " subq " , " sub-pel motion estimation quality " , OFFSET ( me_subpel_quality ) , AV_OPT_TYPE_INT , { . i64 = 8 } , INT_MIN , INT_MAX , V | E } ,
{ " me_range " , " limit motion vectors range (1023 for DivX player) " , OFFSET ( me_range ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
{ " global_quality " , NULL , OFFSET ( global_quality ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | A | E } ,
# if FF_API_PRIVATE_OPT
{ " context " , " context model " , OFFSET ( context_model ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
# endif
{ " slice_flags " , NULL , OFFSET ( slice_flags ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX } ,
{ " mbd " , " macroblock decision algorithm (high quality mode) " , OFFSET ( mb_decision ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , 0 , 2 , V | E , " mbd " } ,
{ " simple " , " use mbcmp " , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_MB_DECISION_SIMPLE } , INT_MIN , INT_MAX , V | E , " mbd " } ,
{ " bits " , " use fewest bits " , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_MB_DECISION_BITS } , INT_MIN , INT_MAX , V | E , " mbd " } ,
{ " rd " , " use best rate distortion " , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_MB_DECISION_RD } , INT_MIN , INT_MAX , V | E , " mbd " } ,
# if FF_API_PRIVATE_OPT
{ " sc_threshold " , " scene change threshold " , OFFSET ( scenechange_threshold ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
# endif
# if FF_API_PRIVATE_OPT
{ " nr " , " noise reduction " , OFFSET ( noise_reduction ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
# endif
{ " rc_init_occupancy " , " number of bits which should be loaded into the rc buffer before decoding starts " , OFFSET ( rc_initial_buffer_occupancy ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
{ " threads " , " set the number of threads " , OFFSET ( thread_count ) , AV_OPT_TYPE_INT , { . i64 = 1 } , 0 , INT_MAX , V | A | E | D , " threads " } ,
{ " auto " , " autodetect a suitable number of threads to use " , 0 , AV_OPT_TYPE_CONST , { . i64 = 0 } , INT_MIN , INT_MAX , V | E | D , " threads " } ,
@ -243,12 +218,6 @@ static const AVOption avcodec_options[] = {
{ " level " , NULL , OFFSET ( level ) , AV_OPT_TYPE_INT , { . i64 = FF_LEVEL_UNKNOWN } , INT_MIN , INT_MAX , V | A | E | CC , " avctx.level " } ,
{ " unknown " , NULL , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_LEVEL_UNKNOWN } , INT_MIN , INT_MAX , V | A | E , " avctx.level " } ,
{ " lowres " , " decode at 1= 1/2, 2=1/4, 3=1/8 resolutions " , OFFSET ( lowres ) , AV_OPT_TYPE_INT , { . i64 = 0 } , 0 , INT_MAX , V | A | D } ,
# if FF_API_PRIVATE_OPT
{ " skip_threshold " , " frame skip threshold " , OFFSET ( frame_skip_threshold ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
{ " skip_factor " , " frame skip factor " , OFFSET ( frame_skip_factor ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
{ " skip_exp " , " frame skip exponent " , OFFSET ( frame_skip_exp ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
{ " skipcmp " , " frame skip compare function " , OFFSET ( frame_skip_cmp ) , AV_OPT_TYPE_INT , { . i64 = FF_CMP_DCTMAX } , INT_MIN , INT_MAX , V | E , " cmp_func " } ,
# endif
{ " cmp " , " full-pel ME compare function " , OFFSET ( me_cmp ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E , " cmp_func " } ,
{ " subcmp " , " sub-pel ME compare function " , OFFSET ( me_sub_cmp ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E , " cmp_func " } ,
{ " mbcmp " , " macroblock compare function " , OFFSET ( mb_cmp ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E , " cmp_func " } ,
@ -274,9 +243,6 @@ static const AVOption avcodec_options[] = {
{ " msad " , " sum of absolute differences, median predicted " , 0 , AV_OPT_TYPE_CONST , { . i64 = FF_CMP_MEDIAN_SAD } , INT_MIN , INT_MAX , V | E , " cmp_func " } ,
{ " mblmin " , " minimum macroblock Lagrange factor (VBR) " , OFFSET ( mb_lmin ) , AV_OPT_TYPE_INT , { . i64 = FF_QP2LAMBDA * 2 } , 1 , FF_LAMBDA_MAX , V | E } ,
{ " mblmax " , " maximum macroblock Lagrange factor (VBR) " , OFFSET ( mb_lmax ) , AV_OPT_TYPE_INT , { . i64 = FF_QP2LAMBDA * 31 } , 1 , FF_LAMBDA_MAX , V | E } ,
# if FF_API_PRIVATE_OPT
{ " mepc " , " motion estimation bitrate penalty compensation (1.0 = 256) " , OFFSET ( me_penalty_compensation ) , AV_OPT_TYPE_INT , { . i64 = 256 } , INT_MIN , INT_MAX , V | E } ,
# endif
{ " skip_loop_filter " , " skip loop filtering process for the selected frames " , OFFSET ( skip_loop_filter ) , AV_OPT_TYPE_INT , { . i64 = AVDISCARD_DEFAULT } , INT_MIN , INT_MAX , V | D , " avdiscard " } ,
{ " skip_idct " , " skip IDCT/dequantization for the selected frames " , OFFSET ( skip_idct ) , AV_OPT_TYPE_INT , { . i64 = AVDISCARD_DEFAULT } , INT_MIN , INT_MAX , V | D , " avdiscard " } ,
{ " skip_frame " , " skip decoding for the selected frames " , OFFSET ( skip_frame ) , AV_OPT_TYPE_INT , { . i64 = AVDISCARD_DEFAULT } , INT_MIN , INT_MAX , V | D , " avdiscard " } ,
@ -288,25 +254,11 @@ static const AVOption avcodec_options[] = {
{ " nointra " , " discard all frames except I frames " , 0 , AV_OPT_TYPE_CONST , { . i64 = AVDISCARD_NONINTRA } , INT_MIN , INT_MAX , V | D , " avdiscard " } ,
{ " all " , " discard all frames " , 0 , AV_OPT_TYPE_CONST , { . i64 = AVDISCARD_ALL } , INT_MIN , INT_MAX , V | D , " avdiscard " } ,
{ " bidir_refine " , " refine the two motion vectors used in bidirectional macroblocks " , OFFSET ( bidir_refine ) , AV_OPT_TYPE_INT , { . i64 = 1 } , 0 , 4 , V | E } ,
# if FF_API_PRIVATE_OPT
{ " brd_scale " , " downscale frames for dynamic B-frame decision " , OFFSET ( brd_scale ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , 0 , 10 , V | E } ,
# endif
{ " keyint_min " , " minimum interval between IDR-frames " , OFFSET ( keyint_min ) , AV_OPT_TYPE_INT , { . i64 = 25 } , INT_MIN , INT_MAX , V | E } ,
{ " refs " , " reference frames to consider for motion compensation " , OFFSET ( refs ) , AV_OPT_TYPE_INT , { . i64 = 1 } , INT_MIN , INT_MAX , V | E } ,
# if FF_API_PRIVATE_OPT
{ " chromaoffset " , " chroma QP offset from luma " , OFFSET ( chromaoffset ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | E } ,
# endif
{ " trellis " , " rate-distortion optimal quantization " , OFFSET ( trellis ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , INT_MIN , INT_MAX , V | A | E } ,
{ " mv0_threshold " , NULL , OFFSET ( mv0_threshold ) , AV_OPT_TYPE_INT , { . i64 = 256 } , 0 , INT_MAX , V | E } ,
# if FF_API_PRIVATE_OPT
{ " b_sensitivity " , " adjust sensitivity of b_frame_strategy 1 " , OFFSET ( b_sensitivity ) , AV_OPT_TYPE_INT , { . i64 = 40 } , 1 , INT_MAX , V | E } ,
# endif
{ " compression_level " , NULL , OFFSET ( compression_level ) , AV_OPT_TYPE_INT , { . i64 = FF_COMPRESSION_DEFAULT } , INT_MIN , INT_MAX , V | A | E } ,
# if FF_API_PRIVATE_OPT
{ " min_prediction_order " , NULL , OFFSET ( min_prediction_order ) , AV_OPT_TYPE_INT , { . i64 = - 1 } , INT_MIN , INT_MAX , A | E } ,
{ " max_prediction_order " , NULL , OFFSET ( max_prediction_order ) , AV_OPT_TYPE_INT , { . i64 = - 1 } , INT_MIN , INT_MAX , A | E } ,
{ " timecode_frame_start " , " GOP timecode frame start number, in non-drop-frame format " , OFFSET ( timecode_frame_start ) , AV_OPT_TYPE_INT64 , { . i64 = - 1 } , - 1 , INT64_MAX , V | E } ,
# endif
{ " bits_per_raw_sample " , NULL , OFFSET ( bits_per_raw_sample ) , AV_OPT_TYPE_INT , { . i64 = DEFAULT } , 0 , INT_MAX } ,
{ " channel_layout " , NULL , OFFSET ( channel_layout ) , AV_OPT_TYPE_UINT64 , { . i64 = DEFAULT } , 0 , UINT64_MAX , A | E | D , " channel_layout " } ,
{ " request_channel_layout " , NULL , OFFSET ( request_channel_layout ) , AV_OPT_TYPE_UINT64 , { . i64 = DEFAULT } , 0 , UINT64_MAX , A | D , " request_channel_layout " } ,