Merge commit 'ef1b23ad21e3f12fc4ff2a73a6d4d4cd9d630c4b'

* commit 'ef1b23ad21e3f12fc4ff2a73a6d4d4cd9d630c4b': (21 commits)
  jvdec: set channel layout
  iss: set channel layout
  ipmovie: set channel layout
  iff: set channel layout
  idroqdec: set channel layout
  gxfdec: set channel layout when applicable
  gsmdec: set channel layout
  flvdec: set channel layout
  dv: set channel layout
  dsicin: set channel layout
  daud: set channel layout
  cdxl: set channel layout
  bmv: set channel layout
  bink: set channel layout
  bfi: set channel layout
  bethsoftvid: set channel layout
  apc: set channel layout
  amr: set channel_layout
  ppc: replace pointer casting with AV_COPY32
  ppc: fix some unused variable warnings
  ...

Conflicts:
	libavformat/amr.c
	libavformat/iff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer
2012-11-13 10:55:07 +01:00
21 changed files with 92 additions and 21 deletions

View File

@@ -20,6 +20,8 @@
*/
#include <string.h>
#include "libavutil/channel_layout.h"
#include "avformat.h"
static int apc_probe(AVProbeData *p)
@@ -58,9 +60,13 @@ static int apc_read_header(AVFormatContext *s)
/* initial predictor values for adpcm decoder */
avio_read(pb, st->codec->extradata, 2 * 4);
st->codec->channels = 1;
if (avio_rl32(pb))
st->codec->channels = 2;
if (avio_rl32(pb)) {
st->codec->channels = 2;
st->codec->channel_layout = AV_CH_LAYOUT_STEREO;
} else {
st->codec->channels = 1;
st->codec->channel_layout = AV_CH_LAYOUT_MONO;
}
st->codec->bits_per_coded_sample = 4;
st->codec->bit_rate = st->codec->bits_per_coded_sample * st->codec->channels