]> git.sesse.net Git - ffmpeg/log
ffmpeg
10 years agox86: fdct: Only build fdct code if encoders have been enabled
Diego Biurrun [Mon, 16 Sep 2013 11:55:07 +0000 (13:55 +0200)]
x86: fdct: Only build fdct code if encoders have been enabled

fdct is only initialized if encoders are enabled.

10 years agortmpproto: Validate the embedded flv packet size before copying
Martin Storsjö [Thu, 3 Oct 2013 11:49:50 +0000 (13:49 +0200)]
rtmpproto: Validate the embedded flv packet size before copying

This wasn't an issue prior to 58404738, when the whole RTMP packet
was copied at once and the length of the individual embedded flv
packets only were validated by the flv demuxer.

Prior to this patch, this could lead to reads and writes out of bound.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agortmpproto: Readjust the end of the flv buffer if handle_metadata exited early
Martin Storsjö [Thu, 3 Oct 2013 11:44:38 +0000 (13:44 +0200)]
rtmpproto: Readjust the end of the flv buffer if handle_metadata exited early

If the embedded flv packets were incomplete and we aborted the
copying loop early, make sure the flv buffer is trimmed to
only contain full packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agortmpproto: Move the flv header/trailer addition to append_flv_data
Martin Storsjö [Thu, 3 Oct 2013 10:29:37 +0000 (12:29 +0200)]
rtmpproto: Move the flv header/trailer addition to append_flv_data

update_offset is also called from handle_metadata, where the
packet header sizes is already included in the size.

Previously this lead to flv_data/flv_size including 15 uninitialized
bytes at the end after each call to handle_metadata, making the
flv demuxer lose sync with the stream.

Also remove leftover copying in handle_metadata. This is a leftover
from the refactoring in 5840473. (Previously this final mempcy was
the one that copied all the packets at once, while this is done
within the loop right now.) After making sure flv_size is set to
the right size, this write was out of bounds.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agortmpproto: Clear the flv allocation size on reallocp failures
Martin Storsjö [Thu, 3 Oct 2013 10:27:10 +0000 (12:27 +0200)]
rtmpproto: Clear the flv allocation size on reallocp failures

This was overlooked in d872fb0f7 since I assumed all the realloc
issues in the rtmp code was fixed already.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agortmpproto: Pass the 'live' parameter in the right unit
Martin Storsjö [Thu, 3 Oct 2013 07:09:56 +0000 (09:09 +0200)]
rtmpproto: Pass the 'live' parameter in the right unit

The current magic numbers passed are values in seconds, while the
parameter itself should be passed over the wire in milliseconds.

This makes (some/all?) live streams from Red5 work correctly, that
previously returned StreamNotFound even with "-rtmp_live live". After
this commit, the default 'any' also works on these streams.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agortmpproto: Print the error code string if there's no description
Martin Storsjö [Thu, 3 Oct 2013 05:44:51 +0000 (07:44 +0200)]
rtmpproto: Print the error code string if there's no description

On (certain streams/setups at least on) Red5, the description string
actually is present, but empty. Therefore, first try loading the
description, but if not found or empty, load the code string instead.
The code string is quite understandable in most cases anyway (like
"NetStream.Play.StreamNotFound").

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agocosmetics: Group .name and .long_name together in codec/format declarations
Diego Biurrun [Thu, 3 Oct 2013 20:57:53 +0000 (22:57 +0200)]
cosmetics: Group .name and .long_name together in codec/format declarations

10 years agooggparsevorbis: K&R formatting cosmetics
Vittorio Giovara [Wed, 2 Oct 2013 14:26:38 +0000 (16:26 +0200)]
oggparsevorbis: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoavformat/output-example: Declare link dependency on libswscale in the Makefile
Diego Biurrun [Tue, 1 Oct 2013 11:34:02 +0000 (13:34 +0200)]
avformat/output-example: Declare link dependency on libswscale in the Makefile

10 years agox86: cpu: Restore some explanatory comments removed in 7160bb7
Diego Biurrun [Fri, 27 Sep 2013 13:24:55 +0000 (15:24 +0200)]
x86: cpu: Restore some explanatory comments removed in 7160bb7

