X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fdcadsp.h;h=8c8db854a4d87e899c0b3baf40a4d81f3dfe75dc;hb=564dd3f0f40008be8943af59686c0e8c4d67dd08;hp=2a5fd23f93ffbe35f74c966dc365a7274b182e85;hpb=e23c3a13e330278f0350c7222682e43eaed0165a;p=ffmpeg diff --git a/libavcodec/dcadsp.h b/libavcodec/dcadsp.h index 2a5fd23f93f..8c8db854a4d 100644 --- a/libavcodec/dcadsp.h +++ b/libavcodec/dcadsp.h @@ -22,21 +22,25 @@ #include "avfft.h" #include "synth_filter.h" -#define DCA_SUBBANDS 64 +#define DCA_SUBBANDS_X96K 64 +#define DCA_SUBBANDS 64 +#define SAMPLES_PER_SUBBAND 8 // number of samples per subband per subsubframe + typedef struct DCADSPContext { void (*lfe_fir[2])(float *out, const float *in, const float *coefs); - void (*qmf_32_subbands)(float samples_in[32][8], int sb_act, + void (*qmf_32_subbands)(float samples_in[DCA_SUBBANDS][SAMPLES_PER_SUBBAND], int sb_act, SynthFilterContext *synth, FFTContext *imdct, float synth_buf_ptr[512], int *synth_buf_offset, float synth_buf2[32], const float window[512], float *samples_out, float raXin[32], float scale); - void (*decode_hf)(float dst[DCA_SUBBANDS][8], + void (*decode_hf)(int32_t dst[DCA_SUBBANDS][SAMPLES_PER_SUBBAND], const int32_t vq_num[DCA_SUBBANDS], const int8_t hf_vq[1024][32], intptr_t vq_offset, int32_t scale[DCA_SUBBANDS][2], intptr_t start, intptr_t end); + void (*dequantize)(int32_t *samples, uint32_t step_size, uint32_t scale); } DCADSPContext; void ff_dcadsp_init(DCADSPContext *s);