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

83529 Commits

Author SHA1 Message Date
Steinar H. Gunderson
08b098169b speedhq: fix out-of-bounds write
Certain alpha run lengths (for SHQ1/SHQ3/SHQ5) could be stored in
both long and short versions, and we would only accept the short version,
returning -1 (invalid code) for the others. This could cause an
out-of-bounds write on malicious input, as discovered by
Andreas Cadhalpun during fuzzing.

Fix by simply allowing both versions, leaving no invalid codes
in the alpha VLC.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2017-02-02 01:12:07 +01:00
Philip Langdale
4c2176d45b swscale: add P016 input support 2017-02-01 14:29:11 -08:00
Lucas Sandery
15d7e31dcb ffplay: allow borderless playback windows
For a pure video tile effect, and enabling better integration of playback windows
into other programs. It would improve the looks in many situations and avoid ugly
hacks like this: http://stackoverflow.com/q/31465630/315024

Signed-off-by: Lucas Sandery <lucas-sandery@users.noreply.github.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-02-01 22:03:26 +01:00
Michael Niedermayer
0126cd95cc avcodec/ituh263dec: Correct timestamp recovery for B frames
Improves u263_b-frames_5.avi

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-01 22:01:34 +01:00
Paul B Mahol
71ca855c9d avcodec/wmalosslessdec: remove warning message as bug is fixed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-02-01 19:35:24 +01:00
Paul B Mahol
c279c44a3a avformat/msf: support codec 1, which is 16 bit pcm le
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-02-01 19:21:01 +01:00
bnnm
c61b28e042 avcodec/atrac3: Add multichannel joint stereo ATRAC3
Multichannel joint stereo simply interleaves stereo pairs (6ch: 2ch + 2ch + 2ch), so each pair is decoded separatedly.

***

To test my changes, I converted examples to wav with ffmpeg.exe (old and new), and compared them to see they are byte-exact.

Regular 2ch files (JS and normal) were straightforward to test.

For multichannel, to check each JS pair is correctly decoded separatedly I did:
- manually demux 6ch.msf into 3 pairs and convert them (2ch_1.wav + 2ch_2.wav + 2ch_3.wav)
- convert the 6ch.msf file to wav (with my changes)
- manually demux the 6ch.wav into 3 pairs (6ch_d1.wav + 6ch_d2.wav + 6ch_d3.wav)
- compare each pair (ex. 2ch_3.wav vs 6ch_d3.wav): all pairs are byte-exact.

The new code just processes each JS pair separatedly, there are no algorithm changes.
It could be improved a bit but I'm not sure about typical styles.
I've only seen 6ch .MSF (probably the AT3 spec only supports 2ch audio).

Signed-off-by: bnnm <bananaman255@gmail.com>
2017-02-01 19:14:12 +01:00
Michael Niedermayer
4f651c723b avcodec/h263: Remove disabled and wrong code from ff_h263_loop_filter()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-01 19:09:27 +01:00
Michael Niedermayer
901c625494 avcodec/ituh263dec: Use correct error codes in ff_h263_decode_mb()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-01 19:09:27 +01:00
Michael Niedermayer
e00c516d1e avcodec/ituh263dec: Correct indention
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-01 19:09:27 +01:00
Carl Eugen Hoyos
aecdb14ad9 lavc/error_resilience: Remove two unused variables. 2017-02-01 17:51:59 +01:00
Michael Niedermayer
b28ae1e09b avcodec/ituh263dec: Implement B frame support with UMV
Fixes: u263_b-frames_1.avi
Fixes part of Ticket1536

return -1 is used here as it is used in similar code in this function, I intend
to replace it by proper error codes in the whole function.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-01 17:35:54 +01:00
Clément Bœsch
e26e6240b6 Merge commit '90bc423212396e96a02edc1118982ab7f7766a63'
* commit '90bc423212396e96a02edc1118982ab7f7766a63':
  mov: Wrap stsc index and count compare in a separate function

