ffmpeg.git
4 years agolavf/qsv: clone the frame which may be managed by framework
Ruiling Song [Tue, 3 Apr 2018 01:50:20 +0000 (09:50 +0800)]
lavf/qsv: clone the frame which may be managed by framework

For filters based on framesync, the input frame was managed
by framesync, so we should not directly keep and destroy it,
instead we make a clone of it here, or else double-free will occur.
But for other filters not based on framesync, we still need to
free the input frame inside filter_frame.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
(cherry picked from commit d865783b6c8d4f96f5094ed72eff0f5a4a4908af)

4 years agolavf: make overlay_qsv work based on framesync
Ruiling Song [Tue, 3 Apr 2018 01:50:19 +0000 (09:50 +0800)]
lavf: make overlay_qsv work based on framesync

The existing version which was cherry-picked from Libav does not work
with FFmpeg framework, because ff_request_frame() was totally
different between Libav (recursive) and FFmpeg (non-recursive).
The existing overlay_qsv implementation depends on the recursive version
of ff_request_frame to trigger immediate call to request_frame() on input pad.
But this has been removed in FFmpeg since "lavfi: make request_frame() non-recursive."
Now that we have handy framesync support in FFmpeg, so I make it work
based on framesync. Some other fixing which is also needed to make
overlay_qsv work are put in a separate patch.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
(cherry picked from commit f3341a0452419c57faf4d28aebb24be5d41312f3)

4 years agoavformat/segafilm - revert keyframe detection
Gyan Doshi [Sat, 21 Apr 2018 07:14:12 +0000 (12:44 +0530)]
avformat/segafilm - revert keyframe detection

Keyframe detection was inverted in cfe1a9d311 in order to fix keyframe
flags set for the sample attached to trac #7091. However, that sample is
errantly muxed.

As noted at
https://web.archive.org/web/20020803104640/http://www.pcisys.net:80/~melanson/codecs/film-format.txt,
the original keyframe detection logic is correct, and this patch
restores it.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 9f9f56e6791f6c44ac8e4b97a8da5816ed542332)

4 years agoavformat/utils: refactor upstream_stream_timings
Aman Gupta [Thu, 19 Apr 2018 23:50:43 +0000 (16:50 -0700)]
avformat/utils: refactor upstream_stream_timings

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7b8daa771cbdafa6775e476c65afa659cc1afaac)

4 years agoavformat/utils: ignore outlier durations on subtitle/data streams as well
Aman Gupta [Thu, 19 Apr 2018 20:29:24 +0000 (13:29 -0700)]
avformat/utils: ignore outlier durations on subtitle/data streams as well

Similar to 4c9c4fe8b21, but for durations. This fixes #7151, where
the report duration and bitrate on a mpegts stream is wildly off
due to the dvb_teletext stream's timings.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fd6e89586c01d068fc8d2cea24292bf8ae836f74)

4 years agoChangelog: replace <next> by 4.0 n4.0
Michael Niedermayer [Thu, 19 Apr 2018 23:54:19 +0000 (01:54 +0200)]
Changelog: replace <next> by 4.0

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agolavf/http.c: Free allocated client URLContext in case of error.
Stephan Holljes [Fri, 12 Jan 2018 18:16:29 +0000 (19:16 +0100)]
lavf/http.c: Free allocated client URLContext in case of error.

Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7b6b8c92652d6683d97515352e4a9a4147b7da7c)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavdevice/android_camera: Fix AVClass.version
Michael Niedermayer [Thu, 19 Apr 2018 21:44:33 +0000 (23:44 +0200)]
avdevice/android_camera: Fix AVClass.version

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 13b77af2f0b56d6c87bb147947337981c21f4245)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec: Fix AVClass .version
Michael Niedermayer [Thu, 19 Apr 2018 21:44:13 +0000 (23:44 +0200)]
avcodec: Fix AVClass .version

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c0bce367e4932f0fb09195e6978ac1a5a60480a4)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/sheervideodata: Fix libavutil include
Michael Niedermayer [Thu, 19 Apr 2018 21:34:11 +0000 (23:34 +0200)]
avcodec/sheervideodata: Fix libavutil include

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 3dfe3436ac78607d7baf6f1f7f48691343d9d929)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/sbc: Fix non static function prefix
Michael Niedermayer [Thu, 19 Apr 2018 21:32:07 +0000 (23:32 +0200)]
avcodec/sbc: Fix non static function prefix

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9f1b99e7d076c9de1fefe971f1c70c96ebcf071b)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/opusenc_psy: Fix warning: ISO C90 forbids mixed declarations and code
Michael Niedermayer [Thu, 19 Apr 2018 21:28:26 +0000 (23:28 +0200)]
avcodec/opusenc_psy: Fix warning: ISO C90 forbids mixed declarations and code

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f8b17fe33233237eea304d4fb0636539a131c1b2)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/dsicinvideo: Fail if there is only a small fraction of the data available...
Michael Niedermayer [Mon, 16 Apr 2018 20:29:09 +0000 (22:29 +0200)]
avcodec/dsicinvideo: Fail if there is only a small fraction of the data available that comprises a full frame

