1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

88763 Commits

Author SHA1 Message Date
Michael Niedermayer
b197d83ca3 avformat/utils: Look at the first 3 frames if timestamps indicate frame reorder but decoder delay does not
Fixes: Ticket6487

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-11 14:15:15 +01:00
John Stebbins
c84bc81158 avformat/utils: preserve AV_PKT_FLAG_DISCARD in parse_packet
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-11 14:15:15 +01:00
James Almer
9194d3d380 Merge commit '173b56218f39c6463be0e182259e2deead106936'
* commit '173b56218f39c6463be0e182259e2deead106936':
  lavf: make avio_read_partial() public
  swscale: Do not expand a macro with 'defined' in it
  configure: Include d3d11va_extralibs in libavutil

This commit is a noop, see
69218b4198
add7b3bc3f
5d76674756

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 10:14:11 -03:00
James Almer
672e704e4a Merge commit 'feed239021bad89743d5e7989b426ae594322eb7'
* commit 'feed239021bad89743d5e7989b426ae594322eb7':
  yadif: Account for the buffer alignment while processing the frame edges

See 221f902f1d

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 10:09:41 -03:00
James Almer
28bb96c408 Merge commit '7b7760ad6efb7b96122aa7133ad21e22653ae222'
* commit '7b7760ad6efb7b96122aa7133ad21e22653ae222':
  aarch64: Fix negative movrel offsets for windows

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 10:02:43 -03:00
James Almer
87681ba97b Merge commit '0c99b900d874b60ce89b94742b2215f163c87a2b'
* commit '0c99b900d874b60ce89b94742b2215f163c87a2b':
  png: Support RGBA64 pixel format

This commit is a noop, see 97da38c99b

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 10:01:43 -03:00
James Almer
bdbf14abba Merge commit '9f5b77c16f4da6248b57f0601364d9c762c620c2'
* commit '9f5b77c16f4da6248b57f0601364d9c762c620c2':
  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
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 '4c0588b4562abad5540f6a5435c62828de9e4fdf'
* commit '4c0588b4562abad5540f6a5435c62828de9e4fdf':
  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
53fc4310f1 Merge commit 'b78c30d7ec26af67c00ce2002709a189f6a87a7e'
* commit 'b78c30d7ec26af67c00ce2002709a189f6a87a7e':
  lavc: Add mpeg2_metadata bitstream filter
  lavc: Add coded bitstream read/write support for MPEG-2
  cbs_h2645: Return error if writing fails
  h264dec: use a large enough field for reference list modification values
  xwddec: support 8bpp grayscale

This commit is a noop, see
b9c94e826e
2aff557c6a
b4c915f4b3
686e388bbb
569721ac8d

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 01:05:13 -03:00
James Almer
ecf4e6b720 Merge commit 'd34a133b78afe2793cd8537f3c7f42437f441e94'
* commit 'd34a133b78afe2793cd8537f3c7f42437f441e94':
  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 'a14a12ca137bf1526452b97bedfc9f7b301d4e04'
* commit 'a14a12ca137bf1526452b97bedfc9f7b301d4e04':
  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
9249783415 Merge commit 'e3e8eab359238486dc233f7aa89b7bb3cb19ec38'
* commit 'e3e8eab359238486dc233f7aa89b7bb3cb19ec38':
  vaapi_h265: Add support for AUD NAL units
  vaapi_h265: Convert to use coded bitstream infrastructure
  vaapi_h264: Add support for SEI recovery points
  vaapi_h264: Add support for AUD NAL units
  vaapi_h264: Convert to use coded bitstream infrastructure
  lavc: Add hevc_metadata bitstream filter
  lavc: Add h264_redundant_pps bitstream filter
  lavc: Add h264_metadata bitstream filter
  lavc: Add trace_headers bitstream filter
  lavc: Add coded bitstream read/write support for H.265
  lavc: Add coded bitstream read/write support for H.264
  lavc: Add coded bitstream read/write API
  pixfmt: Support chroma-derived and ictcp color matrices
  h264: Add support for alternative transfer characterics SEI
  vaapi_encode: Move quality option to common code

