Ed Torbett [Fri, 26 Jul 2013 19:05:21 +0000 (22:05 +0300)]
udp: Keep track of include and exclude sources separately
This allows us to explicitly fail if the caller tried to set
both inclusions and exclusions at the same time.
Signed-off-by: Martin Storsjö <martin@martin.st>
Ed Torbett [Fri, 26 Jul 2013 18:54:29 +0000 (21:54 +0300)]
udp: Allow specifying multicast include/blocks as host names as well
Previously this only allowed literal IP addresses. When these
are conveyed in a SDP file as in RFC4570, host names are allowed
as well.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Mon, 29 Jul 2013 17:39:51 +0000 (19:39 +0200)]
avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo
Also fix some similar typos in comments and documentation.
Diego Biurrun [Mon, 29 Jul 2013 16:23:08 +0000 (18:23 +0200)]
configure: Detect AIX ar command instead of hardcoding it in the OS section
Diego Biurrun [Wed, 17 Oct 2012 17:43:41 +0000 (19:43 +0200)]
fate: Add tree test
Diego Biurrun [Tue, 16 Oct 2012 14:08:58 +0000 (16:08 +0200)]
avutil/tree: Drop debug messages that clutter the output
Diego Biurrun [Tue, 16 Oct 2012 14:08:05 +0000 (16:08 +0200)]
avutil/tree: K&R formatting cosmetics
Diego Biurrun [Fri, 5 Oct 2012 17:37:10 +0000 (19:37 +0200)]
fate: Add timefilter test
Martin Storsjö [Mon, 29 Jul 2013 08:27:44 +0000 (11:27 +0300)]
hls: Free packets when skipping packets when seeking
This fixes memory leaks present since
2b3d041cdc.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 29 Jul 2013 07:27:09 +0000 (10:27 +0300)]
hlsproto: Store all durations in AV_TIME_BASE
Also parse segment durations as floating point, which is allowed
since HLS version 3.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 29 Jul 2013 07:26:02 +0000 (10:26 +0300)]
hls: Store all durations in AV_TIME_BASE
Also parse segment durations as floating point, which is allowed
since HLS version 3.
This is based on a patch by Zhang Rui.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 29 Jul 2013 07:09:02 +0000 (10:09 +0300)]
hls: Store first_timestamp in units of AV_TIME_BASE
When first_timestamp was stored as-is, its actual time base
wasn't known later in the seek function.
Additionally, the logic (from
795d9594cfa) for scaling it
based on stream_index is flawed - stream_index in the seek
function only specifies which stream the seek timestamp refers
to, but obviously doesn't say anything about which stream
first_timestamp belongs to.
In the cases where stream_index was >= 0 and all streams had the
same time base, this didn't matter in practice.
Seeking taking first_timestamp into account is problematic
when one variant is mpegts (with real timestamps) and one variant
is raw ADTS (with timestamps only being accumulated packet
duration), where the variants start at totally different timestamps.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sun, 10 Mar 2013 10:16:33 +0000 (11:16 +0100)]
huffyuvenc: BGRA support
Bug-Id: 452
Signed-off-by: Diego Biurrun <diego@biurrun.de>
LYF [Fri, 16 Nov 2012 06:12:27 +0000 (14:12 +0800)]
hls: Create an AVProgram for each variant
Without the information, an application may choose audio from one
variant and video from another variant, which leads to fetching two
variants from the network. This enables av_find_best_stream() to find
matching audio and video streams, so that only one variant is fetched.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Mon, 20 Aug 2012 23:00:05 +0000 (01:00 +0200)]
hls: Respect the different stream time bases when comparing dts
Also adjust the streams timestamps according to their start
timestamp when comparing. This helps getting correctly interleaved
packets if one stream lacks timestamps (such as a plain ADTS
stream when the other variants are full mpegts) when the others
have timestamps that don't start from zero.
This probably doesn't work properly if such a stream is
temporarily disabled (via the discard flags) and then reenabled,
and such streams are hard to correctly sync against the other
streams as well - but this works better than before at least.
The segment number restriction makes sure all variants advance
roughly at the same pace as well.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 28 Jul 2013 17:33:26 +0000 (20:33 +0300)]
hls: Set stream offset before opening a chained demuxer
This makes sure we don't accidentally check discard flags
for the wrong stream.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Mon, 13 Aug 2012 18:37:04 +0000 (20:37 +0200)]
hls: Don't check discard flags until the parent demuxer's streams actually exist
If passing the end of one segment while initializing the
chained demuxer, the parent demuxer's streams aren't set up
yet, so we can't recheck the discard flags.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Thu, 7 Mar 2013 12:42:12 +0000 (13:42 +0100)]
hls: Copy the time base from the chained demuxer
When a variant stream isn't mpegts but e.g. raw adts, the
default time base (90k) isn't correct.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 28 Jul 2013 17:09:31 +0000 (20:09 +0300)]
hls: Return all packets from a previous variant before moving on to the next one
This serves as a safeguard; normally we want to use the dts
comparison to interleave packets from all active variants. If that
dts comparison for some reason doesn't work as intended, make sure
that all packets in all variants for a certain sequence number have
been returned before moving on to the next one.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sun, 28 Jul 2013 17:04:05 +0000 (20:04 +0300)]
lavf: Don't interpret just slightly broken timestamps as wraparound
This avoids breaking some slightly incorrect (dts > pts) timestamps
in sample HLS streams from Apple.
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Wed, 17 Apr 2013 19:19:23 +0000 (21:19 +0200)]
oma: correctly mark and decrypt partial packets
Incomplete crypted files would lead to a read after buffer boundary
otherwise.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Wed, 17 Apr 2013 19:07:09 +0000 (21:07 +0200)]
oma: check geob tag boundary
Prevent read after buffer boundary on corrupted tag.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Sat, 4 May 2013 05:40:09 +0000 (07:40 +0200)]
oma: refactor seek function
Properly propagate seek errors from avio and the generic pcm seek.
Luca Barbato [Sun, 28 Jul 2013 16:24:15 +0000 (18:24 +0200)]
xl: Make sure the width is valid
And undo the wrong commit
f1cb490d6d7391ff7e28cc376908cc98a652228d
CC: libav-stable@libav.org
Zhang Rui [Mon, 22 Jul 2013 20:07:10 +0000 (04:07 +0800)]
http: Support reading gzip/deflate compressed data
Derived from VLC's http module.
Original authors:
Antoine Cellerier <dionoea@videolan.org>
Sébastien Escudier <sebastien-devel@celeos.eu>
Rémi Duraffort <ivoire@videolan.org>
Rémi Denis-Courmont <remi@remlab.net>
Francois Cartegnie <fcvlcdev@free.fr>
Normally, http servers shouldn't send this to us since we
don't advertise it with an Accept-Encoding header, but some
servers still do it anyway.
Signed-off-by: Martin Storsjö <martin@martin.st>
Paul B Mahol [Sat, 27 Jul 2013 13:51:36 +0000 (13:51 +0000)]
utvideoenc: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Luca Barbato [Sun, 7 Jul 2013 10:31:19 +0000 (12:31 +0200)]
aasc: Check minimum buffer size
Prevent some overreads.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Tue, 9 Jul 2013 11:32:42 +0000 (13:32 +0200)]
qdm2: Whitespace cosmetics
Luca Barbato [Wed, 10 Jul 2013 14:34:14 +0000 (16:34 +0200)]
flac: use meaningful return values
Luca Barbato [Sat, 27 Jul 2013 18:34:07 +0000 (20:34 +0200)]
xl: Fix the buffer size check
Also make it the first check.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Sat, 27 Jul 2013 18:01:03 +0000 (20:01 +0200)]
xl: K&R formatting cosmetics
Diego Biurrun [Tue, 26 Mar 2013 00:09:00 +0000 (01:09 +0100)]
doc: cosmetics: Consistently format list and table items
Diego Biurrun [Thu, 28 Feb 2013 18:24:29 +0000 (19:24 +0100)]
Add missing deprecation attributes
Diego Biurrun [Sat, 27 Jul 2013 11:14:15 +0000 (13:14 +0200)]
eval: Explicitly ignore return value of strtod() in parse_db()
The return value is not needed. This fixes the warning:
libavutil/eval.c:353:15: warning: ignoring return value of ‘strtod’
Diego Biurrun [Thu, 14 Feb 2013 11:42:57 +0000 (12:42 +0100)]
Remove unreachable returns
Luca Barbato [Sat, 27 Jul 2013 13:48:41 +0000 (15:48 +0200)]
avidec: Let the inner dv demuxer take care of discarding
CC: libav-stable@libav.org
Luca Barbato [Sat, 27 Jul 2013 10:47:09 +0000 (12:47 +0200)]
avidec: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diego Biurrun [Thu, 18 Jul 2013 16:12:27 +0000 (18:12 +0200)]
build: Only check FATE dependencies when running FATE tests
Only check dependencies if invoking the make targets 'check'
or anything matching 'fate%' except 'fate-rsync'.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Fri, 26 Jul 2013 19:03:55 +0000 (21:03 +0200)]
h264: K&R formatting cosmetics
Diego Biurrun [Fri, 26 Jul 2013 19:09:36 +0000 (21:09 +0200)]
buffersink: K&R formatting cosmetics
Martin Storsjö [Fri, 26 Jul 2013 18:50:40 +0000 (21:50 +0300)]
wtv: Drop some casts that now are unnecessary
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 24 Jul 2013 09:21:49 +0000 (12:21 +0300)]
wtv: Make WTV_SECTOR_BITS a 64 bit constant
This makes sure that values that are left-shifted by this constant
end up casted to 64 bit before shifting, avoiding overflow if the
value ends up larger than 2 GB.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Kostylev [Thu, 25 Jul 2013 15:37:20 +0000 (11:37 -0400)]
AIX: add support for shared builds
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Hendrik Schreiber [Tue, 23 Jul 2013 09:25:34 +0000 (11:25 +0200)]
avio: Don't set the seekable flag if no seek function is provided
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 26 Jul 2013 17:40:25 +0000 (20:40 +0300)]
rtpenc: Fix some odd comments
Some weird comments stem from the fact that the rtpdec and rtpenc
code was shared earlier.
Signed-off-by: Martin Storsjö <martin@martin.st>
Hendrik Leppkes [Fri, 26 Jul 2013 08:20:47 +0000 (10:20 +0200)]
lavfi: add attribute_align_arg to all public entry points
Previously it was partly only added to central functions called
internally, however if GCC would inline these into the public fuction, the
alignment attribute would not take effect.
Instead, add it to all public entry points to avoid these problems.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Sat, 4 May 2013 19:18:13 +0000 (21:18 +0200)]
miscellaneous typo fixes
Rémi Denis-Courmont [Wed, 24 Jul 2013 16:50:43 +0000 (19:50 +0300)]
mpeg12: Ignore slice threading if hwaccel is active
Slice threading does not work with hardware acceleration, as decoding
is per-picture. This fixes Bugzilla #542.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Rainer Hochecker [Wed, 24 Jul 2013 16:50:42 +0000 (19:50 +0300)]
vdpau: Fix VC-1 interlaced mode
VDPAU expects the bitstream value (0, 2 or 3).
libavcodec uses an enum (0, 1 or 2).
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Tue, 23 Jul 2013 21:48:45 +0000 (23:48 +0200)]
cosmetics: Add '0' to float constants ending in '.'.
Diego Biurrun [Fri, 19 Jul 2013 22:06:29 +0000 (00:06 +0200)]
twinvq: K&R formatting cosmetics
Martin Storsjö [Wed, 24 Jul 2013 09:22:55 +0000 (12:22 +0300)]
arm: Comment out unused labels in simple_idct_arm
When building for iOS in thumb mode, gas-preprocessor.pl doesn't
mark unused labels as thumb functions (as it does for other
local labels, where it can figure out that they are functions
due to being referenced in branch instructions). This leads to
linker warnings for some of those local labels, such as:
ld: warning: ARM function not 4-byte aligned: __a_evaluation from
libavcodec/libavcodec.a(simple_idct_arm.o)
Therefore, comment them out since they don't have any function.
They do still have a value in documenting key points in the
assembly source though.
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Tue, 23 Jul 2013 12:19:09 +0000 (14:19 +0200)]
8bps: Make the bound-checks consistent
Luca Barbato [Mon, 22 Jul 2013 21:26:05 +0000 (23:26 +0200)]
8bps: Bound-check the input buffer
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Mon, 22 Jul 2013 10:44:19 +0000 (12:44 +0200)]
4xm: Reject not a multiple of 16 dimension
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 12 Jul 2013 21:38:02 +0000 (23:38 +0200)]
alsdec: Clean up error paths
Fix at least a memory leak.
CC: libav-stable@libav.org
Luca Barbato [Fri, 12 Jul 2013 21:02:25 +0000 (23:02 +0200)]
alsdec: Fix the clipping range
mcc_weightings is only 32 elements.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Martin Storsjö [Mon, 22 Jul 2013 09:24:43 +0000 (12:24 +0300)]
arm: Mangle external symbols properly in new vfp assembly files
Signed-off-by: Martin Storsjö <martin@martin.st>
Ben Avison [Mon, 15 Jul 2013 17:28:17 +0000 (18:28 +0100)]
arm: Add VFP-accelerated version of qmf_32_subbands
Before After
Mean StdDev Mean StdDev Change
This function 1323.0 98.0 746.2 60.6 +77.3%
Overall 15400.0 336.4 14147.5 288.4 +8.9%
Signed-off-by: Martin Storsjö <martin@martin.st>
Ben Avison [Mon, 15 Jul 2013 17:28:16 +0000 (18:28 +0100)]
dcadsp: Add a new method, qmf_32_subbands
This does most of the work formerly carried out by
the static function qmf_32_subbands() in dcadec.c.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 19 Jul 2013 08:23:57 +0000 (11:23 +0300)]
arm: Add VFP-accelerated version of fft16
Before After
Mean StdDev Mean StdDev Change
This function 1389.3 4.2 967.8 35.1 +43.6%
Overall 15577.5 83.2 15400.0 336.4 +1.2%
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 19 Jul 2013 08:03:32 +0000 (11:03 +0300)]
arm: Add VFP-accelerated version of dca_lfe_fir
Before After
Mean StdDev Mean StdDev Change
This function 868.2 33.5 436.0 27.0 +99.1%
Overall 15973.0 223.2 15577.5 83.2 +2.5%
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 19 Jul 2013 07:59:17 +0000 (10:59 +0300)]
arm: Add VFP-accelerated version of imdct_half
Before After
Mean StdDev Mean StdDev Change
This function 2653.0 28.5 1108.8 51.4 +139.3%
Overall 17049.5 408.2 15973.0 223.2 +6.7%
Signed-off-by: Martin Storsjö <martin@martin.st>
Ben Avison [Mon, 15 Jul 2013 17:28:12 +0000 (18:28 +0100)]
arm: Add VFP-accelerated version of int32_to_float_fmul_array8
Before After
Mean StdDev Mean StdDev Change
This function 366.2 18.3 277.8 13.7 +31.9%
Overall 18420.5 489.1 17049.5 408.2 +8.0%
Signed-off-by: Martin Storsjö <martin@martin.st>
Ben Avison [Tue, 16 Jul 2013 12:41:18 +0000 (15:41 +0300)]
dcadec: Use int32_to_float_fmul_array8
Signed-off-by: Martin Storsjö <martin@martin.st>
Ben Avison [Mon, 15 Jul 2013 17:28:11 +0000 (18:28 +0100)]
fmtconvert: Add a new method, int32_to_float_fmul_array8
This is similar to int32_to_float_fmul_scalar, but
loads a new scalar multiplier every 8 input samples.
This enables the use of much larger input arrays, which
is important for pipelining on some CPUs (such as
ARMv6).
Signed-off-by: Martin Storsjö <martin@martin.st>
Ben Avison [Mon, 15 Jul 2013 17:28:10 +0000 (18:28 +0100)]
arm: Add VFP-accelerated version of int32_to_float_fmul_scalar
Before After
Mean StdDev Mean StdDev Change
This function 1175.0 4.4 366.2 18.3 +220.8%
Overall 19285.5 292.0 18420.5 489.1 +4.7%
Signed-off-by: Martin Storsjö <martin@martin.st>
Ben Avison [Mon, 15 Jul 2013 17:28:09 +0000 (18:28 +0100)]
arm: Add VFP-accelerated version of synth_filter_float
Before After
Mean StdDev Mean StdDev Change
This function 9295.0 114.9 4853.2 83.5 +91.5%
Overall 23699.8 397.6 19285.5 292.0 +22.9%
Signed-off-by: Martin Storsjö <martin@martin.st>
Justin Ruggles [Sat, 13 Jul 2013 15:55:33 +0000 (11:55 -0400)]
libspeexdec: fix detection of final terminator code
Hendrik Leppkes [Fri, 19 Jul 2013 13:44:39 +0000 (15:44 +0200)]
configure: generate full msvc debug symbols when linking in debug mode
Signed-off-by: Martin Storsjö <martin@martin.st>
Derek Buitenhuis [Fri, 19 Jul 2013 18:25:57 +0000 (14:25 -0400)]
libx264: Define X264_API_IMPORTS on MSVC/ICL
libx264 has a few data exports which require X264_API_IMPORTS
to be defined if we link to libx264 dynamically on Windows.
In a similar fashion to how we handle our compat snprintf
implementation, if we define it all the time, the compiler
will first try and link to __imp_x264_symbol_name, and failing
that, as in the case of a static libx264, will attempt to link
to the non-prefixed symbol, which has already been pulled in by
other x264 functions' object files.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Luca Barbato [Fri, 19 Jul 2013 19:34:21 +0000 (21:34 +0200)]
dsicinav: Clip the source size to the expected maximum
A packet larger than cin->bitmap_size does not make sense.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 19 Jul 2013 19:09:40 +0000 (21:09 +0200)]
dsicinav: Bound-check the source buffer when needed
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 19 Jul 2013 19:05:44 +0000 (21:05 +0200)]
dsicinav: K&R formatting cosmetics
Vittorio Giovara [Tue, 16 Jul 2013 13:05:01 +0000 (15:05 +0200)]
lavfi: filtfmts: use newer avfilter APIs
Signed-off-by: Martin Storsjö <martin@martin.st>
Ed Torbett [Thu, 27 Jun 2013 07:53:00 +0000 (08:53 +0100)]
rtsp: Support multicast source filters (RFC 4570)
This supports inclusion of one single IP address for now,
at the media level. Specifying the filter at the session level
(instead of at the media level), multiple source addresses,
exclusion, or using FQDNs instead of plain IP addresses is not
supported (yet at least).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 18 Jul 2013 18:12:14 +0000 (21:12 +0300)]
rtpproto: Check the source IP if one single source has been specified
If another peer is sending unicast packets to the same port that
we are listening on, those packets can end up being received despite
using source specific multicast. For those cases, manually check the
source address of received packets against the intended source address.
This only handles the case when the source list is one single IP
address for now, which probably is the most common case.
Based on a patch by Ed Torbett.
Signed-off-by: Martin Storsjö <martin@martin.st>
Ed Torbett [Thu, 18 Jul 2013 17:04:16 +0000 (20:04 +0300)]
rtpproto: Support IGMPv3 source specific multicast inclusion
Blocking/exclusion is not supported yet.
The rtp protocol parameter takes the same form as the existing
sources parameter for the udp protocol.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Thu, 18 Jul 2013 13:13:18 +0000 (15:13 +0200)]
compat: Add missing license boilerplates
Diego Biurrun [Thu, 25 Oct 2012 14:49:26 +0000 (16:49 +0200)]
Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/
Also fix a comment and an #endif comment.
Martin Storsjö [Wed, 17 Jul 2013 15:24:23 +0000 (18:24 +0300)]
avserver: Remove unused loadable module support
There is no record of this ever being used at all, anywhere,
since the feature was added in
2effd274466.
This gets rid of extra linker tricks just to support a feature
that isn't used, simplifying portability to other platforms.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 17 Jul 2013 18:19:24 +0000 (20:19 +0200)]
Consistently use "cpu_flags" as variable/parameter name for CPU flags
Christophe Gisquet [Thu, 27 Dec 2012 21:33:51 +0000 (22:33 +0100)]
fmtconvert: Explicitly use int32_t instead of int
Signed-off-by: Martin Storsjö <martin@martin.st>
Sean McGovern [Tue, 16 Jul 2013 15:31:23 +0000 (11:31 -0400)]
pthread: Rename thread_init to avoid symbol collision
The AIX threads library exposes a function with the same name.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 15 Jul 2013 13:44:20 +0000 (16:44 +0300)]
lavf: Make sure avg_frame_rate can be calculated without integer overflow
If either of the deltas is too large for the multiplications to
succeed, don't use this for setting the avg frame rate.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 15 Jul 2013 14:13:54 +0000 (17:13 +0300)]
mov: Do not allow updating the time scale after it has been set
The time scale is set in mdhd, and later validated in the
enclosing trak atom once all of its children have been parsed.
A loose mdhd atom outside of a trak atom could update the time
scale of the last stream without any validation.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 15 Jul 2013 12:59:50 +0000 (15:59 +0300)]
mov: Seek back if overreading an individual atom
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 15 Jul 2013 08:28:46 +0000 (11:28 +0300)]
ac3dec: Don't consume more data than the actual input packet size
This was handled properly in the normal return case at the end
of the function, but not in this special case.
Returning a value larger than the input packet size can cause
problems for certain library users.
Returning the actual input buffer size unconditionally, since
it is not guaranteed that frame_size is set to a sensible
value at this point.
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Sun, 14 Jul 2013 16:16:56 +0000 (18:16 +0200)]
indeo: Reject impossible FRAMETYPE_NULL
A frame marked FRAMETYPE_NULL cannot be scalable and requires a
previous frame successfully decoded.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Sun, 14 Jul 2013 14:49:43 +0000 (16:49 +0200)]
indeo: Do not reference mismatched tiles
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Sun, 14 Jul 2013 13:48:17 +0000 (15:48 +0200)]
indeo: Sanitize ff_ivi_init_planes fail paths
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Sun, 14 Jul 2013 12:41:56 +0000 (14:41 +0200)]
indeo5: return proper error codes
Luca Barbato [Sun, 14 Jul 2013 12:06:16 +0000 (14:06 +0200)]
indeo: Bound-check before applying motion compensation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Martin Storsjö [Fri, 12 Jul 2013 09:14:12 +0000 (12:14 +0300)]
rtsp: Include an User-Agent header field in all requests
Some rtsp servers like the IP Cam IcyBox IB-CAM2002 need it.
Based on a patch by Carl Eugen Hoyos.
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Fri, 12 Jul 2013 12:33:24 +0000 (14:33 +0200)]
indeo: Bound-check before applying transform
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 12 Jul 2013 16:10:05 +0000 (18:10 +0200)]
indeo4: Validate scantable dimension
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 12 Jul 2013 13:02:33 +0000 (15:02 +0200)]
indeo4: Check the quantization matrix index
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 12 Jul 2013 12:32:03 +0000 (14:32 +0200)]
indeo4: Do not access missing reference MV
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Martin Storsjö [Thu, 11 Jul 2013 13:39:23 +0000 (16:39 +0300)]
ac3dec: Consistently use AC3_BLOCK_SIZE and sizeof
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 11 Jul 2013 13:30:18 +0000 (16:30 +0300)]
ac3dec: Increment channel pointers only once per channel
If the channel mapping map multiple output channels to one
input channel, we should only increment the actual pointer once.
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>