Fixes: Timeout
Fixes: 6306/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DSICINVIDEO_fuzzer-5079253549842432

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5549488bbf3a23c0fb9833cefc6354f97055dd96)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/dsicinvideo: Propagate errors from cin_decode_rle()
Michael Niedermayer [Mon, 16 Apr 2018 20:28:23 +0000 (22:28 +0200)]
avcodec/dsicinvideo: Propagate errors from cin_decode_rle()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 942217b153a9bff2d17463957abd772fcd72b400)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/dfa: Check dimension against maximum
Michael Niedermayer [Mon, 16 Apr 2018 20:04:53 +0000 (22:04 +0200)]
avcodec/dfa: Check dimension against maximum

The headers from where the dimensions are read in actual files
are limited to 16bit per component.

Fixes: Timeout
Fixes: 6305/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DFA_fuzzer-4824270749302784

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9d5a4fcfbb51edc871bdb1c67a88223cbfb1c0e4)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/cinepak: Skip empty frames
Michael Niedermayer [Tue, 17 Apr 2018 00:13:43 +0000 (02:13 +0200)]
avcodec/cinepak: Skip empty frames

Speeds up decoding from 3 to 0.1 seconds for 6302/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CINEPAK_fuzzer-5626371985375232
Fixes: Timeout

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9033920bec9ccf17de205fc17c2b330906b200f5)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/cinepak: move some checks prior to frame allocation
Michael Niedermayer [Tue, 17 Apr 2018 00:13:42 +0000 (02:13 +0200)]
avcodec/cinepak: move some checks prior to frame allocation

Speeds up decoding from 8 to 3 seconds for 6302/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CINEPAK_fuzzer-5626371985375232
Fixes: Timeout

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2324ef1ff32e5effd6f295bca80580ae4816be0b)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoswresample/arm: remove unintentional relocation.
Rahul Chaudhry [Wed, 18 Apr 2018 23:29:39 +0000 (16:29 -0700)]
swresample/arm: remove unintentional relocation.

Branch to global symbol results in reference to PLT, and when compiling
for THUMB-2 - in a R_ARM_THM_JUMP19 relocation. Some linkers don't
support this relocation (ld.gold), while others can end up truncating
the relocation to fit (ld.bfd).

Convert this branch through PLT into a direct branch that the assembler
can resolve locally.

See https://github.com/android-ndk/ndk/issues/337 for background.

The current workaround is to disable neon during gstreamer build,
which is not optimal and can be reverted after this patch:
https://github.com/freedesktop/gstreamer-cerbero/commit/41556c415739fbc3a72c7eaee7e70a565b719b2f

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b22db4f465c9adb2cf1489e04f7b65ef6bb55b8b)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agodoc/APIchanges: Fix typos in hashes
Michael Niedermayer [Mon, 16 Apr 2018 16:23:12 +0000 (18:23 +0200)]
doc/APIchanges: Fix typos in hashes

Thanks-to: Moritz Barsnick <barsnick@gmx.net> for finding the correct ones

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ec8a5262b03f85158d722dbc8b8f30cb6bd67e0f)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/mediacodecdec_common: make stride and slice-height non-mandatory fields
Matthieu Bouron [Wed, 11 Apr 2018 08:28:56 +0000 (10:28 +0200)]
avcodec/mediacodecdec_common: make stride and slice-height non-mandatory fields

Fixes decoding on the Samsung Chromebook Pro which do not set the codec
output format stride and slice-height fields.

(cherry picked from commit 67d0911f27e29d551865dbca3af5c49abe029885)

4 years agoavformat/tls_schannel: fix handling of EOF after avio changes
Hendrik Leppkes [Wed, 18 Apr 2018 12:09:19 +0000 (14:09 +0200)]
avformat/tls_schannel: fix handling of EOF after avio changes

(cherry picked from commit 5c6365af454fb24f20d753ed99dd8e2b60e85035)

4 years agoconfigure: fix clang-cl check in the MSVC section
Hendrik Leppkes [Wed, 18 Apr 2018 14:33:13 +0000 (16:33 +0200)]
configure: fix clang-cl check in the MSVC section

