1. A method of motion vector determination for video encoding comprising: selecting a plurality of candidate motion vectors for a macroblock using a cost function including both a block distortion measure and a motion vector cost measure for single-partition motion vectors in the plurality of candidate motion vectors and using a cost function including a distortion measure without a motion vector cost measure for multi-partition motion vectors in the plurality of candidate motion vectors; and refining the plurality of candidate motion vectors to obtain a refined plurality of candidate motion vectors, wherein multi-partition motion vectors of the plurality of candidate motion vectors are refined using a cost function including a distortion measure without a motion vector cost measure and single-partition motion vectors of the plurality of candidate motion vectors are refined using a cost function including both a block distortion measure and a motion vector cost measure, wherein the cost function for each candidate motion vector is determined by: { min μ ∈ W ⁢ { min v ∈ A ⁢ { dist ⁡ ( v ) + λ ⁡ ( q ) ⁢ ∑ k = 0 K μ - 1 ⁢ ( v μ ⁡ ( k ) 2 + m μ ⁡ ( k ) α ) } } } , where dist is one selected from a group consisting of SSE and SSD, μ is a mode, λ is a Lagrangian multiplier, α is a constant corresponding to a video compression standard, m μ is mode bits for mode μ, v is the candidate motion vector, v is bits for the candidate motion vector difference, W is a number of modes, and q is a Quantization parameter.