libav.git
8 years agoEnable w32threads automatically unless explicitly disabled
Martin Storsjö [Tue, 1 Nov 2011 14:22:56 +0000 (16:22 +0200)]
Enable w32threads automatically unless explicitly disabled

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agocmdutils: Rename read_file to cmdutils_read_file
Martin Storsjö [Mon, 7 Feb 2011 09:49:37 +0000 (11:49 +0200)]
cmdutils: Rename read_file to cmdutils_read_file

This symbol name clashes with a symbol in gnutls, if linking
statically to that library.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agolibdirac/libschroedinger: Drop unnecessary symbol prefixes.
Diego Biurrun [Sun, 30 Oct 2011 12:19:50 +0000 (13:19 +0100)]
libdirac/libschroedinger: Drop unnecessary symbol prefixes.

The names used in the libdirac/libschroedinger wrappers are long enough as-is.
Bloating them with unnecessary prefixes makes them even more unwieldy.

8 years agocmdutils: check fread() return value
Janne Grunau [Sun, 30 Oct 2011 14:34:32 +0000 (15:34 +0100)]
cmdutils: check fread() return value

8 years agocin audio: use sign_extend() instead of casting to int16_t
Justin Ruggles [Thu, 27 Oct 2011 17:58:05 +0000 (13:58 -0400)]
cin audio: use sign_extend() instead of casting to int16_t

8 years agocin audio: restructure decoding loop to avoid a separate counter variable
Justin Ruggles [Thu, 27 Oct 2011 17:50:02 +0000 (13:50 -0400)]
cin audio: restructure decoding loop to avoid a separate counter variable

Also check output buffer size instead of truncating output.

8 years agocin audio: use local variable for delta value
Justin Ruggles [Thu, 27 Oct 2011 17:41:02 +0000 (13:41 -0400)]
cin audio: use local variable for delta value

8 years agocin audio: remove unneeded cast from void*
Justin Ruggles [Thu, 27 Oct 2011 17:35:25 +0000 (13:35 -0400)]
cin audio: remove unneeded cast from void*

8 years agocin audio: validate the channel count
Justin Ruggles [Thu, 27 Oct 2011 17:33:57 +0000 (13:33 -0400)]
cin audio: validate the channel count

8 years agocin audio: remove unneeded AVCodecContext pointer from CinAudioContext
Justin Ruggles [Thu, 27 Oct 2011 17:28:33 +0000 (13:28 -0400)]
cin audio: remove unneeded AVCodecContext pointer from CinAudioContext

8 years agodsicin: fix several audio-related fields in the CIN demuxer
Justin Ruggles [Thu, 27 Oct 2011 16:46:32 +0000 (12:46 -0400)]
dsicin: fix several audio-related fields in the CIN demuxer

bits_per_coded_sample should be 8.
block_align is calculated incorrectly, but it is not needed anyway.
packet pts should be calculated in samples.
packet duration can be set.

8 years agoflacdec: use av_get_bytes_per_sample() to get sample size
Justin Ruggles [Thu, 27 Oct 2011 18:29:28 +0000 (14:29 -0400)]
flacdec: use av_get_bytes_per_sample() to get sample size

8 years agodca: handle errors from dca_decode_block()
Justin Ruggles [Thu, 27 Oct 2011 15:45:50 +0000 (11:45 -0400)]
dca: handle errors from dca_decode_block()

Return error if core block decoding fails.
Do not enable XCh if XCh extension block decoding fails.

8 years agodca: return error if the frame header is invalid
Justin Ruggles [Thu, 27 Oct 2011 15:42:23 +0000 (11:42 -0400)]
dca: return error if the frame header is invalid

8 years agodca: return proper error codes instead of -1
Justin Ruggles [Thu, 27 Oct 2011 15:41:02 +0000 (11:41 -0400)]
dca: return proper error codes instead of -1

8 years agoutvideo: handle empty Huffman trees
Kostya Shishkov [Sat, 29 Oct 2011 17:35:20 +0000 (19:35 +0200)]
utvideo: handle empty Huffman trees

