diff options
-rw-r--r-- | libavcodec/g722dec.c | 9 | ||||
-rw-r--r-- | libavcodec/g722dsp.c | 10 | ||||
-rw-r--r-- | libavcodec/g722dsp.h | 2 | ||||
-rw-r--r-- | libavcodec/g722enc.c | 8 |
4 files changed, 14 insertions, 15 deletions
diff --git a/libavcodec/g722dec.c b/libavcodec/g722dec.c index 84540dc..0b207ff 100644 --- a/libavcodec/g722dec.c +++ b/libavcodec/g722dec.c @@ -104,7 +104,7 @@ static int g722_decode_frame(AVCodecContext *avctx, void *data, for (j = 0; j < avpkt->size; j++) { int ilow, ihigh, rlow, rhigh, dhigh; - int xout1, xout2; + int xout[2]; ihigh = get_bits(&gb, 2); ilow = get_bits(&gb, 6 - skip); @@ -122,10 +122,9 @@ static int g722_decode_frame(AVCodecContext *avctx, void *data, c->prev_samples[c->prev_samples_pos++] = rlow + rhigh; c->prev_samples[c->prev_samples_pos++] = rlow - rhigh; - c->dsp.apply_qmf(c->prev_samples + c->prev_samples_pos - 24, - &xout1, &xout2); - *out_buf++ = av_clip_int16(xout1 >> 11); - *out_buf++ = av_clip_int16(xout2 >> 11); + c->dsp.apply_qmf(c->prev_samples + c->prev_samples_pos - 24, xout); + *out_buf++ = av_clip_int16(xout[0] >> 11); + *out_buf++ = av_clip_int16(xout[1] >> 11); if (c->prev_samples_pos >= PREV_SAMPLES_BUF_SIZE) { memmove(c->prev_samples, c->prev_samples + c->prev_samples_pos - 22, 22 * sizeof(c->prev_samples[0])); diff --git a/libavcodec/g722dsp.c b/libavcodec/g722dsp.c index b3cc728..8d6c721 100644 --- a/libavcodec/g722dsp.c +++ b/libavcodec/g722dsp.c @@ -29,15 +29,15 @@ static const int16_t qmf_coeffs[12] = { 3, -11, 12, 32, -210, 951, 3876, -805, 362, -156, 53, -11, }; -static void g722_apply_qmf(const int16_t *prev_samples, int *xout1, int *xout2) +static void g722_apply_qmf(const int16_t *prev_samples, int xout[2]) { int i; - *xout1 = 0; - *xout2 = 0; + xout[0] = 0; + xout[1] = 0; for (i = 0; i < 12; i++) { - MAC16(*xout2, prev_samples[2*i ], qmf_coeffs[i ]); - MAC16(*xout1, prev_samples[2*i+1], qmf_coeffs[11-i]); + MAC16(xout[1], prev_samples[2*i ], qmf_coeffs[i ]); + MAC16(xout[0], prev_samples[2*i+1], qmf_coeffs[11-i]); } } diff --git a/libavcodec/g722dsp.h b/libavcodec/g722dsp.h index a786434..210e107 100644 --- a/libavcodec/g722dsp.h +++ b/libavcodec/g722dsp.h @@ -24,7 +24,7 @@ #include <stdint.h> typedef struct G722DSPContext { - void (*apply_qmf)(const int16_t *prev_samples, int *xout1, int *xout2); + void (*apply_qmf)(const int16_t *prev_samples, int xout[2]); } G722DSPContext; void ff_g722dsp_init(G722DSPContext *c); diff --git a/libavcodec/g722enc.c b/libavcodec/g722enc.c index c982a0e..5a7bfb2 100644 --- a/libavcodec/g722enc.c +++ b/libavcodec/g722enc.c @@ -138,12 +138,12 @@ static const int16_t low_quant[33] = { static inline void filter_samples(G722Context *c, const int16_t *samples, int *xlow, int *xhigh) { - int xout1, xout2; + int xout[2]; c->prev_samples[c->prev_samples_pos++] = samples[0]; c->prev_samples[c->prev_samples_pos++] = samples[1]; - c->dsp.apply_qmf(c->prev_samples + c->prev_samples_pos - 24, &xout1, &xout2); - *xlow = xout1 + xout2 >> 14; - *xhigh = xout1 - xout2 >> 14; + c->dsp.apply_qmf(c->prev_samples + c->prev_samples_pos - 24, xout); + *xlow = xout[0] + xout[1] >> 14; + *xhigh = xout[0] - xout[1] >> 14; if (c->prev_samples_pos >= PREV_SAMPLES_BUF_SIZE) { memmove(c->prev_samples, c->prev_samples + c->prev_samples_pos - 22, |