Commit Graph

297 Commits

Author SHA1 Message Date
Michael Niedermayer
3edff185ab Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  ipmovie: do not read audio packets before the codec is known
  truemotion2: check size before GetBitContext initialisation
  avio: Only do implicit network initialization for network protocols
  avio: Add an URLProtocol flag for indicating that a protocol uses network
  adpcm: ADPCM Electronic Arts has always two channels
  matroskadec: Fix a bug where a pointer was cached to an array that might later move due to a realloc()
  fate: Add missing reference file from 9b4767e4.
  mov: Support MOV_CH_LAYOUT_USE_DESCRIPTIONS for labeled descriptions.
  4xm: Prevent buffer overreads.
  mjpegdec: parse RSTn to prevent skipping other data in mjpeg_decode_scan
  vp3: add fate test for non-zero last coefficient
  vp3: fix streams with non-zero last coefficient
  swscale: remove unused U/V arguments from yuv2rgb_write().
  timer: K&R formatting cosmetics
  lavf: cosmetics, reformat av_read_frame().
  lavf: refactor av_read_frame() to make it easier to understand.
  Report an error if pitch_lag is zero in AMR-NB decoder.
  Revert "4xm: Prevent buffer overreads."
  4xm: Prevent buffer overreads.
  4xm: pass the correct remaining buffer size to decode_i2_frame().
  ...

Conflicts:
	libavcodec/4xm.c
	libavcodec/mjpegdec.c
	libavcodec/truemotion2.c
	libavformat/ipmovie.c
	libavformat/mov_chan.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-06 02:45:12 +01:00
Janne Grunau
bb5b3940b0 adpcm: ADPCM Electronic Arts has always two channels 2012-01-05 22:29:18 +01:00
Michael Niedermayer
d1c28e3530 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: fix standalone compilation of OMA muxer
  build: fix standalone compilation of Microsoft XMV demuxer
  build: fix standalone compilation of Core Audio Format demuxer
  kvmc: fix invalid reads
  4xm: Add a check in decode_i_frame to prevent buffer overreads
  adpcm: fix IMA SMJPEG decoding
  options: set minimum for "threads" to zero
  bsd: use number of logical CPUs as automatic thread count
  windows: use number of CPUs as automatic thread count
  linux: use number of CPUs as automatic thread count
  pthreads: reset active_thread_type when slice thread_init returrns early
  v410dec: include correct headers
  Drop ALT_ prefix from BITSTREAM_READER_LE name.
  lavfi: always build vsrc_buffer.
  ra144enc: zero the reflection coeffs if the filter is unstable
  sws: readd PAL8 to isPacked()
  mov: Don't stick the QuickTime field ordering atom in extradata.
  truespeech: fix invalid reads in truespeech_apply_twopoint_filter()

Conflicts:
	configure
	libavcodec/4xm.c
	libavcodec/avcodec.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavformat/Makefile
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-23 03:25:51 +01:00
Paul B Mahol
01a01bf8bd adpcm: fix IMA SMJPEG decoding
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-22 23:04:30 +01:00
Michael Niedermayer
608708009f adpcm: Fix crash
Fixes half of Ticket794
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-19 04:09:23 +01:00
Michael Niedermayer
1bdc212a39 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: link test programs with static libraries
  dct-test: remove unused variable cropTbl
  swscale: fix overflow in gray16 vertical scaling.
  get_bits: remove LAST_SKIP_CACHE macro
  swscale: fix integer overflows in RGB pixel writing.
  swscale: add endian conversion for RGB555 and RGB444 pixel formats
  swscale: fix overflows in output of RGB48 pixels.
  get_bits: remove strange/obsolete comments
  get_bits: whitespace (mostly) cosmetics
  swscale: add rgb565 endianess conversion
  get_bits: remove unnecessary #includes
  mp3dec: hack: fix decoding with safe bitstream reader
  fate: fix eatqi test
  adpcm: Check for channels to be a non-zero integer
  swscale: fix overflows in RGB rounding constants.
  get_bits: introduce safe bitreading to prevent overreads.

