A computer-implemented method for encoding video to produce encoded data, including determining a motion vector, MV, precision for a unit of the video, the method comprising: splitting the unit of the video into multiple blocks; for each block of the multiple blocks of the unit: classifying (1320, 1400) the block into one of a plurality of categories, wherein at least one category of the plurality of categories is a homogeneous category that uses a homogeneous classification criteria, and at least one other category of the plurality of categories is a hash-match category that uses a hash-based matching classification criteria; wherein classifying the block using the homogeneous classification criteria comprises assigning the block to the homogeneous category when the block is one or both of horizontally homogeneous and vertically homogeneous and wherein classifying the block using the hash-based matching classification criteria comprises assigning the block to the hash-match category when a match for a hash value of the block is found in a hash table, wherein the hash table is generated from candidate blocks of one or more reference pictures; wherein classifying (1320, 1400) the block into one of a plurality of categories comprises assigning the block to an all-blocks category; if the block matches a co-located block in a reference picture, assigning the block to a co-located match category, and otherwise: if the block satisfies the homogeneous classification criteria, assigning the block to the homogeneous category, and otherwise: if the block satisfies the hash-based matching classification criteria, assigning the block to the hash-match category; based on the classifications for the multiple blocks, determining the MV precision for the unit of the video, at least in part, using a rate value indicating the percentage of blocks in the unit classified in one of the co-located match category, homogeneous category, and hash-match category; and outputting the encoded data in a bitstream. splitting the unit of the video into multiple blocks; for each block of the multiple blocks of the unit: classifying (1320, 1400) the block into one of a plurality of categories, wherein at least one category of the plurality of categories is a homogeneous category that uses a homogeneous classification criteria, and at least one other category of the plurality of categories is a hash-match category that uses a hash-based matching classification criteria; wherein classifying the block using the homogeneous classification criteria comprises assigning the block to the homogeneous category when the block is one or both of horizontally homogeneous and vertically homogeneous and wherein classifying the block using the hash-based matching classification criteria comprises assigning the block to the hash-match category when a match for a hash value of the block is found in a hash table, wherein the hash table is generated from candidate blocks of one or more reference pictures; wherein classifying (1320, 1400) the block into one of a plurality of categories comprises assigning the block to an all-blocks category; if the block matches a co-located block in a reference picture, assigning the block to a co-located match category, and otherwise: if the block satisfies the homogeneous classification criteria, assigning the block to the homogeneous category, and otherwise: if the block satisfies the hash-based matching classification criteria, assigning the block to the hash-match category; classifying (1320, 1400) the block into one of a plurality of categories, wherein at least one category of the plurality of categories is a homogeneous category that uses a homogeneous classification criteria, and at least one other category of the plurality of categories is a hash-match category that uses a hash-based matching classification criteria; wherein classifying the block using the homogeneous classification criteria comprises assigning the block to the homogeneous category when the block is one or both of horizontally homogeneous and vertically homogeneous and wherein classifying the block using the hash-based matching classification criteria comprises assigning the block to the hash-match category when a match for a hash value of the block is found in a hash table, wherein the hash table is generated from candidate blocks of one or more reference pictures; wherein classifying (1320, 1400) the block into one of a plurality of categories comprises assigning the block to an all-blocks category; if the block matches a co-located block in a reference picture, assigning the block to a co-located match category, and otherwise: if the block satisfies the homogeneous classification criteria, assigning the block to the homogeneous category, and otherwise: if the block satisfies the hash-based matching classification criteria, assigning the block to the hash-match category; assigning the block to an all-blocks category; if the block matches a co-located block in a reference picture, assigning the block to a co-located match category, and otherwise: if the block satisfies the homogeneous classification criteria, assigning the block to the homogeneous category, and otherwise: if the block satisfies the hash-based matching classification criteria, assigning the block to the hash-match category; based on the classifications for the multiple blocks, determining the MV precision for the unit of the video, at least in part, using a rate value indicating the percentage of blocks in the unit classified in one of the co-located match category, homogeneous category, and hash-match category; and outputting the encoded data in a bitstream.