10 years agoatrac: Add missing av_cold
Maxim Poliakovski [Thu, 3 Oct 2013 18:49:50 +0000 (20:49 +0200)]
atrac: Add missing av_cold

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoatrac3: Generalize gain compensation code
Maxim Poliakovski [Mon, 30 Sep 2013 21:14:51 +0000 (23:14 +0200)]
atrac3: Generalize gain compensation code

Move it to the ATRAC common code, to reuse in the upcoming ATRAC3+ decoder.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoUse correct Doxygen syntax
Diego Biurrun [Thu, 3 Oct 2013 15:46:36 +0000 (17:46 +0200)]
Use correct Doxygen syntax

10 years agoatrac: Move doxygen comments to the header
Maxim Poliakovski [Mon, 30 Sep 2013 21:14:51 +0000 (23:14 +0200)]
atrac: Move doxygen comments to the header

Also update copyright info and file description.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoatrac3: Replace a silly counter variable name with plain 'j'
Diego Biurrun [Tue, 1 Oct 2013 18:39:23 +0000 (20:39 +0200)]
atrac3: Replace a silly counter variable name with plain 'j'

10 years agolavc: mark deprecated AVCodec.max_lowres for removal on next bump
Anton Khirnov [Mon, 30 Sep 2013 12:44:24 +0000 (14:44 +0200)]
lavc: mark deprecated AVCodec.max_lowres for removal on next bump

10 years agovf_interlace: do not process an already interlaced frame
Vittorio Giovara [Tue, 1 Oct 2013 17:08:03 +0000 (19:08 +0200)]
vf_interlace: do not process an already interlaced frame

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agortmp: alias rtmp_listen to listen
Luca Barbato [Tue, 1 Oct 2013 13:42:06 +0000 (15:42 +0200)]
rtmp: alias rtmp_listen to listen

Make it uniform with the other protocols.

10 years agomxf: Remove a typo
Luca Barbato [Tue, 1 Oct 2013 11:43:48 +0000 (13:43 +0200)]
mxf: Remove a typo

Introduced in 93370d1216

10 years agoasfdec: Check the return value of asf_read_stream_properties
Martin Storsjö [Sat, 28 Sep 2013 20:32:57 +0000 (23:32 +0300)]
asfdec: Check the return value of asf_read_stream_properties

This makes sure errors in setting stream parameters are passed
on to the caller. This avoids successfully opening files while
some parameters aren't filled in properly.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoomadec: fix bitrate for ATRAC3+ streams
Maxim Poliakovski [Sun, 29 Sep 2013 19:53:49 +0000 (21:53 +0200)]
omadec: fix bitrate for ATRAC3+ streams

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agoAdd support for multichannel ATRAC3+ streams.
Maxim Poliakovski [Fri, 27 Sep 2013 22:18:18 +0000 (00:18 +0200)]
Add support for multichannel ATRAC3+ streams.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agomxfdec: set audio timebase to 1/samplerate
Anton Khirnov [Sat, 28 Sep 2013 14:56:54 +0000 (16:56 +0200)]
mxfdec: set audio timebase to 1/samplerate

Fixes sync in some samples (e.g. bugs 7581 and 8374 in VLC).
Based on a commit by Matthieu Bouron <matthieu.bouron@gmail.com>

Reported-by: Jean-Baptiste Kempf <jb@videolan.org>
CC: libav-stable@libav.org
10 years agopcx: Return an error on broken palette if err_detect is set to 'explode'
Martin Storsjö [Sun, 29 Sep 2013 15:39:52 +0000 (18:39 +0300)]
pcx: Return an error on broken palette if err_detect is set to 'explode'

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agopcx: Check the packet size before assuming it fits a palette
Martin Storsjö [Sun, 29 Sep 2013 10:02:27 +0000 (13:02 +0300)]
pcx: Check the packet size before assuming it fits a palette

This fixes reads out of bounds.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agorpza: Fix a buffer size check
Martin Storsjö [Sat, 28 Sep 2013 22:24:20 +0000 (01:24 +0300)]
rpza: Fix a buffer size check

We read 2 bytes for 15 out of 16 pixels, therefore we need to
have at least 30 bytes, not 16.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoxxan: Disallow odd width
Martin Storsjö [Sat, 28 Sep 2013 22:04:05 +0000 (01:04 +0300)]
xxan: Disallow odd width

