mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-28 12:32:17 +02:00
avcodec/aacenc: Avoid 0 lambda
Fixes: Ticket8003 Fixes: CVE-2020-20453 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
3300625c6f
commit
a7a7f32c8a
@ -28,6 +28,7 @@
|
|||||||
* TODOs:
|
* TODOs:
|
||||||
* add sane pulse detection
|
* add sane pulse detection
|
||||||
***********************************/
|
***********************************/
|
||||||
|
#include <float.h>
|
||||||
|
|
||||||
#include "libavutil/libm.h"
|
#include "libavutil/libm.h"
|
||||||
#include "libavutil/float_dsp.h"
|
#include "libavutil/float_dsp.h"
|
||||||
@ -852,7 +853,7 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
|
|||||||
/* Not so fast though */
|
/* Not so fast though */
|
||||||
ratio = sqrtf(ratio);
|
ratio = sqrtf(ratio);
|
||||||
}
|
}
|
||||||
s->lambda = FFMIN(s->lambda * ratio, 65536.f);
|
s->lambda = av_clipf(s->lambda * ratio, FLT_MIN, 65536.f);
|
||||||
|
|
||||||
/* Keep iterating if we must reduce and lambda is in the sky */
|
/* Keep iterating if we must reduce and lambda is in the sky */
|
||||||
if (ratio > 0.9f && ratio < 1.1f) {
|
if (ratio > 0.9f && ratio < 1.1f) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user