ffmpeg.git
2 years agoavcodec/shorten: Move buffer allocation and offset init to end of read_header()
Michael Niedermayer [Sun, 10 Sep 2017 19:10:16 +0000 (21:10 +0200)]
avcodec/shorten: Move buffer allocation and offset init to end of read_header()

They are time consuming operations, performing them after the other checks
improves the speed with damaged input dramatically.

Fixes: Timeout
Fixes: 2928/clusterfuzz-testcase-4992812120539136

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/hevc_ps: improve check for missing default display window bitstream
James Almer [Fri, 8 Sep 2017 00:23:04 +0000 (21:23 -0300)]
avcodec/hevc_ps: improve check for missing default display window bitstream

Fixes ticket #6644

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agovp9: assert -> av_assert and fix associated compile error.
Ronald S. Bultje [Mon, 11 Sep 2017 19:41:24 +0000 (15:41 -0400)]
vp9: assert -> av_assert and fix associated compile error.

2 years agoMAINTAINERS: Add myself to maintainer of dashdec
Steven Liu [Mon, 11 Sep 2017 14:40:46 +0000 (22:40 +0800)]
MAINTAINERS: Add myself to maintainer of dashdec

Add dash maintainer.

2 years agoChangelog: add vp9 tile threading support
Ilia Valiakhmetov [Sun, 10 Sep 2017 18:18:36 +0000 (01:18 +0700)]
Changelog: add vp9 tile threading support

Signed-off-by: Ilia Valiakhmetov <zakne0ne@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2 years agovp9: fix compilation with threading disabled.
Ronald S. Bultje [Sun, 10 Sep 2017 03:24:31 +0000 (23:24 -0400)]
vp9: fix compilation with threading disabled.

2 years agoavcodec/jpeg2000dsp: Fix multiple integer overflows in ict_int()
Michael Niedermayer [Fri, 8 Sep 2017 21:29:12 +0000 (23:29 +0200)]
avcodec/jpeg2000dsp: Fix multiple integer overflows in ict_int()

Fixes: runtime error: signed integer overflow: 22553 * -188962 cannot be represented in type 'int'
Fixes: 3042/clusterfuzz-testcase-minimized-5174210131394560

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/clearvideo: Only output a frame if one is coded in the packet
Michael Niedermayer [Sat, 9 Sep 2017 23:32:52 +0000 (01:32 +0200)]
avcodec/clearvideo: Only output a frame if one is coded in the packet

Fixes: Timeout (183 ms instead of about 20 sec)
Fixes: 3147/clusterfuzz-testcase-4870592182353920

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/hevcdsp_template: Fix undefined shift in put_hevc_pel_bi_w_pixels
Michael Niedermayer [Sat, 9 Sep 2017 23:32:51 +0000 (01:32 +0200)]
avcodec/hevcdsp_template: Fix undefined shift in put_hevc_pel_bi_w_pixels

Fixes: runtime error: left shift of negative value -95
Fixes: 3077/clusterfuzz-testcase-minimized-4684917524922368

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/diracdec: Fix overflow in DC computation
Michael Niedermayer [Sat, 9 Sep 2017 23:32:50 +0000 (01:32 +0200)]
avcodec/diracdec: Fix overflow in DC computation

Fixes: runtime error: signed integer overflow: 11896 + 2147483646 cannot be represented in type 'int'
Fixes: 3053/clusterfuzz-testcase-minimized-6355082062856192

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoadd missing ignore files
Jesse Liu [Sun, 10 Sep 2017 05:31:16 +0000 (13:31 +0800)]
add missing ignore files

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/scpr: optimize shift loop.
Michael Niedermayer [Fri, 8 Sep 2017 21:29:13 +0000 (23:29 +0200)]
avcodec/scpr: optimize shift loop.

Speeds code up from 50sec to 15sec

Fixes Timeout
Fixes: 3242/clusterfuzz-testcase-5811951672229888

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agobuild: Skip generating .version files when cleaning
Diego Biurrun [Tue, 28 Feb 2017 21:12:00 +0000 (22:12 +0100)]
build: Skip generating .version files when cleaning

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavfilter/vf_convolve: use av_clip_uint8
James Almer [Sun, 10 Sep 2017 01:02:25 +0000 (22:02 -0300)]
avfilter/vf_convolve: use av_clip_uint8

Fixes fate-source.

