From 990990ed5d72b531cf5cc605af89830d8d42e7d0 Mon Sep 17 00:00:00 2001 From: Jai Luthra Date: Fri, 24 Jan 2020 16:03:31 +0530 Subject: [PATCH] mlpenc: fix huff offset calculation huff offset wasn't always within the bounds before, which lead to corrupt encoding that didn't always trigger lossless check failures Signed-off-by: Jai Luthra --- libavcodec/mlpenc.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c index f4948451f1..1cee38c82f 100644 --- a/libavcodec/mlpenc.c +++ b/libavcodec/mlpenc.c @@ -1699,7 +1699,7 @@ static inline void codebook_bits(MLPEncodeContext *ctx, offset_min = FFMAX(min, HUFF_OFFSET_MIN); offset_max = FFMIN(max, HUFF_OFFSET_MAX); - for (;;) { + while (offset <= offset_max && offset >= offset_min) { BestOffset temp_bo; codebook_bits_offset(ctx, channel, codebook, @@ -1718,12 +1718,8 @@ static inline void codebook_bits(MLPEncodeContext *ctx, if (direction) { offset = temp_bo.max + 1; - if (offset > offset_max) - break; } else { offset = temp_bo.min - 1; - if (offset < offset_min) - break; } } }