Decoded data is always written in pairs within this decoder.
This fixes writes out of bounds.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoxan: Only read within the data that actually was initialized
Martin Storsjö [Sat, 28 Sep 2013 21:59:50 +0000 (00:59 +0300)]
xan: Only read within the data that actually was initialized

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoxan: Use bytestream2 to limit reading to within the buffer
Martin Storsjö [Sat, 28 Sep 2013 21:53:58 +0000 (00:53 +0300)]
xan: Use bytestream2 to limit reading to within the buffer

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agopcx: Consume the whole packet if giving up due to missing palette
Martin Storsjö [Sat, 28 Sep 2013 21:38:50 +0000 (00:38 +0300)]
pcx: Consume the whole packet if giving up due to missing palette

Previously, we returned 0, meaning successful decoding but 0
bytes consumed, leading to an infinite loop.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agopngdec: Stop trying to decode once inflate returns Z_STREAM_END
Martin Storsjö [Sat, 28 Sep 2013 21:12:04 +0000 (00:12 +0300)]
pngdec: Stop trying to decode once inflate returns Z_STREAM_END

If the input buffer contains more data after the deflate stream,
the loop previously left running infinitely, with inflate returning
Z_STREAM_END.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agomov: Make sure the read sample count is nonnegative
Martin Storsjö [Sat, 28 Sep 2013 20:57:36 +0000 (23:57 +0300)]
mov: Make sure the read sample count is nonnegative

This avoids setting a negative number of frames, ending up with a
negative average frame rate.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agobfi: Add some very basic sanity checks for input packet sizes
Martin Storsjö [Sat, 28 Sep 2013 20:46:04 +0000 (23:46 +0300)]
bfi: Add some very basic sanity checks for input packet sizes

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agobfi: Avoid divisions by zero
Martin Storsjö [Sat, 28 Sep 2013 20:42:40 +0000 (23:42 +0300)]
bfi: Avoid divisions by zero

If a zero-length video packet is to be returned, just return
AVERROR(EAGAIN) and switch back to the audio stream.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoelectronicarts: Add more sanity checking for the number of channels
Martin Storsjö [Sat, 28 Sep 2013 20:38:40 +0000 (23:38 +0300)]
electronicarts: Add more sanity checking for the number of channels

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoriffdec: Add sanity checks for the sample rate
Martin Storsjö [Sat, 28 Sep 2013 20:32:39 +0000 (23:32 +0300)]
riffdec: Add sanity checks for the sample rate

This avoids a division by zero for G726.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agomvi: Add sanity checking for the audio frame size
Martin Storsjö [Sat, 28 Sep 2013 20:26:18 +0000 (23:26 +0300)]
mvi: Add sanity checking for the audio frame size

This avoids 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>
10 years agoalac: Do bounds checking of lpc_order read from the bitstream
Martin Storsjö [Fri, 27 Sep 2013 21:22:52 +0000 (00:22 +0300)]
alac: Do bounds checking of lpc_order read from the bitstream

In lpc_prediction(), we write up to array element 'lpc_order' in
an array allocated to hold 'max_samples_per_frame' elements.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoxwma: Avoid division by zero
Martin Storsjö [Sat, 28 Sep 2013 20:13:26 +0000 (23:13 +0300)]
xwma: Avoid division by zero

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoavidec: Make sure a packet is large enough before reading its data
Martin Storsjö [Fri, 27 Sep 2013 21:41:31 +0000 (00:41 +0300)]
avidec: Make sure a packet is large enough before reading its data

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agovqf: Make sure the bitrate is in the valid range
Martin Storsjö [Sat, 28 Sep 2013 20:19:10 +0000 (23:19 +0300)]
vqf: Make sure the bitrate is in the valid range

Even if the sample rate is valid, an invalid bitrate could
pass the mode combination test below.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agovqf: Make sure sample_rate is set to a valid value
Martin Storsjö [Fri, 27 Sep 2013 21:34:35 +0000 (00:34 +0300)]
vqf: Make sure sample_rate is set to a valid value

This avoids divisions by zero later (and possibly assertions in
time base scaling), since an invalid rate_flag combined with an
invalid bitrate below could pass the mode combination test.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agolavfi: allow user-provided execute() callbacks
Anton Khirnov [Thu, 8 Aug 2013 14:28:41 +0000 (16:28 +0200)]
lavfi: allow user-provided execute() callbacks

10 years agoavframe: note that linesize is not the usable data size
Anton Khirnov [Fri, 27 Sep 2013 14:49:05 +0000 (16:49 +0200)]
avframe: note that linesize is not the usable data size

