>On Fri, Nov 07, 2014 at 04:08:06PM +0100, Nedeljko Babic wrote: >> From: Djordje Pesut <djordje.pe...@imgtec.com> >> >> Make changes in softfloat. >> >> Functions for sqrt and sincos are added. >> >> Div function is improved. >> >> Some changes are made in order for code in softfloat to be usable in fixed >> aac >> decoder code. >> For example order of fields in structure SoftFloat is changed. >> This doesn't create any impact on current ffmpeg code since softfloat is >> currently not in use and this way we don't need to make much changes in >> implementation of aac fixed point decoder that uses this code. >> >> Signed-off-by: Nedeljko Babic <nedeljko.ba...@imgtec.com> >> --- >> libavutil/softfloat.h | 167 ++++++++++++++++++++---- >> libavutil/softfloat_tables.h | 294 >> +++++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 439 insertions(+), 22 deletions(-) >> create mode 100644 libavutil/softfloat_tables.h >> >> diff --git a/libavutil/softfloat.h b/libavutil/softfloat.h >> index 8647e6a..df91a8b 100644 >> --- a/libavutil/softfloat.h >> +++ b/libavutil/softfloat.h >> @@ -23,18 +23,26 @@ >> >> #include <stdint.h> >> #include "common.h" >> - >> #include "avassert.h" >> +#include "softfloat_tables.h" >> >> #define MIN_EXP -126 >> #define MAX_EXP 126 >> #define ONE_BITS 29 >> >> typedef struct SoftFloat{ >> - int32_t exp; >> int32_t mant; >> + int32_t exp; >> }SoftFloat; >> > >> +static const SoftFloat FLOAT_0 = { 0, 0}; >> +static const SoftFloat FLOAT_05 = { 536870912, 0}; >> +static const SoftFloat FLOAT_1 = { 536870912, 1}; >> +static const SoftFloat FLOAT_EPSILON = { 703687442, -16}; >> +static const SoftFloat FLOAT_1584893192 = { 850883053, 1}; >> +static const SoftFloat FLOAT_100000 = { 819200000, 17}; >> +static const SoftFloat FLOAT_0999999 = {1073740750, 0}; > >the mantises should be in some form of base 2 or base 16 in the >source as this should be more readable >
I didn't made a change here because for some of the values base 16 representation is not more readable than base 10 (for example 703687442 and 0x29F16B12). On the other hand I see that it is more readable for most of the values and I will make a change in the next patch. > >> + >> static av_const SoftFloat av_normalize_sf(SoftFloat a){ >> if(a.mant){ >> #if 1 >> @@ -66,11 +74,12 @@ static inline av_const SoftFloat >> av_normalize1_sf(SoftFloat a){ >> av_assert2(a.mant < 0x40000000 && a.mant > -0x40000000); >> return a; >> #elif 1 >> - int t= a.mant + 0x40000000 < 0; >> - return (SoftFloat){a.exp+t, a.mant>>t}; >> + int t= a.mant + 0x40000000; >> + t = t < 0; >> + return (SoftFloat){ a.mant>>t, a.exp+t}; >> #else >> int t= (a.mant + 0x40000000U)>>31; > >> - return (SoftFloat){a.exp+t, a.mant>>t}; >> + return (SoftFloat){a.mant>>t, a.exp+t}; > >fliping the order of the argumets, as its cosmetic should be in a >seperate patch from all functional changes >this keeps the changes easier to read now for review as well as in >the future Ok. It will be moved to the new patch. Should I resend entire patch set once all the changes are made, or should I just split this patch in the two new patches and send them in answer to this review? _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel