[SCM] libav/experimental: 10l use pack16to32(), should fix big endian h264 failures.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:00:05 UTC 2013


The following commit has been merged in the experimental branch:
commit cbfcde9f5213375c46510138e92fb4fe3fd95649
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon Feb 15 01:24:50 2010 +0000

    10l use pack16to32(), should fix big endian h264 failures.
    
    Originally committed as revision 21829 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h264_direct.c b/libavcodec/h264_direct.c
index 1d8a8ba..1253fcd 100644
--- a/libavcodec/h264_direct.c
+++ b/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]){

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list