Use av_int2flt/av_int2dbl to read float values. This is simpler and more

correct since it also works for int endianness != float endianness.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21404 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2006-11-30 17:55:00 +00:00
parent 15eb8639c6
commit ef393a0650
1 changed files with 3 additions and 10 deletions

View File

@ -13,6 +13,7 @@
#include "ebml.h"
#include "libavutil/common.h"
#include "libavutil/bswap.h"
#include "libavutil/intfloat_readwrite.h"
#ifndef SIZE_MAX
@ -179,20 +180,12 @@ ebml_read_float (stream_t *s, uint64_t *length)
switch (len)
{
case 4:
{
union {uint32_t i; float f;} u;
u.i = stream_read_dword (s);
value = u.f;
value = av_int2flt(stream_read_dword(s));
break;
}
case 8:
{
union {uint64_t i; double d;} u;
u.i = stream_read_qword (s);
value = u.d;
value = av_int2dbl(stream_read_qword(s));
break;
}
default:
return EBML_FLOAT_INVALID;