1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
Commit Graph

84810 Commits

Author SHA1 Message Date
Michael Niedermayer
3182e19c1c avcodec/tiff: Check geotag count for being non zero
Fixes memleak
Fixes: 874/clusterfuzz-testcase-5252796175613952

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-23 15:25:48 +01:00
Jan Berkel
aff80aa4ec hls: consistent use of user_agent
This came up while debugging a problem with mpv:
https://github.com/mpv-player/mpv/issues/4155

Signed-off-by: wm4 <nfxjfg@googlemail.com>
2017-03-23 12:51:21 +01:00
Clément Bœsch
50bbb67472 Merge commit 'e3f941cb03b139b866a0ad6dc95fbe1b247d54af'
* commit 'e3f941cb03b139b866a0ad6dc95fbe1b247d54af':
  checkasm: add a test for HEVC IDCT

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 12:17:39 +01:00
Clément Bœsch
739d8c83f2 Merge commit '9b2ccafb480c94fd09cfb24306d5296dc013cf5b'
* commit '9b2ccafb480c94fd09cfb24306d5296dc013cf5b':
  aarch64: Add missing sign extension in ff_h264_idct8_add_neon

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 12:15:39 +01:00
Clément Bœsch
1b2a7f42c0 Merge commit 'cbd84b8a51aa656d71b7d6ed44bd89041ff081a8'
* commit 'cbd84b8a51aa656d71b7d6ed44bd89041ff081a8':
  nvenc: Fix error log

This commit is a noop, the error message is correct in FFmpeg.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 12:11:26 +01:00
Clément Bœsch
464790f109 Merge commit 'da2848375a2e2121dad9f1e8cbd0ead4e3bf77d6'
* commit 'da2848375a2e2121dad9f1e8cbd0ead4e3bf77d6':
  nvenc: Force high_444 profile for 444 input

This commit is a noop, see 20abda6b62

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 12:08:22 +01:00
Clément Bœsch
733b13ad66 Merge commit 'e4128c08d786eb5513578e8c6063671ba03226ab'
* commit 'e4128c08d786eb5513578e8c6063671ba03226ab':
  Revert "hevc: x86: Refactor IDCT macro declarations"

So apparently this was technically correct be reverted due to
authorship. Reverted as well in FFmpeg for now...

See http://lists.libav.org/pipermail/libav-devel/2016-October/079560.html

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 12:03:25 +01:00
Clément Bœsch
4bb4fa28e3 Merge commit '5801f9ed245ca5ebb57b0b5183de7a24aaece133'
* commit '5801f9ed245ca5ebb57b0b5183de7a24aaece133':
  h264_intrapred: x86: Update comments left behind in 95c89da36e

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:58:01 +01:00
Clément Bœsch
fb477193cd Merge commit '20abcaa273a6e77d0a2e1a98c643c73562c6f8f2'
* commit '20abcaa273a6e77d0a2e1a98c643c73562c6f8f2':
  configure: #include stdint.h as part of libxavs test

This commit is a noop, see 20c4fb2e01

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:56:55 +01:00
Clément Bœsch
9954d5b44e Merge commit 'd9dccc03890a976dba59d66ed3b5aceeaa33d14c'
* commit 'd9dccc03890a976dba59d66ed3b5aceeaa33d14c':
  hevc: x86: Refactor IDCT macro declarations

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:54:53 +01:00
Clément Bœsch
3e40c9560a Merge commit 'be630b1e08ebe8f766b1798accd6b8e5e096f5aa'
* commit 'be630b1e08ebe8f766b1798accd6b8e5e096f5aa':
  d3d11va: Use the proper decoding slice index