This commit is a noop, see
9c878651db
8c34a2024d
f357104866
6734eef6b8
b4c915f4b3
9b0c7aa0e4
9c7d70b49b
a308872b04
8b26306294
03f982bbca
2e29ca2a9f
281b68b026
0bc7575ced
00179664bc
038a51258c

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 00:47:22 -03:00
James Almer
36e0093dd9 Merge commit '1329c08ad6d2ddb304858f2972c67b508e8b0f0e'
* commit '1329c08ad6d2ddb304858f2972c67b508e8b0f0e':
  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
James Almer
95a52ca884 Merge commit 'b88da98b34809dedf8882d43ed543632ed233538'
* commit 'b88da98b34809dedf8882d43ed543632ed233538':
  hevc: Improve stream constraint values in common header
  h264: Add stream constraint values to the common header

This commit is a noop, see
d05444d2c6
b1374e925c

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 00:34:18 -03:00
James Almer
73198aca2c Merge commit 'defe307fb22beca60a632e976ab97e5edd4aee25'
* commit 'defe307fb22beca60a632e976ab97e5edd4aee25':
  mov: move stsd finalization to an appropriate place
  mov: Do not set stsd_count if mov_read_stsd() fails
  mov: log and return early on non-positive stsd entry counts

See 8b43ee4054
656feb641d

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 00:28:53 -03: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 'b90fdb2c7199cc8b0e8d994fafba1fb4dc181d88'
* commit 'b90fdb2c7199cc8b0e8d994fafba1fb4dc181d88':
  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
ec54df7dcd Merge commit '770cf1dbc2c8fe9b84300439ad0cd85036480388'
* commit '770cf1dbc2c8fe9b84300439ad0cd85036480388':
  fate/hevc: specify output pixel format explicitly

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

Merged-by: James Almer <jamrial@gmail.com>
2017-11-10 20:31:55 -03:00
James Almer
09100ccc14 Merge commit 'a58873b11198d04670b7f98f5a8a749d742db7c5'
* commit 'a58873b11198d04670b7f98f5a8a749d742db7c5':
  avconv: when using -loop option bail out if seek to start fails

Merged-by: James Almer <jamrial@gmail.com>
2017-11-10 20:24:37 -03:00
James Almer
fd352fadbb Merge commit '004ea63714e31ed43326ad00d7420d104f0dab38'
* commit '004ea63714e31ed43326ad00d7420d104f0dab38':
  cuvid: add cuvid.h to SKIPHEADERS

This commit is a noop, nvdec.h compiles just fine since it doesn't
depend on external headers.

Merged-by: James Almer <jamrial@gmail.com>
2017-11-10 20:16:15 -03:00
James Almer
ae644cee1f Merge commit 'b9129ec4668c511e0a79e25c6f25d748cee172c9'
* commit 'b9129ec4668c511e0a79e25c6f25d748cee172c9':
  h264dec: add a CUVID hwaccel
  decode: add a per-frame private data for hwaccel use
  decode: add a mechanism for performing delayed processing on the decoded frames
  decode: add a method for attaching lavc-internal data to frames
  decode: avoid leaks on failure in ff_get_buffer()

This commit is a noop, see
4776c61424
9f1cfd88af
7fa64514c8
81c021c6a2
0e00624389

Merged-by: James Almer <jamrial@gmail.com>
2017-11-10 19:43:46 -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
Rostislav Pehlivanov
eb7a01d692 Changelog: list the new aptX features
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-10 21:32:06 +00:00
Aurelien Jacobs
018eef1a1b aptx: add raw muxer and demuxer for aptX 2017-11-10 21:32:06 +00: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
Anton Khirnov
9f1cfd88af decode: add a method for attaching lavc-internal data to frames
Use the AVFrame.private_ref field.

This new struct will be useful in the following commits.