Without properly grouping the checks, the second test would execute for
MSVC cl.exe, which results in configure getting stuck since cl.exe -? is
an interactive paginated help screen, waiting for input.

4 years agoavdevice/iec61883: free the private context at the end
James Almer [Wed, 18 Apr 2018 18:32:10 +0000 (15:32 -0300)]
avdevice/iec61883: free the private context at the end

Fixes part of ticket #7146.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 5079e96bcc7aaa9cae82a58397ce986e124028e4)

4 years agoavdevice/iec61883: return reference counted packets
James Almer [Wed, 18 Apr 2018 18:19:40 +0000 (15:19 -0300)]
avdevice/iec61883: return reference counted packets

Fixes part of ticket #7146, dealing with leaks of packet data since
commit 87c88122703f2befcf96383d05bdf14373c22df9.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit b8629654c6460a28c507f816a977914e3a6f2520)

4 years agoavformat/movenc: support writing iTunes cover image
Timo Teräs [Sat, 14 Apr 2018 18:32:11 +0000 (21:32 +0300)]
avformat/movenc: support writing iTunes cover image

Fixes https://trac.ffmpeg.org/ticket/2798

This makes movenc handle AV_DISPOSITION_ATTACHED_PIC and write
the associated pictures in iTunes cover atom. This corresponds
to how 'mov' demuxer parses and exposes the cover images when
reading.

Most of the existing track handling loops properly ignore
these 'virtual streams' as MOVTrack->entry is never incremented
for them. However, additional tests are added as needed to ignore
them.

Tested to produce valid output with:
  ffmpeg -i movie.mp4 -i thumb.jpg -disposition:v:1 attached_pic \
         -map 0 -map 1 -c copy movie-with-cover.mp4

The cover image is also copied correctly with:
  ffmpeg -i movie-with-cover.mp4 -map 0 -c copy out.mp4

AtomicParseley says that the attached_pic stream is properly
not visible in the main tracks of the file.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
(cherry picked from commit 9af71b326fda1c6f32a26d465f7740110113e759)

4 years agoffprobe: report unavailable SAR correctly in stream info
Timo Teräs [Thu, 12 Apr 2018 08:07:36 +0000 (11:07 +0300)]
ffprobe: report unavailable SAR correctly in stream info

av_guess_sample_aspect_ratio() will return undefined or missing
value as {0,1}. This fixes show_stream() to check numerator to
display 'N/A' when appropriate. show_frame() does this already
correctly.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
(cherry picked from commit c663dce031b3973e37c83ae1818f1484e1cf482c)

4 years agoconfigure: add nvcc to CMDLINE_SET
Timo Rothenpieler [Mon, 16 Apr 2018 20:35:23 +0000 (22:35 +0200)]
configure: add nvcc to CMDLINE_SET

This was somehow forgotten and nobody noticed until now.

4 years agoavformat/flacenc: add flac_init()
James Almer [Mon, 16 Apr 2018 15:44:35 +0000 (12:44 -0300)]
avformat/flacenc: add flac_init()

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 6838359448faeceb4830e7a1cf3ca6e36fb7e4a7)

4 years agoavformat/flacenc: support writing attached pictures
Rodger Combs [Wed, 4 Apr 2018 04:17:24 +0000 (01:17 -0300)]
avformat/flacenc: support writing attached pictures

Usage of packet queueing API and some cleaning done by the committer.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 00d8598eba2e8dce31af250d6ecaec37254475aa)

4 years agoavformat/movenc: forbid muxing AV1 streams until the spec is finished
James Almer [Mon, 16 Apr 2018 00:33:44 +0000 (21:33 -0300)]
avformat/movenc: forbid muxing AV1 streams until the spec is finished

This prevents creating potentially broken files, as both the AV1 and
the AV1 in ISOMBFF specs are unfinished.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 62bdbb5ce0c54b9f73c9b2580467ab1e6d76b70b)

4 years agoconfigure: extend the check for bcrypt
James Almer [Sun, 15 Apr 2018 23:33:37 +0000 (20:33 -0300)]
configure: extend the check for bcrypt

Some old mingw-w64 builds seem to provide an incomplete implementation
of the API. Add an extra check to make sure it's disabled for those.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit c04609eefce0183d460430f5014f7f8948170770)

4 years agoUpdate bunch of versions to 4.0
Michael Niedermayer [Mon, 16 Apr 2018 10:42:29 +0000 (12:42 +0200)]
Update bunch of versions to 4.0

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoadd release notes based on release 3.4
Michael Niedermayer [Wed, 12 Apr 2017 00:26:45 +0000 (02:26 +0200)]
add release notes based on release 3.4

