ffmpeg.git
4 years agoMove extralibs variables using ldl after ldl definition
Timo Rothenpieler [Thu, 27 Nov 2014 12:35:48 +0000 (13:35 +0100)]
Move extralibs variables using ldl after ldl definition

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '1973079417e8701b52ba810a72cb6c7c6f7f9a56'
Michael Niedermayer [Thu, 27 Nov 2014 23:00:06 +0000 (00:00 +0100)]
Merge commit '1973079417e8701b52ba810a72cb6c7c6f7f9a56'

* commit '1973079417e8701b52ba810a72cb6c7c6f7f9a56':
  opusdec: make sure all substreams have the same number of coded samples

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '96fda42a8f9bf84beaaf7f5991d17f2a057de86c'
Michael Niedermayer [Thu, 27 Nov 2014 22:46:12 +0000 (23:46 +0100)]
Merge commit '96fda42a8f9bf84beaaf7f5991d17f2a057de86c'

* commit '96fda42a8f9bf84beaaf7f5991d17f2a057de86c':
  vf_interlace: get rid of useless loads

See: ca59b5b6eceb1adbf96b8248128e58bfbb79c9a6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83'
Michael Niedermayer [Thu, 27 Nov 2014 22:03:07 +0000 (23:03 +0100)]
Merge commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83'

* commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83':
  lavu: fix memory leaks by using a mutex instead of atomics

Conflicts:
libavutil/buffer.c

The atomics code is left in place as a fallback for synchronization in the
absence of p/w32 threads. Our ABI did not requires applications to
only use threads (and matching ones) to what libavutil was build with
Our code also was not affected by the leak this change fixes, though
no question the atomics based implementation is not pretty at all.
First and foremost the code must work, being pretty comes after that.

If this causes problems, for example when libavutil is used by multiple
applications each using a different kind of threading system then the
default possibly has to be changed to the uglier atomics.

See: cea3a63ba3d89d8403eef008f7a7c54d645cff70
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavu/opt: add consts where possible
Lukasz Marek [Wed, 26 Nov 2014 23:11:01 +0000 (00:11 +0100)]
lavu/opt: add consts where possible

4 years agoffmpeg_opt: make use of recommended encoder configuration
Lukasz Marek [Sun, 16 Nov 2014 20:57:54 +0000 (21:57 +0100)]
ffmpeg_opt: make use of recommended encoder configuration

So far ffmpeg used recommended configuration only for codec priv options.
ffmpeg will use now codec defaults and then apply recommended configuration
for all options. Recommended configuration possibly contains minimal
set of options to filful user configuration.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agolavf/ffmenc: store recommended encoder configuration
Lukasz Marek [Sun, 16 Nov 2014 20:55:14 +0000 (21:55 +0100)]
lavf/ffmenc: store recommended encoder configuration

ffmenc will store recommended encoder configuration if present.
This will allow the user to base on local defaults and
apply only explicitly set options.

If recommended encoder configuration is not present, then
non-default context's options are stored.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agolavf/ffmdec: add common options to recommended encoder configuration
Lukasz Marek [Sun, 16 Nov 2014 20:53:59 +0000 (21:53 +0100)]
lavf/ffmdec: add common options to recommended encoder configuration

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agoMerge commit '2443e522f0059176ff8717c9c753eb6fe7e7bbf1'
Michael Niedermayer [Thu, 27 Nov 2014 21:07:53 +0000 (22:07 +0100)]
Merge commit '2443e522f0059176ff8717c9c753eb6fe7e7bbf1'

* commit '2443e522f0059176ff8717c9c753eb6fe7e7bbf1':
  lavu: add wrappers for the pthreads mutex API

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/rtpproto: Allow to specify DSCP class
Vincent Bernat [Fri, 23 May 2014 13:31:17 +0000 (15:31 +0200)]
avformat/rtpproto: Allow to specify DSCP class

By appending `?dscp=26` to the URL, IP packets will be classified as
AF31 (assured forwarding for multimedia flows with low probability of
loss). On congested network, this allows a user to assign priorities to
flows.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
4 years agoavformat/udp: Allow to specify DSCP class
Vincent Bernat [Fri, 23 May 2014 13:26:32 +0000 (15:26 +0200)]
avformat/udp: Allow to specify DSCP class

