ffmpeg.git
14 months agoMerge commit '86499771d1228d8303c8eb6509e20c0caaa02da5'
James Almer [Fri, 30 Mar 2018 00:02:02 +0000 (21:02 -0300)]
Merge commit '86499771d1228d8303c8eb6509e20c0caaa02da5'

* commit '86499771d1228d8303c8eb6509e20c0caaa02da5':
  qsv: align surface width/height to 16.

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit 'ea2f72a2c14c67a3b35dac6426d1e3c0fae33fd5'
James Almer [Thu, 29 Mar 2018 23:40:07 +0000 (20:40 -0300)]
Merge commit 'ea2f72a2c14c67a3b35dac6426d1e3c0fae33fd5'

* commit 'ea2f72a2c14c67a3b35dac6426d1e3c0fae33fd5':
  configure: Don't assume a 16 byte aligned stack on BSDs on i386

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit 'deefca02c275ce4bc5ccbee690463ffef81a18b8'
James Almer [Thu, 29 Mar 2018 23:34:43 +0000 (20:34 -0300)]
Merge commit 'deefca02c275ce4bc5ccbee690463ffef81a18b8'

* commit 'deefca02c275ce4bc5ccbee690463ffef81a18b8':
  qsvenc: add the Access Unit Delimiter NAL Unit support

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit '3d6e76b953afd36e23ef8532b81aea58a6338931'
James Almer [Thu, 29 Mar 2018 23:32:57 +0000 (20:32 -0300)]
Merge commit '3d6e76b953afd36e23ef8532b81aea58a6338931'

* commit '3d6e76b953afd36e23ef8532b81aea58a6338931':
  qsvenc: Fix a typo of FrameRateExtD/FrameRateExtN

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit '847190ebd99ffd57dc89bd568a33bf2d5c424129'
James Almer [Thu, 29 Mar 2018 23:31:03 +0000 (20:31 -0300)]
Merge commit '847190ebd99ffd57dc89bd568a33bf2d5c424129'

* commit '847190ebd99ffd57dc89bd568a33bf2d5c424129':
  configure: Don't assume an aligned stack on clang on windows

Merged-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/wmalosslessdec: Fix null pointer dereference in decode_frame()
Michael Niedermayer [Sun, 25 Mar 2018 00:51:28 +0000 (01:51 +0100)]
avcodec/wmalosslessdec: Fix null pointer dereference in decode_frame()

Fixes: 2018_03_23_poc.wav
Found-by: GwanYeong Kim <gy741.kim@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavcodec/libaomenc: minor cosmetics
James Almer [Thu, 29 Mar 2018 19:18:27 +0000 (16:18 -0300)]
avcodec/libaomenc: minor cosmetics

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/mpc8: do not return error on stream end
Paul B Mahol [Thu, 29 Mar 2018 18:46:36 +0000 (20:46 +0200)]
avformat/mpc8: do not return error on stream end

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agolavfi/silencedetect: Fix missing log at eos
Nicolas Gaullier [Mon, 19 Feb 2018 13:16:30 +0000 (14:16 +0100)]
lavfi/silencedetect: Fix missing log at eos

Fixes ticket #6968

14 months agolavfi/silencedetect: Fix silence_end accuracy
Nicolas Gaullier [Mon, 19 Feb 2018 13:16:17 +0000 (14:16 +0100)]
lavfi/silencedetect: Fix silence_end accuracy

14 months agolavfi/silencedetect: Fix silence_start accuracy
Nicolas Gaullier [Mon, 19 Feb 2018 13:16:04 +0000 (14:16 +0100)]
lavfi/silencedetect: Fix silence_start accuracy

14 months agolavfi/silencedetect: Update test parameters
Nicolas Gaullier [Mon, 19 Feb 2018 13:15:54 +0000 (14:15 +0100)]
lavfi/silencedetect: Update test parameters

Set relevant filter parameters such that the result can easily be
checked with a waveform editor.
In particular, it makes it clear the silence_start is not accurate in
the current code.

14 months agolavfi/silencedetect: Fix when silence_start=0
Nicolas Gaullier [Mon, 19 Feb 2018 13:15:42 +0000 (14:15 +0100)]
lavfi/silencedetect: Fix when silence_start=0

0 is a valid value for silence_start

14 months agolavfi/silencedetect: Add mono mode
Nicolas Gaullier [Mon, 19 Feb 2018 13:15:30 +0000 (14:15 +0100)]
lavfi/silencedetect: Add mono mode

