ffmpeg.git
5 years agox86: dsputil: Separate ff_add_hfyu_median_prediction_cmov from dsputil_mmx
Diego Biurrun [Sat, 5 Oct 2013 16:38:06 +0000 (18:38 +0200)]
x86: dsputil: Separate ff_add_hfyu_median_prediction_cmov from dsputil_mmx

The function does not depend on MMX and compilation without MMX enabled
fails if the function is compiled conditional on MMX availability.

5 years agoswscale: provide a default scaler if none is set
Vittorio Giovara [Tue, 1 Oct 2013 17:11:00 +0000 (19:11 +0200)]
swscale: provide a default scaler if none is set

Lanczos for general case, sinc for upscaling, Gaussian for
downscaling. According to current literature these scalers
should be the best quality-wise algorithms for each case.

Inspired from a patch by wm4 <nfxjfg@googlemail.com>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agox86: fdct: Initialize optimized fdct implementations in the standard way
Diego Biurrun [Mon, 30 Sep 2013 13:25:47 +0000 (15:25 +0200)]
x86: fdct: Initialize optimized fdct implementations in the standard way

5 years agox86: xviddct: Employ more specific ifdefs
Diego Biurrun [Mon, 16 Sep 2013 11:47:35 +0000 (13:47 +0200)]
x86: xviddct: Employ more specific ifdefs

This avoids building mmxext and sse2 code when disabled by configure.

5 years agodoxy: Document avlog
Luca Barbato [Wed, 18 Sep 2013 13:27:52 +0000 (15:27 +0200)]
doxy: Document avlog

Provide some information for every function and add a group.

5 years agoismindex: Change the duration field to int64_t
Martin Storsjö [Fri, 4 Oct 2013 07:14:49 +0000 (10:14 +0300)]
ismindex: Change the duration field to int64_t

This reduces the risk for overflow in pathlogical cases.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoismindex: Calculate the file duration among the included tracks
Martin Storsjö [Fri, 4 Oct 2013 07:12:07 +0000 (10:12 +0300)]
ismindex: Calculate the file duration among the included tracks

If the input file contains other tracks (non video/audio) that
aren't included in ismindex, the global file duration as returned
by libavformat might not be equal to the maximum of the duration
of the actual included tracks.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoismindex: Use the individual stream duration instead of the global one
Martin Storsjö [Wed, 2 Oct 2013 22:52:37 +0000 (01:52 +0300)]
ismindex: Use the individual stream duration instead of the global one

The stream duration is used for calculating the duration of the
last fragment easily without manually parsing anything else than
the mfra/tfra atoms. When the global file duration was used
previously, the duration of the last fragment could end up wrong
if the streams weren't equally long.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomov: Don't allocate arrays with av_malloc that will be realloced
Martin Storsjö [Fri, 4 Oct 2013 06:52:02 +0000 (09:52 +0300)]
mov: Don't allocate arrays with av_malloc that will be realloced

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
5 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.

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

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

5 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

5 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>
5 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>
5 years agoUse correct Doxygen syntax
Diego Biurrun [Thu, 3 Oct 2013 15:46:36 +0000 (17:46 +0200)]
Use correct Doxygen syntax

5 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>
5 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'

5 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

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

5 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

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

5 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

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

5 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

5 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

5 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[]

5 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

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

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

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

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

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

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