ffmpeg.git
2 years agolibvpxenc: Don't spam level errors for VP8 encodes
Alex Converse [Mon, 12 Dec 2016 20:07:05 +0000 (12:07 -0800)]
libvpxenc: Don't spam level errors for VP8 encodes

Fixes "Failed to set VP9E_GET_LEVEL codec control: Codec does not
implement requested capability" log messages on VP8 encodes.

2 years agoswresample/resample: do not allow negative dst_size return value
Muhammad Faiz [Tue, 13 Dec 2016 07:11:48 +0000 (14:11 +0700)]
swresample/resample: do not allow negative dst_size return value

This should fix Ticket6012

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2 years agoavformat/utils: Print verbose error message if stream count exceeds max_streams
Michael Niedermayer [Sat, 10 Dec 2016 19:15:13 +0000 (20:15 +0100)]
avformat/utils: Print verbose error message if stream count exceeds max_streams

Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/options_table: Set the default maximum number of streams to 1000
Michael Niedermayer [Sat, 10 Dec 2016 19:15:12 +0000 (20:15 +0100)]
avformat/options_table: Set the default maximum number of streams to 1000

Fixes CVE-2016-9561, Note the security relevance of this is disputed as
running out of memory can happen with valid files

Suggested-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavfilter/avfilter: fix filtering frames with unknown channel layouts for filters...
Marton Balint [Mon, 12 Dec 2016 21:42:27 +0000 (22:42 +0100)]
avfilter/avfilter: fix filtering frames with unknown channel layouts for filters needing writable frames

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/mips: version 1 of wmv2dsp optimizations for loongson mmi
Zhou Xiaoyong [Mon, 10 Oct 2016 08:10:59 +0000 (16:10 +0800)]
avcodec/mips: version 1 of wmv2dsp optimizations for loongson mmi

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mips: version 1 of vp8dsp optimizations for loongson mmi
Zhou Xiaoyong [Mon, 10 Oct 2016 08:10:22 +0000 (16:10 +0800)]
avcodec/mips: version 1 of vp8dsp optimizations for loongson mmi

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoconfigure: add -fPIE instead of -pie to C flags for ThreadSanitizer
Wan-Teh Chang [Fri, 2 Dec 2016 22:04:53 +0000 (14:04 -0800)]
configure: add -fPIE instead of -pie to C flags for ThreadSanitizer

-pie was added to C flags for ThreadSanitizer in commit
19f251a2882a8d0779b432e63bf282e4d9c443bb. Under clang 3.8.0, the -pie
flag causes a compiler warning and a linker error when running configure
--toolchain=clang-tsan. Here is an excerpt from config.log:

