1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Commit Graph

89389 Commits

Author SHA1 Message Date
Mark Thompson
8bbf2dacbf hwcontext_d3d11: Log adapter details on device creation
This is helpful to know what device has actually been used.
2017-11-25 15:44:31 +00:00
James Almer
4af050c46e configure: remove superfluous cuvid and nvdec checks
Both are autodetected, and their dependency on cuda is checked
elsewhere.

Fixes ticket #6849.

Reviewed-by: Philip Langdale <philipl@overt.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-25 12:43:09 -03:00
Mark Thompson
8921689575 doc/APIchanges: Fix lavu versions for OpenCL changes
Also fix a typo and fill hashes and dates.
2017-11-25 15:13:15 +00:00
Mark Thompson
e1d1924427 lavu/pixfmt: Remove gap in the middle of enum AVPixelFormat
This was added for compatibility with libav, by leaving a space for
formats added in libav to be merged.  Since that feature has been
removed, we don't need a gap here.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-25 14:42:10 +00:00
Mark Thompson
b26dd5ae2f Merge commit '136e7cf64ce9e78de7158d6720539d51cb96b743'
* commit '136e7cf64ce9e78de7158d6720539d51cb96b743':
  qsv/hevcdec: Load hw plugin by default on non-windows os

Merged-by: Mark Thompson <sw@jkqxz.net>
2017-11-25 14:38:03 +00:00
Richard Ling
7d4fe0c5cb avfilter: add normalize filter 2017-11-25 09:51:33 +01:00
Mikulas Patocka
279d2599dd ffmpeg libopusdec: fix missing include file in libopusdec.c
This patch fixes the following error when compiling mplayer with libopus.

libavcodec/libopusdec.c: In function 'libopus_decode_init':
libavcodec/libopusdec.c:130:27: error: implicit declaration of function 'ff_exp10'; did you mean 'ff_exp2fi'? [-Werror=implicit-function-declaration]
         double gain_lin = ff_exp10(gain_db / (20.0 * 256));
                           ^~~~~~~~
                           ff_exp2fi

Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-25 02:32:54 +01:00
John Stebbins
bdddcb7b03 lavf/mov: fix crash in mov_read_sidx
Use correct index into streams

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-25 02:32:33 +01:00
Karthick J
a1f8f1340a avformat/dashenc: Associate mpd extension with dash muxer
Reviewed-by: 刘歧 <lq@chinaffmpeg.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-25 02:32:33 +01:00
Michael Niedermayer
12a511f2c2 avcodec/sbrdsp_fixed: Fix integer overflow
Fixes: signed integer overflow: 2147483598 + 64 cannot be represented in type 'int'
Fixes: 4337/clusterfuzz-testcase-minimized-6192658616680448

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-25 02:32:33 +01:00
James Almer
31de45d20b avformat/utils: fix mixed declarations and code
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-24 17:46:16 -03:00
Philip Langdale
4186a77f26 avcodec/nvdec: Round up odd width/height values
nvdec will not produce odd width/height output, and while this is
basically never an issue with most codecs, due to internal alignment
requirements, you can get odd sized jpegs.

If an odd-sized jpeg is encountered, nvdec will actually round down
internally and produce output that is slightly smaller. This isn't
the end of the world, as long as you know the output size doesn't
match the original image resolution.

However, with an hwaccel, we don't know. The decoder controls
the reported output size and the hwaccel cannot change it. I was
able to trigger an error in mpv where it tries to copy the output
surface as part of rendering and triggers a cuda error because
cuda knows the output frame is smaller than expected.

To fix this, we can round up the configured width/height passed
to nvdec so that the frames are always at least as large as the
decoder's reported size, and data can be copied out safely.

