ffmpeg.git
2 years agoswscale: Add input support for gbrap10 pixel format
Paul B Mahol [Fri, 10 Jun 2016 11:01:26 +0000 (13:01 +0200)]
swscale: Add input support for gbrap10 pixel format

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agopixfmt: Add gbrap10 pixel format
Paul B Mahol [Fri, 10 Jun 2016 10:48:09 +0000 (12:48 +0200)]
pixfmt: Add gbrap10 pixel format

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agoutvideodec: Support UQY2
Paul B Mahol [Mon, 10 Apr 2017 09:08:44 +0000 (11:08 +0200)]
utvideodec: Support UQY2

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agoavformat: Free the internal codec context at the end
Luca Barbato [Tue, 11 Apr 2017 23:46:30 +0000 (01:46 +0200)]
avformat: Free the internal codec context at the end

Avoid a use after free in avformat_find_stream_info.

CC: libav-stable@libav.org
2 years agogolomb: Simplify get_ur_golomb_jpegls
Luca Barbato [Tue, 11 Apr 2017 10:11:59 +0000 (12:11 +0200)]
golomb: Simplify get_ur_golomb_jpegls

The loop always consumes the bit read and the new bitstream reader
can read 0 bits just fine.

2 years agoutvideodec: Prevent possible signed overflow
Ganesh Ajjanagadde [Tue, 23 Feb 2016 04:21:58 +0000 (23:21 -0500)]
utvideodec: Prevent possible signed overflow

Doing slice_end - slice_start is unsafe and can lead to undefined behavior
until slice_end has been properly sanitized.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agofmvc: Add FATE tests
Diego Biurrun [Tue, 21 Mar 2017 11:16:00 +0000 (12:16 +0100)]
fmvc: Add FATE tests

2 years agoAdd FM Screen Capture Codec decoder
Paul B Mahol [Mon, 6 Feb 2017 08:17:29 +0000 (09:17 +0100)]
Add FM Screen Capture Codec decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agohevc: Add NEON 16x16 IDCT
Alexandra Hájková [Wed, 12 Apr 2017 07:29:44 +0000 (09:29 +0200)]
hevc: Add NEON 16x16 IDCT

The speedup vs C code is around 6-13x.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agoac3_parser: add a public function for parsing the data required by the demuxer
Anton Khirnov [Thu, 30 Mar 2017 14:56:28 +0000 (16:56 +0200)]
ac3_parser: add a public function for parsing the data required by the demuxer

Make the current semi-public avpriv_ac3_parse_header() private to lavc.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agothread: Define ff_mutex_* macros as stub functions when threads are disabled
Diego Biurrun [Fri, 31 Mar 2017 17:04:56 +0000 (19:04 +0200)]
thread: Define ff_mutex_* macros as stub functions when threads are disabled

Silences a bunch of "statement with no effect" warnings with threads disabled.

2 years agoexamples: Fixed and extended Doxygen documentation
Andreas Unterweger [Mon, 10 Apr 2017 11:06:18 +0000 (13:06 +0200)]
examples: Fixed and extended Doxygen documentation

Added parameter descriptions for all functions
 and converted in-function comments into regular
 (non-Doxygen) comments.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2 years agodecode: Initialize ret before using it
Vittorio Giovara [Mon, 3 Apr 2017 19:58:15 +0000 (21:58 +0200)]
decode: Initialize ret before using it

libavcodec/decode.c:608:9: warning: variable 'ret' is
      used uninitialized whenever 'if' condition is false

2 years agofiltfmts-test: Mark filter as const
Vittorio Giovara [Tue, 4 Apr 2017 15:56:34 +0000 (17:56 +0200)]
filtfmts-test: Mark filter as const

libavfilter/tests/filtfmts.c:57:18: warning:
      assigning to 'AVFilter *' (aka 'struct AVFilter *') from
      'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers
      [-Wincompatible-pointer-types-discards-qualifiers]

2 years agolavfi: Drop unused and empty header file
Vittorio Giovara [Wed, 5 Apr 2017 13:35:26 +0000 (15:35 +0200)]
lavfi: Drop unused and empty header file

This header was public but deprecated on 2013-04-11 (lavfi 3.8.0).

2 years agomatroska: Read only the data written in the scratch buffer
Luca Barbato [Fri, 7 Apr 2017 09:41:27 +0000 (11:41 +0200)]
matroska: Read only the data written in the scratch buffer

The private buffer is 20bytes but depending on the type only 12 bytes
are actually filled.

