|
|
@ -53,12 +53,12 @@ av_cold void ff_init_dsd_data(void) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void ff_dsd2pcm_translate(DSDContext* s, size_t samples, int lsbf, |
|
|
|
void ff_dsd2pcm_translate(DSDContext* s, size_t samples, int lsbf, |
|
|
|
const unsigned char *src, ptrdiff_t src_stride, |
|
|
|
const uint8_t *src, ptrdiff_t src_stride, |
|
|
|
float *dst, ptrdiff_t dst_stride) |
|
|
|
float *dst, ptrdiff_t dst_stride) |
|
|
|
{ |
|
|
|
{ |
|
|
|
unsigned char buf[FIFOSIZE]; |
|
|
|
uint8_t buf[FIFOSIZE]; |
|
|
|
unsigned pos, i; |
|
|
|
unsigned pos, i; |
|
|
|
unsigned char* p; |
|
|
|
uint8_t* p; |
|
|
|
double sum; |
|
|
|
double sum; |
|
|
|
|
|
|
|
|
|
|
|
pos = s->pos; |
|
|
|
pos = s->pos; |
|
|
@ -74,8 +74,8 @@ void ff_dsd2pcm_translate(DSDContext* s, size_t samples, int lsbf, |
|
|
|
|
|
|
|
|
|
|
|
sum = 0.0; |
|
|
|
sum = 0.0; |
|
|
|
for (i = 0; i < CTABLES; i++) { |
|
|
|
for (i = 0; i < CTABLES; i++) { |
|
|
|
unsigned char a = buf[(pos - i) & FIFOMASK]; |
|
|
|
uint8_t a = buf[(pos - i) & FIFOMASK]; |
|
|
|
unsigned char b = buf[(pos - (CTABLES*2 - 1) + i) & FIFOMASK]; |
|
|
|
uint8_t b = buf[(pos - (CTABLES*2 - 1) + i) & FIFOMASK]; |
|
|
|
sum += ctables[i][a] + ctables[i][b]; |
|
|
|
sum += ctables[i][a] + ctables[i][b]; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|