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

3 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>
3 years agoswscale: Enable GBRP12 output
Luca Barbato [Mon, 10 Oct 2016 20:31:24 +0000 (22:31 +0200)]
swscale: Enable GBRP12 output

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

3 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

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

3 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

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

3 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

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

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

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

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

3 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

3 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

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

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

3 years agovaapi_h265: Fix slice header writing
Mark Thompson [Fri, 30 Sep 2016 15:31:49 +0000 (17:31 +0200)]
vaapi_h265: Fix slice header writing

This was not observed earlier because the only syntax element which
it normally misses with the current setup is slice_qp_delta, but that
is always going to be zero (in IDR frames QP isn't varied on the
slice) which will always exp-golomb code as a single 1 bit.  The
immediately following part is the byte alignment, which is always a 1
bit followed by 0s which are ignored, so as long as the bitstream is
never aligned at that point we will never notice because the only
difference is that an ignored bit is a 1 instead of a 0.

3 years agovaapi_h264: Write bitstream restriction fields
Mark Thompson [Sat, 1 Oct 2016 10:01:08 +0000 (11:01 +0100)]
vaapi_h264: Write bitstream restriction fields

3 years agovaapi_h264: Fix CFR mode with frame_rate set in AVCodecContext
Mark Thompson [Sat, 1 Oct 2016 08:48:44 +0000 (10:48 +0200)]
vaapi_h264: Fix CFR mode with frame_rate set in AVCodecContext

3 years agovaapi_encode: Decide on GOP setup before initialising sequence parameters
Mark Thompson [Fri, 30 Sep 2016 15:27:58 +0000 (17:27 +0200)]
vaapi_encode: Decide on GOP setup before initialising sequence parameters

This was always too late; several fields related to it have been incorrectly
zero since the encoder was added.

3 years agolavu: remove the custom atomic API
Anton Khirnov [Fri, 29 Jul 2016 11:47:57 +0000 (13:47 +0200)]
lavu: remove the custom atomic API

It has been replaced by C11 stdatomic.h and is now unused.

3 years agopthread_frame: use atomics for frame progress
Anton Khirnov [Sun, 17 Jul 2016 22:04:16 +0000 (00:04 +0200)]
pthread_frame: use atomics for frame progress

3 years agopthread_frame: use atomics for PerThreadContext.state
Anton Khirnov [Sun, 17 Jul 2016 22:04:16 +0000 (00:04 +0200)]
pthread_frame: use atomics for PerThreadContext.state

3 years agopthread_frame: use a thread-safe way for signalling threads to die
Anton Khirnov [Sun, 17 Jul 2016 21:30:52 +0000 (23:30 +0200)]
pthread_frame: use a thread-safe way for signalling threads to die

Current code uses a plain int in a racy way, which is UB.

3 years agommaldec: convert to stdatomic
Anton Khirnov [Sun, 17 Jul 2016 20:24:35 +0000 (22:24 +0200)]
mmaldec: convert to stdatomic

3 years agov4l2: convert to stdatomic
Anton Khirnov [Sun, 17 Jul 2016 20:24:35 +0000 (22:24 +0200)]
v4l2: convert to stdatomic

3 years agobuffer: convert to stdatomic
Anton Khirnov [Sun, 17 Jul 2016 20:24:35 +0000 (22:24 +0200)]
buffer: convert to stdatomic

3 years agoAdd a compat dummy stdatomic.h used when threading is disabled
Anton Khirnov [Sun, 17 Jul 2016 16:56:33 +0000 (18:56 +0200)]
Add a compat dummy stdatomic.h used when threading is disabled

Adapted from the code by Rémi Denis-Courmont from VLC

3 years agoAdd a compat stdatomic.h implementation based on pthreads
Anton Khirnov [Sun, 17 Jul 2016 16:56:33 +0000 (18:56 +0200)]
Add a compat stdatomic.h implementation based on pthreads

Adapted from the code by Rémi Denis-Courmont from VLC

3 years agoAdd a compat stdatomic.h implementation based on suncc atomics
Anton Khirnov [Sun, 17 Jul 2016 16:56:33 +0000 (18:56 +0200)]
Add a compat stdatomic.h implementation based on suncc atomics

Adapted from the code by Rémi Denis-Courmont from VLC

3 years agoAdd a compat stdatomic.h implementation based on windows atomics
Anton Khirnov [Sun, 17 Jul 2016 16:56:33 +0000 (18:56 +0200)]
Add a compat stdatomic.h implementation based on windows atomics

Adapted from the code by Rémi Denis-Courmont from VLC

3 years agoAdd a compat stdatomic.h implementation based on GCC atomics
Anton Khirnov [Sun, 17 Jul 2016 16:56:33 +0000 (18:56 +0200)]
Add a compat stdatomic.h implementation based on GCC atomics

Adapted from the code by Rémi Denis-Courmont from VLC

3 years agoconfigure: check for stdatomic.h
Anton Khirnov [Sun, 17 Jul 2016 16:32:15 +0000 (18:32 +0200)]
configure: check for stdatomic.h

Since this is a C11 feature, it requires -std=c11.