By appending `?dscp=26` to the URL, IP packets will be classified as
AF31 (assured forwarding for multimedia flows with low probability of
loss). On congested network, this allows a user to assign priorities to
flows.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
4 years agoavcodec/mjpegdec: Fix integer overflow in shift
Michael Niedermayer [Thu, 27 Nov 2014 18:27:05 +0000 (19:27 +0100)]
avcodec/mjpegdec: Fix integer overflow in shift

Fixes: signal_sigabrt_7ffff6ac7bb9_2683_cov_4120310995_m_ijpg.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/mov: change conjugation for "Duplicate"
Clément Bœsch [Thu, 27 Nov 2014 17:13:57 +0000 (18:13 +0100)]
avformat/mov: change conjugation for "Duplicate"

4 years agoavformat/mov: strengthen some table allocations
Clément Bœsch [Mon, 10 Nov 2014 17:21:28 +0000 (18:21 +0100)]
avformat/mov: strengthen some table allocations

4 years agoffmpeg: Print a debug message if the frame parameters mismatch the context
Michael Niedermayer [Thu, 27 Nov 2014 13:16:31 +0000 (14:16 +0100)]
ffmpeg: Print a debug message if the frame parameters mismatch the context

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/hevc_ps: More complete window reset
Michael Niedermayer [Thu, 27 Nov 2014 14:03:35 +0000 (15:03 +0100)]
avcodec/hevc_ps: More complete window reset

Fixes out of array read
Fixes: signal_sigsegv_35bcf26_471_cov_2806540268_CAINIT_A_SHARP_4.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavu/imgutils: remove redundant and wrong check in av_image_fill_arrays
Stefano Sabatini [Thu, 27 Nov 2014 11:27:48 +0000 (12:27 +0100)]
lavu/imgutils: remove redundant and wrong check in av_image_fill_arrays

4 years agoopusdec: make sure all substreams have the same number of coded samples
Anton Khirnov [Mon, 24 Nov 2014 10:16:46 +0000 (11:16 +0100)]
opusdec: make sure all substreams have the same number of coded samples

Fixes invalid writes with invalid multichannel streams.

CC:libav-stable@libav.org

4 years agovf_interlace: get rid of useless loads
Kieran Kunhya [Tue, 25 Nov 2014 16:14:32 +0000 (17:14 +0100)]
vf_interlace: get rid of useless loads

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agolavu: fix memory leaks by using a mutex instead of atomics
wm4 [Fri, 14 Nov 2014 12:34:50 +0000 (13:34 +0100)]
lavu: fix memory leaks by using a mutex instead of atomics

The buffer pool has to atomically add and remove entries from the linked
list of available buffers. This was done by removing the entire list
with a CAS operation, working on it, and then setting it back again
(using a retry-loop in case another thread was doing the same thing).

This could effectively cause memory leaks: while a thread was working on
the buffer list, other threads would allocate new buffers, increasing
the pool's total size. There was no real leak, but since these extra
buffers were not needed, but not free'd either (except when the buffer
pool was destroyed), this had the same effects as a real leak. For some
reason, growth was exponential, and could easily kill the process due
to OOM in real-world uses.

Fix this by using a mutex to protect the list operations. The fancy
way atomics remove the whole list to work on it is not needed anymore,
which also avoids the situation which was causing the leak.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agolavu: add wrappers for the pthreads mutex API
Anton Khirnov [Sun, 23 Nov 2014 20:25:05 +0000 (21:25 +0100)]
lavu: add wrappers for the pthreads mutex API

Also add no-op fallbacks when threading is disabled.

This helps keeping the code clean if Libav is compiled for targets
without threading. Since we assume that no threads of any kind are used
in such configurations, doing nothing is ok by definition.

Based on a patch by wm4 <nfxjfg@googlemail.com>.

4 years agomsvc: Fix compilation errors due to header include order.
Matthew Oliver [Thu, 27 Nov 2014 08:00:36 +0000 (19:00 +1100)]
msvc: Fix compilation errors due to header include order.

Ensures that the header include order is such that winsock2.h is always
included before windows.h or that windows.h does not include winsock.h.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolibavutil/ppc/util_altivec.h : fix load_with_perm_vec() add marcos vcswapi2s() vcswap...
Rong Yan [Thu, 27 Nov 2014 05:45:58 +0000 (05:45 +0000)]
libavutil/ppc/util_altivec.h : fix load_with_perm_vec() add marcos vcswapi2s() vcswapc() VEC_SPLAT16() VEC_SLD16() for POWER LE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '675ac56b7ee0f204963fde55295197c5df80aa91'
Michael Niedermayer [Thu, 27 Nov 2014 10:52:33 +0000 (11:52 +0100)]
Merge commit '675ac56b7ee0f204963fde55295197c5df80aa91'

