summaryrefslogtreecommitdiff
path: root/libavcodec/nvenc_h264.c
Commit message (Collapse)AuthorAge
* avcodec/nvenc: Add default value for AVCodecContext::refsSrinath K R2017-06-01
| | | | | | | | | | | | | 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>
* avcodec/nvenc: add weighted prediction supportSumit Agarwal2017-05-10
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: add fractional CQ supportBen Chang2017-05-10
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: deprecated old rc modes, add new onesTimo Rothenpieler2017-05-09
|
* avcodec/nvenc: surface allocation reductionBen Chang2017-04-26
| | | | | | | | | | | | | | | | 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>
* avcodec/nvenc: Deprecate usage of global_quality, introducing qpTimo Rothenpieler2017-03-23
|
* avcodec/nvenc: add initial QP value optionsKonda Raju2017-03-01
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: allow forcing keyframes by defaultTimo Rothenpieler2017-02-20
|
* avcodec/nvenc: Add bluray_compat basic implementationMiroslav Slugen2017-01-01
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: Make AUD optional for h264_nvenc and hevc_nvencMiroslav Slugen2017-01-01
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: maximum usable surfaces are limited to maximum registered framesMiroslav Slugeň2016-11-22
| | | | | | | Maximum usable surfaces is limited to MAX_REGISTERED_FRAMES constant in nvenc.h Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: add support for forcing intra/idr framesTimo Rothenpieler2016-10-12
|
* avcodec/nvenc: nicely align AVOptionsTimo Rothenpieler2016-09-28
|
* avcodec/nvenc: Extended rate-control support as provided by SDK 7Yogender Gupta2016-09-28
| | | | | Merged from libav commit by Yogender Gupta: https://git.libav.org/?p=libav.git;a=commitdiff;h=70de2ea4261f860457a04e3d0c58c5543f403325
* avcodec/nvenc: added support for rate control lookaheadOliver Collyer2016-08-28
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: Bring encoder names in line with other encodersTimo Rothenpieler2016-06-25
|
* Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\ | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * nvenc_h264: Fix name of private AVClassDiego Biurrun2016-04-04
| |
| * nvenc: factor out the pixel format listAnton Khirnov2016-02-12
| |
| * nvenc: rename encodersAnton Khirnov2016-01-12
| | | | | | | | | | Change 'nvenc_<codec>' to '<codec>_nvenc', which is consistent with other similar decoders and encoders (QSV, MMAL).
| * lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | | | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * nvenc: H264 and HEVC encodersLuca Barbato2015-05-31
| | | | | | Partially based on the work of Timo Rothenpieler <timo@rothenpieler.org> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avcodec/nvenc: rework library load and GPU selectionAndrey Turkin2016-05-31
| | | | | | | Use explicit nvenc capability checks instead to determine usable devices instead of SM versions. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: allow configuring number of surfacesAndrey Turkin2016-05-31
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: use INIT_CLEANUP to deal with init failuresAndrey Turkin2016-05-31
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: add rate control optionAndrey Turkin2016-05-31
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: convert levels to AVOptionsAndrey Turkin2016-05-31
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: convert profile parsing to AVOptionsAndrey Turkin2016-05-31
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: use AVOptions to select presetsAndrey Turkin2016-05-31
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: split H264/HEVC encoder definitions into separate filesAndrey Turkin2016-05-31
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>