I figured out the issue of encoding failed with quicksync.
It may be due to the preset UI which associated with encoder preset.
Under h264 cpu encoder, the default preset is "Very Fast"
When I switch the encoder to H.264 (Intel QSV), the default preset is still "Very Fast" which is not available from the QSV encoder (this is the cause of the error)
Then I drag the preset bar once, it will reset into three preset only, Speed, Balanced and Quality
Now I could use either of three preset value with QSV. And video is transcoded successfully.
Some information regarding the output file size.
original video: 1280x720 h264 ~ 1.6GB
the video is transcoded into 1024x576 h264
the h264 cpu encoder is almost half of the original size
intel qsv speed preset: 1.1GB
intel qsv balanced preset almost the same size of speed preset
intel qsv quality preset: ~2.2GB