]> git.sesse.net Git - ffmpeg/log
ffmpeg
6 years agoconfigure: fix writing library dependencies to config.sh
James Almer [Mon, 13 Nov 2017 01:56:45 +0000 (22:56 -0300)]
configure: fix writing library dependencies to config.sh

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agovaapi_h264: Add missing return value check
Mark Thompson [Thu, 9 Nov 2017 01:04:39 +0000 (01:04 +0000)]
vaapi_h264: Add missing return value check

6 years agoh264_metadata: Fix clearing SEI payload in error case
Mark Thompson [Thu, 9 Nov 2017 01:04:34 +0000 (01:04 +0000)]
h264_metadata: Fix clearing SEI payload in error case

6 years agocbs_h2645: Fix memory leak on when reading SEI fails
Mark Thompson [Thu, 9 Nov 2017 01:04:30 +0000 (01:04 +0000)]
cbs_h2645: Fix memory leak on when reading SEI fails

6 years agocbs: Add a missing return value check
Mark Thompson [Thu, 9 Nov 2017 01:04:11 +0000 (01:04 +0000)]
cbs: Add a missing return value check

6 years agovaapi_h264: Do not use deprecated header type
Mark Thompson [Sun, 1 Oct 2017 21:55:24 +0000 (22:55 +0100)]
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).

6 years agovaapi_h264: Add workaround for bad SEI in old Intel drivers
Mark Thompson [Tue, 24 Oct 2017 23:15:55 +0000 (00:15 +0100)]
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
7a4fac5e91789b73e07bd4ad20493cfde028df76 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.

6 years agovp9_superframe_bsf: cache packets by creating new references instead of moving pointers
James Almer [Sun, 5 Nov 2017 16:35:40 +0000 (13:35 -0300)]
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>
6 years agosmacker: limit recursion depth of smacker_decode_bigtree
Andreas Cadhalpun [Sat, 19 Nov 2016 13:21:11 +0000 (14:21 +0100)]
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>
6 years agosmacker: add sanity check for length in smacker_decode_tree()
Michael Niedermayer [Thu, 21 Jun 2012 14:01:52 +0000 (16:01 +0200)]
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>
6 years agobuild: Add missing config.sh dependency for pkg-config files
Diego Biurrun [Mon, 6 Nov 2017 16:57:25 +0000 (17:57 +0100)]
build: Add missing config.sh dependency for pkg-config files

Also only update config.sh when it changed to avoid spurious rebuilds.

6 years agobuild: Remove pkg-config files on clean instead of on distclean
Diego Biurrun [Mon, 6 Nov 2017 16:49:55 +0000 (17:49 +0100)]
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.

6 years agobuild: Add uninstall-pkgconfig target to match install-lib*-pkgconfig
Diego Biurrun [Mon, 6 Nov 2017 16:44:33 +0000 (17:44 +0100)]
build: Add uninstall-pkgconfig target to match install-lib*-pkgconfig

6 years agomatroskadec: allow RealAudio/Cook/Sipro streams of flavor 0
Sean McGovern [Thu, 2 Nov 2017 00:45:20 +0000 (20:45 -0400)]
matroskadec: allow RealAudio/Cook/Sipro streams of flavor 0

Regression since 569d18aa9dc989c37bb4d4b968026fe5afa6fff9.

Bug-Id: 1055
Cc: libav-stable@libav.org
6 years agoconfigure: Use right variable and right value for AIX ar flags
Diego Biurrun [Sat, 4 Nov 2017 17:50:30 +0000 (18:50 +0100)]
configure: Use right variable and right value for AIX ar flags

6 years agoavconv.c: fix calculation of input file duration in seek_to_start()
Peter Große [Mon, 30 Oct 2017 11:25:26 +0000 (12:25 +0100)]
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>
6 years agomatroskadec: don't warn about unknown spherical medata when none is present
James Almer [Thu, 2 Nov 2017 23:42:05 +0000 (20:42 -0300)]
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>
6 years agolibspeexenc: Use speex_lib_get_mode instead of the speex_foo_mode data symbols
Martin Storsjö [Fri, 3 Nov 2017 09:36:49 +0000 (11:36 +0200)]
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>
6 years agoRevert "configure: Detect AIX ar command instead of hardcoding it in the OS section"
Diego Biurrun [Fri, 6 Oct 2017 19:38:43 +0000 (21:38 +0200)]
Revert "configure: Detect AIX ar command instead of hardcoding it in the OS section"

