Commit Graph

45203 Commits

Author SHA1 Message Date
Martin Storsjö 18a0f42026 checkasm: Use LOCAL_ALIGNED for aligned variables on the stack
This fixes fate-checkasm-hevc_mc on ARMCC 5.0 after adding
NEON HEVC MC assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-12-12 11:36:38 +02:00
Alexandra Hájková 7993ec19af hevc: Add hevc_get_pixel_4/8/12/16/24/32/48/64
Checkasm timings:
block size bitdepth  C       NEON
4           8 bit:    146.7   48.7
           10 bit:    146.7   52.7
8           8 bit:    430.3   84.4
           10 bit:    430.4  119.5
12          8 bit:    812.8  141.0
           10 bit:    812.8  195.0
16          8 bit:   1499.1  268.0
           10 bit:   1498.9  368.4
24          8 bit:   4394.2  574.8
           10 bit:   3696.3  804.8
32          8 bit:   5108.6  568.9
           10 bit:   4249.6  918.8
48          8 bit:  16819.6 2304.9
           10 bit:  13882.0 3178.5
64          8 bit:  13490.8 1799.5
           10 bit:  11018.5 2519.4

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-12-08 23:41:01 +02:00
Mark Thompson 3ff8fbbf5a vaapi_h265: Add named options for setting profile and level
Also fixes the default, which previously contained a nonsense value.
2017-12-06 22:33:53 +00:00
Mark Thompson 6679654efe vaapi_h264: Add named options for setting profile and level 2017-12-06 22:33:52 +00:00
Mark Thompson e171022c24 vaapi: Make the decode profile matching more explicit
Also fixes a bug where it could attempt to decode with an unsupported
codec if allow-profile-mismatch was set.
2017-12-02 15:21:31 +00:00
Jun Zhao 4b57f06447 vaapi_h264: Fix VUI max_dec_frame_buffering
This should refer to the existing SPS structure, not the VAAPI sequence
parameter buffer (which is not yet initialised).

From ffmpeg commit f31478ba14.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-12-02 15:21:31 +00:00
Jun Zhao e7adf2250b vaapi_h265: Enable VBR mode
To match vaapi_h264.

From ffmpeg commit 385cafb07a.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-12-02 15:21:30 +00:00
Mark Thompson 5a6707e49b cbs_mpeg2: Fix marker_bit type 2017-12-02 15:21:30 +00:00
Mark Thompson 7bf3f38046 cbs: Add padding to slice data allocations
These may be read by the bitstream reader, so they should include the
necessary padding for overreads.
2017-12-02 15:21:30 +00:00
Tristan Matthews f6161fccf8 rtsp: only break on parse_rtsp_message on error
Fix suggested by Luca Barbato.

This was causing spurious EOFs when using -rtsp_transport udp, as
reported in https://bugzilla.libav.org/show_bug.cgi?id=1103

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-11-30 15:32:04 +01:00
Vittorio Giovara 99e9697e3a stereo3d: Support view type for frame sequence type
Implement detection in h264 and hevc and insertion in framepack filter.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-11-28 14:56:51 -05:00
Vittorio Giovara 45d7be7f93 prores: Always assume limited range
As defined by the specification.
2017-11-28 14:56:51 -05:00
Li, Zhong b843b343d8 qsvenc: cavlc option is only available for h264
Moving option definition to h264 implementation and fixing command line defaults
in order to properly respect cavlc input value

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-11-24 19:38:52 +01:00
Li, Zhong 136e7cf64c qsv/hevcdec: Load hw plugin by default on non-windows os
Software plugin is not available on Linux, Only works on Windows.
Similar changes have been applied to qsv hevc encoder by
b05128f3c9.

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-11-23 12:59:02 +01:00
Martin Storsjö 3152058bf1 libavcodec: Don't use dllexport, only dllimport when building DLLs
The only purpose of dllexport (which is set while building the library
that exports the symbols) is to have the linker automatically
export such symbols into a DLL without using a def file - it doesn't
affect the generated code.

For both MSVC and mingw builds, this isn't essential since we override
what symbols to export via an autogenerated def file instead.

Update a comment in configure to refer to the right concept.

With lld, this avoids warnings about duplicate export directives,
when some symbols are requested to be exported both via dllexport
attributes and via the autogenerated def file.

