Help! Can not decode mp4 video files?

Hello everyone!
I am trying to use the sample code “cudaDecodeD3D9” to decode a mp4 video file.
CUresult oResult = cuvidCreateVideoSource(&hVideoSource_, sFileName.c_str(), &oVideoSourceParameters); returns a false value.
But mpeg2 video files are ok. In the nvcuid.pdf provided in the sample code folder, I found H.264/AVCHD support in it.
Anybody knows how to solve this problem? Thank you very much!