X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fdcadsp.h;h=9ea89ea7afec98de0ebe7a9ea197e06a0939b4c8;hb=081961f819c0b16c7a860d7da7d39f1fd91bd2f0;hp=eac9de977cb5d3864fb3608cbd31cf071228df62;hpb=aebf07075f4244caf591a3af71e5872fe314e87b;p=ffmpeg diff --git a/libavcodec/dcadsp.h b/libavcodec/dcadsp.h index eac9de977cb..9ea89ea7afe 100644 --- a/libavcodec/dcadsp.h +++ b/libavcodec/dcadsp.h @@ -22,27 +22,25 @@ #include "avfft.h" #include "synth_filter.h" -#define DCA_SUBBANDS 32 +#define DCA_SUBBANDS_X96K 64 +#define DCA_SUBBANDS 32 +#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 (*decode_hf_int)(int32_t dst[DCA_SUBBANDS][8], - 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, uint64_t scale); + void (*dequantize)(int32_t *samples, uint32_t step_size, uint32_t scale); } DCADSPContext; void ff_dcadsp_init(DCADSPContext *s);