* commit '675ac56b7ee0f204963fde55295197c5df80aa91':
  Revert "lavf: Don't try to update files atomically with renames on windows"

Conflicts:
libavformat/dashenc.c
libavformat/hdsenc.c
libavformat/internal.h
libavformat/smoothstreamingenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '79fd186a5035cf16fc0ab288d8f59da8b1ba2c0e'
Michael Niedermayer [Thu, 27 Nov 2014 10:35:54 +0000 (11:35 +0100)]
Merge commit '79fd186a5035cf16fc0ab288d8f59da8b1ba2c0e'

* commit '79fd186a5035cf16fc0ab288d8f59da8b1ba2c0e':
  lavf: Use MoveFileEx instead of rename/_wrename on windows

Conflicts:
configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '9326d64ed1baadd7af60df6bbcc59cf1fefede48'
Michael Niedermayer [Thu, 27 Nov 2014 10:10:26 +0000 (11:10 +0100)]
Merge commit '9326d64ed1baadd7af60df6bbcc59cf1fefede48'

* commit '9326d64ed1baadd7af60df6bbcc59cf1fefede48':
  Share the utf8 to wchar conversion routine between lavf and lavu

Conflicts:
libavformat/os_support.h
libavutil/file_open.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoRevert "lavf: Don't try to update files atomically with renames on windows"
Martin Storsjö [Tue, 25 Nov 2014 08:51:23 +0000 (10:51 +0200)]
Revert "lavf: Don't try to update files atomically with renames on windows"

This reverts commit b9d08c77a44390b0848c06f20bc0e9e951ba6a3c.

After taking MoveFileEx into use, we can replace files with renames
on windows as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agolavf: Use MoveFileEx instead of rename/_wrename on windows
Martin Storsjö [Tue, 25 Nov 2014 09:08:59 +0000 (11:08 +0200)]
lavf: Use MoveFileEx instead of rename/_wrename on windows

This allows getting the normal unix semantics, where a rename
allows replacing an existing file.

Based on a suggestion by Reimar Döffinger.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoShare the utf8 to wchar conversion routine between lavf and lavu
Martin Storsjö [Tue, 25 Nov 2014 08:39:50 +0000 (10:39 +0200)]
Share the utf8 to wchar conversion routine between lavf and lavu

This doesn't add any dependency on library internals, since this
only is a static inline function that gets built into each of the
calling functions - this is only to reduce the code duplication.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavcodec/hevc_ps: Check return code from pps_range_extensions()
Michael Niedermayer [Thu, 27 Nov 2014 01:31:46 +0000 (02:31 +0100)]
avcodec/hevc_ps: Check return code from pps_range_extensions()

Fixes out of array read
Fixes: asan_heap-oob_177e222_885_cov_1532528832_MERGE_D_TI_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/apngdec: validate frame dimensions.
Benoit Fouet [Wed, 26 Nov 2014 09:12:18 +0000 (10:12 +0100)]
avformat/apngdec: validate frame dimensions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavc/options: fix leaks in avcodec_free_context
Lukasz Marek [Sat, 22 Nov 2014 19:43:47 +0000 (20:43 +0100)]
lavc/options: fix leaks in avcodec_free_context

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agoffserver: dont leak pb_buffer
Lukasz Marek [Thu, 20 Nov 2014 17:59:58 +0000 (18:59 +0100)]
ffserver: dont leak pb_buffer

4 years agoffserver: dont leak child arguments
Lukasz Marek [Wed, 19 Nov 2014 23:28:03 +0000 (00:28 +0100)]
ffserver: dont leak child arguments

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agoffserver: export recommented encoder configuration
Lukasz Marek [Sun, 16 Nov 2014 20:51:42 +0000 (21:51 +0100)]
ffserver: export recommented encoder configuration

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agoffserver: allow skip setting defaults
Lukasz Marek [Sat, 15 Nov 2014 17:43:41 +0000 (18:43 +0100)]
ffserver: allow skip setting defaults

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agoffserver_config: remove ffserver_apply_stream_config function
Lukasz Marek [Sun, 16 Nov 2014 00:33:19 +0000 (01:33 +0100)]
ffserver_config: remove ffserver_apply_stream_config function