In mono mode, silence is detected in any single channel instead of all
of them simultaneously

14 months agodoc/general.texi: fix warning
Paul B Mahol [Thu, 29 Mar 2018 08:31:45 +0000 (10:31 +0200)]
doc/general.texi: fix warning

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavcodec: add eac3_core bitstream filter
Paul B Mahol [Tue, 27 Mar 2018 14:47:24 +0000 (16:47 +0200)]
avcodec: add eac3_core bitstream filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavcodec/eac3: add support for dependent stream
Paul B Mahol [Mon, 26 Mar 2018 11:47:29 +0000 (13:47 +0200)]
avcodec/eac3: add support for dependent stream

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agolibavcodec/libaomenc: add support for transfer characteristics and color primaries
James Almer [Thu, 29 Mar 2018 04:03:24 +0000 (01:03 -0300)]
libavcodec/libaomenc: add support for transfer characteristics and color primaries

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolibavcodec/libaomdec: add support for transfer characteristics and color primaries
James Almer [Thu, 29 Mar 2018 04:03:14 +0000 (01:03 -0300)]
libavcodec/libaomdec: add support for transfer characteristics and color primaries

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolibavcodec/libaomenc: fix size specifier in an av_log call
James Almer [Thu, 29 Mar 2018 03:51:48 +0000 (00:51 -0300)]
libavcodec/libaomenc: fix size specifier in an av_log call

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolibavcodec/libaomdec: use the matrix coefficients value from aom_image
James Almer [Thu, 29 Mar 2018 03:36:51 +0000 (00:36 -0300)]
libavcodec/libaomdec: use the matrix coefficients value from aom_image

"color_space" is no longer a sytax element in libaom.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcode/profiles: add AV1 profiles
James Almer [Thu, 29 Mar 2018 02:28:34 +0000 (23:28 -0300)]
avcode/profiles: add AV1 profiles

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit '43778a501f1bfbceeddc8eaeea2ea2b3506beeda'
James Almer [Thu, 29 Mar 2018 02:15:18 +0000 (23:15 -0300)]
Merge commit '43778a501f1bfbceeddc8eaeea2ea2b3506beeda'

* commit '43778a501f1bfbceeddc8eaeea2ea2b3506beeda':
  Support AV1 encoding using libaom

This contains some extra changes taken from the libvpx encoder
wrapper, most of them contained in the set_pix_fmt() function.

Merged-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/libaomdec: remove references to yuv440p pixfmt
James Almer [Thu, 29 Mar 2018 00:29:15 +0000 (21:29 -0300)]
avcodec/libaomdec: remove references to yuv440p pixfmt

While the enums are defined in the libaom headers, it's not officially
supported.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/tableprint_vlc: Fix build failure with --enable-hardcoded-tables
Michael Niedermayer [Wed, 28 Mar 2018 23:07:24 +0000 (01:07 +0200)]
avcodec/tableprint_vlc: Fix build failure with --enable-hardcoded-tables

Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavfilter/af_pan: reject expressions referencing the same channel multiple times
Marton Balint [Sat, 24 Mar 2018 21:57:34 +0000 (22:57 +0100)]
avfilter/af_pan: reject expressions referencing the same channel multiple times

Fixes parsing of expressions like c0=c0+c0 or c0=c0|c0=c1.  Previously no
error was thrown and for input channels, only the last gain factor was used,
for output channels the source channel gains were combined.

Signed-off-by: Marton Balint <cus@passwd.hu>
14 months agoffmpeg: do not finish output streams manually on eof even if no input is provided
Marton Balint [Sun, 18 Mar 2018 17:34:23 +0000 (18:34 +0100)]
ffmpeg: do not finish output streams manually on eof even if no input is provided

The generic code should be able to finish the streams just fine initializing
and flushing the filters and codecs properly.

Fixes the following command:

ffmpeg -f lavfi -i "testsrc=d=0.1[out0];aevalsrc=0:d=0[out1]" -af apad -shortest -f framecrc -

Signed-off-by: Marton Balint <cus@passwd.hu>
14 months agoffmpeg: fallback to codecpar parameters on input filter eof
Marton Balint [Sun, 18 Mar 2018 17:04:13 +0000 (18:04 +0100)]
ffmpeg: fallback to codecpar parameters on input filter eof

Fixes ticket #6854 and the following simpler case:

ffmpeg -f lavfi -i testsrc=d=1 -f lavfi -i testsrc=d=0 -filter_complex overlay -f null none

Signed-off-by: Marton Balint <cus@passwd.hu>
14 months agoMerge commit 'c438899a706422b8362a13714580e988be4d638b'
James Almer [Wed, 28 Mar 2018 21:09:46 +0000 (18:09 -0300)]
Merge commit 'c438899a706422b8362a13714580e988be4d638b'

* commit 'c438899a706422b8362a13714580e988be4d638b':
  Add AV1 video decoding support through libaom

This contains some extra changes taken from the libvpx decoder
wrapper, most of them contained in the set_pix_fmt() function.

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit '44a1731011e87fbf4180d026aefb8bfe85d8c7dc'
James Almer [Wed, 28 Mar 2018 18:46:59 +0000 (15:46 -0300)]
Merge commit '44a1731011e87fbf4180d026aefb8bfe85d8c7dc'

* commit '44a1731011e87fbf4180d026aefb8bfe85d8c7dc':
  ivf: Support VP9 and AV1 as well

See e8f0a463b0d27a4d74c0d9f1857e72a8033d1069

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit 'dd7e63af93b2430b5d42b87a966160c66736342c'
James Almer [Wed, 28 Mar 2018 18:39:08 +0000 (15:39 -0300)]
Merge commit 'dd7e63af93b2430b5d42b87a966160c66736342c'

* commit 'dd7e63af93b2430b5d42b87a966160c66736342c':
  configure: Restore original endianness test

The test was not changed in 67e8f476b7d3c21686a2d453d052818ac92688b3
Merging only the explanation.

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit '80a4e6a46f21256e9bf508ead686563616945ad5'
James Almer [Wed, 28 Mar 2018 18:36:25 +0000 (15:36 -0300)]
Merge commit '80a4e6a46f21256e9bf508ead686563616945ad5'

* commit '80a4e6a46f21256e9bf508ead686563616945ad5':
  amf: Replace writer_id option with LIBAV_AMF_WRITER_ID constant

This commit is a noop, see 9ea6607d294526688ab1b1342cb36ee159683e88

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit '31a53ab34e22fe1eec902f79ec1f19ab828a7a0c'
James Almer [Wed, 28 Mar 2018 18:28:13 +0000 (15:28 -0300)]
Merge commit '31a53ab34e22fe1eec902f79ec1f19ab828a7a0c'

* commit '31a53ab34e22fe1eec902f79ec1f19ab828a7a0c':
  configure: Add check_as() helper function to simplify some expressions

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit '18dc1ff0fb4572b1d50a44905aa1e76bc3bbb0ad'
James Almer [Wed, 28 Mar 2018 18:19:35 +0000 (15:19 -0300)]
Merge commit '18dc1ff0fb4572b1d50a44905aa1e76bc3bbb0ad'

* commit '18dc1ff0fb4572b1d50a44905aa1e76bc3bbb0ad':
  configure: Add check_ld() helper function to simplify some expressions

Merged-by: James Almer <jamrial@gmail.com>
14 months agoMerge commit '9c37d765ef28b027414f86b0088b0c282a3c46d8'
James Almer [Wed, 28 Mar 2018 18:03:56 +0000 (15:03 -0300)]
Merge commit '9c37d765ef28b027414f86b0088b0c282a3c46d8'

* commit '9c37d765ef28b027414f86b0088b0c282a3c46d8':
  configure: Add check_cc/require_cc helper functions to simplify some expressions

Merged-by: James Almer <jamrial@gmail.com>
14 months agoavformat/dashdec: Support signaling of last segment number
sanilraut [Wed, 28 Mar 2018 11:52:27 +0000 (19:52 +0800)]
avformat/dashdec: Support signaling of last segment number

Last segment indicated by mpd is not parsed.
Example stream: http://dash.akamaized.net/dash264/TestCasesIOP41/LastSegmentNumber/1/manifest_last_segment_num.mpd

This patch supports parsing of Supplemental Descriptor with @schemeIdUri set to http://dashif.org/guide-
lines/last-segment-number with the @value set to the last segment number.

Reviewed-by: Steven Liu <lq@onvideo.cn>
14 months agohwcontext_d3d11: Fix crash with valid adapter but no device
Mark Thompson [Mon, 26 Mar 2018 23:04:32 +0000 (00:04 +0100)]
hwcontext_d3d11: Fix crash with valid adapter but no device