Name suggestion was from Kieran

(cherry picked from commit b1ec41a64f2def0ce7d5b2b35d9ef478a4a35d26)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoBump minor versions for branching release/4.0
Michael Niedermayer [Mon, 16 Apr 2018 09:47:03 +0000 (11:47 +0200)]
Bump minor versions for branching release/4.0

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agodoc/APIchanges: Add 4.0 cut point
Michael Niedermayer [Mon, 16 Apr 2018 10:21:39 +0000 (12:21 +0200)]
doc/APIchanges: Add 4.0 cut point

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agodoc/APIchanges: Fill in missing stuff
Michael Niedermayer [Mon, 16 Apr 2018 10:06:47 +0000 (12:06 +0200)]
doc/APIchanges: Fill in missing stuff

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavfilter/showvolume : cosmetic move bracket after func declaration to a new line
Martin Vignali [Mon, 16 Apr 2018 09:33:14 +0000 (11:33 +0200)]
avfilter/showvolume : cosmetic move bracket after func declaration to a new line

4 years agoavfilter/showvolume : add persistent max display
Martin Vignali [Mon, 16 Apr 2018 09:32:48 +0000 (11:32 +0200)]
avfilter/showvolume : add persistent max display

draw a color line for the max level in the given duration

4 years agoavfilter/showvolume : add display scale option
Martin Vignali [Mon, 16 Apr 2018 09:31:43 +0000 (11:31 +0200)]
avfilter/showvolume : add display scale option

linear (current behaviour) or log display (more close to classic audio meter)

4 years agoavfilter/af_headphone: fix type=time with hrir=multich
Paul B Mahol [Mon, 16 Apr 2018 07:31:11 +0000 (09:31 +0200)]
avfilter/af_headphone: fix type=time with hrir=multich

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavformat/hlsenc: avformat/hlsenc: add error message for encrypt fmp4 mode
Steven Liu [Mon, 16 Apr 2018 06:35:14 +0000 (14:35 +0800)]
avformat/hlsenc: avformat/hlsenc: add error message for encrypt fmp4 mode

and refine the warning message when use both hls_key_info_file and hls_enc

Reviewed-by: Gyan Doshi <ffmpeg@gyani.pro>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
4 years agoamfenc: Remove spurious initialisations
Mark Thompson [Sat, 14 Apr 2018 14:46:15 +0000 (15:46 +0100)]
amfenc: Remove spurious initialisations

Also minor cosmetics.

4 years agoamfenc: Add DXVA2 hardware frame input support
Alexander Kravchenko [Sat, 14 Apr 2018 14:46:10 +0000 (15:46 +0100)]
amfenc: Add DXVA2 hardware frame input support

Adds support for AMF initialisation from a DXVA2 (Direct3D9) device, and
then allows passing DXVA2 surfaces into an AMF encoder.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
4 years agoamfenc: Ensure that the software format of hardware frames is valid
Alexander Kravchenko [Sat, 14 Apr 2018 14:46:05 +0000 (15:46 +0100)]
amfenc: Ensure that the software format of hardware frames is valid

Signed-off-by: Mark Thompson <sw@jkqxz.net>
4 years agoamfenc: Do not automatically download/upload unknown hardware input frames
Mark Thompson [Sat, 14 Apr 2018 14:46:00 +0000 (15:46 +0100)]
amfenc: Do not automatically download/upload unknown hardware input frames

Supplying a hardware input frame which is not in the input hardware frames
context is not allowed by the API, so additional code to handle it is not
necessary.  Further, handling it automatically results in very low
performance - it is more appropriate to fail immediately so that the user
can fix their incorrect setup.

4 years agoamfenc: Fail to open if the user-supplied device is not usable
Mark Thompson [Sat, 14 Apr 2018 14:45:55 +0000 (15:45 +0100)]
amfenc: Fail to open if the user-supplied device is not usable

If the user supplies a device or frames context then it is an error
not to use it; this is consistent with other hardware components.

Also factorise out the D3D11 initialisation and improve error
messages.

4 years agoconfigure: fix clang-cl detection
Alexander Bilyak [Thu, 1 Feb 2018 10:52:24 +0000 (11:52 +0100)]
configure: fix clang-cl detection

When using clang-cl it expects parameters passed in MSVC-style, so appropriate toolchain should be selected.
As soon as both clang and clang-cl report themselfs as "clang" with -v option the only chance to detect
clang-cl is passing -? option to both which is valid for clang-cl.exe and not for clang.exe.

Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavfilter/af_headphone: add single hrir multichannel stream mode
Paul B Mahol [Sun, 15 Apr 2018 10:48:12 +0000 (12:48 +0200)]
avfilter/af_headphone: add single hrir multichannel stream mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavcodec/nvdec: correctly set intra_pic_flag for h264/hevc
Timo Rothenpieler [Fri, 13 Apr 2018 17:39:24 +0000 (19:39 +0200)]
avcodec/nvdec: correctly set intra_pic_flag for h264/hevc

