platform/upstream/libav.git
11 years agoavutil: Fix compilation with inline asm disabled on mingw
Alex Smith [Sat, 21 Sep 2013 11:22:12 +0000 (07:22 -0400)]
avutil: Fix compilation with inline asm disabled on mingw

Because of -Werror=implicit-function-declaration the build will fail.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agolavu: Add interleaved 4:2:2 8/10-bit formats
Kieran Kunhya [Tue, 17 Sep 2013 21:30:48 +0000 (16:30 -0500)]
lavu: Add interleaved 4:2:2 8/10-bit formats

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agoh264dec: Add .avc file name extension
Vittorio Giovara [Fri, 20 Sep 2013 15:07:18 +0000 (17:07 +0200)]
h264dec: Add .avc file name extension

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agoh264dec: K&R formatting cosmetics
Vittorio Giovara [Fri, 20 Sep 2013 15:28:04 +0000 (17:28 +0200)]
h264dec: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agomem: Handle av_reallocp(..., 0) properly
Martin Storsjö [Fri, 20 Sep 2013 11:02:41 +0000 (14:02 +0300)]
mem: Handle av_reallocp(..., 0) properly

Previously this did a double free (and returned an error).

Reported-by: Justin Ruggles
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoh264: remove an unused static constant
Vittorio Giovara [Fri, 20 Sep 2013 11:09:23 +0000 (13:09 +0200)]
h264: remove an unused static constant

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agomsvc/icl: Use __declspec(noinline)
Alex Smith [Thu, 19 Sep 2013 21:33:23 +0000 (17:33 -0400)]
msvc/icl: Use __declspec(noinline)

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agomsvc/icl: Use __declspec(deprecated)
Alex Smith [Thu, 19 Sep 2013 20:58:21 +0000 (16:58 -0400)]
msvc/icl: Use __declspec(deprecated)

Prior to this on msvc/icl there was no handling of deprecated functions
and the deprecated warning was disabled.

After enabling there are a number of warnings relating to the CRT and
the use of the non-secure versions of several functions.  Defining
_CRT_SECURE_NO_WARNINGS silences these warnings.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: Unbreak get_packet
Luca Barbato [Fri, 20 Sep 2013 09:55:20 +0000 (11:55 +0200)]
rtmp: Unbreak get_packet

Commit 5626f994f273af80fb100d4743b963304de9e05c broke it.

11 years agodcadec: Validate the lfe parameter
Martin Storsjö [Thu, 19 Sep 2013 12:12:06 +0000 (15:12 +0300)]
dcadec: Validate the lfe parameter

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmpproto: Add a comment explaining the logic in handle_notify
Martin Storsjö [Thu, 19 Sep 2013 09:48:04 +0000 (12:48 +0300)]
rtmpproto: Add a comment explaining the logic in handle_notify

This explains why the cleanup in 5626f994f was wrong and why
ae0f316a was needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agobuild: Support cparser
Luca Barbato [Thu, 12 Sep 2013 18:17:15 +0000 (20:17 +0200)]
build: Support cparser

11 years agor3d: Add more input value validation
Martin Storsjö [Thu, 19 Sep 2013 14:02:36 +0000 (17:02 +0300)]
r3d: Add more input value validation

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agorl2: Avoid a division by zero
Martin Storsjö [Thu, 19 Sep 2013 13:57:47 +0000 (16:57 +0300)]
rl2: Avoid a division by zero

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agowtv: Add more sanity checks for a length read from the file
Martin Storsjö [Thu, 19 Sep 2013 13:55:13 +0000 (16:55 +0300)]
wtv: Add more sanity checks for a length read from the file

Also make sure the existing length check can't overflow.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoyop: Clear all references to the AVBuffer in the local AVPacket
Martin Storsjö [Thu, 19 Sep 2013 13:49:48 +0000 (16:49 +0300)]
yop: Clear all references to the AVBuffer in the local AVPacket

