Commit Graph

85767 Commits

Author SHA1 Message Date
James Almer 453f8ea242 avcodec/opus_pvq: fix recursive inlining compilation failures
They were introduced by f16180f448
2017-04-27 00:33:24 -03:00
Michael Niedermayer 6ca82975b7 avcodec/mdec: Fix runtime error: left shift of negative value -127
Fixes undefined behavior
Fixes: 1275/clusterfuzz-testcase-minimized-6718162017976320

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-27 04:25:31 +02:00
Michael Niedermayer 966cbfbc83 tools/target_dec_fuzzer: Fix return code on open failure
Fixes: 1271/clusterfuzz-testcase-minimized-6095220498235392

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-27 04:25:31 +02:00
Michael Niedermayer fa8fd0808f avcodec/x86/vc1dsp_init: Fix build failure with --disable-optimizations and clang
compilers doing DCE at -O0 do not necessarily understand "complex" boolean expressions
Build succeeds with this change, this was the only failure

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-27 04:25:31 +02:00
Martin Vignali e46d637452 libavcodec/exr : fix float to uint16 conversion for negative float value
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-27 04:25:31 +02:00
Rostislav Pehlivanov f16180f448 opus_pvq: merge band encoding and decoding into one function
Most code between the 2 functions was duplicated which made keeping
both in sync difficult.

This also fixes some discovered issues with encoding (incorrect
TF switching buffers) and reduces stack usage (reuse the already
allocated CeltFrame->scratch buffer for the quantized coefficients).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-27 02:18:32 +01:00
Rostislav Pehlivanov 18a0d9d7ad opus_pvq: remove outdated/incorrect comments and redundant variables
Removes the last style issues with opus_pvq.c

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-26 23:54:21 +01:00
Rostislav Pehlivanov 4d59de3991 opus_pvq: minor cleanups
Removes unneeded variables, renames confusing and innacurate variables
and rewrites and slightly optimizes hadamard interleave/deinterleave
functions.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-04-26 23:22:25 +01:00
Ben Chang 8de3458a07 avcodec/nvenc: surface allocation reduction
This patch aims to reduce the number of input/output surfaces
NVENC allocates per session. Previous default sets allocated surfaces to 32
(unless there is user specified param or lookahead involved). Having large
number of surfaces consumes extra video memory (esp for higher resolution
encoding). The patch changes the surfaces calculation for default, B-frames,
lookahead scenario respectively.

The other change involves surface selection. Previously, if a session
allocates x surfaces, only x-1 surfaces are used (due to combination
of output delay and lock toggle logic). To prevent unused surfaces,
changing surface rotation to using predefined fifo.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-04-26 21:57:54 +02:00
Clément Bœsch 78a5fc4579 lavc/hevcdec: fix invalid use of ff_get_format()
Regression since 76cc100afb.

Spotted-by: James Almer <jamrial@gmail.com>
2017-04-26 17:35:28 +02:00
Clément Bœsch 540b8760e8 Merge commit 'd4a91e65343be5d79a4afa61c791191e1b57499a'
* commit 'd4a91e65343be5d79a4afa61c791191e1b57499a':
  pthread_frame: do not run hwaccel decoding asynchronously unless it's safe

This commit is a noop, see e0cd598bc4

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 17:32:40 +02:00
Clément Bœsch 8c6f18e444 Merge commit '8dfba25ce89b62c80ba83e2116d549176c376144'
* commit '8dfba25ce89b62c80ba83e2116d549176c376144':
  pthread_frame: ensure the threads don't run simultaneously with hwaccel

This commit is a noop, see 14bb15bfd5

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 17:31:22 +02:00
Clément Bœsch 84a368f6fe Merge commit '373fd76b4dbd9aa03ed28e502f33f2ca8c1ce19a'
* commit '373fd76b4dbd9aa03ed28e502f33f2ca8c1ce19a':
  hevcdec: do not set decoder-global SPS prematurely

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 17:25:54 +02:00
Clément Bœsch a0ffd66caa Merge commit '0fea8555ae25124c21f4c4f55a5fa76e9169aa03'
* commit '0fea8555ae25124c21f4c4f55a5fa76e9169aa03':
  v4l2: use codec descriptors for mapping a codec name to id

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 17:17:50 +02:00
Clément Bœsch 7e503828b0 Merge commit 'ee480790c7eeb03c9cebd8971c46e0cb7db65277'
* commit 'ee480790c7eeb03c9cebd8971c46e0cb7db65277':
  build: Add name parameter to check_lib() helper function

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 17:15:07 +02:00
Clément Bœsch dfbfbbfa48 Merge commit '1faffe7e8fab21186a233011bc8a62f47962e2cd'
* commit '1faffe7e8fab21186a233011bc8a62f47962e2cd':
  configure: Disentangle vfw32 and user32 lib handling

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:42:17 +02:00
Clément Bœsch f9ecf5498c Merge commit 'f7174d7ed045445d00a6d557236737d09ad32343'
* commit 'f7174d7ed045445d00a6d557236737d09ad32343':
  configure: fix linking with MSVC when using --disable-optimizations

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:39:37 +02:00
Clément Bœsch 9c1b09f73e Merge commit 'ef9a711be718ed3802a263d1d9ed340a4aaef224'
* commit 'ef9a711be718ed3802a263d1d9ed340a4aaef224':
  configure: put d3d11 check in alphabetical order

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:38:10 +02:00
Clément Bœsch 65c3621d78 Merge commit 'a4fec9a7eab842ea5eea1b1ee98624356cb31422'
* commit 'a4fec9a7eab842ea5eea1b1ee98624356cb31422':
  rtmppkt: Check for packet size mismatches

