ffmpeg.git
3 years agotakdec: Use ISO C printf conversion specifiers where appropriate
Diego Biurrun [Fri, 24 Mar 2017 16:35:06 +0000 (17:35 +0100)]
takdec: Use ISO C printf conversion specifiers where appropriate

libavformat/takdec.c:144:20: warning: format '%X' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t'

3 years agodcadec: remove extra indirection
Anton Khirnov [Wed, 29 Mar 2017 10:04:46 +0000 (12:04 +0200)]
dcadec: remove extra indirection

num_core_channels is always equal to s->audio_header.prim_channels,
neither one of those variables ever get changed.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agohevcdec: Use LOCAL_ALIGNED_* for declaring local variables with alignment
Martin Storsjö [Tue, 28 Mar 2017 09:53:58 +0000 (12:53 +0300)]
hevcdec: Use LOCAL_ALIGNED_* for declaring local variables with alignment

Not all compilers can do alignment larger than the normal stack alignment
for variables on the stack. In these cases, the LOCAL_ALIGNED_* macros
produce the workaround alignment wrapper consisting of a padded array
and a pointer variable.

This fixes the hevc fate tests on RVCT/ARMCC after adding IDCT assembly
that actually assumes/relies on this alignment.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoarm: Always build the hevcdsp_init_arm.c file
Martin Storsjö [Tue, 28 Mar 2017 08:05:53 +0000 (11:05 +0300)]
arm: Always build the hevcdsp_init_arm.c file

The main hevcdsp.c file calls this init function if HAVE_ARM is set,
regardless of whether neon support is available or not.

This fixes builds where neon isn't supported by the build tools at all.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agojack: Drop support for old (2012) JACK versions
Diego Biurrun [Tue, 21 Mar 2017 11:10:40 +0000 (12:10 +0100)]
jack: Drop support for old (2012) JACK versions

3 years agohwcontext: Move NONE to the be the first member of AVHWDeviceType
Mark Thompson [Thu, 23 Mar 2017 19:49:39 +0000 (19:49 +0000)]
hwcontext: Move NONE to the be the first member of AVHWDeviceType

Also use that to fix a warning in av_hwdevice_get_type_name().

3 years agohevc: Add NEON 4x4 and 8x8 IDCT
Alexandra Hájková [Mon, 27 Mar 2017 07:52:55 +0000 (09:52 +0200)]
hevc: Add NEON 4x4 and 8x8 IDCT

Optimized by Martin Storsjö <martin@martin.st>.

The speedup vs C code is around 3.2-4.4x.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoconfigure: Disable inline assembly for PathScale compilers
Diego Biurrun [Fri, 24 Mar 2017 19:30:22 +0000 (20:30 +0100)]
configure: Disable inline assembly for PathScale compilers

These compilers pass the inline assembly check, but fail to compile
our inline assembly in various ways.

3 years agonsvdec: don't ignore the return value of av_get_packet()
Sean McGovern [Fri, 24 Mar 2017 17:36:51 +0000 (13:36 -0400)]
nsvdec: don't ignore the return value of av_get_packet()

Fixes invalid reads with corrupted files.

CC: libav-stable@libav.org
Bug-Id: 1039

3 years agortmpproto: send swfverify value as swfurl if latter is unused
Ricardo Constantino [Mon, 20 Mar 2017 20:28:09 +0000 (20:28 +0000)]
rtmpproto: send swfverify value as swfurl if latter is unused

Replicates lavf/librtmp.c behavior in L145-152 and rtmpdump's
behavior with "--swfVfy <url>" passing the url to swfUrl.

Fixes bug 943.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoconfigure: Skip check for inline assembly capabilities when explicitly disabled
Diego Biurrun [Fri, 24 Mar 2017 19:24:08 +0000 (20:24 +0100)]
configure: Skip check for inline assembly capabilities when explicitly disabled

Otherwise inline assembly may get enabled when disabled on the command line.

3 years agoAPIchanges: Update bump dates
Vittorio Giovara [Thu, 23 Mar 2017 09:39:11 +0000 (10:39 +0100)]
APIchanges: Update bump dates

3 years agoavplay: Use the named syntax for buffersrc arguments
Luca Barbato [Thu, 23 Mar 2017 11:20:50 +0000 (12:20 +0100)]
avplay: Use the named syntax for buffersrc arguments

Avoid confusion.