Conflicts:
	libswscale/swscale.c
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-18 03:04:44 +01:00
Shitiz Garg
e614fac2e6 adpcm: Check for channels to be a non-zero integer
channels would be 0 sometimes and would cause floating point exception
Fixes bugzilla #124

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-17 09:44:19 -05:00
Michael Niedermayer
257c85cddd adpcm: fix division by zero in fate/creative/intro-partial.wav with -s 2 and -r 0.001:1
Bug-Found-by: Shitiz Garg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 18:51:48 +01:00
Michael Niedermayer
e4de71677f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac_latm: reconfigure decoder on audio specific config changes
  latmdec: fix audio specific config parsing
  Add avcodec_decode_audio4().
  avcodec: change number of plane pointers from 4 to 8 at next major bump.
  Update developers documentation with coding conventions.
  svq1dec: avoid undefined get_bits(0) call
  ARM: h264dsp_neon cosmetics
  ARM: make some NEON macros reusable
  Do not memcpy raw video frames when using null muxer
  fate: update asf seektest
  vp8: flush buffers on size changes.
  doc: improve general documentation for MacOSX
  asf: use packet dts as approximation of pts
  asf: do not call av_read_frame
  rtsp: Initialize the media_type_mask in the rtp guessing demuxer
  Cleaned up alacenc.c

Conflicts:
	doc/APIchanges
	doc/developer.texi
	libavcodec/8svx.c
	libavcodec/aacdec.c
	libavcodec/ac3dec.c
	libavcodec/avcodec.h
	libavcodec/nellymoserdec.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/wmadec.c
	libavformat/asfdec.c
	tests/ref/seek/lavf_asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:00:30 +01:00
Justin Ruggles
0eea212943 Add avcodec_decode_audio4().
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
Michael Niedermayer
f0a7b67a35 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  adpcm: use sign_extend()
  mpeg12: fix mpeg_decode_slice context parameter type
  Revert "mpeg12: move full_pel from MpegEncContext to Mpeg1Context"

Conflicts:
	libavcodec/mpeg12.c
	libavcodec/mpeg12.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-24 23:45:44 +02:00
Mans Rullgard
c8477df019 adpcm: use sign_extend()
This avoids warnings from the overflow checker and simplifies the code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-24 15:26:24 +01:00
Michael Niedermayer
2822361ed1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  prores: get correct size for coded V plane if alpha is present
  prores: do not set pixel format on codec init
  pthread: prevent updating AVCodecContext from itself in frame_thread_free
  pthread: copy coded frame dimensions in update_context_from_thread
  vp8: prevent read from uninitialized memory in decode_mvs
  vp8: force reallocation in update_thread_context after frame size change
  vp8: fix return value if update_dimensions fails
  matroskadec: fix out of bounds write
  adpcmdec: calculate actual number of output samples for each decoder.
  adpcmdec: check remaining buffer size before decoding next block in the ADPCM IMA WAV decoder.
  adpcmdec: do not terminate early in ADPCM IMA Duck DK3 decoder.
  adpcmdec: remove unneeded buf_size==0 check.
  adpcmdec: remove unneeded zeroing of *data_size
  dnxhdenc: fixed signed multiplication overflow

Conflicts:
	tests/ref/fate/prores-alpha
	tests/ref/fate/truemotion1-24

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-16 04:02:09 +02:00
Justin Ruggles
a62c0f94ee adpcmdec: calculate actual number of output samples for each decoder.
This also allows for removing some of the buf_size checks and using the
sample count for some of the decoding loops.
2011-10-14 15:53:41 -04:00
Justin Ruggles
439998e18b adpcmdec: check remaining buffer size before decoding next block in the
ADPCM IMA WAV decoder.
2011-10-14 15:53:41 -04:00
Justin Ruggles
ff5790c761 adpcmdec: do not terminate early in ADPCM IMA Duck DK3 decoder.
There are still 2 nibbles to decode once the last byte in the packet has been
read. Updated FATE reference.
2011-10-14 15:53:41 -04:00
Justin Ruggles
8140a1288f adpcmdec: remove unneeded buf_size==0 check.
This is already done by avcodec_decode_audio3()
2011-10-14 15:53:41 -04:00
Justin Ruggles
f7f7c1942b adpcmdec: remove unneeded zeroing of *data_size 2011-10-14 15:53:40 -04:00
Laurent Aimar
c7f89064e2 adpcm: fix out of bound reads due to integer overflow
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:12 +02:00
Michael Niedermayer
ef74ab20c2 Merge remote-tracking branch 'qatar/master'
* qatar/master: (34 commits)
  dpcm: return error if packet is too small
  dpcm: use smaller data types for static tables
  dpcm: use sol_table_16 directly instead of through the DPCMContext.
  dpcm: replace short with int16_t
  dpcm: check to make sure channels is 1 or 2.
  dpcm: misc pretty-printing
  dpcm: remove unnecessary variable by using bytestream functions.
  dpcm: move codec-specific variable declarations to their corresponding decoding blocks.
  dpcm: consistently use the variable name 'n' for the next input byte.
  dpcm: output AV_SAMPLE_FMT_U8 for Sol DPCM subcodecs 1 and 2.
  dpcm: calculate and check actual output data size prior to decoding.
  dpcm: factor out the stereo flag calculation
  dpcm: cosmetics: rename channel_number to ch
  avserver: Fix a bug where the socket is IPv4, but IPv6 is autoselected for the loopback address.
  lavf: Avoid using av_malloc(0) in av_dump_format
  dxva2_h264: pass the correct 8x8 scaling lists
  dca: NEON optimised high freq VQ decoding
  avcodec: reject audio packets with NULL data and non-zero size
  dxva: Add ability to enable workaround for older ATI cards
  latmenc: Set latmBufferFullness to largest value to indicate it is not used
  ...