10 years agolxf: check the nb_streams instead of relying on padding
Luca Barbato [Tue, 25 Jun 2013 14:42:02 +0000 (16:42 +0200)]
lxf: check the nb_streams instead of relying on padding

Remove the now unneeded stream pointer while at it.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
10 years agolxf: remove deplanarization hack
Paul B Mahol [Fri, 16 Nov 2012 15:10:36 +0000 (15:10 +0000)]
lxf: remove deplanarization hack

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
10 years agopcm: support 24-bit/32-bit little-endian planar
Paul B Mahol [Fri, 16 Nov 2012 16:00:04 +0000 (16:00 +0000)]
pcm: support 24-bit/32-bit little-endian planar

Used by LXF.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years agolxf: Support 16-channel files
Carl Eugen Hoyos [Thu, 16 Aug 2012 08:20:25 +0000 (10:20 +0200)]
lxf: Support 16-channel files

Reported, analyzed and tested by Gabriel Gerard.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years agolxf: Support version 1 files
Reimar Döffinger [Sat, 24 Mar 2012 15:47:33 +0000 (16:47 +0100)]
lxf: Support version 1 files

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years agolavf: Reset the entry count and allocation size variables on av_reallocp failures
Martin Storsjö [Thu, 26 Sep 2013 13:37:02 +0000 (16:37 +0300)]
lavf: Reset the entry count and allocation size variables on av_reallocp failures

When av_reallocp fails, the associated variables that keep track of
the number of elements in the array (and in some cases, the
separate number of allocated elements) need to be reset.

Not all of these might technically be needed, but it's better to
reset them if in doubt, to make sure variables don't end up
conflicting.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agolavf: Allocate arrays with av_realloc if they will be realloced later
Martin Storsjö [Thu, 26 Sep 2013 13:34:04 +0000 (16:34 +0300)]
lavf: Allocate arrays with av_realloc if they will be realloced later

Pointers returned from av_malloc can't in general be passed
to av_realloc.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agortpdec_qt: Add an accidentally removed allocation return value check
Martin Storsjö [Thu, 26 Sep 2013 13:34:59 +0000 (16:34 +0300)]
rtpdec_qt: Add an accidentally removed allocation return value check

This check was mistakenly removed in 5626f994f.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agotls: Add support for listen mode
Martin Storsjö [Thu, 19 Sep 2013 09:30:52 +0000 (12:30 +0300)]
tls: Add support for listen mode

Also add options for specifying a certificate and key, which can
be used both when operating as client and as server.

Partially based on a patch by Peter Ross.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agohttp: Pass options through to the nested protocol
Martin Storsjö [Mon, 7 Nov 2011 09:06:50 +0000 (11:06 +0200)]
http: Pass options through to the nested protocol

When passing a dict to the nested protocol, it will consume
the used options from it, so a separate copy needs to be used
when reopening the connection multiple times.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agotls: Add options for verifying the peer certificate
Martin Storsjö [Tue, 22 Feb 2011 10:02:01 +0000 (12:02 +0200)]
tls: Add options for verifying the peer certificate

A file containing the trusted CA certificates needs to be
supplied via the ca_file AVOption, unless the TLS library
has got a system default file/database set up.

This doesn't check the hostname of the peer certificate with
openssl, which requires a non-trivial piece of code for
manually matching the desired hostname to the string provided
by the certificate, not provided as a library function.

That is, with openssl, this only validates that the received
certificate is signed with the right CA, but not that it is
the actual server we think we're talking to.

Verification is still disabled by default since we can't count
on a proper CA database existing at all times.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agog2meet: Respect cursor_stride properly everywhere
Kostya Shishkov [Wed, 25 Sep 2013 09:09:33 +0000 (12:09 +0300)]
g2meet: Respect cursor_stride properly everywhere

This fixes a regression with rgb cursors since b1e46988.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agolavc doxy: document that avcodec_flush_buffers() invalidates decoded frames
Anton Khirnov [Tue, 18 Jun 2013 09:35:44 +0000 (11:35 +0200)]
lavc doxy: document that avcodec_flush_buffers() invalidates decoded frames

10 years agodoc/filters: fix an option name in the unsharp docs
Anton Khirnov [Thu, 11 Jul 2013 02:44:41 +0000 (04:44 +0200)]
doc/filters: fix an option name in the unsharp docs

