A method for encoding video, the method comprising: selecting between temporal prediction and spatial prediction for a slice of a B-picture in a video sequence; and signaling slice-level mode information indicating the selection for the slice, wherein the signaling facilitates selectively applying spatial prediction of motion associated with direct mode macroblocks of the slice of the B-picture in the video sequence, and wherein the selectively applying spatial prediction comprises: using temporal prediction of motion associated with the direct mode macroblocks of the slice if the slice-level mode information indicates temporal prediction for the slice; and using spatial prediction of motion associated with the direct mode macroblocks of the slice if the slice-level mode information indicates spatial prediction for the slice, wherein spatially predicted motion for a current direct mode macroblock of the direct mode macroblocks of the slice is based on motion information for spatial predictors of plural adjacent macroblocks, and wherein the spatial prediction includes: checking whether motion information of a temporal predictor is zero as part of determining if the temporal predictor is stationary; and if the temporal predictor is stationary (1206-Yes), setting the spatially predicted motion for the current direct mode macroblock to be zero. selecting between temporal prediction and spatial prediction for a slice of a B-picture in a video sequence; and signaling slice-level mode information indicating the selection for the slice, wherein the signaling facilitates selectively applying spatial prediction of motion associated with direct mode macroblocks of the slice of the B-picture in the video sequence, and wherein the selectively applying spatial prediction comprises: using temporal prediction of motion associated with the direct mode macroblocks of the slice if the slice-level mode information indicates temporal prediction for the slice; and using spatial prediction of motion associated with the direct mode macroblocks of the slice if the slice-level mode information indicates spatial prediction for the slice, wherein spatially predicted motion for a current direct mode macroblock of the direct mode macroblocks of the slice is based on motion information for spatial predictors of plural adjacent macroblocks, and wherein the spatial prediction includes: checking whether motion information of a temporal predictor is zero as part of determining if the temporal predictor is stationary; and if the temporal predictor is stationary (1206-Yes), setting the spatially predicted motion for the current direct mode macroblock to be zero. using temporal prediction of motion associated with the direct mode macroblocks of the slice if the slice-level mode information indicates temporal prediction for the slice; and using spatial prediction of motion associated with the direct mode macroblocks of the slice if the slice-level mode information indicates spatial prediction for the slice, wherein spatially predicted motion for a current direct mode macroblock of the direct mode macroblocks of the slice is based on motion information for spatial predictors of plural adjacent macroblocks, and wherein the spatial prediction includes: checking whether motion information of a temporal predictor is zero as part of determining if the temporal predictor is stationary; and if the temporal predictor is stationary (1206-Yes), setting the spatially predicted motion for the current direct mode macroblock to be zero. checking whether motion information of a temporal predictor is zero as part of determining if the temporal predictor is stationary; and if the temporal predictor is stationary (1206-Yes), setting the spatially predicted motion for the current direct mode macroblock to be zero.