Merges Libav commit 359a8a3e2d.
2017-11-10 16:56:54 +01:00
Michael Niedermayer
1fa3a9a31d avutil/frame: Add private_ref to AVFrame
This gives FFmpeg libs a field that they can freely and safely use.
Avoiding the need of wrapping of a users opaque_ref field and its issues.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-10 16:44:17 +01:00
Jun Zhao
dd435c957a lavc/libx265: switch to ff_alloc_packet2
ff_alloc_packet have been deprecated, switch to use
ff_alloc_packet2.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-10 00:53:11 +01:00
Jun Zhao
2c6b0315d9 lavc/libkvazaar: switch to ff_alloc_packet2.
ff_alloc_packet have been deprecated, switch to use the
ff_alloc_packet2.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Arttu Ylä-Outinen <arttu.yla-outinen@tut.fi>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-10 00:53:11 +01:00
Gyan Doshi
84556ef059 lavu/timecode: clarify error msg for timecode_rate
The user-supplied value for timecode_rate in drawtext is rounded
to nearest integer. So, a supplied value of 0.49 or lower is rounded to 0.
This throws a misleading error message which says "Timecode frame rate must be
specified". Changed message to account for values under one.

Also noted supported framerates for drop TC.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-10 00:53:11 +01:00
Steven Liu
1b323c3f9c avformat/dashdec: use the current DASHContext for the rep_dest
fix ticket id: #6820

Signed-off-by: Steven Liu <lq@onvideo.cn>
Tested-by: mrskman
2017-11-10 07:01:45 +08:00
Carl Eugen Hoyos
e7fe5e511a lavf/dashdec: Fix several memleaks.
Signed-off-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Tested-by: Steven Liu <lq@chinaffmpeg.org>
2017-11-10 06:59:25 +08:00
Michael Niedermayer
51090133b3 avcodec/cngdec: Fix integer clipping
Fixes: runtime error: value -36211.7 is outside the range of representable values of type 'short'
Fixes: 2992/clusterfuzz-testcase-6649611793989632

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-09 19:49:32 +01:00
James Almer
28f5753fed configure: fix the non pkg-config libmfx check on Windows
Based on a patch by Aaron Levinson.

Reviewed-by: alevinsn
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-09 15:27:43 -03:00
James Almer
bf7ae32a08 avdevice/decklink_dec: make some function static
Reviewed-by: Aaron Levinson <alevinsn_dev@levland.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-09 15:27:26 -03:00
Nicolas George
dfa859b85a lavc/pngdec: fix av_bprint_finalize() usage. 2017-11-09 14:08:29 +01:00
Rostislav Pehlivanov
fc9dcfe7d5 aacenc: mark the preset 5.0/5.1 layouts correctly with back speakers
The spec is correct, it does list these layouts as having rear speakers.
Questionable how many decoders correctly interpret those correctly since
side is way more popular.
Also fixes fate-aac-yoraw-encode.

Reported-by: pkviet <pkv.stream@gmail.com>
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 12:58:42 +00:00
Rostislav Pehlivanov
7b7775a604 aacenc: use the PCE comment field for encoder ID
Also handle extradata of variable size (for bitexact/if PCEs aren't used).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 04:35:31 +00:00
Rostislav Pehlivanov
fbf295e2bd aacenc: support extended channel layouts using PCEs
This commit implements support for PCE (Program Configuration Elements) in the
AAC encoder, and as such allows for encoding of channel layouts not present
in the presets defined by the spec (which only lists the 8 most common ones).

This has been a highly requested feature and is also the first open source encoder
to support this many layouts.

Many thanks to pkviet <pkv.stream@gmail.com> who implemented support for and
verified all channel layouts.
2017-11-09 03:37:48 +00:00
Rostislav Pehlivanov
0a771e6b32 pngdec: expose gAMA and cHRM chunks as side/meta data
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 02:56:53 +00:00
Rostislav Pehlivanov
723b6baaf8 pngdec: check for bprint finalization sucess on icc data parsing
It can fail in case of OOM.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 02:34:54 +00:00
Rostislav Pehlivanov
3228ac730c vc2enc_dwt: pad the temporary buffer by the slice size
Since non-Haar wavelets need to look into pixels outside the frame, we
need to pad the buffer. The old factor of two seemed to be a workaround
that fact and only padded to the left and bottom. This correctly pads
by the slice size and as such reduces memory usage and potential
exploits.
Reported by Liu Bingchang.

Ideally, there should be no temporary buffer but the encoder is designed
to deinterleave the coefficients into the classical wavelet structure
with the lower frequency values in the top left corner.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 00:05:48 +00:00