Mercurial > libavcodec.hg
changeset 12020:f0a87ee1f6a9 libavcodec
Fix strict-aliasing violations in MPV_motion_internal.
Patch by Eli Friedman, eli D friedman A gmail
author | cehoyos |
---|---|
date | Wed, 30 Jun 2010 01:47:42 +0000 |
parents | 570816e8d347 |
children | 18c23a632001 |
files | mpegvideo_common.h |
diffstat | 1 files changed, 8 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mpegvideo_common.h Tue Jun 29 22:41:22 2010 +0000 +++ b/mpegvideo_common.h Wed Jun 30 01:47:42 2010 +0000 @@ -670,19 +670,19 @@ } if(mb_x==0 || IS_INTRA(s->current_picture.mb_type[xy-1])){ - *(int32_t*)mv_cache[1][0]= *(int32_t*)mv_cache[1][1]; - *(int32_t*)mv_cache[2][0]= *(int32_t*)mv_cache[2][1]; + AV_COPY32(mv_cache[1][0], mv_cache[1][1]); + AV_COPY32(mv_cache[2][0], mv_cache[2][1]); }else{ - *(int32_t*)mv_cache[1][0]= *(int32_t*)s->current_picture.motion_val[0][mot_xy-1]; - *(int32_t*)mv_cache[2][0]= *(int32_t*)s->current_picture.motion_val[0][mot_xy-1+mot_stride]; + AV_COPY32(mv_cache[1][0], s->current_picture.motion_val[0][mot_xy-1]); + AV_COPY32(mv_cache[2][0], s->current_picture.motion_val[0][mot_xy-1+mot_stride]); } if(mb_x+1>=s->mb_width || IS_INTRA(s->current_picture.mb_type[xy+1])){ - *(int32_t*)mv_cache[1][3]= *(int32_t*)mv_cache[1][2]; - *(int32_t*)mv_cache[2][3]= *(int32_t*)mv_cache[2][2]; + AV_COPY32(mv_cache[1][3], mv_cache[1][2]); + AV_COPY32(mv_cache[2][3], mv_cache[2][2]); }else{ - *(int32_t*)mv_cache[1][3]= *(int32_t*)s->current_picture.motion_val[0][mot_xy+2]; - *(int32_t*)mv_cache[2][3]= *(int32_t*)s->current_picture.motion_val[0][mot_xy+2+mot_stride]; + AV_COPY32(mv_cache[1][3], s->current_picture.motion_val[0][mot_xy+2]); + AV_COPY32(mv_cache[2][3], s->current_picture.motion_val[0][mot_xy+2+mot_stride]); } mx = 0;