Commit Graph

78217 Commits

Author SHA1 Message Date
Michael Niedermayer
f502583663 avcodec/mpeg4videoenc: Use 64bit for time variables
Fixes assertion failure and integer overflow
Fixes: fc677bbea2c6f901763eb637b61fa5e2/signal_sigabrt_7ffff6ae7cb7_9556_dfd95f040a69f725d1b2f861bd491725.ivf

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-23 02:17:53 +01:00
Michael Niedermayer
15cc98a0f3 avformat/libquvi: Set default demuxer and protocol limitations
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-23 00:12:54 +01:00
Michael Niedermayer
8e32d01432 avformat/concat: Check protocol prefix
Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-23 00:12:54 +01:00
Michael Niedermayer
9a8034b8bc doc/demuxers: Document enable_drefs and use_absolute_path
Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-23 00:12:54 +01:00
Paul B Mahol
805563c814 avfilter/af_ladspa: accepts ' ' as command separator too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-22 21:41:11 +01:00
Rostislav Pehlivanov
ce855bf43b diracdec: fix full range videos
Full range video had been broken by the introduction of the < 2U check
at the following line. The bitstream format kind of implies that the full
and limited ranges use different pix_fmts but that's incorrect since we
have the avctx->color_range flag. So adjust the pixel range index to
be mapped to the same pix_fmts as limited range index.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-22 17:15:00 +00:00
Paul B Mahol
8a5d4a51ff avfilter/vf_convolution: add timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-22 17:54:44 +01:00
Michael Niedermayer
ee3eac59df fate: Add a small number of rawvideo in mov tests
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-22 15:59:31 +01:00
Perette Barella
84110f4f77 libavformat/tcp.c : add send_buffer_size and recv_buffer_size options
adds two new options that may be set via the dictionary:

- send_buffer_size
- recv_buffer_size

When present, setsockopt() is used with SO_SNDBUF and SO_RCVBUF to set
socket buffer sizes.  I chose to make send and receive independent
because buffering requirements are often asymmetric.

Errors in setting the buffer size mean the socket will use its
default, so they are ignored.

There is no sanity checking on values, as the kernel/socket layers
already impose reasonable limits if asked for something crazy.

Rationale for enlarging receive buffers is to reduce susceptibility
to intermittent network delays/congestion.  I added setting the send
buffer for symmetry.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-22 15:36:30 +01:00
Ganesh Ajjanagadde
1fb5ae44c4 lavc/wmadec: replace pow by faster functions
Further speedups possible by getting rid of exp2f...

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2016-01-22 19:27:12 +05:30
Ganesh Ajjanagadde
cea529dd7f lavc/opus_celt: replace pow(2,x) by exp2f(x)
Faster methods possible; since exponent is always a multiple of 1/8.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2016-01-22 19:26:58 +05:30
Ganesh Ajjanagadde
9254e6176c lavc/atrac3plusdsp: change pow(2,x) to exp2f(x)
Much faster generation possible; but array is small so don't want to bloat
the binary.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2016-01-22 19:26:41 +05:30
Ganesh Ajjanagadde
89189b1010 lavc/wma: add av_warn_unused_result to ff_wma_init
May help to prevent incidents like 19e456d48c.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2016-01-22 19:26:24 +05:30
Michael Niedermayer
70ece6ccd0 fate: add 1 and 15BPP rawvideo in avi tests
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-22 13:19:08 +01:00
Paul B Mahol
1c02af307a avfilter: add convolution filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-22 12:06:54 +01:00
Paul B Mahol
b18467a943 avfilter/avf_showwaves: add logarithmic amplitude scaler
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-22 11:11:06 +01:00
John Cox
74105fc9a3 cabac_functions: Allow more functions to be overridden
Allow more of the cabac functions to be overridden and avoid generating any
code for unwanted refill functions.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-22 02:38:56 +01:00
John Cox
5115d8326e cabac_functions: Count zeros with ctz if it is fast
When refilling the low bit buffer after get_cabac count the bits with ctz
if the processor has a fast version.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-22 02:38:41 +01:00
John Cox
48f80831ba cabac: Ensure 2-byte cabac loads are on 2-byte boundry
Ensure that cabac init sets the bitstream pointer to an even value.
It is often faster to load from an aligned boundry

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-22 02:31:32 +01:00
Neil Birkbeck
17399f6a9f Add missing conversions from side data enum to name
Add names for recently added enums to av_frame_side_data_name.

Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-22 01:58:59 +01:00
Andreas Cadhalpun
064963bd27 build: make out-of-tree builds bit-identical to in-tree builds
Previously the full source path was embedded inconsistently in the debug
information between in-tree/out-of-tree builds.