10 years agoh264: do not reinitialize the global cabac tables at each slice header
Anton Khirnov [Sun, 11 Aug 2013 10:14:44 +0000 (12:14 +0200)]
h264: do not reinitialize the global cabac tables at each slice header

10 years agocabac: remove write-only h264_mps_state[]
Anton Khirnov [Sun, 11 Aug 2013 10:12:43 +0000 (12:12 +0200)]
cabac: remove write-only h264_mps_state[]

10 years agomatroskadec: check av_strdup() when setting defaults
Anton Khirnov [Wed, 4 Sep 2013 06:55:17 +0000 (08:55 +0200)]
matroskadec: check av_strdup() when setting defaults

10 years agolavc: add support for interleaved chroma formats to libx264.
Kieran Kunhya [Sun, 22 Sep 2013 15:54:47 +0000 (10:54 -0500)]
lavc: add support for interleaved chroma formats to libx264.

Interleaved chroma is x264's native format

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agopixdesc: fix NV20* descriptors
Michael Niedermayer [Sun, 22 Sep 2013 10:42:18 +0000 (05:42 -0500)]
pixdesc: fix NV20* descriptors

They were inconsistent (overlapping fields and wrong sizes)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agoh264_sei: check SEI size
Michael Niedermayer [Thu, 19 Sep 2013 14:26:25 +0000 (16:26 +0200)]
h264_sei: check SEI size

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agoh264: do not discard NAL_SEI when skipping frames
Rainer Hochecker [Thu, 19 Sep 2013 14:26:24 +0000 (16:26 +0200)]
h264: do not discard NAL_SEI when skipping frames

Setting AVDISCARD_NONREF (e.g. after flushing) resulted in 100% dropped frames.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agoh264: log extradata skip only for non-ignored NALs
Vittorio Giovara [Fri, 20 Sep 2013 13:42:41 +0000 (15:42 +0200)]
h264: log extradata skip only for non-ignored NALs

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agoh264_sei: log unknown sei messages
Vittorio Giovara [Thu, 19 Sep 2013 15:28:41 +0000 (17:28 +0200)]
h264_sei: log unknown sei messages

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agompegvideo: Initialize chroma_*_shift and codec_tag even if the size is 0
Martin Storsjö [Tue, 24 Sep 2013 09:02:39 +0000 (12:02 +0300)]
mpegvideo: Initialize chroma_*_shift and codec_tag even if the size is 0

