On Tue, Dec 15, 2015 at 10:07 PM, Janne Grunau <[email protected]> wrote: > On 2015-12-03 13:45:10 +0100, Alexandra Hájková wrote: >> They will be used by the integer core decoder. >> --- >> libavcodec/dcamath.h | 42 ++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 42 insertions(+) >> create mode 100644 libavcodec/dcamath.h >> >> diff --git a/libavcodec/dcamath.h b/libavcodec/dcamath.h >> new file mode 100644 >> index 0000000..e21eb07 >> --- /dev/null >> +++ b/libavcodec/dcamath.h >> @@ -0,0 +1,42 @@ >> +/* >> + * This file is part of Libav. >> + * >> + * Libav is free software; you can redistribute it and/or >> + * modify it under the terms of the GNU Lesser General Public >> + * License as published by the Free Software Foundation; either >> + * version 2.1 of the License, or (at your option) any later version. >> + * >> + * Libav is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU >> + * Lesser General Public License for more details. >> + * >> + * You should have received a copy of the GNU Lesser General Public >> + * License along with Libav; if not, write to the Free Software >> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 >> USA >> + */ >> + >> +#include "libavutil/common.h" >> + >> + >> +// clip a signed integer into the (-2^23), (2^23-1) range >> +static inline int dca_clip23(int a) >> +{ >> + return av_clip_intp2(a, 23); >> +} >> + >> +static inline int32_t dca_norm(int64_t a, int bits) >> +{ >> + if (bits > 0) >> + return (int32_t)((a + (INT64_C(1) << (bits - 1))) >> bits); >> + else >> + return (int32_t)a; >> +} >> + >> +static inline int64_t dca_round(int64_t a, int bits) >> +{ >> + if (bits > 0) >> + return (a + (INT64_C(1) << (bits - 1))) & ~((INT64_C(1) << bits) - >> 1); >> + else >> + return a; >> +} > > dca_round is unused in "dca: change the core to work with integer > coefficients". Will the functions be used somewhere else or just in > dequantize_c()? If they are just used in dequantize_c() it would make > sense to move dca_clip23() and and dca_norm() to dcadsp.c > > Janne
All of them should be used in the bit-exact patch (https://github.com/sasshka/libav/commit/69b28801e52a91d3b41fe983747237e6c7b237ed). > _______________________________________________ > libav-devel mailing list > [email protected] > https://lists.libav.org/mailman/listinfo/libav-devel _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