The mov_stsc_index_valid() function is replaced with a macro to prevent
signdness issues (index is not always signed, and count is always
unsigned currently).

The comparison is also adjusted to reduce the risk of overflows.

Merged-by: Clément Bœsch <u@pkh.me>
2017-02-01 15:50:02 +01:00
erankor
37557b28b9 mov: add fate test for decryption with edit list
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-01 15:09:38 +01:00
erankor
0101d29095 mov: fix decryption with edit list
Retain the ranges of frame indexes when applying edit list in
mov_fix_index. The index ranges are then used to keep track of the frame
index of the current sample. In case of a discontinuity in frame indexes
due to edit, update the auxiliary info position accordingly.

Reviewed-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-01 15:09:38 +01:00
Clément Bœsch
0983e13957 Merge commit '209ee680ce99035202520b900326a57f7fa0aceb'
* commit '209ee680ce99035202520b900326a57f7fa0aceb':
  mov: Fix stsc_count comparison

This commit is a noop, see 3c058f5701

Merged-by: Clément Bœsch <u@pkh.me>
2017-02-01 15:08:56 +01:00
sumit
479241da37 ffmpeg_cuvid: add 420 10-bit transcode support for hwaccel cuvid
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-02-01 14:55:39 +01:00
Clément Bœsch
26d5caf679 Merge commit 'a1f6a2dfdaf9beb42ca66e49d10bfaf5905a0128'
* commit 'a1f6a2dfdaf9beb42ca66e49d10bfaf5905a0128':
  ratecontrol: Reorder functions to avoid forward declarations

Merged, but this seems to break the clear separation of 1-pass vs
2-pass.

Merged-by: Clément Bœsch <u@pkh.me>
2017-02-01 14:50:21 +01:00
Clément Bœsch
566bfd59c9 Merge commit 'd639dcdae022130078c9c84b7b691c5e9694786c'
* commit 'd639dcdae022130078c9c84b7b691c5e9694786c':
  ratecontrol: Move Xvid-related functions to the place they are actually used

Merged-by: Clément Bœsch <u@pkh.me>
2017-02-01 14:21:36 +01:00
Clément Bœsch
e4d6543463 Merge commit '44972e227df0f7ad5aa9004d971fb54e9dc5c849'
* commit '44972e227df0f7ad5aa9004d971fb54e9dc5c849':
  ratecontrol: Move mpegenc-only function where it is used

This commit is a noop. ff_write_pass1_stats() is used in snowenc as
well.

Merged-by: Clément Bœsch <u@pkh.me>
2017-02-01 09:31:23 +01:00
Andreas Cadhalpun
4bd5d824e9 boadec: remove log messages
Requested-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2017-02-01 02:57:40 +01:00
Andreas Cadhalpun
842e98b4d8 pgssubdec: reset rle_data_len/rle_remaining_len on allocation error
The code relies on their validity and otherwise can try to access a NULL
object->rle pointer, causing segmentation faults.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2017-02-01 02:21:28 +01:00
Michael Niedermayer
536ac72f46 Revert "Merge commit '0a39c9ac0bfd7345fe676b4e2707d9cec3cbb553'"
The assumption this is based on is wrong, the code is not always run with bitexact flags

This reverts commit a956164e1e, reversing
changes made to f6005907fd.

