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>
______________________________________________________

Reply via email to