James Almer
92d47550ea
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>
2016-10-04 10:54:08 +02:00
Clément Bœsch
6bea478158
vp9lpf/x86: add ff_vp9_loop_filter_[vh]_88_16_{ssse3,avx}.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-10-04 10:54:08 +02:00
James Almer
1f451eed60
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>
2016-10-04 10:54:08 +02:00
Clément Bœsch
a692724c58
vp9lpf/x86: add x86 SSSE3/AVX SIMD for vp9_loop_filter_[vh]_16_16.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-10-04 10:54:08 +02:00
Ronald S. Bultje
a451324ddd
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>
2016-10-04 10:54:07 +02:00
Carl Eugen Hoyos
c19830aa2c
rscc: Support palette format
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-10-02 15:42:03 -04:00
Vittorio Giovara
b8d5070db6
avcodec: Document AV_PKT_DATA_PALETTE side data type
2016-10-02 15:42:03 -04:00
Mark Thompson
5a5df90d9c
vaapi_h265: Add main 10 encode support
2016-10-02 20:23:18 +01:00
Mark Thompson
b8cac1e830
vaapi_h265: Fix buffering parameters
...
A decoder may need this to be set correctly to output frames in the
right order.
2016-10-02 20:23:18 +01:00
Mark Thompson
fc30a90898
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.
2016-10-02 20:23:18 +01:00
Mark Thompson
ec17ab381e
vaapi_h264: Write bitstream restriction fields
2016-10-02 20:23:18 +01:00
Mark Thompson
17a0f9481c
vaapi_h264: Fix CFR mode with frame_rate set in AVCodecContext
2016-10-02 20:23:18 +01:00
Mark Thompson
314b421dd8
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.
2016-10-02 20:23:18 +01:00
Anton Khirnov
59c7022740
pthread_frame: use atomics for frame progress
2016-10-02 19:35:46 +02:00
Anton Khirnov
64a31b2854
pthread_frame: use atomics for PerThreadContext.state
2016-10-02 19:35:34 +02:00
Anton Khirnov
db2733256d
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.
2016-10-02 19:35:23 +02:00
Anton Khirnov
8385ba53f1
mmaldec: convert to stdatomic
2016-10-02 19:35:12 +02:00
Luca Barbato
b015872c0d
huffyuvdsp: Enable the altivec code for PPC little-endian as well
...
Confirmed to work by checkasm.
2016-10-02 17:13:36 +02:00
Luca Barbato
1d25a86902
huffyuvdsp: Reenable PPC optimizations
2016-10-02 17:13:36 +02:00
Anton Khirnov
5bf2454e7c
h264dec: support broken files with mp4 extradata/annex b data
...
Bug-Id: 966
2016-10-02 11:41:45 +02:00
Justin Ruggles
b57e38f52c
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>
2016-10-01 00:46:25 +02:00
Justin Ruggles
a9ba59591e
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>
2016-10-01 00:46:18 +02:00
Justin Ruggles
43717469f9
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>
2016-10-01 00:45:55 +02:00
Hendrik Leppkes
8d1267932c
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>
2016-09-30 12:18:22 +03:00
Diego Biurrun
2caa93b813
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.
2016-09-29 17:54:24 +02:00
Diego Biurrun
15b4f494fc
mss*: Change type of array stride parameters to ptrdiff_t
...
ptrdiff_t is the correct type for array strides and similar.
2016-09-29 17:54:24 +02:00
Diego Biurrun
a339e919ca
ea: Change type of array stride parameters to ptrdiff_t
...
ptrdiff_t is the correct type for array strides and similar.
2016-09-29 17:54:23 +02:00
Diego Biurrun
ba479f3daa
hevc: Change type of array stride parameters to ptrdiff_t
...
ptrdiff_t is the correct type for array strides and similar.
2016-09-29 17:54:23 +02:00
Diego Biurrun
e4a94d8b36
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.
2016-09-29 14:48:04 +02:00
Diego Biurrun
2ec9fa5ec6
idct: Change type of array stride parameters to ptrdiff_t
...
ptrdiff_t is the correct type for array strides and similar.
2016-09-29 14:48:03 +02:00
Diego Biurrun
b2939a7527
blockdsp: Change type of array stride parameters to ptrdiff_t
...
ptrdiff_t is the correct type for array strides and similar.
2016-09-29 14:48:03 +02:00
Diego Biurrun
3281d823cd
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.
2016-09-29 14:48:03 +02:00
Diego Biurrun
92c5755a18
hpeldsp: arm: Update comments left behind in 25841dfe806a13de526ae09c11149ab1f83555a8
2016-09-29 14:48:03 +02:00
Diego Biurrun
009adfd4fb
x86: fpel: Remove unnecessary sign extend
2016-09-29 14:47:41 +02:00
Mark Thompson
956a54129d
vaapi_h264: Set max_num_ref_frames to 1 when not using B frames
2016-09-28 22:54:11 +01:00
Mark Thompson
086e4b58b5
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.
2016-09-28 22:54:11 +01:00
Mark Thompson
892bbbcdc1
vaapi_encode: Check packed header capabilities
...
This improves behaviour with drivers which do not support packed
headers, such as AMD VCE on mesa/gallium.
2016-09-28 22:54:11 +01:00
Mark Thompson
80a5d05108
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.
2016-09-28 22:54:10 +01:00
Anton Khirnov
7bf8db4db6
tdsc: use the new decoding API
2016-09-28 10:01:52 +02:00
Anton Khirnov
de2ae3c1fa
lavc: add clobber tests for the new encoding/decoding API
2016-09-28 10:01:52 +02:00
Anton Khirnov
68811a41c7
mpegvideo_enc: use the new encoding API for b_strategy=2
2016-09-28 10:01:52 +02:00
Anton Khirnov
f03f78bc1c
mpegvideo_enc: handle encoding errors with b_strategy=2
2016-09-28 10:01:52 +02:00
Anton Khirnov
6f733ecab6
mpegvideo_enc: add const to the AVCodec instance
2016-09-28 10:01:52 +02:00
Yogender Gupta
70de2ea426
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>
2016-09-24 19:03:10 +02:00
Yogender Gupta
358c887a9f
nvenc: Add support for high bitdepth
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-09-24 19:02:31 +02:00
Yogender Gupta
e02e2515b2
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>
2016-09-24 18:08:54 +02:00
Luca Barbato
352741b5ea
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>
2016-09-24 18:08:54 +02:00
Anton Khirnov
12004a9a7f
audiodsp/x86: yasmify vector_clipf_sse
2016-09-22 09:47:52 +02:00
Anton Khirnov
683da86aab
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>
2016-09-22 09:47:52 +02:00
Anton Khirnov
bf58545aac
audiodsp: fix vector_clipf documentation
...
The x86 version processes 16 floats per iteration, so len must be a
multiple of 16.
2016-09-22 09:47:52 +02:00