ffmpeg.git
6 years agortpenc: Simplify code by introducing a macro for rescaling NTP timestamps
Martin Storsjö [Wed, 9 Jan 2013 16:55:52 +0000 (18:55 +0200)]
rtpenc: Simplify code by introducing a macro for rescaling NTP timestamps

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoavfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs
Diego Biurrun [Mon, 29 Jul 2013 18:49:53 +0000 (20:49 +0200)]
avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs

6 years agotree-test: Refactor and plug memory leaks
Diego Biurrun [Tue, 30 Jul 2013 15:28:44 +0000 (17:28 +0200)]
tree-test: Refactor and plug memory leaks

With the most annoying memory leak found by Derek Buitenhuis.

6 years agotree.h: K&R formatting and typo cosmetics
Diego Biurrun [Tue, 30 Jul 2013 17:41:47 +0000 (19:41 +0200)]
tree.h: K&R formatting and typo cosmetics

6 years agohls: Call avformat_find_stream_info() on the chained demuxers
Michael Niedermayer [Wed, 25 Jul 2012 15:40:33 +0000 (17:40 +0200)]
hls: Call avformat_find_stream_info() on the chained demuxers

This allows the chained demuxer (or more precisely, the lavf
utility code) to better fill in timestamps on packets from
these, especially for cases where one stream is a raw ADTS
stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoReplace remaining obsolete PIX_FMT names with AV_PIX_FMT equivalents
Diego Biurrun [Mon, 29 Jul 2013 18:48:47 +0000 (20:48 +0200)]
Replace remaining obsolete PIX_FMT names with AV_PIX_FMT equivalents

6 years agortsp: Support RFC4570 (source specific multicast) more properly.
Ed Torbett [Fri, 26 Jul 2013 10:38:00 +0000 (11:38 +0100)]
rtsp: Support RFC4570 (source specific multicast) more properly.

Add support for domain names, for multiple source addresses,
for exclusions, and for session level specification of addresses.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agortpproto: Support more than one SSM include address, support excludes
Ed Torbett [Fri, 26 Jul 2013 19:37:00 +0000 (22:37 +0300)]
rtpproto: Support more than one SSM include address, support excludes

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoudp: Keep track of include and exclude sources separately
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>
6 years agoudp: Allow specifying multicast include/blocks as host names as well
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>
6 years agoavisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo
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.

6 years agoconfigure: Detect AIX ar command instead of hardcoding it in the OS section
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

6 years agofate: Add tree test
Diego Biurrun [Wed, 17 Oct 2012 17:43:41 +0000 (19:43 +0200)]
fate: Add tree test

6 years agoavutil/tree: Drop debug messages that clutter the output
Diego Biurrun [Tue, 16 Oct 2012 14:08:58 +0000 (16:08 +0200)]
avutil/tree: Drop debug messages that clutter the output

6 years agoavutil/tree: K&R formatting cosmetics
Diego Biurrun [Tue, 16 Oct 2012 14:08:05 +0000 (16:08 +0200)]
avutil/tree: K&R formatting cosmetics

6 years agofate: Add timefilter test
Diego Biurrun [Fri, 5 Oct 2012 17:37:10 +0000 (19:37 +0200)]
fate: Add timefilter test

6 years agohls: Free packets when skipping packets when seeking
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>
6 years agohlsproto: Store all durations in AV_TIME_BASE
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>
6 years agohls: Store all durations in AV_TIME_BASE
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>
6 years agohls: Store first_timestamp in units of AV_TIME_BASE
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>
6 years agohuffyuvenc: BGRA support
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>
6 years agohls: Create an AVProgram for each variant
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>
6 years agohls: Respect the different stream time bases when comparing dts
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>
6 years agohls: Set stream offset before opening a chained demuxer
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>
6 years agohls: Don't check discard flags until the parent demuxer's streams actually exist
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>
6 years agohls: Copy the time base from the chained demuxer
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>
6 years agohls: Return all packets from a previous variant before moving on to the next one
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>
6 years agolavf: Don't interpret just slightly broken timestamps as wraparound
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>
6 years agooma: correctly mark and decrypt partial packets
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
6 years agooma: check geob tag boundary
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
6 years agooma: refactor seek function
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.

6 years agoxl: Make sure the width is valid
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
6 years agohttp: Support reading gzip/deflate compressed data
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>
6 years agoutvideoenc: use av_image_copy_plane()
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>
6 years agoaasc: Check minimum buffer size
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
6 years agoqdm2: Whitespace cosmetics
Luca Barbato [Tue, 9 Jul 2013 11:32:42 +0000 (13:32 +0200)]
qdm2: Whitespace cosmetics

6 years agoflac: use meaningful return values
Luca Barbato [Wed, 10 Jul 2013 14:34:14 +0000 (16:34 +0200)]
flac: use meaningful return values

6 years agoxl: Fix the buffer size check
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
6 years agoxl: K&R formatting cosmetics
Luca Barbato [Sat, 27 Jul 2013 18:01:03 +0000 (20:01 +0200)]
xl: K&R formatting cosmetics

6 years agodoc: cosmetics: Consistently format list and table items
Diego Biurrun [Tue, 26 Mar 2013 00:09:00 +0000 (01:09 +0100)]
doc: cosmetics: Consistently format list and table items

6 years agoAdd missing deprecation attributes
Diego Biurrun [Thu, 28 Feb 2013 18:24:29 +0000 (19:24 +0100)]
Add missing deprecation attributes

6 years agoeval: Explicitly ignore return value of strtod() in parse_db()
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’

6 years agoRemove unreachable returns
Diego Biurrun [Thu, 14 Feb 2013 11:42:57 +0000 (12:42 +0100)]
Remove unreachable returns