4 years agoavcodec/aac_ac3_parser: account for data already in the parsing buffer
Hendrik Leppkes [Thu, 5 Apr 2018 15:09:35 +0000 (17:09 +0200)]
avcodec/aac_ac3_parser: account for data already in the parsing buffer

If a frame starts very close to a packet boundary, the start code may
already have been added to the parsing buffer, indicated by a small
negative value of "i", while the header is still being tracked in the
"state" variable.

Reduce the remaining size accordingly, otherwise trying to find the next
frame could skip over the frame header and lump two frames together as
one.

4 years agoavcodec/dxv: add support for "high" quality mode
Paul B Mahol [Thu, 5 Apr 2018 14:44:28 +0000 (16:44 +0200)]
avcodec/dxv: add support for "high" quality mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavutil/random_seed: use bcrypt instead of the old wincrypt API
Steve Lhomme [Tue, 3 Apr 2018 09:44:25 +0000 (11:44 +0200)]
avutil/random_seed: use bcrypt instead of the old wincrypt API

Remove the wincrypt API calls since we don't support XP anymore and bcrypt is
available since Vista, even on Windows Store builds.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoavfilter/af_headphone: fix memory leak and overread
Paul B Mahol [Sat, 14 Apr 2018 17:42:16 +0000 (19:42 +0200)]
avfilter/af_headphone: fix memory leak and overread

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavfilter/af_headphone: do not output invalid samples when flushing
Paul B Mahol [Sat, 14 Apr 2018 16:38:54 +0000 (18:38 +0200)]
avfilter/af_headphone: do not output invalid samples when flushing

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavfilter/af_headphone: fix flushing
Paul B Mahol [Sat, 14 Apr 2018 15:49:54 +0000 (17:49 +0200)]
avfilter/af_headphone: fix flushing

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavfilter/af_headphone: improve performance and reduce latency
Paul B Mahol [Sat, 14 Apr 2018 15:25:06 +0000 (17:25 +0200)]
avfilter/af_headphone: improve performance and reduce latency

Remove not needed code.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agotests/checkasm/checkasm: Provide verbose failure information on float_near_abs_eps...
Michael Niedermayer [Fri, 13 Apr 2018 00:34:01 +0000 (02:34 +0200)]
tests/checkasm/checkasm: Provide verbose failure information on float_near_abs_eps() failures

This will make understanding failures and adjusting EPS easier

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/utils: use the existing packet reference when parsing complete frames
James Almer [Thu, 12 Apr 2018 03:06:30 +0000 (00:06 -0300)]
avformat/utils: use the existing packet reference when parsing complete frames

If the parser returns full frames, then the output pointer retured by
av_parser_parse2() is guaranteed to point to data contained in the
input packet's buffer.

Create a new reference to said buffer in that case, to avoid
unnecessary data copy when queueing the packet later in the function.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce'
James Almer [Fri, 13 Apr 2018 23:59:12 +0000 (20:59 -0300)]
Merge commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce'

* commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce':
  Drop Windows XP support remnants

Merged-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit 'c7ab6aff66cba2f265f656ce8d56aa428d4ada76'
James Almer [Fri, 13 Apr 2018 23:53:31 +0000 (20:53 -0300)]
Merge commit 'c7ab6aff66cba2f265f656ce8d56aa428d4ada76'

* commit 'c7ab6aff66cba2f265f656ce8d56aa428d4ada76':
  w32pthreads: always use Vista+ API, drop XP support

This commit is a noop, see 9b121dfc32810250938021952aab4172a988cb56

Merged-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit 'c31f6b1d61759436ef50c094e7f4c8005e97614a'
James Almer [Fri, 13 Apr 2018 23:44:56 +0000 (20:44 -0300)]
Merge commit 'c31f6b1d61759436ef50c094e7f4c8005e97614a'

* commit 'c31f6b1d61759436ef50c094e7f4c8005e97614a':
  avprobe: Print a user-friendly version of the display matrix
  avprobe: Support printing strings with empty keys

This commit is a noop. ffprobe is considerably different than avprobe
and is already printing display matrix values in a user readable way.

Merged-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit 'cc06f7bd10c236539b4f6f87b795c459dd873770'
James Almer [Fri, 13 Apr 2018 23:41:00 +0000 (20:41 -0300)]
Merge commit 'cc06f7bd10c236539b4f6f87b795c459dd873770'

