ffmpeg.git
2 years agoaviocat: Support avio options
Luca Barbato [Tue, 18 Oct 2016 12:50:45 +0000 (14:50 +0200)]
aviocat: Support avio options

Useful to test protocols that require options to be used.

2 years agoscale_npp: fix passthrough mode
Yogender Gupta [Mon, 24 Oct 2016 12:56:41 +0000 (18:26 +0530)]
scale_npp: fix passthrough mode

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovaapi_decode: Remove vestigial unmap code
Mark Thompson [Wed, 19 Oct 2016 22:47:55 +0000 (23:47 +0100)]
vaapi_decode: Remove vestigial unmap code

The buffer map/unmap code was in an early version of this before it
was committed, but the unmap was never removed.  While wrong, this
was harmless (and therefore unnoticed) because the buffers can't be
mapped at this point - all drivers just did nothing with the call.

2 years agovaapi_decode: Clear parameter buffers to fix picture reuse
Mark Thompson [Wed, 19 Oct 2016 22:45:46 +0000 (23:45 +0100)]
vaapi_decode: Clear parameter buffers to fix picture reuse

When decoding interlaced pictures, the structure is reused to render
to the same surface twice.  The parameter buffers were not being
cleared, which caused the i965 driver to error out.

2 years agovaapi_h264: fix RefPicList[] field flags.
Gwenole Beauchesne [Wed, 19 Oct 2016 22:42:53 +0000 (23:42 +0100)]
vaapi_h264: fix RefPicList[] field flags.

Use new H264Ref.reference field to track field picture flags. The
H264Picture.reference flag in DPB is now irrelevant here.

This is a regression from git commit a12d3188, and that affected
multiple interlaced video streams.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoopenssl: Support version 1.1.0.
Matt Oliver [Sun, 9 Oct 2016 19:49:54 +0000 (06:49 +1100)]
openssl: Support version 1.1.0.

Further simplifications by Martin Storsjö, to minimize the
diff.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agortmpdh: Don't use the OpenSSL DH struct
Martin Storsjö [Fri, 21 Oct 2016 09:40:05 +0000 (12:40 +0300)]
rtmpdh: Don't use the OpenSSL DH struct

Instead use our own struct, which we already use when using
gcrypt and gnutls.

In OpenSSL 1.1, the DH struct has been made opaque.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agobktr: Use memset(0) instead of zero initialization for struct sigaction
Diego Biurrun [Fri, 21 Oct 2016 12:17:07 +0000 (14:17 +0200)]
bktr: Use memset(0) instead of zero initialization for struct sigaction

sigaction is not defined in standards as a struct starting with another
struct. Some *BSD variants do however, resulting in a warning from the
zero initialization, which this change eliminates.

This partially reverts a92be9b856bd11b081041c43c25d442028fe9a63.

2 years agocheckasm: Add a test for HEVC add_residual
Alexandra Hájková [Tue, 11 Oct 2016 08:44:19 +0000 (10:44 +0200)]
checkasm: Add a test for HEVC add_residual

2 years agohevc: x86: Add add_residual() SIMD optimizations
Pierre Edouard Lepere [Mon, 18 Aug 2014 08:01:09 +0000 (10:01 +0200)]
hevc: x86: Add add_residual() SIMD optimizations

Initially written by Pierre Edouard Lepere <Pierre-Edouard.Lepere@insa-rennes.fr>,
extended by James Almer <jamrial@gmail.com>.

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
2 years agoReplace leftover uses of -aframes|-dframes|-vframes with -frames:a|d|v
Diego Biurrun [Fri, 21 Oct 2016 11:48:20 +0000 (13:48 +0200)]
Replace leftover uses of -aframes|-dframes|-vframes with -frames:a|d|v

2 years agomov: Update colr values
Vittorio Giovara [Tue, 18 Oct 2016 22:21:31 +0000 (18:21 -0400)]
mov: Update colr values

For 'nclx', the latest edition of the standard switched from JPEG XR
to 23001-8, which matches the current order of our entries. Bounds
are preserved as a sanity check.

For 'nclc', qtff edition 2016-09-13 introduced a few new entries.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2 years agolavu: Add JEDEC P22 color primaries
Vittorio Giovara [Tue, 18 Oct 2016 22:16:29 +0000 (18:16 -0400)]
lavu: Add JEDEC P22 color primaries

