Mercurial > libavcodec.hg
comparison g726.c @ 7042:74c1f1881d1a libavcodec
-0x8000 == 0x8000 with int16
fixes segfault / issue491
author | michael |
---|---|
date | Fri, 13 Jun 2008 19:30:27 +0000 |
parents | e943e1409077 |
children | 1fbf79fdd77b |
comparison
equal
deleted
inserted
replaced
7041:ade9051a6a4c | 7042:74c1f1881d1a |
---|---|
35 int sign; /**< 1bit sign */ | 35 int sign; /**< 1bit sign */ |
36 int exp; /**< 4bit exponent */ | 36 int exp; /**< 4bit exponent */ |
37 int mant; /**< 6bit mantissa */ | 37 int mant; /**< 6bit mantissa */ |
38 } Float11; | 38 } Float11; |
39 | 39 |
40 static inline Float11* i2f(int16_t i, Float11* f) | 40 static inline Float11* i2f(int i, Float11* f) |
41 { | 41 { |
42 f->sign = (i < 0); | 42 f->sign = (i < 0); |
43 if (f->sign) | 43 if (f->sign) |
44 i = -i; | 44 i = -i; |
45 f->exp = av_log2_16bit(i) + !!i; | 45 f->exp = av_log2_16bit(i) + !!i; |