changeset 6014:33b0514769b2 libavcodec

Fix non_zero_count_cache for deblocking in field pictures. Based on original patch by Martin Zlomek martin.zlomek a email D cz ffmpeg-devel thread: H264: Fix non_zero_count_cache for deblocking in fields Fri, 30 Nov 2007 9:58:23
author heydowns
date Thu, 13 Dec 2007 00:50:47 +0000
parents af8951e74098
children bb4f24c580f5
files h264.c
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/h264.c	Wed Dec 12 22:45:03 2007 +0000
+++ b/h264.c	Thu Dec 13 00:50:47 2007 +0000
@@ -171,13 +171,14 @@
     int left_block[8];
     int i;
 
+    top_xy     = mb_xy  - (s->mb_stride << FIELD_PICTURE);
+
     //FIXME deblocking could skip the intra and nnz parts.
-    if(for_deblock && (h->slice_num == 1 || h->slice_table[mb_xy] == h->slice_table[mb_xy-s->mb_stride]) && !FRAME_MBAFF)
+    if(for_deblock && (h->slice_num == 1 || h->slice_table[mb_xy] == h->slice_table[top_xy]) && !FRAME_MBAFF)
         return;
 
     //wow what a mess, why didn't they simplify the interlacing&intra stuff, i can't imagine that these complex rules are worth it
 
-    top_xy     = mb_xy  - (s->mb_stride << FIELD_PICTURE);
     topleft_xy = top_xy - 1;
     topright_xy= top_xy + 1;
     left_xy[1] = left_xy[0] = mb_xy-1;