# HG changeset patch # User heydowns # Date 1197507047 0 # Node ID 33b0514769b2a090494aab64a8faa41ec2bfb0a8 # Parent af8951e74098d2d8a41984b3d08a97f756c4a022 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 diff -r af8951e74098 -r 33b0514769b2 h264.c --- 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;