3 years agovf_showinfo: Display spherical properties
Vittorio Giovara [Wed, 15 Mar 2017 21:55:18 +0000 (17:55 -0400)]
vf_showinfo: Display spherical properties

3 years agovf_showinfo: Simplify reporting stereo3d information
Vittorio Giovara [Wed, 15 Mar 2017 21:39:53 +0000 (17:39 -0400)]
vf_showinfo: Simplify reporting stereo3d information

3 years agospherical: Change types of bounding and pad to uint32_t
Vittorio Giovara [Tue, 14 Mar 2017 21:50:48 +0000 (17:50 -0400)]
spherical: Change types of bounding and pad to uint32_t

These values are defined to be 32bit in the specification,
so it makes more sense to store them as fixed width.

Based on a patch by Micahel Niedermayer <michael@niedermayer.cc>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavu: Drop deprecated av_dlog macro
Vittorio Giovara [Thu, 16 Mar 2017 19:30:58 +0000 (15:30 -0400)]
lavu: Drop deprecated av_dlog macro

Deprecated in 05/2015.

3 years agolavu: Drop deprecated option type
Vittorio Giovara [Mon, 5 Dec 2016 22:22:49 +0000 (17:22 -0500)]
lavu: Drop deprecated option type

Deprecated in 02/2014.

3 years agolavu: Drop deprecated VDPAU pixel formats
Vittorio Giovara [Mon, 5 Dec 2016 22:13:33 +0000 (17:13 -0500)]
lavu: Drop deprecated VDPAU pixel formats

Deprecated in 07/2013.

3 years agolavc: Drop deprecated stream codec tag
Vittorio Giovara [Thu, 16 Mar 2017 20:21:54 +0000 (16:21 -0400)]
lavc: Drop deprecated stream codec tag

Deprecated in 07/2015.

3 years agolavc: Drop deprecated options moved to private contexts
Vittorio Giovara [Thu, 16 Mar 2017 20:03:38 +0000 (16:03 -0400)]
lavc: Drop deprecated options moved to private contexts

Deprecated in 10/2014 and 07/2015.

3 years agolavc: Drop deprecated time_base variable for decoding
Vittorio Giovara [Thu, 16 Mar 2017 19:56:59 +0000 (15:56 -0400)]
lavc: Drop deprecated time_base variable for decoding

Deprecated in 10/2015.

3 years agolavc: Drop deprecated way of setting audio delay on encode
Vittorio Giovara [Thu, 16 Mar 2017 19:55:18 +0000 (15:55 -0400)]
lavc: Drop deprecated way of setting audio delay on encode

Deprecated in 08/2014.

3 years agolavc: Drop deprecated global afd field
Vittorio Giovara [Thu, 16 Mar 2017 19:51:56 +0000 (15:51 -0400)]
lavc: Drop deprecated global afd field

Deprecated in 08/2014.

3 years agolavc: Drop deprecated avctx codec name
Vittorio Giovara [Mon, 5 Dec 2016 22:08:15 +0000 (17:08 -0500)]
lavc: Drop deprecated avctx codec name

Deprecated in 04/2014.

3 years agolavc: Drop deprecated codec flags
Vittorio Giovara [Mon, 5 Dec 2016 20:57:18 +0000 (15:57 -0500)]
lavc: Drop deprecated codec flags

Deprecated between 04/2014 - 05/2015.

3 years agolavc: Drop deprecated unused public members
Vittorio Giovara [Mon, 5 Dec 2016 20:55:32 +0000 (15:55 -0500)]
lavc: Drop deprecated unused public members

Deprecated in 07/2014.

3 years agolavc: Drop deprecated emu edge functionality
Vittorio Giovara [Mon, 5 Dec 2016 20:47:35 +0000 (15:47 -0500)]
lavc: Drop deprecated emu edge functionality

Deprecated in 01/2014.

3 years agolavc: Drop deprecated av_fast_malloc() compatibility
Vittorio Giovara [Mon, 5 Dec 2016 20:45:20 +0000 (15:45 -0500)]
lavc: Drop deprecated av_fast_malloc() compatibility

Deprecated in 10/2013.

3 years agolavc: Drop deprecated macroblock type symbols
Vittorio Giovara [Mon, 5 Dec 2016 20:43:14 +0000 (15:43 -0500)]
lavc: Drop deprecated macroblock type symbols

Deprecated in 10/2013.

