1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-18 03:19:31 +02:00
Commit Graph

86433 Commits

Author SHA1 Message Date
Michael Niedermayer
23edd41a0d doc/examples/decode_video: Fix format string vulnerability
Fixes: CID1404843

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-09 03:51:19 +02:00
Michael Niedermayer
9244b839b7 avcodec/dcadsp: Fix runtime error: signed integer overflow
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-09 03:51:19 +02:00
Rostislav Pehlivanov
45eeb1f785 mjpegenc: enable optimal huffman coding by default
As it gives excellent encoding gains at an insignificant speed increase
and passes fate without problems, it should now be safe to enable by
default.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-09 00:00:39 +01:00
Rostislav Pehlivanov
7f9b492d54 mjpegenc: disable huffman coding with AMV
Isn't supported.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-09 00:00:32 +01:00
Rostislav Pehlivanov
2c9be3882a mjpegenc_common: check for codec ID before using avctx->priv_data
When coding lossless jpeg the priv context will be pointing to LJpegEncContext
rather than MpegEncContext, which the function expects.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-08 23:57:39 +01:00
James Almer
a8b5f37501 avformat/matroskaenc: don't try to update flac extradata if live streaming 2017-04-08 15:44:53 -03:00
Clément Bœsch
d14a1bd8e4 Merge commit '2575b1917b2703fae41a4b4901ad85c888374dfd'
* commit '2575b1917b2703fae41a4b4901ad85c888374dfd':
  build: Add separate flags for checkheaders targets

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 15:09:57 +02:00
Clément Bœsch
3d0475ef38 Merge commit '984e50e74ba71301720652e56232161a994bd0b5'
* commit '984e50e74ba71301720652e56232161a994bd0b5':
  build: Add -Wpedantic and -Wextra to extra warning flags

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 15:00:25 +02:00
Clément Bœsch
ec10c543b8 Merge commit '33a2b73b98374de4781ae0497cf74b2ce07a9615'
* commit '33a2b73b98374de4781ae0497cf74b2ce07a9615':
  mpeg4audio: correctly propagate meaningful error values

This commit is a noop, see 50b1453915

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:58:06 +02:00
Clément Bœsch
b853d6aa5b Merge commit 'd82d5379caca21005d8906829b35361c4a65408e'
* commit 'd82d5379caca21005d8906829b35361c4a65408e':
  mmaldec: initialize refcount using atomic_init()

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:52:30 +02:00
Clément Bœsch
efb0ea2af4 Merge commit '518a22471e40604a158180a0660aabeeec65e07f'
* commit '518a22471e40604a158180a0660aabeeec65e07f':
  configure: Be more helpful when requiring options set

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:51:56 +02:00
Clément Bœsch
3f06dfcdc6 Merge commit 'a91f1023bc06091ef84dce0f1e12b72d7f3ba3ca'
* commit 'a91f1023bc06091ef84dce0f1e12b72d7f3ba3ca':
  examples: fix a typo in an error message

This commit is a noop, see 3aa1ff30f3

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:51:27 +02:00
Clément Bœsch
68c9a39942 Merge commit '706af9227b58657c73e3a4df3689da734f010500'
* commit '706af9227b58657c73e3a4df3689da734f010500':
  lavu: Document the color properties enumeration values origin

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:50:12 +02:00
Clément Bœsch
97745b131a Merge commit '5168026a05258537f1c48ca95c1776b1554997f4'
* commit '5168026a05258537f1c48ca95c1776b1554997f4':
  options_table: Do not rely on enum size as option bound

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:49:10 +02:00
Clément Bœsch
883fe17e3b Merge commit 'ff9db5cfd14558df9cfcc54d6c062bc34bf1f341'
* commit 'ff9db5cfd14558df9cfcc54d6c062bc34bf1f341':
  lavc: Use a stricter check for the color properties values

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:41:10 +02:00
Clément Bœsch
5be1440c74 Merge commit '0a35f128f3c6e0ae9a0a2236c557602c108da269'
* commit '0a35f128f3c6e0ae9a0a2236c557602c108da269':
  cabac: x86: Give optimizations header a more meaningful name

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:30:13 +02:00
Clément Bœsch
0768aaec1d Merge commit 'cad42fadcd2c2ae1b3676bb398844a1f521a2d7b'
* commit 'cad42fadcd2c2ae1b3676bb398844a1f521a2d7b':
  aarch64: vp9itxfm: Skip empty slices in the first pass of idct_idct 16x16 and 32x32

This commit is a noop, see 8b11a89c06

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:29:06 +02:00
Clément Bœsch
a30f5fd428 Merge commit '9c8bc74c2b40537b0997f646c87c008042d788c2'
* commit '9c8bc74c2b40537b0997f646c87c008042d788c2':
  arm: vp9itxfm: Skip empty slices in the first pass of idct_idct 16x16 and 32x32

