h264: fix init of topleft ref/mv.
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 17 Dec 2011 03:42:04 +0000 (04:42 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 27 Dec 2011 20:33:32 +0000 (21:33 +0100)
Fixes Ticket778

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h264.h

index a6f3973..f7948a5 100644 (file)
@@ -1075,7 +1075,7 @@ static void fill_decode_caches(H264Context *h, int mb_type){
                 AV_ZERO32(h->mv_cache [list][scan8[0] + 4 - 1*8]);
                 h->ref_cache[list][scan8[0] + 4 - 1*8]= topright_type ? LIST_NOT_USED : PART_NOT_AVAILABLE;
             }
-            if(h->ref_cache[list][scan8[0] + 4 - 1*8] < 0){
+            if(h->ref_cache[list][scan8[0] + 2 - 1*8] < 0 || h->ref_cache[list][scan8[0] + 4 - 1*8] < 0){
                 if(USES_LIST(topleft_type, list)){
                     const int b_xy = h->mb2b_xy [topleft_xy] + 3 + h->b_stride + (h->topleft_partition & 2*h->b_stride);
                     const int b8_xy= 4*topleft_xy + 1 + (h->topleft_partition & 2);