This function became very short and can be logically merged with add_codec().

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agoffserver_config: map ffserver options to AVOptions
Lukasz Marek [Thu, 13 Nov 2014 17:45:43 +0000 (18:45 +0100)]
ffserver_config: map ffserver options to AVOptions

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agoffserver_config: cosmetic: move line_num into FFServerConfig
Lukasz Marek [Mon, 17 Nov 2014 01:23:22 +0000 (02:23 +0100)]
ffserver_config: cosmetic: move line_num into FFServerConfig

Moving line_num into FFServerConfig as parser state,
saves many passes of it aside of FFServerConfig pointer.

4 years agoffserver_config: cosmetic: simplify functions calls.
Lukasz Marek [Thu, 13 Nov 2014 17:45:17 +0000 (18:45 +0100)]
ffserver_config: cosmetic: simplify functions calls.

ffserver_save_avoption() and ffserver_opt_preset() have
redundant arguments. They can be obtained basing on media type.
This simplifies uses and reduce chance for a mistake.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agoavfilter/signalstats: re-use yuv/yuvu/yuvv vars in diff
Clément Bœsch [Sat, 22 Nov 2014 23:33:19 +0000 (00:33 +0100)]
avfilter/signalstats: re-use yuv/yuvu/yuvv vars in diff

4 years agoavfilter/signalstats: localize a few variables
Clément Bœsch [Sat, 22 Nov 2014 23:29:50 +0000 (00:29 +0100)]
avfilter/signalstats: localize a few variables

4 years agoavfilter/signalstats: add threading in compute_sat_hue_metrics
Clément Bœsch [Sat, 22 Nov 2014 23:10:19 +0000 (00:10 +0100)]
avfilter/signalstats: add threading in compute_sat_hue_metrics

4 years agoavfilter/signalstats: isolate sat hue computation metrics in a function
Clément Bœsch [Sat, 22 Nov 2014 22:50:10 +0000 (23:50 +0100)]
avfilter/signalstats: isolate sat hue computation metrics in a function

This will be useful for the following commit

4 years agoavfilter/signalstats: add slice threading for subfilters
Clément Bœsch [Sun, 16 Nov 2014 20:12:55 +0000 (21:12 +0100)]
avfilter/signalstats: add slice threading for subfilters

4 years agoavfilter/signalstats: fix repitition/repetition typo
Clément Bœsch [Sun, 16 Nov 2014 20:12:54 +0000 (21:12 +0100)]
avfilter/signalstats: fix repitition/repetition typo

4 years agoavfilter/signalstats: reindent after previous commit
Clément Bœsch [Sun, 16 Nov 2014 20:12:54 +0000 (21:12 +0100)]
avfilter/signalstats: reindent after previous commit

4 years agoavfilter/signalstats: integrate height loop into subfilters
Clément Bœsch [Sun, 16 Nov 2014 20:12:53 +0000 (21:12 +0100)]
avfilter/signalstats: integrate height loop into subfilters

4 years agoavfilter/signalstats: remove pointless sub filter init system
Clément Bœsch [Sun, 16 Nov 2014 20:12:52 +0000 (21:12 +0100)]
avfilter/signalstats: remove pointless sub filter init system

4 years agoavfilter/signalstats: fix different buffers for out frame if burn is enabled
Clément Bœsch [Sun, 16 Nov 2014 20:12:50 +0000 (21:12 +0100)]
avfilter/signalstats: fix different buffers for out frame if burn is enabled

This was the original intend.

4 years agov210enc: Add SIMD optimised 8-bit and 10-bit encoders
Kieran Kunhya [Wed, 26 Nov 2014 15:59:14 +0000 (15:59 +0000)]
v210enc: Add SIMD optimised 8-bit and 10-bit encoders

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/rawdec: Check the return code of avpicture_get_size()
Michael Niedermayer [Wed, 26 Nov 2014 17:56:39 +0000 (18:56 +0100)]
avcodec/rawdec: Check the return code of avpicture_get_size()

Fixes out of array access
Fixes: asan_heap-oob_22388d0_3435_cov_3297128910_small_roll5_FlashCine1.cine
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/mov: Fix memleaks for duplicate STCO/CO64/STSC atoms
Michael Niedermayer [Wed, 26 Nov 2014 17:16:15 +0000 (18:16 +0100)]
avformat/mov: Fix memleaks for duplicate STCO/CO64/STSC atoms

Also see [FFmpeg-devel] [PATCH] avformat/mov: strengthen some table allocations
which contains more fixes but is unfinished