In this particular jpeg case, you end up with a blank (green) line
at the bottom due to nvdec refusing to decode the last line, but
the behaviour matches cuviddec, so it's as good as you're going to
get.
2017-11-24 12:19:31 -08:00
Li, Zhong
b843b343d8 qsvenc: cavlc option is only available for h264
Moving option definition to h264 implementation and fixing command line defaults
in order to properly respect cavlc input value

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-11-24 19:38:52 +01:00
James Almer
fa4121507c avformat/ttaenc: add tta_init()
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-24 15:05:35 -03:00
James Almer
e97667c82f avformat/ttaenc: buffer packets directly
This is a bit more robust in case of OOM.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-24 15:05:35 -03:00
Dale Curtis
9648cc6d7f avcodec/vorbis: 1 << 31 > int32_t::max(), so use 1u << 31 instead.
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-24 19:03:03 +01:00
Dale Curtis
03fbc0daa7 avformat/utils: Prevent undefined shift with wrap_bits > 64.
2LL << (wrap_bits=64 - 1) does not fit in int64_t; change the
code to use a uint64_t (2ULL) and add an av_assert2() to
ensure wrap_bits <= 64.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-24 19:03:03 +01:00
Paul B Mahol
63826a0b82 avfilter/af_amix: make use of av_asprintf()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-24 17:09:48 +01:00
Paul B Mahol
ec5328aa6f avfilter: add mix filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-24 16:51:33 +01:00
Paul B Mahol
59365e6345 avfilter/af_ladspa: remove duplicate code lines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-24 13:36:26 +01:00
Michael Niedermayer
7c191dfba7 avcodec/j2kenc: Only allocate cblk.data once
Fixes: memleak
Found-by: <jamrial>

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-24 04:04:39 +01:00
Karthick J
efb51c8ebb avformat/hlsenc: Added option to add EXT-X-INDEPENDENT-SEGMENTS tag 2017-11-24 06:57:36 +08:00
Karthick J
241c1192d6 avformat/hlsenc: Refactor an inconsistent variable name 2017-11-24 06:42:35 +08:00
Karthick J
f335efc0ad avformat/hlsenc: Minor fix in setting http options for master playlist 2017-11-24 06:41:25 +08:00
James Almer
ef8979f199 avfilter/Makefile: skip building opencl.h when opencl is disabled
Fixes make checkheaders.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-23 19:11:17 -03:00
Lou Logan
a60b2425c3 doc/filters: mention (a)loop defaults
Signed-off-by: Lou Logan <lou@lrcd.com>
2017-11-23 11:54:26 -09:00
Werner Robitza
5f278620b8 doc/filters.texi: explain infinite looping
Explain how to achieve infinite looping with the loop / aloop filters.

Signed-off-by: Werner Robitza <werner.robitza@gmail.com>
2017-11-23 11:44:34 -09:00
Martin Vignali
515555af6c avcodec/x86/exrdsp : use ymm constant for pb_80
speed seems to be similar, but simplify code
2017-11-23 20:00:13 +01:00
Derek Buitenhuis
cce33ed10f Revert "udp: fix compilation when HAVE_PTHREAD_CANCEL isnt defined"
This was an mplayer-specific hack.

This reverts commit a4f94f24b4.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-11-23 14:20:32 +00:00
Li, Zhong
136e7cf64c qsv/hevcdec: Load hw plugin by default on non-windows os
Software plugin is not available on Linux, Only works on Windows.
Similar changes have been applied to qsv hevc encoder by
b05128f3c9.

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-11-23 12:59:02 +01:00
Carl Eugen Hoyos
8b62647a5f lavf/mov: Read aspect ratio from AVID jpeg2000 mov files. 2017-11-23 02:57:24 +01:00
Rostislav Pehlivanov
6e0723470b opus_pvq: fix crashing on analysis of mono
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-23 01:00:08 +00:00
Mark Thompson
79a26ef802 tools/cl2c: Add a copyright header 2017-11-22 23:55:23 +00:00
Mark Thompson
3650cb2dfa lavu,lavfi,ffmpeg: Remove experimental OpenCL API
This was added in early 2013 and abandoned several months later; as far as
I can tell, there are no external users.  Future OpenCL use will be via
hwcontext, which requires neither special OpenCL-only API nor global state
in libavutil.

