Browse Source

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

Originally committed as revision 11212 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Jeff Downs 18 years ago
parent
commit
36e097bce4
1 changed files with 3 additions and 2 deletions
  1. +3
    -2
      libavcodec/h264.c

+ 3
- 2
libavcodec/h264.c View File

@@ -171,13 +171,14 @@ static void fill_caches(H264Context *h, int mb_type, int for_deblock){
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;


Loading…
Cancel
Save