[FFmpeg-devel] [PATCH] AAC: type puns for 16 bit floating	point	rounding
    Måns Rullgård 
    mans
       
    Thu Dec  4 10:35:17 CET 2008
    
    
  
Uoti Urpala <uoti.urpala at pp1.inet.fi> writes:
> On Thu, 2008-12-04 at 03:13 +0000, M?ns Rullg?rd wrote:
>> > @@ -838,24 +842,45 @@ static int decode_spectrum_and_dequant(AACContext * ac, float coef[1024], GetBit
>> >  }
>> >  
>> >  static av_always_inline float flt16_round(float pf) {
>> > +#ifdef ENABLE_IEEE754_PUN
>> > +    union float754 tmp;
>> > +    tmp.f = pf;
>> > +    tmp.i = (tmp.i + 0x00008000U) & 0xFFFF0000U;
>> > +    return tmp.f;
>> > +#else
>> 
>> Are this things safe under strict aliasing rules?
>
> Yes GCC does guarantee that it will work (all the accesses use
> unionvalue.field syntax with the same union).
What gcc does is irrelevant.  Is it guaranteed by the C standard?
-- 
M?ns Rullg?rd
mans at mansr.com
    
    
More information about the ffmpeg-devel
mailing list