Conflicts:
	libavcodec/dxva2_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-01 02:54:46 +02:00
Laurent Aimar
346876ec16 Fix out of bound reads due to integer overflow in the ADPCM IMA Electronic Arts EACS decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-01 02:41:40 +02:00
Justin Ruggles
e562fbd003 adpcm: move codec-specific variable declarations to the sections for the corresponding codecs. 2011-09-29 16:54:01 -04:00
Justin Ruggles
9662539c10 adpcm: check buffer size in Funcom ISS decoder before reading header.
Also use the post-header data size to control termination of the main
decoding loop.
2011-09-29 16:54:01 -04:00
Justin Ruggles
ba5d2890d7 adpcm: simplify reading of Funcom ISS frame header. 2011-09-29 16:54:01 -04:00
Justin Ruggles
5c9eb4fabb adpcm: check buffer size in IMA DK4 decoder before reading header.
Also use the post-header data size to control termination of the main
decoding loop.
2011-09-29 16:54:01 -04:00
Justin Ruggles
a57ea1a87e adpcm: simplify reading of IMA DK4 frame header. 2011-09-29 16:54:01 -04:00
Justin Ruggles
8114f94ac9 adpcm_ms: clean up reading of predictor coefficients 2011-09-29 16:54:01 -04:00
Justin Ruggles
943f4db552 adpcm_4xm: process planar packets sequentially rather than simultaneously.
Also properly clip the right channel step_index.
2011-09-29 16:54:00 -04:00
Justin Ruggles
119974b164 adpcm_ima_wav: process channel-interleaved blocks sequentially rather than simultaneously.
Speeds up the ADPCM IMA WAV decoder by 15-20% overall.
2011-09-29 16:54:00 -04:00
Justin Ruggles
7c287b18a0 adpcm: update reference links
Add Multimedia Wiki link.
Mark dead links with [dead]. Some can still be accessed through archive.org.
Update URLs for pages which have moved.
Replace duplicated links in adpcmenc.c with a note to see the ADPCM decoder
reference documents.
2011-09-29 16:54:00 -04:00
Justin Ruggles
ac94b8bcc6 adpcm: simplify packet size bounds checking in the ADPCM IMA QT decoder.
This is easier to understand. It also avoids returning existing samples mixed
with new samples when the packet is too small.
2011-09-29 16:54:00 -04:00
Justin Ruggles
de0b586a87 adpcm: simplify and speed up several ADPCM decoders. 2011-09-29 16:54:00 -04:00
Justin Ruggles
5a9ed7c110 adpcm: pretty-print tables 2011-09-29 16:54:00 -04:00
Michael Niedermayer
eae3cf06a5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flvdec: Fix invalid pointer deferences when parsing index
  configure: disable hardware capabilities ELF section with suncc on Solaris x86
  Use explicit struct initializers for AVCodec declarations.
  Use explicit struct initializers for AVOutputFormat/AVInputFormat declarations.
  adpcmenc: Set bits_per_coded_sample
  adpcmenc: fix QT IMA ADPCM encoder
  adpcmdec: Fix QT IMA ADPCM decoder
  permit decoding of multichannel ADPCM_EA_XAS
  Fix input buffer size check in adpcm_ea decoder.
  fft: avoid a signed overflow
  mpegps: Handle buffer exhaustion when reading packets.

