Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 26 Oct 2011 23:26:43 +0000 (01:26 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 26 Oct 2011 23:39:04 +0000 (01:39 +0200)
* qatar/master: (35 commits)
  libopencore-amr: check output buffer size before decoding
  libopencore-amr: remove unneeded buf_size==0 check.
  libopencore-amr: remove unneeded frame_count field.
  aac_latm: remove unneeded check for zero-size packet.
  pcmdec: fix output buffer size check by calculating the actual output size prior to decoding.
  pcmdec: move codec-specific variable declarations to the corresponding codec blocks.
  pcmdec: return buf_size instead of src-buf.
  avcodec: remove the Zork PCM encoder.
  pcm_zork: use AV_SAMPLE_FMT_U8 instead of shifting all samples by 8.
  pcmenc: remove unneeded sample_fmt check.
  pcmdec: move number of channels check to pcm_decode_init()
  pcmdec: remove unnecessary check for sample_fmt change
  pcmdec: move DVD PCM bits_per_coded_sample check near to the code that sets the sample size.
  pcmdec: do not needlessly set *data_size to 0
  alacdec: remove unneeded NULL or zero-size packet checks.
  alacdec: simplify buffer allocation by using FF_ALLOC_OR_GOTO()
  alacdec: ask for a sample for unsupported sample depths.
  alacdec: cosmetics: use 'ch' instead of 'chan' to iterate channels
  alacdec: move some declarations to the top of the function
  alacdec: always use get_sbits_long() for uncompressed samples
  ...

Conflicts:
libavcodec/pcm.c
tests/ref/acodec/pcm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
12 files changed:
1  2 
doc/general.texi
libavcodec/Makefile
libavcodec/aacdec.c
libavcodec/alac.c
libavcodec/allcodecs.c
libavcodec/libopencore-amr.c
libavcodec/pcm.c
libavcodec/pthread.c
libavcodec/x86/dsputil_mmx.c
tests/codec-regression.sh
tests/ref/acodec/pcm
tests/ref/seek/pcm_zork_wav

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -279,10 -259,15 +259,17 @@@ static int pcm_decode_frame(AVCodecCont
      sample_size = av_get_bits_per_sample(avctx->codec_id)/8;
  
      /* av_get_bits_per_sample returns 0 for CODEC_ID_PCM_DVD */
-     if (CODEC_ID_PCM_DVD == avctx->codec_id)
+     if (CODEC_ID_PCM_DVD == avctx->codec_id) {
+         if (avctx->bits_per_coded_sample != 20 &&
+             avctx->bits_per_coded_sample != 24) {
 -            av_log(avctx, AV_LOG_ERROR, "PCM DVD unsupported sample depth\n");
++            av_log(avctx, AV_LOG_ERROR,
++                   "PCM DVD unsupported sample depth %i\n",
++                   avctx->bits_per_coded_sample);
+             return AVERROR(EINVAL);
+         }
          /* 2 samples are interleaved per block in PCM_DVD */
          sample_size = avctx->bits_per_coded_sample * 2 / 8;
-     else if (avctx->codec_id == CODEC_ID_PCM_LXF)
+     else if (avctx->codec_id == CODEC_ID_PCM_LXF)
          /* we process 40-bit blocks per channel for LXF */
          sample_size = 5;
  
Simple merge
Simple merge
Simple merge
@@@ -62,11 -62,7 +62,7 @@@ ba17c6d1a270e1333e981f239bf7eb45 *./tes
  4233680 ./tests/data/acodec/pcm_f64le.wav
  64151e4bcc2b717aa5a8454d424d6a1f *./tests/data/pcm.acodec.out.wav
  stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
- ebd38ed390ebdefe0bdf00d21bf12c6b *./tests/data/acodec/pcm_zork.wav
- 529258 ./tests/data/acodec/pcm_zork.wav
- 7b02646acdd063650bb3ebc444543ace *./tests/data/pcm.acodec.out.wav
- stddev:  633.11 PSNR: 40.30 MAXDIFF:32768 bytes:  1058400/  1058400
 -8168a5c1343553ef027541830f2cb879 *./tests/data/acodec/pcm_s24daud.302
 +1b75d5198ae789ab3c48f7024e08f4a9 *./tests/data/acodec/pcm_s24daud.302
  10368730 ./tests/data/acodec/pcm_s24daud.302
 -f552afadfdfcd6348a07095da6382de5 *./tests/data/pcm.acodec.out.wav
 -stddev: 9416.28 PSNR: 16.85 MAXDIFF:42744 bytes:  6911796/  1058400
 +4708f86529c594e29404603c64bb208c *./tests/data/pcm.acodec.out.wav
 +stddev: 8967.92 PSNR: 17.28 MAXDIFF:42548 bytes:  6911796/  1058400
diff --cc tests/ref/seek/pcm_zork_wav
index 22d95bf,22d95bf..0000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,53 -1,53 +1,0 @@@
--ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
--ret: 0         st:-1 flags:0  ts:-1.000000
--ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
--ret: 0         st:-1 flags:1  ts: 1.894167
--ret: 0         st: 0 flags:1 dts: 1.894127 pts: 1.894127 pos:  30364 size:  4096
--ret: 0         st: 0 flags:0  ts: 0.788345
--ret: 0         st: 0 flags:1 dts: 0.788367 pts: 0.788367 pos:  12672 size:  4096
--ret: 0         st: 0 flags:1  ts:-0.317506
--ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
--ret: 0         st:-1 flags:0  ts: 2.576668
--ret: 0         st: 0 flags:1 dts: 2.576757 pts: 2.576757 pos:  41286 size:  4096
--ret: 0         st:-1 flags:1  ts: 1.470835
--ret: 0         st: 0 flags:1 dts: 1.470748 pts: 1.470748 pos:  23590 size:  4096
--ret: 0         st: 0 flags:0  ts: 0.365011
--ret: 0         st: 0 flags:1 dts: 0.365125 pts: 0.365125 pos:   5900 size:  4096
--ret: 0         st: 0 flags:1  ts:-0.740839
--ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
--ret: 0         st:-1 flags:0  ts: 2.153336
--ret: 0         st: 0 flags:1 dts: 2.153379 pts: 2.153379 pos:  34512 size:  4096
--ret: 0         st:-1 flags:1  ts: 1.047503
--ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos:  16818 size:  4096
--ret: 0         st: 0 flags:0  ts:-0.058322
--ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
--ret: 0         st: 0 flags:1  ts: 2.835828
--ret: 0         st: 0 flags:1 dts: 2.835760 pts: 2.835760 pos:  45430 size:  4096
--ret: 0         st:-1 flags:0  ts: 1.730004
--ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos:  27738 size:  4096
--ret: 0         st:-1 flags:1  ts: 0.624171
--ret: 0         st: 0 flags:1 dts: 0.624127 pts: 0.624127 pos:  10044 size:  4096
--ret: 0         st: 0 flags:0  ts:-0.481655
--ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
--ret: 0         st: 0 flags:1  ts: 2.412494
--ret: 0         st: 0 flags:1 dts: 2.412381 pts: 2.412381 pos:  38656 size:  4096
--ret: 0         st:-1 flags:0  ts: 1.306672
--ret: 0         st: 0 flags:1 dts: 1.306757 pts: 1.306757 pos:  20966 size:  4096
--ret: 0         st:-1 flags:1  ts: 0.200839
--ret: 0         st: 0 flags:1 dts: 0.200748 pts: 0.200748 pos:   3270 size:  4096
--ret: 0         st: 0 flags:0  ts:-0.904989
--ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
--ret: 0         st: 0 flags:1  ts: 1.989184
--ret: 0         st: 0 flags:1 dts: 1.989116 pts: 1.989116 pos:  31884 size:  4096
--ret: 0         st:-1 flags:0  ts: 0.883340
--ret: 0         st: 0 flags:1 dts: 0.883379 pts: 0.883379 pos:  14192 size:  4096
--ret: 0         st:-1 flags:1  ts:-0.222493
--ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
--ret: 0         st: 0 flags:0  ts: 2.671678
--ret: 0         st: 0 flags:1 dts: 2.671746 pts: 2.671746 pos:  42806 size:  4096
--ret: 0         st: 0 flags:1  ts: 1.565850
--ret: 0         st: 0 flags:1 dts: 1.565760 pts: 1.565760 pos:  25110 size:  4096
--ret: 0         st:-1 flags:0  ts: 0.460008
--ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:   7418 size:  4096
--ret: 0         st:-1 flags:1  ts:-0.645825
--ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096