This also reduces the number of lines of code marginally.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-11-19 22:01:38 +02:00
Martin Storsjö bad7ce1d82 makedef: Pass EXTERN_PREFIX from configure to makedef
This avoids having to use either "dumpbin -headers" to find out
the current architecture, or pass $ARCH from configure to deduce it.

When configuring with --disable-asm, ARCH is equal to "c", which doesn't
give any indication of what symbol prefix is to be used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-11-16 16:54:08 +02:00
Diego Biurrun d070b9b703 configure: Coalesce some arch configuration and PIC handling 2017-11-15 13:29:41 +01:00
Diego Biurrun 9e48de3cc8 configure: Miscellaneous minor changes
- Move a variable closer to where it is used
- Add an explanatory comment
- Simplify a crosscompile check
- Minor SHFLAGS simplification
- Coalesce some threads tests
2017-11-15 13:29:41 +01:00
James Almer 5c2a01f064 Makefile: fix distclean target
It must imply clean. Regression since 7ebe7e8e7a.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-14 10:09:40 -03:00
James Almer b72ac6dbb8 configure: fix writing library dependencies to config.sh
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-12 23:02:31 -03:00
Mark Thompson 620f88a0b9 vaapi_h264: Add missing return value check 2017-11-12 16:00:52 +00:00
Mark Thompson d5fcf94261 h264_metadata: Fix clearing SEI payload in error case 2017-11-12 16:00:48 +00:00
Mark Thompson 22aed77687 cbs_h2645: Fix memory leak on when reading SEI fails 2017-11-12 16:00:41 +00:00
Mark Thompson 476d301316 cbs: Add a missing return value check 2017-11-12 16:00:27 +00:00
Mark Thompson c77da21e5d vaapi_h264: Do not use deprecated header type
SEI headers should be inserted as generic raw data (the old specific
type has been deprecated in libva2).
2017-11-12 15:59:45 +00:00
Mark Thompson ff007e30d8 vaapi_h264: Add workaround for bad SEI in old Intel drivers
With pre-2.0 Intel drivers in CBR mode, if an explicit SEI message with
the old (now deprecated) type is not included, the driver generates and
inserts some timing SEI which is almost certainly invlaid.  Before
7a4fac5e91 we always inserted our own SEI
so this would not be visible, but since then it has been possible to
disable that.  We would also like to avoid using the deprecated type,
and using the new type, while working in old drivers, does not suppress
the spurious message like the old type does.

Therefore, suppress the bad SEI insertion by providing a zero-length
buffer with the old type, which the driver can insert harmlessly.
2017-11-12 15:59:45 +00:00
James Almer 5c22c90c1d vp9_superframe_bsf: cache packets by creating new references instead of moving pointers
Fixes invalid reads after free.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-11 09:47:33 -03:00
Andreas Cadhalpun 0ccddbad20 smacker: limit recursion depth of smacker_decode_bigtree
This fixes segmentation faults due to stack-overflow caused by too deep
recursion.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
2017-11-10 20:41:32 -05:00
Michael Niedermayer cd4663dc80 smacker: add sanity check for length in smacker_decode_tree()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Bug-Id: 1098
Cc: libav-stable@libav.org
Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
2017-11-10 20:38:44 -05:00
Diego Biurrun 17b6c7efb4 build: Add missing config.sh dependency for pkg-config files
Also only update config.sh when it changed to avoid spurious rebuilds.
2017-11-09 15:22:03 +01:00
Diego Biurrun 7ebe7e8e7a build: Remove pkg-config files on clean instead of on distclean
The files are no longer generated by configure, so they should not
be removed by the distclean target any longer.
2017-11-09 15:21:33 +01:00
Diego Biurrun fbf77b5ac3 build: Add uninstall-pkgconfig target to match install-lib*-pkgconfig 2017-11-09 07:06:21 +01:00
Sean McGovern fbca6e7d16 matroskadec: allow RealAudio/Cook/Sipro streams of flavor 0
Regression since 569d18aa9d.

