Commit Graph

43752 Commits

Author SHA1 Message Date
Anton Khirnov 5cc0057f49 lavu: remove the custom atomic API
It has been replaced by C11 stdatomic.h and is now unused.
2016-10-02 19:35:55 +02: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
Anton Khirnov 3a165c187d v4l2: convert to stdatomic 2016-10-02 19:34:57 +02:00
Anton Khirnov 27079a426c buffer: convert to stdatomic 2016-10-02 18:58:04 +02:00
Anton Khirnov eb34d40354 Add a compat dummy stdatomic.h used when threading is disabled
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:57:56 +02:00
Anton Khirnov f9a6a80e06 Add a compat stdatomic.h implementation based on pthreads
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:56:52 +02:00
Anton Khirnov bb81ed4765 Add a compat stdatomic.h implementation based on suncc atomics
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:55:41 +02:00
Anton Khirnov c2755864af Add a compat stdatomic.h implementation based on windows atomics
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:54:28 +02:00
Anton Khirnov 4e928ef340 Add a compat stdatomic.h implementation based on GCC atomics
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:52:08 +02:00
Anton Khirnov 13f5d2bf75 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.
2016-10-02 18:49:14 +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
Alexandra Hájková 22c3ab1864 checkasm: Add test for huffyuvdsp add_bytes
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-10-02 17:13:26 +02:00
Anton Khirnov 27085d1b47 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).
2016-10-02 11:41:45 +02:00
Anton Khirnov f6772e9bf8 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).
2016-10-02 11:41:45 +02:00
Anton Khirnov d10102d23c avconv: set the encoding framerate when the output is CFR 2016-10-02 11:41:45 +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
Anton Khirnov 2124711b95 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.
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
Anton Khirnov 8ea35af762 avio: add a new flag for marking streams seekable by timestamp 2016-09-30 16:55:45 +02:00
Anton Khirnov 75c1db6152 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.
2016-09-30 16:54:55 +02:00
Anton Khirnov 83548fe894 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.
2016-09-30 16:54:33 +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 25841dfe80 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 67d28f4a0f examples/output: switch to the new encoding API 2016-09-28 10:01:52 +02: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
Anton Khirnov 6c09af7e46 APIchanges: fix a typo in the version number 2016-09-28 10:01:51 +02:00
Luca Barbato 0e8d1fc1f0 lavu: Bump version for the 12bit Planar YUV support 2016-09-27 18:48:30 +02:00