Index: patched-ffmpeg-mt/libavcodec/h264_cavlc.c |
=================================================================== |
--- patched-ffmpeg-mt/libavcodec/h264_cavlc.c (revision 41250) |
+++ patched-ffmpeg-mt/libavcodec/h264_cavlc.c (working copy) |
@@ -547,8 +547,6 @@ |
if(FRAME_MBAFF && (s->mb_y&1) == 0){ |
if(s->mb_skip_run==0) |
h->mb_mbaff = h->mb_field_decoding_flag = get_bits1(&s->gb); |
- else |
- predict_field_decoding_flag(h); |
} |
decode_mb_skip(h); |
return 0; |
@@ -623,6 +621,7 @@ |
h->ref_count[1] <<= 1; |
} |
+ fill_decode_neighbors(h, mb_type); |
fill_decode_caches(h, mb_type); |
//mb_pred |
@@ -790,22 +789,18 @@ |
return -1; |
} |
} |
- }else |
- val= LIST_NOT_USED&0xFF; |
fill_rectangle(&h->ref_cache[list][ scan8[0] ], 4, 4, 8, val, 1); |
+ } |
} |
for(list=0; list<h->list_count; list++){ |
- unsigned int val; |
if(IS_DIR(mb_type, 0, list)){ |
pred_motion(h, 0, 4, list, h->ref_cache[list][ scan8[0] ], &mx, &my); |
mx += get_se_golomb(&s->gb); |
my += get_se_golomb(&s->gb); |
tprintf(s->avctx, "final mv:%d %d\n", mx, my); |
- val= pack16to32(mx,my); |
- }else |
- val=0; |
- fill_rectangle(h->mv_cache[list][ scan8[0] ], 4, 4, 8, val, 4); |
+ fill_rectangle(h->mv_cache[list][ scan8[0] ], 4, 4, 8, pack16to32(mx,my), 4); |
+ } |
} |
} |
else if(IS_16X8(mb_type)){ |