2 years agompeg4videodec: raise an error if sprite_trajectory.table is NULL
Sean McGovern [Thu, 30 Mar 2017 20:21:38 +0000 (16:21 -0400)]
mpeg4videodec: raise an error if sprite_trajectory.table is NULL

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

2 years agoconfigure: Better names for functions that sanitize input
Diego Biurrun [Tue, 21 Mar 2017 11:22:23 +0000 (12:22 +0100)]
configure: Better names for functions that sanitize input

2 years agomov: Move code shared with CAF to a separate file
Diego Biurrun [Tue, 14 Mar 2017 15:43:29 +0000 (16:43 +0100)]
mov: Move code shared with CAF to a separate file

2 years agoqsvenc: Allow use of hw_device_ctx to make the internal session
Mark Thompson [Sat, 4 Mar 2017 23:57:37 +0000 (23:57 +0000)]
qsvenc: Allow use of hw_device_ctx to make the internal session

2 years agoqsvdec: Allow use of hw_device_ctx to make the internal session
Mark Thompson [Sat, 4 Mar 2017 23:57:36 +0000 (23:57 +0000)]
qsvdec: Allow use of hw_device_ctx to make the internal session

2 years agoqsv: Add ability to create a session from a device
Mark Thompson [Sat, 4 Mar 2017 23:57:35 +0000 (23:57 +0000)]
qsv: Add ability to create a session from a device

2 years agodoc: Add VAAPI encoders
Mark Thompson [Sun, 19 Mar 2017 17:30:52 +0000 (17:30 +0000)]
doc: Add VAAPI encoders

2 years agovaapi_encode: Add VP9 support
Mark Thompson [Mon, 28 Nov 2016 23:54:57 +0000 (23:54 +0000)]
vaapi_encode: Add VP9 support

2 years agovp9: Add bsf to fix reordering in raw streams
Mark Thompson [Mon, 9 Jan 2017 23:08:49 +0000 (23:08 +0000)]
vp9: Add bsf to fix reordering in raw streams

Takes a raw input stream containing frames with correct timestamps but
possibly out of order and inserts additional show-existing-frame
packets to correct the ordering.

2 years agovp9: Add bsf to merge superframes
Ronald S. Bultje [Mon, 29 Feb 2016 14:43:07 +0000 (09:43 -0500)]
vp9: Add bsf to merge superframes

From ffmpeg commit 2e6636aa87303d37b112e79f093ca39500f92364.

2 years agoavconv: Flush output BSFs when encode reaches EOF
Mark Thompson [Tue, 14 Mar 2017 00:39:57 +0000 (00:39 +0000)]
avconv: Flush output BSFs when encode reaches EOF

Before this, output bitstream filters would never see EOF and
therefore would not be able to flush any delayed packets.

2 years agovf_deinterlace_vaapi: Add support for field rate output
Mark Thompson [Mon, 27 Feb 2017 21:29:46 +0000 (21:29 +0000)]
vf_deinterlace_vaapi: Add support for field rate output

In order to work correctly with the i965 driver, this also fixes the
direction of forward/backward references - forward references are
intended to be those from the past to the current frame, not from the
current frame to the future.

2 years agopthread_frame: Propagate sw_pix_fmt across threads
Mark Thompson [Thu, 30 Mar 2017 21:58:59 +0000 (22:58 +0100)]
pthread_frame: Propagate sw_pix_fmt across threads

2 years agolibavutil: Make LOCAL_ALIGNED(xx be equal to LOCAL_ALIGNED_xx(
Martin Storsjö [Wed, 29 Mar 2017 10:44:28 +0000 (13:44 +0300)]
libavutil: Make LOCAL_ALIGNED(xx be equal to LOCAL_ALIGNED_xx(

Previously, the former form always produced a manually aligned,
padded buffer, while the latter can use DECLARE_ALIGNED, if that
amount of stack alignment is supported.

libavutil/internal.h needs to include mem.h, since it uses
the DECLARE_ALIGNED macro.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agohevc: Avoid using LOCAL_ALIGNED for 4 byte alignment
Martin Storsjö [Wed, 29 Mar 2017 10:43:40 +0000 (13:43 +0300)]
hevc: Avoid using LOCAL_ALIGNED for 4 byte alignment

The data types within the MvField struct themselves imply 4 byte alignment.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 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'

2 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>
2 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>
2 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>
2 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

2 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().

2 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>
2 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.

2 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

2 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>
2 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.

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

2 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.

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

2 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

2 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>
2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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.

2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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.

2 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.

2 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

2 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

2 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.

2 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.

2 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

2 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.

2 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.

2 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.