aboutsummaryrefslogtreecommitdiffstats
path: root/libFDK/src/FDK_bitbuffer.cpp
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2020-08-27 10:16:06 -0700
committerXin Li <delphij@google.com>2020-08-27 10:16:06 -0700
commit7a0dde5d5dc4d24095c0391e7fa8297de3c7cd45 (patch)
tree0e353968c34e8c9699663a9b252836b70847c30b /libFDK/src/FDK_bitbuffer.cpp
parent946a672b0f5b8481eb3a429f854fcb34d847d692 (diff)
parente0624f4c05df8b171555bc8c8748ee93655f5b3e (diff)
downloadfdk-aac-7a0dde5d5dc4d24095c0391e7fa8297de3c7cd45.tar.gz
fdk-aac-7a0dde5d5dc4d24095c0391e7fa8297de3c7cd45.tar.bz2
fdk-aac-7a0dde5d5dc4d24095c0391e7fa8297de3c7cd45.zip
Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507 Merged-In: I9bd31724ae68b9a0b3eb4bb5be3782359824aa1f Change-Id: Idcdb13a8c37b0b4b5446169c3e80dfe55586bc77
Diffstat (limited to 'libFDK/src/FDK_bitbuffer.cpp')
-rw-r--r--libFDK/src/FDK_bitbuffer.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/libFDK/src/FDK_bitbuffer.cpp b/libFDK/src/FDK_bitbuffer.cpp
index 98905ea..9b7f5b8 100644
--- a/libFDK/src/FDK_bitbuffer.cpp
+++ b/libFDK/src/FDK_bitbuffer.cpp
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
-© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
+© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@@ -368,7 +368,10 @@ void FDK_Feed(HANDLE_FDK_BITBUF hBitBuf, const UCHAR *RESTRICT inputBuffer,
UINT bTotal = 0;
- UINT bToRead = (hBitBuf->bufBits - hBitBuf->ValidBits) >> 3;
+ UINT bToRead =
+ fMin(hBitBuf->bufBits,
+ (UINT)fMax(0, ((INT)hBitBuf->bufBits - (INT)hBitBuf->ValidBits))) >>
+ 3;
UINT noOfBytes =
fMin(bToRead,
*bytesValid); //(bToRead < *bytesValid) ? bToRead : *bytesValid ;
@@ -384,7 +387,7 @@ void FDK_Feed(HANDLE_FDK_BITBUF hBitBuf, const UCHAR *RESTRICT inputBuffer,
bToRead * sizeof(UCHAR));
/* add noOfBits to number of valid bits in buffer */
- hBitBuf->ValidBits += bToRead << 3;
+ hBitBuf->ValidBits = (UINT)((INT)hBitBuf->ValidBits + (INT)(bToRead << 3));
bTotal += bToRead;
inputBuffer += bToRead;