mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
lavc: remove disabled FF_API_X264_GLOBAL_OPTS cruft.
This commit is contained in:
parent
7460398b89
commit
7232bfbd93
@ -682,19 +682,6 @@ typedef struct RcOverride{
|
|||||||
#if FF_API_MJPEG_GLOBAL_OPTS
|
#if FF_API_MJPEG_GLOBAL_OPTS
|
||||||
#define CODEC_FLAG_EXTERN_HUFF 0x1000 ///< Use external Huffman table (for MJPEG).
|
#define CODEC_FLAG_EXTERN_HUFF 0x1000 ///< Use external Huffman table (for MJPEG).
|
||||||
#endif
|
#endif
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
#define CODEC_FLAG2_BPYRAMID 0x00000010 ///< H.264 allow B-frames to be used as references.
|
|
||||||
#define CODEC_FLAG2_WPRED 0x00000020 ///< H.264 weighted biprediction for B-frames
|
|
||||||
#define CODEC_FLAG2_MIXED_REFS 0x00000040 ///< H.264 one reference per partition, as opposed to one reference per macroblock
|
|
||||||
#define CODEC_FLAG2_8X8DCT 0x00000080 ///< H.264 high profile 8x8 transform
|
|
||||||
#define CODEC_FLAG2_FASTPSKIP 0x00000100 ///< H.264 fast pskip
|
|
||||||
#define CODEC_FLAG2_AUD 0x00000200 ///< H.264 access unit delimiters
|
|
||||||
#define CODEC_FLAG2_BRDO 0x00000400 ///< B-frame rate-distortion optimization
|
|
||||||
#define CODEC_FLAG2_MBTREE 0x00040000 ///< Use macroblock tree ratecontrol (x264 only)
|
|
||||||
#define CODEC_FLAG2_PSY 0x00080000 ///< Use psycho visual optimizations.
|
|
||||||
#define CODEC_FLAG2_SSIM 0x00100000 ///< Compute SSIM during encoding, error[] values are undefined.
|
|
||||||
#define CODEC_FLAG2_INTRA_REFRESH 0x00200000 ///< Use periodic insertion of intra blocks instead of keyframes.
|
|
||||||
#endif
|
|
||||||
#if FF_API_SNOW_GLOBAL_OPTS
|
#if FF_API_SNOW_GLOBAL_OPTS
|
||||||
#define CODEC_FLAG2_MEMC_ONLY 0x00001000 ///< Only do ME/MC (I frames -> ref, P frame -> ME+MC).
|
#define CODEC_FLAG2_MEMC_ONLY 0x00001000 ///< Only do ME/MC (I frames -> ref, P frame -> ME+MC).
|
||||||
#endif
|
#endif
|
||||||
@ -2636,24 +2623,6 @@ typedef struct AVCodecContext {
|
|||||||
*/
|
*/
|
||||||
int brd_scale;
|
int brd_scale;
|
||||||
|
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
/**
|
|
||||||
* constant rate factor - quality-based VBR - values ~correspond to qps
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
* @deprecated use 'crf' libx264 private option
|
|
||||||
*/
|
|
||||||
attribute_deprecated float crf;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* constant quantization parameter rate control method
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
* @deprecated use 'cqp' libx264 private option
|
|
||||||
*/
|
|
||||||
attribute_deprecated int cqp;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* minimum GOP size
|
* minimum GOP size
|
||||||
* - encoding: Set by user.
|
* - encoding: Set by user.
|
||||||
@ -2675,15 +2644,6 @@ typedef struct AVCodecContext {
|
|||||||
*/
|
*/
|
||||||
int chromaoffset;
|
int chromaoffset;
|
||||||
|
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
/**
|
|
||||||
* Influence how often B-frames are used.
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated int bframebias;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* trellis RD quantization
|
* trellis RD quantization
|
||||||
* - encoding: Set by user.
|
* - encoding: Set by user.
|
||||||
@ -2691,50 +2651,6 @@ typedef struct AVCodecContext {
|
|||||||
*/
|
*/
|
||||||
int trellis;
|
int trellis;
|
||||||
|
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
/**
|
|
||||||
* Reduce fluctuations in qp (before curve compression).
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated float complexityblur;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* in-loop deblocking filter alphac0 parameter
|
|
||||||
* alpha is in the range -6...6
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated int deblockalpha;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* in-loop deblocking filter beta parameter
|
|
||||||
* beta is in the range -6...6
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated int deblockbeta;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* macroblock subpartition sizes to consider - p8x8, p4x4, b8x8, i8x8, i4x4
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated int partitions;
|
|
||||||
#define X264_PART_I4X4 0x001 /* Analyze i4x4 */
|
|
||||||
#define X264_PART_I8X8 0x002 /* Analyze i8x8 (requires 8x8 transform) */
|
|
||||||
#define X264_PART_P8X8 0x010 /* Analyze p16x8, p8x16 and p8x8 */
|
|
||||||
#define X264_PART_P4X4 0x020 /* Analyze p8x4, p4x8, p4x4 */
|
|
||||||
#define X264_PART_B8X8 0x100 /* Analyze b16x8, b8x16 and b8x8 */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* direct MV prediction mode - 0 (none), 1 (spatial), 2 (temporal), 3 (auto)
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated int directpred;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Audio cutoff bandwidth (0 means "automatic")
|
* Audio cutoff bandwidth (0 means "automatic")
|
||||||
* - encoding: Set by user.
|
* - encoding: Set by user.
|
||||||
@ -2975,69 +2891,6 @@ typedef struct AVCodecContext {
|
|||||||
*/
|
*/
|
||||||
int (*execute2)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count);
|
int (*execute2)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count);
|
||||||
|
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
/**
|
|
||||||
* explicit P-frame weighted prediction analysis method
|
|
||||||
* 0: off
|
|
||||||
* 1: fast blind weighting (one reference duplicate with -1 offset)
|
|
||||||
* 2: smart weighting (full fade detection analysis)
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated int weighted_p_pred;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* AQ mode
|
|
||||||
* 0: Disabled
|
|
||||||
* 1: Variance AQ (complexity mask)
|
|
||||||
* 2: Auto-variance AQ (experimental)
|
|
||||||
* - encoding: Set by user
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated int aq_mode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* AQ strength
|
|
||||||
* Reduces blocking and blurring in flat and textured areas.
|
|
||||||
* - encoding: Set by user
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated float aq_strength;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* PSY RD
|
|
||||||
* Strength of psychovisual optimization
|
|
||||||
* - encoding: Set by user
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated float psy_rd;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* PSY trellis
|
|
||||||
* Strength of psychovisual optimization
|
|
||||||
* - encoding: Set by user
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated float psy_trellis;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* RC lookahead
|
|
||||||
* Number of frames for frametype and ratecontrol lookahead
|
|
||||||
* - encoding: Set by user
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated int rc_lookahead;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constant rate factor maximum
|
|
||||||
* With CRF encoding mode and VBV restrictions enabled, prevents quality from being worse
|
|
||||||
* than crf_max, even if doing so would violate VBV restrictions.
|
|
||||||
* - encoding: Set by user.
|
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
attribute_deprecated float crf_max;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int log_level_offset;
|
int log_level_offset;
|
||||||
|
|
||||||
#if FF_API_FLAC_GLOBAL_OPTS
|
#if FF_API_FLAC_GLOBAL_OPTS
|
||||||
|
@ -246,17 +246,6 @@ static av_cold int X264_init(AVCodecContext *avctx)
|
|||||||
if (avctx->flags & CODEC_FLAG_PASS2) {
|
if (avctx->flags & CODEC_FLAG_PASS2) {
|
||||||
x4->params.rc.b_stat_read = 1;
|
x4->params.rc.b_stat_read = 1;
|
||||||
} else {
|
} else {
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
if (avctx->crf) {
|
|
||||||
x4->params.rc.i_rc_method = X264_RC_CRF;
|
|
||||||
x4->params.rc.f_rf_constant = avctx->crf;
|
|
||||||
x4->params.rc.f_rf_constant_max = avctx->crf_max;
|
|
||||||
} else if (avctx->cqp > -1) {
|
|
||||||
x4->params.rc.i_rc_method = X264_RC_CQP;
|
|
||||||
x4->params.rc.i_qp_constant = avctx->cqp;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (x4->crf >= 0) {
|
if (x4->crf >= 0) {
|
||||||
x4->params.rc.i_rc_method = X264_RC_CRF;
|
x4->params.rc.i_rc_method = X264_RC_CRF;
|
||||||
x4->params.rc.f_rf_constant = x4->crf;
|
x4->params.rc.f_rf_constant = x4->crf;
|
||||||
@ -279,53 +268,6 @@ static av_cold int X264_init(AVCodecContext *avctx)
|
|||||||
x4->params.rc.f_pb_factor = avctx->b_quant_factor;
|
x4->params.rc.f_pb_factor = avctx->b_quant_factor;
|
||||||
x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset;
|
x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset;
|
||||||
|
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
if (avctx->aq_mode >= 0)
|
|
||||||
x4->params.rc.i_aq_mode = avctx->aq_mode;
|
|
||||||
if (avctx->aq_strength >= 0)
|
|
||||||
x4->params.rc.f_aq_strength = avctx->aq_strength;
|
|
||||||
if (avctx->psy_rd >= 0)
|
|
||||||
x4->params.analyse.f_psy_rd = avctx->psy_rd;
|
|
||||||
if (avctx->psy_trellis >= 0)
|
|
||||||
x4->params.analyse.f_psy_trellis = avctx->psy_trellis;
|
|
||||||
if (avctx->rc_lookahead >= 0)
|
|
||||||
x4->params.rc.i_lookahead = avctx->rc_lookahead;
|
|
||||||
if (avctx->weighted_p_pred >= 0)
|
|
||||||
x4->params.analyse.i_weighted_pred = avctx->weighted_p_pred;
|
|
||||||
if (avctx->bframebias)
|
|
||||||
x4->params.i_bframe_bias = avctx->bframebias;
|
|
||||||
if (avctx->deblockalpha)
|
|
||||||
x4->params.i_deblocking_filter_alphac0 = avctx->deblockalpha;
|
|
||||||
if (avctx->deblockbeta)
|
|
||||||
x4->params.i_deblocking_filter_beta = avctx->deblockbeta;
|
|
||||||
if (avctx->complexityblur >= 0)
|
|
||||||
x4->params.rc.f_complexity_blur = avctx->complexityblur;
|
|
||||||
if (avctx->directpred >= 0)
|
|
||||||
x4->params.analyse.i_direct_mv_pred = avctx->directpred;
|
|
||||||
if (avctx->partitions) {
|
|
||||||
if (avctx->partitions & X264_PART_I4X4)
|
|
||||||
x4->params.analyse.inter |= X264_ANALYSE_I4x4;
|
|
||||||
if (avctx->partitions & X264_PART_I8X8)
|
|
||||||
x4->params.analyse.inter |= X264_ANALYSE_I8x8;
|
|
||||||
if (avctx->partitions & X264_PART_P8X8)
|
|
||||||
x4->params.analyse.inter |= X264_ANALYSE_PSUB16x16;
|
|
||||||
if (avctx->partitions & X264_PART_P4X4)
|
|
||||||
x4->params.analyse.inter |= X264_ANALYSE_PSUB8x8;
|
|
||||||
if (avctx->partitions & X264_PART_B8X8)
|
|
||||||
x4->params.analyse.inter |= X264_ANALYSE_BSUB16x16;
|
|
||||||
}
|
|
||||||
x4->params.analyse.b_ssim = avctx->flags2 & CODEC_FLAG2_SSIM;
|
|
||||||
x4->params.b_intra_refresh = avctx->flags2 & CODEC_FLAG2_INTRA_REFRESH;
|
|
||||||
x4->params.i_bframe_pyramid = avctx->flags2 & CODEC_FLAG2_BPYRAMID ? X264_B_PYRAMID_NORMAL : X264_B_PYRAMID_NONE;
|
|
||||||
x4->params.analyse.b_weighted_bipred = avctx->flags2 & CODEC_FLAG2_WPRED;
|
|
||||||
x4->params.analyse.b_mixed_references = avctx->flags2 & CODEC_FLAG2_MIXED_REFS;
|
|
||||||
x4->params.analyse.b_transform_8x8 = avctx->flags2 & CODEC_FLAG2_8X8DCT;
|
|
||||||
x4->params.analyse.b_fast_pskip = avctx->flags2 & CODEC_FLAG2_FASTPSKIP;
|
|
||||||
x4->params.b_aud = avctx->flags2 & CODEC_FLAG2_AUD;
|
|
||||||
x4->params.analyse.b_psy = avctx->flags2 & CODEC_FLAG2_PSY;
|
|
||||||
x4->params.rc.b_mb_tree = !!(avctx->flags2 & CODEC_FLAG2_MBTREE);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (avctx->me_method == ME_EPZS)
|
if (avctx->me_method == ME_EPZS)
|
||||||
x4->params.analyse.i_me_method = X264_ME_DIA;
|
x4->params.analyse.i_me_method = X264_ME_DIA;
|
||||||
else if (avctx->me_method == ME_HEX)
|
else if (avctx->me_method == ME_HEX)
|
||||||
@ -452,9 +394,6 @@ static av_cold int X264_init(AVCodecContext *avctx)
|
|||||||
avctx->max_b_frames = 0;
|
avctx->max_b_frames = 0;
|
||||||
|
|
||||||
avctx->bit_rate = x4->params.rc.i_bitrate*1000;
|
avctx->bit_rate = x4->params.rc.i_bitrate*1000;
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
avctx->crf = x4->params.rc.f_rf_constant;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
x4->enc = x264_encoder_open(&x4->params);
|
x4->enc = x264_encoder_open(&x4->params);
|
||||||
if (!x4->enc)
|
if (!x4->enc)
|
||||||
|
@ -203,16 +203,6 @@ static av_cold int XAVS_init(AVCodecContext *avctx)
|
|||||||
if (avctx->flags & CODEC_FLAG_PASS2) {
|
if (avctx->flags & CODEC_FLAG_PASS2) {
|
||||||
x4->params.rc.b_stat_read = 1;
|
x4->params.rc.b_stat_read = 1;
|
||||||
} else {
|
} else {
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
if (avctx->crf) {
|
|
||||||
x4->params.rc.i_rc_method = XAVS_RC_CRF;
|
|
||||||
x4->params.rc.f_rf_constant = avctx->crf;
|
|
||||||
} else if (avctx->cqp > -1) {
|
|
||||||
x4->params.rc.i_rc_method = XAVS_RC_CQP;
|
|
||||||
x4->params.rc.i_qp_constant = avctx->cqp;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (x4->crf >= 0) {
|
if (x4->crf >= 0) {
|
||||||
x4->params.rc.i_rc_method = XAVS_RC_CRF;
|
x4->params.rc.i_rc_method = XAVS_RC_CRF;
|
||||||
x4->params.rc.f_rf_constant = x4->crf;
|
x4->params.rc.f_rf_constant = x4->crf;
|
||||||
@ -222,32 +212,6 @@ static av_cold int XAVS_init(AVCodecContext *avctx)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
if (avctx->bframebias)
|
|
||||||
x4->params.i_bframe_bias = avctx->bframebias;
|
|
||||||
if (avctx->deblockalpha)
|
|
||||||
x4->params.i_deblocking_filter_alphac0 = avctx->deblockalpha;
|
|
||||||
if (avctx->deblockbeta)
|
|
||||||
x4->params.i_deblocking_filter_beta = avctx->deblockbeta;
|
|
||||||
if (avctx->complexityblur >= 0)
|
|
||||||
x4->params.rc.f_complexity_blur = avctx->complexityblur;
|
|
||||||
if (avctx->directpred >= 0)
|
|
||||||
x4->params.analyse.i_direct_mv_pred = avctx->directpred;
|
|
||||||
if (avctx->partitions) {
|
|
||||||
if (avctx->partitions & XAVS_PART_I8X8)
|
|
||||||
x4->params.analyse.inter |= XAVS_ANALYSE_I8x8;
|
|
||||||
if (avctx->partitions & XAVS_PART_P8X8)
|
|
||||||
x4->params.analyse.inter |= XAVS_ANALYSE_PSUB16x16;
|
|
||||||
if (avctx->partitions & XAVS_PART_B8X8)
|
|
||||||
x4->params.analyse.inter |= XAVS_ANALYSE_BSUB16x16;
|
|
||||||
}
|
|
||||||
x4->params.rc.b_mb_tree = !!(avctx->flags2 & CODEC_FLAG2_MBTREE);
|
|
||||||
x4->params.b_aud = avctx->flags2 & CODEC_FLAG2_AUD;
|
|
||||||
x4->params.analyse.b_mixed_references = avctx->flags2 & CODEC_FLAG2_MIXED_REFS;
|
|
||||||
x4->params.analyse.b_fast_pskip = avctx->flags2 & CODEC_FLAG2_FASTPSKIP;
|
|
||||||
x4->params.analyse.b_weighted_bipred = avctx->flags2 & CODEC_FLAG2_WPRED;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (x4->aud >= 0)
|
if (x4->aud >= 0)
|
||||||
x4->params.b_aud = x4->aud;
|
x4->params.b_aud = x4->aud;
|
||||||
if (x4->mbtree >= 0)
|
if (x4->mbtree >= 0)
|
||||||
|
@ -159,9 +159,6 @@ static const AVOption options[]={
|
|||||||
{"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},
|
{"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},
|
||||||
{"rc_strategy", "ratecontrol method", OFFSET(rc_strategy), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
{"rc_strategy", "ratecontrol method", OFFSET(rc_strategy), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
||||||
{"b_strategy", "strategy to choose between I/P/B-frames", OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, {.dbl = 0 }, INT_MIN, INT_MAX, V|E},
|
{"b_strategy", "strategy to choose between I/P/B-frames", OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, {.dbl = 0 }, INT_MIN, INT_MAX, V|E},
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
{"wpredp", "weighted prediction analysis method", OFFSET(weighted_p_pred), AV_OPT_TYPE_INT, {.dbl = -1 }, INT_MIN, INT_MAX, V|E},
|
|
||||||
#endif
|
|
||||||
{"ps", "rtp payload size in bytes", OFFSET(rtp_payload_size), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
{"ps", "rtp payload size in bytes", OFFSET(rtp_payload_size), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
||||||
{"mv_bits", NULL, OFFSET(mv_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX},
|
{"mv_bits", NULL, OFFSET(mv_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX},
|
||||||
{"header_bits", NULL, OFFSET(header_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX},
|
{"header_bits", NULL, OFFSET(header_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX},
|
||||||
@ -351,17 +348,12 @@ static const AVOption options[]={
|
|||||||
{"nr", "noise reduction", OFFSET(noise_reduction), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
{"nr", "noise reduction", OFFSET(noise_reduction), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
||||||
{"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, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
{"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, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
||||||
{"inter_threshold", NULL, OFFSET(inter_threshold), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
{"inter_threshold", NULL, OFFSET(inter_threshold), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
#define X264_DEFAULTS CODEC_FLAG2_FASTPSKIP|CODEC_FLAG2_PSY|CODEC_FLAG2_MBTREE
|
|
||||||
#else
|
|
||||||
#define X264_DEFAULTS 0
|
|
||||||
#endif
|
|
||||||
#if FF_API_LAME_GLOBAL_OPTS
|
#if FF_API_LAME_GLOBAL_OPTS
|
||||||
#define LAME_DEFAULTS CODEC_FLAG2_BIT_RESERVOIR
|
#define LAME_DEFAULTS CODEC_FLAG2_BIT_RESERVOIR
|
||||||
#else
|
#else
|
||||||
#define LAME_DEFAULTS 0
|
#define LAME_DEFAULTS 0
|
||||||
#endif
|
#endif
|
||||||
{"flags2", NULL, OFFSET(flags2), AV_OPT_TYPE_FLAGS, {.dbl = X264_DEFAULTS|LAME_DEFAULTS }, 0, UINT_MAX, V|A|E|D, "flags2"},
|
{"flags2", NULL, OFFSET(flags2), AV_OPT_TYPE_FLAGS, {.dbl = LAME_DEFAULTS }, 0, UINT_MAX, V|A|E|D, "flags2"},
|
||||||
{"error", NULL, OFFSET(error_rate), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
{"error", NULL, OFFSET(error_rate), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
||||||
#if FF_API_ANTIALIAS_ALGO
|
#if FF_API_ANTIALIAS_ALGO
|
||||||
{"antialias", "MP3 antialias algorithm", OFFSET(antialias_algo), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|D, "aa"},
|
{"antialias", "MP3 antialias algorithm", OFFSET(antialias_algo), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|D, "aa"},
|
||||||
@ -412,38 +404,11 @@ static const AVOption options[]={
|
|||||||
{"all" , NULL, 0, AV_OPT_TYPE_CONST, {.dbl = AVDISCARD_ALL }, INT_MIN, INT_MAX, V|D, "avdiscard"},
|
{"all" , NULL, 0, AV_OPT_TYPE_CONST, {.dbl = 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, {.dbl = 1 }, 0, 4, V|E},
|
{"bidir_refine", "refine the two motion vectors used in bidirectional macroblocks", OFFSET(bidir_refine), AV_OPT_TYPE_INT, {.dbl = 1 }, 0, 4, V|E},
|
||||||
{"brd_scale", "downscales frames for dynamic B-frame decision", OFFSET(brd_scale), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, 0, 10, V|E},
|
{"brd_scale", "downscales frames for dynamic B-frame decision", OFFSET(brd_scale), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, 0, 10, V|E},
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
{"crf", "enables constant quality mode, and selects the quality (x264)", OFFSET(crf), AV_OPT_TYPE_FLOAT, {.dbl = DEFAULT }, 0, 51, V|E},
|
|
||||||
{"cqp", "constant quantization parameter rate control method", OFFSET(cqp), AV_OPT_TYPE_INT, {.dbl = -1 }, INT_MIN, INT_MAX, V|E},
|
|
||||||
#endif
|
|
||||||
{"keyint_min", "minimum interval between IDR-frames (x264)", OFFSET(keyint_min), AV_OPT_TYPE_INT, {.dbl = 25 }, INT_MIN, INT_MAX, V|E},
|
{"keyint_min", "minimum interval between IDR-frames (x264)", OFFSET(keyint_min), AV_OPT_TYPE_INT, {.dbl = 25 }, INT_MIN, INT_MAX, V|E},
|
||||||
{"refs", "reference frames to consider for motion compensation (Snow)", OFFSET(refs), AV_OPT_TYPE_INT, {.dbl = 1 }, INT_MIN, INT_MAX, V|E},
|
{"refs", "reference frames to consider for motion compensation (Snow)", OFFSET(refs), AV_OPT_TYPE_INT, {.dbl = 1 }, INT_MIN, INT_MAX, V|E},
|
||||||
{"chromaoffset", "chroma qp offset from luma", OFFSET(chromaoffset), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
{"chromaoffset", "chroma qp offset from luma", OFFSET(chromaoffset), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
{"bframebias", "influences how often B-frames are used", OFFSET(bframebias), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
|
|
||||||
#endif
|
|
||||||
{"trellis", "rate-distortion optimal quantization", OFFSET(trellis), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|A|E},
|
{"trellis", "rate-distortion optimal quantization", OFFSET(trellis), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|A|E},
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
{"directpred", "direct mv prediction mode - 0 (none), 1 (spatial), 2 (temporal), 3 (auto)", OFFSET(directpred), AV_OPT_TYPE_INT, {.dbl = -1 }, INT_MIN, INT_MAX, V|E},
|
|
||||||
{"bpyramid", "allows B-frames to be used as references for predicting", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_BPYRAMID }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
{"wpred", "weighted biprediction for b-frames (H.264)", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_WPRED }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
{"mixed_refs", "one reference per partition, as opposed to one reference per macroblock", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_MIXED_REFS }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
{"dct8x8", "high profile 8x8 transform (H.264)", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_8X8DCT }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
{"fastpskip", "fast pskip (H.264)", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_FASTPSKIP }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
{"aud", "access unit delimiters (H.264)", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_AUD }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
#endif
|
|
||||||
{"skiprd", "RD optimal MB level residual skipping", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_SKIP_RD }, INT_MIN, INT_MAX, V|E, "flags2"},
|
{"skiprd", "RD optimal MB level residual skipping", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_SKIP_RD }, INT_MIN, INT_MAX, V|E, "flags2"},
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
{"complexityblur", "reduce fluctuations in qp (before curve compression)", OFFSET(complexityblur), AV_OPT_TYPE_FLOAT, {.dbl = -1 }, -1, FLT_MAX, V|E},
|
|
||||||
{"deblockalpha", "in-loop deblocking filter alphac0 parameter", OFFSET(deblockalpha), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, -6, 6, V|E},
|
|
||||||
{"deblockbeta", "in-loop deblocking filter beta parameter", OFFSET(deblockbeta), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, -6, 6, V|E},
|
|
||||||
{"partitions", "macroblock subpartition sizes to consider", OFFSET(partitions), AV_OPT_TYPE_FLAGS, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E, "partitions"},
|
|
||||||
{"parti4x4", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = X264_PART_I4X4 }, INT_MIN, INT_MAX, V|E, "partitions"},
|
|
||||||
{"parti8x8", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = X264_PART_I8X8 }, INT_MIN, INT_MAX, V|E, "partitions"},
|
|
||||||
{"partp4x4", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = X264_PART_P4X4 }, INT_MIN, INT_MAX, V|E, "partitions"},
|
|
||||||
{"partp8x8", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = X264_PART_P8X8 }, INT_MIN, INT_MAX, V|E, "partitions"},
|
|
||||||
{"partb8x8", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = X264_PART_B8X8 }, INT_MIN, INT_MAX, V|E, "partitions"},
|
|
||||||
#endif
|
|
||||||
{"sc_factor", "multiplied by qscale for each frame and added to scene_change_score", OFFSET(scenechange_factor), AV_OPT_TYPE_INT, {.dbl = 6 }, 0, INT_MAX, V|E},
|
{"sc_factor", "multiplied by qscale for each frame and added to scene_change_score", OFFSET(scenechange_factor), AV_OPT_TYPE_INT, {.dbl = 6 }, 0, INT_MAX, V|E},
|
||||||
{"mv0_threshold", NULL, OFFSET(mv0_threshold), AV_OPT_TYPE_INT, {.dbl = 256 }, 0, INT_MAX, V|E},
|
{"mv0_threshold", NULL, OFFSET(mv0_threshold), AV_OPT_TYPE_INT, {.dbl = 256 }, 0, INT_MAX, V|E},
|
||||||
#if FF_API_MPEGVIDEO_GLOBAL_OPTS
|
#if FF_API_MPEGVIDEO_GLOBAL_OPTS
|
||||||
@ -473,9 +438,6 @@ static const AVOption options[]={
|
|||||||
#if FF_API_LAME_GLOBAL_OPTS
|
#if FF_API_LAME_GLOBAL_OPTS
|
||||||
{"reservoir", "use bit reservoir", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_BIT_RESERVOIR }, INT_MIN, INT_MAX, A|E, "flags2"},
|
{"reservoir", "use bit reservoir", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_BIT_RESERVOIR }, INT_MIN, INT_MAX, A|E, "flags2"},
|
||||||
#endif
|
#endif
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
{"mbtree", "use macroblock tree ratecontrol (x264 only)", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_MBTREE }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
#endif
|
|
||||||
{"bits_per_raw_sample", NULL, OFFSET(bits_per_raw_sample), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX},
|
{"bits_per_raw_sample", NULL, OFFSET(bits_per_raw_sample), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX},
|
||||||
{"channel_layout", NULL, OFFSET(channel_layout), AV_OPT_TYPE_INT64, {.dbl = DEFAULT }, 0, INT64_MAX, A|E|D, "channel_layout"},
|
{"channel_layout", NULL, OFFSET(channel_layout), AV_OPT_TYPE_INT64, {.dbl = DEFAULT }, 0, INT64_MAX, A|E|D, "channel_layout"},
|
||||||
{"request_channel_layout", NULL, OFFSET(request_channel_layout), AV_OPT_TYPE_INT64, {.dbl = DEFAULT }, 0, INT64_MAX, A|D, "request_channel_layout"},
|
{"request_channel_layout", NULL, OFFSET(request_channel_layout), AV_OPT_TYPE_INT64, {.dbl = DEFAULT }, 0, INT64_MAX, A|D, "request_channel_layout"},
|
||||||
@ -487,17 +449,6 @@ static const AVOption options[]={
|
|||||||
{"colorspace", NULL, OFFSET(colorspace), AV_OPT_TYPE_INT, {.dbl = AVCOL_SPC_UNSPECIFIED }, 1, AVCOL_SPC_NB-1, V|E|D},
|
{"colorspace", NULL, OFFSET(colorspace), AV_OPT_TYPE_INT, {.dbl = AVCOL_SPC_UNSPECIFIED }, 1, AVCOL_SPC_NB-1, V|E|D},
|
||||||
{"color_range", NULL, OFFSET(color_range), AV_OPT_TYPE_INT, {.dbl = AVCOL_RANGE_UNSPECIFIED }, 0, AVCOL_RANGE_NB-1, V|E|D},
|
{"color_range", NULL, OFFSET(color_range), AV_OPT_TYPE_INT, {.dbl = AVCOL_RANGE_UNSPECIFIED }, 0, AVCOL_RANGE_NB-1, V|E|D},
|
||||||
{"chroma_sample_location", NULL, OFFSET(chroma_sample_location), AV_OPT_TYPE_INT, {.dbl = AVCHROMA_LOC_UNSPECIFIED }, 0, AVCHROMA_LOC_NB-1, V|E|D},
|
{"chroma_sample_location", NULL, OFFSET(chroma_sample_location), AV_OPT_TYPE_INT, {.dbl = AVCHROMA_LOC_UNSPECIFIED }, 0, AVCHROMA_LOC_NB-1, V|E|D},
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
|
||||||
{"psy", "use psycho visual optimization", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_PSY }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
{"psy_rd", "specify psycho visual strength", OFFSET(psy_rd), AV_OPT_TYPE_FLOAT, {.dbl = -1.0 }, -1, FLT_MAX, V|E},
|
|
||||||
{"psy_trellis", "specify psycho visual trellis", OFFSET(psy_trellis), AV_OPT_TYPE_FLOAT, {.dbl = -1 }, -1, FLT_MAX, V|E},
|
|
||||||
{"aq_mode", "specify aq method", OFFSET(aq_mode), AV_OPT_TYPE_INT, {.dbl = -1 }, -1, INT_MAX, V|E},
|
|
||||||
{"aq_strength", "specify aq strength", OFFSET(aq_strength), AV_OPT_TYPE_FLOAT, {.dbl = -1.0 }, -1, FLT_MAX, V|E},
|
|
||||||
{"rc_lookahead", "specify number of frames to look ahead for frametype", OFFSET(rc_lookahead), AV_OPT_TYPE_INT, {.dbl = -1 }, -1, INT_MAX, V|E},
|
|
||||||
{"ssim", "ssim will be calculated during encoding", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_SSIM }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
{"intra_refresh", "use periodic insertion of intra blocks instead of keyframes", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_INTRA_REFRESH }, INT_MIN, INT_MAX, V|E, "flags2"},
|
|
||||||
{"crf_max", "in crf mode, prevents vbv from lowering quality beyond this point", OFFSET(crf_max), AV_OPT_TYPE_FLOAT, {.dbl = DEFAULT }, 0, 51, V|E},
|
|
||||||
#endif
|
|
||||||
{"log_level_offset", "set the log level offset", OFFSET(log_level_offset), AV_OPT_TYPE_INT, {.dbl = 0 }, INT_MIN, INT_MAX },
|
{"log_level_offset", "set the log level offset", OFFSET(log_level_offset), AV_OPT_TYPE_INT, {.dbl = 0 }, INT_MIN, INT_MAX },
|
||||||
#if FF_API_FLAC_GLOBAL_OPTS
|
#if FF_API_FLAC_GLOBAL_OPTS
|
||||||
{"lpc_type", "deprecated, use flac-specific options", OFFSET(lpc_type), AV_OPT_TYPE_INT, {.dbl = AV_LPC_TYPE_DEFAULT }, AV_LPC_TYPE_DEFAULT, AV_LPC_TYPE_NB-1, A|E},
|
{"lpc_type", "deprecated, use flac-specific options", OFFSET(lpc_type), AV_OPT_TYPE_INT, {.dbl = AV_LPC_TYPE_DEFAULT }, AV_LPC_TYPE_DEFAULT, AV_LPC_TYPE_NB-1, A|E},
|
||||||
|
@ -80,9 +80,6 @@
|
|||||||
#ifndef FF_API_AVCODEC_INIT
|
#ifndef FF_API_AVCODEC_INIT
|
||||||
#define FF_API_AVCODEC_INIT (LIBAVCODEC_VERSION_MAJOR < 54)
|
#define FF_API_AVCODEC_INIT (LIBAVCODEC_VERSION_MAJOR < 54)
|
||||||
#endif
|
#endif
|
||||||
#ifndef FF_API_X264_GLOBAL_OPTS
|
|
||||||
#define FF_API_X264_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
|
|
||||||
#endif
|
|
||||||
#ifndef FF_API_MPEGVIDEO_GLOBAL_OPTS
|
#ifndef FF_API_MPEGVIDEO_GLOBAL_OPTS
|
||||||
#define FF_API_MPEGVIDEO_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
|
#define FF_API_MPEGVIDEO_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user