This reverts commit 4822ee3ca620a92cd2b0a9a03ea9e34288192c79.
AIX is a fringe oddity. Do not clutter the main codepath with AIX workarounds.

6 years agoconfigure: Simplify MIPS instruction set handling
Diego Biurrun [Fri, 20 Oct 2017 01:57:55 +0000 (03:57 +0200)]
configure: Simplify MIPS instruction set handling

6 years agoconfigure: Miscellaneous minor changes to config file handling
Diego Biurrun [Sat, 23 Sep 2017 14:42:11 +0000 (16:42 +0200)]
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.

6 years agoconfigure: Remove unused apply() helper function
Diego Biurrun [Fri, 20 Oct 2017 22:22:38 +0000 (00:22 +0200)]
configure: Remove unused apply() helper function

6 years agoconfigure: Miscellaneous small changes to helper functions
Diego Biurrun [Fri, 20 Oct 2017 18:58:12 +0000 (20:58 +0200)]
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()

6 years agoconfigure: Stop using dlltool to create an import library
Martin Storsjö [Mon, 30 Oct 2017 09:39:53 +0000 (11:39 +0200)]
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>
6 years agodashenc: copy stream frame rate to output stream
Peter Große [Thu, 26 Oct 2017 16:02:05 +0000 (18:02 +0200)]
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>
6 years agodashenc: fix bitrate estimation with correct scaling
Anton Schubert [Thu, 26 Oct 2017 16:02:04 +0000 (18:02 +0200)]
dashenc: fix bitrate estimation with correct scaling

Signed-off-by: Anton Schubert <ischluff@mailbox.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agodoc: Provide better examples for hls and segment muxing
Luca Barbato [Fri, 13 Oct 2017 10:24:51 +0000 (12:24 +0200)]
doc: Provide better examples for hls and segment muxing

Some encoders do not output further IDRs if not requested to.

6 years agoconfigure: Drop support for legacy PGI compiler
Diego Biurrun [Fri, 6 Oct 2017 00:24:25 +0000 (02:24 +0200)]
configure: Drop support for legacy PGI compiler

6 years agobuild: Drop support for legacy TI ARM compiler
Diego Biurrun [Sun, 24 Sep 2017 12:24:02 +0000 (14:24 +0200)]
build: Drop support for legacy TI ARM compiler

6 years agohwcontext_vaapi: Set message callbacks on internally-created devices
Mark Thompson [Sun, 1 Oct 2017 21:51:31 +0000 (22:51 +0100)]
hwcontext_vaapi: Set message callbacks on internally-created devices

The message callbacks are library-safe in libva2, so we can now use
them.

6 years agovaapi: Always free parameter buffers after vaEndPicture() with libva2
Mark Thompson [Sun, 1 Oct 2017 21:51:20 +0000 (22:51 +0100)]
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.

6 years agovaapi: Remove H.264 baseline profile
Mark Thompson [Sun, 1 Oct 2017 21:51:13 +0000 (22:51 +0100)]
vaapi: Remove H.264 baseline profile

This has been deprecated in libva2 because hardware does not and will not
support it.  Therefore never consider it for decode, and for encode assume
the user meant constrained baseline profile instead.

6 years agoconfigure: Add config option for libva2 (VAAPI 1)
Mark Thompson [Sun, 1 Oct 2017 21:51:07 +0000 (22:51 +0100)]
configure: Add config option for libva2 (VAAPI 1)

6 years agovaapi: Disable deprecation warnings around use of struct vaapi_context
Mark Thompson [Sun, 1 Oct 2017 21:50:59 +0000 (22:50 +0100)]
vaapi: Disable deprecation warnings around use of struct vaapi_context

6 years agoarm: Remove a redundant check in fmtconvert_init_arm.c
Martin Storsjö [Mon, 23 Oct 2017 07:44:53 +0000 (10:44 +0300)]
arm: Remove a redundant check in fmtconvert_init_arm.c