This commit is a noop, see 388f6e6715

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:28:25 +02:00
Clément Bœsch
35f62a3b40 Merge commit '3c87039a404c5659ae9bf7454a04e186532eb40b'
* commit '3c87039a404c5659ae9bf7454a04e186532eb40b':
  arm: vp9itxfm: Only reload the idct coeffs for the iadst_idct combination

This commit is a noop, see ecd343aa1f

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:27:45 +02:00
Clément Bœsch
6db8248a59 Merge commit 'c4c5f5386c83bb8d66f8d67cd8533c8697f06d04'
* commit 'c4c5f5386c83bb8d66f8d67cd8533c8697f06d04':
  vp9dsp: add DC only versions for idct/idct.

This commit is a noop, see 64821f5a7c

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:24:40 +02:00
Clément Bœsch
f5fdf355af Merge commit 'e4382a4ab48138d43a19ea0da96f536a5e49b50c'
* commit 'e4382a4ab48138d43a19ea0da96f536a5e49b50c':
  hevc: Eliminate pointless variable indirection

This commit is a noop, the code is different in FFmpeg.

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:20:56 +02:00
Clément Bœsch
6e836052d8 Merge commit '5c89022542ce8521d89ef58858342a7bc1c3cd0d'
* commit '5c89022542ce8521d89ef58858342a7bc1c3cd0d':
  hevc: Drop pointless av_unused attribute

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:18:03 +02:00
Clément Bœsch
2d40fbe639 Merge commit '0983f9117f31521643162cb85380672495a9de1b'
* commit '0983f9117f31521643162cb85380672495a9de1b':
  metasound: Drop unused tables

This commit is mostly a noop, see
276a8666d2
e8319f602e

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:16:32 +02:00
Clément Bœsch
8aaacbf7fd Merge commit 'c21d78a903da378af48c9e5f971fe989592ddb65'
* commit 'c21d78a903da378af48c9e5f971fe989592ddb65':
  configure: Integrate X11 checks into vaapi/vdpau checks

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:13:43 +02:00
Clément Bœsch
f98ccbd6a0 Merge commit '8b56dbe7435d8cfe3964f447fc45fe98db5d9042'
* commit '8b56dbe7435d8cfe3964f447fc45fe98db5d9042':
  configure: Do not add newlines in filter()/filter_out() functions

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:11:21 +02:00
Clément Bœsch
8e0bea5515 Merge commit '9254344e11f9b016088ec6250724f74377f5d7a0'
* commit '9254344e11f9b016088ec6250724f74377f5d7a0':
  configure: Move hardware-accelerated codec deps out of hwaccel section

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:08:51 +02:00
Clément Bœsch
09027c8977 Merge commit 'd4f2a681cb6d4e913f1c879ad376313255d6cf4c'
* commit 'd4f2a681cb6d4e913f1c879ad376313255d6cf4c':
  configure: MMAL-related decoders should depend on, not select, mmal

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 13:51:57 +02:00
James Almer
b438a7868c ffmpeg: use av_stream_new_side_data() in init_output_stream 2017-04-08 01:12:57 -03:00
Rostislav Pehlivanov
d0a3143193 opusenc: switch between intra/inter mode for coarse energy
Saves around 5kbps.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-08 00:54:56 +01:00
Rostislav Pehlivanov
c39fba703b opusenc: do not signal digital silence
Apparently its only use is to enable comfort noise/error recovery.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-08 00:48:28 +01:00
Rostislav Pehlivanov
42ffc67208 opusenc: minor style changes
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-08 00:40:33 +01:00
Rostislav Pehlivanov
63744d8afd opusenc: remove unused header entries and simplify normalization
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-08 00:27:33 +01:00
Rostislav Pehlivanov
a66121d964 opus_rc: add macros for checkpoint rollback
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-08 00:27:33 +01:00
Rostislav Pehlivanov
6d0b62a12b opus_celt: fix some style issues
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-08 00:27:33 +01:00
Rostislav Pehlivanov
db788de8ec mdct15: use existing complex multiplication macros
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-08 00:27:33 +01:00
Ricardo Constantino
57c3670896 vf_pad: center image on padded area if negative x/y
or if x/y go beyond padded area.

This is mostly useful when paired with the aspect option.
Defaults aren't changed.

Idea for this was taken from mpv's soon-to-be-removed expand vf.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
2017-04-07 21:35:06 +01:00
James Almer
3f8d7342c3 doc/libav-merge: remove line about extract_extradata_bsf usage
It was addressed in b8f26779d6
2017-04-07 17:31:40 -03:00
James Almer
e7fb6bc32d avcodec/hevc_parse: ignore all non parameter set NAL units in extradata
While they shouldn't be present, they are harmless if they are.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-07 17:23:57 -03:00
James Almer
b8f26779d6 lavf: use the new bitstream filter for extracting extradata
This merges commits 8e2ea69135 and
096a8effa3 by Anton Khirnov, with the
following change:

