[FFmpeg-cvslog] avcodec/half2float: fix integer overflows in convertmantissa()
Paul B Mahol
git at videolan.org
Wed Mar 3 13:42:39 EET 2021
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Wed Mar 3 12:37:02 2021 +0100| [3be33703c6e588c4df003340b37c89206afa4f2e] | committer: Paul B Mahol
avcodec/half2float: fix integer overflows in convertmantissa()
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3be33703c6e588c4df003340b37c89206afa4f2e
---
libavcodec/half2float.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/libavcodec/half2float.h b/libavcodec/half2float.h
index 9cff12a309..fd11caffdf 100644
--- a/libavcodec/half2float.h
+++ b/libavcodec/half2float.h
@@ -23,16 +23,16 @@
static uint32_t convertmantissa(uint32_t i)
{
- uint32_t m = i << 13; // Zero pad mantissa bits
- uint32_t e = 0; // Zero exponent
+ int32_t m = i << 13; // Zero pad mantissa bits
+ int32_t e = 0; // Zero exponent
- while (!(m & 0x00800000UL)){ // While not normalized
- e -= 0x00800000UL; // Decrement exponent (1<<23)
+ while (!(m & 0x00800000)) { // While not normalized
+ e -= 0x00800000; // Decrement exponent (1<<23)
m <<= 1; // Shift mantissa
}
- m &= ~0x00800000UL; // Clear leading 1 bit
- e += 0x38800000UL; // Adjust bias ((127-14)<<23)
+ m &= ~0x00800000; // Clear leading 1 bit
+ e += 0x38800000; // Adjust bias ((127-14)<<23)
return m | e; // Return combined number
}
More information about the ffmpeg-cvslog
mailing list