mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge remote-tracking branch 'qatar/master'
* qatar/master: binkaudio: expand quant_table to accommodate all possible values libx264: Set the default of the rc_lookahead option to -1 avcodec: Set flags2 default value depending on availability configure: declare dependency of h264_vaapi_hwaccel on h264_decoder Conflicts: configure libavcodec/options.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
6ace8374ba
2
configure
vendored
2
configure
vendored
@ -1378,7 +1378,7 @@ h264_decoder_select="golomb h264dsp h264pred"
|
|||||||
h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser"
|
h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser"
|
||||||
h264_dxva2_hwaccel_deps="dxva2api_h"
|
h264_dxva2_hwaccel_deps="dxva2api_h"
|
||||||
h264_dxva2_hwaccel_select="dxva2 h264_decoder"
|
h264_dxva2_hwaccel_select="dxva2 h264_decoder"
|
||||||
h264_vaapi_hwaccel_select="vaapi"
|
h264_vaapi_hwaccel_select="vaapi h264_decoder"
|
||||||
h264_vda_hwaccel_deps="VideoDecodeAcceleration_VDADecoder_h"
|
h264_vda_hwaccel_deps="VideoDecodeAcceleration_VDADecoder_h"
|
||||||
h264_vda_hwaccel_select="vda"
|
h264_vda_hwaccel_select="vda"
|
||||||
h264_vdpau_decoder_select="vdpau h264_decoder"
|
h264_vdpau_decoder_select="vdpau h264_decoder"
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
extern const uint16_t ff_wma_critical_freqs[25];
|
extern const uint16_t ff_wma_critical_freqs[25];
|
||||||
|
|
||||||
static float quant_table[95];
|
static float quant_table[96];
|
||||||
|
|
||||||
#define MAX_CHANNELS 2
|
#define MAX_CHANNELS 2
|
||||||
#define BINK_BLOCK_MAX_SIZE (MAX_CHANNELS << 11)
|
#define BINK_BLOCK_MAX_SIZE (MAX_CHANNELS << 11)
|
||||||
@ -112,7 +112,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
|||||||
s->block_size = (s->frame_len - s->overlap_len) * s->channels;
|
s->block_size = (s->frame_len - s->overlap_len) * s->channels;
|
||||||
sample_rate_half = (sample_rate + 1) / 2;
|
sample_rate_half = (sample_rate + 1) / 2;
|
||||||
s->root = 2.0 / sqrt(s->frame_len);
|
s->root = 2.0 / sqrt(s->frame_len);
|
||||||
for (i = 0; i < 95; i++) {
|
for (i = 0; i < 96; i++) {
|
||||||
/* constant is result of 0.066399999/log10(M_E) */
|
/* constant is result of 0.066399999/log10(M_E) */
|
||||||
quant_table[i] = expf(i * 0.15289164787221953823f) * s->root;
|
quant_table[i] = expf(i * 0.15289164787221953823f) * s->root;
|
||||||
}
|
}
|
||||||
|
@ -352,7 +352,17 @@ 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},
|
||||||
{"flags2", NULL, OFFSET(flags2), AV_OPT_TYPE_FLAGS, {.dbl = CODEC_FLAG2_FASTPSKIP|CODEC_FLAG2_BIT_RESERVOIR|CODEC_FLAG2_PSY|CODEC_FLAG2_MBTREE }, 0, UINT_MAX, V|A|E|D, "flags2"},
|
#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
|
||||||
|
#define LAME_DEFAULTS CODEC_FLAG2_BIT_RESERVOIR
|
||||||
|
#else
|
||||||
|
#define LAME_DEFAULTS 0
|
||||||
|
#endif
|
||||||
|
{"flags2", NULL, OFFSET(flags2), AV_OPT_TYPE_FLAGS, {.dbl = X264_DEFAULTS|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"},
|
||||||
@ -483,7 +493,7 @@ static const AVOption options[]={
|
|||||||
{"psy_trellis", "specify psycho visual trellis", OFFSET(psy_trellis), AV_OPT_TYPE_FLOAT, {.dbl = -1 }, -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_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},
|
{"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 = 40 }, -1, INT_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"},
|
{"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"},
|
{"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},
|
{"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},
|
||||||
|
Loading…
Reference in New Issue
Block a user