This makes sure that it doesn't try to free an AVBuffer belonging
to an earlier packet when we free the local packet at the end.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agofraps: Make the input buffer size checks more strict
Martin Storsjö [Thu, 19 Sep 2013 13:29:23 +0000 (16:29 +0300)]
fraps: Make the input buffer size checks more strict

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosegafilm: Validate the number of audio channels
Martin Storsjö [Thu, 19 Sep 2013 13:02:29 +0000 (16:02 +0300)]
segafilm: Validate the number of audio channels

This avoids divisions by zero later.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosvq3: Avoid a division by zero
Martin Storsjö [Thu, 19 Sep 2013 12:58:59 +0000 (15:58 +0300)]
svq3: Avoid a division by zero

If the height is zero, the decompression will probably end up
failing due to not fitting into the allocated buffer later
anyway, so this doesn't need any more elaborate check.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoqpeg: Add checks for running out of rows in qpeg_decode_inter
Martin Storsjö [Thu, 19 Sep 2013 12:53:31 +0000 (15:53 +0300)]
qpeg: Add checks for running out of rows in qpeg_decode_inter

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agompegaudiodec: Validate that the number of channels fits at the given offset
Martin Storsjö [Thu, 19 Sep 2013 12:32:02 +0000 (15:32 +0300)]
mpegaudiodec: Validate that the number of channels fits at the given offset

This is similar to the fix in 35cbc98b.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoasvdec: Verify the amount of extradata
Martin Storsjö [Thu, 19 Sep 2013 12:14:56 +0000 (15:14 +0300)]
asvdec: Verify the amount of extradata

The init function reads one byte of extradata.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agomovenc: Use null buffers for measuring the amount of data to be written
Martin Storsjö [Wed, 18 Sep 2013 19:02:17 +0000 (22:02 +0300)]
movenc: Use null buffers for measuring the amount of data to be written

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoaviobuf: Add functions for null buffers
Martin Storsjö [Wed, 18 Sep 2013 18:50:50 +0000 (21:50 +0300)]
aviobuf: Add functions for null buffers

Null buffers are useful for simulating writing to a real buffer
for the sake of measuring how many bytes are written.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoasfenc: mux chapters in ASF files using an ASF "marker" section
Vladimir Pantelic [Thu, 19 Sep 2013 15:50:38 +0000 (17:50 +0200)]
asfenc: mux chapters in ASF files using an ASF "marker" section

ASF markers only have a start time, so we lose the chapter end times,
but that is ASF for you

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years agoasfenc: remember send time and offset of the index entries
Vladimir Pantelic [Thu, 19 Sep 2013 15:50:37 +0000 (17:50 +0200)]
asfenc: remember send time and offset of the index entries

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years agoasfenc: add ASF_Reserved_4 as defined in section 10.10 of the ASF spec
Vladimir Pantelic [Thu, 19 Sep 2013 15:50:36 +0000 (17:50 +0200)]
asfenc: add ASF_Reserved_4 as defined in section 10.10 of the ASF spec

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years agoasfdec: replace magic constant with DATA_HEADER_SIZE
Vladimir Pantelic [Thu, 19 Sep 2013 15:50:35 +0000 (17:50 +0200)]
asfdec: replace magic constant with DATA_HEADER_SIZE

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years agoasfdec: substract preroll time from marker presentation time
Vladimir Pantelic [Thu, 19 Sep 2013 15:50:34 +0000 (17:50 +0200)]
asfdec: substract preroll time from marker presentation time