2 years agoMakefile: fix checking whether reconfiguring is required
Anton Khirnov [Wed, 19 Oct 2016 05:28:06 +0000 (07:28 +0200)]
Makefile: fix checking whether reconfiguring is required

It didn't take into account the new pattern used for bitstream filters
and protocols.

2 years agohevc: factor out a repeated condition
Anton Khirnov [Tue, 18 Oct 2016 19:22:22 +0000 (21:22 +0200)]
hevc: factor out a repeated condition

2 years agohevc: move the SliceType enum to hevc.h
Anton Khirnov [Tue, 18 Oct 2016 19:14:18 +0000 (21:14 +0200)]
hevc: move the SliceType enum to hevc.h

Those values are decoder-independent and are also use by the VA-API
encoder.

2 years agolavf: check that the codec is supported by extract_extradata
Anton Khirnov [Tue, 18 Oct 2016 18:50:03 +0000 (20:50 +0200)]
lavf: check that the codec is supported by extract_extradata

Avoids superfluous error message spam after
8e2ea691351c5079cdab245ff7bfa5c0f3e3bfe4

2 years agoaudiodsp: x86: Remove pointless header file
Diego Biurrun [Wed, 28 Sep 2016 17:14:28 +0000 (19:14 +0200)]
audiodsp: x86: Remove pointless header file

Its single forward declaration can be moved to the only place
it is used, like is done for all other dsp init files.

2 years agoconfigure: Print warnings after all other output
Diego Biurrun [Sat, 15 Oct 2016 00:50:45 +0000 (02:50 +0200)]
configure: Print warnings after all other output

2 years agox86: videodsp: Add parentheses to expression to work around warning
Diego Biurrun [Thu, 17 Mar 2016 10:35:13 +0000 (11:35 +0100)]
x86: videodsp: Add parentheses to expression to work around warning

libavcodec/x86/videodsp.asm:128: warning: signed dword value exceeds bounds

2 years agofate: Update filter-pixfmts-scale gbrap12le hash missing from be9dba5c8a
Luca Barbato [Tue, 18 Oct 2016 13:00:38 +0000 (15:00 +0200)]
fate: Update filter-pixfmts-scale gbrap12le hash missing from be9dba5c8a

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agocheckasm: aarch64: Don't clobber x29 in checkasm_stack_clobber
Martin Storsjö [Tue, 18 Oct 2016 10:48:56 +0000 (13:48 +0300)]
checkasm: aarch64: Don't clobber x29 in checkasm_stack_clobber

x29 (FP) is a callee saved register and should be restored on
return. Instead of backing up x29 and restoring it here, back up
sp in a register that we are allowed to overwrite.

This fixes crashes in checkasm on aarch64 since f1b3e1313851.
For some reason, gcc builds didn't crash, but clang builds do.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agoemms: Give apriv_emms_yasm() a more general name
Diego Biurrun [Sat, 8 Oct 2016 15:58:02 +0000 (17:58 +0200)]
emms: Give apriv_emms_yasm() a more general name

2 years agoswscale: Properly load alpha for planar rgb
Michael Niedermayer [Fri, 14 Oct 2016 21:25:55 +0000 (17:25 -0400)]
swscale: Properly load alpha for planar rgb

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agobuild: Add VSX-OBJS to SUBDIR_VARS
Diego Biurrun [Sat, 8 Oct 2016 15:43:37 +0000 (17:43 +0200)]
build: Add VSX-OBJS to SUBDIR_VARS

The variable needs to be reset for each subdirectory.

2 years agoppc: avcodec: Drop silly "_ppc" suffixes from files in ppc subdirectories
Diego Biurrun [Sun, 12 Aug 2012 15:54:30 +0000 (17:54 +0200)]
ppc: avcodec: Drop silly "_ppc" suffixes from files in ppc subdirectories

2 years agovaapi_encode: Write sequence header as extradata
Mark Thompson [Sun, 2 Oct 2016 07:48:34 +0000 (08:48 +0100)]
vaapi_encode: Write sequence header as extradata

Only works if packed headers are supported, where we can know the
output before generating the first frame.

