1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

43913 Commits

Author SHA1 Message Date
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
Luca Barbato
9bd6ea5695 pixfmt: Add yuv444p12 pixel format 2016-09-27 18:48:30 +02:00
Luca Barbato
0aebbbd024 pixfmt: Add yuv422p12 pixel format 2016-09-27 18:48:30 +02:00
Luca Barbato
85406e7a8d pixfmt: Add yuv420p12 pixel format 2016-09-27 18:48:30 +02:00
Luca Barbato
2b5b1e1e9b swscale: Rename is9_OR_10 to match what it does
It is used to select functions that work with 9-15bits.
2016-09-27 18:48:30 +02:00
Luca Barbato
e87a501e7d swscale: Update bitdepth range check
Make sure the scaling functions for the 9-15bits are used for
9-15bits bit depths correctly.
2016-09-27 17:17:54 +02:00
Vittorio Giovara
de8e096c7e 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>
2016-09-27 08:33:09 +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
Anton Khirnov
e9ef617139 checkasm: add tests for audiodsp 2016-09-22 09:47:52 +02:00
Anton Khirnov
2eb97af66a checkasm: add a test for blockdsp 2016-09-22 09:47:52 +02:00
Anton Khirnov
eea9857bfd 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.
2016-09-22 09:47:52 +02:00
Yogender Kumar Gupta
340f12f712 hwcontext_cuda: Add P010 and YUV444P16 pixel format
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-09-22 09:47:48 +02:00
Anton Khirnov
75d98e30af 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
2016-09-19 19:18:07 +02:00
Anton Khirnov
1d6c76e11f 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
2016-09-19 19:18:07 +02:00
Alexandra Hájková
07e1f99a1b x86util: Document SBUTTERFLY macro
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-09-19 10:02:43 +02:00
Yogender Gupta
de64dd13cb 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>
2016-09-19 10:02:43 +02:00
Michael Niedermayer
136f552075 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>
2016-09-16 16:28:07 +02:00
Janne Grunau
15fcf6292e build: remove hardcoded name of version header
Fixes an oversight in 1316df7aa9.

CC: libav-stable@libav.org
2016-09-15 21:59:15 +02:00
Diego Biurrun
8c201dde0a build: doc: more fine-grained dependencies for generated texi files 2016-09-15 21:37:16 +02:00
Josh de Kock
bc7399934d libdc1394: Distinguish between enumeration errors and no cameras found
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-09-15 17:22:38 +02:00
Martin Storsjö
df37950253 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>
2016-09-15 16:07:45 +03:00
Mark Thompson
bdf7610eb2 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.
2016-09-14 20:48:36 +01:00
Mark Thompson
3a9662af6c 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.
2016-09-14 20:48:36 +01:00
Mark Thompson
7081620aca hwcontext_vdpau: Fix missing subscripts
Also remove the redundant casts which were hiding the error here.
2016-09-14 20:48:36 +01:00
Mark Thompson
09a145b3c8 hwcontext_vdpau: Remove duplicate definition of GET_CALLBACK 2016-09-14 20:48:36 +01:00
Diego Biurrun
de452e5037 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.
2016-09-14 14:12:36 +02:00
Diego Biurrun
ab3554e1a7 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.
2016-09-13 10:37:01 +02:00
Diego Biurrun
468bfe38c6 ppc: mpegvideo: Add proper runtime AltiVec detection 2016-09-11 23:30:40 +02:00
Diego Biurrun
6ce93757ee ppc: Update #endif comments 2016-09-11 19:19:41 +02:00
Luca Barbato
caccb3a0cd audiodsp: ppc: Add VSX variant
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-09-11 19:19:41 +02:00
Luca Barbato
e89cef4050 checkasm: Read the unsigned value as it should
Reading a value larger than int using atoi() may give the wrong result.
2016-09-11 14:12:18 +02:00
Mark Thompson
75d642a944 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.
2016-09-09 18:56:18 +01:00
Mark Thompson
11c191b52c 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.
2016-09-08 21:58:22 +01:00
Mark Thompson
a9fb134730 lavc/vaapi: Add VP8 decode hwaccel 2016-09-08 21:58:22 +01:00