clang ... -fsanitize=thread -pie -std=c11 -fomit-frame-pointer -pthread -c -o /tmp/ffconf.hL61stP9.o /tmp/ffconf.YO6ZaSFG.c
clang: warning: argument unused during compilation: '-pie'
clang -fsanitize=thread -pie -Wl,--as-needed -Wl,-z,noexecstack -o /tmp/ffconf.W5c2e41l /tmp/ffconf.hL61stP9.o -lbz2 -pthread
/usr/bin/ld: /tmp/ffconf.hL61stP9.o: relocation R_X86_64_PC32 against undefined symbol `atan2f@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)

To be conservative, I changed -pie to -fPIE. But the documentation seems
to imply just -fsanitize=thread is enough:

http://clang.llvm.org/docs/ThreadSanitizer.html
https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavutil: fix data race in av_get_cpu_flags()
Wan-Teh Chang [Wed, 7 Dec 2016 02:16:13 +0000 (18:16 -0800)]
avutil: fix data race in av_get_cpu_flags()

Make the one-time initialization in av_get_cpu_flags() thread-safe. The
static variable |cpu_flags| in libavutil/cpu.c is read and written using
normal load and store operations. These are considered as data races.
The fix is to use atomic load and store operations.

The fix can be verified by running the libavutil/tests/cpu_init.c test
program under ThreadSanitizer:
    ./configure --toolchain=clang-tsan
    make libavutil/tests/cpu_init
    libavutil/tests/cpu_init

There should be no warnings from ThreadSanitizer.

Co-author: Dmitry Vyukov of Google, who suggested the data race fix.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavutil/tests/imgutils: Remove unused variable
Michael Niedermayer [Mon, 12 Dec 2016 22:45:54 +0000 (23:45 +0100)]
avutil/tests/imgutils: Remove unused variable

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoopt: reject denominator zero as out of range
Andreas Cadhalpun [Mon, 12 Dec 2016 00:12:15 +0000 (01:12 +0100)]
opt: reject denominator zero as out of range

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2 years agofate: Add h264 test for frame num gaps
Derek Buitenhuis [Fri, 9 Dec 2016 15:21:11 +0000 (15:21 +0000)]
fate: Add h264 test for frame num gaps

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2 years agoavcodec/cuvid: fix compilation with msvc11
Timo Rothenpieler [Mon, 12 Dec 2016 10:44:36 +0000 (11:44 +0100)]
avcodec/cuvid: fix compilation with msvc11

2 years agolavf/mov: Accept multiple fourcc for AVID 1:1.
Carl Eugen Hoyos [Mon, 12 Dec 2016 11:26:21 +0000 (12:26 +0100)]
lavf/mov: Accept multiple fourcc for AVID 1:1.

Fixes ticket #5982.

2 years agolavf/isom: Support EVRC in pvAuthor files.
Carl Eugen Hoyos [Mon, 12 Dec 2016 10:37:06 +0000 (11:37 +0100)]
lavf/isom: Support EVRC in pvAuthor files.

Fixes ticket #6014.

2 years agoavformat/matroskadec: remove the strict unofficial check for Colour elements
James Almer [Mon, 5 Dec 2016 02:27:54 +0000 (23:27 -0300)]
avformat/matroskadec: remove the strict unofficial check for Colour elements

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/matroskadec: allocate Colour related fields only if the file contains the...
James Almer [Mon, 5 Dec 2016 02:22:39 +0000 (23:22 -0300)]
avformat/matroskadec: allocate Colour related fields only if the file contains the relevant master

The demuxer doesn't fill the defaults if the master isn't present.
This results in codecpar->color_space being set with a value of
zero (RGB) on such files.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoffplay: fix sws_scale possible out of bounds array access
Marton Balint [Sat, 10 Dec 2016 11:46:54 +0000 (12:46 +0100)]
ffplay: fix sws_scale possible out of bounds array access

As I used simple RGBA formats for subtitles and for the video texture if
avfilter is disabled I kind of assumed that sws_scale won't access data
pointers and strides above index 0, but apparently that is not the case.

Fixes Coverity CID 1396737139673813967391396740.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavutil/tests: run the cpu_init.c test conditionally on HAVE_THREADS
Wan-Teh Chang [Tue, 6 Dec 2016 19:00:02 +0000 (11:00 -0800)]
avutil/tests: run the cpu_init.c test conditionally on HAVE_THREADS

Suggested by Diego Biurrun and James Almer.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavutil/cpu_init: remove unnecessary arguments to the main() function
Wan-Teh Chang [Tue, 6 Dec 2016 19:00:01 +0000 (11:00 -0800)]
avutil/cpu_init: remove unnecessary arguments to the main() function

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec: Add max_pixels options
Michael Niedermayer [Sat, 10 Dec 2016 20:40:44 +0000 (21:40 +0100)]
avcodec: Add max_pixels options

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavutil: Add av_image_check_size2()
Michael Niedermayer [Sat, 10 Dec 2016 20:05:14 +0000 (21:05 +0100)]
avutil: Add av_image_check_size2()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agofate: add av_image_check_size() test
Michael Niedermayer [Sat, 10 Dec 2016 20:39:56 +0000 (21:39 +0100)]
fate: add av_image_check_size() test

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoconfigure: fail if autodetect-libraries are requested but not found
Andreas Cadhalpun [Wed, 30 Nov 2016 22:50:17 +0000 (23:50 +0100)]
configure: fail if autodetect-libraries are requested but not found

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2 years agoconfigure: enable autodetected libraries after option parsing
Andreas Cadhalpun [Wed, 30 Nov 2016 22:49:35 +0000 (23:49 +0100)]
configure: enable autodetected libraries after option parsing

And only enable them, if they haven't been disabled.

This is needed for the following patch.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2 years agoconfigure: enable sdl if sdl2 is enabled
Andreas Cadhalpun [Wed, 30 Nov 2016 22:47:54 +0000 (23:47 +0100)]
configure: enable sdl if sdl2 is enabled

sdl is supposed to be an alias, so it should have the same value.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2 years agolibavcodec/tests: Add avpacket test to .gitignore
Derek Buitenhuis [Fri, 9 Dec 2016 15:22:52 +0000 (15:22 +0000)]
libavcodec/tests: Add avpacket test to .gitignore

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2 years agoconfigure: Require bit_depth field for VAAPI VP9 decode hwaccel
Mark Thompson [Thu, 8 Dec 2016 19:29:14 +0000 (19:29 +0000)]
configure: Require bit_depth field for VAAPI VP9 decode hwaccel

libva versions from 1.6.0 to 1.6.2 do not include it, and therefore
cannot work with VP9 profile >= 2.

Fixes ticket #6003.

2 years agoopus_parser: make ParseContext the first element in OpusParseContext
Andreas Cadhalpun [Thu, 8 Dec 2016 23:01:35 +0000 (00:01 +0100)]
opus_parser: make ParseContext the first element in OpusParseContext

ff_parse_close expects priv_data to be the ParseContext directly and
thus doesn't work if it isn't at the beginning of OpusParseContext.

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2 years agoopus_parser: fix leaking channel_maps on error
Andreas Cadhalpun [Thu, 8 Dec 2016 23:00:18 +0000 (00:00 +0100)]
opus_parser: fix leaking channel_maps on error

Make ff_opus_parse_extradata free allocated memory on error instead of
expecting callers to free it in that case.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2 years agoavfilter/af_ashowinfo: properly show input channel layout for unknown channel layouts
Marton Balint [Sat, 3 Dec 2016 19:06:14 +0000 (20:06 +0100)]
avfilter/af_ashowinfo: properly show input channel layout for unknown channel layouts

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavfilter/af_channelmap: add support for unknown input channel layouts
Marton Balint [Sat, 3 Dec 2016 19:02:47 +0000 (20:02 +0100)]
avfilter/af_channelmap: add support for unknown input channel layouts

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavfilter/af_atempo: add support for unknown channel layouts
Marton Balint [Sat, 3 Dec 2016 19:02:24 +0000 (20:02 +0100)]
avfilter/af_atempo: add support for unknown channel layouts

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavfilter/formats: allow unknown channel layouts by default
Marton Balint [Mon, 21 Nov 2016 23:40:50 +0000 (00:40 +0100)]
avfilter/formats: allow unknown channel layouts by default

Since the default in the libav fork is to only allow known layouts, making
unknown layouts allowed by default here can be a security risk for filters
directly merged from libav. However, usually it is simple to detect such cases,
use of av_get_channel_layout_nb_channels is a good indicator, so I suggest we
change this regardless.

See http://ffmpeg.org/pipermail/ffmpeg-devel/2016-November/203204.html.

This patch indirectly adds unknown channel layout support for filters where
query_formats is not specified:

abench
afifo
ainterleave
anullsink
apad
aperms
arealtime
aselect
asendcmd
asetnsamples
asetpts
asettb
ashowinfo
azmq

It introduces a query_formats callback for the asyncts filter, which only
supports known channel layouts since it is using libavresample.

And it removes .query_formats callback from filters where it was only there to
support unknown layouts, as this is now the default:

aloop
ametadata
anull
asidedata
asplit
atrim

Acked-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/mpeg12dec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
Michael Niedermayer [Thu, 8 Dec 2016 21:53:50 +0000 (22:53 +0100)]
avcodec/mpeg12dec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM

This decreases the amount of computations and memory needed for analysing mpeg1/2 streams

the properties update is moved from code that is skiped if skip_frame is set
to code that is not skiped so the change doesnt loose that
from being executed

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoswresample/resample_template: Add filter values in parallel
Michael Niedermayer [Sat, 10 Dec 2016 01:03:43 +0000 (02:03 +0100)]
swresample/resample_template: Add filter values in parallel

This is faster 2871 -> 2189  cycles for int16 matrixbench -> 23456hz
Fixes a integer overflow in a artificial corner case
Fixes part of 668007-media

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoswresample/resample_template: Reorder operations to avoid one addition
Michael Niedermayer [Sat, 10 Dec 2016 00:54:13 +0000 (01:54 +0100)]
swresample/resample_template: Reorder operations to avoid one addition

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoswresample/swresample: Check count before memcpy()
Michael Niedermayer [Sat, 10 Dec 2016 00:52:56 +0000 (01:52 +0100)]
swresample/swresample: Check count before memcpy()

Fixes undefined operation
Fixes part of 668007-media

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mpeg4videodec: Fix undefined shifts in mpeg4_decode_sprite_trajectory()
Michael Niedermayer [Fri, 9 Dec 2016 16:01:14 +0000 (17:01 +0100)]
avcodec/mpeg4videodec: Fix undefined shifts in mpeg4_decode_sprite_trajectory()

Fixes: part of 670190.ogg

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/oggdec: Skip streams in duration correction that did not had their duration...
Michael Niedermayer [Fri, 9 Dec 2016 16:01:14 +0000 (17:01 +0100)]
avformat/oggdec: Skip streams in duration correction that did not had their duration set.

Fixes: part of 670190.ogg
Fixes integer overflow

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoh264_slice: Wait for refs to be available before we use them in error concealment
Derek Buitenhuis [Wed, 7 Dec 2016 17:57:41 +0000 (17:57 +0000)]
h264_slice: Wait for refs to be available before we use them in error concealment

This could happen when there was a frame number gap and frame threading was used.

This fixes #5458.

Debugging-by: Ronald S. Bultje <rsbultje@gmail.com>
Debugging-by: Justin Ruggles <justin.ruggles@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2 years agofate: add a monoscopic spherical matroska test
James Almer [Thu, 8 Dec 2016 18:05:20 +0000 (15:05 -0300)]
fate: add a monoscopic spherical matroska test

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agofate: improve fate-mov dependencies
James Almer [Thu, 8 Dec 2016 18:04:30 +0000 (15:04 -0300)]
fate: improve fate-mov dependencies

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/ffv1enc: Allocate smaller packet if the worst case size cannot be allocated
Michael Niedermayer [Thu, 8 Dec 2016 22:51:45 +0000 (23:51 +0100)]
avcodec/ffv1enc: Allocate smaller packet if the worst case size cannot be allocated

We are checking during encoding if there is enough space as version 4 needs that
check.

Fixes Ticket6005

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/ffv1enc: Fix size of first slice
Michael Niedermayer [Thu, 8 Dec 2016 23:19:19 +0000 (00:19 +0100)]
avcodec/ffv1enc: Fix size of first slice

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaacdec: Rename elem_type_prev to che_prev_type.
Alex Converse [Thu, 8 Dec 2016 19:49:43 +0000 (11:49 -0800)]
aacdec: Rename elem_type_prev to che_prev_type.

It describes the type of the previous che element (SCE, CPE, CCE, or
LFE) and does not reflect non-che elements.

2 years agoaacdec: Allow SBR after DRC.
Alex Converse [Wed, 7 Dec 2016 00:47:46 +0000 (16:47 -0800)]
aacdec: Allow SBR after DRC.

Fixes https://www2.iis.fraunhofer.de/AAC/7.1auditionOutLeader_v2_rtb.mp4

Reported-by: rcombs on IRC
2 years agodoc/muxers: remove "-strict experimental" from tee muxer examples
Lou Logan [Thu, 8 Dec 2016 21:06:05 +0000 (12:06 -0900)]
doc/muxers: remove "-strict experimental" from tee muxer examples

Examples use the native FFmpeg AAC encoder but it is no longer
considered experimental and therefore not required.

Signed-off-by: Lou Logan <lou@lrcd.com>
2 years agoavfilter/vf_deband: fix silly mistakes
Paul B Mahol [Thu, 8 Dec 2016 20:21:15 +0000 (21:21 +0100)]
avfilter/vf_deband: fix silly mistakes

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavformat: Add max_streams option
Michael Niedermayer [Fri, 18 Nov 2016 16:00:30 +0000 (17:00 +0100)]
avformat: Add max_streams option

This allows user apps to stop OOM due to excessive number of streams

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaarch64: h264idct: Use the offset parameter to movrel
Martin Storsjö [Wed, 9 Nov 2016 09:54:25 +0000 (11:54 +0200)]
aarch64: h264idct: Use the offset parameter to movrel

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 6a62795d4051f435a9a2c59395d96913693922f8)
Cherry pick Suggested-by: Martin Storsjö

This should fix the build failure on macosx

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavfilter/vf_hwupload_cuda: Add min/max limits for the 'device' option
Srinath K R [Sat, 3 Dec 2016 11:38:40 +0000 (17:08 +0530)]
avfilter/vf_hwupload_cuda: Add min/max limits for the 'device' option

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2 years agoavformat/matroskadec: remove unused variable
James Almer [Thu, 8 Dec 2016 04:23:24 +0000 (01:23 -0300)]
avformat/matroskadec: remove unused variable

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/matroskadec: fix memleak on stream side data failure
James Almer [Thu, 8 Dec 2016 04:21:11 +0000 (01:21 -0300)]
avformat/matroskadec: fix memleak on stream side data failure

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/golomb: Consume invalid data in get_ur_golomb_jpegls()
Michael Niedermayer [Thu, 8 Dec 2016 00:46:26 +0000 (01:46 +0100)]
avcodec/golomb: Consume invalid data in get_ur_golomb_jpegls()

Fixes slow loops on fuzzed data
Fixes: 245/fuzz-3-ffmpeg_AUDIO_AV_CODEC_ID_FLAC_fuzzer

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/matroskadec: add support for Spherical Video elements
James Almer [Tue, 6 Dec 2016 17:48:45 +0000 (14:48 -0300)]
avformat/matroskadec: add support for Spherical Video elements

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoyuv4mpegdec: fix leaking pkt in yuv4_read_packet
Andreas Cadhalpun [Mon, 5 Dec 2016 21:56:36 +0000 (22:56 +0100)]
yuv4mpegdec: fix leaking pkt in yuv4_read_packet

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2 years agoavcodec/h264: resolve assert being triggered when stack is not aligned
James Darnley [Wed, 7 Dec 2016 20:57:15 +0000 (21:57 +0100)]
avcodec/h264: resolve assert being triggered when stack is not aligned

32-bit msvc.

2 years agofate: Add a monoscopic spherical mov test
Vittorio Giovara [Wed, 30 Nov 2016 23:32:57 +0000 (18:32 -0500)]
fate: Add a monoscopic spherical mov test

2 years agomov: Export spherical information
Vittorio Giovara [Fri, 11 Nov 2016 22:47:44 +0000 (17:47 -0500)]
mov: Export spherical information

This implements Spherical Video V1 and V2, as described in the
spatial-media collection by Google.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2 years agolavc: Add spherical packet side data API
Vittorio Giovara [Fri, 11 Nov 2016 22:37:43 +0000 (17:37 -0500)]
lavc: Add spherical packet side data API

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2 years agolavu: Add AVSphericalMapping type and frame side data
Vittorio Giovara [Fri, 11 Nov 2016 22:25:43 +0000 (17:25 -0500)]
lavu: Add AVSphericalMapping type and frame side data

While no decoder currently exports spherical information, this type
represents a frame property that has to be passed through from container
to frames.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2 years agoavcodec/wavpack: Treat the first block coding too many channels as an error
Michael Niedermayer [Wed, 7 Dec 2016 11:06:16 +0000 (12:06 +0100)]
avcodec/wavpack: Treat the first block coding too many channels as an error

Fixes memleak
Fixes: 236/8aeebc9ca49b91bf71c114dcefac56c154a3a563

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/hlsenc: save the EXT-X-DISCONTINUITY from old list
Steven Liu [Tue, 6 Dec 2016 23:43:36 +0000 (07:43 +0800)]
avformat/hlsenc: save the EXT-X-DISCONTINUITY from old list

when use fix ticket 2nd problem.

command line test step:
rm -rf output*;./ffmpeg  -i ~/Movies/objectC/facebook.mp4 -an -c:v copy
-f hls -hls_time 4 -hls_list_size 5 -hls_flags +delete_segments
-hls_flags +append_list -hls_flags +omit_endlist -hls_flags
+discont_start -t 50 output.m3u8
./ffmpeg -i ~/Movies/objectC/facebook.mp4 -an -c:v libx264 -g 4 -f hls
-hls_time 4 -hls_list_size 5 -hls_flags +delete_segments -hls_flags
+append_list -hls_flags +omit_endlist -hls_flags +discont_start -t 5
output.m3u8
./ffmpeg -i ~/Movies/objectC/facebook.mp4 -an -c:v libx264 -g 4 -f hls
-hls_time 4 -hls_list_size 5 -hls_flags +delete_segments -hls_flags
+append_list -hls_flags +omit_endlist -hls_flags +discont_start -t 5
output.m3u8

result:
 #EXTM3U
 #EXT-X-VERSION:3
 #EXT-X-TARGETDURATION:5
 #EXT-X-MEDIA-SEQUENCE:6
 #EXTINF:4.120000,
 output6.ts
 #EXT-X-DISCONTINUITY
 #EXTINF:4.000000,
 output7.ts
 #EXTINF:0.960000,
 output8.ts
 #EXT-X-DISCONTINUITY
 #EXTINF:4.000000,
 output9.ts
 #EXTINF:0.960000,
 output10.ts

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavcodec/h264: mmx2, sse2, avx 10-bit 4:2:2 h chroma deblock/loop filter
James Darnley [Thu, 1 Dec 2016 02:15:10 +0000 (03:15 +0100)]
avcodec/h264: mmx2, sse2, avx 10-bit 4:2:2 h chroma deblock/loop filter

Yorkfield:
 - mmx2: 2.53x (504 vs. 199 cycles)
 - sse2: 3.83x (504 vs. 131 cycles)

Nehalem:
 - mmx2: 2.42x (365 vs. 151 cycles)
 - sse2: 3.56x (365 vs. 103 cycles)

Skylake:
 - mmx2: 1.81x (308 vs. 170 cycles)
 - sse2: 2.84x (308 vs. 108 cycles)
 - avx:  2.93x (308 vs. 105 cycles)

2 years agoavcodec/h264: mmx2, sse2, avx 10-bit h chroma deblock/loop filter
James Darnley [Wed, 30 Nov 2016 20:17:16 +0000 (21:17 +0100)]
avcodec/h264: mmx2, sse2, avx 10-bit h chroma deblock/loop filter

Yorkfield:
 - mmx2: 2.45x (279 vs. 114 cycles)
 - sse2: 3.36x (279 vs.  83 cycles)

Nehalem:
 - mmx2: 2.10x (192 vs.  92 cycles)
 - sse2: 2.84x (192 vs.  68 cycles)

Skylake:
 - mmx2: 1.75x (170 vs.  97 cycles)
 - sse2: 2.47x (170 vs.  69 cycles)
 - avx:  2.47x (170 vs.  69 cycles)

2 years agowhitespace changes after last commit
James Darnley [Thu, 1 Dec 2016 01:47:24 +0000 (02:47 +0100)]
whitespace changes after last commit

2 years agoavcodec/h264: clean up and expand x86 function definitions
James Darnley [Thu, 1 Dec 2016 01:44:18 +0000 (02:44 +0100)]
avcodec/h264: clean up and expand x86 function definitions

2 years agoqsvdec: Fix memory leak
Timothy Gu [Mon, 5 Dec 2016 18:20:26 +0000 (10:20 -0800)]
qsvdec: Fix memory leak

Fixes CID1396851.

2 years agoomx: Fix OOM check
Timothy Gu [Mon, 5 Dec 2016 17:24:47 +0000 (09:24 -0800)]
omx: Fix OOM check

Also use av_mallocz_array().

Fixes CID1396839.

2 years agolavf/chromaprint: Update for version 1.4
Georgi D. Sotirov [Tue, 6 Dec 2016 20:07:59 +0000 (21:07 +0100)]
lavf/chromaprint: Update for version 1.4

Fixes ticket #5997.

2 years agoAdded test for libavcodec/avpacket.c
Thomas Turner [Tue, 6 Dec 2016 06:22:41 +0000 (22:22 -0800)]
Added test for libavcodec/avpacket.c

Signed-off-by: Thomas Turner <thomastdt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agotests/api/api-seek-test: check all compute_crc_of_packets() calls
Michael Niedermayer [Tue, 6 Dec 2016 13:07:42 +0000 (14:07 +0100)]
tests/api/api-seek-test: check all compute_crc_of_packets() calls

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agotests/api/api-seek-test: Silence compiler warnings about uninitialized variables
Michael Niedermayer [Tue, 6 Dec 2016 13:16:02 +0000 (14:16 +0100)]
tests/api/api-seek-test: Silence compiler warnings about uninitialized variables

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agotests/api/api-seek-test: Fix use of uinitialized value
Michael Niedermayer [Tue, 6 Dec 2016 13:08:39 +0000 (14:08 +0100)]
tests/api/api-seek-test: Fix use of uinitialized value

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/dump: remove line break on mastering display metadata info dump
James Almer [Mon, 5 Dec 2016 23:03:16 +0000 (20:03 -0300)]
avformat/dump: remove line break on mastering display metadata info dump

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/vaapi-vp9: add support for profile 2 (bpp > 8)
Mathieu Velten [Mon, 5 Dec 2016 20:32:59 +0000 (21:32 +0100)]
avcodec/vaapi-vp9: add support for profile 2 (bpp > 8)

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoavcodec/vp9: move bpp to the shared context for use in hwaccel
Mathieu Velten [Mon, 5 Dec 2016 20:32:58 +0000 (21:32 +0100)]
avcodec/vp9: move bpp to the shared context for use in hwaccel

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agotruemotion1: fix leaking frame on init failure
Andreas Cadhalpun [Mon, 5 Dec 2016 20:41:06 +0000 (21:41 +0100)]
truemotion1: fix leaking frame on init failure

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2 years agohttp: move chunk handling from http_read_stream() to http_buf_read().
Ronald S. Bultje [Mon, 5 Dec 2016 15:18:10 +0000 (10:18 -0500)]
http: move chunk handling from http_read_stream() to http_buf_read().

2 years agohttp: make length/offset-related variables unsigned.
Ronald S. Bultje [Mon, 5 Dec 2016 13:02:33 +0000 (08:02 -0500)]
http: make length/offset-related variables unsigned.

Fixes #5992, reported and found by Paul Cher <paulcher@icloud.com>.

2 years agovaapi_encode: Write sequence header as extradata
Mark Thompson [Sun, 2 Oct 2016 07:48:34 +0000 (08:48 +0100)]
vaapi_encode: Write sequence header as extradata

Only works if packed headers are supported, where we can know the
output before generating the first frame.

(cherry picked from commit 0cf86fabfa5820596cca2cfead63c6f8df76c3f2)

2 years agolavf: fix the wrong warning msg and comments about av_find_stream_info
Jun Zhao [Mon, 5 Dec 2016 07:17:13 +0000 (15:17 +0800)]
lavf: fix the wrong warning msg and comments about av_find_stream_info

av_find_stream_info() was deprecated by avformat_find_stream_info(),
correct the warning message in the avformat_find_stream_info() and
comments in the avformat.h

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoffserver: Check chunk size
Michael Niedermayer [Mon, 5 Dec 2016 16:27:45 +0000 (17:27 +0100)]
ffserver: Check chunk size

Fixes out of array access

Fixes: poc_ffserver.py
Found-by: Paul Cher <paulcher@icloud.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoAvoid using the term "file" and prefer "url" in some docs and comments
Michael Niedermayer [Mon, 5 Dec 2016 11:54:21 +0000 (12:54 +0100)]
Avoid using the term "file" and prefer "url" in some docs and comments

This should make it less ambigous that these are URLs

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/rtmppkt: Check for packet size mismatches
Michael Niedermayer [Mon, 5 Dec 2016 10:14:51 +0000 (11:14 +0100)]
avformat/rtmppkt: Check for packet size mismatches

Fixes out of array access

Found-by: Paul Cher <paulcher@icloud.com>
Reviewed-by: Paul Cher <paulcher@icloud.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agozmqsend: Initialize ret to 0
Timothy Gu [Mon, 5 Dec 2016 18:04:57 +0000 (10:04 -0800)]
zmqsend: Initialize ret to 0

Fixes CID1396857.

2 years agoconfigure: check for strtoull on msvc
James Almer [Mon, 5 Dec 2016 16:07:10 +0000 (13:07 -0300)]
configure: check for strtoull on msvc

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/hlsenc: fix ticket id 5988 for DISCONTINUITY
Steven Liu [Mon, 5 Dec 2016 09:55:33 +0000 (17:55 +0800)]
avformat/hlsenc: fix ticket id 5988 for DISCONTINUITY

add EXT-X-DISCONTINUITY tag at the position of the append point.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavcodec/flacdec: Fix undefined shift in decode_subframe()
Michael Niedermayer [Sat, 3 Dec 2016 23:11:17 +0000 (00:11 +0100)]
avcodec/flacdec: Fix undefined shift in decode_subframe()

Fixes undefined behavior
Fixes: 639961-media

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/get_bits: Fix get_sbits_long(0)
Michael Niedermayer [Sat, 3 Dec 2016 22:44:56 +0000 (23:44 +0100)]
avcodec/get_bits: Fix get_sbits_long(0)

Fixes undefined behavior
Fixes: 640889-media

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/flac: forward errors from ff_flac_parse_streaminfo()
Michael Niedermayer [Sat, 3 Dec 2016 22:39:11 +0000 (23:39 +0100)]
avcodec/flac: forward errors from ff_flac_parse_streaminfo()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/flac: Check bps in ff_flac_parse_streaminfo()
Michael Niedermayer [Sat, 3 Dec 2016 22:37:27 +0000 (23:37 +0100)]
avcodec/flac: Check bps in ff_flac_parse_streaminfo()

2 years agoavformat/ffmdec: Silence "may be used uninitialized in this function" warnings
Michael Niedermayer [Sat, 3 Dec 2016 17:33:22 +0000 (18:33 +0100)]
avformat/ffmdec: Silence "may be used uninitialized in this function" warnings

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/ffmdec: cleanup on extradata memory allocation failure
Michael Niedermayer [Sat, 3 Dec 2016 17:32:04 +0000 (18:32 +0100)]
avformat/ffmdec: cleanup on extradata memory allocation failure

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/ffmdec: Forward error code from ffm_read_header()
Michael Niedermayer [Sat, 3 Dec 2016 17:29:35 +0000 (18:29 +0100)]
avformat/ffmdec: Forward error code from ffm_read_header()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoswresample/resample: do not rebuild filter when sample_delta is zero
Muhammad Faiz [Fri, 2 Dec 2016 20:05:49 +0000 (03:05 +0700)]
swresample/resample: do not rebuild filter when sample_delta is zero

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2 years agoavcodec/flacdec: Fix signed integer overflow in decode_subframe_fixed()
Michael Niedermayer [Sat, 3 Dec 2016 16:05:43 +0000 (17:05 +0100)]
avcodec/flacdec: Fix signed integer overflow in decode_subframe_fixed()

Fixes undefined behavior
Fixes: 640912-media

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/flacdsp_template: Fix undefined shift in flac_decorrelate_indep_c
Michael Niedermayer [Sat, 3 Dec 2016 15:43:10 +0000 (16:43 +0100)]
avcodec/flacdsp_template: Fix undefined shift in flac_decorrelate_indep_c

Fixes: left shift of negative value
Fixes: 668346-media

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/ffmdec: remove last use of st->codec
Michael Niedermayer [Fri, 2 Dec 2016 23:52:58 +0000 (00:52 +0100)]
avformat/ffmdec: remove last use of st->codec

Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>