this was forgotten when we changed ASF to not output the preroll time

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years agorv34: Fix a memory leak on errors
Martin Storsjö [Mon, 16 Sep 2013 13:05:18 +0000 (16:05 +0300)]
rv34: Fix a memory leak on errors

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoidroqdec: Make sure a video stream has been allocated before returning packets
Martin Storsjö [Mon, 16 Sep 2013 11:53:15 +0000 (14:53 +0300)]
idroqdec: Make sure a video stream has been allocated before returning packets

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agorv10: Validate the dimensions set from the container
Martin Storsjö [Mon, 16 Sep 2013 12:40:57 +0000 (15:40 +0300)]
rv10: Validate the dimensions set from the container

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: Unbreak handle_notify
Luca Barbato [Wed, 18 Sep 2013 23:49:41 +0000 (01:49 +0200)]
rtmp: Unbreak handle_notify

Commit 5626f994f273af80fb100d4743b963304de9e05c broke it.

11 years agoaacdec: Add support for LD (Low Delay) AAC
Alex Converse [Mon, 16 Sep 2013 20:03:15 +0000 (13:03 -0700)]
aacdec: Add support for LD (Low Delay) AAC

11 years agoaacdec: Add support for Error Resilience syntax.
Alex Converse [Mon, 16 Sep 2013 06:32:23 +0000 (23:32 -0700)]
aacdec: Add support for Error Resilience syntax.

This does not add support for any error resilience tools.

11 years agoAdd a WebP decoder
Justin Ruggles [Tue, 16 Apr 2013 17:12:26 +0000 (22:42 +0530)]
Add a WebP decoder

Container and lossy decoding by Aneesh Dogra <aneesh@sugarlabs.org>
Lossless decoding by Justin Ruggles <justin.ruggles@gmail.com>

11 years agolavc: add ff_u8_to_s8() for safe type punning of uint8_t to int8_t
Justin Ruggles [Mon, 16 Sep 2013 14:11:32 +0000 (10:11 -0400)]
lavc: add ff_u8_to_s8() for safe type punning of uint8_t to int8_t

11 years agoavformat: Use av_reallocp() where suitable
Alexandra Khirnova [Wed, 18 Sep 2013 16:12:36 +0000 (18:12 +0200)]
avformat: Use av_reallocp() where suitable

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agormdec: Validate the fps value
Martin Storsjö [Mon, 16 Sep 2013 17:58:38 +0000 (20:58 +0300)]
rmdec: Validate the fps value

Abort if it is invalid if strict error checking has been requested.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agomovenc: Add an option for omitting the tfhd base offset
Martin Storsjö [Mon, 9 Sep 2013 12:04:57 +0000 (15:04 +0300)]
movenc: Add an option for omitting the tfhd base offset

This makes the output fragments independent of their position in
the output stream, making the output work better when streamed.

QuickTime Player doesn't support fragmented mp4 without the base
data offset, though.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agomovenc: Write the moof atom in two passes
Martin Storsjö [Mon, 9 Sep 2013 09:05:01 +0000 (12:05 +0300)]
movenc: Write the moof atom in two passes

This is a bit more work, but avoids having to fill in
the data offset field afterwards instead of directly when
the rest of the trun atom is written.

This simplifies future cases where this field needs to be set to
something different.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agotwinvqdec: Check the ibps parameter separately
Martin Storsjö [Tue, 17 Sep 2013 16:33:48 +0000 (19:33 +0300)]
twinvqdec: Check the ibps parameter separately

This is required, since invalid parameters actually could
pass the switch check below.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: Support reading interleaved chunks.
Josh Allmann [Tue, 17 Sep 2013 06:58:48 +0000 (23:58 -0700)]
rtmp: Support reading interleaved chunks.

A given packet won't always come in contiguously; sometimes
they may be broken up on chunk boundaries by packets of another
channel.

This support primarily involves tracking information about the
data that's been read, so the reader can pick up where it left
off for a given channel.

As a side effect, we no longer over-report the bytes read if
(toread = MIN(size, chunk_size)) == size

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoxmv: Add more sanity checks for parameters read from the bitstream
Martin Storsjö [Mon, 16 Sep 2013 18:27:49 +0000 (21:27 +0300)]
xmv: Add more sanity checks for parameters read from the bitstream