If the frame is filled with the same colour, encoder may produce no data
and the fill value is indicated by zero code length (the rest of symbols
will have 0xFF for code length, meaning invalid).  So such Huffman trees
should be treated specially.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agobinkaudio: change short to int16_t
Justin Ruggles [Wed, 26 Oct 2011 15:08:49 +0000 (11:08 -0400)]
binkaudio: change short to int16_t

8 years agobinkaudio: only decode one block at a time.
Justin Ruggles [Wed, 26 Oct 2011 15:02:12 +0000 (11:02 -0400)]
binkaudio: only decode one block at a time.

This prevents truncating output due to an output buffer that is too small for
all blocks. There is no limit on the number of blocks in a packet.

8 years agobinkaudio: store interleaved overlap samples in BinkAudioContext.
Justin Ruggles [Wed, 26 Oct 2011 14:18:39 +0000 (10:18 -0400)]
binkaudio: store interleaved overlap samples in BinkAudioContext.

This fixes the requirement for the buffer size to be larger than the number of
samples actually decoded.

8 years agobinkaudio: pre-calculate quantization factors
Justin Ruggles [Tue, 25 Oct 2011 19:13:19 +0000 (15:13 -0400)]
binkaudio: pre-calculate quantization factors

8 years agobinkaudio: add some buffer overread checks.
Justin Ruggles [Tue, 25 Oct 2011 17:47:50 +0000 (13:47 -0400)]
binkaudio: add some buffer overread checks.

This stops decoding before overreads instead of after.

8 years agoatrac3: support float or int16 output using request_sample_fmt
Justin Ruggles [Fri, 28 Oct 2011 20:36:47 +0000 (16:36 -0400)]
atrac3: support float or int16 output using request_sample_fmt

8 years agoatrac3: add CODEC_CAP_SUBFRAMES capability
Justin Ruggles [Fri, 28 Oct 2011 17:02:15 +0000 (13:02 -0400)]
atrac3: add CODEC_CAP_SUBFRAMES capability

the decoder can handle multiple frames in a packet

8 years agoatrac3: return appropriate error codes instead of -1
Justin Ruggles [Fri, 28 Oct 2011 17:00:53 +0000 (13:00 -0400)]
atrac3: return appropriate error codes instead of -1

8 years agoatrac3: make sure all memory is freed on init failure
Justin Ruggles [Fri, 28 Oct 2011 16:53:11 +0000 (12:53 -0400)]
atrac3: make sure all memory is freed on init failure

8 years agoatrac3: add a couple macro constants
Justin Ruggles [Fri, 14 Oct 2011 21:17:46 +0000 (17:17 -0400)]
atrac3: add a couple macro constants

8 years agoatrac3: return error if packet is too small
Justin Ruggles [Fri, 14 Oct 2011 21:10:33 +0000 (17:10 -0400)]
atrac3: return error if packet is too small

8 years agoatrac3: check output buffer size before decoding
Justin Ruggles [Fri, 14 Oct 2011 21:09:58 +0000 (17:09 -0400)]
atrac3: check output buffer size before decoding

8 years agoatrac3: use separate pointers for each channel in decodeFrame()
Justin Ruggles [Fri, 28 Oct 2011 17:29:41 +0000 (13:29 -0400)]
atrac3: use separate pointers for each channel in decodeFrame()

8 years agoatrac3: use optimized float_interleave() function for stereo interleaving
Justin Ruggles [Fri, 14 Oct 2011 20:47:03 +0000 (16:47 -0400)]
atrac3: use optimized float_interleave() function for stereo interleaving

8 years agoatrac3: decode mono directly to the output buffer
Justin Ruggles [Fri, 14 Oct 2011 20:32:55 +0000 (16:32 -0400)]
atrac3: decode mono directly to the output buffer

8 years agoatrac3: decode output to float samples instead of converting to s16
Justin Ruggles [Fri, 14 Oct 2011 20:13:30 +0000 (16:13 -0400)]
atrac3: decode output to float samples instead of converting to s16

8 years agoatrac1: return appropriate error codes instead of -1
Justin Ruggles [Fri, 28 Oct 2011 17:10:27 +0000 (13:10 -0400)]
atrac1: return appropriate error codes instead of -1

