Commit Graph

38131 Commits

Author SHA1 Message Date
Luca Barbato b4ec7a5fee mem: Document the av_realloc family of functions properly
realloc() does not accept pointers from memalign().
2013-09-04 10:56:41 +02:00
Luca Barbato 7f9e893f56 build: Report an error message when a pc file is not found
Ease tracking path problems.
2013-09-04 09:47:06 +02:00
Michael Niedermayer af11fa5409 mjpegb: Detect changing number of planes in interlaced video
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:58:24 +03:00
Martin Storsjö 35cbc98b72 alac: Check that the channels fit at the given offset
The code tries to decode a number of channels at the
offset given by the ff_alac_channel_layout_offsets table.
Even if the number of channels decoded so far doesn't
exceed the total number of channels, we need to check that
we actually can decode that number of channels at this offset
as well.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:57:52 +03:00
Martin Storsjö d719981273 4xm: Check that the read track value is non-negative
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:57:36 +03:00
Martin Storsjö 5bcd3ae5b1 matroskadec: Check that .lang was allocated and set before reading it
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:57:15 +03:00
Martin Storsjö f7c5883126 alac: Limit max_samples_per_frame
Otherwise buffer size calculations in allocate_buffers could
overflow later, making the code think a large enough buffer
actually was allocated.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:56:36 +03:00
Martin Storsjö 0fbda03e5c movenc: Don't flush after each written packet
This should improve write performance quite significantly.
---
Tested with both writing a normal mp4, by using the faststart
feature and writing a fragmented mp4 file; all turn out with the
same md5sum as before.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 10:36:17 +03:00
Diego Biurrun 7df9e693a3 cosmetics: Fix ATRAC codec name spelling 2013-09-02 21:38:57 +02:00
Anton Khirnov 488b2984fe ape demuxer: check for EOF in potentially long loops
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:55 +02:00
Anton Khirnov a7c1689ded 4xm: check that bits per sample is strictly positive
Avoids a divide by zero.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:47 +02:00
Anton Khirnov df33a58e53 lavf: avoid integer overflow when estimating bitrate
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:29 +02:00
Anton Khirnov fab694dd39 lavf: move a variable declaration to the block where it's used 2013-09-02 19:28:19 +02:00
Anton Khirnov fe9bb61f9a pictordec: pass correct context to avpriv_request_sample
Fixes invalid reads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:27:56 +02:00
Anton Khirnov 5f7aecde02 pictordec: break out of both decoding loops when y drops below 0
Otherwise picmemset can get called with negative y, resulting in an
invalid write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:27:45 +02:00
Anton Khirnov 8aba7968dd vcr1: add sanity checks
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:27:33 +02:00
Martin Storsjö 21ffd41011 pcm-dvd: Fix build on big endian
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-31 18:06:26 +02:00
Vittorio Giovara f4ca970dba configure: Add docdir configuration option
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 16:16:38 +02:00
Diego Elio Pettenò faa8245bd4 vf_lut: Constantize
The pixel format tables are never modified, mark them as constant.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 16:13:42 +02:00
Christian Schmidt a42e3a6700 pcm_dvd: consolidate pieces from pcm.c and mpeg.c
Remove the header decoding for PCM audio from mpeg.c and the
20/24bit parts from pcm.c and merge them into a new decoder in
pcm-dvd.c.