3 years agolavc: Drop deprecated public symbols
Vittorio Giovara [Mon, 5 Dec 2016 20:42:00 +0000 (15:42 -0500)]
lavc: Drop deprecated public symbols

qscale types and maximum number of bframes deprecated in 10/2013.
Negative linesizes deprecated in 11/2013.
xvidmmx deprecated in 08/2014.

3 years agolavc: Drop deprecated error rate option
Vittorio Giovara [Mon, 5 Dec 2016 20:41:20 +0000 (15:41 -0500)]
lavc: Drop deprecated error rate option

Deprecated in 10/2013.

3 years agolavc: Remove deprecated XvMC support hacks
Diego Biurrun [Wed, 7 Dec 2016 07:18:41 +0000 (08:18 +0100)]
lavc: Remove deprecated XvMC support hacks

Deprecated in 11/2013.

3 years agolavc: Drop deprecated architectures symbols
Vittorio Giovara [Mon, 5 Dec 2016 20:27:16 +0000 (15:27 -0500)]
lavc: Drop deprecated architectures symbols

Alpha deprecated in 11/2013.
Sh4 and sparc deprecated in 01/2014.

3 years agolavc: Drop deprecated extended aspect ratio symbol
Vittorio Giovara [Mon, 5 Dec 2016 20:22:05 +0000 (15:22 -0500)]
lavc: Drop deprecated extended aspect ratio symbol

Deprecated in 10/2013.

3 years agolavc: Drop deprecated workaround bugs options
Vittorio Giovara [Mon, 5 Dec 2016 20:19:58 +0000 (15:19 -0500)]
lavc: Drop deprecated workaround bugs options

Illegal ac_vlc and old msmpeg4 detection deprecated in 10/2013.

3 years agolavc: Drop deprecated debug mv functionality
Vittorio Giovara [Mon, 5 Dec 2016 20:13:43 +0000 (15:13 -0500)]
lavc: Drop deprecated debug mv functionality

Deprecated in 10/2013.

3 years agolavc: Drop deprecated way of setting codec dimensions
Vittorio Giovara [Mon, 5 Dec 2016 20:11:06 +0000 (15:11 -0500)]
lavc: Drop deprecated way of setting codec dimensions

Deprecated in 10/2013.

3 years agolavc: Drop deprecated voxware codec entry
Vittorio Giovara [Mon, 5 Dec 2016 19:33:00 +0000 (14:33 -0500)]
lavc: Drop deprecated voxware codec entry

Deprecated in 08/2013.

3 years agolavc: Drop deprecated VDPAU buffer fields
Vittorio Giovara [Mon, 5 Dec 2016 19:31:25 +0000 (14:31 -0500)]
lavc: Drop deprecated VDPAU buffer fields

Deprecated in 07/2013.

3 years agolavc: Drop deprecated VDPAU codec capability
Vittorio Giovara [Mon, 5 Dec 2016 19:30:09 +0000 (14:30 -0500)]
lavc: Drop deprecated VDPAU codec capability

Deprecated in 07/2013.

3 years agolavc: Drop deprecated lowres option
Vittorio Giovara [Mon, 5 Dec 2016 19:28:30 +0000 (14:28 -0500)]
lavc: Drop deprecated lowres option

Deprecated in 04/2013.

3 years agolavc: Drop deprecated missing sample log function
Vittorio Giovara [Mon, 5 Dec 2016 19:27:30 +0000 (14:27 -0500)]
lavc: Drop deprecated missing sample log function

Deprecated in 01/2013.

3 years agolavc: Drop deprecated chroma subsample function
Vittorio Giovara [Mon, 5 Dec 2016 19:24:57 +0000 (14:24 -0500)]
lavc: Drop deprecated chroma subsample function

Deprecated in 11/2012.

3 years agolavf: Drop deprecated hint to set muxer timebase
Vittorio Giovara [Mon, 5 Dec 2016 19:16:21 +0000 (14:16 -0500)]
lavf: Drop deprecated hint to set muxer timebase

Deprecated in 05/2014.

3 years agolavf: Drop deprecated AVFract type and related field
Vittorio Giovara [Mon, 5 Dec 2016 19:13:58 +0000 (14:13 -0500)]
lavf: Drop deprecated AVFract type and related field

Deprecated in 05/2014.

3 years agolavf: Drop deprecated bitexact functionality
Vittorio Giovara [Mon, 5 Dec 2016 19:11:14 +0000 (14:11 -0500)]
lavf: Drop deprecated bitexact functionality