This crash was introduced by 8bbf2dacbfb4ead1535dea411035994f507f517d,
which could incorrectly overwrite the failure result from creating the
device.

Fixes ticket #7108.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
14 months agodoc/examples/hw_decode: Remove logically dead code in decode_write()
Michael Niedermayer [Sun, 25 Mar 2018 18:21:38 +0000 (20:21 +0200)]
doc/examples/hw_decode: Remove logically dead code in decode_write()

Fixes CID1415951

Reviewed-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agodoc/examples/hw_decode: Remove useless NULL check
Michael Niedermayer [Sun, 25 Mar 2018 18:21:37 +0000 (20:21 +0200)]
doc/examples/hw_decode: Remove useless NULL check

Reviewed-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agodoc/APIchanges: fix lavu version for the AVEncryptionInfo addition
James Almer [Tue, 27 Mar 2018 17:58:36 +0000 (14:58 -0300)]
doc/APIchanges: fix lavu version for the AVEncryptionInfo addition

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/avpacket: remove unnecessary check in av_packet_make_writable()
James Almer [Mon, 26 Mar 2018 00:23:54 +0000 (21:23 -0300)]
avcodec/avpacket: remove unnecessary check in av_packet_make_writable()

Zero sized packets are already handled below in the function.
This is more in line with av_packet_ref().

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/hlsenc: initialize saveptrs
Timo Rothenpieler [Mon, 26 Mar 2018 12:32:00 +0000 (20:32 +0800)]
avformat/hlsenc: initialize saveptrs

av_strtok calls strspn on a non-NULL *saveptr, so not NULL initializing
it is an issue.
Fixes CID #1428568

Reviewed-by: Karthick Jeyapal <kjeyapal@akamai.com>
Signed-off-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
14 months agokmsgrab: add category for kmsgrab
Jun Zhao [Mon, 26 Mar 2018 00:22:07 +0000 (08:22 +0800)]
kmsgrab: add category for kmsgrab

Makes kmsgrab visible in "ffmpeg -devices".

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
14 months agoavfilter/vf_avgblur_opencl: fix error when clSetKernelArg fails
drfer3 [Mon, 26 Mar 2018 00:08:03 +0000 (11:08 +1100)]
avfilter/vf_avgblur_opencl: fix error when clSetKernelArg fails

Fixes Coverity CID 1430382.

14 months agovf_avgblur_opencl: Don't run kernel on pixels outside the image
Mark Thompson [Sat, 24 Mar 2018 13:56:16 +0000 (13:56 +0000)]
vf_avgblur_opencl: Don't run kernel on pixels outside the image

The output frame size is larger than the image containing a subsampled
plane - use the actual size of the image being written rather than the
dimensions of the intended output frame.

Reviewed-by: Dylan Fernando <dylanf123@gmail.com>
14 months agolibavfilter: Add OpenCL convolution filter
Danil Iashchenko [Sat, 24 Mar 2018 15:57:43 +0000 (18:57 +0300)]
libavfilter: Add OpenCL convolution filter

Behaves like existing convolution filter.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
14 months agoavformat/segafilm - fix keyframe detection and set packet flags
Gyan Doshi [Wed, 21 Mar 2018 13:29:33 +0000 (18:59 +0530)]
avformat/segafilm - fix keyframe detection and set packet flags

Streams from a Segafilm cpk file can't be streamcopied because
keyframe flag isn't correctly set in stream index and
said flag is never conveyed to the packet

Fixes #7091

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/avdct: use the proper function to free AVCodecContext
James Almer [Mon, 26 Mar 2018 15:51:25 +0000 (12:51 -0300)]
avcodec/avdct: use the proper function to free AVCodecContext

Fixes ticket #7074

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/rtpenc_chain: use the proper function to free AVFormatContext
James Almer [Mon, 26 Mar 2018 03:52:39 +0000 (00:52 -0300)]
avformat/rtpenc_chain: use the proper function to free AVFormatContext

Fixes ticket #7075

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/mpeg4videodec: Use more specific error codes
Michael Niedermayer [Sat, 10 Mar 2018 17:03:09 +0000 (18:03 +0100)]
avcodec/mpeg4videodec: Use more specific error codes