6 years agoavidec: Let the inner dv demuxer take care of discarding
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
6 years agoavidec: K&R formatting cosmetics
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>
6 years agobuild: Only check FATE dependencies when running FATE tests
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>
6 years agoh264: K&R formatting cosmetics
Diego Biurrun [Fri, 26 Jul 2013 19:03:55 +0000 (21:03 +0200)]
h264: K&R formatting cosmetics

6 years agobuffersink: K&R formatting cosmetics
Diego Biurrun [Fri, 26 Jul 2013 19:09:36 +0000 (21:09 +0200)]
buffersink: K&R formatting cosmetics

6 years agowtv: Drop some casts that now are unnecessary
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>
6 years agowtv: Make WTV_SECTOR_BITS a 64 bit constant
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>
6 years agoAIX: add support for shared builds
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>
6 years agoavio: Don't set the seekable flag if no seek function is provided
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>
6 years agortpenc: Fix some odd comments
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>
6 years agolavfi: add attribute_align_arg to all public entry points
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>
6 years agomiscellaneous typo fixes
Diego Biurrun [Sat, 4 May 2013 19:18:13 +0000 (21:18 +0200)]
miscellaneous typo fixes

6 years agompeg12: Ignore slice threading if hwaccel is active
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>
6 years agovdpau: Fix VC-1 interlaced mode
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>
6 years agocosmetics: Add '0' to float constants ending in '.'.
Diego Biurrun [Tue, 23 Jul 2013 21:48:45 +0000 (23:48 +0200)]
cosmetics: Add '0' to float constants ending in '.'.

6 years agotwinvq: K&R formatting cosmetics
Diego Biurrun [Fri, 19 Jul 2013 22:06:29 +0000 (00:06 +0200)]
twinvq: K&R formatting cosmetics

6 years agoarm: Comment out unused labels in simple_idct_arm
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>
6 years ago8bps: Make the bound-checks consistent
Luca Barbato [Tue, 23 Jul 2013 12:19:09 +0000 (14:19 +0200)]
8bps: Make the bound-checks consistent

6 years ago8bps: Bound-check the input buffer
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
6 years ago4xm: Reject not a multiple of 16 dimension
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
6 years agoalsdec: Clean up error paths
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
6 years agoalsdec: Fix the clipping range
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
6 years agoarm: Mangle external symbols properly in new vfp assembly files
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>
6 years agoarm: Add VFP-accelerated version of qmf_32_subbands
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>
6 years agodcadsp: Add a new method, qmf_32_subbands
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>
6 years agoarm: Add VFP-accelerated version of fft16
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>
6 years agoarm: Add VFP-accelerated version of dca_lfe_fir
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>
6 years agoarm: Add VFP-accelerated version of imdct_half
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>
6 years agoarm: Add VFP-accelerated version of int32_to_float_fmul_array8
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>
6 years agodcadec: Use int32_to_float_fmul_array8
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>
6 years agofmtconvert: Add a new method, int32_to_float_fmul_array8
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>
6 years agoarm: Add VFP-accelerated version of int32_to_float_fmul_scalar
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>
6 years agoarm: Add VFP-accelerated version of synth_filter_float
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>
6 years agolibspeexdec: fix detection of final terminator code
Justin Ruggles [Sat, 13 Jul 2013 15:55:33 +0000 (11:55 -0400)]
libspeexdec: fix detection of final terminator code

6 years agoconfigure: generate full msvc debug symbols when linking in debug mode
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>
6 years agolibx264: Define X264_API_IMPORTS on MSVC/ICL
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>
6 years agodsicinav: Clip the source size to the expected maximum
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
6 years agodsicinav: Bound-check the source buffer when needed
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
6 years agodsicinav: K&R formatting cosmetics
Luca Barbato [Fri, 19 Jul 2013 19:05:44 +0000 (21:05 +0200)]
dsicinav: K&R formatting cosmetics

6 years agolavfi: filtfmts: use newer avfilter APIs
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>
6 years agortsp: Support multicast source filters (RFC 4570)
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>
6 years agortpproto: Check the source IP if one single source has been specified
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>
6 years agortpproto: Support IGMPv3 source specific multicast inclusion
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>
6 years agocompat: Add missing license boilerplates
Diego Biurrun [Thu, 18 Jul 2013 13:13:18 +0000 (15:13 +0200)]
compat: Add missing license boilerplates

6 years agoEmploy consistent LIBAV_COMPAT_ multiple inclusion guards in compat/
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.

6 years agoavserver: Remove unused loadable module support
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>
6 years agoConsistently use "cpu_flags" as variable/parameter name for CPU flags
Diego Biurrun [Wed, 17 Jul 2013 18:19:24 +0000 (20:19 +0200)]
Consistently use "cpu_flags" as variable/parameter name for CPU flags

6 years agofmtconvert: Explicitly use int32_t instead of int
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>
6 years agopthread: Rename thread_init to avoid symbol collision
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>
6 years agolavf: Make sure avg_frame_rate can be calculated without integer overflow
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>
6 years agomov: Do not allow updating the time scale after it has been set
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>
6 years agomov: Seek back if overreading an individual atom
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>
6 years agoac3dec: Don't consume more data than the actual input packet size
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>
6 years agoindeo: Reject impossible FRAMETYPE_NULL
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
6 years agoindeo: Do not reference mismatched tiles
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
6 years agoindeo: Sanitize ff_ivi_init_planes fail paths
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
6 years agoindeo5: return proper error codes
Luca Barbato [Sun, 14 Jul 2013 12:41:56 +0000 (14:41 +0200)]
indeo5: return proper error codes