nvcodec: Use non-default CUDA stream to improve performance
nvenc: Use non default CUDA stream and async operation
Use CUDA async operation if possible with non default CUDA stream
nvdec: Don't use default CUDA stream
Async CUDA operation with default stream (NULL CUstream) is not much
beneficial than blocking operation since all CUDA operations which belong
to the CUDA context will be synchronized with the default stream's operation.
Note that CUDA stream will share all resources of the corresponding CUDA context
but which can help parallel operation similar to the relation between thread and process
nvdec: Push/Pop CUDA context around library API call