Conflicts:
	libavcodec/adpcm.c
	libavcodec/adpcmenc.c
	libavdevice/alsa-audio-enc.c
	libavformat/flvdec.c
	libavformat/mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 22:39:52 +02:00
Diego Biurrun
8671488799 Use explicit struct initializers for AVCodec declarations. 2011-09-24 12:11:19 +02:00
Baptiste Coudurier
bf334535b4 adpcmdec: Fix QT IMA ADPCM decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 20:54:28 -04:00
Peter Ross
3a549eb82b permit decoding of multichannel ADPCM_EA_XAS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 20:54:28 -04:00
Reimar Döffinger
ffe92ff9f0 Fix input buffer size check in adpcm_ea decoder.
Unfortunately the output buffer size check assumes that the
input buffer is never over-consumed, thus this actually
also allowed to write outside the output buffer if "lucky".

Based on:
git.videolan.org/ffmpeg.git
commit 701d0eb185
2011-09-23 20:54:28 -04:00
Michael Niedermayer
9765caec1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  adpcm: split ADPCM encoders and decoders into separate files.
  doc/avconv: fix typo.
  rv34: check that subsequent slices have the same type as first one.
  smacker demuxer: handle possible av_realloc() failure.
  lavfi: add split filter from soc.
  lavfi: add showinfo filter
  libxavs: add private options corresponding to deprecated global options

Conflicts:
	Changelog
	libavcodec/adpcm.c
	libavfilter/avfilter.h
	libavfilter/vf_showinfo.c
	libavfilter/vf_split.c
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 21:01:12 +02:00
Justin Ruggles
826c56d16e adpcm: split ADPCM encoders and decoders into separate files.
Move shared tables to a separate file as well.
2011-09-12 11:26:11 -04:00
Carl Eugen Hoyos
eb29649cad Set bits_per_coded_sample when encoding ADPCM. 2011-08-03 11:45:33 +02:00
Michael Niedermayer
af3c8f8230 adpcmenc:Optimize adpcm_ima_qt_compress_sample()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 13:21:51 +02:00
Baptiste Coudurier
35d3d44a84 adpcmenc: fix QT IMA ADPCM encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 13:15:48 +02:00
Baptiste Coudurier
b3d5a4b06e adpcmdec: Fix QT IMA ADPCM decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 13:13:17 +02:00
Peter Ross
b678d6db95 permit decoding of multichannel ADPCM_EA_XAS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-24 03:51:52 +02:00
Reimar Döffinger
701d0eb185 Fix input buffer size check in adpcm_ea decoder.
Unfortunately the output buffer size check assumes that the
input buffer is never over-consumed, thus this actually
also allowed to write outside the output buffer if "lucky".
2011-04-10 11:40:47 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Mans Rullgard
98ec828775 Remove final semicolon from some macros
This avoids double semicolons after macro expansion.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 44adbebe17)
2011-02-11 02:54:10 +01:00
Mans Rullgard
44adbebe17 Remove final semicolon from some macros
This avoids double semicolons after macro expansion.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 21:45:17 +00:00
Diego Elio Pettenò
e7e2df27f8 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69)
2011-01-28 03:15:34 +01:00
Diego Elio Pettenò
d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Martin Storsjö
cfff297d98 adpcm: Skip samples whose ssd calculation has wrapped around
Wraparound in ssd is mainly avoided by subtracting the ssd of the
best node from all the others once it has grown large enough.

If using very large trellis sizes (e.g. -trellis 15), the frontier
is so large that the difference between the best and the worst is
large enough to cause wraparound, even if the ssd of the best one
is subtracted regularly.

When using -trellis 10 on a 30 second sample, this causes only a slight
slowdown, from 61 to 64 seconds.

Originally committed as revision 25858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-01 08:57:45 +00:00
Martin Storsjö
1a68e7ed15 adpcm: Fix a comment in the trellis heap code
This makes the wording consistent with how people usually talk about heaps.

Originally committed as revision 25775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-20 11:24:19 +00:00
Martin Storsjö
78f9d35c9a adpcm: Only increment heap_pos after finding a good enough sample
This increases the PSNR slightly (about 0.1 dB) for trellis sizes
below 8, and gives equal PSNR for sizes above that.

