ffmpeg.git
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.

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

2 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

2 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

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

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

2 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

2 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

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

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

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

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

2 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

2 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

2 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

2 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

2 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

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

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

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

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

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

2 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

2 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

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

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

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

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

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

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

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

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

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

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

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

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

2 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

2 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

2 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

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

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

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

2 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

2 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

2 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

2 years agompegvideo_enc: use the new encoding API for b_strategy=2
Anton Khirnov [Wed, 21 Sep 2016 18:22:14 +0000 (20:22 +0200)]
mpegvideo_enc: use the new encoding API for b_strategy=2

2 years agompegvideo_enc: handle encoding errors with b_strategy=2
Anton Khirnov [Wed, 21 Sep 2016 18:21:58 +0000 (20:21 +0200)]
mpegvideo_enc: handle encoding errors with b_strategy=2

2 years agompegvideo_enc: add const to the AVCodec instance
Anton Khirnov [Wed, 21 Sep 2016 18:06:11 +0000 (20:06 +0200)]
mpegvideo_enc: add const to the AVCodec instance

2 years agoAPIchanges: fix a typo in the version number
Anton Khirnov [Tue, 27 Sep 2016 13:47:22 +0000 (15:47 +0200)]
APIchanges: fix a typo in the version number

2 years agolavu: Bump version for the 12bit Planar YUV support
Luca Barbato [Mon, 26 Sep 2016 16:16:39 +0000 (18:16 +0200)]
lavu: Bump version for the 12bit Planar YUV support

2 years agopixfmt: Add yuv444p12 pixel format
Luca Barbato [Sat, 24 Sep 2016 21:09:43 +0000 (23:09 +0200)]
pixfmt: Add yuv444p12 pixel format

2 years agopixfmt: Add yuv422p12 pixel format
Luca Barbato [Sat, 24 Sep 2016 18:22:56 +0000 (20:22 +0200)]
pixfmt: Add yuv422p12 pixel format

2 years agopixfmt: Add yuv420p12 pixel format
Luca Barbato [Sat, 24 Sep 2016 20:48:48 +0000 (22:48 +0200)]
pixfmt: Add yuv420p12 pixel format

2 years agoswscale: Rename is9_OR_10 to match what it does
Luca Barbato [Tue, 27 Sep 2016 16:13:37 +0000 (18:13 +0200)]
swscale: Rename is9_OR_10 to match what it does

It is used to select functions that work with 9-15bits.

2 years agoswscale: Update bitdepth range check
Luca Barbato [Sun, 25 Sep 2016 14:23:20 +0000 (16:23 +0200)]
swscale: Update bitdepth range check

Make sure the scaling functions for the 9-15bits are used for
9-15bits bit depths correctly.

2 years agoswscale: Consistently order input YUV pixel formats
Vittorio Giovara [Sun, 25 Sep 2016 21:09:57 +0000 (17:09 -0400)]
swscale: Consistently order input YUV pixel formats

Follow a 420, 422, 444 order instead of a random one.
This simplifies double-checking additions of new formats.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agonvenc: Extended rate-control support as provided by SDK 7
Yogender Gupta [Sat, 24 Sep 2016 15:55:00 +0000 (17:55 +0200)]
nvenc: Extended rate-control support as provided by SDK 7

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agonvenc: Add support for high bitdepth
Yogender Gupta [Sat, 24 Sep 2016 15:54:59 +0000 (17:54 +0200)]
nvenc: Add support for high bitdepth

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agonvenc: Add some easier to understand presets that match x264 terminology
Yogender Gupta [Sat, 24 Sep 2016 15:54:58 +0000 (17:54 +0200)]
nvenc: Add some easier to understand presets that match x264 terminology

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agonvenc: Make sure that enum and array index match
Luca Barbato [Sat, 24 Sep 2016 15:54:57 +0000 (17:54 +0200)]
nvenc: Make sure that enum and array index match

And use a macro to reduce the boilerplate.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agoaudiodsp/x86: yasmify vector_clipf_sse
Anton Khirnov [Tue, 9 Aug 2016 18:20:00 +0000 (20:20 +0200)]
audiodsp/x86: yasmify vector_clipf_sse

2 years agoaudiodsp: reorder arguments for vector_clipf
Anton Khirnov [Sun, 4 Sep 2016 12:45:48 +0000 (14:45 +0200)]
audiodsp: reorder arguments for vector_clipf

This will make the x86 asm simpler.

ARM conversion by Martin Storsjö <martin@martin.st> and Janne Grunau
<janne-libav@jannau.net>

2 years agoaudiodsp: fix vector_clipf documentation
Anton Khirnov [Tue, 9 Aug 2016 17:50:56 +0000 (19:50 +0200)]
audiodsp: fix vector_clipf documentation

