From 65f988b7bb003e6503133231423a8f5192d32603 Mon Sep 17 00:00:00 2001 From: Loren Merritt Date: Thu, 14 Jan 2010 03:07:30 +0000 Subject: [PATCH] Fix x264_clz on inputs > 1<<31 (though x264 never generates such inputs) --- common/osdep.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/osdep.h b/common/osdep.h index 14f06a85..0c8623ec 100644 --- a/common/osdep.h +++ b/common/osdep.h @@ -203,7 +203,7 @@ static ALWAYS_INLINE uint16_t endian_fix16( uint16_t x ) static int ALWAYS_INLINE x264_clz( uint32_t x ) { static uint8_t lut[16] = {4,3,2,2,1,1,1,1,0,0,0,0,0,0,0,0}; - int y, z = ((x - 0x10000) >> 27) & 16; + int y, z = (((x >> 16) - 1) >> 27) & 16; x >>= z^16; z += y = ((x - 0x100) >> 28) & 8; x >>= y^8; -- 2.40.0