Is it need to call cuStreamSynchronize() to push image on device memory to nve encoder?

I use cuMemcpy2DAsync() to copy out decoded image from cuv decoder,and then push it to nve encoder,because I use async version of mem copy function,so is it need to call cuStreamSynchronize() to wait mem copy done before I push it to encoder? the pseudo code like below:

cuMemcpy2DAsync(…,m_hCuStream);
cuStreamSynchronize(m_hCuStream); // is it need to call?
PushImageToEncoder(m_dDecImagePtr,m_dDecImagePitch);