Bug-Id: 1055
Cc: libav-stable@libav.org
2017-11-06 17:30:05 -05:00
Diego Biurrun 8e0febe28e configure: Use right variable and right value for AIX ar flags 2017-11-04 22:26:23 +01:00
Peter Große 22241208eb avconv.c: fix calculation of input file duration in seek_to_start()
Fixes looping files without audio or when using stream_copy, where
ist->nb_samples is not set since no decoding is done.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-11-04 17:58:47 +01:00
James Almer 55fe72a841 matroskadec: don't warn about unknown spherical medata when none is present
track->video.projection.type is set to 0 (a Matroska specific "No spherical
metadata present" value, with no related AVSphericalMapping) by default on
files without the element.

This removes bogus warnings on every single matroska file without Spherical
metadata.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-03 19:41:08 -03:00
Martin Storsjö 1746c7c8f2 libspeexenc: Use speex_lib_get_mode instead of the speex_foo_mode data symbols
This avoids issues linking to a DLL version of libspeex, since the
libspeex headers lack proper dllimport declarations for the data
symbols.

This isn't an issue when building with mingw with GNU binutils, since
GNU ld can fix up that kind of data import automatically.

libspeexdec.c already uses speex_lib_get_mode as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-11-04 00:01:15 +02:00
Diego Biurrun 2cf3c0ab0d Revert "configure: Detect AIX ar command instead of hardcoding it in the OS section"
This reverts commit 4822ee3ca6.
AIX is a fringe oddity. Do not clutter the main codepath with AIX workarounds.
2017-11-03 16:46:27 +01:00
Diego Biurrun 9b0aff51a7 configure: Simplify MIPS instruction set handling 2017-11-02 11:00:25 +01:00
Diego Biurrun 192fe52e42 configure: Miscellaneous minor changes to config file handling
- Move generating config.fate to a more sensible place.
- Move printing warnings to a more appropriate place.
- Improve "generated by" comment in libavutil/avconfig.h.
- Drop pointless informative output about generating config files.
- Write a standard comment header to config.asm as well.
2017-11-02 11:00:24 +01:00
Diego Biurrun 14bba662d4 configure: Remove unused apply() helper function 2017-11-02 10:55:47 +01:00
Diego Biurrun 61a17423d3 configure: Miscellaneous small changes to helper functions
- Reuse sanitize_var_name() where appropriate
- Add some quotes to enabled()/disabled() to ease readability
- Fix logged names of some helper functions
- Filter LDFLAGS also in test_ldflags()
2017-11-02 10:55:47 +01:00
Martin Storsjö 67c72f08a4 configure: Stop using dlltool to create an import library
There shouldn't be any functional difference between the import
library created by dlltool and the one produced by the linker itself.
Keep installing it with both names though, for compatibility with users
that expect both to exist.

The dlltool step was added in ec10a9ab4; prior to that, a MSVC
compatible import library was generated using lib.exe. After that
commit, there was no functional difference between the two import
libraries (and since MSVC 2012, link.exe works just fine with the
GNU binutils generated one).

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-10-30 21:22:24 +02:00
Peter Große 91760a9340 dashenc: copy stream frame rate to output stream
Leads to setting of DefaultDuration in Matroska muxer based on frame rate instead of timebase.
Fixes playback in Chrome.

Signed-off-by: Peter Große <pegro@friiks.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-10-27 19:52:48 +02:00
Anton Schubert 4723c6226a dashenc: fix bitrate estimation with correct scaling
Signed-off-by: Anton Schubert <ischluff@mailbox.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-10-27 19:52:48 +02:00
Luca Barbato 0e702124ee doc: Provide better examples for hls and segment muxing
Some encoders do not output further IDRs if not requested to.
2017-10-27 19:52:48 +02:00
Diego Biurrun 9dc79b2943 configure: Drop support for legacy PGI compiler 2017-10-25 13:39:58 +02:00
Diego Biurrun 0af8a72174 build: Drop support for legacy TI ARM compiler 2017-10-25 13:39:58 +02:00
Mark Thompson 2708c8e8ef hwcontext_vaapi: Set message callbacks on internally-created devices
The message callbacks are library-safe in libva2, so we can now use
them.
2017-10-25 00:01:41 +01:00
Mark Thompson bfc83acfd6 vaapi: Always free parameter buffers after vaEndPicture() with libva2
This is an ABI change in libva2: previously the Intel driver had this
behaviour and it was implemented as a driver quirk, but now it is part
of the specification so all drivers must do it.
2017-10-25 00:00:49 +01:00