8 years agoatrac1: check for ff_mdct_init() failure
Justin Ruggles [Fri, 28 Oct 2011 17:07:20 +0000 (13:07 -0400)]
atrac1: check for ff_mdct_init() failure

8 years agoatrac1: use optimized float_interleave() function for stereo interleaving
Justin Ruggles [Fri, 14 Oct 2011 19:25:01 +0000 (15:25 -0400)]
atrac1: use optimized float_interleave() function for stereo interleaving

8 years agoatrac1: fix a typo
Justin Ruggles [Fri, 14 Oct 2011 04:30:42 +0000 (00:30 -0400)]
atrac1: fix a typo

8 years agoatrac1: validate number of channels
Justin Ruggles [Fri, 14 Oct 2011 04:24:50 +0000 (00:24 -0400)]
atrac1: validate number of channels

8 years agoatrac1: decode mono audio directly to output buffer
Justin Ruggles [Fri, 14 Oct 2011 04:22:01 +0000 (00:22 -0400)]
atrac1: decode mono audio directly to output buffer

For stereo we need to use intermediate planar buffers, but mono does not need
to be deinterleaved so the output buffer can be used directly.

8 years agoatrac1: check output buffer size before decoding
Justin Ruggles [Fri, 14 Oct 2011 04:16:31 +0000 (00:16 -0400)]
atrac1: check output buffer size before decoding

8 years agocook: return AVERROR_PATCHWELCOME instead of ENOTSUP
Justin Ruggles [Sat, 29 Oct 2011 18:31:11 +0000 (14:31 -0400)]
cook: return AVERROR_PATCHWELCOME instead of ENOTSUP

ENOTSUP is not defined on some systems

8 years agocook: check output buffer size before decoding
Justin Ruggles [Thu, 27 Oct 2011 01:11:13 +0000 (21:11 -0400)]
cook: check output buffer size before decoding

8 years agocook: do not needlessly set *data_size to 0
Justin Ruggles [Thu, 27 Oct 2011 01:08:57 +0000 (21:08 -0400)]
cook: do not needlessly set *data_size to 0

8 years agocook: remove pointless return statements
Justin Ruggles [Thu, 27 Oct 2011 01:03:49 +0000 (21:03 -0400)]
cook: remove pointless return statements

8 years agocook: simplify decouple_info()
Justin Ruggles [Thu, 27 Oct 2011 00:59:14 +0000 (20:59 -0400)]
cook: simplify decouple_info()

8 years agocook: return appropriate error codes instead of -1
Justin Ruggles [Thu, 27 Oct 2011 00:46:36 +0000 (20:46 -0400)]
cook: return appropriate error codes instead of -1

8 years agocook: avoid hardcoded sizes in sizeof()
Justin Ruggles [Thu, 27 Oct 2011 00:42:02 +0000 (20:42 -0400)]
cook: avoid hardcoded sizes in sizeof()

8 years agocook: remove unneeded #includes
Justin Ruggles [Wed, 26 Oct 2011 22:36:08 +0000 (18:36 -0400)]
cook: remove unneeded #includes

8 years agocook: output float samples instead of converting to int16
Justin Ruggles [Wed, 26 Oct 2011 22:30:22 +0000 (18:30 -0400)]
cook: output float samples instead of converting to int16

8 years agomov: Avoid divide by zero in edit list dts handling
Benjamin Larsson [Sat, 29 Oct 2011 10:57:10 +0000 (12:57 +0200)]
mov: Avoid divide by zero in edit list dts handling

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agoutvideo: account for coupled lines in YUV420 format
Kostya Shishkov [Fri, 28 Oct 2011 18:40:23 +0000 (20:40 +0200)]
utvideo: account for coupled lines in YUV420 format

Luma slices in YUV420 colourspace should have height in multiple of two since
they have the same line of chrominance data corresponding to pair of them.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agovp3: fix oob read for negative tokens and memleaks on error.
Ronald S. Bultje [Sat, 29 Oct 2011 06:50:04 +0000 (23:50 -0700)]
vp3: fix oob read for negative tokens and memleaks on error.