* commit 'cc06f7bd10c236539b4f6f87b795c459dd873770':
  libx265: Support tiny video sizes

Merged-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit '54307b35311e9a871b3d8ecb2b2eecfc16de0163'
James Almer [Fri, 13 Apr 2018 23:38:46 +0000 (20:38 -0300)]
Merge commit '54307b35311e9a871b3d8ecb2b2eecfc16de0163'

* commit '54307b35311e9a871b3d8ecb2b2eecfc16de0163':
  lavc/qsvdec: set complete_frame flags for progressive picture

Merged-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42'
James Almer [Fri, 13 Apr 2018 23:34:23 +0000 (20:34 -0300)]
Merge commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42'

* commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42':
  qsv: adding Multi Frame Encode support

Merged-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit '29a8ed766354c45c9be4b8512c5b2eb25a450cdc'
James Almer [Fri, 13 Apr 2018 22:58:47 +0000 (19:58 -0300)]
Merge commit '29a8ed766354c45c9be4b8512c5b2eb25a450cdc'

* commit '29a8ed766354c45c9be4b8512c5b2eb25a450cdc':
  lavf/qsvvpp: bypass vpp if not needed.

Merged-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit '52ed83fa1a7f5170447eff6fad0b6c57119596e9'
James Almer [Fri, 13 Apr 2018 22:58:05 +0000 (19:58 -0300)]
Merge commit '52ed83fa1a7f5170447eff6fad0b6c57119596e9'

* commit '52ed83fa1a7f5170447eff6fad0b6c57119596e9':
  lavc/qsvdec: expose frame pic_type and key_frame

Merged-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit 'b0958698ea2b976063cb1d683becc213040c709b'
James Almer [Fri, 13 Apr 2018 22:54:29 +0000 (19:54 -0300)]
Merge commit 'b0958698ea2b976063cb1d683becc213040c709b'

* commit 'b0958698ea2b976063cb1d683becc213040c709b':
  libaom: remove references to RGB pixfmts
  libaom: remove references to yuv440p pixfmt

This commit is a noop, see d039d7d4a4a56861e210761902bcf0617e0800fa

Merged-by: James Almer <jamrial@gmail.com>
4 years agoavformat/utils: Check cur_dts in update_initial_timestamps() more
Michael Niedermayer [Fri, 13 Apr 2018 09:38:48 +0000 (11:38 +0200)]
avformat/utils: Check cur_dts in update_initial_timestamps() more

Fixes: runtime error: signed integer overflow: 18133149658382192 - -9223090561878065151 cannot be represented in type 'long long'
Fixes: crbug 831552

Reported-by: Matt Wolenetz <wolenetz@google.com>
Reviewed-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/utils: Enforce minimum width also for VP5/6
Michael Niedermayer [Wed, 11 Apr 2018 17:50:52 +0000 (19:50 +0200)]
avcodec/utils: Enforce minimum width also for VP5/6

Fixes: out of array access
Fixes: poc_0411

Found-by: GwanYeong Kim <gy741.kim@gmail.com>
Tested-by: GwanYeong Kim <gy741.kim@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/truemotion2: Propagate out of bounds error from GET_TOK()
Michael Niedermayer [Tue, 10 Apr 2018 20:24:03 +0000 (22:24 +0200)]
avcodec/truemotion2: Propagate out of bounds error from GET_TOK()

Fixes: Timeout
Fixes: 6389/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION2_fuzzer-5695918121680896

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/utils: Fix integer overflow in end time calculation in update_stream_timings()
Michael Niedermayer [Wed, 11 Apr 2018 16:55:57 +0000 (18:55 +0200)]
avformat/utils: Fix integer overflow in end time calculation in update_stream_timings()

Fixes: crbug 829153

Reported-by: Matt Wolenetz <wolenetz@google.com>
Reviewed-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agotests/fate/filter-video: Use a bitexact/lossless input sample for fate-filter-metadat...
Michael Niedermayer [Fri, 13 Apr 2018 13:50:54 +0000 (15:50 +0200)]
tests/fate/filter-video: Use a bitexact/lossless input sample for fate-filter-metadata-silencedetect

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/utils: Stream specifier enhancement 2.
Bela Bodecs [Fri, 13 Apr 2018 10:11:32 +0000 (12:11 +0200)]
avformat/utils: Stream specifier enhancement 2.

In some cases, mainly working with multiprogram mpeg-ts containers as
input, it would be handy to select sub stream of a specific program by
their metadata.
This patch makes it possible to narrow the stream selection among
streams of the specified program by stream metadata.