Originally committed as revision 25769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-19 17:36:29 +00:00
Martin Storsjö
d764e3ece9 adpcm: Use a hash table to improve checking for duplicate samples
This lowers the run time from 158 to 21 seconds, for -trellis 8
with a 30 second sample on my machine.

This requires 64 KB additional memory.

Originally committed as revision 25768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-19 17:35:52 +00:00
Martin Storsjö
86abf868ec adpcm: Fix a comment
Originally committed as revision 25751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-14 10:23:58 +00:00
Martin Storsjö
38b3bda18f adpcm: Replace any of the leaf nodes in the heap
By not looking for the exactly largest node, we avoid an O(n) seek through
the leaf nodes. Just pick one (not the same one every time) and try replacing
that node with the new one.

For -trellis 8, this lowers the run time from 190 to 158 seconds,
for a 30 second 44 kHz mono sample, on my machine.

Originally committed as revision 25733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 12:30:27 +00:00
Martin Storsjö
4106b7f1cd Reindent
Originally committed as revision 25732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 12:28:02 +00:00
Martin Storsjö
f82e8f3482 adpcm: Store the trellis nodes in a heap instead of a sorted array
This avoids having to memmove the large parts of the array when inserting into
it.

For -trellis 8, this lowers the run time from 245 seconds to 190 seconds,
for a 30 second 44 kHz mono sample, on my machine.

Originally committed as revision 25731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 12:27:27 +00:00
Stefano Sabatini
5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Martin Storsjö
e0ae6c17fe Flush the PutBitsContext at the end of each block when encoding ADPCM IMA QT
Originally committed as revision 24938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-26 07:39:34 +00:00
Carl Eugen Hoyos
b9542223a3 Only 4-bit ADPCM IMA WAV files are supported.
Originally committed as revision 24493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 14:33:16 +00:00
Måns Rullgård
07ece20c69 adpcm: convert VLAs to malloc/free
Originally committed as revision 23819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 09:44:10 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Michael Niedermayer
9f72b23c5c Revert Revision: 21362
Log:
	Set CODEC_CAP_SUBFRAMES for adpcm decoders

	This makes ffmpeg stop printing millions of
	  Multiple frames in a packet from stream 0
	when decoding adpcm.
Reason: adpcm has no subframes, the flag does not belong there

Originally committed as revision 21481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 13:30:05 +00:00
Måns Rullgård
2a58e45724 Set CODEC_CAP_SUBFRAMES for adpcm decoders
This makes ffmpeg stop printing millions of
  Multiple frames in a packet from stream 0
when decoding adpcm.

Originally committed as revision 21362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 12:57:24 +00:00
Daniel Verkamp
b74d42ee33 Build extradata in adpcm_ms encoder.
This fixes issue #1244.

Originally committed as revision 20349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 20:43:55 +00:00
Daniel Verkamp
bb7d0e87ae Indicate that AdaptCoeff1 and 2 are functions of the actual coefficients.
Originally committed as revision 20345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 15:57:04 +00:00
Reimar Döffinger
b5f09d31c2 Make sample_fmts and channel_layouts compound literals const to reduce size of
.data section.

Originally committed as revision 19787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 09:15:07 +00:00
Måns Rullgård
6816f8b8e4 ADPCM: remove unreachable break statement after return
Originally committed as revision 19312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 00:55:17 +00:00
Carl Eugen Hoyos
1efe9fd5c0 Fix indentation after last commit.
Originally committed as revision 19238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 13:10:17 +00:00
Yoshihisa Uchida
d8b2d83473 Fix yamaha adpcm stereo (issue 1117).
Patch by Yoshihisa Uchida, yoshihisa D uchida A gmail

Originally committed as revision 19237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 13:07:21 +00:00
Vitor Sessak
6cf92f6d26 Check if there is enough bytes before reading the buffer in the EA ADPCM
decoder. Fix issue 990.

Originally committed as revision 18707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 16:06:01 +00:00
Vitor Sessak
8a06cb14f9 Skip 0x0000 frame footer in EA ADPCM decoder.
Originally committed as revision 18706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 16:04:43 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Stefano Sabatini
b275500706 Split bitstream.h, put the bitstream writer stuff in the new file
put_bits.h.