This was missed in e2710e790c0, where have_vfp && !have_vfpv3 were
converted into have_vfp_vm.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoarm: Check for have_vfp_vm instead of !have_vfpv3 for float_dsp_vfp
Martin Storsjö [Mon, 23 Oct 2017 07:44:07 +0000 (10:44 +0300)]
arm: Check for have_vfp_vm instead of !have_vfpv3 for float_dsp_vfp

This was missed in e2710e790c0 since those functions weren't exercised
by checkasm.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agolavc: fix hw_device_ctx operation
wm4 [Mon, 23 Oct 2017 22:28:03 +0000 (00:28 +0200)]
lavc: fix hw_device_ctx operation

Commit b46a77f19d accidentally broke this (requested change that was
added to the patch later and which was not fully tested).

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoconfigure: Group system feature variables and system libraries together
Diego Biurrun [Tue, 26 Sep 2017 16:26:11 +0000 (18:26 +0200)]
configure: Group system feature variables and system libraries together

6 years agobuild: Delete compiler-generated compat files on 'make clean'
Diego Biurrun [Thu, 19 Oct 2017 17:18:18 +0000 (19:18 +0200)]
build: Delete compiler-generated compat files on 'make clean'

6 years agoconfigure: Bail out early if neither static nor shared libs are built
Diego Biurrun [Sun, 24 Sep 2017 09:52:08 +0000 (11:52 +0200)]
configure: Bail out early if neither static nor shared libs are built

6 years agoconfigure: Move enabling libc_type into probe_libc() function
Diego Biurrun [Sat, 23 Sep 2017 14:35:49 +0000 (16:35 +0200)]
configure: Move enabling libc_type into probe_libc() function

6 years agolavc: external hardware frame pool initialization
wm4 [Thu, 19 Oct 2017 14:38:20 +0000 (16:38 +0200)]
lavc: external hardware frame pool initialization

This adds a new API, which allows the API user to query the required
AVHWFramesContext parameters. This also reduces code duplication across
the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses
the new API function. It takes care of initializing the hw_frames_ctx
if needed, and does additional error handling and API usage checking.

Support for VDA and Cuvid missing.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agoFATE: add a test for the H.264 sample fixed by 7c4f6f6
Anton Khirnov [Thu, 17 Aug 2017 10:25:56 +0000 (12:25 +0200)]
FATE: add a test for the H.264 sample fixed by 7c4f6f6

6 years agoqsv: Make the hevc idr_interval consistent with the h264 one
Luca Barbato [Tue, 17 Oct 2017 11:04:57 +0000 (11:04 +0000)]
qsv: Make the hevc idr_interval consistent with the h264 one

According to the MediaSDK documentation the idr_interval value has
a different meaning depending on the codec:

    0 in H264 means make every I-frame IDR, in HEVC it means to have
    it only at the beginning.

    1 in H264 means every other I-frame is not-IDR, in HEVC it means
    that every I-frame is IDR.

Keep the behaviour consistent between the two encoders by increasing
by 1 internally the idr_interval value for HEVC.

6 years agoconfigure: Set the default assembler to armasm64 for MSVC for arm64
Martin Storsjö [Fri, 13 Oct 2017 08:10:27 +0000 (11:10 +0300)]
configure: Set the default assembler to armasm64 for MSVC for arm64

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoaarch64: Remove a dot from a label
Martin Storsjö [Fri, 13 Oct 2017 09:22:55 +0000 (12:22 +0300)]
aarch64: Remove a dot from a label

This fixes building with armasm64 (when run through gas-preprocessor).

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoaarch64: Get rid of a stray double space
Martin Storsjö [Fri, 13 Oct 2017 08:10:42 +0000 (11:10 +0300)]
aarch64: Get rid of a stray double space

The extra space got included as part of the expansion of ELF, which
later interfered with gas-preprocessor which earlier only stripped out
leftover lines starting with '#' if the line started with that char.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agocbs: Add test dependencies
Mark Thompson [Mon, 16 Oct 2017 22:02:24 +0000 (23:02 +0100)]
cbs: Add test dependencies

Fixes the MPEG-2 failure with --disable-error-resilience.

6 years agomss1: Add missing macro parameters to ARITH_GET_* macros
Diego Biurrun [Wed, 11 Oct 2017 03:57:59 +0000 (05:57 +0200)]
mss1: Add missing macro parameters to ARITH_GET_* macros

