Commit Graph

88770 Commits

Author SHA1 Message Date
James Almer f87ad3a058 Merge commit 'e41daa62465036ad36ad0bd14e4936e848d7f07e'
* commit 'e41daa62465036ad36ad0bd14e4936e848d7f07e':
  Remove support for building for mingw32ce (Windows CE)

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 10:22:11 -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
Timo Rothenpieler 6a4d1c9063 ffmpeg: use explicitly requested hwaccel only
With there being two hwaccels that use the CUDA pix_fmt now, just
relying on the pix_fmt to identify the selected hwaccel is not enough
anymore.

So this checks if the user explicitly selected a hwaccel, and only
accepts that one.
2017-11-11 14:19:05 +01:00
Sasi Inguva bc50961731 lavf/mov.c: Parse upto 2 keyframes after the edit list end in mov_fix_index.
Partially fixes t/6699.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-11 14:15:15 +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
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