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>
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>
* 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>
* 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>
* commit 'f7174d7ed045445d00a6d557236737d09ad32343':
configure: fix linking with MSVC when using --disable-optimizations
Merged-by: Clément Bœsch <u@pkh.me>
* 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>
* 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>
* 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>
* 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>
* 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>
The header is not always available in the docker build environment
Suggested-by: Kostya Serebryany
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
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.
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.
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
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>
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>
There appears to be no need to treat interlaced videos differently,
also that code is flawed, as for at least one input cur_field would
be always 0.
Signed-off-by: Paul B Mahol <onemda@gmail.com>