diff options
author | James Almer <jamrial@gmail.com> | 2018-09-11 14:11:39 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2018-09-11 14:11:39 -0300 |
commit | 203bbaccfaaeac9548862e83792d38509a8c8167 (patch) | |
tree | f7cda71f3318b98804c26b2e239fbfdd83720f49 | |
parent | f8377ffce35251bba043aeda5d81df0d411a0595 (diff) | |
parent | ffb9b7a6bab6c6bfd3dd9a7c32e3724209824999 (diff) | |
download | ffmpeg-203bbaccfaaeac9548862e83792d38509a8c8167.tar.gz |
Merge commit 'ffb9b7a6bab6c6bfd3dd9a7c32e3724209824999'
* commit 'ffb9b7a6bab6c6bfd3dd9a7c32e3724209824999':
libfdk-aac: Consistently use a proper version check macro for detecting features
Merged-by: James Almer <jamrial@gmail.com>
-rw-r--r-- | libavcodec/libfdk-aacdec.c | 13 | ||||
-rw-r--r-- | libavcodec/libfdk-aacenc.c | 6 |
2 files changed, 11 insertions, 8 deletions
diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c index 677b11088b..89fe0b550c 100644 --- a/libavcodec/libfdk-aacdec.c +++ b/libavcodec/libfdk-aacdec.c @@ -25,9 +25,12 @@ #include "avcodec.h" #include "internal.h" -/* The version macro is introduced the same time as the setting enum was - * changed, so this check should suffice. */ -#ifndef AACDECODER_LIB_VL0 +#define FDKDEC_VER_AT_LEAST(vl0, vl1) \ + (defined(AACDECODER_LIB_VL0) && \ + ((AACDECODER_LIB_VL0 > vl0) || \ + (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1))) + +#if !FDKDEC_VER_AT_LEAST(2, 5) // < 2.5.10 #define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS #endif @@ -72,7 +75,7 @@ static const AVOption fdk_aac_dec_options[] = { OFFSET(drc_level), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 127, AD, NULL }, { "drc_heavy", "Dynamic Range Control: heavy compression, where [1] is on (RF mode) and [0] is off", OFFSET(drc_heavy), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL }, -#ifdef AACDECODER_LIB_VL0 +#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 { "level_limit", "Signal level limiting", OFFSET(level_limit), AV_OPT_TYPE_INT, { .i64 = 0 }, -1, 1, AD }, #endif { NULL } @@ -296,7 +299,7 @@ static av_cold int fdk_aac_decode_init(AVCodecContext *avctx) } } -#ifdef AACDECODER_LIB_VL0 +#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 if (aacDecoder_SetParam(s->handle, AAC_PCM_LIMITER_ENABLE, s->level_limit) != AAC_DEC_OK) { av_log(avctx, AV_LOG_ERROR, "Unable to set in signal level limiting in the decoder\n"); return AVERROR_UNKNOWN; diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c index df6f7e7a74..769289a313 100644 --- a/libavcodec/libfdk-aacenc.c +++ b/libavcodec/libfdk-aacenc.c @@ -159,7 +159,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) case 6: mode = MODE_1_2_2_1; sce = 2; cpe = 2; break; /* The version macro is introduced the same time as the 7.1 support, so this should suffice. */ -#ifdef AACENCODER_LIB_VL0 +#if FDKENC_VER_AT_LEAST(3, 4) // 3.4.12 case 8: sce = 2; cpe = 3; @@ -295,7 +295,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) } avctx->frame_size = info.frameLength; -#if FDKENC_VER_AT_LEAST(4, 0) +#if FDKENC_VER_AT_LEAST(4, 0) // 4.0.0 avctx->initial_padding = info.nDelay; #else avctx->initial_padding = info.encoderDelay; @@ -416,7 +416,7 @@ static const uint64_t aac_channel_layout[] = { AV_CH_LAYOUT_4POINT0, AV_CH_LAYOUT_5POINT0_BACK, AV_CH_LAYOUT_5POINT1_BACK, -#ifdef AACENCODER_LIB_VL0 +#if FDKENC_VER_AT_LEAST(3, 4) // 3.4.12 AV_CH_LAYOUT_7POINT1_WIDE_BACK, AV_CH_LAYOUT_7POINT1, #endif |