lavu: replace int/float punning functions
authorMans Rullgard <mans@mansr.com>
Sun, 27 Nov 2011 14:04:16 +0000 (14:04 +0000)
committerMans Rullgard <mans@mansr.com>
Sun, 11 Dec 2011 18:47:19 +0000 (18:47 +0000)
commit3383a53e7d0abb9639c3ea3481f0eda9dca61a26
treed53f0c38d95d4256b727dc4f4c5add488aabe501
parent5b3265a7181889b53ff8217c1bdccdf966c86955
lavu: replace int/float punning functions

The existing functions defined in intfloat_readwrite.[ch] are
both slow and incorrect (infinities are not handled).

This introduces a new header with fast, inline conversion
functions using direct union punning assuming an IEEE-754
system, an assumption already made throughout the code.

The one use of Intel/Motorola extended 80-bit format is
replaced by simpler code sufficient under the present
constraints (positive normal values).

The old functions are marked deprecated and retained for
compatibility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
23 files changed:
libavcodec/binkaudio.c
libavformat/4xm.c
libavformat/aiffdec.c
libavformat/aiffenc.c
libavformat/cafdec.c
libavformat/ffmdec.c
libavformat/ffmenc.c
libavformat/flvdec.c
libavformat/flvenc.c
libavformat/gxfenc.c
libavformat/matroskadec.c
libavformat/matroskaenc.c
libavformat/mov.c
libavformat/movenc.c
libavformat/nuv.c
libavformat/rtmppkt.c
libavformat/rtmpproto.c
libavformat/soxdec.c
libavformat/soxenc.c
libavformat/thp.c
libavformat/wtv.c
libavutil/intfloat.h [new file with mode: 0644]
libavutil/intfloat_readwrite.h