Alex Converse [Tue, 26 Apr 2011 18:29:03 +0000 (14:29 -0400)]
Large intensity stereo and PNS indices are legal. Clip them instead of
erroring out. A magnitude of 100 corresponds to 2^25 so the will most
likely result in clipped output anyway.
None of the conformance streams fall in the range that need to be clipped.
smacker: remove unnecessary call to avctx->release_buffer in decode_frame()
The release_buffer was cleaning the provided frame, thus causing the
successive call to avctx->reget_buffer() to allocate a new frame. In
case the returned frame was not the same one previously returned but a
new one with different data, it resulted in artifacts.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Roger Pau Monné <roger.pau@entel.upc.edu> Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Anton Khirnov <anton@khirnov.net>
Mark Himsley [Fri, 18 Mar 2011 15:25:26 +0000 (15:25 +0000)]
fade: fix draw_slice() check on fade->factor value
draw_slice() checks that the fade factor is < 65536 and only
calculates the fade if so. But the fade factor is clipped in
end_frame() by av_clip_uint16() to 65535, so the fade is calculated
for every frame. This patch alters the check so that it compares with
< 65535 (UINT16_MAX).
Mark Himsley [Fri, 18 Mar 2011 14:42:29 +0000 (14:42 +0000)]
fade: make draw_slice() chroma check against planes 1 and 2
draw_slice() checks that planes 0 and 1 of AVFilterBufferRef's data
are not NULL before manipulating planes 1 and 2. This patch makes the
check against planes 1 and 2. More senseful and possibly more robust.
Official AVI specification says that stream header in case of video contains
BITMAPINFO, which is equal to BITMAPINFOHEADER and optional palette. Currently
lavf AVI demuxer thinks otherwise which produces garbage on codecs that have
both palette and extradata (luckily, there are not so many such codecs).
An example of such file is:
http://samples.multimedia.cx/V-codecs/KMVC/baseball1.avi
(IIRC, MSS1 or MSS2 also had such situation but they are still not supported
by lavc).
As a side note, passing palette in extradata as it's been done previously is
not quite correct since proper _extra_ data is surplus bytes in
BITMAPINFOHEADER, not including palette.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Diego Biurrun [Sun, 24 Apr 2011 17:49:39 +0000 (19:49 +0200)]
vorbisdec: Employ proper printf format specifiers for uint_fast32_t.
libavcodec/vorbisdec.c:543: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘uint_fast32_t’
libavcodec/vorbisdec.c:543: warning: format ‘%d’ expects type ‘int’, but argument 5 has type ‘uint_fast32_t’
Martin Storsjö [Sun, 24 Apr 2011 17:19:49 +0000 (20:19 +0300)]
applehttp: Don't export variant_bitrate if it isn't known
If there are no variants, the total bitrate of the single
stream isn't known, and exporting variant_bitrate = 0 does
look weird, since there really aren't any variants.
All file names should be in UTF-8 within libavformat.
This is handled by mapping the open() function to an internal one
in os_support.h for windows.
fopen() could be overridden in the same way, but if that would be
used from ffmpeg.c, it would add a dependency on an ff prefixed
internal lavf function.
Brad [Mon, 28 Mar 2011 01:05:22 +0000 (21:05 -0400)]
patcheck: Allow overiding grep program(s) through environment variables.
patcheck hardcodes the binary names for grep/egrep. This makes overriding the
binary names a pain, e.g. when calling a GNU version of grep on BSD systems.
This prevents a call to bytestream_get_be16() using a movzwl both before
and after the ror instruction, which is obviously inefficient. Arm uses
the same trick also.
Sintel decoding goes from (avg+SD) 9.856 +/- 0.003 to 9.797 +/- 0.003 sec.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Martin Storsjö [Sun, 23 Jan 2011 21:42:18 +0000 (23:42 +0200)]
applehttp: Handle AES-128 encrypted streams
This should hopefully fix roundup issue 2586.
This commit only implements it in the demuxer, not in the
protocol handler. If desired, some of the code could be
refactored to be shared by both implementations.
Martin Storsjö [Sat, 22 Jan 2011 23:31:41 +0000 (01:31 +0200)]
Add a protocol handler for AES CBC decryption with PKCS7 padding
This can later be extended to support other AES bit sizes,
encryption, other crypto algorithms, reading the key from a URL, etc.
In order to use it, the key and initialization vector has to be
passed via AVOptions. Since such options can't be passed to
protocols from the command line, the protocol is currently
only for libavformat internal use.
Martin Storsjö [Thu, 21 Apr 2011 21:45:06 +0000 (00:45 +0300)]
doc: Mention that DragonFly BSD requires __BSD_VISIBLE set
Setting this should fix the FATE build failure on DragonFly BSD,
since inet_aton only is visible if __BSD_VISIBLE is set.
Alternatively, a line defining __BSD_VISIBLE=1 could be
added at the top of os_support.c. For FreeBSD, similar lines
are required in libavdevice/bktr.c and libavdevice/oss_audio.c, too.
AVERROR_NUMEXPECTED is used only in the image muxer and demuxer, and
has a too much specific meaning, which is better explained through a
log message. Thus it can be replaced by AVERROR(EINVAL).
This breaks API.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it> Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Wed, 20 Apr 2011 18:22:08 +0000 (21:22 +0300)]
Makefile: Include dependencies for test tools, too
This makes seek_test to be rebuilt when its dependencies
has changed. The changes to the dependencies didn't usually matter
in practice, but the introduction of side data in AVPacket required
a recompilation.
In avcodec_open(), set return code to an error value only when an error occurs
instead of unconditionally at the start of the function.
This fixes a bug where a successful call to ff_thread_init() masks errors that
occur after that point in the function. It also makes future bugs like this
less likely since the error code is now set near to the point in the code
where the error is found.
The problem with url_exist() is that it tries to open a resource in
RDONLY mode. If the file is a FIFO and there is already a reading
client, the open() call will hang.
By using avio_check() with access mode of 0, the second reading
process will check if the file exists without attempting to open it,
thus avoiding the lock.