Index: configure
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/configure,v
retrieving revision 1.154
diff -u -r1.154 configure
--- configure	23 Nov 2004 18:28:23 -0000	1.154
+++ configure	8 Dec 2004 10:07:05 -0000
@@ -811,7 +811,7 @@
 return 0;
 }
 EOF
-$cc $CFLAGS -o $TMPE $TMPC -lz 2> /dev/null || zlib="no"
+$cc $CFLAGS $LDFLAGS -o $TMPE $TMPC -lz 2> /dev/null || zlib="no"
 # $TMPE 2> /dev/null > /dev/null || zlib="no"
 # XXX: more tests needed - runtime test
 fi
Index: libavcodec/h264.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/h264.c,v
retrieving revision 1.66
diff -u -r1.66 h264.c
--- libavcodec/h264.c	27 Nov 2004 18:10:05 -0000	1.66
+++ libavcodec/h264.c	8 Dec 2004 10:07:07 -0000
@@ -1942,8 +1942,9 @@
     int emu=0;
     const int full_mx= mx>>2;
     const int full_my= my>>2;
-    
-    assert(pic->data[0]);
+
+    if( !pic->data[0] ) return;
+    //assert(pic->data[0]);
     
     if(mx&7) extra_width -= 3;
     if(my&7) extra_height -= 3;
@@ -2049,7 +2050,9 @@
             int x_offset= (i&1)<<2;
             int y_offset= (i&2)<<1;
 
-            if(IS_SUB_8X8(sub_mb_type)){
+            if(IS_DIRECT(sub_mb_type)){
+                /* TODO */
+            }else if(IS_SUB_8X8(sub_mb_type)){
                 mc_part(h, n, 1, 4, 0, dest_y, dest_cb, dest_cr, x_offset, y_offset,
                     qpix_put[1], chroma_put[1], qpix_avg[1], chroma_avg[1],
                     IS_DIR(sub_mb_type, 0, 0), IS_DIR(sub_mb_type, 0, 1));
@@ -2432,6 +2435,7 @@
         }
         if(h->deblocking_filter)
             xchg_mb_border(h, dest_y, dest_cb, dest_cr, linesize, uvlinesize, 0);
+    }else if(IS_DIRECT(mb_type)){;
     }else if(s->codec_id == CODEC_ID_H264){
         hl_motion(h, dest_y, dest_cb, dest_cr,
                   s->dsp.put_h264_qpel_pixels_tab, s->dsp.put_h264_chroma_pixels_tab, 
