comparison h264.c @ 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 bc6d765d1d53
children 5455f4e43948
comparison
equal deleted inserted replaced
6013:af8951e74098 6014:33b0514769b2
169 int topleft_xy, top_xy, topright_xy, left_xy[2]; 169 int topleft_xy, top_xy, topright_xy, left_xy[2];
170 int topleft_type, top_type, topright_type, left_type[2]; 170 int topleft_type, top_type, topright_type, left_type[2];
171 int left_block[8]; 171 int left_block[8];
172 int i; 172 int i;
173 173
174 top_xy = mb_xy - (s->mb_stride << FIELD_PICTURE);
175
174 //FIXME deblocking could skip the intra and nnz parts. 176 //FIXME deblocking could skip the intra and nnz parts.
175 if(for_deblock && (h->slice_num == 1 || h->slice_table[mb_xy] == h->slice_table[mb_xy-s->mb_stride]) && !FRAME_MBAFF) 177 if(for_deblock && (h->slice_num == 1 || h->slice_table[mb_xy] == h->slice_table[top_xy]) && !FRAME_MBAFF)
176 return; 178 return;
177 179
178 //wow what a mess, why didn't they simplify the interlacing&intra stuff, i can't imagine that these complex rules are worth it 180 //wow what a mess, why didn't they simplify the interlacing&intra stuff, i can't imagine that these complex rules are worth it
179 181
180 top_xy = mb_xy - (s->mb_stride << FIELD_PICTURE);
181 topleft_xy = top_xy - 1; 182 topleft_xy = top_xy - 1;
182 topright_xy= top_xy + 1; 183 topright_xy= top_xy + 1;
183 left_xy[1] = left_xy[0] = mb_xy-1; 184 left_xy[1] = left_xy[0] = mb_xy-1;
184 left_block[0]= 0; 185 left_block[0]= 0;
185 left_block[1]= 1; 186 left_block[1]= 1;