Paul Kendall <[EMAIL PROTECTED]> added the comment:
I've done some investigation as well because this issue affects us here in NZ
with
our DVB-T streams as they are interlaced.
in hl_decode_mb_internal
assume mb_y = 1 (as this is described in the bug report)
dest_y = s->current_picture.data[0] + (mb_y * 16* s->linesize ) + mb_x * 16;
then later if !simple && MB_FIELD
linesize = h->mb_linesize = s->linesize * 2;
in another if mb_y&1 (which is true because mb_y == 1)
dest_y -= s->linesize*15;
so dest_y is now s->current_picture.data[0] + s-<linesize + mb_x *16
now a call to xchg_mb_border (src_y parameter is dest_y above)
assume deblocking_filter == 2
so deblock_top = (s->mb_y > 0) (i.e. true)
now
src_y -= linesize + 1; (remember the *2)
so src_y == -s->linesize - 1 + mb_x*16
So it will fault here because !deblock_top == 0 and so i wil start at 0
if(deblock_left){
for(i = !deblock_top; i<17; i++){
XCHG(h->left_border[i ], src_y [i* linesize], temp8, xchg);
}
}
______________________________________________________
FFmpeg issue tracker <[EMAIL PROTECTED]>
<https://roundup.mplayerhq.hu/roundup/ffmpeg/issue427>
______________________________________________________