Alex Converse [Thu, 17 Nov 2011 18:06:14 +0000 (10:06 -0800)]
vp5: Fix illegal read.
Found with Address Sanitizer
Thierry Foucu [Thu, 17 Nov 2011 17:39:52 +0000 (09:39 -0800)]
vp6: Fix illegal read.
Found with Address Sanitizer
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Martin Storsjö [Thu, 17 Nov 2011 09:15:27 +0000 (11:15 +0200)]
tls: Use TLSv1_client_method for OpenSSL
TLSv1 is compatible with SSLv3, so this doesn't change much
in terms of compatibility. By explicitly using TLSv1, OpenSSL
sends the server name indication (SNI) header, which we
already set using SSL_set_tlsext_host_name (earlier, this
didn't have any effect).
SNI allows servers to serve SSL content for different host
names with separate certificates on one single port (vhosts).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 16 Nov 2011 09:33:53 +0000 (11:33 +0200)]
mpegaudiodec: Don't use a nonexistent log context for av_dlog
This fixes builds with DEBUG defined, broken since
1158745a2d12966c58e83b66243a42f20190812e.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Nov 2011 22:12:09 +0000 (00:12 +0200)]
avformat: Accept the ISO8601 separate format as input, too
This makes the function accept the format of creation_time
as output by demuxers (e.g. the mov demuxer), making the
creation timestamp stay intact if transcoding.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Nov 2011 21:32:21 +0000 (23:32 +0200)]
avformat: Interpret times in ff_iso8601_to_unix_time as UTC
This function is used in muxers for parsing the 'creation_time'
metadata key, for converting it to a time value.
This makes it match the behaviour of the exported 'creation_time'
metadata from demuxers, where it is in UTC, too.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Nov 2011 21:20:31 +0000 (23:20 +0200)]
avutil: Add av_timegm as a public function
This is useful, since the normal timegm function isn't a standard
function (requiring _BSD_SOURCE or _SVID_SOURCE on glibc to
be visible, and not available on e.g. windows). The widely available
function mktime uses the local time zone, which requires ugly
workarounds to handle UTC time.
Signed-off-by: Martin Storsjö <martin@martin.st>
Mike Melanson [Wed, 16 Nov 2011 07:06:48 +0000 (23:06 -0800)]
cinepak: Add another special case so that it can handle the following file:
http://samples.mplayerhq.hu/V-codecs/CVID/bad_cinepak_frame_size.mov
This fix works around another work around which handles a different type
of odd Cinepak data.
Thanks to Matthew Hoops (clone2727 - gmail.com) for the sample and fix.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Sat, 12 Nov 2011 19:54:27 +0000 (20:54 +0100)]
lagarith: add some RGBA decoding support
Signed-off-by: Martin Storsjö <martin@martin.st>
Nathan Caldwell [Wed, 16 Nov 2011 07:45:00 +0000 (00:45 -0700)]
lagarith: Add correct line prediction for RGB
Signed-off-by: Martin Storsjö <martin@martin.st>
Mans Rullgard [Tue, 15 Nov 2011 22:33:49 +0000 (22:33 +0000)]
lavf: fix multiplication overflow in avformat_find_stream_info()
Converting to double before the multiplication rather than after
avoids an integer overflow in some cases.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Justin Ruggles [Thu, 3 Nov 2011 19:53:43 +0000 (15:53 -0400)]
cosmetics: indentation
Justin Ruggles [Thu, 3 Nov 2011 18:59:37 +0000 (14:59 -0400)]
mpegaudiodec: init static tables in AVCodec.init_static_data()
Mans Rullgard [Sun, 13 Nov 2011 15:25:53 +0000 (15:25 +0000)]
binkvideo: simplify and remove invalid shifts
Signed-off-by: Mans Rullgard <mans@mansr.com>
Luca Barbato [Mon, 14 Nov 2011 14:53:59 +0000 (15:53 +0100)]
pulse: compute frame_duration once and fix it
The frame duration was calculated without taking in account the
bytes per sample.
Thanks to Lorenzo Pistone <blaffablaffa@gmail.com> for pointing
the issue and providing an initial fix.
Luca Barbato [Mon, 14 Nov 2011 11:24:21 +0000 (12:24 +0100)]
lavf: simplify format_child_class_next()
And fix the error introduced when adding private option to avio.
See
32caa7b13cecca59213c73fa94dd683c2b003bfd
Sebastien Zwickert [Fri, 11 Nov 2011 14:48:21 +0000 (15:48 +0100)]
hwaccel: OS X Video Decoder Acceleration (VDA) support.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Sun, 13 Nov 2011 18:32:35 +0000 (19:32 +0100)]
doc: add support for an optional navigation bar in texi2html pages
The navigation header for the web pages lives in a different repository.
Read it during documentation regeneration to use the same navigation bar
on all pages.
Anton Khirnov [Sat, 5 Nov 2011 11:30:21 +0000 (12:30 +0100)]
lavf: pass options from AVFormatContext to avio.
Martin Storsjö [Sun, 6 Nov 2011 21:11:29 +0000 (23:11 +0200)]
avformat: Use avio_open2, pass the AVFormatContext interrupt_callback onwards
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Sun, 6 Nov 2011 21:03:45 +0000 (23:03 +0200)]
avio: add avio_open2, taking an interrupt callback and options
The interrupt callback has to be passed in during opening (setting it
after opening isn't enough), since a blocking open couldn't be
interrupted otherwise.
Options are passed down to procotols and also need to be available
during open() in most cases.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Sat, 5 Nov 2011 09:04:04 +0000 (10:04 +0100)]
avio: add support for passing options to protocols.
Not used anywhere yet, support for passing options from avio_open() will
follow.
Anton Khirnov [Sat, 5 Nov 2011 10:42:13 +0000 (11:42 +0100)]
avio: add and use ffurl_protocol_next().
Martin Storsjö [Sun, 6 Nov 2011 20:55:40 +0000 (22:55 +0200)]
avformat: Pass the interrupt callback on to chained muxers/demuxers
There are a few more cases of chained demuxers, but they
only use custom IO which don't do any blocking IO and thus
don't need the callback.
Martin Storsjö [Sun, 6 Nov 2011 20:50:44 +0000 (22:50 +0200)]
avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_alloc
Change all uses of these function to pass the relevant
callback on.
Martin Storsjö [Sun, 6 Nov 2011 20:34:24 +0000 (22:34 +0200)]
avformat: Use ff_check_interrupt
Martin Storsjö [Sun, 6 Nov 2011 20:10:21 +0000 (22:10 +0200)]
avio: Add an internal utility function for checking the new interrupt callback
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Sun, 6 Nov 2011 12:10:16 +0000 (14:10 +0200)]
avio: Add AVIOInterruptCB
This is a better io interrupt callback function, which has an
opaque parameter, which is given to the interrupt callback.
This allows callers to precisely cancel IO for one single
AVFormatContext, without interrupt other ones in the same
process.
Note, it's not needed in AVIOContext, at the moment.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Luca Barbato [Sun, 13 Nov 2011 11:25:29 +0000 (12:25 +0100)]
texi2html: remove stray \n
Single-quoted strings are printed verbatim in perl.
Luca Barbato [Sun, 13 Nov 2011 03:05:13 +0000 (04:05 +0100)]
doc: prettyfy the texi2html documentation
make it use the website css and start structuring it so it is consistent
Ronald S. Bultje [Sun, 13 Nov 2011 04:40:41 +0000 (05:40 +0100)]
swscale: handle unaligned buffers in yuv2plane1
The issue had been introduced in
c435653627529e22d74214c2266f571255e404d6
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Fri, 11 Nov 2011 20:57:06 +0000 (21:57 +0100)]
vble: remove vble_error_close
It does not make much sense to factor the error handling to its own
av_always_inline function. Fixes "format not a string literal and no
format arguments" warning in the av_log.
Derek Buitenhuis [Fri, 11 Nov 2011 19:46:19 +0000 (14:46 -0500)]
VBLE Decoder
Add a decoder for the VBLE Lossless Codec, which
still has a cult following. Used to be popular
several years ago on doom9.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
Justin Ruggles [Fri, 4 Nov 2011 02:48:15 +0000 (22:48 -0400)]
tta: use an integer instead of a pointer to iterate output samples
Justin Ruggles [Fri, 4 Nov 2011 00:54:38 +0000 (20:54 -0400)]
shorten: do not modify samples pointer when interleaving
Justin Ruggles [Thu, 3 Nov 2011 03:02:52 +0000 (23:02 -0400)]
mpc7: only support stereo input.
The Musepack SV7 reference encoder converts mono to stereo when encoding.
Justin Ruggles [Wed, 2 Nov 2011 20:49:38 +0000 (16:49 -0400)]
dpcm: do not try to decode empty packets
Justin Ruggles [Wed, 2 Nov 2011 20:47:53 +0000 (16:47 -0400)]
dpcm: remove unneeded buf_size==0 check.
It is already checked in avcodec_decode_audio3()
Justin Ruggles [Sun, 30 Oct 2011 05:13:55 +0000 (01:13 -0400)]
twinvq: add SSE/AVX optimized sum/difference stereo interleaving
Justin Ruggles [Sun, 30 Oct 2011 04:46:16 +0000 (00:46 -0400)]
vqf/twinvq: pass vqf COMM chunk info in extradata
This is needed because the twinvq decoder cannot rely on bit_rate to be set.
The API documentation says that bit_rate is set by libavcodec, not by the
user.
Justin Ruggles [Sat, 29 Oct 2011 23:24:55 +0000 (19:24 -0400)]
vqf: do not set bits_per_coded_sample for TwinVQ.
It is a lossy codec with varying quantization, so bits_per_coded_sample is
not applicable.
Justin Ruggles [Sat, 29 Oct 2011 22:56:42 +0000 (18:56 -0400)]
twinvq: check for allocation failure in init_mdct_win()
Sean McGovern [Fri, 11 Nov 2011 00:16:58 +0000 (19:16 -0500)]
swscale: add padding to conversion buffer.
Altivec does unaligned reads from this buffer in
hscale_altivec_real(), and can thus read up to 16 bytes beyond
the end of the buffer. Therefore, add an extra 16 bytes of
padding at the end of the conversion buffer.
This fixes fate-lavfi-pixfmts_scale on AltiVec-enabled builds
under valgrind.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
John Brooks [Wed, 9 Nov 2011 23:28:35 +0000 (16:28 -0700)]
rtpdec: Simplify finalize_packet
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 11 Nov 2011 09:21:42 +0000 (11:21 +0200)]
http: Handle proxy authentication
Tested with both Basic and Digest authentication, and tested with
both proxy authentication and authentication for the requested
resource at the same time.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 10 Nov 2011 16:21:17 +0000 (18:21 +0200)]
http: Print an error message for Authorization Required, too
The error was hidden before, to avoid showing an error on the
first request where no auth has been provided, when the server
indicates which authentication method to use.
Now the error is printed if an authentication method was used,
but failed.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Thu, 10 Nov 2011 08:19:09 +0000 (09:19 +0100)]
AVOptions: don't return an invalid option when option list is empty
Mike Melanson [Tue, 8 Nov 2011 07:28:02 +0000 (23:28 -0800)]
AIFF: add 'twos' FourCC for the mux/demuxer (big endian PCM audio)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Luca Barbato [Tue, 8 Nov 2011 19:37:58 +0000 (11:37 -0800)]
doc: update libavfilter documentation
Update the reference to the conversion tool to use avconv and
make sure the example line works as supposed.
Remove the paragraph pointing to the svn repo
Martin Storsjö [Thu, 10 Nov 2011 15:52:38 +0000 (17:52 +0200)]
tls: Use the URLContext as logging context
Signed-off-by: Martin Storsjö <martin@martin.st>
Alex Converse [Fri, 4 Nov 2011 01:13:57 +0000 (18:13 -0700)]
aes: Avoid illegal read and don't generate more key than we use.
Alex Converse [Wed, 9 Nov 2011 21:40:44 +0000 (13:40 -0800)]
mpc7: Fix memset call in mpc7_decode_frame function
Justin Ruggles [Wed, 2 Nov 2011 16:06:04 +0000 (12:06 -0400)]
atrac1: use correct context for av_log()
Justin Ruggles [Mon, 31 Oct 2011 18:49:34 +0000 (14:49 -0400)]
apedec: consume the whole packet when copying to the decoder buffer.
This avoids artifically consuming a partial packet but ignoring remaining data
in subsequent calls.
Justin Ruggles [Mon, 31 Oct 2011 19:10:19 +0000 (15:10 -0400)]
apedec: do not needlessly copy s->samples to nblocks.
also move nblocks to the local scope where it is used.
Justin Ruggles [Mon, 31 Oct 2011 19:03:14 +0000 (15:03 -0400)]
apedec: check output buffer size after calculating actual output size
Justin Ruggles [Mon, 31 Oct 2011 18:57:04 +0000 (14:57 -0400)]
apedec: remove unneeded entropy decoder normalization.
The decoder already skips data at the end of the packet without this.
Also remove 2 APEContext fields that were only used for the end-of-frame
normalization.
Justin Ruggles [Sat, 29 Oct 2011 22:25:40 +0000 (18:25 -0400)]
truespeech: use memmove() in truespeech_update_filters()
Justin Ruggles [Sun, 30 Oct 2011 22:41:00 +0000 (18:41 -0400)]
vorbisdec: remove AVCODEC_MAX_AUDIO_FRAME_SIZE check
The user could provide a larger buffer, which is already checked separately
before writing output.
Justin Ruggles [Sun, 30 Oct 2011 22:40:21 +0000 (18:40 -0400)]
vorbisdec: remove unneeded buf_size==0 check
Justin Ruggles [Sun, 30 Oct 2011 22:38:19 +0000 (18:38 -0400)]
vorbisdec: return proper error codes instead of made-up ones
Martin Storsjö [Thu, 10 Nov 2011 09:09:26 +0000 (11:09 +0200)]
http: Don't add a Range: bytes=0- header for POST
That header simply doesn't make sense in that context.
Signed-off-by: Martin Storsjö <martin@martin.st>
Laurent Aimar [Tue, 27 Sep 2011 22:15:32 +0000 (22:15 +0000)]
sunrast: Check for invalid/corrupted bitstream
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Martin Storsjö [Thu, 10 Nov 2011 09:03:35 +0000 (11:03 +0200)]
http: Change the chunksize AVOption into chunked_post
The chunksize internal variable has two different uses - for
reading, it's the amount of data left of the current chunk
(or -1 if the server doesn't send data in chunked mode), where
it's only an internal state variable. For writing, it's used
to decide whether to enable chunked encoding (by default), by
using the value 0, or disable chunked encoding (value -1).
This, while consistent, doesn't make much sense to expose
as an AVOption. This splits the usage of the internal variable
into two variables, chunksize which is used for reading (as
before), and chunked_post which is the user-settable option,
with the values 0 and 1, where 1 is default.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Thu, 10 Nov 2011 08:34:58 +0000 (09:34 +0100)]
http: Add encoding/decoding flags to the AVOptions
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Wed, 9 Nov 2011 20:16:27 +0000 (21:16 +0100)]
avconv: remove some codec-specific hacks
The problem they are supposed to fix is handled in riff.c, so those
hacks are pointless.
Anton Khirnov [Sat, 5 Nov 2011 13:07:13 +0000 (14:07 +0100)]
crypto: add decoding flag to options.
Anton Khirnov [Sat, 5 Nov 2011 11:48:02 +0000 (12:48 +0100)]
tls: use AVIO_FLAG_NONBLOCK instead of deprecated URL_FLAG_NONBLOCK
Anton Khirnov [Sat, 5 Nov 2011 11:54:01 +0000 (12:54 +0100)]
http: use different classes for http and https.
Martin Storsjö [Tue, 8 Nov 2011 23:14:05 +0000 (01:14 +0200)]
http: Change an error log message to a warning
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Nov 2011 09:46:29 +0000 (11:46 +0200)]
http: Remove the now unused ff_http_set_headers custom function
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Nov 2011 09:48:51 +0000 (11:48 +0200)]
mms: Set http custom headers via the AVOption
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Nov 2011 09:45:57 +0000 (11:45 +0200)]
rtsp: Set http custom headers via the AVOption
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Nov 2011 09:43:13 +0000 (11:43 +0200)]
http: Make custom headers settable via an AVOption
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 8 Nov 2011 22:50:37 +0000 (00:50 +0200)]
crypto: Don't manually free memory allocated via AVOptions
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 8 Nov 2011 22:48:40 +0000 (00:48 +0200)]
avio: Free URLContext private data allocated via AVOptions
Signed-off-by: Martin Storsjö <martin@martin.st>
John Brooks [Thu, 10 Nov 2011 03:14:19 +0000 (20:14 -0700)]
avc: fix memory errors when encoding invalid h264 codecdata
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Justin Ruggles [Mon, 31 Oct 2011 17:41:47 +0000 (13:41 -0400)]
avcodec: add support for planar signed 8-bit PCM.
It is found in some 8svx files (e.g. ones created by SoX).
Currently the decoder reuses the 8svx functions because we already have
handling of a single large planar packet for the compressed 8svx codecs.
Justin Ruggles [Tue, 8 Nov 2011 22:47:09 +0000 (17:47 -0500)]
ra144enc: add sample_fmts list to ff_ra_144_encoder
This enables the user (i.e. avconv) to automatically convert to the supported
sample format if needed.
Justin Ruggles [Wed, 9 Nov 2011 21:21:08 +0000 (16:21 -0500)]
smackaud: use uint8_t* for 8-bit output buffer type
This matches the output sample format and the range of the output values.
Justin Ruggles [Wed, 9 Nov 2011 21:20:45 +0000 (16:20 -0500)]
smackaud: clip output samples
Justin Ruggles [Wed, 9 Nov 2011 21:19:52 +0000 (16:19 -0500)]
smackaud: use sign_extend() for difference value instead of casting
Justin Ruggles [Fri, 4 Nov 2011 02:10:15 +0000 (22:10 -0400)]
sipr: use a function pointer to select the decode_frame function
Justin Ruggles [Sat, 29 Oct 2011 05:20:39 +0000 (01:20 -0400)]
sipr: set mode based on block_align instead of bit_rate
the user is not required to set bit_rate
Justin Ruggles [Sat, 29 Oct 2011 04:49:38 +0000 (00:49 -0400)]
sipr: do not needlessly set *data_size to 0 when returning an error
Justin Ruggles [Wed, 9 Nov 2011 18:45:50 +0000 (13:45 -0500)]
ra288: fix formatting of LOCAL_ALIGNED_16
Martin Storsjö [Wed, 9 Nov 2011 09:45:01 +0000 (11:45 +0200)]
udp: Allow specifying the local IP address
This is useful if sending multicast data on a host with
multiple interfaces.
Signed-off-by: Martin Storsjö <martin@martin.st>
shahriman AMS [Tue, 8 Nov 2011 08:51:45 +0000 (08:51 +0000)]
VC1: Add bottom field offset to block_index[] to avoid rewriting (+10L)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
shahriman AMS [Tue, 8 Nov 2011 08:47:33 +0000 (08:47 +0000)]
vc1dec: move an if() block.
There are no reason for "if (c_valid) { ... }" to appear before
"if (b_valid) { ... }".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
shahriman AMS [Tue, 8 Nov 2011 08:47:32 +0000 (08:47 +0000)]
vc1dec: use correct hybrid prediction threshold.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
shahriman AMS [Tue, 8 Nov 2011 08:47:31 +0000 (08:47 +0000)]
vc1dec: Partial rewrite of vc1_pred_mv()
The current code is a generalization of the earlier progressive MV
prediction code. This was supposed to predict MVs for both interlaced
and progressive pictures. But the interlaced MV prediction is buggy
and works mostly by luck.
This partially fixes interlaced MV prediction.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
shahriman AMS [Tue, 8 Nov 2011 08:47:30 +0000 (08:47 +0000)]
vc1dec: take ME precision into account while scaling MV predictors.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Andrey Utkin [Tue, 8 Nov 2011 15:24:04 +0000 (17:24 +0200)]
lavf: don't leak corrupted packets
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Mon, 7 Nov 2011 09:19:17 +0000 (11:19 +0200)]
tls: Use ERR_get_error() in do_tls_poll
The return value ret isn't an error code that can be passed
to ERR_error_string().
This makes the error messages printed actually contain useful
information.
Signed-off-by: Martin Storsjö <martin@martin.st>
Alex Converse [Tue, 8 Nov 2011 02:46:46 +0000 (18:46 -0800)]
indeo3: Fix a fencepost error.
Found with asan and the venerable 1-dog.avi sample.
Alex Converse [Mon, 7 Nov 2011 18:14:54 +0000 (10:14 -0800)]
mxfdec: Fix comparison of unsigned expression < 0.
'size' is populated by functions returning int64_t and int that return
negative error codes.
Anton Khirnov [Tue, 8 Nov 2011 13:13:30 +0000 (14:13 +0100)]
mpegts: set stream id on just created stream, not an unrelated variable
Bug introduced in
84ad31ff180fa089cd6bfd93c246336a16036455.
Thanks to Uoti Urpala for finding it.
Justin Ruggles [Fri, 4 Nov 2011 00:41:17 +0000 (20:41 -0400)]
ra288: return error if input buffer is too small
Justin Ruggles [Sat, 29 Oct 2011 04:42:48 +0000 (00:42 -0400)]
ra288: utilize DSPContext.vector_fmul()
Justin Ruggles [Sat, 29 Oct 2011 04:09:03 +0000 (00:09 -0400)]
ra288: use memcpy() to copy decoded samples to output