This commit is a noop, see 9b462a0b9d

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:47:13 +01:00
Clément Bœsch
9a23b149c7 Merge commit '715f139c9bd407ef7f4d1f564ad683140ec61e6d'
* commit '715f139c9bd407ef7f4d1f564ad683140ec61e6d': (23 commits)
  vp9lpf/x86: make filter_16_h work on 32-bit.
  vp9lpf/x86: make filter_48/84/88_h work on 32-bit.
  vp9lpf/x86: make filter_44_h work on 32-bit.
  vp9lpf/x86: make filter_16_v work on 32-bit.
  vp9lpf/x86: make filter_48/84_v work on 32-bit.
  vp9lpf/x86: make filter_88_v work on 32-bit.
  vp9lpf/x86: make filter_44_v work on 32-bit.
  vp9lpf/x86: save one register in SIGN_ADD/SUB.
  vp9lpf/x86: store unpacked intermediates for filter6/14 on stack.
  vp9lpf/x86: move variable assigned inside macro branch.
  vp9lpf/x86: simplify ABSSUM_CMP by inverting the comparison meaning.
  vp9lpf/x86: remove unused register from ABSSUB_CMP macro.
  vp9lpf/x86: slightly simplify 44/48/84/88 h stores.
  vp9lpf/x86: make cglobal statement more conservative in register allocation.
  vp9lpf/x86: save one register in loopfilter surface coverage.
  vp9lpf/x86: add ff_vp9_loop_filter_[vh]_44_16_{sse2,ssse3,avx}.
  vp9lpf/x86: add ff_vp9_loop_filter_h_{48,84}_16_{sse2,ssse3,avx}().
  vp9lpf/x86: add an SSE2 version of vp9_loop_filter_[vh]_88_16
  vp9lpf/x86: add ff_vp9_loop_filter_[vh]_88_16_{ssse3,avx}.
  vp9lpf/x86: add ff_vp9_loop_filter_[vh]_16_16_sse2().
  ...

All these commits are cherry-picks from FFmpeg. Maybe some slight
differences sneaked in but the Libav codebase still differs too much
with our own to make a proper diff. This merge is a noop.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:43:48 +01:00
Clément Bœsch
dffa4ec1ed Merge commit 'dc3fe45fca9c10c4af6bfcf48eb7b81968892ef9'
* commit 'dc3fe45fca9c10c4af6bfcf48eb7b81968892ef9':
  fate: Add test for rscc palette

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:40:09 +01:00
Clément Bœsch
5f044d2372 Merge commit 'c19830aa2c19f9713b612f7e2fdb437df91ba266'
* commit 'c19830aa2c19f9713b612f7e2fdb437df91ba266':
  rscc: Support palette format

See 11777eb814

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:33:27 +01:00
Clément Bœsch
7b3a3e6276 Merge commit 'b8d5070db6313f985562865edcfd08a01c2d7503'
* commit 'b8d5070db6313f985562865edcfd08a01c2d7503':
  avcodec: Document AV_PKT_DATA_PALETTE side data type

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:27:41 +01:00
Clément Bœsch
76e21e83ac Merge commit '497c087939e32b26b792515d2dbc7e22561203f7'
* commit '497c087939e32b26b792515d2dbc7e22561203f7':
  avidec: Set palette alpha as fully opaque

This commit is a noop, see 64cafe340b

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:27:12 +01:00
Clément Bœsch
554cc43ac6 Merge commit 'bad4aad4037f59ba0ad656164be9ab8f7a0fa2d4'
* commit 'bad4aad4037f59ba0ad656164be9ab8f7a0fa2d4':
  avidec: Do not special case palette on big-endian

This commit is a noop, see 64cafe340b

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:26:32 +01:00
Clément Bœsch
a1f6b1d9d8 Merge commit '310c55f1799deab395319471a75c528d0fa7b30d'
* commit '310c55f1799deab395319471a75c528d0fa7b30d':
  pixfmt: Document alternative names for smpte 431 and 432

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:22:32 +01:00
Clément Bœsch
1a5631dc71 Merge commit '5a5df90d9c05d86d9b0564b8b40b6d64a324df5e'
* commit '5a5df90d9c05d86d9b0564b8b40b6d64a324df5e':
  vaapi_h265: Add main 10 encode support

This commit is a noop, see b9514756ba

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:20:34 +01:00
Clément Bœsch
c4f613fe51 Merge commit 'eaaaabf6c93321cdb78bf61dc383cf515ec12e07'
* commit 'eaaaabf6c93321cdb78bf61dc383cf515ec12e07':
  hwcontext_vaapi: Enable P010 support

This commit is a noop, see 7e0623b70b

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:19:25 +01:00
Clément Bœsch
553d8a9ecf Merge commit 'b8cac1e83066aa87e8402c146c81b77a11b5eec3'
* commit 'b8cac1e83066aa87e8402c146c81b77a11b5eec3':
  vaapi_h265: Fix buffering parameters
  vaapi_h265: Fix slice header writing
  vaapi_h264: Write bitstream restriction fields
  vaapi_h264: Fix CFR mode with frame_rate set in AVCodecContext
  vaapi_encode: Decide on GOP setup before initialising sequence parameters