Fixes: signal_sigabrt_7ffff6ac7bb9_3484_cov_1830000177_starfox2.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/pngdec: Fix paeth prediction with small images
Michael Niedermayer [Wed, 26 Nov 2014 16:00:17 +0000 (17:00 +0100)]
avcodec/pngdec: Fix paeth prediction with small images

Fixes out of array read
Fixes: asan_heap-oob_20b0a06_1962_cov_1907976991_delete_node_small.png
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/pngdec: Check IHDR/IDAT order
Michael Niedermayer [Wed, 26 Nov 2014 14:45:47 +0000 (15:45 +0100)]
avcodec/pngdec: Check IHDR/IDAT order

Fixes out of array access
Fixes: asan_heap-oob_20a6c26_2690_cov_3434532168_mail.png
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/apngdec: use packet pts and duration instead of altering stream framerate.
Benoit Fouet [Wed, 26 Nov 2014 10:22:45 +0000 (11:22 +0100)]
avformat/apngdec: use packet pts and duration instead of altering stream framerate.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '234fb81e3145e9c9aec4ec16266676fab7dc21fa'
Michael Niedermayer [Wed, 26 Nov 2014 11:26:44 +0000 (12:26 +0100)]
Merge commit '234fb81e3145e9c9aec4ec16266676fab7dc21fa'

* commit '234fb81e3145e9c9aec4ec16266676fab7dc21fa':
  movenc: Expose the fragment index as an avoption

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'ee37620b6ae4783cda637408422044b2d14a688c'
Michael Niedermayer [Wed, 26 Nov 2014 10:27:17 +0000 (11:27 +0100)]
Merge commit 'ee37620b6ae4783cda637408422044b2d14a688c'

* commit 'ee37620b6ae4783cda637408422044b2d14a688c':
  movenc: Add a flag for indicating a discontinuous fragment

Conflicts:
libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agomovenc: Expose the fragment index as an avoption
Martin Storsjö [Mon, 3 Nov 2014 20:38:09 +0000 (22:38 +0200)]
movenc: Expose the fragment index as an avoption

This allows setting the right fragment number if doing
random-access writing of fragments, and also allows reading the
current sequence number.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Add a flag for indicating a discontinuous fragment
Martin Storsjö [Thu, 20 Nov 2014 07:51:05 +0000 (09:51 +0200)]
movenc: Add a flag for indicating a discontinuous fragment

This allows creating a later mp4 fragment without sequentially
writing the earlier ones before (when called from a segmenter).

Normally when writing a fragmented mp4 file sequentially, the
first timestamps of a fragment are adjusted to match the
end of the previous fragment, to make sure the timestamp is the
same, even if it is calculated as the sum of previous fragment
durations. (And for the first packet in a file, the offset of
the first packet is written using an edit list.)

When writing an individual mp4 fragment discontinuously like this
(with potentially writing the earlier fragments separately later),
there's a risk of getting a gap in the timeline if the duration
field of the last packet in the previous fragment doesn't match up
with the start time of the next fragment.

Using this requires setting -avoid_negative_ts make_non_negative
(or -avoid_negative_ts 0).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavcodec/flacdec: fix off by 1 error
Michael Niedermayer [Wed, 26 Nov 2014 03:07:34 +0000 (04:07 +0100)]
avcodec/flacdec: fix off by 1 error

Fixes assertion failure
Fixes: signal_sigsegv_324b284_1980_dilvie___the_dragonfly.flac
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/flacdec: Call ff_flacdsp_init() unconditionally
Michael Niedermayer [Wed, 26 Nov 2014 02:29:03 +0000 (03:29 +0100)]
avcodec/flacdec: Call ff_flacdsp_init() unconditionally

Fixes out of array access
Fixes: signal_sigsegv_324b135_3398_cov_246853371_short.flac
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/mxfdec: dont ask for samples with field dominance 0 anymore
Michael Niedermayer [Wed, 26 Nov 2014 01:07:57 +0000 (02:07 +0100)]
avformat/mxfdec: dont ask for samples with field dominance 0 anymore

Based on discussion and patch from
"[FFmpeg-devel] [PATCH]Do not ask for mxf samples with unknown field dominance"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/apngdec: account for blend and dispose operations.
Benoit Fouet [Tue, 25 Nov 2014 09:52:21 +0000 (10:52 +0100)]
avformat/apngdec: account for blend and dispose operations.

