10l use pack16to32(), should fix big endian h264 failures.

Originally committed as revision 21829 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Michael Niedermayer 15 years ago
parent 64dd1b0a1d
commit cbfcde9f52
  1. 4
      libavcodec/h264_direct.c

@ -178,8 +178,8 @@ static void pred_spatial_direct_motion(H264Context * const h, int *mb_type){
int match_count= (left_ref==ref[list]) + (top_ref==ref[list]) + (refc==ref[list]);
if(match_count > 1){ //most common
mv[list]= (mid_pred(A[0], B[0], C[0])&0xFFFF)
+(mid_pred(A[1], B[1], C[1])<<16);
mv[list]= pack16to32(mid_pred(A[0], B[0], C[0]),
mid_pred(A[1], B[1], C[1]) );
}else {
assert(match_count==1);
if(left_ref==ref[list]){

Loading…
Cancel
Save