All internal users are also deleted - this is just the unsharp filter
(replaced by unsharp_opencl, which is more flexible) and the deshake filter
(no replacement).
2017-11-22 23:20:39 +00:00
Mark Thompson
0f93cef2d6 hwcontext: Perform usual uninitialisation on derived frames contexts 2017-11-22 23:20:32 +00:00
Mark Thompson
5514bab37a vf_hwmap: Pass mapping mode when deriving frames context on an existing device
To match creation on a newly-derived device.  (This was missed earlier
because the mode is only used in some cases.)
2017-11-22 23:18:42 +00:00
Mark Thompson
7faa8d8b03 lavfi: Add OpenCL unsharp mask filter
Intended to replace existing opencl mode of the unsharp filter.
Supports many more pixel formats and works without immediate upload
and download of frame data.  The options are compatible with the
existing filter.
2017-11-22 23:18:35 +00:00
Mark Thompson
9204b2deea lavfi: Add OpenCL overlay filter
Input and output formats must be the same, the overlay format must be
the same as the input except possibly with an additional alpha component.
2017-11-22 23:18:02 +00:00
Mark Thompson
59d6529333 lavfi: Add infrastructure for building OpenCL source into libavfilter 2017-11-22 23:17:34 +00:00
Mark Thompson
5c21c41b7d lavfi: Add some common code for OpenCL filtering 2017-11-22 23:15:48 +00:00
Mark Thompson
7faae6e745 hwcontext_opencl: DRM to OpenCL mapping for ARM
Using cl_arm_import_memory.  Unfortunately, despite this not being a
standard extension, the function clImportMemoryARM() is not accessible
via clGetExtensionFunctionAddressForPlatform().  This means that it has
to be linked directly to the ARM OpenCL binary, so making a portable
binary is not possible as it is with all other mapping extensions.
2017-11-22 23:02:33 +00:00
Mark Thompson
f06754e4f3 hwcontext_opencl: D3D11 to OpenCL mapping
Using cl_khr_d3d11_sharing and cl_intel_d3d11_nv12_media_sharing.
2017-11-22 23:02:33 +00:00
Mark Thompson
9e7cda1b1e hwcontext_opencl: DXVA2 to OpenCL mapping
Using cl_khr_dx9_media_sharing.
2017-11-22 23:02:33 +00:00
Mark Thompson
403cde8e85 hwcontext_opencl: QSV to OpenCL mapping for Intel Media SDK
Uses the cl_intel_va_api_media_sharing extension, which supports only
NV12 surfaces and only mapping from QSV to OpenCL.
2017-11-22 23:02:33 +00:00
Mark Thompson
eb3e9f469a hwcontext_opencl: VAAPI to OpenCL mapping for Intel i965+beignet
Supports all surface formats in common between the two.
2017-11-22 23:02:33 +00:00
Mark Thompson
b25d8ef0a7 lavu: OpenCL hwcontext implementation 2017-11-22 23:02:29 +00:00
Mark Thompson
a050f56c09 lavu: Add OpenCL hardware pixfmt 2017-11-22 23:01:29 +00:00
Jim DeLaHunt
152902f379 doc: Add FAQs about running in background (rev 2)
Add two FAQs about running FFmpeg in the background.
The first explains the use of the -nostdin option in
a straightforward way. Text revised based on review.

The second FAQ starts from a confusing error message,
and leads to the solution, use of the -nostdin option.
The purpose of the second FAQ is to attract web searches
from people having the problem, and offer them a solution.

Add an anchor to the Main Options section of the ffmpeg
documentation, so that the FAQs can link directly there.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-22 18:13:49 +01:00
Dale Curtis
6db511a783 avformat/mov: Increment stsd_count while processing stsd data; avoids leaks.
In the event of ff_mov_read_stsd_entries() failure, sc->stsd_count
is not updated, even if the function allocates extradata memory.
Instead update the sc->stsd_count as entries are parsed so that
mov_read_close() can do the right thing.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-22 13:06:50 +01:00
Michael Niedermayer
3d5822d9cf avcodec/jpeg2000: Dynamically allocate codeblock data
Fixes: OOM
Fixes: 3541/clusterfuzz-testcase-minimized-6469958596820992

Adds support for decoding codeblock data larger than 8kb
Reduces decoder memory consumption

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-22 13:06:50 +01:00