8 years agovp8: fix overflow in segmentation map caching.
Ronald S. Bultje [Sat, 29 Oct 2011 06:48:43 +0000 (23:48 -0700)]
vp8: fix overflow in segmentation map caching.

8 years agolavf: use number of output pictures for delay checks.
Ronald S. Bultje [Fri, 28 Oct 2011 03:37:34 +0000 (20:37 -0700)]
lavf: use number of output pictures for delay checks.

This fixes false positives of has_codec_delay_been_guessed() for
streams where not every input picture generates an output picture,
such as interlaced H264.

8 years agoFix decoding of lossless 4:2:2 H.264
Anton Mitrofanov [Fri, 28 Oct 2011 19:33:23 +0000 (23:33 +0400)]
Fix decoding of lossless 4:2:2 H.264

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agoFix decoding of lossless 10-bit 4:4:4 H.264
Anton Mitrofanov [Fri, 28 Oct 2011 15:13:13 +0000 (19:13 +0400)]
Fix decoding of lossless 10-bit 4:4:4 H.264

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agoprobe: Restore identification of files with very large id3 tags and no extension.
Alex Converse [Wed, 26 Oct 2011 01:37:24 +0000 (18:37 -0700)]
probe: Restore identification of files with very large id3 tags and no extension.

Restore behavior of identifying files with huge id3 tags as
mp3 at AVPROBE_SCORE_MAX/4. This was broken in r25378 and subsequently
removed in r25929.

8 years agoprobe: Remove id3 tag presence as a criteria to do file extension checking.
Alex Converse [Wed, 26 Oct 2011 01:26:35 +0000 (18:26 -0700)]
probe: Remove id3 tag presence as a criteria to do file extension checking.

This only encourages our users to put id3v2 tags on non-mp3 files to opt
into extension based probing.

8 years agompegts: MP4 SL support
Alex Converse [Tue, 11 Oct 2011 21:49:59 +0000 (14:49 -0700)]
mpegts: MP4 SL support

8 years agompegts: MP4 OD support
Alex Converse [Mon, 10 Oct 2011 19:50:00 +0000 (12:50 -0700)]
mpegts: MP4 OD support

8 years agompegts: Add support for Sections in PMT
Alex Converse [Thu, 6 Oct 2011 01:24:17 +0000 (18:24 -0700)]
mpegts: Add support for Sections in PMT

8 years agompegts: Replace the MP4 descriptor parser with a recursive parser.
Alex Converse [Wed, 5 Oct 2011 18:04:42 +0000 (11:04 -0700)]
mpegts: Replace the MP4 descriptor parser with a recursive parser.

8 years agompegts: Add support for multiple mp4 descriptors
Alex Converse [Wed, 5 Oct 2011 06:43:59 +0000 (23:43 -0700)]
mpegts: Add support for multiple mp4 descriptors

8 years agompegts: Parse mpeg2 SL descriptors.
Alex Converse [Wed, 5 Oct 2011 01:24:22 +0000 (18:24 -0700)]
mpegts: Parse mpeg2 SL descriptors.

8 years agoisom: Add MPEG4SYSTEMS dummy object type indication.
Alex Converse [Wed, 5 Oct 2011 17:59:15 +0000 (10:59 -0700)]
isom: Add MPEG4SYSTEMS dummy object type indication.

8 years agoaacdec: allow output reconfiguration on channel changes
Michael Niedermayer [Fri, 21 Oct 2011 09:41:35 +0000 (09:41 +0000)]
aacdec: allow output reconfiguration on channel changes

Locking the decoder against channel config changes in
parse_adts_frame_header() seems to be unnecessary and
streams with channel config changes are reported.

The sample in http://roundup.libav.org/issue999 still works.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
8 years agonellymoserenc: take float input samples instead of int16
Justin Ruggles [Mon, 24 Oct 2011 12:44:24 +0000 (08:44 -0400)]
nellymoserenc: take float input samples instead of int16

This avoids having to convert all input data from int16 to float, which is used
internally for encoding.

8 years agonellymoserdec: use dsp functions for overlap and windowing
Justin Ruggles [Fri, 28 Oct 2011 18:15:25 +0000 (14:15 -0400)]
nellymoserdec: use dsp functions for overlap and windowing