This merge is a noop, see:
  30ebabca7c vaapi_h265: Fix buffering parameters
  ae0230cc3e vaapi_h265: Fix slice header writing
  6796e6ea84 vaapi_h264: Write bitstream restriction fields
  658c5afaa0 vaapi_h264: Fix CFR mode with frame_rate set in AVCodecContext
  ded1859df1 vaapi_encode: Decide on GOP setup before initialising sequence parameters

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:16:11 +01:00
Clément Bœsch
d521258b19 Merge commit '5cc0057f4910c8c72421b812c8f337ef6c43696c'
* commit '5cc0057f4910c8c72421b812c8f337ef6c43696c':
  lavu: remove the custom atomic API

This commit is a noop. The removal is postponed until all usages in
FFmpeg are dropped as well. A patchset is on discussion on the
mailing-list:
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-March/209003.html

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-23 11:14:13 +01:00
wm4
7e4ba776a2 lavc: vdpau: Add support for new hw_frames_ctx and hw_device_ctx API
This supports retrieving the device from a provided hw_frames_ctx, and
automatically creating a hw_frames_ctx if hw_device_ctx is set.

The old API is not deprecated yet. The user can still use
av_vdpau_bind_context() (with or without setting hw_frames_ctx), or use
the API before that by allocating and setting hwaccel_context manually.

Cherry-picked from Libav commit 1a7ddba5.
(Adds missing APIchanges entry to the Libav version.)

Reviewed-by: Mark Thompson <sw@jkqxz.net>
2017-03-23 09:36:42 +01:00
wm4
156bd8278f lavc: Add hwaccel_flags field to AVCodecContext
This "reuses" the flags introduced for the av_vdpau_bind_context() API
function, and makes them available to all hwaccels. This does not affect
the current vdpau API, as av_vdpau_bind_context() should obviously
override the AVCodecContext.hwaccel_flags flags for the sake of
compatibility.

Cherry-picked from Libav commit 16a163b5.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
2017-03-23 09:34:21 +01:00
James Almer
30cadfe071 avcodec/lossless_videodsp: use ptrdiff_t for length parameters
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-22 18:38:35 -03:00
Mark Thompson
9560766a61 vaapi_vp9: Mark as async-safe 2017-03-22 19:07:32 +00:00
Mark Thompson
14c1101518 vaapi_hevc: Mark as async-safe 2017-03-22 19:07:32 +00:00
Mark Thompson
81b7deab82 vaapi: Implement device-only setup
In this case, the user only supplies a device and the frame context
is allocated internally by lavc.

(cherry picked from commit 5dd9a4b88b)
2017-03-22 19:07:32 +00:00
Diego Biurrun
6ff3da4f6a Place attribute_deprecated in the right position for struct declarations
libavcodec/vaapi.h:58:1: warning: attribute 'deprecated' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes]

(cherry picked from commit ed6a891c36)
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-03-22 19:07:32 +00:00
Clément Bœsch
e28bd75f7c lavc/hevc: use atomics for wpp_err 2017-03-22 18:38:27 +01:00
Rostislav Pehlivanov
38d7cc22f7 mdct15: fix left shift of a negative value
Should fix Chromium issue 704064.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-03-22 17:21:34 +00:00
Clément Bœsch
cf1c8a379e lavc/bitstream_filter: remove unused atomic.h include 2017-03-22 18:17:44 +01:00
Clément Bœsch
cb763a9ba8 lavc/bitstream: remove unused atomic.h include 2017-03-22 18:16:58 +01:00
Clément Bœsch
9ce031c37f Merge commit '59c70227405c214b29971e6272f3a3ff6fcce3d0'
* commit '59c70227405c214b29971e6272f3a3ff6fcce3d0':
  pthread_frame: use atomics for frame progress

This commit is a noop, see b6587421c7

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 18:13:47 +01:00
Clément Bœsch
5aee649919 Merge commit '64a31b2854c589e4f27cd68ebe3bcceb915704e5'
* commit '64a31b2854c589e4f27cd68ebe3bcceb915704e5':
  pthread_frame: use atomics for PerThreadContext.state

This commit is a noop, see 7492626932

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 18:12:21 +01:00
Clément Bœsch
e6c868befa Merge commit 'db2733256db323e4b88a34b135320f33274148e2'
* commit 'db2733256db323e4b88a34b135320f33274148e2':
  pthread_frame: use a thread-safe way for signalling threads to die

