Revision 9528ce7b libavcodec/h264_loopfilter.c

View differences:

libavcodec/h264_loopfilter.c
430 430
    int edge;
431 431
    const int mbm_xy = dir == 0 ? mb_xy -1 : h->top_mb_xy;
432 432
    const int mbm_type = s->current_picture.mb_type[mbm_xy];
433
    int start = h->slice_table[mbm_xy] == 0xFFFF ? 1 : 0;
434 433

  
435 434
    const int edges = (mb_type & (MB_TYPE_16x16|MB_TYPE_SKIP))
436 435
                              == (MB_TYPE_16x16|MB_TYPE_SKIP) ? 1 : 4;
......
439 438
                          (mb_type & (MB_TYPE_8x16 >> dir)) ? 1 : 0;
440 439
    // how often to recheck mv-based bS when iterating along each edge
441 440
    const int mask_par0 = mb_type & (MB_TYPE_16x16 | (MB_TYPE_8x16 >> dir));
441
    int start =   h->slice_table[mbm_xy] == 0xFFFF
442
               || first_vertical_edge_done
443
               || (h->deblocking_filter==2 && h->slice_table[mbm_xy] != h->slice_num);
442 444

  
443
    if (first_vertical_edge_done) {
444
        start = 1;
445
    }
446

  
447
    if (h->deblocking_filter==2 && h->slice_table[mbm_xy] != h->slice_num)
448
        start = 1;
449 445

  
450 446
    if (FRAME_MBAFF && (dir == 1) && ((mb_y&1) == 0) && start == 0
451 447
        && !IS_INTERLACED(mb_type)

Also available in: Unified diff