aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>2016-01-14 17:55:56 -0500
committerGanesh Ajjanagadde <gajjanagadde@gmail.com>2016-01-14 18:28:38 -0500
commit2e4fd16f5b9084b86e6872fddc365d0528383259 (patch)
treefa31a2d7583030fb3085a43b5a18432fe1d6f516
parentc3a24006d552d02a23f8adbbc475c0f09318a378 (diff)
downloadffmpeg-2e4fd16f5b9084b86e6872fddc365d0528383259.tar.gz
lavc/aacenc: use isfinite to simplify isnan/isinf logic
Reviewed-by: Claudio Freire <klaussfreire@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
-rw-r--r--libavcodec/aacenc.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index 9a7d3a8c4b..2e0db7d91b 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -29,6 +29,7 @@
* add sane pulse detection
***********************************/
+#include "libavutil/libm.h"
#include "libavutil/thread.h"
#include "libavutil/float_dsp.h"
#include "libavutil/opt.h"
@@ -606,14 +607,14 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
s->mdct1024.mdct_calc(&s->mdct1024, sce->lcoeffs, sce->ret_buf);
}
- if (isnan(cpe->ch->coeffs[ 0]) || isinf(cpe->ch->coeffs[ 0]) ||
- isnan(cpe->ch->coeffs[ 128]) || isinf(cpe->ch->coeffs[ 128]) ||
- isnan(cpe->ch->coeffs[2*128]) || isinf(cpe->ch->coeffs[2*128]) ||
- isnan(cpe->ch->coeffs[3*128]) || isinf(cpe->ch->coeffs[3*128]) ||
- isnan(cpe->ch->coeffs[4*128]) || isinf(cpe->ch->coeffs[4*128]) ||
- isnan(cpe->ch->coeffs[5*128]) || isinf(cpe->ch->coeffs[5*128]) ||
- isnan(cpe->ch->coeffs[6*128]) || isinf(cpe->ch->coeffs[6*128]) ||
- isnan(cpe->ch->coeffs[7*128]) || isinf(cpe->ch->coeffs[7*128])
+ if (!(isfinite(cpe->ch->coeffs[ 0]) &&
+ isfinite(cpe->ch->coeffs[ 128]) &&
+ isfinite(cpe->ch->coeffs[2*128]) &&
+ isfinite(cpe->ch->coeffs[3*128]) &&
+ isfinite(cpe->ch->coeffs[4*128]) &&
+ isfinite(cpe->ch->coeffs[5*128]) &&
+ isfinite(cpe->ch->coeffs[6*128]) &&
+ isfinite(cpe->ch->coeffs[7*128]))
) {
av_log(avctx, AV_LOG_ERROR, "Input contains NaN/+-Inf\n");
return AVERROR(EINVAL);