Hi,

Please help review this nvenc patch for input surface optimization.

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.

Change in location of surfaces and async_depth determination. Putting it prior 
to rate control setup. Current code limits lookahead depth to be 27 (default 
surface (32) - P interval (1) - 4).

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.

Miscellaneous -  add "auto" option in level. (was approved in a previous patch 
that never propagated into the repository)

This patch is currently present in ffmpeg: 
https://github.com/FFmpeg/FFmpeg/commit/8de3458a07376b0a96772e586b6dba5e93432f52

Thanks,
Ben

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

Attachment: NVENC_Input_Surface_Reduction_Optimization.patch
Description: NVENC_Input_Surface_Reduction_Optimization.patch

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to