2 years agovaapi_h265: Include header for slice types
Mark Thompson [Sun, 16 Oct 2016 22:55:24 +0000 (23:55 +0100)]
vaapi_h265: Include header for slice types

The include was changed correctly in 4abe3b049d987420eb891f74a35af2cebbf52144
but then mistakenly changed back by c359d624d3efc3fd1d83210d78c4152bd329b765
(it's not just the NAL unit types which are used).

2 years agox86: Add missing colons after assembly labels
Diego Biurrun [Thu, 17 Mar 2016 09:16:13 +0000 (10:16 +0100)]
x86: Add missing colons after assembly labels

This fixes many warnings of the sort
warning: label alone on a line without a colon might be in error

2 years agobuild: Drop arch-specific checkasm Makefiles
Diego Biurrun [Thu, 13 Oct 2016 23:24:36 +0000 (01:24 +0200)]
build: Drop arch-specific checkasm Makefiles

They only contain one line and will never contain more.

2 years agobuild: Drop duplicate asm recipe
Diego Biurrun [Sat, 8 Oct 2016 14:48:29 +0000 (16:48 +0200)]
build: Drop duplicate asm recipe

And move the asm recipe to the top-level Makefile next to the other
local pattern rules for .o files.

2 years agocheckasm: aarch64: Add filler args to make sure all parameters are passed on the...
Martin Storsjö [Fri, 30 Sep 2016 09:06:49 +0000 (12:06 +0300)]
checkasm: aarch64: Add filler args to make sure all parameters are passed on the stack

This, combined with clobbering the stack space prior to the call,
increases the chances of finding cases where 32 bit parameters
are erroneously treated as 64 bit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agocheckasm: aarch64: Clobber the stack before calling functions
Martin Storsjö [Fri, 30 Sep 2016 08:39:22 +0000 (11:39 +0300)]
checkasm: aarch64: Clobber the stack before calling functions

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agocheckasm: arm/aarch64: Fix the amount of space reserved for stack parameters
Martin Storsjö [Fri, 30 Sep 2016 08:49:47 +0000 (11:49 +0300)]
checkasm: arm/aarch64: Fix the amount of space reserved for stack parameters

Even if MAX_ARGS - 2 (for arm) or MAX_ARGS - 7 (for aarch64) parameters
are passed on the stack to checkasm_checked_call, we actually only
need to store MAX_ARGS - 4 (for arm) or MAX_ARGS - 8 (for aarch64)
parameters on the stack when calling the tested function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agolavf: use the new bitstream filter for extracting extradata
Anton Khirnov [Thu, 22 Sep 2016 13:24:34 +0000 (15:24 +0200)]
lavf: use the new bitstream filter for extracting extradata

This also fixes a minor bug introduced in the codecpar conversion, where
the termination condition for extracting the extradata does not match
the actual extradata setting code. As a result, the packet durations
made up by lavf go back to their values before the codecpar conversion.
That is of little consequence since that code should eventually be
dropped completely.

2 years agolavc: add a bitstream filter for extracting extradata from packets
Anton Khirnov [Sun, 21 Aug 2016 15:08:34 +0000 (17:08 +0200)]
lavc: add a bitstream filter for extracting extradata from packets

This is intended as a replacement for the 'split' function exported by
some parsers.

2 years agohevcdec: move parameter set parsing into a separate header
Anton Khirnov [Sun, 21 Aug 2016 16:02:02 +0000 (18:02 +0200)]
hevcdec: move parameter set parsing into a separate header

This code is independent from the decoder, so it makes more sense for it
to to have its own header.

2 years agohevcdec: split ff_hevc_diag_scan* declarations into a separate header
Anton Khirnov [Wed, 12 Oct 2016 08:21:35 +0000 (10:21 +0200)]
hevcdec: split ff_hevc_diag_scan* declarations into a separate header

This will be useful in the following commits.

2 years agohevcdec: drop the prototype of a non-existing function
Anton Khirnov [Sun, 21 Aug 2016 15:48:01 +0000 (17:48 +0200)]
hevcdec: drop the prototype of a non-existing function

2 years agohevcdec: move decoder-independent declarations into a separate header
Anton Khirnov [Sun, 21 Aug 2016 15:35:28 +0000 (17:35 +0200)]
hevcdec: move decoder-independent declarations into a separate header

This way they can be reused by other code without including the whole
decoder-specific hevcdec.h
Also, add the HEVC_ prefix to them, since similarly named values exist
for H.264 as well and are sometimes used in the same code.

2 years agohevc: rename hevc.[ch] to hevcdec.[ch]
Anton Khirnov [Sun, 21 Aug 2016 15:14:24 +0000 (17:14 +0200)]
hevc: rename hevc.[ch] to hevcdec.[ch]

This is more consistent with the rest of libav and frees up the hevc.h
name for decoder-independent shared declarations.

2 years agoavformat/matroska: fix MatroskaVideoFieldOrder enum values
James Almer [Thu, 13 Oct 2016 13:53:41 +0000 (10:53 -0300)]
avformat/matroska: fix MatroskaVideoFieldOrder enum values

The spec says

9: Interlaced with bottom field displayed first and top field stored first
14: Interlaced with top field displayed first and bottom field stored first

And avcodec.h states

AV_FIELD_TB,          //< Top coded first, bottom displayed first
AV_FIELD_BT,          //< Bottom coded first, top displayed first

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agofile protocol: handle the file: protocol string in file_check
Anton Khirnov [Thu, 13 Oct 2016 08:03:18 +0000 (10:03 +0200)]
file protocol: handle the file: protocol string in file_check

This is consistent with what file_open() does.

CC: libav-stable@libav.org
2 years agortmpproto: Don't include a client version in the unencrypted C1 handshake
Martin Storsjö [Fri, 14 Oct 2016 12:55:52 +0000 (15:55 +0300)]
rtmpproto: Don't include a client version in the unencrypted C1 handshake

According to the public RTMP specification, these 4 bytes should
be zero.

librtmp in server mode assumes that the RTMPE (FP9) handshake is
used if these bytes are nonzero.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agortmpproto: Don't include the libavformat version as "clientid"
Martin Storsjö [Fri, 14 Oct 2016 08:30:12 +0000 (11:30 +0300)]
rtmpproto: Don't include the libavformat version as "clientid"

When acting as server, the server can include a "clientid" property
in some status messages. But this should be a unique number
identifying the client session, not identifying the server itself.
In practice, omitting it works just as well as including this
incorrect field.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agortmpproto: Send chunk size on the network channel
Martin Storsjö [Thu, 13 Oct 2016 13:17:11 +0000 (16:17 +0300)]
rtmpproto: Send chunk size on the network channel

This makes sure that e.g. Adobe FME actually reacts to it. As long
as the value we've been sending is the default one (128), the bug
hasn't been noticed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agortmpproto: Lengthen the filename buffer when receiving streams
Martin Storsjö [Thu, 13 Oct 2016 12:25:33 +0000 (15:25 +0300)]
rtmpproto: Lengthen the filename buffer when receiving streams

Some applications such as Adobe FME append lots of parameters
here, making it easily overflow the current limit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agortmpproto: Check the return from ff_amf_read_string
Martin Storsjö [Thu, 13 Oct 2016 12:24:54 +0000 (15:24 +0300)]
rtmpproto: Check the return from ff_amf_read_string

If this failed, we used to continue with an uninitialized
filename buffer.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agoMake the RELEASE file match with the most recent tag
Sean McGovern [Fri, 14 Oct 2016 17:52:51 +0000 (13:52 -0400)]
Make the RELEASE file match with the most recent tag

2 years agoswscale: Add the GBRAP12 output
Luca Barbato [Wed, 12 Oct 2016 19:30:34 +0000 (21:30 +0200)]
swscale: Add the GBRAP12 output

2 years agoAdd GBRAP12 pixel format support
Kieran Kunhya [Mon, 8 Feb 2016 21:40:10 +0000 (21:40 +0000)]
Add GBRAP12 pixel format support

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agoswscale: Enable GBRP12 output
Luca Barbato [Mon, 10 Oct 2016 20:31:24 +0000 (22:31 +0200)]
swscale: Enable GBRP12 output

2 years agoswscale: x86: Add some forgotten 12-bit planar YUV cases
Michael Niedermayer [Thu, 5 Jul 2012 02:37:12 +0000 (04:37 +0200)]
swscale: x86: Add some forgotten 12-bit planar YUV cases

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agoswscale: Add input support for 12-bit formats
Michael Niedermayer [Tue, 3 Jul 2012 02:10:11 +0000 (04:10 +0200)]
swscale: Add input support for 12-bit formats

Implemented for AV_PIX_FMT_GBRP12.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2 years agoAdd GBRP12 pixel format support
Michael Niedermayer [Wed, 4 Jul 2012 19:11:39 +0000 (21:11 +0200)]
Add GBRP12 pixel format support

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2 years agoAPIchanges: Expand the name of recently added pixel formats
Vittorio Giovara [Thu, 6 Oct 2016 22:27:24 +0000 (18:27 -0400)]
APIchanges: Expand the name of recently added pixel formats

This makes them easier to search for.

2 years agolavc: bsf: Document input/output codecparam alloc/init process
Vittorio Giovara [Tue, 4 Oct 2016 15:59:53 +0000 (11:59 -0400)]
lavc: bsf: Document input/output codecparam alloc/init process

2 years agoswscale: Add missing yuv444p12 swapping
Vittorio Giovara [Thu, 6 Oct 2016 22:28:50 +0000 (18:28 -0400)]
swscale: Add missing yuv444p12 swapping

Missing from 9bd6ea5695660529b2887292874a7b9e61fc301e.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agohevc: Add SSE2 and AVX IDCT
Alexandra Hájková [Mon, 10 Oct 2016 20:23:01 +0000 (22:23 +0200)]
hevc: Add SSE2 and AVX IDCT

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agocheckasm: add a test for HEVC IDCT
Alexandra Hájková [Sun, 18 Sep 2016 17:35:26 +0000 (19:35 +0200)]
checkasm: add a test for HEVC IDCT

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agoaarch64: Add missing sign extension in ff_h264_idct8_add_neon
Martin Storsjö [Fri, 30 Sep 2016 09:05:55 +0000 (12:05 +0300)]
aarch64: Add missing sign extension in ff_h264_idct8_add_neon

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agonvenc: Fix error log
Yogender Gupta [Thu, 6 Oct 2016 09:14:26 +0000 (14:44 +0530)]
nvenc: Fix error log

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agonvenc: Force high_444 profile for 444 input
Yogender Gupta [Thu, 6 Oct 2016 09:10:25 +0000 (09:10 +0000)]
nvenc: Force high_444 profile for 444 input

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agoRevert "hevc: x86: Refactor IDCT macro declarations"
Anton Khirnov [Thu, 6 Oct 2016 13:24:04 +0000 (15:24 +0200)]
Revert "hevc: x86: Refactor IDCT macro declarations"

This reverts commit d9dccc03890a976dba59d66ed3b5aceeaa33d14c. There were
outstanding objections to this commit.

2 years agoh264_intrapred: x86: Update comments left behind in 95c89da36ebeeb96b7146c0d70f46c582...
Diego Biurrun [Thu, 8 Sep 2016 23:27:41 +0000 (01:27 +0200)]
h264_intrapred: x86: Update comments left behind in 95c89da36ebeeb96b7146c0d70f46c582397da7f

2 years agoconfigure: #include stdint.h as part of libxavs test
Diego Biurrun [Wed, 5 Oct 2016 06:51:03 +0000 (08:51 +0200)]
configure: #include stdint.h as part of libxavs test

Unfortunately the xavs.h API header is not self-sufficient and relies
on manual stdint.h inclusion by its users.

2 years agohevc: x86: Refactor IDCT macro declarations
Diego Biurrun [Wed, 5 Oct 2016 09:39:16 +0000 (11:39 +0200)]
hevc: x86: Refactor IDCT macro declarations

2 years agod3d11va: Use the proper decoding slice index
Steve Lhomme [Wed, 5 Oct 2016 10:52:00 +0000 (12:52 +0200)]
d3d11va: Use the proper decoding slice index

The decoding buffer index expected by D3D11VA is the one from the
ID3D11Texture2D not the one from the ID3D11VideoDecoderOutputView array
in AVD3D11VAContext.

Otherwise, when providing decoder slices that do not start from 0,
pictures appear in bogus order. For an invalid index crashes and
image corruption can occur.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agovp9lpf/x86: make filter_16_h work on 32-bit.
Ronald S. Bultje [Fri, 26 Dec 2014 22:50:38 +0000 (17:50 -0500)]
vp9lpf/x86: make filter_16_h work on 32-bit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: make filter_48/84/88_h work on 32-bit.
Ronald S. Bultje [Fri, 26 Dec 2014 20:15:50 +0000 (15:15 -0500)]
vp9lpf/x86: make filter_48/84/88_h work on 32-bit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: make filter_44_h work on 32-bit.
Ronald S. Bultje [Fri, 26 Dec 2014 19:48:01 +0000 (14:48 -0500)]
vp9lpf/x86: make filter_44_h work on 32-bit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: make filter_16_v work on 32-bit.
Ronald S. Bultje [Fri, 26 Dec 2014 19:05:23 +0000 (14:05 -0500)]
vp9lpf/x86: make filter_16_v work on 32-bit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: make filter_48/84_v work on 32-bit.
Ronald S. Bultje [Fri, 26 Dec 2014 17:10:26 +0000 (12:10 -0500)]
vp9lpf/x86: make filter_48/84_v work on 32-bit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: make filter_88_v work on 32-bit.
Ronald S. Bultje [Sat, 27 Dec 2014 20:12:01 +0000 (15:12 -0500)]
vp9lpf/x86: make filter_88_v work on 32-bit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: make filter_44_v work on 32-bit.
Ronald S. Bultje [Sat, 27 Dec 2014 20:08:48 +0000 (15:08 -0500)]
vp9lpf/x86: make filter_44_v work on 32-bit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: save one register in SIGN_ADD/SUB.
Ronald S. Bultje [Sat, 27 Dec 2014 19:47:07 +0000 (14:47 -0500)]
vp9lpf/x86: save one register in SIGN_ADD/SUB.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: store unpacked intermediates for filter6/14 on stack.
Ronald S. Bultje [Wed, 24 Dec 2014 19:17:28 +0000 (14:17 -0500)]
vp9lpf/x86: store unpacked intermediates for filter6/14 on stack.

filter16 goes from 508 to 482 (h) or 346 to 314 (v) cycles; filter88
goes from 240 to 238 (h) or 174 to 165 (v) cycles, measured on TOS.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: move variable assigned inside macro branch.
Ronald S. Bultje [Wed, 24 Dec 2014 19:22:19 +0000 (14:22 -0500)]
vp9lpf/x86: move variable assigned inside macro branch.

The value is not used outside the branch.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: simplify ABSSUM_CMP by inverting the comparison meaning.
Ronald S. Bultje [Mon, 22 Dec 2014 00:34:03 +0000 (19:34 -0500)]
vp9lpf/x86: simplify ABSSUM_CMP by inverting the comparison meaning.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: remove unused register from ABSSUB_CMP macro.
Ronald S. Bultje [Sat, 20 Dec 2014 16:13:06 +0000 (11:13 -0500)]
vp9lpf/x86: remove unused register from ABSSUB_CMP macro.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: slightly simplify 44/48/84/88 h stores.
Ronald S. Bultje [Sat, 20 Dec 2014 03:18:42 +0000 (22:18 -0500)]
vp9lpf/x86: slightly simplify 44/48/84/88 h stores.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: make cglobal statement more conservative in register allocation.
Ronald S. Bultje [Sat, 20 Dec 2014 03:09:30 +0000 (22:09 -0500)]
vp9lpf/x86: make cglobal statement more conservative in register allocation.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: save one register in loopfilter surface coverage.
Ronald S. Bultje [Sat, 20 Dec 2014 02:44:57 +0000 (21:44 -0500)]
vp9lpf/x86: save one register in loopfilter surface coverage.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: add ff_vp9_loop_filter_[vh]_44_16_{sse2,ssse3,avx}.
Clément Bœsch [Wed, 5 Feb 2014 06:21:06 +0000 (07:21 +0100)]
vp9lpf/x86: add ff_vp9_loop_filter_[vh]_44_16_{sse2,ssse3,avx}.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: add ff_vp9_loop_filter_h_{48,84}_16_{sse2,ssse3,avx}().
Clément Bœsch [Thu, 30 Jan 2014 18:01:30 +0000 (19:01 +0100)]
vp9lpf/x86: add ff_vp9_loop_filter_h_{48,84}_16_{sse2,ssse3,avx}().

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: add an SSE2 version of vp9_loop_filter_[vh]_88_16
James Almer [Tue, 28 Jan 2014 07:59:45 +0000 (04:59 -0300)]
vp9lpf/x86: add an SSE2 version of vp9_loop_filter_[vh]_88_16

Similar gains as the ssse3 version once again

Additional improvements by Clément Bœsch <u@pkh.me>.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: add ff_vp9_loop_filter_[vh]_88_16_{ssse3,avx}.
Clément Bœsch [Sat, 25 Jan 2014 16:38:42 +0000 (17:38 +0100)]
vp9lpf/x86: add ff_vp9_loop_filter_[vh]_88_16_{ssse3,avx}.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: add ff_vp9_loop_filter_[vh]_16_16_sse2().
James Almer [Fri, 17 Jan 2014 06:55:44 +0000 (03:55 -0300)]
vp9lpf/x86: add ff_vp9_loop_filter_[vh]_16_16_sse2().

Similar gains in performance as the SSSE3 version

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9lpf/x86: add x86 SSSE3/AVX SIMD for vp9_loop_filter_[vh]_16_16.
Clément Bœsch [Sun, 5 Jan 2014 20:00:40 +0000 (21:00 +0100)]
vp9lpf/x86: add x86 SSSE3/AVX SIMD for vp9_loop_filter_[vh]_16_16.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agocheckasm: add VP9 loopfilter tests.
Ronald S. Bultje [Thu, 17 Sep 2015 15:58:10 +0000 (11:58 -0400)]
checkasm: add VP9 loopfilter tests.

The randomize_buffer() implementation assures that "most of the time",
we'll do a good mix of wide16/wide8/hev/regular/no filters for complete
code coverage. However, this is not mathematically assured because that
would make the code either much more complex, or much less random.

Some fixes and improvements by Rodger Combs <rodger.combs@gmail.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agovp9: ignore reference segmentation map if error_resilience flag is set.
Ronald S. Bultje [Tue, 12 Aug 2014 22:11:05 +0000 (18:11 -0400)]
vp9: ignore reference segmentation map if error_resilience flag is set.

Fixes ffvp9_fails_where_libvpx.succeeds.webm.

Bug-Id: ffmpeg/3849.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agofate: Add test for rscc palette
Vittorio Giovara [Mon, 19 Sep 2016 20:33:44 +0000 (16:33 -0400)]
fate: Add test for rscc palette

2 years agorscc: Support palette format
Carl Eugen Hoyos [Mon, 19 Sep 2016 20:33:43 +0000 (16:33 -0400)]
rscc: Support palette format

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2 years agoavcodec: Document AV_PKT_DATA_PALETTE side data type
Vittorio Giovara [Tue, 20 Sep 2016 21:11:14 +0000 (17:11 -0400)]
avcodec: Document AV_PKT_DATA_PALETTE side data type

2 years agoavidec: Set palette alpha as fully opaque
Vittorio Giovara [Sun, 2 Oct 2016 16:24:07 +0000 (12:24 -0400)]
avidec: Set palette alpha as fully opaque

Palette format is always in RGBA.

2 years agoavidec: Do not special case palette on big-endian
Vittorio Giovara [Sun, 25 Sep 2016 00:25:44 +0000 (20:25 -0400)]
avidec: Do not special case palette on big-endian

This simplifies the code a bit, does not change output data in any way.

2 years agopixfmt: Document alternative names for smpte 431 and 432
Vittorio Giovara [Tue, 20 Sep 2016 19:00:31 +0000 (15:00 -0400)]
pixfmt: Document alternative names for smpte 431 and 432

2 years agovaapi_h265: Add main 10 encode support
Mark Thompson [Fri, 30 Sep 2016 10:48:43 +0000 (11:48 +0100)]
vaapi_h265: Add main 10 encode support

2 years agohwcontext_vaapi: Enable P010 support
Mark Thompson [Fri, 30 Sep 2016 15:27:09 +0000 (17:27 +0200)]
hwcontext_vaapi: Enable P010 support

This is required for 10-bit surfaces.

2 years agovaapi_h265: Fix buffering parameters
Mark Thompson [Fri, 30 Sep 2016 15:47:19 +0000 (17:47 +0200)]
vaapi_h265: Fix buffering parameters

A decoder may need this to be set correctly to output frames in the
right order.