Commit Graph

78011 Commits

Author SHA1 Message Date
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
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
Rostislav Pehlivanov
053900ca4c dirac: add more parse codes from the specifications
The specs define some more overlapping and some rarely used parse codes
which were missing.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-21 16:49:45 +00:00
James Almer
033e7dbd31 avcodec/diracdsp: use av_clip_uintp2
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-21 13:13:54 -03:00
Rostislav Pehlivanov
7d8891593c dirac_parser: add exceptions for Dirac inter parse codes
Forgotten from previous commit.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-21 15:31:02 +00:00
Ronald S. Bultje
8c9103c4af checkasm: add videodsp emulated_edge_mc test. 2016-01-21 10:25:27 -05:00
Rostislav Pehlivanov
a849ebb54e dirac_parser: Improve parsing and silence pointless warnings
The parser scans for "BBCD" to appear in the bitstream which indicate a
parse info header and once that happens, checks if the parse offsets are
sane. Since random BBCD strings might appear in the bitstream the parser
will emit a pointless warning if that happens.

This commit improves parsing by checking for a valid parse code as well
as keeping the original checks for valid parse offsets. The warnings
were removed as they serve no real purpose.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-21 15:18:25 +00:00
Michael Niedermayer
b65efbc0f4 avcodec/mpegvideo_enc: Check for integer overflow in ff_mpv_reallocate_putbitbuffer()
Fixes assertion failure
Fixes: 6568d187979ce17878b6fe5fbbb89142/signal_sigabrt_7ffff6ae7cb7_7176_564bbc6741bdcf907f5c4e685c9a77a2.mpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-21 15:56:11 +01:00
Rostislav Pehlivanov
8248b51e0b diracdec: add support for 12 bit videos
The DSP lacked a function needed to convert signed to unsigned. This was
ignored when originally adding support and templating for bit depths
greater than 8. The 10 bit function was used for 12 bit pictures and
resulted in an improper conversion.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-21 14:48:32 +00:00
Paul B Mahol
73c938dd9f doc/filters: fix afftfilt example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-21 14:42:09 +01:00
Paul B Mahol
fa04ec728d avfilter: add afftfilter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-21 14:31:38 +01:00
Michael Niedermayer
56c182c4d7 avformat/nutenc: implement deinit()
Should prevent some leaks if header writing fails

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-21 13:16:24 +01:00
Claudio Freire
adc7d2a4ce AAC encoder: check for NaNs/inf in TNS gain
Can happen in cases where's there's zero autocorrelation (pulses),
and it also implies NaN/inf coeffs
2016-01-21 03:47:28 -03:00
James Almer
8bbb972350 configure: add missing library deps for showcqt_filter
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-21 00:49:02 -03:00
Carl Eugen Hoyos
4f9314ed58 lavf/riff: Support reading vlc's rawvideo fourccs.
Reported by Bob, no6b no6b com
2016-01-21 03:38:33 +01:00
Carl Eugen Hoyos
7158ce778f lavf/nut: Add forgotten fourccs for YUV4xxP9. 2016-01-21 03:35:49 +01:00
Michael Niedermayer
41e07390e0 avformat/avformat: Replace some references to filenames by urls
Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-21 02:57:10 +01:00
Michael Niedermayer
19e456d48c avcodec/wmaenc: Check ff_wma_init() for failure
Fixes null pointer dereference
Fixes: c4faf8280ba366bf00a79d425f2910a8/signal_sigsegv_1f96477_5177_1448ba7e4125faceb966f44ceb69abfa.qcp
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-21 02:39:09 +01:00
Michael Niedermayer
a53fbda9dc avcodec/mpeg12enc: Move high resolution thread check to before initializing threads
Cleaner solution is welcome!

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-21 00:56:11 +01:00
Clément Bœsch
a362015641 lavc,lavfi: use avutil/thread.h instead of redundant conditional includes
This was somehow forgotten in a8bb81a05c.
2016-01-20 21:36:54 +01:00
Vittorio Gambaletta (VittGam)
4590811fc2 ffplay: update docs after previous changes in ffplay mouse behaviour
Signed-off-by: Vittorio Gambaletta <ffmpeg-dev@vittgam.net>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-01-20 21:23:03 +01:00
Michael Niedermayer
b750b67d13 avformat/img2dec: Use AVOpenCallback
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-20 21:21:31 +01:00
Michael Niedermayer
2cb8edea7c avcodec/aacenc: Check all coefficients for finiteness
This is needed as near infinite values on the input side result in only some
output to be non finite.
Also it may still be insufficient if subsequent computations overflow

Fixes null pointer dereference
Fixes: ae66c0f6c12ac1cd5c2c237031240f57/signal_sigsegv_2618c99_9516_6007026f2185a26d7afea895fbed6e38.ogg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-20 21:21:31 +01:00
Michael Niedermayer
984d58a344 avformat/avio: Limit url option parsing to the documented cases
This feature is not know much or used much AFAIK, and it might be helpfull in
exploits.
No specific case is known where it can be used in an exploit though
subsequent commits depend on this commit though

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-20 21:21:31 +01:00
Clément Bœsch
d96f0fbe59 lavu: add pthread asserts if ASSERT_LEVEL>1 2016-01-20 21:08:50 +01:00
James Almer
4c4ebeb587 avcodec/wavpackenc: use put_sbits
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-01-20 16:41:19 -03:00
Rostislav Pehlivanov
4a3cf186b2 tests/fate/aac: remove unneeded strict arguments from the encoder tests
Leftover from the experimental flag removal.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-20 17:02:51 +00:00
Rostislav Pehlivanov
6a505e955b aacenc: remove FAAC-like coder
Has been marked for removal for over a month and has not been improved
or touched at all since it was implemented.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-20 16:56:53 +00:00