See 7d57ca4d9a

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:36:13 +02:00
Clément Bœsch be6f6fce2e Merge commit 'cdcfa97dc49d83b5eefd0a651db6bb0a6f98e8f2'
* commit 'cdcfa97dc49d83b5eefd0a651db6bb0a6f98e8f2':
  libavformat: Fix a faulty api deprecation guard in prepare_input_packet

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:30:01 +02:00
Clément Bœsch 0f00eb0e4e Merge commit '2425d7329fdccfa9954faba748f3865151354f0c'
* commit '2425d7329fdccfa9954faba748f3865151354f0c':
  arm64: replace 'bic' with immediate with 'and' with inverted immediate

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:28:57 +02:00
Clément Bœsch 06aafda03f Merge commit '05a603a94e4b3eeefa5e18ae653a848001461e89'
* commit '05a603a94e4b3eeefa5e18ae653a848001461e89':
  ppc: Merge types_altivec.h into util_altivec.h

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:27:24 +02:00
Clément Bœsch 172b0e2e88 Merge commit 'ea7ee4b4e381e0fa731458de0cbf740430eeb013'
* commit 'ea7ee4b4e381e0fa731458de0cbf740430eeb013':
  ppc: Centralize compiler-specific altivec.h #include handling in one place

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:23:28 +02:00
Clément Bœsch 3a033bc5cf Merge commit '39929e55eb13eeb8dfbe1bc99301fecf6b8942dd'
* commit '39929e55eb13eeb8dfbe1bc99301fecf6b8942dd':
  ppc: hevcdsp: Use shorthands for vector types

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 14:39:28 +02:00
Clément Bœsch 40cc925f93 Merge commit '554e55bbf0e4a3640a784cb512b816e776c56333'
* commit '554e55bbf0e4a3640a784cb512b816e776c56333':
  decode.h: Add missing headers to fix standalone compilation

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 14:38:46 +02:00
Clément Bœsch 964ae2db32 Merge commit '343e2833994655c252d5236a3394bf6db7a4d8b1'
* commit '343e2833994655c252d5236a3394bf6db7a4d8b1':
  pthread_frame: use better memory orders for frame progress

This commit is a noop, see c358c62550

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 14:37:52 +02:00
Clément Bœsch a5ee1b617a Merge commit 'e94b9313b21c3d91a36ef064f7fe3e867616f47f'
* commit 'e94b9313b21c3d91a36ef064f7fe3e867616f47f':
  fate: Add h264 test for frame num gaps

This commit is a noop, see b7e4ea0c80

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 14:36:31 +02:00
Clément Bœsch 9bc37352de Merge commit '5c7f2cf81df06614f255f061850132355a01d75e'
* commit '5c7f2cf81df06614f255f061850132355a01d75e':
  h264_slice: Wait for refs to be available before we use them in error concealment

This commit is a noop, see 4413e950b2

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 14:35:28 +02:00
Clément Bœsch 76cc100afb Merge commit '86157e6db2c7a9222f77fa7e7f50fb9aebc3aa81'
* commit '86157e6db2c7a9222f77fa7e7f50fb9aebc3aa81':
  hevc: decouple calling get_format() from exporting the SPS parameters

See 786032cad8 (which has been reverted
and replaced with Anton's version to reduce diffs between the two
projects).

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 14:32:09 +02:00
James Almer b4330a0e02 avformat/concatdec: fix the h264 annexb extradata check
The start code can be either in the first three or four bytes.
2017-04-25 20:23:12 -03:00
Clément Bœsch 91f8ccdda0 Merge commit '730c02326094bcfb1fa67f10a7e7b22f03f5a88f'
* commit '730c02326094bcfb1fa67f10a7e7b22f03f5a88f':
  binkaudio: switch to the new send/receive API

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-25 19:12:05 +02:00
Clément Bœsch d417e95af7 Merge commit 'fa1749dd34c55fb997c97dfc4da9383c9976ab91'
* commit 'fa1749dd34c55fb997c97dfc4da9383c9976ab91':
  vp9: split superframes in the filtering stage before actual decoding