This fixes breakage in a few fate tests on certain setups
(that for some reason didn't break on OS X) after the previous
commit (8812a8057). Currently, some video streams are initialized
in ff_MPV_common_init with width/height set at 0 and only changed
to a proper video size with ff_MPV_common_frame_size_change later.

The breakage was diagnosed by Anton Khirnov.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoconfigure: Enable -Qansi-alias for icl 14+
Alex Smith [Tue, 24 Sep 2013 08:30:38 +0000 (04:30 -0400)]
configure: Enable -Qansi-alias for icl 14+

Qansi-alias worked on 12.x, then caused miscompilation on 13.x, but now
works again passing all FATE tests for icl version 14.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoh263dec: Remove a hack that can cause infinite loops
Martin Storsjö [Mon, 23 Sep 2013 09:25:48 +0000 (12:25 +0300)]
h263dec: Remove a hack that can cause infinite loops

The actual usefulness of the hack is not known, and it does cause
infinite loops with some broken input files.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agomovenchint: Clear size and len if the realloc failed
Martin Storsjö [Sun, 22 Sep 2013 15:31:54 +0000 (18:31 +0300)]
movenchint: Clear size and len if the realloc failed

Previously these were left in an inconsistent state.

Pointed out by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agomovenc: Return a proper error code for invalid combinations
Martin Storsjö [Sun, 22 Sep 2013 11:44:17 +0000 (14:44 +0300)]
movenc: Return a proper error code for invalid combinations

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agovc1dec: Check the error handling flags on slice/field header decode errors
Martin Storsjö [Sun, 22 Sep 2013 11:50:48 +0000 (14:50 +0300)]
vc1dec: Check the error handling flags on slice/field header decode errors

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoelectronicarts: Check packet sizes before reading
Martin Storsjö [Fri, 20 Sep 2013 09:26:45 +0000 (12:26 +0300)]
electronicarts: Check packet sizes before reading

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agolavf: Avoid setting avg_frame_rate if delta_dts is negative
Martin Storsjö [Fri, 20 Sep 2013 09:20:06 +0000 (12:20 +0300)]
lavf: Avoid setting avg_frame_rate if delta_dts is negative

This avoids setting avg_frame_rate to invalid (negative)
values.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agovc1dec: Don't decode slices when the latest slice header failed to decode
Michael Niedermayer [Tue, 19 Feb 2013 20:40:09 +0000 (21:40 +0100)]
vc1dec: Don't decode slices when the latest slice header failed to decode

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agovc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks
Martin Storsjö [Fri, 20 Sep 2013 08:32:25 +0000 (11:32 +0300)]
vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agovc1dec: Undo mpegvideo initialization if unable to allocate tables
Martin Storsjö [Fri, 20 Sep 2013 08:16:57 +0000 (11:16 +0300)]
vc1dec: Undo mpegvideo initialization if unable to allocate tables

Previously, s->context_initialized was left set to 1
if ff_vc1_decode_init_alloc_tables failed, skipping the
initialization completely on the next decode call.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agovc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errors
Martin Storsjö [Fri, 20 Sep 2013 08:16:00 +0000 (11:16 +0300)]
vc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errors

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agownv1: Make sure the input packet is large enough
Martin Storsjö [Thu, 19 Sep 2013 21:07:34 +0000 (00:07 +0300)]
wnv1: Make sure the input packet is large enough

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agomovenc: Use keyframes as default fragmentation point in ismv
Martin Storsjö [Tue, 10 Sep 2013 15:43:19 +0000 (18:43 +0300)]
movenc: Use keyframes as default fragmentation point in ismv

Fragmenting blindly to a certain duration isn't a good choice
if one should be able to switch between different qualities,
therefore default to keyframes instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agomovenc: Set all implicit flags immediately in mov_write_header
Martin Storsjö [Tue, 10 Sep 2013 12:56:19 +0000 (15:56 +0300)]
movenc: Set all implicit flags immediately in mov_write_header

This makes sure other sanity checks for conflicting options
can work properly, e.g. for the conflict between the faststart
flag when using the ismv mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agomovenc: Set mov->mode earlier in mov_write_header
Martin Storsjö [Sat, 21 Sep 2013 22:29:33 +0000 (01:29 +0300)]
movenc: Set mov->mode earlier in mov_write_header

This allows simplifying some early checks that depend on the
muxer mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agotls: Do not abort on non-fatal TLS alerts with gnutls
Martin Storsjö [Sat, 21 Sep 2013 22:02:36 +0000 (01:02 +0300)]
tls: Do not abort on non-fatal TLS alerts with gnutls

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoflv: Make onTextData parsing robust
Luca Barbato [Fri, 20 Sep 2013 21:14:41 +0000 (23:14 +0200)]
flv: Make onTextData parsing robust

Certain streaming servers do not preserve the order of the fields.

10 years agortmp: Replace a magic number with a macro
Luca Barbato [Sat, 21 Sep 2013 19:16:04 +0000 (21:16 +0200)]
rtmp: Replace a magic number with a macro

11 is the RTMP header size.

10 years agortmp: Rewrite embedded flv handling
Luca Barbato [Sat, 21 Sep 2013 09:10:41 +0000 (11:10 +0200)]
rtmp: Rewrite embedded flv handling

Use update_offset() as done for rtmp audio, video and notifications and
read update and write the fields instead of replacing them in the rtmp
packet and then memcpying it to the output buffer.

10 years agortmp: Refactor get_packet
Luca Barbato [Sat, 21 Sep 2013 09:09:39 +0000 (11:09 +0200)]
rtmp: Refactor get_packet

10 years agortmp: Support AMF_DATA_TYPE_MIXEDARRAY
Luca Barbato [Sat, 21 Sep 2013 08:04:54 +0000 (10:04 +0200)]
rtmp: Support AMF_DATA_TYPE_MIXEDARRAY

And fix the AMF_DATA_TYPE_ARRAY parsing while at it.

A MIXEDARRAY type, as the ARRAY, store the number of elements in
an uint32 before the list. The ARRAY is strict and does not have
an OBJECT terminator, MIXEDARRAY behaves like an OBJECT type and
a different than stated number of element can be present.

10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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.

10 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>