From b8c2b9c39279171f647d9c81f34ffa3d3ae93c47 Mon Sep 17 00:00:00 2001 From: Daniil Cherednik Date: Mon, 20 Feb 2017 23:22:51 +0000 Subject: avcodec/dcaenc: Initial implementation of ADPCM encoding for DCA encoder --- libavcodec/dcaenc.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libavcodec/dcaenc.h') diff --git a/libavcodec/dcaenc.h b/libavcodec/dcaenc.h index 06816c2..63fdaf0 100644 --- a/libavcodec/dcaenc.h +++ b/libavcodec/dcaenc.h @@ -24,6 +24,8 @@ #include +#include "dcamath.h" + typedef struct { int32_t m; int32_t e; @@ -144,4 +146,13 @@ static const int8_t channel_reorder_nolfe[16][9] = { { 3, 2, 4, 0, 1, 5, 7, 6, -1 }, }; +static inline int32_t quantize_value(int32_t value, softfloat quant) +{ + int32_t offset = 1 << (quant.e - 1); + + value = mul32(value, quant.m) + offset; + value = value >> quant.e; + return value; +} + #endif /* AVCODEC_DCAENC_H */ -- cgit v1.1