Forward error codes where possible.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavformat/mov: Move +1 in check to avoid hypothetical overflow in add_ctts_entry()
Michael Niedermayer [Sat, 3 Feb 2018 20:36:22 +0000 (21:36 +0100)]
avformat/mov: Move +1 in check to avoid hypothetical overflow in add_ctts_entry()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavcodec/get_bits: Make sure the input bitstream with padding can be addressed
Michael Niedermayer [Sat, 24 Mar 2018 00:38:53 +0000 (01:38 +0100)]
avcodec/get_bits: Make sure the input bitstream with padding can be addressed

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
15 months agoavfilter/af_mcompand: make error message more helpful
Paul B Mahol [Sun, 25 Mar 2018 21:26:26 +0000 (23:26 +0200)]
avfilter/af_mcompand: make error message more helpful

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agodoc/filter.texi: fix some spotted typos
Paul B Mahol [Sun, 25 Mar 2018 21:10:59 +0000 (23:10 +0200)]
doc/filter.texi: fix some spotted typos

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agomovtextdec: fix handling of UTF-8 subtitles
wm4 [Sat, 24 Mar 2018 14:41:54 +0000 (15:41 +0100)]
movtextdec: fix handling of UTF-8 subtitles

Subtitles which contained styled UTF-8 subtitles (i.e. not just 7 bit
ASCII characters) were not handled correctly. The spec mandates that
styling start/end ranges are in "characters". It's not quite clear what
a "character" is supposed to be, but maybe they mean unicode codepoints.

FFmpeg's decoder treated the style ranges as byte idexes, which could
lead to UTF-8 sequences being broken, and the common code dropping the
whole subtitle line.

Change this and count the codepoint instead. This also means that even
if this is somehow wrong, the decoder won't break UTF-8 sequences
anymore. The sample which led me to investigate this now appears to work
correctly.

15 months agoavcodec: add a subcharenc mode that disables UTF-8 check
wm4 [Sat, 24 Mar 2018 12:37:00 +0000 (13:37 +0100)]
avcodec: add a subcharenc mode that disables UTF-8 check

This is for applications which want to explicitly check for invalid
UTF-8 manually, and take actions that are better than dropping invalid
subtitles silently. (It's pretty much silent because sporadic avcodec
error messages are so common that you can't reasonably display them in a
prominent and meaningful way in a application GUI.)

15 months agoavformat/hlsenc: use stream's maximum bit rate as fall-back advertised rate
Jan Ekström [Fri, 23 Mar 2018 12:41:28 +0000 (14:41 +0200)]
avformat/hlsenc: use stream's maximum bit rate as fall-back advertised rate

Enables having proper bit rate values being written into the master
playlist in case of hard-constrained VBR where the maximum bit
rate utilized is known before hand.

Does the same thing as movenc.c, for example.

Signed-off-by: Jan Ekström <jan.ekstrom@aminocom.com>
15 months agoavdevice/decklink: fix leak when listing devices and there is no memory
Marton Balint [Sat, 17 Mar 2018 11:41:15 +0000 (12:41 +0100)]
avdevice/decklink: fix leak when listing devices and there is no memory

Fixes Coverity CID 1419523.

Signed-off-by: Marton Balint <cus@passwd.hu>
15 months agoswscale/rgb2rgb : cosmetic, move shuffle_bytes func declaration
Martin Vignali [Sat, 24 Mar 2018 19:20:04 +0000 (20:20 +0100)]
swscale/rgb2rgb : cosmetic, move shuffle_bytes func declaration

move shuffle_bytes_1230, 3012, 3210 with the other shuffle_byte
declaration

15 months agocheckasm/swscale : add test for rgb shuffle_bytes func
Martin Vignali [Sat, 24 Mar 2018 19:19:00 +0000 (20:19 +0100)]
checkasm/swscale : add test for rgb shuffle_bytes func

15 months agoswscale/rgb : add X86 SIMD (SSSE3), for shuffle_bytes_1230, shuffle_bytes_3012, shuff...
Martin Vignali [Sat, 24 Mar 2018 19:18:05 +0000 (20:18 +0100)]
swscale/rgb : add X86 SIMD (SSSE3), for shuffle_bytes_1230, shuffle_bytes_3012, shuffle_bytes_3210

15 months agoswscale/rgb : move shuffle func shuffle_bytes_1230, shuffle_bytes_3012, shuffle_bytes...
Martin Vignali [Sat, 24 Mar 2018 19:17:32 +0000 (20:17 +0100)]
swscale/rgb : move shuffle func shuffle_bytes_1230, shuffle_bytes_3012, shuffle_bytes_3210 in order to add SIMD