2 years agoavcodec/dirac_vlc: limit res_bits in APPEND_RESIDUE()
Michael Niedermayer [Sat, 9 Sep 2017 13:51:45 +0000 (15:51 +0200)]
avcodec/dirac_vlc: limit res_bits in APPEND_RESIDUE()

Fixes: runtime error: left shift of 1073741838 by 1 places cannot be represented in type 'int32_t' (aka 'int')
Fixes: 3279/clusterfuzz-testcase-minimized-4564805744590848

Suggested-by: <atomnuker>
Reviewed-by: <atomnuker>
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavfilter: add generic FFT video convolve filter
Paul B Mahol [Thu, 31 Aug 2017 10:07:58 +0000 (12:07 +0200)]
avfilter: add generic FFT video convolve filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agolavc/vaapi_encode_mpeg2: fix frame rate calc error when use time_base.
Jun Zhao [Wed, 6 Sep 2017 03:07:15 +0000 (23:07 -0400)]
lavc/vaapi_encode_mpeg2: fix frame rate calc error when use time_base.

fix frame rate calc error when use time_base.

Signed-off-by: Yun Zhou <yunx.z.zhou@intel.com>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoAdd SUP/PGS subtitle muxer
Petri Hintukainen [Tue, 30 Sep 2014 08:01:17 +0000 (11:01 +0300)]
Add SUP/PGS subtitle muxer

Fixes ticket #2208

2 years agoavformat/dashdec: free resource allocated by xml
Steven Liu [Sat, 9 Sep 2017 00:34:07 +0000 (08:34 +0800)]
avformat/dashdec: free resource allocated by xml

modify from av_free to xmlFree

Suggested-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavformat/dashdec: add dash demuxer base version
Steven Liu [Sat, 9 Sep 2017 00:32:03 +0000 (08:32 +0800)]
avformat/dashdec: add dash demuxer base version

ffmpeg need a dash demuxer for demux the dash formats base on
https://github.com/samsamsam-iptvplayer/exteplayer3/blob/master/tmp/ffmpeg/patches/3.2.2/000001_add_dash_demux.patch

TODO:
1. support multi bitrate dash.

v2 fixed:
1. from autodetect to disabled
2. from camelCase code style to ffmpeg code style
3. from RepType to AVMediaType
4. fix variable typo
5. change time value from uint32_t to uint64_t
6. removed be used once API
7. change 'time(NULL)`, except it is not 2038-safe.' to av_gettime and av_timegm
8. merge complex free operation to free_fragment
9. use API from snprintf to av_asprintf

v3 fixed:
1. fix typo from --enabled-xml2 to --enable-xml2

v4 fixed:
1. from --enable-xml2 to --enable-libxml2
2. move system includes to top
3. remove nouse includes
4. rename enum name
5. add a trailing comma for the last entry enum
6. fix comment typo
7. add const to DASHContext class front
8. check sscanf if return arguments and give warning message when error
9. check validity before free seg->url and seg
10. check if the val is null, before use atoll

v5 fixed:
1. fix typo from mainifest to manifest

v6 fixed:
1. from realloc to av_realloc
2. from free to av_free

v7 fixed:
1. remove the -lxml2 from configure when require_pkg_config

v8 fixed:
1. fix replace filename template by av_asprintf secure problem

v9 modified:
1. make manifest parser clearly