Examples:
p:601:m:language:hun  will select all sub streams of program with id 601
where sub streams have metadata key named 'language' with value 'hun'.
p:602:m:guide  will select all sub streams of program with id 602 where
sub streams have metadata key named 'guide'.

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoMAINTAINERS: add myself to documentation section
Gyan Doshi [Wed, 11 Apr 2018 16:16:03 +0000 (21:46 +0530)]
MAINTAINERS: add myself to documentation section

Signed-off-by: Lou Logan <lou@lrcd.com>
4 years agoconfigure: make the C11 atomics check more robust
Michael Niedermayer [Fri, 13 Apr 2018 14:04:40 +0000 (11:04 -0300)]
configure: make the C11 atomics check more robust

C11 atomics allow direct access. This check should prevent the usage
of bogus stdatomic.h available on some systems.

Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoconfigure: disable direct stripping in OpenBSD
James Almer [Sat, 7 Apr 2018 21:52:02 +0000 (18:52 -0300)]
configure: disable direct stripping in OpenBSD

It appears strip -o creates new files without preserving permissions
from the source binary, resulting in non executable files.

Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoavcodec/magicyuvenc: mark as experimental
Paul B Mahol [Fri, 13 Apr 2018 11:33:44 +0000 (13:33 +0200)]
avcodec/magicyuvenc: mark as experimental

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavcodec/vp9: add profile 2 10-bit DXVA2/D3D11 decoding support
Hendrik Leppkes [Mon, 29 May 2017 10:09:47 +0000 (12:09 +0200)]
avcodec/vp9: add profile 2 10-bit DXVA2/D3D11 decoding support

Fixes trac ticket #7099.

4 years agoavcodec/dxva2: add VP9 10-bit Profile2 mode mappings
Hendrik Leppkes [Wed, 11 Apr 2018 11:59:36 +0000 (13:59 +0200)]
avcodec/dxva2: add VP9 10-bit Profile2 mode mappings

4 years agoavcodec/nv{enc,dec}: use sane version checking macro
Timo Rothenpieler [Fri, 13 Apr 2018 07:36:49 +0000 (09:36 +0200)]
avcodec/nv{enc,dec}: use sane version checking macro

For some odd reason, the Nvidia version macros puts the minor version in
the msb, so comparing against it is impossible.

4 years agoavformat/hlsenc: add option hls_delete_threshold
Steven Liu [Fri, 13 Apr 2018 07:39:49 +0000 (15:39 +0800)]
avformat/hlsenc: add option hls_delete_threshold

When using hls_list_size with hls_flags delete_segments, currently
hls_list_size * 2 +- segments remain on disk. With this new option,
the amount of disk space used can be controlled by the user.

fix ticket: #7131

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
Signed-off-by: Aman Gupta <aman@tmm1.net>
4 years agoavcodec/nvdec_hevc: add support for new extended sps/pps flags from SDK 8.1
Timo Rothenpieler [Wed, 11 Apr 2018 11:47:27 +0000 (13:47 +0200)]
avcodec/nvdec_hevc: add support for new extended sps/pps flags from SDK 8.1

4 years agoavfilter: add vfrdet filter
Paul B Mahol [Wed, 20 Dec 2017 13:15:02 +0000 (14:15 +0100)]
avfilter: add vfrdet filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavcodec/mjpegdec: Check input buffer size.
Michael Niedermayer [Tue, 10 Apr 2018 14:12:15 +0000 (16:12 +0200)]
avcodec/mjpegdec: Check input buffer size.

Fixes: Timeout
Fixes: 6381/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEGLS_fuzzer-5665032743419904

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/h264_slice: Fix integer overflow with last_poc
Michael Niedermayer [Fri, 6 Apr 2018 22:34:25 +0000 (00:34 +0200)]
avcodec/h264_slice: Fix integer overflow with last_poc

Fixes: signed integer overflow: 2147483646 - -2816 cannot be represented in type 'int'
Fixes: crbug 823145

Reported-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/mov: Fix extradata memleak
Michael Niedermayer [Fri, 6 Apr 2018 21:56:57 +0000 (23:56 +0200)]
avformat/mov: Fix extradata memleak

Fixes: crbug 822705

Reported-by: Matt Wolenetz <wolenetz@google.com>
Reviewed-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agofate: to test program sub stream selection by its type in mpegts
Bela Bodecs [Wed, 11 Apr 2018 20:33:02 +0000 (22:33 +0200)]
fate: to test program sub stream selection by its type in mpegts

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/utils: Stream specifier enhancement
Bela Bodecs [Sun, 1 Apr 2018 21:29:14 +0000 (23:29 +0200)]
avformat/utils: Stream specifier enhancement