Since the number of channels is multiplied by 36 and assigned to
to a uint16_t, make sure this calculation didn't overflow. (In
certain cases the calculation could overflow leaving the
truncated block_align at 0, leading to divisions by zero later.)

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmpproto: Extend a comment to explain the prev_pkt arrays roles
Martin Storsjö [Tue, 17 Sep 2013 14:43:48 +0000 (17:43 +0300)]
rtmpproto: Extend a comment to explain the prev_pkt arrays roles

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmpproto: Consistently use the right prev_pkt array
Martin Storsjö [Tue, 17 Sep 2013 13:53:11 +0000 (16:53 +0300)]
rtmpproto: Consistently use the right prev_pkt array

prev_pkt[0] is used for input packets, while prev_pkt[1] is
used for output.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmpproto: Check for the right return code
Martin Storsjö [Tue, 17 Sep 2013 12:07:10 +0000 (15:07 +0300)]
rtmpproto: Check for the right return code

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agodca_parser: Handle changes in DCA frame size
John Stebbins [Wed, 4 Sep 2013 20:08:22 +0000 (13:08 -0700)]
dca_parser: Handle changes in DCA frame size

A change in framesize caused a perpetual loss of synchronization.
So read (and use) the frame size from the frame header instead of
setting it only once.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agojpeg2000dec: Add more checks when parsing headers
Martin Storsjö [Mon, 16 Sep 2013 13:17:05 +0000 (16:17 +0300)]
jpeg2000dec: Add more checks when parsing headers

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agodoc: Add missing hashes and dates to APIChanges
Luca Barbato [Tue, 17 Sep 2013 10:47:09 +0000 (12:47 +0200)]
doc: Add missing hashes and dates to APIChanges

Also fix the typo in the last entry version.

11 years agoffv1: Make sure at least one slice context is initialized
Martin Storsjö [Mon, 16 Sep 2013 18:46:50 +0000 (21:46 +0300)]
ffv1: Make sure at least one slice context is initialized

This avoids crashes when initializing the range coder for
the first slice context.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoeacmv: Make sure a reference frame exists before referencing it
Martin Storsjö [Mon, 16 Sep 2013 18:07:30 +0000 (21:07 +0300)]
eacmv: Make sure a reference frame exists before referencing it

This is similar to an existing check for the second-last frame
from 062421e3.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agotruemotion2: Use av_freep properly in an error path
Martin Storsjö [Mon, 16 Sep 2013 18:03:34 +0000 (21:03 +0300)]
truemotion2: Use av_freep properly in an error path

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agompeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory
Martin Storsjö [Mon, 16 Sep 2013 17:40:13 +0000 (20:40 +0300)]
mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory

This avoids a potential division by zero.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoivi_common: Make sure color planes have been initialized
Martin Storsjö [Mon, 16 Sep 2013 17:32:35 +0000 (20:32 +0300)]
ivi_common: Make sure color planes have been initialized

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agomov: Don't use a negative duration for setting other fields
Martin Storsjö [Mon, 16 Sep 2013 17:17:47 +0000 (20:17 +0300)]
mov: Don't use a negative duration for setting other fields

Some files have the duration set to -1 in the mdhd atom, more
or less legitimately. (We produce such files ourselves, for the
initial duration in fragmented mp4 files.)

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agooggparseogm: Convert to use bytestream2
Martin Storsjö [Mon, 16 Sep 2013 14:17:26 +0000 (17:17 +0300)]
oggparseogm: Convert to use bytestream2

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agorv34: Check the return value from ff_rv34_decode_init
Martin Storsjö [Mon, 16 Sep 2013 13:01:02 +0000 (16:01 +0300)]
rv34: Check the return value from ff_rv34_decode_init

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agomatroskadec: Verify realaudio codec parameters
Martin Storsjö [Mon, 16 Sep 2013 12:36:24 +0000 (15:36 +0300)]
matroskadec: Verify realaudio codec parameters

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agomace: Make sure that the channel count is set to a valid value
Martin Storsjö [Mon, 16 Sep 2013 12:19:52 +0000 (15:19 +0300)]
mace: Make sure that the channel count is set to a valid value