It is wrong to pass no arguments to a macro that expects one argument
and some compilers complain.

6 years agoqsv: Expose idr_interval for hevc as well
Luca Barbato [Fri, 13 Oct 2017 23:22:13 +0000 (23:22 +0000)]
qsv: Expose idr_interval for hevc as well

6 years agoRemove dv1394 input device
Josh de Kock [Tue, 26 Sep 2017 14:49:18 +0000 (15:49 +0100)]
Remove dv1394 input device

Support for this device has been removed in the Linux kernel since v2.6.37.
dv1394 has been superseded by libiec61883 which is functionally equivalent.

Signed-off-by: Josh de Kock <josh@itanimul.li>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
6 years agoavfoundation: Drop silly _dec suffix from filename
Diego Biurrun [Wed, 27 Sep 2017 13:28:33 +0000 (15:28 +0200)]
avfoundation: Drop silly _dec suffix from filename

6 years agoalsa: Coalesce source files after outdev removal
Diego Biurrun [Wed, 27 Sep 2017 13:24:58 +0000 (15:24 +0200)]
alsa: Coalesce source files after outdev removal

6 years agooss: Coalesce source files after outdev removal
Diego Biurrun [Wed, 27 Sep 2017 13:18:58 +0000 (15:18 +0200)]
oss: Coalesce source files after outdev removal

6 years agosndio: Coalesce source files after outdev removal
Diego Biurrun [Wed, 27 Sep 2017 13:12:41 +0000 (15:12 +0200)]
sndio: Coalesce source files after outdev removal

6 years agoRemove all output devices
Diego Biurrun [Sat, 23 Sep 2017 14:26:28 +0000 (16:26 +0200)]
Remove all output devices

The libavformat API is not suitable for exporting output devices as muxers.
Some practical problems are e.g. lack of timing/synchronization mechanisms
or interaction with output-specific features.

6 years agopictor: Correctly check frame dimensions
Michael Niedermayer [Tue, 7 Feb 2017 14:49:09 +0000 (15:49 +0100)]
pictor: Correctly check frame dimensions

Fixes: 559/clusterfuzz-testcase-6424225917173760
Bug-Id: CVE-2017-7862
CC: libav-stable@libav.org
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 8c2ea3030af7b40a3c4275696fb5c76cdb80950a)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
6 years agomakedef: Add support for identifying the ARM64 machine type
Martin Storsjö [Wed, 13 Sep 2017 20:05:50 +0000 (23:05 +0300)]
makedef: Add support for identifying the ARM64 machine type

Since this machine type is 5 chars while the existing ones only
were 3 (which the regexp assumed), the regexp has to be extended
a little.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoconfigure: Add a comment about why we don't try to enable pic on arm on target_os...
Martin Storsjö [Thu, 12 Oct 2017 08:08:32 +0000 (11:08 +0300)]
configure: Add a comment about why we don't try to enable pic on arm on target_os=win32

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoconfigure: Don't add -fPIC to asflags when targeting windows
Martin Storsjö [Thu, 12 Oct 2017 08:04:53 +0000 (11:04 +0300)]
configure: Don't add -fPIC to asflags when targeting windows

On X86 windows, asflags weren't actually ever used for anything,
since assembling used x86asflags instead, and that flags list
had -DPIC already.

This fixes building shared libraries with clang for arm/aarch64
windows. (This wasn't an issue when in msvc mode before, since
we don't try to enable pic at all there, since the msvc armasm
assembler fails on our pic constructs there.)

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoconfigure: Don't add -fPIC to cflags for target_os=win32
Martin Storsjö [Thu, 12 Oct 2017 08:03:08 +0000 (11:03 +0300)]
configure: Don't add -fPIC to cflags for target_os=win32

We skipped adding it to cflags for mingw/cygwin configurations
where the compiler either complains loudly or even errors out;
do the same for target_os=win32, for the case when building with
clang in msvc mode.

This wasn't needed for the actual msvc before, since msvc uses
msvc_common_flags to filter out this flag from cflags.
When building with clang in msvc mode, no such filter is used.

