[0190] In FIGS. 14 and 15, the step of predicting a current block (e.g., step 350 of FIG. 14 and step 374 in FIG. 15) may use motion vectors in the prediction process. FIG. 16 shows an example decoding process whereby a video device (e.g., a decoder or an encoder that performs a decoding loop) may decode video data to generate one or more motion vectors (402), and perform a DMVR process on the one or more motion vectors (404), such as described herein. Thus, for example, video encoder 200 may perform the method of FIG. 16 when predicting a current block per step 350 of FIG. 14, and video decoder 300 may perform the method of FIG. 16 when predicting a current block per step 374 of FIG. 15.[0191] FIG. 17 is a flow diagram that shows an example process that may be performed in the DMVR process to refine one or more motion vectors. As shown, a video decoder (e.g., decoder 300 or encoder 200 performing a decoding loop) may determine one or more characteristics of current video block being decoded (406), and determine a search area for the DMVR process for the current video block based on the determined one or more characteristics of the current video block (408). The video decoder may use the determined search area for the DMVR process, and the determined search area may include on the data (e.g., samples) in the determined area and to exclude data (e.g., samples) outside of the determined search area, which can eliminate unnecessary use of memory for samples outside of the determined search area. For example, the video decoder may determine the search area for the DMVR process for the current video block based on one or more dimensions of the current video block. In some examples, the video decoder may determine the search area for the DMVR process for the current video block based on a height and a width of the current video block. In some examples, the video decoder may determine the search area for the DMVR process based on the height and the width of the current block and based on a scale factor, such as based on the “sFactor” described above or another type of metric that can be used for scaling. If a scale factor is used, in some examples, the scale factor may be stored in the decoder and not signaled in the encoded bitstream, whereas in other examples, the scale factor may be derived or determined by the decoder based on one or more syntax elements decoded from the encoded bitstream. [0192] In any case, the video decoder may then determine different cost factors and distortion associated with candidate blocks in the search area for the DMVR process (410). The cost factors prioritize one or more candidate blocks in the search area that are closer to the center of the search area relative to other candidate in the search area that are farther from the center of the search area. FIGS 12 and 13 are conceptual diagrams showing two different example searching patterns (and some example cost factors) that may be used when searching for a refinement motion vector within a search area. [0193] In some examples, the video decoder may apply a threshold to the DMVR process so that the process can be terminated if an acceptable refinement is discovered. This can reduce the amount of computations needed for the DMVR process. For example, a video decoder may determine whether a cost factor and distortion satisfy a threshold (412). The threshold, for example, may define an acceptable level of video quality (distortion) multiple by a cost factor (e.g., a scaling factor defined based on the location of the refinement motion vector relative to a location of the block being coded. If the cost factor and distortion satisfy the threshold (yes branch of 412), then the decoder terminate the refinement search early (414). In other words, the decoder may terminate the DMVR process for the current video block prior to considering all candidate blocks in the search area, upon identifying an acceptable candidate associated with a cost factor and distortion that satisfy a threshold. However, if the cost factor and distortion do not satisfy the threshold (no branch of 412), then the decoder may continue the refinement search for all candidates in the search space (416). The video decoder may then perform motion vector refinement based on the best candidate in the search space (in terms of distortion and cost factor) or based on the acceptable candidate (418), if one is identified that satisfies the threshold. In some examples, video decoder 300 limits a refinement search to the defined search area that is defined for the DMVR process, such that video decoder 300 uses only samples of the search area to refine the motion vector. Thus, video decoder 300 may avoid using data (e.g., samples) outside of the determined search area when refining the motion vector in the DMVR process.[0194] The process of FIG. 17 may be repeated in refining different motion vectors. Thus, the described search area may be referre