Also return a proper error code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosvq3: Check for any negative return value from ff_h264_check_intra_pred_mode
Martin Storsjö [Mon, 16 Sep 2013 12:05:03 +0000 (15:05 +0300)]
svq3: Check for any negative return value from ff_h264_check_intra_pred_mode

Also pass on any returned error code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: rename main_channel_id to stream_id.
Josh Allmann [Mon, 16 Sep 2013 20:20:58 +0000 (13:20 -0700)]
rtmp: rename main_channel_id to stream_id.

This more closely corresponds to the usage of the field.
Its usage here is unrelated to the channel ID.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: Follow Flash player numbering for channels.
Josh Allmann [Mon, 16 Sep 2013 20:20:57 +0000 (13:20 -0700)]
rtmp: Follow Flash player numbering for channels.

Channel 4 is typically used by the Flash player to transmit
audio, channel 6 for video, and various stream-specific invokes
get sent over channel 8, which is designated the source channel.

This more closely matches the behavior of the Flash player,
including the transmission of play requests over channel 8.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: Send video on a separate channel.
Josh Allmann [Mon, 16 Sep 2013 20:20:56 +0000 (13:20 -0700)]
rtmp: Send video on a separate channel.

Sending non-monotonic packets (e.g. when the audio and video
streams are monotonic within themselves but not muxed
monotonically) will lead to negative values the RTMP timestamp
field (where timestamps are transmitted only as deltas for each
channel), and this delta can end up being incorrectly written as
a large unsigned number.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agolavf: Make probe_codec return an error code
Alexandra Khirnova [Thu, 12 Sep 2013 08:39:22 +0000 (10:39 +0200)]
lavf: Make probe_codec return an error code

This allows handling errors from av_realloc properly.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agox86: Add an xmm clobbering wrapper for avcodec_encode_video2
Martin Storsjö [Mon, 16 Sep 2013 16:31:03 +0000 (19:31 +0300)]
x86: Add an xmm clobbering wrapper for avcodec_encode_video2

This is required since 187105ff8 when we started trying to
wrap this function as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agolavf: Don't explicitly flush after each written packet in muxers
Clément Bœsch [Sun, 24 Mar 2013 23:23:46 +0000 (00:23 +0100)]
lavf: Don't explicitly flush after each written packet in muxers

Since 596e5d4783, this is not necessary anymore. It also allows to
actually disable the flushing, improving write performance (but
possibly giving worse latency in real-time streaming).

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agolavf: Add a flag to enable/disable per-packet flushing
Luca Barbato [Wed, 11 Sep 2013 12:02:06 +0000 (14:02 +0200)]
lavf: Add a flag to enable/disable per-packet flushing

This is enabled by default and can be disabled with
"-fflags -flush_packets".

Inspired by a patch from Nicolas George <nicolas.george@normalesup.org>.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoflv: Do not export datastream as metadata
Luca Barbato [Mon, 16 Sep 2013 16:09:12 +0000 (18:09 +0200)]
flv: Do not export datastream as metadata

It is used internally.

11 years agortmp: Store all the notify messages
Luca Barbato [Mon, 16 Sep 2013 15:42:59 +0000 (17:42 +0200)]
rtmp: Store all the notify messages

The onTextData is used to implement text data streams in flv.

11 years agortmp: Do not send the first field twice within the handshake
Luca Barbato [Mon, 16 Sep 2013 09:39:45 +0000 (11:39 +0200)]
rtmp: Do not send the first field twice within the handshake

11 years agortmp: Drop an unneeded warning
Luca Barbato [Mon, 16 Sep 2013 09:37:48 +0000 (11:37 +0200)]
rtmp: Drop an unneeded warning

Apparently a widely used streaming server requires that the second
field always presents a version during C1 phase.