This fixes building shared libraries with clang in msvc mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agobuild: CryptGenRandom --> wincrypt, it is a better name
Diego Biurrun [Tue, 26 Sep 2017 16:24:24 +0000 (18:24 +0200)]
build: CryptGenRandom --> wincrypt, it is a better name

6 years agobuild: Rename stdatomic_h variable to stdatomic
Diego Biurrun [Sun, 24 Sep 2017 18:10:02 +0000 (20:10 +0200)]
build: Rename stdatomic_h variable to stdatomic

It does not represent a header but a complete system capability.

6 years agoconfigure: Extend check_header() to allow checking for multiple headers
Diego Biurrun [Wed, 4 Oct 2017 00:03:53 +0000 (02:03 +0200)]
configure: Extend check_header() to allow checking for multiple headers

Also use that new capability to simplify bktr header checks.

6 years agobuild: Merge mach/mach_time.h and mach_absolute_time() checks
Diego Biurrun [Sat, 7 Oct 2017 01:16:11 +0000 (03:16 +0200)]
build: Merge mach/mach_time.h and mach_absolute_time() checks

6 years agoconfigure: Merge separate parts of GnuTLS test
Diego Biurrun [Sat, 23 Sep 2017 15:07:50 +0000 (17:07 +0200)]
configure: Merge separate parts of GnuTLS test

6 years agoconfigure: Simplify nvenc check (and move it to the correct spot)
Diego Biurrun [Sat, 23 Sep 2017 15:05:00 +0000 (17:05 +0200)]
configure: Simplify nvenc check (and move it to the correct spot)

6 years agoconfigure: Drop fallback for deprecated avserver command line options
Diego Biurrun [Thu, 5 Oct 2017 23:57:40 +0000 (01:57 +0200)]
configure: Drop fallback for deprecated avserver command line options

6 years agoconfigure: Drop feature for randomly disabling/enabling components
Diego Biurrun [Thu, 5 Oct 2017 23:52:45 +0000 (01:52 +0200)]
configure: Drop feature for randomly disabling/enabling components

This feature was never used for anything.

6 years agoconfigure: Fix stupid typo in gsm.h header name
Diego Biurrun [Wed, 11 Oct 2017 16:58:00 +0000 (18:58 +0200)]
configure: Fix stupid typo in gsm.h header name

6 years agoconfigure: Remove pointless empty *_COMPONENTS variables
Diego Biurrun [Thu, 5 Oct 2017 21:16:25 +0000 (23:16 +0200)]
configure: Remove pointless empty *_COMPONENTS variables

6 years agoconfigure: Drop stray extralibs for libspeex
Diego Biurrun [Wed, 4 Oct 2017 18:07:47 +0000 (20:07 +0200)]
configure: Drop stray extralibs for libspeex

These extralibs are set by pkg-config already.

6 years agoconfigure: Drop unused attribute checks
Diego Biurrun [Tue, 26 Sep 2017 16:14:41 +0000 (18:14 +0200)]
configure: Drop unused attribute checks

6 years agoconfigure: Drop test for fork()
Diego Biurrun [Tue, 26 Sep 2017 15:22:43 +0000 (17:22 +0200)]
configure: Drop test for fork()

fork() is never used conditionally.

6 years agobuild: Drop redundant check for soundcard.h
Diego Biurrun [Tue, 26 Sep 2017 14:57:17 +0000 (16:57 +0200)]
build: Drop redundant check for soundcard.h

It should be sys/soundcard.h nowadays.

6 years agobuild: Remove check for gsm/gsm.h for libgsm
Diego Biurrun [Tue, 26 Sep 2017 10:13:07 +0000 (12:13 +0200)]
build: Remove check for gsm/gsm.h for libgsm

libgsm never installed more than a single header, the headers installed into
the gsm/ subdirectory by some distros are private. Who started this nonsense
is a mystery, but it got cargo-culted around ever since.

6 years agobuild: Drop check for sys/mman.h in favor of mmap() check
Diego Biurrun [Sun, 24 Sep 2017 18:13:40 +0000 (20:13 +0200)]
build: Drop check for sys/mman.h in favor of mmap() check

We already rely on just mmap() in other places.

