mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-09 05:38:58 +00:00
To support rc-lookahead and bframe encoding, nvenc needs one more staging queue, because NvEncEncodePicture can return NV_ENC_ERR_NEED_MORE_INPUT but which was not considered so far. As documented by NVENC programming guide, pending buffers should wait other inputs until NvEncEncodePicture returns success. New encoding flow is - Submit raw picture buffer to encoder with NvEncEncodePicture - The submitted input/output buffer pair will be queued to pending_queue - If NvEncEncodePicture returned success, then move all pair in pending_queue to final stage - Otherwise, wait more input raw pictures. Another change is dropping NV_ENC_LOCK_INPUT_BUFFER usage. So now nvenc always uses CUDA memory input buffer. As a result, both opengl and system memory handling are unified. |
||
---|---|---|
.. | ||
stub | ||
cuviddec.h | ||
gstcudacontext.c | ||
gstcudacontext.h | ||
gstcudaloader.c | ||
gstcudaloader.h | ||
gstcudautils.c | ||
gstcudautils.h | ||
gstcuvidloader.c | ||
gstcuvidloader.h | ||
gstnvbaseenc.c | ||
gstnvbaseenc.h | ||
gstnvdec.c | ||
gstnvdec.h | ||
gstnvenc.c | ||
gstnvenc.h | ||
gstnvh264enc.c | ||
gstnvh264enc.h | ||
gstnvh265enc.c | ||
gstnvh265enc.h | ||
Makefile.am | ||
meson.build | ||
nvcuvid.h | ||
nvEncodeAPI.h | ||
plugin.c |