11 years agortmp: Support play method in listen mode
Luca Barbato [Sun, 15 Sep 2013 14:52:33 +0000 (16:52 +0200)]
rtmp: Support play method in listen mode

11 years agortmp: Factor out publish specific code
Luca Barbato [Sat, 14 Sep 2013 14:41:50 +0000 (16:41 +0200)]
rtmp: Factor out publish specific code

Will be reused for supporting play.

11 years agomem: Introduce av_reallocp
Luca Barbato [Sun, 15 Sep 2013 19:42:07 +0000 (21:42 +0200)]
mem: Introduce av_reallocp

11 years agoFix references to deleted avcodec_encode_video() function
Vittorio Giovara [Tue, 10 Sep 2013 10:31:46 +0000 (12:31 +0200)]
Fix references to deleted avcodec_encode_video() function

11 years agoavpacket: Fix error checking in packet_alloc
Martin Storsjö [Wed, 11 Sep 2013 20:09:37 +0000 (23:09 +0300)]
avpacket: Fix error checking in packet_alloc

Previously the wrong buffer pointer was checked, when buf
instead of *buf was checked. But checking the return value
instead is even better.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agovp3: Check the framerate for validity
Martin Storsjö [Thu, 12 Sep 2013 09:27:58 +0000 (12:27 +0300)]
vp3: Check the framerate for validity

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoproresdec: Properly make sure an index doesn't run past the limit
Martin Storsjö [Thu, 12 Sep 2013 09:10:18 +0000 (12:10 +0300)]
proresdec: Properly make sure an index doesn't run past the limit

If idx equaled num_coeffs - 1 on entry to the loop, the previous
check failed to break out of the loop.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agocavsdec: Make sure a sequence header has been decoded before decoding pictures
Martin Storsjö [Thu, 12 Sep 2013 08:58:25 +0000 (11:58 +0300)]
cavsdec: Make sure a sequence header has been decoded before decoding pictures

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agovocdec: Don't update codec parameters mid-stream
Martin Storsjö [Thu, 12 Sep 2013 08:31:53 +0000 (11:31 +0300)]
vocdec: Don't update codec parameters mid-stream

If we really want to support parameter changes, they need to be
signalled along with the AVPackets as parameter change side data,
not just changing the AVCodecContext parameters when a packet
is demuxed (since there may be other earlier packets yet undecoded).

Something similar was already done for the sample rate in 0883109b2,
but some parameters were left changeable.

This avoids having to recheck the channel count for validity for
each decoded frame in (ad)pcm decoders, unless the decoders
explicitly say that they accept parameter changes.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosierravmd: Do sanity checking of frame sizes
Martin Storsjö [Wed, 11 Sep 2013 19:56:55 +0000 (22:56 +0300)]
sierravmd: Do sanity checking of frame sizes

Limit the size to INT_MAX/2 (for simplicity) to be sure that
size + BYTES_PER_FRAME_RECORD won't overflow.

Also factorize other existing error return paths.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoomadec: Properly check lengths before incrementing the position
Martin Storsjö [Wed, 11 Sep 2013 11:54:05 +0000 (14:54 +0300)]
omadec: Properly check lengths before incrementing the position

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agomathops/x86: work around inline asm miscompilation with GCC 4.8.1
Hendrik Leppkes [Sat, 15 Jun 2013 20:46:01 +0000 (22:46 +0200)]
mathops/x86: work around inline asm miscompilation with GCC 4.8.1

The volatile is not required here, and prevents a miscompilation with GCC
4.8.1 when building on x86 with --cpu=i686

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
11 years agomem: Document the non-compatibility of av_realloc() and av_malloc()
Diego Biurrun [Fri, 13 Sep 2013 18:01:30 +0000 (20:01 +0200)]
mem: Document the non-compatibility of av_realloc() and av_malloc()