The decoder has added support for samples that span multiple
packets and modified 20/24bit group decoding. Both is needed to
decode samples that have been generated with DVD-Lab Pro 2. The
decoding of 16bit PCM and two channel 24bit is identical to
before. No other samples are known to verify the correctness of
the encoding this software does.
The complete list of tested formats is
48kHz/16bit/2-8 channels
48kHz/24bit/2-5 channels
96kHz/16bit/2-4 channels
96kHz/24bit/2 channels

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 11:26:29 +02:00
Christian Schmidt 21fd2f84ce pcm_bluray: cosmetics 2013-08-31 11:00:46 +02:00
Christian Schmidt 0d6549d8b5 pcm_bluray: rename pcm-mpeg.c to pcm-bluray.c
The original idea was to collect PCM codecs that could appear in various
MPEG streams in this file. Discussion in IRC lead to the conclusion that
one codec per file would be better and stop the need for #ifdefs.
2013-08-31 11:00:46 +02:00
Sean McGovern f1f728cbe4 ppc: don't return a value from a function declared void
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-30 00:41:10 +03:00
Diego Biurrun e998b56362 x86: avcodec: Consistently structure CPU extension initialization 2013-08-29 13:07:37 +02:00
Diego Biurrun 6369ba3c9c x86: avcodec: Use convenience macros to check for CPU flags 2013-08-29 13:07:37 +02:00
Diego Biurrun 79aec43ce8 x86: Add and use more convenience macros to check CPU extension availability 2013-08-29 13:07:37 +02:00
Diego Biurrun a6b6501185 ppc: cosmetics: Consistently format CPU flag detection invocations 2013-08-29 11:31:32 +02:00
Diego Biurrun 67e6a9f558 cosmetics: Place arch initialization calls in alphabetical order 2013-08-29 11:24:14 +02:00
Diego Biurrun f0389eb777 arm: fmtconvert: Split armv6 fmtconvert code off from vfp code 2013-08-29 11:24:14 +02:00
Diego Biurrun 7ffda66fd5 arm: float_dsp: Propagate cpu_flags to vfp initialization function 2013-08-29 11:24:14 +02:00
Diego Biurrun bd549cbaac arm: dcadsp: Move synth filter initialization to dcadsp file 2013-08-29 11:24:14 +02:00
Diego Biurrun 1909f6b1b6 swscale: cosmetics: Drop silly camelCase from swScale function pointer name 2013-08-29 10:23:54 +02:00
Diego Biurrun 4e0799a4d0 swscale: Add some missing av_cold to arch-specific init functions 2013-08-29 10:23:53 +02:00
Diego Biurrun 3aa682f253 swscale: consistent names for arch-specific acceleration functions 2013-08-29 10:23:52 +02:00
Diego Biurrun c2503d9c8a swscale: ppc: Hide arch-specific initialization details
Also give consistent names to init functions.
2013-08-29 10:23:41 +02:00
Diego Biurrun 6af2c351b3 ppc: Add missing AltiVec cpuflag detection invocations 2013-08-29 00:24:46 +02:00
Diego Biurrun de81b6ae4f ppc: fdct: Remove vim editor settings comment 2013-08-28 23:59:24 +02:00
Diego Biurrun 70dd8892bf mpegvideo: Replace arch initialization ifdeffery by standard conditionals 2013-08-28 23:59:24 +02:00
Diego Biurrun cd52917237 x86: rv40dsp: Move inline assembly optimizations out of YASM init section 2013-08-28 23:59:24 +02:00
Diego Biurrun a519583991 swscale: x86: Hide arch-specific initialization details
Also give consistent names to init functions.
2013-08-28 23:59:24 +02:00
Diego Biurrun a64f6a04ac dsputil: x86: Hide arch-specific initialization details
Also give consistent names to init functions.
2013-08-28 23:59:24 +02:00
Diego Biurrun f61bece684 ppc: Add and use convenience macro to check for AltiVec availability 2013-08-28 23:54:15 +02:00
Diego Biurrun 8410d6e93c avutil: Refactor CPU extension availability macros 2013-08-28 23:54:14 +02:00
Diego Biurrun b78b10c4b7 avutil: Move internal CPU detection function declarations to private header 2013-08-28 23:54:14 +02:00
Rafaël Carré 91d4cfb812 apedec: do not buffer decoded samples over AVPackets
Only consume an AVPacket when all the samples have been read.

When the rate of samples output is limited (by the default value
of max_samples), consuming the first packet immediately will cause
timing problems:

- The first packet with PTS 0 will output 4608 samples and be
consumed entirely
- The second packet with PTS 64 will output the remaining samples
(typically, a lot, that's why max_samples exist) until the decoded
samples of the first packet have been exhausted, at which point the
samples of the second packet will be decoded and output when
av_decode_frame is called with the next packet).

That means there's a PTS jump since the first packet is 'decoded'
immediately, which can be seen with avplay or mplayer: the timing
jumps immediately to 6.2s (which is the size of a packet).

Sample: http://streams.videolan.org/issues/6348/Goldwave-MAClib.ape
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-08-28 15:00:34 -04:00
Diego Biurrun 84146963d2 configure: x86: Fix handling of i686 and cpunop features
The i686 feature really is a CPU feature and should be handled as such.
The cpunop dependency on i686 should be expressed with a standard _deps
declaration instead of a manual test.
2013-08-28 17:03:05 +02:00
Martin Storsjö 6454c44f9f rtmpproto: Fix limelight authentication with abbreviated app names
When streaming to limelight, the app name is either a full
"appname/subaccount" or "appname/_definst_". In the latter case,
the app name can be simplified into simply "appname", but the
authentication hashing assumes the /_definst_ still to be present.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-28 17:54:51 +03:00
Hendrik Leppkes cb8f70c96e vf_fps: use double constants for default/min/max for start_time
When using AV_NOPTS_VALUE (which expands to INT64_C(0x8000000000000000))
as union initializer for a double field, the c99 converter needs to
interpret this constant when filling the union initializer, and it is
interpreted as a positive value.

When converting AV_NOPTS_VALUE to a double, MSVC 2010 ends up with
the same positive value as the c99 converter, while MSVC 2012 gets
a negative value.

This results in an infite loop in various FATE tests on MSVC 2012.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-28 17:54:47 +03:00
Luca Barbato 48f2e53ad0 doc: document the asf demuxer
And drop a typo from the previous FLV entry.
2013-08-28 11:02:56 +02:00
Vittorio Giovara 0ce1a7598e vf_interlace: fix file permissions
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-27 23:50:45 +02:00