Approved-by: James Almer <jamrial@gmail.com>
2017-02-01 02:01:07 +01:00
Michael Niedermayer
3782656631 avcodec/mjpegdec: Check for for the bitstream end in mjpeg_decode_scan_progressive_ac()
Fixes timeout
Fixes: 496/clusterfuzz-testcase-5805083497332736

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-01 01:36:50 +01:00
Michael Niedermayer
8bdba1092f tools/target_dec_fuzzer: Only audio uses the return value to decode packets in pieces, correct the code to match that
Fixes: Timeout
Fixes: 483/fuzz-0-ffmpeg_VIDEO_AV_CODEC_ID_H263I_fuzzer

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-31 23:43:41 +01:00
James Almer
1df08cae82 Merge commit 'b4bb9593834460bbbe0e70823f2c503cb01ad052'
* commit 'b4bb9593834460bbbe0e70823f2c503cb01ad052':
  ratecontrol: Drop commented out cruft

Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 15:50:56 -03:00
James Almer
ba5d089381 Merge commit 'd06dfaa5cbdd20acfd2364b16c0f4ae4ddb30a65'
* commit 'd06dfaa5cbdd20acfd2364b16c0f4ae4ddb30a65':
  x86: huffyuv: Use EXTERNAL_SSSE3_FAST convenience macro where appropriate

Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 15:36:49 -03:00
James Almer
8d5df204d0 Merge commit '8e9cd81d291b1010c625b2766058aadf4affb537'
* commit '8e9cd81d291b1010c625b2766058aadf4affb537':
  x86: cpu: Detect Conroe CPUs and their slow shuffle unit

Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 15:20:54 -03:00
James Almer
2eab48177d Merge commit '7d7355aa92bb36ca0765c49a569a999bcb96f332'
* commit '7d7355aa92bb36ca0765c49a569a999bcb96f332':
  x86: Add SSSE3_SLOW CPU flag and related convenience macros

Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 15:17:19 -03:00
James Almer
ac774cfa57 Merge commit '4efab89332ea39a77145e8b15562b981d9dbde68'
* commit '4efab89332ea39a77145e8b15562b981d9dbde68':
  x86: Use *_FAST/*_SLOW CPU feature detection macros where appropriate

Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 15:08:19 -03:00
James Almer
a956164e1e Merge commit '0a39c9ac0bfd7345fe676b4e2707d9cec3cbb553'
* commit '0a39c9ac0bfd7345fe676b4e2707d9cec3cbb553':
  x86: hpeldsp: Don't check for bitexact flag when initializing VP3-specific code

Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 14:59:29 -03:00
James Almer
f6005907fd Merge commit '95c1df929b92d81454656c222a35ec5f7db576b4'
* commit '95c1df929b92d81454656c222a35ec5f7db576b4':
  x86: hpeldsp: Drop unused function parameters

Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 14:56:11 -03:00
James Almer
4d0e89ce27 Merge commit 'c3e83ad3b7d75f3597f47ada2616ba4479665009'
* commit 'c3e83ad3b7d75f3597f47ada2616ba4479665009':
  x86: hpeldsp: Use EXTERNAL_SSE2_FAST where appropriate

Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 14:53:27 -03:00
James Almer
ca8a3978e5 Merge commit '1dfc3cf89d0eb026af28be46294b85d79499ffb5'
* commit '1dfc3cf89d0eb026af28be46294b85d79499ffb5':
  x86: hpeldsp: Split off VP3-specific bits into a separate file

Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 14:49:29 -03:00
Michael Niedermayer
4818840809 MAINTAINERS: Add myself for boadec.c
It seems ive written this thing though i cannot really remember

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-31 18:41:49 +01:00
Clément Bœsch
126e96533f Merge commit '9833a406d3d743d238e4cbee08ffcaa12e067dd2'
* commit '9833a406d3d743d238e4cbee08ffcaa12e067dd2':
  examples: Properly free AVCodecContext

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 17:35:41 +01:00
Clément Bœsch
591cf8aa0e Merge commit '0e0538aefc75958ded49f5d075c99a81cf6b2bbb'
* commit '0e0538aefc75958ded49f5d075c99a81cf6b2bbb':
  avprobe: Zero the allocated avio buffer memory

This commit is a noop, no such thing exists in ffprobe.

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 17:32:03 +01:00
Clément Bœsch
b9292a9698 Merge commit '5d0f85f1b2469b60d0838330aabe5353fdd9ef1d'
* commit '5d0f85f1b2469b60d0838330aabe5353fdd9ef1d':
  libdc1394: Fill in packet data directly

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 17:27:46 +01:00
Clément Bœsch
fa02765886 Merge commit 'e344e65109f1a75ca82aff4cecec44e79197753c'
* commit 'e344e65109f1a75ca82aff4cecec44e79197753c':
  h264dec: do not call finish_setup() if we have not started a frame

This commit is a noop, see bdbbb8f11e

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 17:26:26 +01:00
Clément Bœsch
4039076dc3 Merge commit '76f7e70aa04fc5dbef5242b11cbf8fe4499f61d4'
* commit '76f7e70aa04fc5dbef5242b11cbf8fe4499f61d4':
  h264dec: handle zero-sized NAL units in get_last_needed_nal()

See 641dccc2aa

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 17:23:14 +01:00
Clément Bœsch
5f633c39cd Merge commit '1f7b4f9abc6bae94e576e710b8d10117ca3c8238'
* commit '1f7b4f9abc6bae94e576e710b8d10117ca3c8238':
  h264dec: make sure not to call finish_setup() more than once per frame

This commit is a noop, see bdbbb8f11e

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 17:11:24 +01:00
Clément Bœsch
dc0ca508ea Merge commit 'da917fcf5183ed249ad1285b8edd330f421376c4'
* commit 'da917fcf5183ed249ad1285b8edd330f421376c4':
  avconv_dxva2: add a profile check for hevc

This commit is a noop, see a655bc8344

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 17:06:49 +01:00
Clément Bœsch
7c300a8ed4 lavc/hevc: remove a few random spaces to reduce diff with libav 2017-01-31 17:02:24 +01:00
Clément Bœsch
bd370738ba Merge commit '1ecb63cd1c1a4ddc5efed4abbc3158b969d8c5e4'
* commit '1ecb63cd1c1a4ddc5efed4abbc3158b969d8c5e4':
  hevc: set profile based on the profile compatibility flags if needed

This commit is a noop, see f85cc3bf12

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 16:57:18 +01:00
Clément Bœsch
78d16eb452 Merge commit 'fca3c3b61952aacc45e9ca54d86a762946c21942'
* commit 'fca3c3b61952aacc45e9ca54d86a762946c21942':
  hevc: Add AVX2 DC IDCT

Mostly noop as we already have that code.

In the ASM, code is merged with the exception of SECTION which is kept
uppercase for consistency with the rest of the codebase.

Still in the ASM, the prototype comment is fixed to honor the '_' added
from the original commit.

idct_dc_proto() is dropped as it's not used anymore here.

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 16:53:37 +01:00
Clément Bœsch
05018c2cda Merge commit 'cc16da75c2f99d92f7a6461100f041352deb6d88'
* commit 'cc16da75c2f99d92f7a6461100f041352deb6d88':
  hevc: Add coefficient limiting to speed up IDCT

Noop again as we have these changes already, only random spacing
changes.

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 16:05:06 +01:00
Clément Bœsch
a604115f72 Merge commit 'a92fd8a06256e71a0be87b03751ec3c2a4a8aa21'
* commit 'a92fd8a06256e71a0be87b03751ec3c2a4a8aa21':
  hevc: Add DC IDCT

Noop, only spacing adjusted.

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 15:55:44 +01:00
Clément Bœsch
2456efcc0f Merge commit '4f247de3b797cdc9d243d26534412f81c306e5b5'
* commit '4f247de3b797cdc9d243d26534412f81c306e5b5':
  hevcdsp_template: Templatize IDCT

This commit is a noop as we already have that code from a previous
commits (see 92cccb7bcd).

Spacing is adjusted to reduce the diff.

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 15:49:12 +01:00
Clément Bœsch
d0e132bab6 Merge commit '1bd890ad173d79e7906c5e1d06bf0a06cca4519d'
* commit '1bd890ad173d79e7906c5e1d06bf0a06cca4519d':
  hevc: Separate adding residual to prediction from IDCT

This commit should be a noop but isn't because of the following renames:

- transform_add  → add_residual
- transform_skip → dequant
- idct_4x4_luma  → transform_4x4_luma

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 15:31:34 +01:00
Tobias Rapp
c778a9657d doc/muxers: add AVI muxer documentation
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-01-31 15:08:37 +01:00