]>
git.sesse.net Git - ffmpeg/log
Anton Khirnov [Sun, 17 Jul 2016 22:04:16 +0000 (00:04 +0200)]
pthread_frame: use atomics for frame progress
Anton Khirnov [Sun, 17 Jul 2016 22:04:16 +0000 (00:04 +0200)]
pthread_frame: use atomics for PerThreadContext.state
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.
Anton Khirnov [Sun, 17 Jul 2016 20:24:35 +0000 (22:24 +0200)]
mmaldec: convert to stdatomic
Anton Khirnov [Sun, 17 Jul 2016 20:24:35 +0000 (22:24 +0200)]
v4l2: convert to stdatomic
Anton Khirnov [Sun, 17 Jul 2016 20:24:35 +0000 (22:24 +0200)]
buffer: convert to stdatomic
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
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
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
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
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
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.
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.
Luca Barbato [Sat, 1 Oct 2016 19:23:27 +0000 (21:23 +0200)]
huffyuvdsp: Reenable PPC optimizations
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>
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).
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).
Anton Khirnov [Sat, 1 Oct 2016 09:47:23 +0000 (11:47 +0200)]
avconv: set the encoding framerate when the output is CFR
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
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.
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>
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>
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>
Anton Khirnov [Tue, 27 Sep 2016 13:44:54 +0000 (15:44 +0200)]
avio: add a new flag for marking streams seekable by timestamp
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.
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.
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>
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.
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.
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.
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.
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.
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.
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.
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.
Diego Biurrun [Sun, 11 Sep 2016 21:17:31 +0000 (23:17 +0200)]
hpeldsp: arm: Update comments left behind in
25841dfe806a13de526ae09c11149ab1f83555a8
Diego Biurrun [Fri, 16 Sep 2016 11:13:28 +0000 (13:13 +0200)]
x86: fpel: Remove unnecessary sign extend
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
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.
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.
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.
Anton Khirnov [Thu, 22 Sep 2016 07:32:08 +0000 (09:32 +0200)]
examples/output: switch to the new encoding API
Anton Khirnov [Thu, 22 Sep 2016 06:40:05 +0000 (08:40 +0200)]
tdsc: use the new 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
Anton Khirnov [Wed, 21 Sep 2016 18:22:14 +0000 (20:22 +0200)]
mpegvideo_enc: use the new encoding API for 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
Anton Khirnov [Wed, 21 Sep 2016 18:06:11 +0000 (20:06 +0200)]
mpegvideo_enc: add const to the AVCodec instance
Anton Khirnov [Tue, 27 Sep 2016 13:47:22 +0000 (15:47 +0200)]
APIchanges: fix a typo in the version number
Luca Barbato [Mon, 26 Sep 2016 16:16:39 +0000 (18:16 +0200)]
lavu: Bump version for the 12bit Planar YUV support
Luca Barbato [Sat, 24 Sep 2016 21:09:43 +0000 (23:09 +0200)]
pixfmt: Add yuv444p12 pixel format
Luca Barbato [Sat, 24 Sep 2016 18:22:56 +0000 (20:22 +0200)]
pixfmt: Add yuv422p12 pixel format
Luca Barbato [Sat, 24 Sep 2016 20:48:48 +0000 (22:48 +0200)]
pixfmt: Add yuv420p12 pixel format
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.
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.
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>
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>
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>
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>
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>
Anton Khirnov [Tue, 9 Aug 2016 18:20:00 +0000 (20:20 +0200)]
audiodsp/x86: yasmify vector_clipf_sse
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>
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.
Anton Khirnov [Tue, 9 Aug 2016 16:10:26 +0000 (18:10 +0200)]
checkasm: add tests for audiodsp
Anton Khirnov [Mon, 8 Aug 2016 19:58:17 +0000 (21:58 +0200)]
checkasm: add a test for blockdsp
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.
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>
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
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
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>
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>
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>
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
Diego Biurrun [Mon, 12 Sep 2016 15:42:28 +0000 (17:42 +0200)]
build: doc: more fine-grained dependencies for generated texi files
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>
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>
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.
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.
Mark Thompson [Tue, 13 Sep 2016 19:45:55 +0000 (20:45 +0100)]
hwcontext_vdpau: Fix missing subscripts
Also remove the redundant casts which were hiding the error here.
Mark Thompson [Mon, 12 Sep 2016 21:37:20 +0000 (22:37 +0100)]
hwcontext_vdpau: Remove duplicate definition of GET_CALLBACK
Diego Biurrun [Tue, 6 Sep 2016 14:06:12 +0000 (16:06 +0200)]
pixblockdsp: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
Also adjust parameter names to be "stride" everywhere.
Diego Biurrun [Mon, 5 Sep 2016 08:48:37 +0000 (10:48 +0200)]
configure: Drop check_lib()/require() in favor of check_lib2()/require2()
The latter can do everything the former can do, but also handle conditions
the former cannot like multiple header #includes and checking for headers
and functions in a single test program, which is necessary for certain
library tests.
Diego Biurrun [Fri, 9 Sep 2016 16:30:51 +0000 (18:30 +0200)]
ppc: mpegvideo: Add proper runtime AltiVec detection
Diego Biurrun [Fri, 9 Sep 2016 16:28:20 +0000 (18:28 +0200)]
ppc: Update #endif comments
Luca Barbato [Sat, 10 Sep 2016 16:12:23 +0000 (18:12 +0200)]
audiodsp: ppc: Add VSX variant
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Sat, 10 Sep 2016 23:14:37 +0000 (01:14 +0200)]
checkasm: Read the unsigned value as it should
Reading a value larger than int using atoi() may give the wrong result.
Mark Thompson [Fri, 9 Sep 2016 14:59:13 +0000 (15:59 +0100)]
vaapi_vp8: Explicitly include libva vp8 decode header
With some old libva versions <va/va.h> does not automatically include
the per-codec subsidiary headers, so we need to include the right one
explicitly ourselves.
Mark Thompson [Sun, 4 Sep 2016 12:33:15 +0000 (13:33 +0100)]
vaapi_decode: Ignore the profile when not useful
Enables VP8 decoding - the decoder places the the bitstream version
in the profile field, which we want to ignore.
Mark Thompson [Sun, 4 Sep 2016 12:28:10 +0000 (13:28 +0100)]
lavc/vaapi: Add VP8 decode hwaccel
Mark Thompson [Sun, 4 Sep 2016 12:26:37 +0000 (13:26 +0100)]
vp8: Add hwaccel hooks
Also adds some extra fields to the main context structure that may
be needed by a hwaccel decoder.
Diego Biurrun [Thu, 1 Sep 2016 19:31:22 +0000 (21:31 +0200)]
utvideo: Change type of array stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Thu, 1 Sep 2016 18:48:10 +0000 (20:48 +0200)]
iir_filter: Change type of array stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Thu, 1 Sep 2016 18:45:41 +0000 (20:45 +0200)]
error_resilience: Change type of array stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Mon, 5 Sep 2016 11:13:50 +0000 (13:13 +0200)]
configure: Simplify clock_gettime() test
Diego Biurrun [Mon, 5 Sep 2016 11:12:24 +0000 (13:12 +0200)]
build: Fix directory dependencies of tests/pixfmts.mak target
Diego Biurrun [Tue, 14 Apr 2015 11:27:32 +0000 (13:27 +0200)]
configure: Fix --disable-pod2man / --disable-texi2html
Diego Biurrun [Fri, 10 Apr 2015 17:29:25 +0000 (19:29 +0200)]
configure: Simplify libopenjpeg check
Diego Biurrun [Tue, 17 Mar 2015 12:12:41 +0000 (13:12 +0100)]
configure: Move initial VAAPI check to a more sensible place
Diego Biurrun [Fri, 26 Aug 2016 10:44:37 +0000 (12:44 +0200)]
sanm: Change type of array pitch parameters to ptrdiff_t
ptrdiff_t is the correct type for array pitches and similar.
Diego Biurrun [Fri, 26 Aug 2016 10:38:33 +0000 (12:38 +0200)]
copy_block: Change type of array stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Fri, 26 Aug 2016 10:44:16 +0000 (12:44 +0200)]
svq1dec: Change type of array pitch parameters to ptrdiff_t
ptrdiff_t is the correct type for array pitches and similar.