8 years agonellymoserdec: do not fail if there is extra data in the packet
Justin Ruggles [Mon, 17 Oct 2011 14:24:47 +0000 (10:24 -0400)]
nellymoserdec: do not fail if there is extra data in the packet

instead just print a warning

8 years agonellymoserdec: fail if output buffer is too small
Justin Ruggles [Mon, 17 Oct 2011 14:22:46 +0000 (10:22 -0400)]
nellymoserdec: fail if output buffer is too small

avoids silently truncating the output

8 years agonellymoserdec: remove pointless buffer size check.
Justin Ruggles [Mon, 17 Oct 2011 14:09:52 +0000 (10:09 -0400)]
nellymoserdec: remove pointless buffer size check.

8 years agolavf: add init_put_byte() to the list of visible symbols.
Anton Khirnov [Fri, 28 Oct 2011 17:53:55 +0000 (19:53 +0200)]
lavf: add init_put_byte() to the list of visible symbols.

8 years agoseek-test: free options dictionary after use
Janne Grunau [Fri, 28 Oct 2011 17:22:27 +0000 (19:22 +0200)]
seek-test: free options dictionary after use

8 years agosnow: do not draw_edge if emu_edge is set
Michael Niedermayer [Wed, 26 Oct 2011 13:47:14 +0000 (15:47 +0200)]
snow: do not draw_edge if emu_edge is set

Fix segfault on emu edge, to reproduce

make fate-vsynth1-snow
avplay -flags emu_edge tests/data/vsynth1/snow.avi

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agotools/pktdumper: update to recent avformat api
Janne Grunau [Fri, 28 Oct 2011 16:36:54 +0000 (18:36 +0200)]
tools/pktdumper: update to recent avformat api

8 years agoseek-test: update to recent avformat api
Janne Grunau [Fri, 28 Oct 2011 16:32:51 +0000 (18:32 +0200)]
seek-test: update to recent avformat api

8 years agowmavoice: move output buffer size check to synth_superframe().
Justin Ruggles [Sun, 25 Sep 2011 00:13:56 +0000 (20:13 -0400)]
wmavoice: move output buffer size check to synth_superframe().

this allows for checking against the actual output size instead of max size.

8 years agowmavoice: only set data_size to 0 when necessary
Justin Ruggles [Sun, 25 Sep 2011 00:11:34 +0000 (20:11 -0400)]
wmavoice: only set data_size to 0 when necessary

8 years agowmapro: fix strict-aliasing violations by using av_alias32
Justin Ruggles [Sat, 24 Sep 2011 04:50:22 +0000 (00:50 -0400)]
wmapro: fix strict-aliasing violations by using av_alias32

Also fix some undefined unsigned/signed conversions.

8 years agowmapro: use FmtConvertContext.float_interleave() to interleave output samples
Justin Ruggles [Sat, 24 Sep 2011 04:34:37 +0000 (00:34 -0400)]
wmapro: use FmtConvertContext.float_interleave() to interleave output samples

8 years agowmadec: consolidate 2 output buffer size checks into 1 check
Justin Ruggles [Sat, 24 Sep 2011 03:38:36 +0000 (23:38 -0400)]
wmadec: consolidate 2 output buffer size checks into 1 check

8 years agoapedec: assert that s->samples is not negative before trying to decode
Justin Ruggles [Tue, 11 Oct 2011 18:38:21 +0000 (14:38 -0400)]
apedec: assert that s->samples is not negative before trying to decode

8 years agoapedec: use FFALIGN macro for internal data buffer size
Justin Ruggles [Tue, 11 Oct 2011 18:35:33 +0000 (14:35 -0400)]
apedec: use FFALIGN macro for internal data buffer size

8 years agoapedec: do not keep incrementing the input data pointer past the end of the
Justin Ruggles [Tue, 11 Oct 2011 18:12:54 +0000 (14:12 -0400)]
apedec: do not keep incrementing the input data pointer past the end of the
buffer during entropy decoding.

The pointer address could overflow, which would likely segfault. Instead set
the context error flag to indicate that the decoder tried to read past the
end of the packet data.