Deprecated in 05/2014.

3 years agolavfi: Drop deprecated non-const filter retrieval
Vittorio Giovara [Mon, 5 Dec 2016 18:58:30 +0000 (13:58 -0500)]
lavfi: Drop deprecated non-const filter retrieval

Deprecated in 10/2013.

3 years agolavfi: Drop deprecated filter registration
Vittorio Giovara [Mon, 5 Dec 2016 18:42:27 +0000 (13:42 -0500)]
lavfi: Drop deprecated filter registration

Deprecated in 04/2013.

3 years agolavfi: Drop deprecated filter initialization
Vittorio Giovara [Mon, 5 Dec 2016 17:43:19 +0000 (12:43 -0500)]
lavfi: Drop deprecated filter initialization

Deprecated in 03/2013.

3 years agolavfi: Drop deprecated functions to open a filter or a filterchain
Vittorio Giovara [Mon, 5 Dec 2016 17:41:49 +0000 (12:41 -0500)]
lavfi: Drop deprecated functions to open a filter or a filterchain

Deprecated in 03/2013.

3 years agolavfi: Drop deprecated way of passing options for a few filters
Vittorio Giovara [Mon, 5 Dec 2016 17:38:32 +0000 (12:38 -0500)]
lavfi: Drop deprecated way of passing options for a few filters

Deprecated in 02/2013.

3 years agoBump major versions of all libraries
Vittorio Giovara [Thu, 16 Mar 2017 19:37:51 +0000 (15:37 -0400)]
Bump major versions of all libraries

This disables everything that was deprecated at least 18 months ago.

Readjust the minimum API version as needed, postponing any
API-incompatible changes until the next bump.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoflvdec: Set avg_frame_rate for video streams
Carl Eugen Hoyos [Fri, 25 Nov 2016 10:06:14 +0000 (11:06 +0100)]
flvdec: Set avg_frame_rate for video streams

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agolibavutil: Hook up the rest of the gcc specific attributes to clang as well
Martin Storsjö [Tue, 21 Mar 2017 12:36:33 +0000 (14:36 +0200)]
libavutil: Hook up the rest of the gcc specific attributes to clang as well

Hook up all attributes that don't have a MSVC specific version at the
moment.

See f637046d313 for details.

These don't seem to be critical for building with clang in MSVC mode
though, and thus haven't been hooked up until now.

These seem to build fine with as old clang as 3.3 at least.
(clang 3.3 disguises itself as gcc 4.2 normally, so all of these
have been used for clang before, except for av_cold.)

The clang version numbers themselves are useless for detecting what
attributes are available, since Apple's clang builds use a completely
different versioning (presenting itself as e.g. clang 8.0 instead
of 3.8).

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agolibavutil: Define the noreturn attribute for clang in MSVC mode as well
Martin Storsjö [Tue, 21 Mar 2017 12:26:27 +0000 (14:26 +0200)]
libavutil: Define the noreturn attribute for clang in MSVC mode as well

This is a follow-up to f637046d313.

Without the noreturn attribute set, avconv_opt.c fails to build after
d2e6dd32a44 with the error "control may reach end of non-void function".
By making sure the noreturn attribute is set properly, this compiles
as intended.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agodca: Refactor dca_filter_channels() a little
Luca Barbato [Tue, 14 Mar 2017 09:15:30 +0000 (09:15 +0000)]
dca: Refactor dca_filter_channels() a little

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agodca: Validate the channel map
Luca Barbato [Tue, 14 Mar 2017 09:15:29 +0000 (09:15 +0000)]
dca: Validate the channel map

Having a mismatch between the number of channels in the stream and those
in the channel map will lead to a segfault or worse.

Bug-Id: 1016

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agonvenc: Allow different const qps for I, P and B frames
Konda Raju [Fri, 17 Mar 2017 04:10:05 +0000 (09:40 +0530)]
nvenc: Allow different const qps for I, P and B frames

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agortsp: Move message parsing to a separate function
Luca Barbato [Tue, 14 Mar 2017 16:44:45 +0000 (17:44 +0100)]
rtsp: Move message parsing to a separate function

Make easier to handle the polling function before we implement
full threading support.

3 years agoconfigure: Do not treat JACK as a system library
Luca Barbato [Tue, 14 Mar 2017 22:42:37 +0000 (23:42 +0100)]
configure: Do not treat JACK as a system library

