Konda Raju
f6790b5e10
add initial QP value options
Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years ago
Luca Barbato
fb59f87ce7
nvenc: Explicitly push the cuda context on encoding
Make sure that NVENC does not misbehave if other cuda usages happen
in the application.
8 years ago
Yogender Gupta
70de2ea426
nvenc: Extended rate-control support as provided by SDK 7
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years ago
Yogender Gupta
358c887a9f
nvenc: Add support for high bitdepth
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years ago
Yogender Gupta
e02e2515b2
nvenc: Add some easier to understand presets that match x264 terminology
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years ago
Anton Khirnov
6f58b4dc47
nvenc: drop the hard dependency on CUDA
The code needs only a few definitions from cuda.h, so define them
directly when CUDA is not enabled. CUDA is still required for accepting
HW frames as input.
Based on the code by Timo Rothenpieler <timo@rothenpieler.org>.
9 years ago
Timo Rothenpieler
a1e215ea01
nvenc: Delay frame output to increase encoding speed
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years ago
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years ago
Anton Khirnov
871d0930d4
nvenc: support CUDA frames as input
9 years ago
Anton Khirnov
c51b2c79a7
Allow linking to CUDA dynamically instead of dlopen()ing it at runtime
9 years ago
Anton Khirnov
118beda355
nvenc: merge input and output surface structs
An input frame always corresponds to exactly one output packet, so there
is no point in complicating the situation by managing them separately.
9 years ago
Anton Khirnov
28259c13db
nvenc: factor out the pixel format list
9 years ago
Anton Khirnov
c59fec783d
nvenc: generate dts properly
When there is a non-zero decoding delay due to reordering, the first dts
should be lower than the first pts (since the first packet fed to the
decoder does not produce any output).
Use the same scheme used in mpegvideo_enc (which comes from x264
originally) -- wait for first two timestamps and extrapolate linearly to
the past to produce the first dts value.
9 years ago
Luca Barbato
b08caa87c3
nvenc: H264 and HEVC encoders
Partially based on the work of Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years ago