6 years agoconfigure: Drop redundant header check for d3d11.h
Diego Biurrun [Sun, 24 Sep 2017 17:55:25 +0000 (19:55 +0200)]
configure: Drop redundant header check for d3d11.h

It is detected as a part of the ID3D11VideoDecoder check.

6 years agobuild: Drop explicit check for dlfcn.h
Diego Biurrun [Sun, 24 Sep 2017 17:39:29 +0000 (19:39 +0200)]
build: Drop explicit check for dlfcn.h

It is detected as a part of the libdl check.

6 years agoconfigure: Drop unused or internally-used entries from variable lists
Diego Biurrun [Sun, 24 Sep 2017 17:47:08 +0000 (19:47 +0200)]
configure: Drop unused or internally-used entries from variable lists

The variable lists are for variables whose values end up in output files.

6 years agobuild: Drop support for Tru64 Unix (OSF/1)
Diego Biurrun [Sun, 24 Sep 2017 10:21:17 +0000 (12:21 +0200)]
build: Drop support for Tru64 Unix (OSF/1)

This proprietary Unix flavor dropped from the face of the earth more
than a decade ago. Nothing of value was lost.

6 years agoconfigure: rename hevc_ps to hevcparse
James Almer [Tue, 10 Oct 2017 16:56:46 +0000 (13:56 -0300)]
configure: rename hevc_ps to hevcparse

Build h2645_parse.o with it, as every hevc_ps dependency also needs it.
This is more in line with h264's h264parse module.

Signed-off-by: James Almer <jamrial@gmail.com>
6 years agoextract_extradata: return an error when buffer allocation fails
James Almer [Wed, 13 Sep 2017 20:07:19 +0000 (17:07 -0300)]
extract_extradata: return an error when buffer allocation fails

ret is 0 by default.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agocpu: split flag checks per arch in av_cpu_max_align()
James Almer [Thu, 14 Sep 2017 19:51:26 +0000 (16:51 -0300)]
cpu: split flag checks per arch in av_cpu_max_align()

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoconfigure: Use test_pkg_config() for the SDL check
James Almer [Sat, 30 Sep 2017 01:56:09 +0000 (22:56 -0300)]
configure: Use test_pkg_config() for the SDL check

Removes the extra code to preserve global CFLAGS.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
6 years agoconfigure: Add test_pkg_config()
James Almer [Sat, 30 Sep 2017 01:56:08 +0000 (22:56 -0300)]
configure: Add test_pkg_config()

This helper is split off check_pkg_config(), setting only the pkg CFLAGS
and extralibs. This is useful for checks that do not require or do not
benefit from setting global CFLAGS.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
6 years agocinepakenc: Move declaration out of for initialisation statement
Mark Thompson [Wed, 27 Sep 2017 00:48:37 +0000 (01:48 +0100)]
cinepakenc: Move declaration out of for initialisation statement

6 years agohapdec: Delete include for nonexistent file
Mark Thompson [Wed, 27 Sep 2017 00:47:24 +0000 (01:47 +0100)]
hapdec: Delete include for nonexistent file

It exists as an alias for string.h in most C libraries, so usually this
line is harmless.

6 years agohevc: Fix aligned array declarations
Mark Thompson [Wed, 27 Sep 2017 00:44:21 +0000 (01:44 +0100)]
hevc: Fix aligned array declarations

6 years agoqsv: Join the derived session to the parent
Luca Barbato [Sun, 24 Sep 2017 13:54:28 +0000 (13:54 +0000)]
qsv: Join the derived session to the parent

Should improve the performance on multiple transcoding from a single
source.

6 years agoqsv: Make sure the session is set with the latest version
Luca Barbato [Mon, 25 Sep 2017 09:57:30 +0000 (09:57 +0000)]
qsv: Make sure the session is set with the latest version

It is needed to have the calls to MFXJoinSession succeed.

6 years agocheckasm: Test more h264 idct variants
Martin Storsjö [Tue, 29 Aug 2017 20:23:12 +0000 (23:23 +0300)]
checkasm: Test more h264 idct variants

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agocbs: Add some read/write tests
Mark Thompson [Tue, 15 Aug 2017 17:14:32 +0000 (18:14 +0100)]
cbs: Add some read/write tests

