summaryrefslogtreecommitdiff
path: root/libavcodec/nvenc.c
Commit message (Collapse)AuthorAge
* avcodec/nvenc: Check capabilities for interlaced encodingTimo Rothenpieler2016-06-06
|
* avcodec/nvenc: Don't set packet durationTimo Rothenpieler2016-06-04
| | | | | It's not expected to be set on video packets and causes issues in ffmpeg.c.
* avcodec/nvenc: Refactor timestamp generation logicTimo Rothenpieler2016-05-31
| | | | Directly adapted from libav
* avcodec/nvenc: forward frame durationTimo Rothenpieler2016-05-31
|
* avcodec/nvenc: Handle minqp-only case in set_vbrTimo Rothenpieler2016-05-31
|
* avcodec/nvenc: twopass mode works in all modesTimo Rothenpieler2016-05-31
|
* avcodec/nvenc: Fix forcing constqp rc modeTimo Rothenpieler2016-05-31
| | | | The CONSTQP enum value is 0, so this check failed for it.
* avcodec/nvenc: don't enqueue timestamps until a frame was acceptedAndrey Turkin2016-05-31
| | | | | | Otherwise timestamps/pending FIFOs would go out of sync if nvEncodePicture ever fails. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: refactor encode_frame a bitAndrey Turkin2016-05-31
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: extract timestamp calculations into separate functionAndrey Turkin2016-05-31
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.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 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>
* avcodec/nvenc: Require Maxwell for losslessTimo Rothenpieler2016-05-25
|
* avcodec/nvenc: CUDA frames supportAndrey Turkin2016-05-25
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: replace custom FIFOs with AVFifosAndrey Turkin2016-05-25
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: combine input and output surface structuresAndrey Turkin2016-05-25
| | | | | | | There is no point in separate structures as they have 1:1 relationship, they are always used together and they have same lifetime. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: split large functions into smaller onesAndrey Turkin2016-05-25
| | | | | | | | Functions names and scopes are from libav. This commit basically moves code around without changing it; it shouldn't change any functionality except some small leak fixes on error paths. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: Write buffPeriod/picTime SEI in both CBR modesTimo Rothenpieler2016-05-11
|
* avcodec/nvenc: Generate bufferingPeriod/pictureTiming SEITimo Rothenpieler2016-05-11
| | | | | For some unknown reason enabling these causes propper CBR padding, so as there are no known downsides just always enable them in CBR mode.
* avcodec/nvenc: don't set profile in lossless modeTimo Rothenpieler2016-05-06
|
* avcodec/nvenc: Add missing lossless presets to doc stringTimo Rothenpieler2016-04-27
|
* avcodec/nvenc: Generate AUD NAL units for better compatiblityTimo Rothenpieler2016-03-30
|
* avcodec/nvenc: Fix typo and preset error messageTimo Rothenpieler2016-03-08
|
* avcodec/nvenc: Add encoder statsLucas Cooper2016-03-08
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: Fix H264 and HEVC vui info updateAgatha Hu2016-03-04
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* Merge commit '1520c6ff05d835da4b793318fc88bbbc129c86a1'Hendrik Leppkes2015-12-17
|\ | | | | | | | | | | | | * commit '1520c6ff05d835da4b793318fc88bbbc129c86a1': nvenc: export CPB props side data Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * nvenc: export CPB props side dataAnton Khirnov2015-12-06
| |
| * nvenc: Properly free the fifosLuca Barbato2015-08-25
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avcodec/nvenc: clamp initial qp value to [1, 51]Agatha Hu2015-12-14
| | | | | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | avcodec/nvenc: set slice number to 1 to improve encoding qualityAgatha Hu2015-12-14
| | | | | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | avcodec/nvenc: update nvenc default parametersAgatha Hu2015-11-09
| | | | | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | avcodec/nvenc: fix potential profile error when encoding yuv444pAgatha Hu2015-10-31
| | | | | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | avcodec/nvenc: fix b frame n_quant_offsetAgatha Hu2015-10-16
| | | | | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | avcodec/nvenc: merge compute initialQP sectionsAgatha Hu2015-09-14
| | | | | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | avcodec/nvenc: Optimize nvenc parametersAgatha Hu2015-09-14
| | | | | | | | | | | | | | Add 3 more presets: fast, medium, slow. Improve min/max QP calculation. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | avcodec/nvenc: change flag of cuCtxCreate to avoid CPU spinsAgatha Hu2015-09-11
| | | | | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | avcodec/nvenc: Add support for 2pass rc in vbr modeTimo Rothenpieler2015-08-04
| | | | | | | | | | | | Thanks to WereCatf for pointing out this now exists. Github: Closes #143
* | avcodec/nvenc: Only set h264 parameter when encoding h264Timo Rothenpieler2015-08-04
| |
* | avcodec/nvenc: Fix indentationTimo Rothenpieler2015-08-04
| |
* | Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615': lavc: AV-prefix all codec flags Conflicts: doc/examples/muxing.c ffmpeg.c ffmpeg_opt.c ffplay.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/ac3enc_float.c libavcodec/atrac1.c libavcodec/atrac3.c libavcodec/atrac3plusdec.c libavcodec/dcadec.c libavcodec/ffv1enc.c libavcodec/h264.c libavcodec/h264_loopfilter.c libavcodec/h264_mb.c libavcodec/imc.c libavcodec/libmp3lame.c libavcodec/libtheoraenc.c libavcodec/libtwolame.c libavcodec/libvpxenc.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpegaudiodec_template.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/nellymoserdec.c libavcodec/nellymoserenc.c libavcodec/nvenc.c libavcodec/on2avc.c libavcodec/options_table.h libavcodec/opus_celt.c libavcodec/pngenc.c libavcodec/ra288.c libavcodec/ratecontrol.c libavcodec/twinvq.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1dec.c libavcodec/vorbisdec.c libavcodec/vp3.c libavcodec/wma.c libavcodec/wmaprodec.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>