This commit is a noop, see 4845f0720e

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 18:09:54 +01:00
Clément Bœsch
82d6179a88 Merge commit '8385ba53f115401a67a4748c0d107769ebfb2941'
* commit '8385ba53f115401a67a4748c0d107769ebfb2941':
  mmaldec: convert to stdatomic

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 18:01:51 +01:00
Clément Bœsch
b7336faa39 Merge commit '3a165c187da7d74f46f6c1778294e8c5a3a7151f'
* commit '3a165c187da7d74f46f6c1778294e8c5a3a7151f':
  v4l2: convert to stdatomic

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 17:55:18 +01:00
Clément Bœsch
443e969293 Merge commit '27079a426c9d3db918b158976e44b9b143d78e1c'
* commit '27079a426c9d3db918b158976e44b9b143d78e1c':
  buffer: convert to stdatomic

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 17:46:01 +01:00
Clément Bœsch
67d8eabdbb lavu/buffer: drop USE_ATOMICS
USE_ATOMICS is only set if there is no thread implementation enabled, in
which case you can't expect any lock mechanism from FFmpeg.

This is also conflicting with the incoming use of stdatomic.
2017-03-22 17:40:03 +01:00
Clément Bœsch
f015711ed1 Merge commit 'eb34d40354e2474517c9b9bd787e0dadc89c2a81'
* commit 'eb34d40354e2474517c9b9bd787e0dadc89c2a81':
  Add a compat dummy stdatomic.h used when threading is disabled
  Add a compat stdatomic.h implementation based on pthreads
  Add a compat stdatomic.h implementation based on suncc atomics
  Add a compat stdatomic.h implementation based on windows atomics
  Add a compat stdatomic.h implementation based on GCC atomics

This merge is a noop, see:
  41e891e89e Add a compat dummy stdatomic.h used when threading is disabled
  74b5f10862 Add a compat stdatomic.h implementation based on pthreads
  70faadc826 Add a compat stdatomic.h implementation based on suncc atomics
  c91e72ed52 Add a compat stdatomic.h implementation based on windows atomics
  3359eede8f Add a compat stdatomic.h implementation based on GCC atomics

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 16:42:53 +01:00
Clément Bœsch
2d6f7e6c74 Merge commit '13f5d2bf75b95a0bfdb9940a5e359a719e242bed'
* commit '13f5d2bf75b95a0bfdb9940a5e359a719e242bed':
  configure: check for stdatomic.h

This commit is a noop, see 6a4e24280d

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 16:41:29 +01:00
Clément Bœsch
34389e8472 Merge commit 'b015872c0d0823e70776e98b865509ec1287e2f6'
* commit 'b015872c0d0823e70776e98b865509ec1287e2f6':
  huffyuvdsp: Enable the altivec code for PPC little-endian as well

This commit is a noop, see 902ce2a6c4 and
libavcodec/ppc/lossless_videodsp_altivec.c

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 16:37:37 +01:00
Clément Bœsch
7a11e6b2fd Merge commit '1d25a86902946dbc80bb3a38e61755181ca3af7b'
* commit '1d25a86902946dbc80bb3a38e61755181ca3af7b':
  huffyuvdsp: Reenable PPC optimizations

This commit is a noop, see 6596b34954

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 16:35:13 +01:00
Clément Bœsch
7c2a7f9c11 Merge commit '22c3ab18646924ce24dc6017a9e882ff69689e40'
* commit '22c3ab18646924ce24dc6017a9e882ff69689e40':
  checkasm: Add test for huffyuvdsp add_bytes

huffyuvdsp is renamed to llviddsp to be consistent with our codebase.

Note: af607b7e07 wasn't actually required for this test since this
commit is not actually testing huffyuvdsp.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 16:31:38 +01:00
Clément Bœsch
af607b7e07 lavc/huffyuvdsp: only transmit the pix_fmt instead of the whole avctx
Only the pixel format is required in that init function. This will also
simplify the incoming merge.
2017-03-22 16:22:20 +01:00
Clément Bœsch
c7904af057 lavc/huffyuvdsp: remove unused ppc init prototype 2017-03-22 16:15:42 +01:00
Clément Bœsch
928db51344 Merge commit '27085d1b47c3741cc0fac284c916127c4066d049'
* commit '27085d1b47c3741cc0fac284c916127c4066d049':
  avconv: only retry decoding on actual decoding errors

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 16:05:06 +01:00
Clément Bœsch
204b4a7ee2 Merge commit 'f6772e9bf8251d3943f52f6f34d97d2ce6c4b8af'
* commit 'f6772e9bf8251d3943f52f6f34d97d2ce6c4b8af':
  avconv: make sure the filtergraph is freed on init failure

This commit is a noop, see 16abc10b09

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 15:53:38 +01:00
Clément Bœsch
97c17cafab Merge commit 'd10102d23c9467d4eb84f58e0cd12be284b982f6'
* commit 'd10102d23c9467d4eb84f58e0cd12be284b982f6':
  avconv: set the encoding framerate when the output is CFR

This commit is a noop, see 8db301dead

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 15:50:37 +01:00