11 years agopcm-dvd: Minor leftovers
Christian Schmidt [Wed, 11 Sep 2013 14:17:13 +0000 (16:17 +0200)]
pcm-dvd: Minor leftovers

Drop a pointless branch in uninit and use the compact copyright.

11 years agopcm-dvd: Support channel configuration changes
Christian Schmidt [Wed, 11 Sep 2013 14:12:27 +0000 (16:12 +0200)]
pcm-dvd: Support channel configuration changes

The sample buffering logic does not take into account that the blocksize
could change. Reset the buffer if the channel configuration changes,
since if there are leftover samples, it is most likely a broken or
misconcatenated stream. This could lead to negative numbers for
missing_samples during decoding.

Thanks to Michael Niedermeyer for pointing these out.

11 years agomatroskaenc: Fix stray pointers left over from av_reallocp_array refactoring
Alexandra Khirnova [Thu, 12 Sep 2013 07:49:38 +0000 (09:49 +0200)]
matroskaenc: Fix stray pointers left over from av_reallocp_array refactoring

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agomp3: add .mpa extension
Vittorio Giovara [Mon, 9 Sep 2013 14:30:35 +0000 (16:30 +0200)]
mp3: add .mpa extension

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agoconfigure: Mention that icl does not build both static and shared libs
Diego Biurrun [Tue, 10 Sep 2013 10:28:19 +0000 (12:28 +0200)]
configure: Mention that icl does not build both static and shared libs

11 years agog2meet: Allocate cursor buffers large enough to fit the aligned width
Martin Storsjö [Wed, 11 Sep 2013 20:40:12 +0000 (23:40 +0300)]
g2meet: Allocate cursor buffers large enough to fit the aligned width

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoaic: Validate values read from the bitstream
Martin Storsjö [Wed, 11 Sep 2013 20:25:04 +0000 (23:25 +0300)]
aic: Validate values read from the bitstream

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agompc8: Make sure the first stream exists before parsing the seek table
Martin Storsjö [Wed, 11 Sep 2013 19:53:15 +0000 (22:53 +0300)]
mpc8: Make sure the first stream exists before parsing the seek table

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agompc8: Check the seek table size parsed from the bitstream
Martin Storsjö [Wed, 11 Sep 2013 19:47:06 +0000 (22:47 +0300)]
mpc8: Check the seek table size parsed from the bitstream

Limit the size to INT_MAX/2 (for simplicity) to be sure that
size + FF_INPUT_BUFFER_PADDING_SIZE won't overflow.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agozmbvdec: Check the buffer size for uncompressed data
Michael Niedermayer [Sun, 11 Nov 2012 17:08:39 +0000 (18:08 +0100)]
zmbvdec: Check the buffer size for uncompressed data

Also don't pointlessly set the buffer size to 1 after copying
one packet.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoape: Don't allow the seektable to be omitted
Martin Storsjö [Wed, 11 Sep 2013 19:29:33 +0000 (22:29 +0300)]
ape: Don't allow the seektable to be omitted

The seektable is required for filling in ape->frames[i].pos
further down.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoshorten: Break out of loop looking for fmt chunk if none is found
Martin Storsjö [Wed, 11 Sep 2013 19:19:28 +0000 (22:19 +0300)]
shorten: Break out of loop looking for fmt chunk if none is found

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoshorten: Use a checked bytestream reader for the wave header
Martin Storsjö [Wed, 11 Sep 2013 19:17:13 +0000 (22:17 +0300)]
shorten: Use a checked bytestream reader for the wave header

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosmacker: Free memory properly if the init function fails
Martin Storsjö [Wed, 11 Sep 2013 12:55:18 +0000 (15:55 +0300)]
smacker: Free memory properly if the init function fails

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosmacker: Make sure we don't fill in huffman codes out of range
Martin Storsjö [Wed, 11 Sep 2013 12:54:20 +0000 (15:54 +0300)]
smacker: Make sure we don't fill in huffman codes out of range

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>