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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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.)
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>
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>
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
Martin Vignali [Sat, 24 Mar 2018 19:19:00 +0000 (20:19 +0100)]
checkasm/swscale : add test for rgb shuffle_bytes func
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
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Mark Thompson [Wed, 14 Feb 2018 21:48:44 +0000 (21:48 +0000)]
vf_scale_vaapi: Apply cropping rectangle to input
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.
Mark Thompson [Sun, 11 Mar 2018 21:25:46 +0000 (21:25 +0000)]
hwcontext_vaapi: Pass correct read/write flags when exporting surfaces
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.
Mark Thompson [Wed, 21 Mar 2018 21:13:16 +0000 (21:13 +0000)]
hwcontext_drm: Clarify value for unknown format modifiers
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>
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.
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.
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.
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>
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>
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>
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
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
James Almer [Wed, 21 Mar 2018 04:38:34 +0000 (01:38 -0300)]
avcodec/vp9_superframe_split: fix memory leak in case of output packet creation failure
Some function calls may fail after the output packet is initialized.
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Tue, 20 Mar 2018 18:37:32 +0000 (15:37 -0300)]
avutil/integer: move the test to the corresponding subdirectory
And actually enable it.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
Aman Gupta [Mon, 19 Mar 2018 23:29:45 +0000 (16:29 -0700)]
avcodec/mediacodecdec: propagate SAR to h/w frames
Allows consumers who are converting hardware buffers
to OpenGL textures to render the frames at the intended
display resolution.
Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Michael Niedermayer [Fri, 16 Mar 2018 18:53:36 +0000 (19:53 +0100)]
avformat/mov: Check STSC and remove invalid entries
Fixes assertion failure
Fixes: crbug 822547, crbug 822666 and crbug 823009
Affects: aark15sd_9A62E2FA.mp4
Found-by: ClusterFuzz
Reviewed-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Jörn Heusipp [Wed, 21 Feb 2018 11:11:48 +0000 (12:11 +0100)]
avformat/libopenmpt: Probe file format from file data if possible
When building with libopenmpt 0.3, use the libopenmpt file header
probing functions for probing. libopenmpt probing functions are
allocation-free and designed to be as fast as possible.
For libopenmpt 0.2, or when libopenmpt 0.3 file header probing cannot
probe successfully due to too small probe buffer, test the filename
against the file extensions supported by the libopenmpt library that
is actually linked, instead of relying on a hard-coded file extension
list. File extension testing is also allocation-free and designed to
be fast in libopenmpt. Avoiding a hard-coded file extension list is
useful because later libopenmpt versions will likely add support for
more module file formats.
libopenmpt file header probing is tested regularly against the FATE
suite and other diverse file collections by libopenmpt upstream in
order to avoid false positives.
FATE passes with './configure --enable-libopenmpt' as well as with
'./configure --enable-libopenmpt --enable-libmodplug'.
libopenmpt probing adds about 5%..10% cpu time (depending on precise
usage pattern and host CPU and compiler version used for libopenmpt)
compared to all current internal FFmpeg probing functions combined in
tools/probetest for all of its module formats combined (currently 41
modules formats in libopenmpt 0.3.4 and 234 file formats in FFmpeg).
Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Reviewed-by: Josh de Kock <josh@itanimul.li>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Jörn Heusipp [Wed, 21 Feb 2018 11:11:47 +0000 (12:11 +0100)]
avformat/libopenmpt: Update file extensions list for libopenmpt 0.3
Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Reviewed-by: Josh de Kock <josh@itanimul.li>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Gyan Doshi [Thu, 15 Mar 2018 11:15:51 +0000 (16:45 +0530)]
ffmpeg.c - drain all decoded frames during stream_loop flush
When a decoded stream is being looped, after each post-EOF rewind,
decoders are flushed in seek_to_start(). This only drains 1 frame, and
thus the output has a few frames missing at the tail of each iteration
except the last.
With this patch, process_input is looped till process_input_packet
reaches EOF.
Fixes #7081
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
James Almer [Tue, 20 Mar 2018 03:55:28 +0000 (00:55 -0300)]
avcodec/mpeg2_metadata: unref output packet on failure
Move the check and unref call to the end to be consistent with other
bsfs.
Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Tue, 20 Mar 2018 03:55:27 +0000 (00:55 -0300)]
avcodec/h265_metadata: fix memory leak in case of output packet creation failure
Some function calls may fail after the output packet is initialized.
Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Tue, 20 Mar 2018 03:55:26 +0000 (00:55 -0300)]
avcodec/h264_metadata: fix memory leak in case of output packet creation failure
Some function calls may fail after the output packet is initialized.
Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Mon, 19 Mar 2018 02:25:32 +0000 (23:25 -0300)]
avcodec/mpeg4_unpack_bframes: reduce code duplication
Also fixes one potential leak of side data in out if
the av_packet_from_data() call fails.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Mon, 19 Mar 2018 03:21:19 +0000 (00:21 -0300)]
avcodec/mp3_header_decompress: don't free the user provided packet on error
It's owned by the caller.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Fri, 16 Mar 2018 21:58:04 +0000 (18:58 -0300)]
avcodec/vp9_superframe_split: move the reference in the bsf internal buffer
There's no need to allocate a new packet for it.
Signed-off-by: James Almer <jamrial@gmail.com>
Carl Eugen Hoyos [Fri, 16 Mar 2018 18:54:03 +0000 (19:54 +0100)]
lavfi/deshake: Check alignment before calling asm init function.
Do this for every frame to make sure dynamic filters do not
cause crashes.
Fixes ticket #7078.
Mark Thompson [Mon, 19 Mar 2018 23:12:01 +0000 (23:12 +0000)]
h264_metadata: Fix memory leak on multiple display orientation messages
Fixes CID #1430176.
Yingming Fan [Thu, 8 Mar 2018 07:56:56 +0000 (15:56 +0800)]
checkasm/hevc_idct : update test bit depth from 8 9 and 10 to 8 10 and 12
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Sun, 18 Mar 2018 22:12:39 +0000 (19:12 -0300)]
configure: add const_nan dependency to h264_metadata_bsf
Fixes compilation with some compilers.
Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
Jun Zhao [Wed, 14 Mar 2018 05:42:37 +0000 (13:42 +0800)]
lavc/mpeg2_metadata_bsf: support dump options.
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
Jun Zhao [Wed, 14 Mar 2018 05:42:28 +0000 (13:42 +0800)]
lavc/h265_metadata_bsf: support dump options.
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
Jun Zhao [Wed, 14 Mar 2018 05:42:19 +0000 (13:42 +0800)]
lavc/h264_metadata_bsf: support dump options.
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
James Almer [Fri, 16 Mar 2018 23:06:40 +0000 (20:06 -0300)]
avcodec/aac_adtstoasc: move the reference in the bsf internal buffer
There's no need to allocate a new packet for it.
Signed-off-by: James Almer <jamrial@gmail.com>
Mark Thompson [Sun, 18 Mar 2018 18:34:38 +0000 (18:34 +0000)]
hwcontext_vaapi: Always include DRM hwcontext header
Fixes building with VAAPI but not libdrm, which was broken by
389f4c3e0d0a26a7d3d2696017384874cf5e93fa. Just unconditionally include
the header, since it doesn't depend on libdrm being present.
Mark Thompson [Tue, 6 Mar 2018 18:49:27 +0000 (18:49 +0000)]
lavc: Add filter_units bitstream filter
This can remove units with types in or not in a given set from a stream.
For example, it can be used to remove all non-VCL NAL units from an H.264 or
H.265 stream.
Mark Thompson [Sun, 11 Mar 2018 21:16:25 +0000 (21:16 +0000)]
hwcontext_vaapi: Fix condition for DRM device derivation
vaGetDisplayDRM() is required for this code to work, libdrm is not.
Mark Thompson [Sun, 11 Mar 2018 17:27:15 +0000 (17:27 +0000)]
cbs: Add a table of all supported codec IDs
Use it as the set of codec IDs supported by the trace_headers BSF.
Mark Thompson [Sun, 11 Mar 2018 17:04:01 +0000 (17:04 +0000)]
h264_metadata: Remove unused fields
The SEI NAL is unused since
69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb,
while the AUD NAL is small and would more sensibly be on the stack.
Mark Thompson [Sun, 11 Mar 2018 16:39:03 +0000 (16:39 +0000)]
h264_metadata: Add support for display orientation SEI messages
Mark Thompson [Sun, 11 Mar 2018 14:42:09 +0000 (14:42 +0000)]
cbs_h265: Use helper macro for maximum values of fixed-width elements
Apply the same logic as the previous patch to H.265. There are no cases
which currently overflow here, but this is still more consistent.
Mark Thompson [Sun, 11 Mar 2018 14:40:23 +0000 (14:40 +0000)]
cbs_h264: Fix overflow in shifts
The type of the result of a shift operation is unaffected by the type of
the right operand, so some existing code overflows with undefined behaviour
when the element length is 32. Add a helper macro to calculate the maximum
value correctly and then use it everywhere this pattern appears.
Found-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
Felix Matouschek [Wed, 14 Mar 2018 12:14:07 +0000 (13:14 +0100)]
lavd: fix iterating of input and output devices
In the previous implementation the first input or output device
was skipped when device_next was called with prev = NULL
Signed-off-by: Felix Matouschek <felix@matouschek.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
Martin Vignali [Sat, 17 Mar 2018 21:20:34 +0000 (22:20 +0100)]
avfilter/vf_premultiply : fix unpremultiply_offset for rgb input