JACK is not commonly installed and should not be picked up as a
dependency unless specifically requested.

3 years agoavconv: Document the -init_hw_device option
Mark Thompson [Sun, 19 Mar 2017 16:25:37 +0000 (16:25 +0000)]
avconv: Document the -init_hw_device option

3 years agoavconv: Enable generic hwaccel support for VDPAU
Mark Thompson [Sat, 4 Mar 2017 23:57:34 +0000 (23:57 +0000)]
avconv: Enable generic hwaccel support for VDPAU

3 years agolavc: vdpau: add support for new hw_frames_ctx and hw_device_ctx API
wm4 [Sat, 4 Mar 2017 23:57:33 +0000 (23:57 +0000)]
lavc: vdpau: add support for new hw_frames_ctx and hw_device_ctx API

This supports retrieving the device from a provided hw_frames_ctx, and
automatically creating a hw_frames_ctx if hw_device_ctx is set.

The old API is not deprecated yet. The user can still use
av_vdpau_bind_context() (with or without setting hw_frames_ctx), or use
the API before that by allocating and setting hwaccel_context manually.

3 years agolavc: Add hwaccel_flags field to AVCodecContext
wm4 [Sat, 4 Mar 2017 23:57:32 +0000 (23:57 +0000)]
lavc: Add hwaccel_flags field to AVCodecContext

This "reuses" the flags introduced for the av_vdpau_bind_context() API
function, and makes them available to all hwaccels. This does not affect
the current vdpau API, as av_vdpau_bind_context() should obviously
override the AVCodecContext.hwaccel_flags flags for the sake of
compatibility.

3 years agoavconv: Enable generic hwaccel support for VAAPI
Mark Thompson [Sat, 4 Mar 2017 23:57:31 +0000 (23:57 +0000)]
avconv: Enable generic hwaccel support for VAAPI

3 years agoavconv: Generic device setup
Mark Thompson [Sat, 4 Mar 2017 23:57:30 +0000 (23:57 +0000)]
avconv: Generic device setup

Not yet enabled for any hwaccels.

3 years agohwcontext: Make it easier to work with device types
Mark Thompson [Sat, 4 Mar 2017 23:57:29 +0000 (23:57 +0000)]
hwcontext: Make it easier to work with device types

Adds functions to convert to/from strings and a function to iterate
over all supported device types.  Also adds a new invalid type
AV_HWDEVICE_TYPE_NONE, which acts as a sentinel value.

3 years agohwcontext: Add device derivation
Mark Thompson [Sat, 4 Mar 2017 23:57:28 +0000 (23:57 +0000)]
hwcontext: Add device derivation

Creates a new device context from another of a different type which
refers to the same underlying hardware.

3 years agortmp: Move RTMP digest calculation to a separate file
Diego Biurrun [Tue, 14 Mar 2017 15:38:38 +0000 (16:38 +0100)]
rtmp: Move RTMP digest calculation to a separate file

The rtmpcrypt protocol requires it.

3 years agobuild: Add missing object dependency for extract_extradata bitstream filter
Diego Biurrun [Tue, 14 Mar 2017 14:31:04 +0000 (15:31 +0100)]
build: Add missing object dependency for extract_extradata bitstream filter

3 years agoarm/aarch64: vp9: Fix vertical alignment
Martin Storsjö [Sun, 8 Jan 2017 22:04:19 +0000 (00:04 +0200)]
arm/aarch64: vp9: Fix vertical alignment

Align the second/third operands as they usually are.

Due to the wildly varying sizes of the written out operands
in aarch64 assembly, the column alignment is usually not as clear
as in arm assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomatroskaenc: add support for Spherical Video elements
James Almer [Thu, 9 Mar 2017 18:11:49 +0000 (15:11 -0300)]
matroskaenc: add support for Spherical Video elements

Signed-off-by: James Almer <jamrial@gmail.com>
Minor cosmetic changes by committer.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoconfigure: Replace -no_weak_symbols with -Werror=partial-availability
Luca Barbato [Tue, 14 Mar 2017 23:07:23 +0000 (00:07 +0100)]
configure: Replace -no_weak_symbols with -Werror=partial-availability

Jack uses weak symbols on purpose.

3 years agox86: fft: Port to cpuflags
Diego Biurrun [Sun, 15 Jul 2012 18:11:55 +0000 (20:11 +0200)]
x86: fft: Port to cpuflags

