[FFmpeg-cvslog] mlpenc: fix huff offset calculation
Jai Luthra
git at videolan.org
Tue Feb 4 12:37:28 EET 2020
ffmpeg | branch: master | Jai Luthra <me at jailuthra.in> | Fri Jan 24 16:21:31 2020 +0530| [990990ed5d72b531cf5cc605af89830d8d42e7d0] | committer: Paul B Mahol
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 <me at jailuthra.in>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=990990ed5d72b531cf5cc605af89830d8d42e7d0
---
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;
}
}
}
More information about the ffmpeg-cvslog
mailing list