When the dimensions are the entire frame ones, and the dispose operation
is to reset to background, or the new frame overwrites the new one, then
consider the frame as a key one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoRename sync() functions in libavformat.
Carl Eugen Hoyos [Tue, 25 Nov 2014 22:49:58 +0000 (23:49 +0100)]
Rename sync() functions in libavformat.

Fixes compilation on Android where the sync() definition in
unistd.h interferes with the static definitions in libavformat.

4 years agolavc/utils: free private options on avcodec_open2 fail
Lukasz Marek [Sat, 22 Nov 2014 23:55:33 +0000 (00:55 +0100)]
lavc/utils: free private options on avcodec_open2 fail

It protects leaking string/binary/dict options from priv context.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agolavu/opt: handle NULL obj in av_opt_next
Lukasz Marek [Sat, 22 Nov 2014 23:48:17 +0000 (00:48 +0100)]
lavu/opt: handle NULL obj in av_opt_next

It indirectly also fixes av_opt_free for NULL objs.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agolavc/libxvid: return meaningful error codes
Lukasz Marek [Mon, 24 Nov 2014 00:11:45 +0000 (01:11 +0100)]
lavc/libxvid: return meaningful error codes

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agolavc/avuienc: fix mem leak in case of init failure
Lukasz Marek [Mon, 24 Nov 2014 03:51:05 +0000 (04:51 +0100)]
lavc/avuienc: fix mem leak in case of init failure

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
4 years agoMerge commit 'f20141d73f08ed0c8e875bd993a7143e19b266e3'
Michael Niedermayer [Tue, 25 Nov 2014 20:36:44 +0000 (21:36 +0100)]
Merge commit 'f20141d73f08ed0c8e875bd993a7143e19b266e3'

* commit 'f20141d73f08ed0c8e875bd993a7143e19b266e3':
  vorbis_parser: Include stdint.h in the header, to make it work standalone

See: e2e36a739d3ad0d207a31c76f414a912d08b1d6d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agodoc: add entry for APNG demuxer where needed.
Benoit Fouet [Tue, 25 Nov 2014 09:03:12 +0000 (10:03 +0100)]
doc: add entry for APNG demuxer where needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavf/avio: clarify the buffer parameter of avio_alloc_context
Yu Xiaolei [Tue, 25 Nov 2014 08:35:29 +0000 (16:35 +0800)]
lavf/avio: clarify the buffer parameter of avio_alloc_context

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/huffyuvdec: apply vertical filter in steps of 1 line for interlaced BGRA
Michael Niedermayer [Tue, 25 Nov 2014 16:34:03 +0000 (17:34 +0100)]
avcodec/huffyuvdec: apply vertical filter in steps of 1 line for interlaced BGRA

Fixes out of array read
Fixes: signal_sigsegv_3287332_2301_cov_2994954934_huffyuv.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/os_support: try to fix build when included from a c++ file like libavdevice...
Michael Niedermayer [Tue, 25 Nov 2014 16:07:02 +0000 (17:07 +0100)]
avformat/os_support: try to fix build when included from a c++ file like libavdevice/decklink*cpp

Found-by: Zeranoe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/jacosubdec: Cleanup when avpriv_bprint_to_extradata() fails
Michael Niedermayer [Tue, 25 Nov 2014 14:20:02 +0000 (15:20 +0100)]
avformat/jacosubdec: Cleanup when avpriv_bprint_to_extradata() fails

Fixes memleaks
Fixes: asan_heap-oob_4d2250_814_cov_2745172097_JACOsub_capability_tester.jss
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/utils: Check that the data is complete in avpriv_bprint_to_extradata()
Michael Niedermayer [Tue, 25 Nov 2014 13:45:30 +0000 (14:45 +0100)]
avcodec/utils: Check that the data is complete in avpriv_bprint_to_extradata()

Fixes out of array read
Fixes: asan_heap-oob_4d2250_814_cov_2745172097_JACOsub_capability_tester.jss
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/mjpegdec: Fix context fields becoming inconsistent
Michael Niedermayer [Tue, 25 Nov 2014 12:53:06 +0000 (13:53 +0100)]
avcodec/mjpegdec: Fix context fields becoming inconsistent

Fixes out of array access
Fixes: asan_heap-oob_1ca4f85_2760_cov_144449187_miss_congeniality_pegasus_ljpg.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agovorbis_parser: Include stdint.h in the header, to make it work standalone
Martin Storsjö [Tue, 25 Nov 2014 08:43:55 +0000 (10:43 +0200)]
vorbis_parser: Include stdint.h in the header, to make it work standalone