This commit is a noop.

2017-04-24 20:45:04     @ubitux BBB: btw, do you think you can get the bsf thing this week or we should skip it to give you more time and go on with the merges?
2017-04-24 20:45:20     @BBB    I’m not sure I’ll finish it that soon
2017-04-24 20:45:26     @BBB    I’d skip it and leave it for later
2017-04-24 20:45:35     @BBB    I’ll do it, I promise, but I Can’t guarantee it’ll be done by $date

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-25 19:02:47 +02:00
Paul B Mahol 9d08c7bd42 avfilter/af_biquads: allow filtering only selected channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-25 18:08:26 +02:00
Martin Vignali 59d219b91e fate/exr : fix pix_fmt
rgb_scanline_pxr24_half_uint32_13x9.exr doesn't have alpha

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-25 12:12:57 +02:00
Michael Niedermayer 550a9c547e tools/target_dec_fuzzer: Remove FuzzerInterface.h dependancy
The header is not always available in the docker build environment

Suggested-by: Kostya Serebryany
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-25 03:13:00 +02:00
Michael Niedermayer 177608aa74 fate: Add test for pkt_size of ffprobe
Suggested-by: James Almer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-24 23:17:58 +02:00
Michael Niedermayer 5b499bf4a0 Make tools/target_dec_*_fuzzer buildable with configure and make
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-24 23:17:47 +02:00
Michael Niedermayer d976d2ec78 tools/target_dec_fuzzer: Fix build with default FFmpeg build flags
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-24 23:16:53 +02:00
Paul B Mahol dfc4ce5f5d avfilter: add lumakey filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-24 20:37:30 +02:00
Philip Langdale dd49eff930 avcodec/crystalhd: Another attempt at using mpeg4_unpack_bframes bsf
I tried doing this before, but it resulted in weird behaviour with
certain samples. I want to say I think I've got it sorted out now,
and the new autobsf stuff makes it trivial to turn on.

The native support for packed bframes is buggy and I think buggy
in ways beyond what I already try to account for, so this should be
a net improvements.
2017-04-23 15:33:36 -07:00
Philip Langdale 181aa1be49 avcodec/crystalhd: Explicitly set frame pts at all times
Previously, the pts value was initialised to AV_NOPTS_VALUE and so
it was not necessary to always set it. Now, with the new-new decode
API, this is no longer true. I'm not sure why I avoided setting the
pts when the decoder value was also AV_NOPTS_VALUE - it clearly
wouldn't have changed anything previously, but here we are.

Failing to do this, means the frame pts will be some random uninitalised
value.
2017-04-23 15:33:36 -07:00
Vittorio Giovara 960b4d4761 decode: Initialize ret before using it
libavcodec/decode.c:608:9: warning: variable 'ret' is
      used uninitialized whenever 'if' condition is false

(cherry picked from libav commit efddf2c09a)
2017-04-23 19:29:12 -03:00
Philip Langdale f95c81ce10 avcodec/movtextenc: Ignore unmatched closing style tags
The existing code will segfault if a closing tag shows up when there
was never an opening tag. This isn't a well formed style, but it's also
not a reason to crash.

Fixes: https://trac.ffmpeg.org/ticket/6303
2017-04-23 10:46:11 -07:00
Derek Buitenhuis 6ba1c9bf7e webm_dash_manifest_demuxer: Fix initialization range for files with cues at the front
The WebM DASH spec states:
    The Initialization Segment shall not contain Clusters or Cues.
    The Segment Index corresponds to the Cues.

Previously, it included the cues if they were at the front.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-04-23 17:52:58 +01:00
Derek Buitenhuis 8e6b9ef473 webm_dash_manifest_demuxer: Fix UB in cue timestamp string code and make it actually work
Output was apparently not tested for correctness. Passing overlapping
memory to snprintf causes undefined behavior, and usually resulted in
only the very last timestamp being written to metadata, and not a list
at all.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-04-23 17:51:41 +01:00
Philip Langdale 41b0561dc7 avcodec/crystalhd: Switch to the new generic filtering mechanism
This lets us drop all the code for handling the mp4toannexb
conversion.
2017-04-23 09:45:46 -07:00
Paul B Mahol f4218d93ef avfilter/vf_maskedmerge: fix bug when copying >8bit plane(s)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-23 18:31:05 +02:00
Paul B Mahol 710c97d5f6 avfilter/vf_premultiply: add planes option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-23 18:21:51 +02:00
Paul B Mahol 9d1f9ba582 avfilter/vf_maskedclamp: fix bug when copying >8bit plane(s)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-23 18:21:50 +02:00
James Almer 16c88465a1 avcodec/decode: also update consumed bytes on last_pkt_props->size 2017-04-23 12:52:48 -03:00