Not actually used for anything yet, that will be added in the following
commits.

3 years agohuffyuvdsp: Enable the altivec code for PPC little-endian as well
Luca Barbato [Sat, 1 Oct 2016 19:28:39 +0000 (21:28 +0200)]
huffyuvdsp: Enable the altivec code for PPC little-endian as well

Confirmed to work by checkasm.

3 years agohuffyuvdsp: Reenable PPC optimizations
Luca Barbato [Sat, 1 Oct 2016 19:23:27 +0000 (21:23 +0200)]
huffyuvdsp: Reenable PPC optimizations

3 years agocheckasm: Add test for huffyuvdsp add_bytes
Alexandra Hájková [Sun, 2 Oct 2016 13:20:13 +0000 (15:20 +0200)]
checkasm: Add test for huffyuvdsp add_bytes

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoavconv: only retry decoding on actual decoding errors
Anton Khirnov [Sat, 1 Oct 2016 19:07:42 +0000 (21:07 +0200)]
avconv: only retry decoding on actual decoding errors

Errors during decoding are currently considered non-fatal and do not
terminate transcoding, so even if parts of the data are corrupted, the
rest may be decodable.

However, that should apply only to the actual decoding calls, not to the
failures elsewhere (e.g. configuring filters).

3 years agoavconv: make sure the filtergraph is freed on init failure
Anton Khirnov [Sat, 1 Oct 2016 15:06:25 +0000 (17:06 +0200)]
avconv: make sure the filtergraph is freed on init failure

The filtergraph's existence is used in several places to mean that the
filtergraph is fully configured. This causes problems if it's allocated,
but the initialization fails (e.g. if a non-existent filter is
specified).

3 years agoavconv: set the encoding framerate when the output is CFR
Anton Khirnov [Sat, 1 Oct 2016 09:47:23 +0000 (11:47 +0200)]
avconv: set the encoding framerate when the output is CFR

3 years agoh264dec: support broken files with mp4 extradata/annex b data
Anton Khirnov [Sat, 1 Oct 2016 08:03:05 +0000 (10:03 +0200)]
h264dec: support broken files with mp4 extradata/annex b data

Bug-Id: 966

3 years agohwcontext_vaapi: add a quirk for the missing MemoryType attribute
Anton Khirnov [Fri, 30 Sep 2016 19:21:46 +0000 (21:21 +0200)]
hwcontext_vaapi: add a quirk for the missing MemoryType attribute

The Intel binary iHD driver does not support the
VASurfaceAttribMemoryType, so surface allocation will fail when using
it.

3 years agoac3dsp: x86: Replace inline asm for in-decoder downmixing with standalone asm
Justin Ruggles [Wed, 28 Oct 2015 14:38:22 +0000 (15:38 +0100)]
ac3dsp: x86: Replace inline asm for in-decoder downmixing with standalone asm

Adds a wrapper function for downmixing which detects channel count changes
and updates the selected downmix function accordingly.

Simplification and porting to current x86inc infrastructure by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agoac3dsp: Add some special-case handling for the C downmix function
Justin Ruggles [Wed, 28 Oct 2015 14:38:21 +0000 (15:38 +0100)]
ac3dsp: Add some special-case handling for the C downmix function

This is about 200% faster for in-decoder downmixing of 5.0 and 5.1 content.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agoac3dsp: Reverse matrix in/out order in downmix()
Justin Ruggles [Wed, 28 Oct 2015 14:38:20 +0000 (15:38 +0100)]
ac3dsp: Reverse matrix in/out order in downmix()

Also use (float **) instead of (float (*)[2]). This matches the matrix
layout in libavresample so we can reuse assembly code between the two.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agoavio: add a new flag for marking streams seekable by timestamp
Anton Khirnov [Tue, 27 Sep 2016 13:44:54 +0000 (15:44 +0200)]
avio: add a new flag for marking streams seekable by timestamp

3 years agoavio: cosmetics, prettify AVIO_SEEKABLE_NORMAL
Anton Khirnov [Tue, 27 Sep 2016 13:37:54 +0000 (15:37 +0200)]
avio: cosmetics, prettify AVIO_SEEKABLE_NORMAL

Move the doxy above the definition, change the value itself to the
(1 << n) pattern, which is more readable for flags.

3 years agolavf: fix usage of AVIOContext.seekable
Anton Khirnov [Tue, 27 Sep 2016 14:26:37 +0000 (16:26 +0200)]
lavf: fix usage of AVIOContext.seekable

It is supposed to be a flag. The only currently defined value is
AVIO_SEEKABLE_NORMAL, but other ones may be added in the future.
However all the current lavf code treats this field as a bool (mainly
for historical reasons).
Change all those cases to properly check for AVIO_SEEKABLE_NORMAL.

3 years agox86/h264_weight: use appropriate register size for weight parameters
Hendrik Leppkes [Fri, 23 Sep 2016 07:52:48 +0000 (09:52 +0200)]
x86/h264_weight: use appropriate register size for weight parameters

