Commit graph

39575 commits

Author SHA1 Message Date
wm4
c31ce95f1c videotoolbox: add frame_params support
Allows decoding with API users which require this API.

Reviewed-by: Aman Gupta <ffmpeg@tmm1.net>
2017-11-12 15:49:20 -03:00
James Almer
a7e7abf849 avcodec/mpeg2_metadata_bsf: fix the AVClass version number
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-12 12:49:37 -03:00
James Almer
9549f22bf8 avcodec/h265_metadata_bsf: fix the AVClass version number
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-12 12:49:37 -03:00
James Almer
9a6e4c88d6 avcodec/h264_metadata_bsf: fix the AVClass version number
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-12 12:49:37 -03:00
Timo Rothenpieler
3f6294a53d avcodec/nvdec: add support for 12 bit formats 2017-11-12 15:46:39 +01:00
Timo Rothenpieler
c60bc02bf4 avcodec/nvdec: check hardware capabilities 2017-11-12 15:46:39 +01:00
Timo Rothenpieler
3e0e163458 avcodec/nvdec: don't add thread buffer twice
This is already added to the initial pool size in ff_decode_get_hw_frames_ctx,
so adding it here again increases the amount of surfaces needlessly.
2017-11-12 15:46:39 +01:00
James Almer
6c0509ae86 Merge commit '5c22c90c1d'
* commit '5c22c90c1d':
  vp9_superframe_bsf: cache packets by creating new references instead of moving pointers

See 37f4a093f7
7a02b364b6

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 01:14:52 -03:00
James Almer
d2ad6f1192 Merge commit '0ccddbad20'
* commit '0ccddbad20':
  smacker: limit recursion depth of smacker_decode_bigtree

See 946ecd19ea

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 01:13:07 -03:00
James Almer
b3e5899e47 Merge commit 'cd4663dc80'
* commit 'cd4663dc80':
  smacker: add sanity check for length in smacker_decode_tree()

See b829da3639

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 01:12:44 -03:00
James Almer
a629bc99fd Merge commit '1746c7c8f2'
* commit '1746c7c8f2':
  libspeexenc: Use speex_lib_get_mode instead of the speex_foo_mode data symbols

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 00:44:26 -03:00
Carl Eugen Hoyos
b998a56b0a lavc/jpeg2000dec: Fix used variables reading palette.
Affected files with palette and colour-depth < 8.
2017-11-12 04:29:06 +01:00
James Almer
68e479e3ad Merge commit 'b487add7ec'
* commit 'b487add7ec':
  arm: Remove a redundant check in fmtconvert_init_arm.c

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 23:30:31 -03:00
James Almer
91df92e442 avcodec/Makefile: build libxvid_rc.o only if libxvid_encoder is enabled
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-11 22:25:12 -03:00
wm4
7546964f96 nvdec: add frames_params support 2017-11-11 20:33:45 -03:00
James Almer
48e4eda11d Merge commit 'b46a77f19d'
* commit 'b46a77f19d':
  lavc: external hardware frame pool initialization

Includes the fix from e724bdfffb

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 20:33:26 -03:00
James Almer
fb94e7b39a Revert "Merge commit '8e97a8c691'"
This reverts commit 1a4315f24d, reversing
changes made to 869401cefc.

At least one distro (Arch) ships gsm.h inside the gsm/ folder
2017-11-11 18:04:22 -03:00
James Almer
0525722ca0 Merge commit '732510636e'
* commit '732510636e':
  aarch64: Remove a dot from a label

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 17:47:10 -03:00
James Almer
643e336936 Merge commit '077011b5af'
* commit '077011b5af':
  qsv: Expose idr_interval for hevc as well

Also includes 98afe3fb71.

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 17:27:30 -03:00
James Almer
1a4315f24d Merge commit '8e97a8c691'
* commit '8e97a8c691':
  build: Remove check for gsm/gsm.h for libgsm