3 years agox86: h264: Simplify DEQUANT macro with cpuflags
Diego Biurrun [Wed, 8 Mar 2017 18:49:15 +0000 (19:49 +0100)]
x86: h264: Simplify DEQUANT macro with cpuflags

3 years agox86: vp8dsp: port FILTER_BILINEAR macro to cpuflags
Diego Biurrun [Fri, 27 Jul 2012 10:09:17 +0000 (12:09 +0200)]
x86: vp8dsp: port FILTER_BILINEAR macro to cpuflags

3 years agox86util: Port all macros to cpuflags
Diego Biurrun [Sun, 15 Jul 2012 16:01:10 +0000 (18:01 +0200)]
x86util: Port all macros to cpuflags

Also do some small cosmetic changes: Drop pointless _MMX suffix from ABSD2
macro name, drop pointless check for MMX support, we always assume MMX is
available in our SIMD code, fix spelling.

3 years agoh264_cavlc: check the value of run_before
Anton Khirnov [Wed, 28 Dec 2016 12:02:02 +0000 (13:02 +0100)]
h264_cavlc: check the value of run_before

Section 9.2.3.2 of the spec implies that run_before must not be larger
than zeros_left.

Fixes invalid reads with corrupted files.

CC: libav-stable@libav.org
Bug-Id: 1000
Found-By: Kamil Frankowicz
3 years agoh2645_parse: use the bytestream2 API for packet splitting
Anton Khirnov [Wed, 28 Dec 2016 10:27:56 +0000 (11:27 +0100)]
h2645_parse: use the bytestream2 API for packet splitting

The code does some nontrivial jumping around in the buffer, so it is
safer to use a checked API rather than do everything manually.

Fixes a bug in nalff parsing, where the length field is currently not
counted in the buffer size check, resulting in possible overreads with
invalid files.

CC: libav-stable@libav.org
Bug-Id: 1002
Found-By: Kamil Frankowicz
3 years agoh264dec: initialize field_started to 0 on each decode call
Anton Khirnov [Wed, 28 Dec 2016 10:05:25 +0000 (11:05 +0100)]
h264dec: initialize field_started to 0 on each decode call

It might be incorrectly set to 1 if the previous call exited with an
error.

Bug-Id: 1019
CC: libav-stable@libav.org
3 years agoarm/aarch64: vp9itxfm: Skip loading the min_eob pointer when it won't be used
Martin Storsjö [Sun, 26 Feb 2017 20:13:10 +0000 (22:13 +0200)]
arm/aarch64: vp9itxfm: Skip loading the min_eob pointer when it won't be used

In the half/quarter cases where we don't use the min_eob array, defer
loading the pointer until we know it will be needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoarm: vp9itxfm: Template the quarter/half idct32 function
Martin Storsjö [Sun, 26 Feb 2017 12:02:35 +0000 (14:02 +0200)]
arm: vp9itxfm: Template the quarter/half idct32 function

This reduces the number of lines and reduces the duplication.

Also simplify the eob check for the half case.

If we are in the half case, we know we at least will need to do the
first three slices, we only need to check eob for the fourth one,
so we can hardcode the value to check against instead of loading
from the min_eob array.

Since at most one slice can be skipped in the first pass, we can
unroll the loop for filling zeros completely, as it was done for
the quarter case before.

This allows skipping loading the min_eob pointer when using the
quarter/half cases.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agocfhd: Add FATE tests
Diego Biurrun [Mon, 29 Feb 2016 14:39:27 +0000 (15:39 +0100)]
cfhd: Add FATE tests

3 years agoAdd Cineform HD Decoder
Kieran Kunhya [Sat, 30 Jan 2016 17:39:48 +0000 (17:39 +0000)]
Add Cineform HD Decoder

Decodes YUV 4:2:2 10-bit and RGB 12-bit files.
Older files with more subbands, skips, Bayer, alpha not supported.

Further fixes and refactorings by Anton Khirnov <anton@khirnov.net>,
Diego Biurrun <diego@biurrun.de>, Vittorio Giovara <vittorio.giovara@gmail.com>

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agoadd initial QP value options
Konda Raju [Tue, 7 Mar 2017 06:32:14 +0000 (12:02 +0530)]
add initial QP value options

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agoavcodec: clarify some decoding/encoding API details
wm4 [Mon, 6 Mar 2017 10:34:20 +0000 (11:34 +0100)]
avcodec: clarify some decoding/encoding API details