This fixes decoding corruption on 64 bit windows.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agompegaudiodsp: Change type of array stride parameters to ptrdiff_t
Diego Biurrun [Tue, 20 Sep 2016 12:09:43 +0000 (14:09 +0200)]
mpegaudiodsp: Change type of array stride parameters to ptrdiff_t

This avoids SIMD-optimized functions having to sign-extend their
stride argument manually to be able to do pointer arithmetic.

3 years agomss*: Change type of array stride parameters to ptrdiff_t
Diego Biurrun [Thu, 8 Sep 2016 14:03:46 +0000 (16:03 +0200)]
mss*: Change type of array stride parameters to ptrdiff_t

ptrdiff_t is the correct type for array strides and similar.

3 years agoea: Change type of array stride parameters to ptrdiff_t
Diego Biurrun [Wed, 7 Sep 2016 15:08:15 +0000 (17:08 +0200)]
ea: Change type of array stride parameters to ptrdiff_t

ptrdiff_t is the correct type for array strides and similar.

3 years agohevc: Change type of array stride parameters to ptrdiff_t
Diego Biurrun [Thu, 1 Sep 2016 20:18:22 +0000 (22:18 +0200)]
hevc: Change type of array stride parameters to ptrdiff_t

ptrdiff_t is the correct type for array strides and similar.

3 years agoh264chroma: Change type of stride parameters to ptrdiff_t
Diego Biurrun [Thu, 1 Sep 2016 19:41:01 +0000 (21:41 +0200)]
h264chroma: Change type of stride parameters to ptrdiff_t

This avoids SIMD-optimized functions having to sign-extend their
stride argument manually to be able to do pointer arithmetic.

3 years agoidct: Change type of array stride parameters to ptrdiff_t
Diego Biurrun [Wed, 7 Sep 2016 15:02:06 +0000 (17:02 +0200)]
idct: Change type of array stride parameters to ptrdiff_t

ptrdiff_t is the correct type for array strides and similar.

3 years agoblockdsp: Change type of array stride parameters to ptrdiff_t
Diego Biurrun [Thu, 8 Sep 2016 13:13:04 +0000 (15:13 +0200)]
blockdsp: Change type of array stride parameters to ptrdiff_t

ptrdiff_t is the correct type for array strides and similar.

3 years agointrax8: Change type of array stride parameters to ptrdiff_t
Diego Biurrun [Thu, 8 Sep 2016 13:08:03 +0000 (15:08 +0200)]
intrax8: Change type of array stride parameters to ptrdiff_t

ptrdiff_t is the correct type for array strides and similar.

Also rename all such parameters to "stride" for consistency.

3 years agohpeldsp: arm: Update comments left behind in 25841dfe806a13de526ae09c11149ab1f83555a8
Diego Biurrun [Sun, 11 Sep 2016 21:17:31 +0000 (23:17 +0200)]
hpeldsp: arm: Update comments left behind in 25841dfe806a13de526ae09c11149ab1f83555a8

3 years agox86: fpel: Remove unnecessary sign extend
Diego Biurrun [Fri, 16 Sep 2016 11:13:28 +0000 (13:13 +0200)]
x86: fpel: Remove unnecessary sign extend

3 years agovaapi_h264: Set max_num_ref_frames to 1 when not using B frames
Mark Thompson [Tue, 27 Sep 2016 18:08:42 +0000 (19:08 +0100)]
vaapi_h264: Set max_num_ref_frames to 1 when not using B frames

3 years agovaapi_encode: Sync to input surface rather than output
Mark Thompson [Sun, 18 Sep 2016 15:06:55 +0000 (16:06 +0100)]
vaapi_encode: Sync to input surface rather than output

While outwardly bizarre, this change makes the behaviour consistent
with other VAAPI encoders which sync to the encode /input/ picture in
order to wait for /output/ from the encoder.  It is not harmful on
i965 (because synchronisation already happens in vaRenderPicture(),
so it has no effect there), and it allows the encoder to work on
mesa/gallium which assumes this behaviour.

3 years agovaapi_encode: Check packed header capabilities
Mark Thompson [Sun, 18 Sep 2016 13:59:59 +0000 (14:59 +0100)]
vaapi_encode: Check packed header capabilities

This improves behaviour with drivers which do not support packed
headers, such as AMD VCE on mesa/gallium.

3 years agovaapi_encode: Refactor initialisation
Mark Thompson [Sun, 18 Sep 2016 13:55:26 +0000 (14:55 +0100)]
vaapi_encode: Refactor initialisation

This allows better checking of capabilities and will make it easier
to add more functionality later.

It also commonises some duplicated code around rate control setup
and adds more comments explaining the internals.

3 years agoexamples/output: switch to the new encoding API
Anton Khirnov [Thu, 22 Sep 2016 07:32:08 +0000 (09:32 +0200)]
examples/output: switch to the new encoding API

3 years agotdsc: use the new decoding API
Anton Khirnov [Thu, 22 Sep 2016 06:40:05 +0000 (08:40 +0200)]
tdsc: use the new decoding API

3 years agolavc: add clobber tests for the new encoding/decoding API
Anton Khirnov [Wed, 21 Sep 2016 18:44:36 +0000 (20:44 +0200)]
lavc: add clobber tests for the new encoding/decoding API