Also includes fix from 010baac12a

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:13:23 -03:00
James Almer
c584368817 Merge commit '09c98327b9'
* commit '09c98327b9':
  build: Drop support for Tru64 Unix (OSF/1)

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 15:56:27 -03:00
James Almer
1a24d4f020 Merge commit 'ea25ccd1b2'
* commit 'ea25ccd1b2':
  qsv: Join the derived session to the parent

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 15:24:08 -03:00
James Almer
f1fdd17d39 Merge commit 'f940c859c2'
* commit 'f940c859c2':
  Revert "vaapi_h265: Reduce the amount of padding in the stream"

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 14:07:09 -03:00
James Almer
d59efe4ca6 Merge commit 'b05128f3c9'
* commit 'b05128f3c9':
  qsv: Load the hw hevc plugin by default on Linux

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 13:58:32 -03:00
James Almer
640073eceb Merge commit '9dde6ab06c'
* commit '9dde6ab06c':
  arm: Fix SIGBUS on ARM when compiled with binutils 2.29

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 13:44:07 -03:00
James Almer
98a9b1f0de Merge commit 'accb06120c'
* commit 'accb06120c':
  configure: Use dllexport/dllimport for data symbols across DLLs with mingw

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 13:15:42 -03:00
James Almer
87865bf6c7 Merge commit 'abf1c058d1'
* commit 'abf1c058d1':
  msvc: Properly specify dllexport for data symbols shared across dll boundaries

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 11:29:16 -03:00
Timo Rothenpieler
7e76e1ea80 wmavoice: free frame before ff_get_buffer
synth_superframe can be called twice per call to decode_packet.
It is not fully clear if calling ff_get_buffer on the same frame twice
is supported, so unref the frame first to be save.
2017-11-11 14:19:05 +01:00
Timo Rothenpieler
8dd73f68a6 avcodec/decode: always free private_ref
There is no reason to keep this intact when decoding failed, specially
as private_ref is supposed to always be NULL when a frame is returned to
the user.
2017-11-11 14:19:05 +01:00
Aleksandr Slobodeniuk
85af60df89 avcodec: fix wrong duration of packets (dvd, bluray)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-11 14:15:15 +01:00
James Almer
bdbf14abba Merge commit '9f5b77c16f'
* commit '9f5b77c16f':
  png: Report more details regarding unsupported pixel formats

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 09:58:01 -03:00
James Almer
5c22c90c1d vp9_superframe_bsf: cache packets by creating new references instead of moving pointers
Fixes invalid reads after free.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-11 09:47:33 -03:00
James Almer
1b6e52c68f avcodec/dnxhddata: remove dead code
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-11 01:41:16 -03:00
James Almer
006546c635 avcodec/mpegaudiodecheader: remove dead code
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-11 01:39:47 -03:00
James Almer
700da852b5 Merge commit '4c0588b456'
* commit '4c0588b456':
  mpeg2enc: Don't mark all streams as component video

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 01:24:55 -03:00
James Almer
ecf4e6b720 Merge commit 'd34a133b78'
* commit 'd34a133b78':
  dfa: Disallow odd width/height and add proper bounds check for DDS1 chunks

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 00:54:19 -03:00
James Almer
e6d70494ce Merge commit 'a14a12ca13'
* commit 'a14a12ca13':
  vaapi_h265: Reduce the amount of padding in the stream

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 00:49:43 -03:00
James Almer
36e0093dd9 Merge commit '1329c08ad6'
* commit '1329c08ad6':
  hevc: Validate the number of long term reference pictures

See ea38e5a6b7

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 00:36:22 -03:00
Andreas Cadhalpun
0ccddbad20 smacker: limit recursion depth of smacker_decode_bigtree
This fixes segmentation faults due to stack-overflow caused by too deep
recursion.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
2017-11-10 20:41:32 -05:00
Michael Niedermayer
cd4663dc80 smacker: add sanity check for length in smacker_decode_tree()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Bug-Id: 1098
Cc: libav-stable@libav.org
Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
2017-11-10 20:38:44 -05:00
James Almer
2760454945 avcodec/nvdec: fix copyright headers
Fixes fate-source.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-10 21:06:58 -03:00
James Almer
1178babaca Merge commit 'b90fdb2c71'
* commit 'b90fdb2c71':
  hevcdec: add a CUVID hwaccel

Adapted for ffmpeg by Timo Rothenpieler.

Merged-by: James Almer <jamrial@gmail.com>
2017-11-10 20:43:15 -03:00
James Almer
7762942045 Merge commit '00fd914d49'
* commit '00fd914d49':
  hevcdec: set the active SPS before calling get_format()

Merged-by: James Almer <jamrial@gmail.com>
2017-11-10 20:31:55 -03:00
Anton Khirnov
0e00624389 h264dec: add a NVDEC hwaccel
Some parts of the code are based on a patch by
Timo Rothenpieler <timo@rothenpieler.org>

Merges Libav commit b9129ec466.

Due to the name clash with our cuvid decoder, rename it to nvdec.

This commit also changes the Libav code to dynamic loading of the
cuda/cuvid libraries.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-11-10 22:48:53 +01:00
wm4
0aecc08e5f avcodec/decode: add missing \n to log message 2017-11-10 22:48:34 +01:00
wm4
ae5046e492 avcodec: allow multiple hwaccels for the same codec/pixfmt
Currently, AVHWAccels are looked up using a (codec_id, pixfmt) tuple.
This means it's impossible to have 2 decoders for the same codec and
using the same opaque hardware pixel format.

This breaks merging Libav's CUVID hwaccel. FFmpeg has its own CUVID
support, but it's a full stream decoder, using NVIDIA's codec parser.
The Libav one is a true hwaccel, which is based on the builtin software
decoders.

Fix this by introducing another field to disambiguate AVHWAccels, and
use it for our CUVID decoders. FF_CODEC_CAP_HWACCEL_REQUIRE_CLASS makes
this mechanism backwards compatible and optional.
2017-11-10 22:48:34 +01:00
wm4
5593049466 avcodec/cuvid: rename cuvid.c to cuviddec.c
cuvid.c is used by Libav's CUVID hwaccel. Resolve the conflict and
avoid future merge problems by renaming our decoder.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-11-10 22:48:34 +01:00
Aurelien Jacobs
a337b36b8b aptx: implement the aptX bluetooth codec
The encoder was reverse engineered from binary library and from
EP0398973B1 patent (long expired).
The decoder was simply deduced from the encoder.
2017-11-10 21:32:06 +00:00
Anton Khirnov
81c021c6a2 decode: add a per-frame private data for hwaccel use
This will be useful in the CUVID hwaccel. It should also eventually
replace current decoder-specific mechanisms used by various other
hwaccels.

Merges Libav commit 704311b294.
2017-11-10 19:48:09 +01:00
Anton Khirnov
7fa64514c8 decode: add a mechanism for performing delayed processing on the decoded frames
This will be useful in the CUVID hwaccel.

Merges Libav commit badf0951f5.
2017-11-10 19:48:05 +01:00