Merge commit 'a8ea936a0a00570f61a16a588821b52f6a3115c2'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 13 Feb 2013 11:05:00 +0000 (12:05 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 13 Feb 2013 11:05:00 +0000 (12:05 +0100)
* commit 'a8ea936a0a00570f61a16a588821b52f6a3115c2':
  libilbc: decode directly to the user-provided AVFrame
  dpcm: decode directly to the user-provided AVFrame
  imc/iac: decode directly to the user-provided AVFrame
  gsm: decode directly to the user-provided AVFrame

Conflicts:
libavcodec/dpcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/dpcm.c
libavcodec/gsmdec.c
libavcodec/gsmdec_data.h
libavcodec/imc.c
libavcodec/libilbc.c

@@@ -208,13 -205,10 +205,13 @@@ static int dpcm_decode_frame(AVCodecCon
          av_log(avctx, AV_LOG_ERROR, "packet is too small\n");
          return AVERROR(EINVAL);
      }
 +    if (out % avctx->channels) {
 +        av_log(avctx, AV_LOG_WARNING, "channels have differing number of samples\n");
 +    }
  
      /* get output buffer */
-     s->frame.nb_samples = (out + avctx->channels - 1) / avctx->channels;
-     if ((ret = ff_get_buffer(avctx, &s->frame)) < 0) {
 -    frame->nb_samples = out / avctx->channels;
++    frame->nb_samples = (out + avctx->channels - 1) / avctx->channels;
+     if ((ret = ff_get_buffer(avctx, frame)) < 0) {
          av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
          return ret;
      }
  
  static av_cold int gsm_init(AVCodecContext *avctx)
  {
-     GSMContext *s = avctx->priv_data;
      avctx->channels       = 1;
      avctx->channel_layout = AV_CH_LAYOUT_MONO;
 -    avctx->sample_rate    = 8000;
 +    if (!avctx->sample_rate)
 +        avctx->sample_rate = 8000;
      avctx->sample_fmt     = AV_SAMPLE_FMT_S16;
  
      switch (avctx->codec_id) {
Simple merge
Simple merge
Simple merge