Make it clear that there is no timing-dependent behavior. In particular,
there is no state in which both input and output are denied, and where
you have to wait for a while yourself to make progress (apparently some
hardware decoders like to do this).

Avoid wording that makes references to time. It shouldn't be mistaken
for some kind of asynchronous API (like POSIX read() can return EAGAIN
if there is no new input yet). It's a state machine, so try to use
appropriate terms.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agomkv: Export bounds and padding from spherical metadata
Vittorio Giovara [Fri, 10 Feb 2017 21:02:22 +0000 (16:02 -0500)]
mkv: Export bounds and padding from spherical metadata

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agomkv: Add support for Spherical Video elements
James Almer [Tue, 6 Dec 2016 17:48:45 +0000 (14:48 -0300)]
mkv: Add support for Spherical Video elements

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agomov: Export bounds and padding from spherical metadata
Vittorio Giovara [Fri, 10 Feb 2017 20:36:56 +0000 (15:36 -0500)]
mov: Export bounds and padding from spherical metadata

Update the fate test as needed.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agospherical: Add tiled equirectangular type and projection-specific properties
Vittorio Giovara [Fri, 10 Feb 2017 20:26:55 +0000 (15:26 -0500)]
spherical: Add tiled equirectangular type and projection-specific properties

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agomov: Validate cubemap layout
Vittorio Giovara [Tue, 28 Feb 2017 16:27:02 +0000 (11:27 -0500)]
mov: Validate cubemap layout

3 years agomov: Validate spherical metadata version
Vittorio Giovara [Wed, 15 Feb 2017 15:40:16 +0000 (10:40 -0500)]
mov: Validate spherical metadata version

3 years agomov: Ignore old spherical metadata when newer version is present
Vittorio Giovara [Tue, 28 Feb 2017 15:54:36 +0000 (10:54 -0500)]
mov: Ignore old spherical metadata when newer version is present

3 years agomov: Fix spherical metadata_source parsing
Aaron Colwell [Fri, 27 Jan 2017 17:33:29 +0000 (09:33 -0800)]
mov: Fix spherical metadata_source parsing

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoconfigure: Check for -no_weak_imports in ldflags on macOS
Luca Barbato [Mon, 6 Mar 2017 19:21:19 +0000 (20:21 +0100)]
configure: Check for -no_weak_imports in ldflags on macOS

Recent versions of macOS provide more POSIX API (in particular,
clock_gettime) than previous versions and recent Apple toolchains
provide all that API, even when targeting older releases without
said API. Disallow linking to functions which might not be available
at runtime.

To actually have an effect, either add
--extra-cflags="-mmacosx-version-min=10.11" (or any other version
prior to 10.12) or set MACOSX_DEPLOYMENT_TARGET=10.11 when running
configure.

As a workaround for libav versions without this fix, one can
also add --extra-cflags="-mmacosx-version-min=10.11
-Werror=partial-availability" while running configure.

The -no_weak_imports flag is new in Xcode 8; in Xcode 7 it is not
supported. This is not an issue since Xcode 7 only ships with the
10.11 macOS SDK, which lacks clock_gettime.

Bug-Id: 1033

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agobuild: Prefer NASM assembler over YASM
Diego Biurrun [Thu, 13 Oct 2016 18:33:15 +0000 (20:33 +0200)]
build: Prefer NASM assembler over YASM

NASM is more actively maintained and permits generating dependency information
as a sideeffect of assembling, thus cutting build times in half.

3 years agobuild: Make x86 assembler commandline-selectable
Diego Biurrun [Tue, 28 Feb 2017 18:32:37 +0000 (19:32 +0100)]
build: Make x86 assembler commandline-selectable

3 years agobuild: Special-case handling of SDL CFLAGS
Diego Biurrun [Thu, 2 Mar 2017 13:54:28 +0000 (14:54 +0100)]
build: Special-case handling of SDL CFLAGS

SDL adds some "special" CFLAGS that interfere with building normal
binaries. Capture those CFLAGS separately and avoid adding them to
the general CFLAGS.

3 years agobuild: Fix logic of clock_gettime() check
Diego Biurrun [Mon, 6 Mar 2017 18:35:12 +0000 (19:35 +0100)]
build: Fix logic of clock_gettime() check

We should only check for clock_gettime() if _POSIX_MONOTONIC_CLOCK is
available and do a full link check for clock_gettime() in all cases.