15 months agoswscale/rgb : add X86 SIMD (SSSE3) for shuffle_bytes_2103 and shuffle_bytes_0321
Martin Vignali [Sat, 24 Mar 2018 19:16:11 +0000 (20:16 +0100)]
swscale/rgb : add X86 SIMD (SSSE3) for shuffle_bytes_2103 and shuffle_bytes_0321

15 months agoRevert "avcodec/vp9_superframe_bsf: cache packets by creating new references rather...
James Almer [Sat, 24 Mar 2018 01:19:42 +0000 (22:19 -0300)]
Revert "avcodec/vp9_superframe_bsf: cache packets by creating new references rather than moving them"

This reverts commit 7a02b364b68c0bf7f065f5c217fae458f0efdb8d.

The packet fetched by ff_bsf_get_packet() and ff_bsf_get_packet_ref()
is now guaranteed to be reference counted.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavcodec/avcodec.h: Add encryption info side data.
Jacob Trimble [Tue, 5 Dec 2017 22:52:22 +0000 (14:52 -0800)]
avcodec/avcodec.h: Add encryption info side data.

This new side-data will contain info on how a packet is encrypted.
This allows the app to handle packet decryption.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
15 months agolavf/utils.c: Don't compute start_time from DISCARD packets for video.
Sasi Inguva [Wed, 21 Mar 2018 20:36:38 +0000 (13:36 -0700)]
lavf/utils.c: Don't compute start_time from DISCARD packets for video.

Signed-off-by: Sasi Inguva <isasi@isasi.mtv.corp.google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
15 months agoavcodec/noise_bsf: move the reference in the bsf internal buffer
James Almer [Tue, 20 Mar 2018 04:19:19 +0000 (01:19 -0300)]
avcodec/noise_bsf: move the reference in the bsf internal buffer

There's no need to allocate a new packet for it.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavcodec/bsf: make sure the AVBSFInternal stored packet is reference counted
James Almer [Fri, 23 Mar 2018 21:16:11 +0000 (18:16 -0300)]
avcodec/bsf: make sure the AVBSFInternal stored packet is reference counted

Some bitstream filters may buffer said packet in their own contexts
for latter use. The documentation for av_bsf_send_packet() doesn't
forbid feeding it non-reference counted packets, which depending on
the way said packets were internally buffered by the bsf it may
result in the data described in them becoming invalid or unavailable
at any time.
This was the case with vp9_superframe after commit e1bc3f4396, which
was then promptly fixed in 37f4a093f7 and 7a02b364b6. It is still the
case even today with vp9_reorder_raw.

With this change the bitstream filters will not have to worry how to
store or consume the packets fed to them.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoffmpeg: pass reference counted packet on codec copy when possible
James Almer [Wed, 21 Mar 2018 14:43:04 +0000 (11:43 -0300)]
ffmpeg: pass reference counted packet on codec copy when possible

Should prevent unnecessary copy of data in cases where new references
to the packet are created within the muxer or a bitstream filter.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoffmpeg: remove dead call to av_parser_change()
James Almer [Wed, 21 Mar 2018 14:27:49 +0000 (11:27 -0300)]
ffmpeg: remove dead call to av_parser_change()

It's been a noop for years, and it's been argued that in-band headers
should not be forcedly removed without the user's explicit request.

Also, as the FIXME line stated, this is a job for a bitstream filter
like extract_extradata, remove_extradata, dump_extradata, and
filter_units.

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavfilter/avf_showvolume: implement basic rms metering mode
Paul B Mahol [Fri, 23 Mar 2018 21:53:13 +0000 (22:53 +0100)]
avfilter/avf_showvolume: implement basic rms metering mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agodoc/filters: itemize channelmap examples
Paul B Mahol [Fri, 23 Mar 2018 18:21:52 +0000 (19:21 +0100)]
doc/filters: itemize channelmap examples

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agoavfilter/avf_showwaves: add draw mode which controls how single sample is drawn
Paul B Mahol [Fri, 23 Mar 2018 18:02:51 +0000 (19:02 +0100)]
avfilter/avf_showwaves: add draw mode which controls how single sample is drawn

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agoavfilter/vf_convolution: disable fast path if rdiv/bias are different from defaults
Paul B Mahol [Fri, 23 Mar 2018 15:21:38 +0000 (16:21 +0100)]
avfilter/vf_convolution: disable fast path if rdiv/bias are different from defaults

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agoavfilter/af_channelsplit: add channels option
Paul B Mahol [Tue, 20 Mar 2018 17:02:26 +0000 (18:02 +0100)]
avfilter/af_channelsplit: add channels option

