73 for(ch = 0; ch < 2; ch++){
76 mul = (
mpc_CC+1)[bands[i].res[ch]] *
mpc_SCF[bands[i].scf_idx[ch][0] & 0xFF];
78 c->
sb_samples[ch][j][i] = av_clipf(mul * c->
Q[ch][j + off], INT32_MIN, INT32_MAX);
79 mul = (
mpc_CC+1)[bands[i].res[ch]] *
mpc_SCF[bands[i].scf_idx[ch][1] & 0xFF];
81 c->
sb_samples[ch][j][i] = av_clipf(mul * c->
Q[ch][j + off], INT32_MIN, INT32_MAX);
82 mul = (
mpc_CC+1)[bands[i].res[ch]] *
mpc_SCF[bands[i].scf_idx[ch][2] & 0xFF];
84 c->
sb_samples[ch][j][i] = av_clipf(mul * c->
Q[ch][j + off], INT32_MIN, INT32_MAX);
int32_t sb_samples[MPA_MAX_CHANNELS][36][SBLIMIT]
void ff_mpc_dequantize_and_synth(MPCContext *c, int maxband, int16_t **out, int channels)
MPA_INT synth_buf[MPA_MAX_CHANNELS][512 *2]
int32_t ff_mpa_synth_window_fixed[]
static const float mpc_CC[18+1]
Macro definitions for various function/variable attributes.
void ff_mpa_synth_init_fixed(int32_t *window)
void ff_mpa_synth_filter_fixed(MPADSPContext *s, int32_t *synth_buf_ptr, int *synth_buf_offset, int32_t *window, int *dither_state, int16_t *samples, ptrdiff_t incr, int32_t *sb_samples)
static const float mpc_SCF[256]
#define i(width, name, range_min, range_max)
Libavcodec external API header.
Musepack decoder MPEG Audio Layer 1/2 -like codec with frames of 1152 samples divided into 32 subband...
av_cold void ff_mpc_init(void)
static const float bands[]
static void mpc_synth(MPCContext *c, int16_t **out, int channels)
Process decoded Musepack data and produce PCM.
mpeg audio declarations for both encoder and decoder.
int synth_buf_offset[MPA_MAX_CHANNELS]
Subband structure - hold all variables for each subband.