Originally committed as revision 18461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:35:26 +00:00
Thilo Borgmann
7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Diego Biurrun
fd75cedd15 cosmetics: Reformat long_names so that "ADPCM" comes first.
Originally committed as revision 17720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 05:55:03 +00:00
Diego Biurrun
0ffbc258aa Change a bunch of codec long_names to be more consistent and descriptive.
Originally committed as revision 17716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 05:18:33 +00:00
Daniel Verkamp
5ef251e504 Add missing av_cold in static init/close functions.
Patch by Daniel Verkamp daniel at drv dot nu.

Originally committed as revision 17526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 13:48:55 +00:00
Stefan Gehrer
cc55c46498 check validity of pointer srcC
Originally committed as revision 16973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-03 17:56:24 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Stefan Gehrer
8915009813 remove duplicate tables
Originally committed as revision 16866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 20:39:39 +00:00
Stefan Gehrer
2ed421134e avoid indeterminate order of accessing src
Originally committed as revision 16855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 06:38:46 +00:00
Stefan Gehrer
055dc116fc added demuxer for FunCom ISS audio files,
extended ADPCM decoder by ISS specific IMA variant

Originally committed as revision 16658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 20:08:43 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Peter Ross
fd76c37fd9 Modify all codecs to report their supported input and output sample format(s).
Originally committed as revision 14482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-31 10:47:31 +00:00
Ramiro Polla
6647ab80e3 bitstream: move put_sbits() from flacenc.c to bitstream.h and use it
throughout libavcodec.

Originally committed as revision 14204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:27:48 +00:00
Reimar Döffinger
f9bd305694 clip MS ADPCM predictor range to correct [0..6] range, not [0..7]
Originally committed as revision 14203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:25:31 +00:00
Reimar Döffinger
962fe7e1c4 Use bytestream and AV_RL* functions in ADPCM code where possible
Originally committed as revision 14202 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:12:51 +00:00
Reimar Döffinger
ae8afab998 Fix MS ADPCM de- and encoding: first and second sample are swapped.
Noticeable better decoding of e.g. http://samples.mplayerhq.hu/A-codecs/msadpcm-stereo/dance-b5th.asf

Originally committed as revision 14201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:08:28 +00:00
Reimar Döffinger
8884b91898 100l, fix MS ADPCM decoding for e.g. http://samples.mplayerhq.hu/mov/qtaudio/surge-2-16-L-ms02.mov
First coefficient array must be unsigned to fit in 8 bits

Originally committed as revision 14175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 09:23:37 +00:00
Reimar Döffinger
ff2271267e 10l, forgot to replace a / 256 for r14173.
Fixes MS ADPCM regression test.

Originally committed as revision 14174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 07:28:45 +00:00
Reimar Döffinger
ddcf031f3b Change MS ADPCM table so they fit into int8_t and change array type.
Originally committed as revision 14173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-11 21:38:42 +00:00
Diego Biurrun
bbdfa06d43 Add a note to remind people that new PCM/ADPCM formats need to be added to
the Makefile as well to allow proper selective compilation.

Originally committed as revision 14072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-05 07:30:59 +00:00
Stefano Sabatini
fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Michael Niedermayer
909a9ad08d Prevent 128*1<<trellis from becoming 0 and creating 0 sized arrays.
fixes CID84 RUN2
      CID85 RUN2
      CID86 RUN2
      CID87 RUN2
      CID88 RUN2
      CID89 RUN2
      CID90 RUN2
      CID91 RUN2
      CID92 RUN2
      CID93 RUN2
      CID94 RUN2
      CID95 RUN2
      CID96 RUN2
      CID97 RUN2
      CID98 RUN2
      CID99 RUN2
      CID100 RUN2
      CID101 RUN2
      CID102 RUN2
      CID103 RUN2
      CID104 RUN2
      CID105 RUN2
      CID106 RUN2