Currently when specifying the program id you can only decide to select
all stream of the specified program (e.g. p:103 will select all streams
of program 103) or narrow the selection to a specific stream sub index
(e.g. p:145:1 will select 2nd stream of program 145.) But you can not
specify like all audio streams of program 145 or 3rd video stream of
program 311.
In some case, mainly working with multiprogram mpeg-ts containers as
input, this feature would be handy.
This patch makes it possible to narrow the stream selection among
streams of the specified program by stream type and optionally its
index. Handled types: a, v, s, d.
Examples: p:601:a  will select all audio streams of program 601,
p:603:a:1 will select 2nd audio streams of program 603,
p:604:v:0 will select first video stream of program 604.

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agodoc/filters: fix lenscorrection k1 & k2 typo
Lou Logan [Thu, 12 Apr 2018 20:44:49 +0000 (12:44 -0800)]
doc/filters: fix lenscorrection k1 & k2 typo

0 means no correction, not 0.5.

Also document ranges and defaults for options.

Signed-off-by: Lou Logan <lou@lrcd.com>
4 years agolavf/hlsproto: use ff_get_chomp_line
Jun Zhao [Mon, 9 Apr 2018 15:13:03 +0000 (23:13 +0800)]
lavf/hlsproto: use ff_get_chomp_line

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
4 years agolavf/hlsenc: use ff_get_chomp_line
Jun Zhao [Mon, 9 Apr 2018 15:12:16 +0000 (23:12 +0800)]
lavf/hlsenc: use ff_get_chomp_line

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
4 years agolavf/hls: use ff_get_chomp_line
Jun Zhao [Mon, 9 Apr 2018 15:11:02 +0000 (23:11 +0800)]
lavf/hls: use ff_get_chomp_line

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
4 years agolavf/aviobuf: add ff_get_chomp_line
Jun Zhao [Mon, 9 Apr 2018 15:05:42 +0000 (23:05 +0800)]
lavf/aviobuf: add ff_get_chomp_line

Same as ff_get_line but strip the white-space characters in the
string tail.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
4 years agodoc: update loglevel option documentation
Tobias Rapp [Tue, 3 Apr 2018 07:24:21 +0000 (09:24 +0200)]
doc: update loglevel option documentation

Updates documentation after the changes to loglevel flag prefix parsing
in 4b736bc921ed96ad6d312ce0cbe0de29b9e3fe81.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
4 years agolibavformat/aac: Parse all ID3 tags present between ADTS frames
Mattias Amnefelt [Mon, 2 Apr 2018 09:30:40 +0000 (11:30 +0200)]
libavformat/aac: Parse all ID3 tags present between ADTS frames

Some ADTS streams can have multiple ID3 tags between frames. This
change parses all of them, rather than just the first one.

Signed-off-by: Mattias Amnefelt <mattiasa@avm.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/dpx: Support for RGB 12-bit packed decoding
Jérôme Martinez [Tue, 10 Apr 2018 16:20:23 +0000 (18:20 +0200)]
avcodec/dpx: Support for RGB 12-bit packed decoding

Limited to widths multiple of 8 (RGB) due to lack of test files for such corner case

This partially fixes ticket #5639

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoconfigure: Disable direct stripping for AIX.
Carl Eugen Hoyos [Thu, 12 Apr 2018 00:30:21 +0000 (02:30 +0200)]
configure: Disable direct stripping for AIX.

AIX strip doesn't know the option -o.

4 years agoavcodec/mpegpicture: fix "stride changed" failures in gray mode
Aman Gupta [Tue, 10 Apr 2018 17:17:52 +0000 (10:17 -0700)]
avcodec/mpegpicture: fix "stride changed" failures in gray mode

Before adding uvlinesize check, I was seeing failures decoding
some video with ffmpeg compiled with --enable-gray and using AV_CODEC_FLAG_GRAY.

[mpeg2video @ 0x7fa193818c00] get_buffer() failed (stride changed: linesize=1280/1280 uvlinesize=0/640)
[mpeg2video @ 0x7fa193818c00] get_buffer() failed (stride changed: linesize=1280/1280 uvlinesize=0/640)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/nvenc: update required driver versions for nvenc
Timo Rothenpieler [Wed, 11 Apr 2018 12:28:36 +0000 (14:28 +0200)]
avcodec/nvenc: update required driver versions for nvenc

4 years agoavcodec/nvenc: add support for B frames as ref
Timo Rothenpieler [Wed, 11 Apr 2018 12:22:20 +0000 (14:22 +0200)]
avcodec/nvenc: add support for B frames as ref