summaryrefslogtreecommitdiff
path: root/libavcodec/nvenc.h
Commit message (Collapse)AuthorAge
* avcodec/nvenc: add option to turn off a53 closed caption embeddingTimo Rothenpieler2018-08-21
|
* avcodec/nvenc: support dynamic bitrate changespkviet2018-05-04
| | | | | | | | | The patch enables dynamic bitrate through ReconfigureEncoder method from nvenc API. This is useful for live streaming in case of network congestion. Signed-off-by: pkviet <pkv.stream@gmail.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nv{enc,dec}: use sane version checking macroTimo Rothenpieler2018-04-13
| | | | | For some odd reason, the Nvidia version macros puts the minor version in the msb, so comparing against it is impossible.
* avcodec/nvenc: add support for B frames as refTimo Rothenpieler2018-04-11
|
* compat: remove in-tree NVidia headersTimo Rothenpieler2018-02-27
| | | | | | | | | | | | | | | | External headers are no longer welcome in the ffmpeg codebase because they increase the maintenance burden. However, in the NVidia case the vanilla headers need some modifications to be usable in ffmpeg therefore we still provide them, but in a separate repository. The external headers can be found at https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git Fate-source is updated because of the deleted files, and dynlink_loader.h license headers were updated with the standard FFmpeg headers. Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: refcount input frame mappingsTimo Rothenpieler2018-01-28
| | | | | | | | If some logic like vsync in ffmpeg.c duplicates frames, it might pass the same frame twice, which will result in a crash due it being effectively mapped and unmapped twice. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* nvenc: Include config.h before checking for D3D11 supportMark Thompson2017-11-26
| | | | Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: fix double defined GUID on cygwinTimo Rothenpieler2017-11-17
|
* nvenc: support d3d11 surface inputHendrik Leppkes2017-11-15
|
* avcodec/nvenc: migrate to new encode APITimo Rothenpieler2017-09-07
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: add support for specifying entropy coding modeTimo Rothenpieler2017-09-01
| | | | 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: 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: use dynamically loaded CUDATimo Rothenpieler2016-11-22
|
* avcodec/nvenc: add support for forcing intra/idr framesTimo Rothenpieler2016-10-12
|
* 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: add HEVC REXT profileTimo Rothenpieler2016-09-28
|
* avcodec/nvenc: correctly set inputPitchTimo Rothenpieler2016-09-07
|
* avcodec/nvenc: check maximum driver API versionTimo Rothenpieler2016-08-28
|
* avcodec/nvenc: added support for rate control lookaheadOliver Collyer2016-08-28
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: added support for 10 bit HEVC encodingOliver Collyer2016-08-28
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: include nvEncodeAPI v7 SDK headerTimo Rothenpieler2016-08-28
| | | | | | | | | | | | | As Nvidia has put the most recent Video Codec SDK behind a double registration wall, of which one needs manual approval of a lenghty application, bundling this header saves everyone trying to use NVENC from that headache. The header is still MIT licensed and thus fine to bundle with ffmpeg. Not bundling this header would get ffmpeg stuck at SDK v6, which is still freely available, holding back future development of the NVENC encoder.
* avcodec/nvenc: Refactor timestamp generation logicTimo Rothenpieler2016-05-31
| | | | Directly adapted from libav
* 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: add rate control optionAndrey Turkin2016-05-31
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: convert tier to AVOptionsAndrey 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>