34 for (e = 0; e < 256; ++e) {
35 memset(acc, 0,
sizeof(acc));
36 for (m = 0; m < 8; ++m) {
37 sign = (((e >> (7 - m)) & 1) * 2 - 1);
39 acc[t] += sign *
htaps[t * 8 + m];
42 ctables[CTABLES - 1 - t][e] = acc[t];
56 const unsigned char *
src, ptrdiff_t src_stride,
57 float *dst, ptrdiff_t dst_stride)
65 while (samples-- > 0) {
75 unsigned char b = s->
buf[(pos - (CTABLES*2 - 1) + i) &
FIFOMASK];
static const double htaps[HTAPS]
The 2nd half (48 coeffs) of a 96-tap symmetric lowpass filter.
const uint8_t ff_reverse[256]
av_cold void ff_init_dsd_data(void)
static av_cold void dsd_ctables_tableinit(void)
#define i(width, name, range_min, range_max)
static float ctables[CTABLES][256]
void ff_dsd2pcm_translate(DSDContext *s, size_t samples, int lsbf, const unsigned char *src, ptrdiff_t src_stride, float *dst, ptrdiff_t dst_stride)
Libavcodec external API header.
unsigned char buf[FIFOSIZE]
common internal api header.