1. A video coding method, comprising: evaluating, using a processing circuit, visual quality associated with a first set of candidate motion vectors for a current block based on processed data in a coding loop for the current block; evaluating, using the processing circuit, pixel-based distortion values associated with a second set of candidate motion vectors for the current block; and performing motion estimation for the current block based on the evaluated visual quality and the evaluated pixel-based distortion values, wherein when the evaluating visual quality is performed before the evaluating pixel-based distortion values, the second set of candidate motion vectors is selected from the first set of candidate motion vectors based on the evaluated visual quality, and when the evaluating pixel-based distortion values is performed before the evaluating visual quality, the first set of candidate motion vectors is selected from the second set of candidate motion vectors based on the evaluated pixel-based distortion values.