Timo Rothenpieler
a56d0497cb
avcodec/nvenc: migrate to new encode API
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-09-07 12:08:32 +02:00
Timo Rothenpieler
a0b69e2b0a
avcodec/nvenc: add support for specifying entropy coding mode
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-09-01 10:52:15 +02:00
Srinath K R
d8da329cc3
avcodec/nvenc: Add default value for AVCodecContext::refs
...
AVCodecContext::refs is used to control the DPB size to be used by the
encoder. The default value for AVCodecContext::refs as set in
libavcodec/options_table.h is 1.
This patch sets AVCodecContext::refs to 0 for h264_nvenc and hevc_nvenc in
order to let the driver take the decision of the correct DPB size to use in
all cases.
Signed-off-by: Srinath K R <skr@nvidia.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-06-01 11:28:30 +02:00
Sumit Agarwal
01775730fd
avcodec/nvenc: add weighted prediction support
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-05-10 10:22:41 +02:00
Ben Chang
18a659d1b6
avcodec/nvenc: add fractional CQ support
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-05-10 10:21:25 +02:00
Timo Rothenpieler
cfbebe9dda
avcodec/nvenc: deprecated old rc modes, add new ones
2017-05-09 18:38:30 +02: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
Timo Rothenpieler
7fb2a7afa1
avcodec/nvenc: Deprecate usage of global_quality, introducing qp
2017-03-23 17:10:52 +01:00
Konda Raju
5f44a4a0a9
avcodec/nvenc: add initial QP value options
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-03-01 13:15:34 +01:00
Timo Rothenpieler
f747e1533a
avcodec/nvenc: allow forcing keyframes by default
2017-02-20 22:38:39 +01:00
Miroslav Slugen
9b425bd24c
avcodec/nvenc: Add bluray_compat basic implementation
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-01-01 14:47:25 +01:00
Miroslav Slugen
1841eda679
avcodec/nvenc: Make AUD optional for h264_nvenc and hevc_nvenc
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-01-01 14:37:09 +01:00
Miroslav Slugeň
c4aca65a42
avcodec/nvenc: maximum usable surfaces are limited to maximum registered frames
...
Maximum usable surfaces is limited to MAX_REGISTERED_FRAMES constant in
nvenc.h
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
30c5587503
avcodec/nvenc: add support for forcing intra/idr frames
2016-10-12 20:51:43 +02:00
Timo Rothenpieler
c03b9d6a62
avcodec/nvenc: nicely align AVOptions
2016-09-28 16:48:43 +02:00
Yogender Gupta
facc19ef06
avcodec/nvenc: Extended rate-control support as provided by SDK 7
...
Merged from libav commit by Yogender Gupta:
https://git.libav.org/?p=libav.git;a=commitdiff;h=70de2ea4261f860457a04e3d0c58c5543f403325
2016-09-28 16:48:43 +02:00
Oliver Collyer
a81b398e86
avcodec/nvenc: added support for rate control lookahead
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-08-28 16:47:54 +02:00
Timo Rothenpieler
888a5c7947
avcodec/nvenc: Bring encoder names in line with other encoders
2016-06-25 23:05:17 +02:00
Clément Bœsch
8ef57a0d61
Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'
...
* commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb':
cosmetics: Fix spelling mistakes
Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 21:55:34 +02:00
Andrey Turkin
0d021cc8b3
avcodec/nvenc: rework library load and GPU selection
...
Use explicit nvenc capability checks instead to determine usable devices
instead of SM versions.
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-05-31 16:04:53 +02:00
Andrey Turkin
f052ef30ef
avcodec/nvenc: allow configuring number of surfaces
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-05-31 15:48:43 +02:00
Andrey Turkin
b69335304d
avcodec/nvenc: use INIT_CLEANUP to deal with init failures
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-05-31 15:48:43 +02:00
Andrey Turkin
f84dfbc74a
avcodec/nvenc: add rate control option
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-05-31 15:48:43 +02:00
Andrey Turkin
b0172873a8
avcodec/nvenc: convert levels to AVOptions
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-05-31 15:48:43 +02:00
Andrey Turkin
9824321b32
avcodec/nvenc: convert profile parsing to AVOptions
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-05-31 15:48:43 +02:00
Andrey Turkin
faffff88c2
avcodec/nvenc: use AVOptions to select presets
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-05-31 15:48:43 +02:00
Andrey Turkin
7aa16d59bf
avcodec/nvenc: split H264/HEVC encoder definitions into separate files
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-05-31 11:15:19 +00:00
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Diego Biurrun
4c6836db0f
nvenc_h264: Fix name of private AVClass
2016-04-04 15:05:27 +02:00
Anton Khirnov
28259c13db
nvenc: factor out the pixel format list
2016-02-12 10:19:26 +01:00
Anton Khirnov
ee359c72ef
nvenc: rename encoders
...
Change 'nvenc_<codec>' to '<codec>_nvenc', which is consistent with
other similar decoders and encoders (QSV, MMAL).
2016-01-12 09:23:34 +01:00
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
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>
2015-05-31 15:17:22 +02:00