So user can pick which channels to extract.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agovf_scale_vaapi: Apply cropping rectangle to input
Mark Thompson [Wed, 14 Feb 2018 21:48:44 +0000 (21:48 +0000)]
vf_scale_vaapi: Apply cropping rectangle to input

15 months agohwcontext_opencl: Add support for mapping DRM objects to Beignet
Mark Thompson [Sun, 11 Mar 2018 21:19:20 +0000 (21:19 +0000)]
hwcontext_opencl: Add support for mapping DRM objects to Beignet

Also use that to support mapping VAAPI to Beignet.

15 months agohwcontext_vaapi: Pass correct read/write flags when exporting surfaces
Mark Thompson [Sun, 11 Mar 2018 21:25:46 +0000 (21:25 +0000)]
hwcontext_vaapi: Pass correct read/write flags when exporting surfaces

15 months agohwcontext_vaapi: Add support for legacy DRM mapping
Mark Thompson [Sun, 11 Mar 2018 21:12:29 +0000 (21:12 +0000)]
hwcontext_vaapi: Add support for legacy DRM mapping

The old vaAcquireBufferHandle() API works in fewer cases and provides
less information than the current vaExportSurfaceHandle(), but it exists
on older versions and is already used by the OpenCL code.

15 months agohwcontext_drm: Clarify value for unknown format modifiers
Mark Thompson [Wed, 21 Mar 2018 21:13:16 +0000 (21:13 +0000)]
hwcontext_drm: Clarify value for unknown format modifiers

15 months agolavfi: Add OpenCL avgblur filter
drfer3 [Mon, 19 Mar 2018 02:30:23 +0000 (13:30 +1100)]
lavfi: Add OpenCL avgblur filter

Behaves like the existing avgblur filter, except working on OpenCL
hardware frames. Takes exactly the same options.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
15 months agohwcontext_opencl: Avoid deprecation warnings when built with post-1.2 headers
Mark Thompson [Mon, 19 Mar 2018 22:53:11 +0000 (22:53 +0000)]
hwcontext_opencl: Avoid deprecation warnings when built with post-1.2 headers

Matching the previous commit.  This is not applied to the installed header
because it could incorrectly suppress the warning inside user programs.

15 months agolavfi/opencl: Avoid deprecation warnings when built with post-1.2 headers
Mark Thompson [Mon, 19 Mar 2018 22:52:51 +0000 (22:52 +0000)]
lavfi/opencl: Avoid deprecation warnings when built with post-1.2 headers

The intended target is OpenCL 1.2, so disable warnings for APIs deprecated
after that.  This primarily applies to clCreateCommandQueue(), we can't use
the replacement clCreateCommandQueueWithProperties() because it was
introduced in OpenCL 2.0.

Also remove some unnecessary includes from overlay and program filters so
that the define is available at the right moment.

15 months agolavfi/opencl: Derive global work size from plane image sizes
Mark Thompson [Mon, 19 Mar 2018 22:52:30 +0000 (22:52 +0000)]
lavfi/opencl: Derive global work size from plane image sizes

Add a new function to find the global work size given the output image and
the required block alignment, then use it in the overlay, program and unsharp
filters.  Fixes the overlay and unsharp filters applying the kernel to
locations outside the frame when subsampled planes are present.

15 months agoavfilter/avf_showvolume: add background opacity option
Paul B Mahol [Thu, 22 Mar 2018 22:08:33 +0000 (23:08 +0100)]
avfilter/avf_showvolume: add background opacity option

This makes output more visible when overlayed.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agoavcodec/extract_extradata: don't uninitialize the H2645Packet on every processed...
James Almer [Sat, 10 Mar 2018 22:57:35 +0000 (19:57 -0300)]
avcodec/extract_extradata: don't uninitialize the H2645Packet on every processed packet

Based on hevc_parser code. This prevents repeated unnecessary allocations
and frees on every packet processed by the bsf.