Use the appropriate metadata filter for each codec - in the absence of any
options to modify the stream, the output bitstream should be identical to
the input (though the output file may differ in padding).

All tests use conformance bitstreams, the MPEG-2 streams are newly added
from the conformance test streams
<http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_13818-4_2004_Conformance_Testing/Video/>

6 years agohttp: Reset compressed header flag when starting to read a request
Jacek Jendrzej [Thu, 20 Jul 2017 11:46:46 +0000 (13:46 +0200)]
http: Reset compressed header flag when starting to read a request

This fixes redirects, where the original redirect response indicated
support for compression, while the actual redirected content didn't.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agocbs_h264: Fix writing streams with auxiliary pictures
Mark Thompson [Sat, 23 Sep 2017 15:46:11 +0000 (16:46 +0100)]
cbs_h264: Fix writing streams with auxiliary pictures

Tested with the alphaconformanceG sample.

6 years agosmacker: fix integer overflow with pts_inc
Michael Niedermayer [Sun, 24 Sep 2017 10:58:42 +0000 (12:58 +0200)]
smacker: fix integer overflow with pts_inc

Bug-Id: 1073

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
6 years agosmacker: return meaningful error codes on failure
Sean McGovern [Sun, 24 Sep 2017 10:57:54 +0000 (12:57 +0200)]
smacker: return meaningful error codes on failure

6 years agopixdesc: Add API to map color property names to enum values
Vittorio Giovara [Thu, 21 Sep 2017 11:23:21 +0000 (13:23 +0200)]
pixdesc: Add API to map color property names to enum values

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
6 years agolibavfilter/overlay_qsv: Add QSV overlay vpp filter
Huang, Zhengxu [Fri, 18 Aug 2017 01:40:47 +0000 (09:40 +0800)]
libavfilter/overlay_qsv: Add QSV overlay vpp filter

The filter supports two inputs and (implicitly) scaling the second input
during composition, unlike the software overlay.

The code has been separated into common interface and qsv overlay
implementation. The common part mainly creates the qsv session and
manages the surface which is nearly the same for all qsv filters.
So the qsvvpp.c/qsvvpp.h API can be used by other QSV vpp filters
to reduce code redundancy.

Usage:
 -hwaccel qsv -c:v mpeg2_qsv -r 25 -i in.m2v -hwaccel qsv -c:v h264_qsv
 -i in.h264 -filter_complex
 "overlay_qsv=eof_action=repeat:x=(W-w)/2:y=(H-h)/2"  -b 2M -maxrate 3M
 -c:v h264_qsv -y out.h264

Two inputs should have different sizes otherwise one will be completely
covered or you need to scale the second input as follows:
  -hwaccel qsv -c:v mpeg2_qsv -r 25 -i in.m2v -hwaccel qsv -c:v h264_qsv
  -i in.h264 -filter_complex
  "overlay_qsv=w=720:h=576:x=(W-w)/2:y=(H-h)/2" -b 2M -maxrate 3M -c:v
  h264_qsv -y out.h264

Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com>
Signed-off-by: Andrew Zhang <huazh407@gmail.com>
  Change-Id: I5c381febb0af6e2f9622c54ba00490ab99d48297
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
6 years agolibavfilter/vf_vpp: Add common filters of the qsv vpp
Huang, Zhengxu [Thu, 24 Aug 2017 02:16:28 +0000 (10:16 +0800)]
libavfilter/vf_vpp: Add common filters of the qsv vpp

Add common filters of the qsv vpp features including scale,denosie,
deinterlace,frc,crop and procAmp.

Performance will be significantly reduced in the test if using cascade
mode just like qsv framerate + qsv scale + qsv deinterlace + qsv denoise in
separated way no matter in system or video memmory cases.
And the code is so redundant because so much the same just as session and
surface's creation and management.
So we add a common qsv filter.

Usage:
-hwaccel qsv -c:v h264_qsv -r 25 -i in -vf
vpp_qsv=w=iw/2:h=400:deinterlace=1:framerate=60:detail=50:denoise=50
-b 2M -maxrate 3M -c:v h264_qsv -y out.h264

Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com>
Signed-off-by: Andrew Zhang <huazh407@gmail.com>
Change-Id: I130392ce722138c209ab658c5f03f0009b6e8024
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>