- extract_extradata_check() is added to know if the codec is supported
by the bsf before trying to initialize it. This behaviour is similar to
the old AVCodecParser.split checks.

The FATE reference changes are due to the filtered out NAL units that
the old AVCodecParser.split implementation left alone.
Decoding is unchanged as the functions that parse extradata simply
ignored said unnecessary NAL units.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-07 17:16:17 -03:00
James Almer
9f102653fd ffmpeg: use av_stream_new_side_data()
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-07 16:48:21 -03:00
Paul B Mahol
faa94a576f avcodec/utvideodec: add support for gradient prediction
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-07 20:11:23 +02:00
Ronald S. Bultje
2e664b9c1e pthread_frame: make accesses to debug field be protected by owner lock.
The av_log() is done outside the lock, but this way the accesses to the
field (reads and writes) are always protected by a mutex. The av_log()
is not run inside the lock context because it may involve user callbacks
and doing that in performance-sensitive code is probably not a good idea.

This should fix occasional tsan warnings when running fate-h264, like:

WARNING: ThreadSanitizer: data race (pid=10916)
  Write of size 4 at 0x7d64000174fc by main thread (mutexes: write M2313):
    #0 update_context_from_user src/libavcodec/pthread_frame.c:335 (ffmpeg+0x000000df7b06)
[..]
  Previous read of size 4 at 0x7d64000174fc by thread T1 (mutexes: write M2311):
    #0 ff_thread_await_progress src/libavcodec/pthread_frame.c:592 (ffmpeg+0x000000df8b3e)
2017-04-07 13:29:45 -04:00
Ronald S. Bultje
7f05c5cea0 h264: don't re-call ff_h264_direct_ref_list_init() w/ frame-mt.
I'm hoping that this will address the remaining tsan fate-h264 issues:

WARNING: ThreadSanitizer: data race (pid=24478)
  Read of size 8 at 0x7dbc0001c828 by main thread (mutexes: write M3243):
    #0 ff_h264_ref_picture src/libavcodec/h264_picture.c:107 (ffmpeg+0x0000013b78d8)
[..]
  Previous write of size 1 at 0x7dbc0001c82e by thread T2 (mutexes: write M3245):
    #0 ff_h264_direct_ref_list_init src/libavcodec/h264_direct.c:137 (ffmpeg+0x000001382c93)

But I'm not sure because I haven't been able to reproduce locally.
2017-04-07 13:29:45 -04:00
Clément Bœsch
8d94d9798a lavc/mjpegdec: allow failure while decoding APP
Fix decoding frame.jpg from ticket #267

Regression since 9c7ee3749 / 212c6a1d7
2017-04-07 18:05:20 +02:00
James Almer
7c1566fec3 avcodec/tta: Don't try to read more than MIN_CACHE_BITS bits
This fixes assertion failures introduced in 4fbb56acbe.

Reviewed-by: michaelni
Reviewed-by: durandal_1707
2017-04-07 12:52:17 -03:00
Michael Niedermayer
08117a4015 avcodec/h264: Check weight values to be within the specs limits.
Fixes: integer overflows
Fixes: 911/clusterfuzz-testcase-5415105606975488

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-07 15:33:17 +02:00
Clément Bœsch
9c7ee37490 Merge commit '212c6a1d70df011b6f2a2aa02f7677503287bd00'
* commit '212c6a1d70df011b6f2a2aa02f7677503287bd00':
  mjpegdec: Check return values of functions that may fail

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-07 10:17:53 +02:00
Clément Bœsch
e7326e2980 Merge commit '3ee5f25d37315b27f0e2d47aa69fc445545ee2e3'
* commit '3ee5f25d37315b27f0e2d47aa69fc445545ee2e3':
  dxva2: Adjust printf length modifiers where appropriate

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-07 10:08:53 +02:00
Clément Bœsch
92e532c18f Merge commit '239d02eff3ffe9f7d40caa21dde50fb4a0e94c24'
* commit '239d02eff3ffe9f7d40caa21dde50fb4a0e94c24':
  avisynth: Cast to the right type when loading avisynth library functions

This commit is a noop, we are using dlsym() instead of GetProcAdress().

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-07 10:07:43 +02:00
James Almer
00fb745a10 Merge commit '3fe2a01df7f2c193805809f57b61d79607572351'
* commit '3fe2a01df7f2c193805809f57b61d79607572351':
  lavc: move decoding-related code from utils.c to a new file

Merged-by: James Almer <jamrial@gmail.com>
2017-04-07 01:19:56 -03:00