Reviewed-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavcodec/mpeg4_unpack_bframes: make sure the packet is writable when data needs to...
James Almer [Thu, 22 Mar 2018 01:37:46 +0000 (22:37 -0300)]
avcodec/mpeg4_unpack_bframes: make sure the packet is writable when data needs to be changed

Nothing currently guarantees that the packet passed to the bsf will
be writable.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agolavf/movenc: write track title metadata for mov files
Courtland Idstrom [Mon, 19 Mar 2018 21:11:37 +0000 (14:11 -0700)]
lavf/movenc: write track title metadata for mov files

Track title (atom 'name') is a well defined user data atom for mov files. Existing code (for mp4) only writes title metadata if present.

Relevant reference docs:

  https://developer.apple.com/library/content/documentation/QuickTime/Reference/QTRef_AtomsResources/Content/QTRef_AtomsResources4.html#//apple_ref/doc/uid/TP40004285-DontLinkChapterID_1--udta-
  https://developer.apple.com/library/content/documentation/QuickTime/QTFF/QTFFChap2/qtff2.html#//apple_ref/doc/uid/TP40000939-CH204-63839

15 months agolavc/cfhd: add alpha decompanding in rgba12
Gagandeep Singh [Thu, 22 Mar 2018 09:33:37 +0000 (15:03 +0530)]
lavc/cfhd: add alpha decompanding in rgba12

Alpha decompanding curve added to post process the decoded alpha channel.
Fixes ticket #6265.

15 months agoavcodec/dxva2_vc1: add missing frame_params callback to vc1_d3d11va2 hwaccel
James Almer [Thu, 22 Mar 2018 04:40:02 +0000 (01:40 -0300)]
avcodec/dxva2_vc1: add missing frame_params callback to vc1_d3d11va2 hwaccel

Fixes ticket #7096

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agochangelog: add missing line for filter_units bsf
James Almer [Thu, 22 Mar 2018 04:19:13 +0000 (01:19 -0300)]
changelog: add missing line for filter_units bsf

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agocmdutils: print supported codecs in show_help_bsf()
James Almer [Thu, 22 Mar 2018 01:09:45 +0000 (22:09 -0300)]
cmdutils: print supported codecs in show_help_bsf()

Tested-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavcodec/avpacket: add av_packet_make_writable()
James Almer [Mon, 19 Mar 2018 15:39:08 +0000 (12:39 -0300)]
avcodec/avpacket: add av_packet_make_writable()

Useful as well to quickly make a packet reference counted when it
isn't already so.

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agolavc/remove_extradata_bsf: support dump options.
Jun Zhao [Thu, 8 Mar 2018 07:00:27 +0000 (15:00 +0800)]
lavc/remove_extradata_bsf: support dump options.

support dump bit stream filter options

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agolavc/noise_bsf: support dump options.
Jun Zhao [Thu, 8 Mar 2018 06:57:47 +0000 (14:57 +0800)]
lavc/noise_bsf: support dump options.

support dump bit stream filter options.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agolavc/dump_extradata_bsf: support dump options.
Jun Zhao [Thu, 8 Mar 2018 06:01:48 +0000 (14:01 +0800)]
lavc/dump_extradata_bsf: support dump options.

support dump bit stream filter options

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavformat/unix: fix handling of EOF in case of SOCK_STREAM.
Bela Bodecs [Tue, 20 Mar 2018 22:24:11 +0000 (23:24 +0100)]
avformat/unix: fix handling of EOF in case of SOCK_STREAM.

When recv() returns 0 in case of SOCK_STREAM type, it means EOF and with
this patch returns value accordingly.

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
15 months agoavfilter/vf_waveform: add orange graticule
Paul B Mahol [Wed, 21 Mar 2018 11:20:24 +0000 (12:20 +0100)]
avfilter/vf_waveform: add orange graticule

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agoavfilter/vf_waveform: add xflat mode
Paul B Mahol [Wed, 21 Mar 2018 10:34:11 +0000 (11:34 +0100)]
avfilter/vf_waveform: add xflat mode

Also use macros for xflat and aflat mode.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agoqsv: align surface width/height to 16.
Ruiling Song [Tue, 6 Mar 2018 02:35:56 +0000 (10:35 +0800)]
qsv: align surface width/height to 16.

Per MediaSDK documentation, it requires width/height to 16 alignment.
Without this patch, hwupload pipeline may fail if 16 alignment is
not met. Although this patch also apply 16 alignment to qsv encoder/decoder,
it will not bring any side-effect to them as they are already aligned.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>