A decoder side motion vector derivation method of processing video data, the method comprising: determining a motion vector candidate list comprising a plurality of candidate motion vectors for deriving motion information of a current block in a current picture of video data, wherein the motion information indicates motion of the current block relative to reference video data, and wherein motion vector candidate list comprises one or more merge mode candidate motion vectors or one or more advanced motion vector prediction mode candidate motion vectors; selecting a candidate motion vector from the motion vector candidate list; and determining a derived motion vector for the current block that points to a set of reference data of a reference picture, wherein determining the derived motion vector comprises: performing a motion search for a first set of reference data of a first reference picture corresponding to a second set of reference data outside of the current block, the first reference picture being pointed to by the candidate motion vector, wherein the candidate motion vector indicates a starting point in the first reference picture for the motion search; and refining the candidate motion vector to determine a derived motion vector that points to the first set of reference data, wherein the first set of reference data and the second set of reference data represent best match reference data, wherein the best match is based on a matching cost between the first set of reference data of the first reference picture and the second set of reference data; wherein the matching cost comprises a magnitude of a difference between the derived motion vector and the candidate motion vector. determining a motion vector candidate list comprising a plurality of candidate motion vectors for deriving motion information of a current block in a current picture of video data, wherein the motion information indicates motion of the current block relative to reference video data, and wherein motion vector candidate list comprises one or more merge mode candidate motion vectors or one or more advanced motion vector prediction mode candidate motion vectors; selecting a candidate motion vector from the motion vector candidate list; and determining a derived motion vector for the current block that points to a set of reference data of a reference picture, wherein determining the derived motion vector comprises: performing a motion search for a first set of reference data of a first reference picture corresponding to a second set of reference data outside of the current block, the first reference picture being pointed to by the candidate motion vector, wherein the candidate motion vector indicates a starting point in the first reference picture for the motion search; and refining the candidate motion vector to determine a derived motion vector that points to the first set of reference data, wherein the first set of reference data and the second set of reference data represent best match reference data, wherein the best match is based on a matching cost between the first set of reference data of the first reference picture and the second set of reference data; wherein the matching cost comprises a magnitude of a difference between the derived motion vector and the candidate motion vector. performing a motion search for a first set of reference data of a first reference picture corresponding to a second set of reference data outside of the current block, the first reference picture being pointed to by the candidate motion vector, wherein the candidate motion vector indicates a starting point in the first reference picture for the motion search; and refining the candidate motion vector to determine a derived motion vector that points to the first set of reference data, wherein the first set of reference data and the second set of reference data represent best match reference data, wherein the best match is based on a matching cost between the first set of reference data of the first reference picture and the second set of reference data; wherein the matching cost comprises a magnitude of a difference between the derived motion vector and the candidate motion vector.