Patch by Eli Friedman, eli D friedman A gmail
Originally committed as revision 23894 to svn://svn.ffmpeg.org/ffmpeg/trunk
... | ... |
@@ -670,19 +670,19 @@ static av_always_inline void MPV_motion_internal(MpegEncContext *s, |
670 | 670 |
} |
671 | 671 |
|
672 | 672 |
if(mb_x==0 || IS_INTRA(s->current_picture.mb_type[xy-1])){ |
673 |
- *(int32_t*)mv_cache[1][0]= *(int32_t*)mv_cache[1][1]; |
|
674 |
- *(int32_t*)mv_cache[2][0]= *(int32_t*)mv_cache[2][1]; |
|
673 |
+ AV_COPY32(mv_cache[1][0], mv_cache[1][1]); |
|
674 |
+ AV_COPY32(mv_cache[2][0], mv_cache[2][1]); |
|
675 | 675 |
}else{ |
676 |
- *(int32_t*)mv_cache[1][0]= *(int32_t*)s->current_picture.motion_val[0][mot_xy-1]; |
|
677 |
- *(int32_t*)mv_cache[2][0]= *(int32_t*)s->current_picture.motion_val[0][mot_xy-1+mot_stride]; |
|
676 |
+ AV_COPY32(mv_cache[1][0], s->current_picture.motion_val[0][mot_xy-1]); |
|
677 |
+ AV_COPY32(mv_cache[2][0], s->current_picture.motion_val[0][mot_xy-1+mot_stride]); |
|
678 | 678 |
} |
679 | 679 |
|
680 | 680 |
if(mb_x+1>=s->mb_width || IS_INTRA(s->current_picture.mb_type[xy+1])){ |
681 |
- *(int32_t*)mv_cache[1][3]= *(int32_t*)mv_cache[1][2]; |
|
682 |
- *(int32_t*)mv_cache[2][3]= *(int32_t*)mv_cache[2][2]; |
|
681 |
+ AV_COPY32(mv_cache[1][3], mv_cache[1][2]); |
|
682 |
+ AV_COPY32(mv_cache[2][3], mv_cache[2][2]); |
|
683 | 683 |
}else{ |
684 |
- *(int32_t*)mv_cache[1][3]= *(int32_t*)s->current_picture.motion_val[0][mot_xy+2]; |
|
685 |
- *(int32_t*)mv_cache[2][3]= *(int32_t*)s->current_picture.motion_val[0][mot_xy+2+mot_stride]; |
|
684 |
+ AV_COPY32(mv_cache[1][3], s->current_picture.motion_val[0][mot_xy+2]); |
|
685 |
+ AV_COPY32(mv_cache[2][3], s->current_picture.motion_val[0][mot_xy+2+mot_stride]); |
|
686 | 686 |
} |
687 | 687 |
|
688 | 688 |
mx = 0; |