8 years agoapedec: check for input buffer overflow while reading frame header
Justin Ruggles [Tue, 11 Oct 2011 18:06:52 +0000 (14:06 -0400)]
apedec: check for input buffer overflow while reading frame header

8 years agoapedec: use unsigned int for offset
Justin Ruggles [Tue, 11 Oct 2011 17:34:18 +0000 (13:34 -0400)]
apedec: use unsigned int for offset

avoids implementation-defined unsigned-to-signed conversion and simplifies
the bounds checking.

8 years agoapedec: remove pointless increment of 'buf'
Justin Ruggles [Tue, 11 Oct 2011 17:25:48 +0000 (13:25 -0400)]
apedec: remove pointless increment of 'buf'

The variable is not used anymore at that point.

8 years agoapedec: set s->currentframeblocks after validating nblocks
Justin Ruggles [Tue, 11 Oct 2011 17:25:27 +0000 (13:25 -0400)]
apedec: set s->currentframeblocks after validating nblocks

8 years agoapedec: use unsigned int for 'nblocks' and make sure that it's within int range
Justin Ruggles [Tue, 11 Oct 2011 17:17:44 +0000 (13:17 -0400)]
apedec: use unsigned int for 'nblocks' and make sure that it's within int range

8 years agoapedec: do not set s->samples until after validation.
Justin Ruggles [Tue, 11 Oct 2011 16:49:46 +0000 (12:49 -0400)]
apedec: do not set s->samples until after validation.

This prevents errors and/or invalid writes in the next decode call due to
s->samples still being negative.

8 years agoapedec: check for data buffer realloc failure
Justin Ruggles [Tue, 11 Oct 2011 16:47:11 +0000 (12:47 -0400)]
apedec: check for data buffer realloc failure

8 years agoapedec: return meaningful error values in ape_decode_frame()
Justin Ruggles [Tue, 11 Oct 2011 15:55:56 +0000 (11:55 -0400)]
apedec: return meaningful error values in ape_decode_frame()

8 years agoapedec: correct an error message
Justin Ruggles [Tue, 11 Oct 2011 15:54:42 +0000 (11:54 -0400)]
apedec: correct an error message

8 years agoapedec: cosmetics
Justin Ruggles [Tue, 11 Oct 2011 15:53:17 +0000 (11:53 -0400)]
apedec: cosmetics

break some excessively long lines and remove space after '*'

8 years agoapedec: return meaningful error codes from ape_decode_init()
Justin Ruggles [Tue, 11 Oct 2011 15:48:39 +0000 (11:48 -0400)]
apedec: return meaningful error codes from ape_decode_init()

8 years agoapedec: check for filter buffer allocation failure
Justin Ruggles [Tue, 11 Oct 2011 15:47:15 +0000 (11:47 -0400)]
apedec: check for filter buffer allocation failure

8 years agoapedec: use memcpy for pseudo-stereo mode
Justin Ruggles [Tue, 11 Oct 2011 15:37:55 +0000 (11:37 -0400)]
apedec: use memcpy for pseudo-stereo mode

8 years agoapedec: remove unneeded check for zero-size packet.
Justin Ruggles [Mon, 10 Oct 2011 19:54:36 +0000 (15:54 -0400)]
apedec: remove unneeded check for zero-size packet.

This is already checked by avcodec_decode_audio3().

8 years agolavf: move private fields in AVStream to the end at next bump.
Anton Khirnov [Wed, 19 Oct 2011 18:00:09 +0000 (20:00 +0200)]
lavf: move private fields in AVStream to the end at next bump.

8 years agolavf: move private fields in AVFormatContext to the end at next bump.
Anton Khirnov [Wed, 19 Oct 2011 18:00:09 +0000 (20:00 +0200)]
lavf: move private fields in AVFormatContext to the end at next bump.

8 years agolavf: make some seeking functions private
Anton Khirnov [Sun, 16 Oct 2011 13:03:30 +0000 (15:03 +0200)]
lavf: make some seeking functions private

Specifically av_update_cur_dts(), av_seek_frame_binary() and
av_gen_search().

They are not supposed to be called outside lavf.