This fixes "make checkheaders".

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavfilter/x86/vf_interlace: remove redundant instructions
Michael Niedermayer [Tue, 25 Nov 2014 11:33:51 +0000 (12:33 +0100)]
avfilter/x86/vf_interlace: remove redundant instructions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'ca5c3ff90972a5c97aabda2ace57ba72dcd7d83b'
Michael Niedermayer [Tue, 25 Nov 2014 11:31:21 +0000 (12:31 +0100)]
Merge commit 'ca5c3ff90972a5c97aabda2ace57ba72dcd7d83b'

* commit 'ca5c3ff90972a5c97aabda2ace57ba72dcd7d83b':
  vf_interlace: x86: improve asm performance

Conflicts:
libavfilter/x86/vf_interlace.asm

See: 05e4b25e9b0a3586033dc21548b03c8e5071efe3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '57ed5a64feec4af1f16f9a74c63cfa9aa8147242'
Michael Niedermayer [Tue, 25 Nov 2014 11:27:12 +0000 (12:27 +0100)]
Merge commit '57ed5a64feec4af1f16f9a74c63cfa9aa8147242'

* commit '57ed5a64feec4af1f16f9a74c63cfa9aa8147242':
  hnm4: change width/height to int to fix hypothetical integer overflows

See: e23b18321fb5cffb6e05d0b0ef00de9733f560da
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '16158da9607f2f84232d3dd381406b2f2449ec74'
Michael Niedermayer [Tue, 25 Nov 2014 11:16:07 +0000 (12:16 +0100)]
Merge commit '16158da9607f2f84232d3dd381406b2f2449ec74'

* commit '16158da9607f2f84232d3dd381406b2f2449ec74':
  hnm4: Use av_image_check_size

See: e23b18321fb5cffb6e05d0b0ef00de9733f560da
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '51946d2de8bd4a4aada43b6ab41340b0f5eb4ecb'
Michael Niedermayer [Tue, 25 Nov 2014 11:14:12 +0000 (12:14 +0100)]
Merge commit '51946d2de8bd4a4aada43b6ab41340b0f5eb4ecb'

* commit '51946d2de8bd4a4aada43b6ab41340b0f5eb4ecb':
  vc1: Use the correct shift amount

See: a52f443714b5c2a40ed272d8445f4c39220a4b69
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'd25afb579facc83fd3a839f21411124d0b09f0ba'
Michael Niedermayer [Tue, 25 Nov 2014 10:57:57 +0000 (11:57 +0100)]
Merge commit 'd25afb579facc83fd3a839f21411124d0b09f0ba'

* commit 'd25afb579facc83fd3a839f21411124d0b09f0ba':
  vc1: Set the is_intra bitfield to all 1 when needed

Conflicts:
libavcodec/vc1_block.c

See: 04152a31cb41a7ca3cc0bde9d962454fc30bab9c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'b67138598ce158e3083f6295a27b63e2065d5ecb'
Michael Niedermayer [Tue, 25 Nov 2014 10:33:51 +0000 (11:33 +0100)]
Merge commit 'b67138598ce158e3083f6295a27b63e2065d5ecb'

* commit 'b67138598ce158e3083f6295a27b63e2065d5ecb':
  vc1: Simplify a little setting the intra variables

Conflicts:
libavcodec/vc1_block.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '62e52b94e684491dfc5a6b7ca688bb86f7cd0f3f'
Michael Niedermayer [Tue, 25 Nov 2014 10:19:31 +0000 (11:19 +0100)]
Merge commit '62e52b94e684491dfc5a6b7ca688bb86f7cd0f3f'

* commit '62e52b94e684491dfc5a6b7ca688bb86f7cd0f3f':
  vorbis_parser: Move vp check to avoid a null pointer dereference

See: 374c907fb35f8236547b24d792fbb9bed201e321
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'c117da9d3e0db7dc311d817054988364b3ef4587'
Michael Niedermayer [Tue, 25 Nov 2014 10:17:50 +0000 (11:17 +0100)]
Merge commit 'c117da9d3e0db7dc311d817054988364b3ef4587'

* commit 'c117da9d3e0db7dc311d817054988364b3ef4587':
  lpc: remove unneeded {}

See: 85929b9caa90553f9e1bbd7a3ead03ef2ade4d71
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'bc75b64cff37d58f3944e2da3da45c37f35f019a'
Michael Niedermayer [Tue, 25 Nov 2014 10:00:50 +0000 (11:00 +0100)]
Merge commit 'bc75b64cff37d58f3944e2da3da45c37f35f019a'