Originally committed as revision 13495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-28 11:59:41 +00:00
Diego Biurrun
bcdab7e547 cosmetics: Fix typos in ADPCM codec long names.
Originally committed as revision 13173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-15 23:02:43 +00:00
Diego Biurrun
d349334abc ADPCM codec long names by Stefano Sabatini, stefano.sabatini-lala poste it
Originally committed as revision 13157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-15 11:35:19 +00:00
Baptiste Coudurier
3b4eccabae identation
Originally committed as revision 12969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-25 15:15:56 +00:00
Baptiste Coudurier
e67fe90c40 remove no more needed field
Originally committed as revision 12968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-25 15:11:39 +00:00
Baptiste Coudurier
62377fec30 remove unused var
Originally committed as revision 12967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-25 15:10:33 +00:00
Baptiste Coudurier
9ff8976dad remove ima qt decoding hack, decode whole frame at once
Originally committed as revision 12966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-25 15:09:26 +00:00
Baptiste Coudurier
d29ee34ce3 fix adpcm ima qt decoding, channel at init is 0, correct stereo out since samples += avctx->channels
Originally committed as revision 12965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-25 15:06:07 +00:00
Diego Biurrun
0ddfbc73cc cosmetics: Sort some lists alphabetically.
Originally committed as revision 12886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-17 22:04:34 +00:00
Robert Marston
861c63a216 Maxis XA demuxer and decoder.
Patch by Robert Marston rmarston (\at/) gmail point com
Original thread: [FFmpeg-soc] [Patch] Maxis EA XA decoder - GSoC Task
Date: 04/08/2008 01:36 AM

Originally committed as revision 12817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-14 14:31:43 +00:00
Michael Niedermayer
8c2a4ddca3 ILP64 fixes (untested)
Originally committed as revision 12807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-13 16:11:36 +00:00
Michael Niedermayer
05adf49c7c Remove redundant &.
Originally committed as revision 12795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-13 00:05:38 +00:00
Zuxy Meng
98a6fff98c Apply 'cold' attribute to init/uninit functions in libavcodec
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Kostya Shishkov
9dc92a38a0 IMA ADPCM encoder - QT variant
Originally committed as revision 12348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-06 07:30:41 +00:00
Michael Niedermayer
81ef51e669 const
Originally committed as revision 11750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 14:36:33 +00:00
Alexander Strange
d479d58cb6 Fix clicking sound in xa-adpcm.
patch by Alexander Strange, astrange ithinksw com
Subject: Re: [FFmpeg-devel] [PATCH] fix clicking sound in xa-adpcm
Date: Thu, 27 Dec 2007 03:20:24 -0500

Originally committed as revision 11329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-27 11:55:53 +00:00
Timofei V. Bondarenko
62b3415258 fix predictor initialization for adpcm-ima encoder not to lose first sample
in block in adpcm-ima decoder
Patch by Timofei V. Bondarenko: tim £ ipi, ac, ru
Original thread: [FFmpeg-devel] [PATCH] adpcm-ima-wav header and codec
Date: 10/15/2007 05:55 PM

Originally committed as revision 10933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-06 13:08:04 +00:00
Aurelien Jacobs
271b4095ad add Electronic Arts XAS ADPCM decoder
based on a patch from Peter Ross

Originally committed as revision 10913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-03 22:37:18 +00:00
Aurelien Jacobs
e916de2c8d remove useless #undef
Originally committed as revision 10897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-01 15:55:50 +00:00
Aurelien Jacobs
c33ed2aaf9 remove unreachable code
Originally committed as revision 10896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-01 15:54:28 +00:00
Aurelien Jacobs
0137034996 cosmetics: alignment
Originally committed as revision 10895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-01 15:52:37 +00:00
Aurelien Jacobs
f6e2300fe7 don't register adpcm encoders which are not implemented
Originally committed as revision 10894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-01 15:51:51 +00:00
Aurelien Jacobs
7c032a369a cosmetics: sort
Originally committed as revision 10890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-01 00:17:18 +00:00
Peter Ross
fac84d3c18 EA IMA EACS decoder
original patch by Peter Ross

Originally committed as revision 10880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-30 23:20:26 +00:00
Peter Ross
7bb65d8964 EA IMA SEAD decoder
original patch by Peter Ross

Originally committed as revision 10879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-30 23:12:18 +00:00
Peter Ross
e758396268 EA ADPCM R1, R2 and R3 decoder
original patch by Peter Ross

Originally committed as revision 10856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-24 20:49:42 +00:00
Aurelien Jacobs
a70a3f0b4d remove some useless initializations (the whole context is initialized to 0)
Originally committed as revision 10831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-21 22:44:05 +00:00
Aurelien Jacobs
c6e2f0831c remove unused context var
Originally committed as revision 10828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-21 22:16:28 +00:00
Timofei V. Bondarenko
880de6b0be Remove unnecessary guarding &=0x0f around adpcm_ima_compress_sample().
patch by Timofei, tim ipi.ac ru
Date: Mon, 15 Oct 2007 19:55:29 +0400
Subject: [FFmpeg-devel] [PATCH] adpcm-ima-wav header and codec

