On Wed, Apr 23, 2014 at 7:43 PM, Satoshi Nakagawa <[email protected]> wrote: > # HG changeset patch > # User Satoshi Nakagawa <[email protected]> > # Date 1398260609 -32400 > # Wed Apr 23 22:43:29 2014 +0900 > # Node ID d6226ce3db3da5d6b01819d364a91329aa3e2a64 > # Parent ea597d46f30e97600641051c9a8f96435545e09a > initLambda: avoid use of pow() to reduce platform dependency [CHANGES OUTPUTS] > > diff -r ea597d46f30e -r d6226ce3db3d source/Lib/TLibCommon/TComRom.cpp > --- a/source/Lib/TLibCommon/TComRom.cpp Wed Apr 23 01:56:45 2014 -0500 > +++ b/source/Lib/TLibCommon/TComRom.cpp Wed Apr 23 22:43:29 2014 +0900 > @@ -131,12 +131,25 @@ > > static void initLambda(double scale) > { > + // pow(2, (double)q / 6 - 2); > + static const double lambda_base[6] = > + { > + 0.25, > + 0.28061551207734324536, > + 0.31498026247371829119, > + 0.35355339059327376220, > + 0.39685026299204986869, > + 0.44544935907016965237, > + }; > + > for (int q = 0; q <= MAX_MAX_QP; q++) > { > - double lambda = pow(2, (double)q / 6 - 2); > + int p = q / 6; > + int r = q % 6; > + double lambda = lambda_base[r] * (double)(1 << p); > > x265_lambda_tab[q] = lambda; > - x265_lambda2_tab[q] = pow(lambda, 2) * scale; > + x265_lambda2_tab[q] = lambda * lambda * scale; > } > }
This table was only writeable because we were evaluating different scale factors. Now that we've settled on 0.85, it could be hard-coded. -- Steve Borho _______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
