Revision 0fe674cb

View differences:

libavcodec/h264_loopfilter.c
337 337
       !(h->slice_type_nos == FF_I_TYPE ||
338 338
         h->slice_type_nos == FF_P_TYPE ||
339 339
         (s->flags2 & CODEC_FLAG2_FAST)) ||
340
       (h->deblocking_filter == 2 && (h->slice_table[mb_xy] != h->slice_table[h->top_mb_xy] || //use slice_num
341
                                      h->slice_table[mb_xy] != h->slice_table[mb_xy - 1]))) {
340
       (h->deblocking_filter == 2 && (h->slice_num != h->slice_table[h->top_mb_xy] ||
341
                                      h->slice_num != h->slice_table[mb_xy - 1]))) {
342 342
        ff_h264_filter_mb(h, mb_x, mb_y, img_y, img_cb, img_cr, linesize, uvlinesize);
343 343
        return;
344 344
    }
......
461 461
        start = 1;
462 462
    }
463 463

  
464
    if (h->deblocking_filter==2 && h->slice_table[mbm_xy] != h->slice_table[mb_xy])
464
    if (h->deblocking_filter==2 && h->slice_table[mbm_xy] != h->slice_num)
465 465
        start = 1;
466 466

  
467 467
    if (FRAME_MBAFF && (dir == 1) && ((mb_y&1) == 0) && start == 0
......
656 656
            // and current and left pair do not have the same interlaced type
657 657
            && (IS_INTERLACED(mb_type) != IS_INTERLACED(s->current_picture.mb_type[mb_xy-1]))
658 658
            // and left mb is in the same slice if deblocking_filter == 2
659
            && (h->deblocking_filter!=2 || h->slice_table[mb_xy-1] == h->slice_table[mb_xy])) {
659
            && (h->deblocking_filter!=2 || h->slice_table[mb_xy-1] == h->slice_num)) {
660 660
        /* First vertical edge is different in MBAFF frames
661 661
         * There are 8 different bS to compute and 2 different Qp
662 662
         */

Also available in: Unified diff