* commit 'bc75b64cff37d58f3944e2da3da45c37f35f019a':
  vc1pred: remove logically dead code

Conflicts:
libavcodec/vc1_pred.c

See: fca435fee167da981f024e35d9fef4e6179b8061
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavdevice/decklink_common: Fix "Cross-compiling FFmpeg on Debian for Windows with...
Carl Eugen Hoyos [Tue, 25 Nov 2014 03:40:49 +0000 (04:40 +0100)]
avdevice/decklink_common: Fix "Cross-compiling FFmpeg on Debian for Windows with MinGW-w64"

Fixes Ticket4130

Requested and Tested by: Zeranoe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge remote-tracking branch 'cehoyos/master'
Michael Niedermayer [Tue, 25 Nov 2014 03:12:22 +0000 (04:12 +0100)]
Merge remote-tracking branch 'cehoyos/master'

* cehoyos/master:
  Include config.h from huffyuvdsp.h.
  Include stddef from snow_dwt.h.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agodoc/print_options: Fix build on mingw after 960aff379da46dcaff61504a57714d4d4e758e41
Michael Niedermayer [Tue, 25 Nov 2014 02:56:57 +0000 (03:56 +0100)]
doc/print_options: Fix build on mingw after 960aff379da46dcaff61504a57714d4d4e758e41

A cleaner fix is very welcome

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavdevice/dshow: fix build, ensure that feature enable #defines are set before includes
Michael Niedermayer [Tue, 25 Nov 2014 02:49:09 +0000 (03:49 +0100)]
avdevice/dshow: fix build, ensure that feature enable #defines are set before includes

dshow_capture.h sets up various flags before including windows headers
this must occur before other headers (like os_support.h) include these
headers without the setup

This could be fixed differently but for now this fixes building on mingw

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agovf_interlace: x86: improve asm performance
Michael Niedermayer [Sat, 15 Nov 2014 03:07:08 +0000 (04:07 +0100)]
vf_interlace: x86: improve asm performance

4775 decicycles -> 3688 decicycles

4 years agohnm4: change width/height to int to fix hypothetical integer overflows
Michael Niedermayer [Wed, 12 Nov 2014 10:13:08 +0000 (11:13 +0100)]
hnm4: change width/height to int to fix hypothetical integer overflows

CC: libav-stable@libav.org
Bug-Id: CID 1135770 / CID 1135771

4 years agohnm4: Use av_image_check_size
Luca Barbato [Mon, 24 Nov 2014 00:04:39 +0000 (01:04 +0100)]
hnm4: Use av_image_check_size

As done for all the other codecs not calling it indirectly.

CC: libav-stable@libav.org
Bug-Id: CID 1135770 / CID 1135771

4 years agovc1: Use the correct shift amount
Michael Niedermayer [Sun, 23 Nov 2014 23:44:48 +0000 (00:44 +0100)]
vc1: Use the correct shift amount

`is_intra` is a 6bits bitfield.

CC: libav-stable@libav.org
Bug-Id: CID 1194380 / CID 1194381

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agovc1: Set the is_intra bitfield to all 1 when needed
Luca Barbato [Sun, 23 Nov 2014 23:44:47 +0000 (00:44 +0100)]
vc1: Set the is_intra bitfield to all 1 when needed

Keep the code as similar as possible across the codepaths to
ease spotting it for factorization.

Based on a patch from Michael Niedermayer <michaelni@gmx.at>.

4 years agovc1: Simplify a little setting the intra variables
Luca Barbato [Sun, 23 Nov 2014 23:44:46 +0000 (00:44 +0100)]
vc1: Simplify a little setting the intra variables

The code currently set the information in at least 4 places, spare
some pointless loops.

Make the code in the loop a little uniform to make easier factorize
it out later.

4 years agovorbis_parser: Move vp check to avoid a null pointer dereference
Michael Niedermayer [Mon, 24 Nov 2014 15:48:27 +0000 (15:48 +0000)]
vorbis_parser: Move vp check to avoid a null pointer dereference

CC: libav-stable@libav.org
Bug-Id: CID 1251347

4 years agolpc: remove unneeded {}
Michael Niedermayer [Mon, 24 Nov 2014 16:06:00 +0000 (16:06 +0000)]
lpc: remove unneeded {}

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>