[FFmpeg-cvslog] avcodec/g723_1dec: improve stereo support
Paul B Mahol
git at videolan.org
Tue Dec 18 20:02:31 EET 2018
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Tue Dec 18 18:57:18 2018 +0100| [d283ee085f9aac44b5de1b09e3cab62920fa4a9a] | committer: Paul B Mahol
avcodec/g723_1dec: improve stereo support
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d283ee085f9aac44b5de1b09e3cab62920fa4a9a
---
libavcodec/g723_1dec.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/libavcodec/g723_1dec.c b/libavcodec/g723_1dec.c
index bc8629fbec..028cde0f37 100644
--- a/libavcodec/g723_1dec.c
+++ b/libavcodec/g723_1dec.c
@@ -43,7 +43,6 @@
static av_cold int g723_1_decode_init(AVCodecContext *avctx)
{
G723_1_Context *s = avctx->priv_data;
- G723_1_ChannelContext *p = &s->ch[0];
avctx->sample_fmt = AV_SAMPLE_FMT_S16P;
if (avctx->channels < 1 || avctx->channels > 2) {
@@ -51,13 +50,17 @@ static av_cold int g723_1_decode_init(AVCodecContext *avctx)
return AVERROR(EINVAL);
}
avctx->channel_layout = avctx->channels == 1 ? AV_CH_LAYOUT_MONO : AV_CH_LAYOUT_STEREO;
- p->pf_gain = 1 << 12;
+ for (int ch = 0; ch < avctx->channels; ch++) {
+ G723_1_ChannelContext *p = &s->ch[ch];
- memcpy(p->prev_lsp, dc_lsp, LPC_ORDER * sizeof(*p->prev_lsp));
- memcpy(p->sid_lsp, dc_lsp, LPC_ORDER * sizeof(*p->sid_lsp));
+ p->pf_gain = 1 << 12;
- p->cng_random_seed = CNG_RANDOM_SEED;
- p->past_frame_type = SID_FRAME;
+ memcpy(p->prev_lsp, dc_lsp, LPC_ORDER * sizeof(*p->prev_lsp));
+ memcpy(p->sid_lsp, dc_lsp, LPC_ORDER * sizeof(*p->sid_lsp));
+
+ p->cng_random_seed = CNG_RANDOM_SEED;
+ p->past_frame_type = SID_FRAME;
+ }
return 0;
}
More information about the ffmpeg-cvslog
mailing list