aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/soxdec.c
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-11-27 14:04:16 +0000
committerMans Rullgard <mans@mansr.com>2011-12-11 18:47:19 +0000
commit3383a53e7d0abb9639c3ea3481f0eda9dca61a26 (patch)
treed53f0c38d95d4256b727dc4f4c5add488aabe501 /libavformat/soxdec.c
parent5b3265a7181889b53ff8217c1bdccdf966c86955 (diff)
downloadffmpeg-3383a53e7d0abb9639c3ea3481f0eda9dca61a26.tar.gz
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>
Diffstat (limited to 'libavformat/soxdec.c')
-rw-r--r--libavformat/soxdec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/soxdec.c b/libavformat/soxdec.c
index 3e426bea00..1074b3fb2a 100644
--- a/libavformat/soxdec.c
+++ b/libavformat/soxdec.c
@@ -30,7 +30,7 @@
*/
#include "libavutil/intreadwrite.h"
-#include "libavutil/intfloat_readwrite.h"
+#include "libavutil/intfloat.h"
#include "libavutil/dict.h"
#include "avformat.h"
#include "internal.h"
@@ -62,14 +62,14 @@ static int sox_read_header(AVFormatContext *s,
st->codec->codec_id = CODEC_ID_PCM_S32LE;
header_size = avio_rl32(pb);
avio_skip(pb, 8); /* sample count */
- sample_rate = av_int2dbl(avio_rl64(pb));
+ sample_rate = av_int2double(avio_rl64(pb));
st->codec->channels = avio_rl32(pb);
comment_size = avio_rl32(pb);
} else {
st->codec->codec_id = CODEC_ID_PCM_S32BE;
header_size = avio_rb32(pb);
avio_skip(pb, 8); /* sample count */
- sample_rate = av_int2dbl(avio_rb64(pb));
+ sample_rate = av_int2double(avio_rb64(pb));
st->codec->channels = avio_rb32(pb);
comment_size = avio_rb32(pb);
}