Originally committed as revision 10773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-17 23:02:35 +00:00
Vladimir Voroshilov
94d9633a32 Replace "signed short" typecast with "int16_t" as suggested by
Mans Rullgard. Value at the right side is 16 bit length signed.
We can not know for sure that short is in fact 16 bits, even if
this virtually always is the case.

Originally committed as revision 10666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 15:13:42 +00:00
Vladimir Voroshilov
330194b9ce Fix audio clicks in ADPCM IMA AMV by casting predictor as "signed short"
Initialize step_index as int16_t (as multimedia wiki says).

Originally committed as revision 10657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-03 19:32:57 +00:00
Vitor Sessak
3a7f5d072a AMV audio decoder
Originally committed as revision 10598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-27 06:21:57 +00:00
Diego Biurrun
1218a7e33d cosmetics: Sort CODEC_ID list.
Originally committed as revision 10570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-24 21:18:45 +00:00
Benjamin Larsson
622d633260 Cosmetics, indentation.
Originally committed as revision 10145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-19 20:34:27 +00:00
Benjamin Larsson
1cbe9d6a78 Trellis quantization support for adpcm_swf.
Originally committed as revision 10144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-19 20:31:53 +00:00
Aurelien Jacobs
88e2d5882b more usage of av_clip()
Originally committed as revision 10082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-11 23:29:21 +00:00
Aurelien Jacobs
e4a50e6d2e one more simplification
Originally committed as revision 10081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-11 23:23:20 +00:00
Aurelien Jacobs
295f373792 various simplifications around recent av_clip_int16() usage
Originally committed as revision 10080 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-11 23:17:03 +00:00
Aurelien Jacobs
aee481cebe use av_clip_int16() where it makes sense
Originally committed as revision 10078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-11 22:48:55 +00:00
Benjamin Larsson
00a254b7fe Don't encode the first sample twice.
Originally committed as revision 9962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-06 19:49:18 +00:00
Baptiste Coudurier
d0fa156fc5 cosmetic, indentation
Originally committed as revision 9960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-06 08:42:05 +00:00
Baptiste Coudurier
fe4ff07aa0 fix decoding of adpcm swf big frames, fix RamboMJPEGAVP6_1Mbps.swf
Originally committed as revision 9946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-05 13:41:44 +00:00
Baptiste Coudurier
ac0691071e Set the step index correctly for flash adpcm. Patch by Baptiste
Coudurier.

Originally committed as revision 9743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 18:40:03 +00:00
Baptiste Coudurier
9fff16bcbb Calculate the correct blocksize for flash adpcm. Patch by Baptiste
Coudurier.

Originally committed as revision 9742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 18:35:03 +00:00
Diego Biurrun
90b5b51eab misc typo fixes
Originally committed as revision 9291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 18:50:50 +00:00
Ramiro Polla
2c124cb65c Use AV_xx throughout libavcodec
Originally committed as revision 9169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-02 01:41:07 +00:00
Benjamin Larsson
d64b88d440 Per reference swf/flv adpcm encoder.
Originally committed as revision 8713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-11 13:10:13 +00:00
Marco Gerards
e457023a95 Fix an underflow/overflow that was causing some crackles when playing
certain THP files.
patch by Marco Gerards, mgerards xs4all nl

Originally committed as revision 8703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-10 08:18:04 +00:00
Marco Gerards
90f2a1a03c cosmetics: indentation fix
patch by Marco Gerards, mgerards xs4all nl

Originally committed as revision 8680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-08 12:05:02 +00:00
Michael Niedermayer
949ed6bb30 use bytestream reader instead of bitstream for THP
5% smaller adpcm.o
20% faster

Originally committed as revision 8657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 22:04:33 +00:00
Anssi Hannula
8e952e4d23 CRYO APC demuxer
patch by Anssi Hannula, anssi.hannula gmail com

Originally committed as revision 8656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 21:34:18 +00:00
Michael Niedermayer
204424a4c7 simplify
Originally committed as revision 8655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 21:30:19 +00:00
Michael Niedermayer
b736a365be prev1/2 -> prev[2]
Originally committed as revision 8654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 21:27:58 +00:00