The x86 version processes 16 floats per iteration, so len must be a
multiple of 16.

2 years agocheckasm: add tests for audiodsp
Anton Khirnov [Tue, 9 Aug 2016 16:10:26 +0000 (18:10 +0200)]
checkasm: add tests for audiodsp

2 years agocheckasm: add a test for blockdsp
Anton Khirnov [Mon, 8 Aug 2016 19:58:17 +0000 (21:58 +0200)]
checkasm: add a test for blockdsp

2 years agoblockdsp: drop the high_bit_depth parameter
Anton Khirnov [Mon, 8 Aug 2016 19:47:20 +0000 (21:47 +0200)]
blockdsp: drop the high_bit_depth parameter

It has no effect, since the code is supposed to operate the same way for
any bit depth.

2 years agohwcontext_cuda: Add P010 and YUV444P16 pixel format
Yogender Kumar Gupta [Mon, 19 Sep 2016 14:31:10 +0000 (20:01 +0530)]
hwcontext_cuda: Add P010 and YUV444P16 pixel format

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2 years agoaudiodsp/x86: clear the high bits of the order parameter on 64bit
Anton Khirnov [Tue, 9 Aug 2016 12:17:15 +0000 (14:17 +0200)]
audiodsp/x86: clear the high bits of the order parameter on 64bit

Also change shl to add, since it can be faster on some CPUs.

CC: libav-stable@libav.org
2 years agoaudiodsp/x86: fix ff_vector_clip_int32_sse2
Anton Khirnov [Tue, 9 Aug 2016 12:17:15 +0000 (14:17 +0200)]
audiodsp/x86: fix ff_vector_clip_int32_sse2

This version, which is the only one doing two processing cycles per loop
iteration, computes the load/store indices incorrectly for the second
cycle.

CC: libav-stable@libav.org
2 years agox86util: Document SBUTTERFLY macro
Alexandra Hájková [Sat, 10 Sep 2016 18:41:43 +0000 (20:41 +0200)]
x86util: Document SBUTTERFLY macro

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agoavcodec: Add the extended pixel format profile for HEVC
Yogender Gupta [Sat, 17 Sep 2016 13:28:27 +0000 (15:28 +0200)]
avcodec: Add the extended pixel format profile for HEVC

It is supported by the NVIDIA video SDK 7.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agompegvideo_motion: Handle edge emulation even without unrestricted_mv
Michael Niedermayer [Tue, 12 Nov 2013 15:11:42 +0000 (16:11 +0100)]
mpegvideo_motion: Handle edge emulation even without unrestricted_mv

Fix out of bounds read.

Bug-Id: 962
Found by: F4B3CD@STARLAB and Agostino Sarubbo
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2 years agobuild: remove hardcoded name of version header
Janne Grunau [Mon, 12 Sep 2016 19:52:01 +0000 (21:52 +0200)]
build: remove hardcoded name of version header

Fixes an oversight in 1316df7aa98c4.

CC: libav-stable@libav.org
2 years agobuild: doc: more fine-grained dependencies for generated texi files
Diego Biurrun [Mon, 12 Sep 2016 15:42:28 +0000 (17:42 +0200)]
build: doc: more fine-grained dependencies for generated texi files

2 years agolibdc1394: Distinguish between enumeration errors and no cameras found
Josh de Kock [Sun, 24 Jul 2016 19:55:42 +0000 (20:55 +0100)]
libdc1394: Distinguish between enumeration errors and no cameras found

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2 years agortsp: Fix a crash with the RTSP muxer
Martin Storsjö [Thu, 15 Sep 2016 11:21:38 +0000 (14:21 +0300)]
rtsp: Fix a crash with the RTSP muxer

This was introduced in bc2a32969e.

The whole block that the statement was added to is only
relevant when used as a demuxer, but the other statements
there have had other if statements guarding them. Make
sure to only run this whole block if being used as a
demuxer.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agovf_scale_vaapi: Crop input surface to active region
Mark Thompson [Tue, 13 Sep 2016 19:50:57 +0000 (20:50 +0100)]
vf_scale_vaapi: Crop input surface to active region

If the input has been decoded from a stream which uses edge cropping
then the whole surface need not be valid.  This defines an input
region for the scaler so we only use the active area of the frame.

2 years agovaapi_h264: Fix HRD bit_rate/cpb_size scaling
Mark Thompson [Mon, 12 Sep 2016 23:25:07 +0000 (00:25 +0100)]
vaapi_h264: Fix HRD bit_rate/cpb_size scaling

There should be an extra offset of 6 on bit_rate_scale and of 4 on
cpb_size_scale which were not accounted for here.