The 'vpath %.inc' becomes necessary for finding
libavfilter/all_channel_layouts.inc in out-of-tree builds.

The full source path is still embedded in the debug information, but
it's now independent of whether building in-tree or out-of-tree.

The biggest improvement of this patch is that gdb now always searches
for the path relative to the source directory. It still also searches
for the full path.
Previously it searched only for the full path in out-of-tree builds,
making the debug information generated by Debian's buildds rather hard
to use.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-22 00:30:59 +01:00
Michael Niedermayer
509c9e74e5 avcodec/mjpegdec: Check for end for both bytes in unescaping
Fixes assertion failure
Fixes: c40c779601b77dc6e19aaea0b04b9751/signal_sigabrt_7ffff6ae7cb7_5769_b94f6ec70caecb2d3d76b4771b109ac1.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-21 23:47:29 +01:00
Geza Lore
d39c229e54 x86inc: Add debug symbols indicating sizes of compiled functions
Some debuggers/profilers use this metadata to determine which function a
given instruction is in; without it they get can confused by local labels
(if you haven't stripped those). On the other hand, some tools are still
confused even with this metadata. e.g. this fixes `gdb`, but not `perf`.

Currently only implemented for ELF.
2016-01-21 23:19:46 +01:00
Henrik Gramner
d3662777e0 x86inc: Avoid creating unnecessary local labels
The REP_RET workaround is only needed on old AMD cpus, and the labels clutter
up the symbol table and confuse debugging/profiling tools, so use EQU to
create SHN_ABS symbols instead of creating local labels. Furthermore, skip
the workaround completely in functions that definitely won't run on such cpus.

Note that EQU is just creating a local label when using nasm instead of yasm.
This is probably a bug, but at least it doesn't break anything.
2016-01-21 23:19:46 +01:00
Henrik Gramner
87b587d4fe x86inc: Simplify AUTO_REP_RET
cpuflags is never undefined any more, it's set to 0 instead.

Also fix an incorrect comment.
2016-01-21 23:19:46 +01:00
Henrik Gramner
2d60b18cf0 x86inc: Use more consistent indentation 2016-01-21 23:19:46 +01:00
Henrik Gramner
dfe771dc5a x86inc: Preserve arguments when allocating stack space
When allocating stack space with a larger alignment than the known stack
alignment a temporary register is used for storing the stack pointer.
Ensure that this isn't one of the registers used for passing arguments.
2016-01-21 23:19:46 +01:00
Henrik Gramner
b1496008ee x86inc: Improve FMA instruction handling
* Correctly handle FMA instructions with memory operands.
 * Print a warning if FMA instructions are used without the correct cpuflag.
 * Simplify the instantiation code.
 * Clarify documentation.

Only the last operand in FMA3 instructions can be a memory operand. When
converting FMA4 instructions to FMA3 instructions we can utilize the fact
that multiply is a commutative operation and reorder operands if necessary
to ensure that a memory operand is used only as the last operand.
2016-01-21 23:19:46 +01:00
Henrik Gramner
6cbd0fdf28 x86inc: Be more verbose in assertion failures 2016-01-21 23:19:46 +01:00
Vittorio Giovara
936f0d98f8 lavc: Move rtp_payload_size to codec private options
This option is only used by mpegvideoenc and openh264.
It is a very codec-specific option, so deprecate the global variant.

The openh264 option is dropped altogether since it is just a fallback
for -max_nal_size anyway.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
d749615333 lavc: Move timecode_frame_start to codec private options
This option is only used by mpeg2.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
96c373c770 lavc: Move context_model to codec private options
This option is only used by ffv1 and ffvhuff.
It is a very codec-specific option, so deprecate the global variant.
Improve documentation a little.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
12b4976922 lavc: Move mpeg_quant to codec private options
This option is only used by mpegvideoenc, and xvid.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
1482aff204 lavc: Move noise_reduction to codec private options
This option is only used by mpegvideoenc, x264, xavs, and vpx.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
7c79587d74 lavc: Move scenechange_threshold to codec private options
This option is only used by mpegvideoenc, x264, and xavs.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
5764d38173 lavc: Move chromaoffset to codec private options
This option is only used by x264 and xavs.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
0ac9f33a9e lavc: Move frame_skip_* to codec private options
These options are only used by mpegvideoenc and vpx.
They are very codec-specific options, so deprecate the global variants.

Add an allowed value to the private options for frame_skip_cmp which
seems to have been forgotten, but perfectly working.

The libvpx frame dropping feature uses one of such option
(frame_skip_threshold) without the other three. For this reason rename
the option to something more consistent with the other libvpx variables.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
84c4714f39 lavc: Move brd_scale to codec private options
This option is only used by mpegvideoenc,
It is a very codec-specific option, so deprecate the global variant.
Set proper limits to the maximum allowed values.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
0e6c853221 lavc: Move b_frame_strategy and b_sensitivity to codec private options
The b_frame_strategy option is only used by mpegvideoenc, qsv, x264, and
xavs, while b_sensitivity is only used by mpegvideoenc.

These are very codec-specific options, so deprecate the global variants.
Set proper limits to the maximum allowed values.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Piotr Bandurski
55c7e5bf7c riff: add C210 FourCC (Canopus C210) 2016-01-21 15:33:19 -05:00
Vittorio Giovara
d43a165bda imgconvert: Add the proper API guards to a deprecated function 2016-01-21 15:33:19 -05:00
Vittorio Giovara
f7168d7016 imgconvert: Move AVPicture-related static function to the deprecated section 2016-01-21 15:33:19 -05:00
Vittorio Giovara
892f037c55 imgconvert: Move the shrink functions only where needed 2016-01-21 15:33:19 -05:00
Vittorio Giovara
9d3ea5cbf5 imgconvert: Drop outdated comment block 2016-01-21 15:33:19 -05:00
Piotr Bandurski
7c4059ae1e riff: add YUYV FourCC (Drastic YUYV) 2016-01-21 15:33:19 -05:00
Luca Barbato
e93aa2c9e7 configure: Force-enable select_any dependencies only on --enable
Unbreak --enable-gnutls enabling tls_openssl_protocol

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-01-21 21:24:33 +01:00
James Almer
a2e1b66460 x86/intmath: disable sse av_clip functions when using ICC
It seems to miscompile them

Should fix fate-ra-288 and fate-twinvq

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-21 16:50:51 -03:00
Paul B Mahol
6ed3a10f64 avfilter/avf_showwaves: color support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-21 20:48:28 +01:00
Michael Niedermayer
1dd11160ea fate: Add test for colorkey
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-21 19:26:03 +01:00
Rostislav Pehlivanov
5776344a7b diracdec: fix original Dirac Low Delay profile
The version structure in the main decoder context was not (and
apparently has never been) populated since it was added.
Still, having VC-2 break the existing Dirac Low Delay mode was odd and
easily avoidable had the specifications authors noticed/cared.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-21 16:49:45 +00:00