v10 fixed:
1. fix function API name code style
2. remove redundant strreplace call
3. remove redundant memory operation and check return value from get_content_url()
4. add space between ) and {
5. remove no need to log the value for print

v11 fixed:
1. from atoll to strtoll
Suggested-by: Michael Niedermayer <michael@niedermayer.cc>
v12 fixed:
1. remove strreplace and instead by av_strreplace
Suggested-by: Nicolas George <george@nsup.org>
v13 fixed:
1. fix bug: cannot play:
http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps.mpd
Reported-by: Andy Furniss <adf.lists@gmail.com>
v14 fixed:
1. fix bug: TLS connection was non-properly terminated
2. fix bug: No trailing CRLF found in HTTP header
Reported-by: Andy Furniss <adf.lists@gmail.com>
v15 fixed:
1. play youtube link: ffmpeg -i $(youtube-dl -J "https://www.youtube.com/watch?v=XmL19DOP_Ls" | jq -r ".requested_formats[0].manifest_url")
2. code refine for timeline living stream
Reported-by: Ricardo Constantino <wiiaboo@gmail.com>
v16 fixed:
1. remove the snprintf and instead by get_segment_filename make safety
2. remove unnecessary loops
3. updated xmlStrcmp and xmlFree to av_* functions
4. merge code repeat into one function
5. add memory alloc faild check
6. update update_init_section and open_url
7. output safety error message when filename template not safe
Suggested-by : wm4 <nfxjfg@googlemail.com>

v17 fixed:
1. add memory alloc faild check
2. fix resource space error at free_representation

v18 fixed:
1. add condition of template format

v19 fixed:
1. fix typo of the option describe

v20 fixed:
1. add the c->base_url alloc check
2. make the DASHTmplId same to dashenc

v21 fixed:
1. remove get_repl_pattern_and_format and get_segment_filename
2. process use dashcomm APIs

v22 fixed:
1. modify the include "dashcomm.h" to include "dash.h"
2. use internal API from dash_fill_tmpl_params to ff_dash_fill_tmpl_params

Signed-off-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: samsamsam <samsamsam@o2.pl>
2 years agoavformat/matroskaenc: also write tags when output is WebM
James Almer [Fri, 2 Jun 2017 02:47:32 +0000 (23:47 -0300)]
avformat/matroskaenc: also write tags when output is WebM

WebM supports a subset of elements from the Tags master.
See https://www.webmproject.org/docs/container/#tagging

Reviewed-by: Ivan Janatra <janatra@google.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agobuild: cleanup videotoolbox
Clément Bœsch [Wed, 6 Sep 2017 09:53:48 +0000 (11:53 +0200)]
build: cleanup videotoolbox

- there is no need for kCVImageBufferColorPrimaries_ITU_R_2020 checks,
  it's done at runtime
- VideoToolbox presence is now checked with check_apple_framework()
- link to CoreServices is only done when videotoolbox is enabled

2 years agobuild: cleanup audiotoolbox handling
Clément Bœsch [Wed, 6 Sep 2017 09:42:54 +0000 (11:42 +0200)]
build: cleanup audiotoolbox handling

*_at codecs only need the AudioToolbox framework, which is now checked
like the other Apple frameworks.

2 years agobuild: add --disable-coreimage autodetect switch
Clément Bœsch [Wed, 6 Sep 2017 09:33:20 +0000 (11:33 +0200)]
build: add --disable-coreimage autodetect switch

2 years agobuild: add --disable-avfoundation autodetect switch
Clément Bœsch [Wed, 6 Sep 2017 09:31:40 +0000 (11:31 +0200)]
build: add --disable-avfoundation autodetect switch

2 years agobuild: add check_apple_framework()
Clément Bœsch [Wed, 6 Sep 2017 09:29:23 +0000 (11:29 +0200)]
build: add check_apple_framework()

This will be used in the following commits.

2 years agolavfi/coreimage: reduce dependency scope from QuartzCore to CoreImage
Clément Bœsch [Tue, 5 Sep 2017 16:09:37 +0000 (18:09 +0200)]
lavfi/coreimage: reduce dependency scope from QuartzCore to CoreImage

What is required by the filter is CoreImage, there is no QuartzCore
usage. QuartzCore/CoreImage.h is simply an include to
CoreImage/CoreImage.h.

2 years agobuild: fix objcc header check
Clément Bœsch [Tue, 5 Sep 2017 16:06:29 +0000 (18:06 +0200)]
build: fix objcc header check

$headers is a variable set in the context of other functions (we don't
use the "local" keyword in our scripts, so those variables are global).

Currently, when checking for AVFoundation/AVFoundation.h, the actual
enabled header is math.h.

Similarly, when testing for QuartzCore/CoreImage.h, the actual enabled
header is CoreGraphics/CoreGraphics.h.

This is completely broken and may be the reason why these checks are
made in random places.

2 years agolavu/timer.h: add Linux Perf API support
Clément Bœsch [Sat, 2 Sep 2017 17:25:10 +0000 (19:25 +0200)]
lavu/timer.h: add Linux Perf API support

Refer to "checkasm: use perf API on Linux ARM*" commit for the
rationale.

The implementation is somehow duplicated with checkasm, but so is the
current usage of AV_READ_TIME(). Until these implementations and
heuristics are made consistent, I don't see a way of sharing that code.

Note: when using libavutil/timer.h, it is now important to include
before any other include due to the _GNU_SOURCE requirement.

2 years agolavu/tests: move timer.h include earlier
Clément Bœsch [Thu, 7 Sep 2017 13:52:47 +0000 (15:52 +0200)]
lavu/tests: move timer.h include earlier

In the next commit, timer.h will require a _GNU_SOURCE to be set before
including system headers. This commit prevents compilation failures.

2 years agolavu/tests/des: rename crypt to crypt_ref
Clément Bœsch [Thu, 7 Sep 2017 13:56:56 +0000 (15:56 +0200)]
lavu/tests/des: rename crypt to crypt_ref

This will prevent a symbol clash with crypt(3) after unistd.h is
included.

2 years agolavu/timer.h: factor out timer report
Clément Bœsch [Sat, 2 Sep 2017 17:17:45 +0000 (19:17 +0200)]
lavu/timer.h: factor out timer report

This commit is meant to reduce the diff in the following one.

2 years agocheckasm: use perf API on Linux ARM*
Clément Bœsch [Fri, 1 Sep 2017 13:11:18 +0000 (15:11 +0200)]
checkasm: use perf API on Linux ARM*

On ARM platforms, accessing the PMU registers requires special user
access permissions. Since there is no other way to get accurate timers,
the current implementation of timers in FFmpeg rely on these registers.
Unfortunately, enabling user access to these registers on Linux is not
trivial, and generally involve compiling a random and unreliable github
kernel module, or patching somehow your kernel.

Such module is very unlikely to reach the upstream anytime soon. Quoting
Robin Murphin from ARM:

> Say you do give userspace direct access to the PMU; now run two or more
> programs at once that believe they can use the counters for their own
> "minimal-overhead" profiling. Have fun interpreting those results...
>
> And that's not even getting into the implications of scheduling across
> different CPUs, CPUidle, etc. where the PMU state is completely beyond
> userspace's control. In general, the plan to provide userspace with
> something which might happen to just about work in a few corner cases,
> but is meaningless, misleading or downright broken in all others, is to
> never do so.

As a result, the alternative is to use the Performance Monitoring Linux
API which makes use of these registers internally (assuming the PMU of
your ARM board is supported in the kernel, which is definitely not a
given...).

While the Linux API is obviously cross platform, it does have a
significant overhead which needs to be taken into account. As a result,
that mode is only weakly enabled on ARM platforms exclusively.

Note on the non flexibility of the implementation: the timers (native
FFmpeg vs Linux API) are selected at compilation time to prevent the
need of function calls, which would result in a negative impact on the
cycle counters.

2 years agoavfilter: add Haas stereo enhancer
Paul B Mahol [Wed, 6 Sep 2017 12:06:38 +0000 (14:06 +0200)]
avfilter: add Haas stereo enhancer

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec/vp9: Add tile threading support
Ilia Valiakhmetov [Thu, 7 Sep 2017 21:02:49 +0000 (04:02 +0700)]
avcodec/vp9: Add tile threading support

Signed-off-by: Ilia Valiakhmetov <zakne0ne@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2 years agoavcodec/pthread_slice: add ff_slice_thread_execute_with_mainfunc()
Ilia Valiakhmetov [Thu, 7 Sep 2017 20:48:17 +0000 (03:48 +0700)]
avcodec/pthread_slice: add ff_slice_thread_execute_with_mainfunc()

Signed-off-by: Ilia Valiakhmetov <zakne0ne@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2 years agolibavcodec/h264_parse: don't use uninitialized value when chroma_format_idc==0
Mark Wachsler [Thu, 7 Sep 2017 13:42:07 +0000 (09:42 -0400)]
libavcodec/h264_parse: don't use uninitialized value when chroma_format_idc==0

When parsing a monochrome file, chroma_log2_weight_denom was used without
being initialized, which could lead to a bogus error message being printed, e.g.
  [h264 @ 0x61a000026480] chroma_log2_weight_denom 24576 is out of range
It also could led to warnings using AddressSanitizer.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mips: Improve vp9 mc msa functions
Kaustubh Raste [Mon, 4 Sep 2017 12:32:36 +0000 (18:02 +0530)]
avcodec/mips: Improve vp9 mc msa functions

Load the specific destination bytes instead of MSA load and pack.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mips: Improve vp9 idct msa functions
Kaustubh Raste [Mon, 4 Sep 2017 12:32:09 +0000 (18:02 +0530)]
avcodec/mips: Improve vp9 idct msa functions

Removed memset calls.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mips: Improve vp9 lpf msa functions
Kaustubh Raste [Mon, 4 Sep 2017 12:31:32 +0000 (18:01 +0530)]
avcodec/mips: Improve vp9 lpf msa functions

Updated VP9_LPF_FILTER4_4W macro to process on 8 bit data.
Replaced VP9_LPF_FILTER4_8W with VP9_LPF_FILTER4_4W.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoffmpeg: send EOF pts to filters.
Nicolas George [Thu, 6 Apr 2017 08:40:12 +0000 (10:40 +0200)]
ffmpeg: send EOF pts to filters.

2 years agolavfi/buffersrc: add av_buffersrc_close().
Nicolas George [Mon, 3 Apr 2017 13:01:45 +0000 (15:01 +0200)]
lavfi/buffersrc: add av_buffersrc_close().

2 years agoffmpeg: use reordered duration for stream PTS.
Nicolas George [Mon, 3 Apr 2017 12:40:44 +0000 (14:40 +0200)]
ffmpeg: use reordered duration for stream PTS.

2 years agoffmpeg: rename a variable.
Nicolas George [Mon, 3 Apr 2017 11:49:59 +0000 (13:49 +0200)]
ffmpeg: rename a variable.

Makes the reason of the "FIXME" comment more obvious.
Avoid name conflicts for the next commit.

2 years agolavfi: guess a timestamp for compat status change.
Nicolas George [Thu, 7 Sep 2017 08:45:54 +0000 (10:45 +0200)]
lavfi: guess a timestamp for compat status change.

Use the earliest input with the same status.
If that fails, print a warning and use the earliest source.
With this change, simple filter forward correctly the timestamp
of EOF.
Filters that are supposed to change it should be updated to
actually forward it.

2 years agofate: add test for asetnsamples filter with padding disabled
Tobias Rapp [Mon, 7 Aug 2017 09:55:39 +0000 (11:55 +0200)]
fate: add test for asetnsamples filter with padding disabled

Adds another test for asetnsamples filter where padding of the last
frame is switched off. Renames the existing test to make the difference
obvious.

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2 years agoavfilter/vf_zoompan: fix specific corner case when no frame was ever requested from...
Paul B Mahol [Thu, 7 Sep 2017 14:49:46 +0000 (16:49 +0200)]
avfilter/vf_zoompan: fix specific corner case when no frame was ever requested from input

Reported-by: Nicolas George
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavformat/asfdec: Fix DoS in asf_build_simple_index()
Michael Niedermayer [Mon, 4 Sep 2017 22:16:29 +0000 (00:16 +0200)]
avformat/asfdec: Fix DoS in asf_build_simple_index()

Fixes: Missing EOF check in loop
No testcase

Found-by: Xiaohei and Wangchu from Alibaba Security Team
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/mov: Fix DoS in read_tfra()
Michael Niedermayer [Mon, 4 Sep 2017 22:16:29 +0000 (00:16 +0200)]
avformat/mov: Fix DoS in read_tfra()

Fixes: Missing EOF check in loop
No testcase

Found-by: Xiaohei and Wangchu from Alibaba Security Team
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/gdv: Make FixedSize static
Michael Niedermayer [Mon, 4 Sep 2017 17:36:09 +0000 (19:36 +0200)]
avformat/gdv: Make FixedSize static

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoffprobe: use consistent string for unspecified color_range value
Tobias Rapp [Tue, 29 Aug 2017 08:51:05 +0000 (10:51 +0200)]
ffprobe: use consistent string for unspecified color_range value

Makes the handling of unspecified/unknown color_range values on stream
level consistent to the value used on frame level.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2 years agoavcodec/nvenc: sanitize variable names
Timo Rothenpieler [Sat, 2 Sep 2017 17:42:13 +0000 (19:42 +0200)]
avcodec/nvenc: sanitize variable names

2 years agoavcodec/nvenc: migrate to new encode API
Timo Rothenpieler [Sat, 2 Sep 2017 17:30:21 +0000 (19:30 +0200)]
avcodec/nvenc: migrate to new encode API

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2 years agofate: fix fate-lavf-fits dependencies
James Almer [Thu, 7 Sep 2017 01:53:17 +0000 (22:53 -0300)]
fate: fix fate-lavf-fits dependencies

We need the fits muxer/demuxer.

2 years agoavcodec/fitsdec: write output to frame directly
Paras Chadha [Sat, 2 Sep 2017 19:07:21 +0000 (00:37 +0530)]
avcodec/fitsdec: write output to frame directly

Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoflvdec: Check the avio_seek return value after reading a metadata packet
Steven Liu [Thu, 7 Sep 2017 00:30:14 +0000 (08:30 +0800)]
flvdec: Check the avio_seek return value after reading a  metadata packet

merge from libav: 585dc1aecef0371ad6f16cb3750ae2a6da9cf00a

If the metadata packet is corrupted, flv_read_metabody can accidentally
read past the start of the next packet. If the start of the next packet
had been flushed out of the IO buffer, we would be unable to seek to
the right position (on a nonseekable stream).

Prefer to clearly error out instead of silently trying to read from a
desynced stream which will only be interpreted as garbage.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agolavfi/atempo: Avoid false triggering an assertion failure
Pavel Koshevoy [Mon, 4 Sep 2017 02:44:31 +0000 (20:44 -0600)]
lavfi/atempo: Avoid false triggering an assertion failure

Steps to reproduce:
1. revert 4240e5b047379b29c33dd3f4438bc4e610527b83
2. ./ffmpeg -f lavfi -i sine=d=1 -af aselect=e=0,atempo=0.5 -y atempo.wav

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoRevert "lavfi/atempo: avoid false triggering an assertion failure"
Pavel Koshevoy [Sun, 3 Sep 2017 13:34:08 +0000 (15:34 +0200)]
Revert "lavfi/atempo: avoid false triggering an assertion failure"

This reverts commit 4240e5b047379b29c33dd3f4438bc4e610527b83.

Fixes ticket #6540.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/audiotoolboxdec: use av_freep()
James Almer [Wed, 6 Sep 2017 16:03:29 +0000 (13:03 -0300)]
avcodec/audiotoolboxdec: use av_freep()

This prevents leaving dangling pointers.

2 years agoavcodec/audiotoolboxdec: switch to the new generic filtering mechanism
James Almer [Thu, 25 May 2017 15:56:50 +0000 (12:56 -0300)]
avcodec/audiotoolboxdec: switch to the new generic filtering mechanism

Tested-by: ubitux
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/audiotoolboxdec: add FF_CODEC_CAP_INIT_CLEANUP to the decoder capabilities
James Almer [Thu, 25 May 2017 14:07:42 +0000 (11:07 -0300)]
avcodec/audiotoolboxdec: add FF_CODEC_CAP_INIT_CLEANUP to the decoder capabilities

Extradata may be allocated and the AudioConverterRef may be created during init(),
which in case of a failure would not be freed as close() isn't called afterwards.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/audiotoolboxdec: always use a copy of the AVCodecContext extradata
James Almer [Thu, 25 May 2017 14:00:47 +0000 (11:00 -0300)]
avcodec/audiotoolboxdec: always use a copy of the AVCodecContext extradata

Fixes memleaks introduced by 954e2b3d34b7c2d82871254f07e2f8a39bc451cb

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavfilter/af_dcshift: add direct path
Paul B Mahol [Wed, 6 Sep 2017 09:46:24 +0000 (11:46 +0200)]
avfilter/af_dcshift: add direct path

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_overlay: Restore shorthand option order
Michael Niedermayer [Tue, 5 Sep 2017 13:26:52 +0000 (15:26 +0200)]
avfilter/vf_overlay: Restore shorthand option order

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolibavcodec/mips: Improve avc idct8 msa function
Kaustubh Raste [Mon, 31 Jul 2017 06:37:03 +0000 (12:07 +0530)]
libavcodec/mips: Improve avc idct8 msa function

Replace memset call with msa stores.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavfilter/lavfutils: remove usage of AVStream->codec
James Almer [Wed, 30 Aug 2017 05:07:00 +0000 (02:07 -0300)]
avfilter/lavfutils: remove usage of AVStream->codec

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/hlsenc: Added configuration to override HTTP User-Agent
Karthick J [Tue, 5 Sep 2017 15:30:52 +0000 (23:30 +0800)]
avformat/hlsenc: Added configuration to override HTTP User-Agent

Signed-off-by: Karthick J <kjeyapal@akamai.com>
Signed-off-by: Steven Liu <lq@onvideo.cn>
2 years agobuild: consistent spacing between lists (cosmetics)
Clément Bœsch [Tue, 5 Sep 2017 10:45:20 +0000 (12:45 +0200)]
build: consistent spacing between lists (cosmetics)

2 years agoavfilter/avf_avectorscope: fix mistake in previous commit
Paul B Mahol [Tue, 5 Sep 2017 09:55:23 +0000 (11:55 +0200)]
avfilter/avf_avectorscope: fix mistake in previous commit

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/avf_avectorscope: add possibility to auto zoom
Paul B Mahol [Tue, 5 Sep 2017 09:43:49 +0000 (11:43 +0200)]
avfilter/avf_avectorscope: add possibility to auto zoom

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter: add despill filter
Paul B Mahol [Mon, 28 Aug 2017 12:32:25 +0000 (14:32 +0200)]
avfilter: add despill filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec: add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL flag
James Almer [Fri, 1 Sep 2017 17:56:05 +0000 (14:56 -0300)]
avcodec: add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL flag

This flag replaces the deprecated, non-prefixed HWACCEL_CODEC_CAP_EXPERIMENTAL
one.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavfilter/vf_fftfilt: make it possible to evaluate expressions per frame
Paul B Mahol [Mon, 4 Sep 2017 17:29:37 +0000 (19:29 +0200)]
avfilter/vf_fftfilt: make it possible to evaluate expressions per frame

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_fftfilt: add generic timeline support
Paul B Mahol [Mon, 4 Sep 2017 17:04:31 +0000 (19:04 +0200)]
avfilter/vf_fftfilt: add generic timeline support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_fftfilt: add support for more pixel formats
Paul B Mahol [Mon, 4 Sep 2017 16:36:37 +0000 (18:36 +0200)]
avfilter/vf_fftfilt: add support for more pixel formats

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_fftfilt: cache rdft contexts
Paul B Mahol [Mon, 4 Sep 2017 16:24:00 +0000 (18:24 +0200)]
avfilter/vf_fftfilt: cache rdft contexts

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agolavd: drop QTKit indev
Clément Bœsch [Mon, 4 Sep 2017 13:45:11 +0000 (15:45 +0200)]
lavd: drop QTKit indev

QTKit has been deprecated in favor of AVFoundation for years, and we
have an avfoundation input device.

See https://developer.apple.com/documentation/qtkit

2 years agoavfilter/vf_datascope: make it possible for output window to automatically change...
Paul B Mahol [Mon, 4 Sep 2017 12:20:29 +0000 (14:20 +0200)]
avfilter/vf_datascope: make it possible for output window to automatically change position

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavformat/flvdec: Set need_context_update when setting the initial extradata
Alex Converse [Tue, 29 Aug 2017 17:47:26 +0000 (10:47 -0700)]
avformat/flvdec: Set need_context_update when setting the initial extradata

Fixes ticket 6398.

Debugged with the help of James Almer and Hendrik Leppkes.

2 years agoavfilter/vf_datascope: add timeline support to pixscope and oscilloscope
Paul B Mahol [Sun, 3 Sep 2017 18:42:04 +0000 (20:42 +0200)]
avfilter/vf_datascope: add timeline support to pixscope and oscilloscope

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agodoc/filters: add missing '' for blend example
Paul B Mahol [Sun, 3 Sep 2017 18:00:53 +0000 (20:00 +0200)]
doc/filters: add missing '' for blend example

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agodoc/filters: add one more blend example
Paul B Mahol [Sun, 3 Sep 2017 18:00:08 +0000 (20:00 +0200)]
doc/filters: add one more blend example

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_displace: add mirror edge mode
Paul B Mahol [Sun, 3 Sep 2017 12:15:33 +0000 (14:15 +0200)]
avfilter/vf_displace: add mirror edge mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_displace: remove useless requirement that SAR matches between input streams
Paul B Mahol [Sun, 3 Sep 2017 11:37:43 +0000 (13:37 +0200)]
avfilter/vf_displace: remove useless requirement that SAR matches between input streams

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter/vf_subtitles: enable processing of alpha channel
Paul B Mahol [Wed, 30 Aug 2017 19:04:02 +0000 (21:04 +0200)]
avfilter/vf_subtitles: enable processing of alpha channel

Fixes #6605.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agodoc/filters.texi: Add default values to vf_vaguedenoiser options
Leo Izen [Sun, 3 Sep 2017 09:01:13 +0000 (05:01 -0400)]
doc/filters.texi: Add default values to vf_vaguedenoiser options

2 years agolavd: drop disabled v4l code
Clément Bœsch [Sat, 2 Sep 2017 22:18:57 +0000 (00:18 +0200)]
lavd: drop disabled v4l code

This code is disabled since 2012. V4L1 was dropped from the kernel more
than 10 years ago.

2 years agoavcodec/dirac_vlc: Fix invalid shift in ff_dirac_golomb_read_32bit()
Michael Niedermayer [Fri, 1 Sep 2017 17:56:12 +0000 (19:56 +0200)]
avcodec/dirac_vlc: Fix invalid shift in ff_dirac_golomb_read_32bit()

Fixes: runtime error: shift exponent 64 is too large for 64-bit type 'residual' (aka 'unsigned long')
Fixes: 2838/clusterfuzz-testcase-minimized-6260066086813696

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/dirac_dwt: Fix multiple overflows in 9/7 lifting
Michael Niedermayer [Fri, 1 Sep 2017 17:56:11 +0000 (19:56 +0200)]
avcodec/dirac_dwt: Fix multiple overflows in 9/7 lifting

Fixes: runtime error: signed integer overflow: 1073901567 + 1073901567 cannot be represented in type 'int'
Fixes: 3124/clusterfuzz-testcase-minimized-454643435752652

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/diracdec: Fix integer overflow in INTRA_DC_PRED()
Michael Niedermayer [Fri, 1 Sep 2017 17:56:10 +0000 (19:56 +0200)]
avcodec/diracdec: Fix integer overflow in INTRA_DC_PRED()

Fixes: runtime error: signed integer overflow: 1168175789 + 1168178473 cannot be represented in type 'int'
Fixes: 3081/clusterfuzz-testcase-minimized-4807564879462400
Fixes: 2844/clusterfuzz-testcase-minimized-5561715838156800

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agobuild: drop unused sndio_h and asoundlib_h
Clément Bœsch [Wed, 30 Aug 2017 11:56:27 +0000 (13:56 +0200)]
build: drop unused sndio_h and asoundlib_h

2 years agobuild: make sndio part of the autodetected libraries
Clément Bœsch [Wed, 30 Aug 2017 11:41:23 +0000 (13:41 +0200)]
build: make sndio part of the autodetected libraries

sndio is already autodetected, this commit makes sure
--disable-autodetect actually disable it unless --enable-sndio is
specified.

2 years agobuild: make jack part of the autodetected libraries
Clément Bœsch [Wed, 30 Aug 2017 11:34:50 +0000 (13:34 +0200)]
build: make jack part of the autodetected libraries

jack is already autodetected, this commit makes sure
--disable-autodetect actually disable it unless --enable-jack is
specified.

2 years agobuild: make alsa part of the autodetected libraries
Clément Bœsch [Wed, 30 Aug 2017 11:28:49 +0000 (13:28 +0200)]
build: make alsa part of the autodetected libraries

alsa libs are already autodetected, this commit makes sure
--disable-autodetect actually disable it unless --enable-alsa is
specified.

2 years agobuild: make sure a disabled autodetect still pick the libc's iconv
Clément Bœsch [Wed, 30 Aug 2017 10:26:01 +0000 (12:26 +0200)]
build: make sure a disabled autodetect still pick the libc's iconv

2 years agobuild: add --disable-autodetect switch
Clément Bœsch [Fri, 28 Jul 2017 11:44:07 +0000 (13:44 +0200)]
build: add --disable-autodetect switch

2 years agobuild: simplify weak-enabling of autodetected libraries
Clément Bœsch [Fri, 28 Jul 2017 11:39:00 +0000 (13:39 +0200)]
build: simplify weak-enabling of autodetected libraries

2 years agobuild: remove vda_framework from enable_weak
Clément Bœsch [Fri, 28 Jul 2017 11:31:35 +0000 (13:31 +0200)]
build: remove vda_framework from enable_weak

vda_framework is already pulled by the weakly enabled vda and
videotoolbox.

2 years agobuild: replace use of HAVE_SDL2 with existing CONFIG_SDL2
Clément Bœsch [Wed, 30 Aug 2017 11:46:38 +0000 (13:46 +0200)]
build: replace use of HAVE_SDL2 with existing CONFIG_SDL2

There is no need for duplication.

2 years agobuild: treat sdl2 like other autodetected libraries
Clément Bœsch [Wed, 30 Aug 2017 11:13:08 +0000 (13:13 +0200)]
build: treat sdl2 like other autodetected libraries