]> granicus.if.org Git - libx264/commitdiff
Fix regression in r1085
authorFiona Glaser <fiona@x264.com>
Thu, 26 Feb 2009 20:07:56 +0000 (12:07 -0800)
committerFiona Glaser <fiona@x264.com>
Thu, 26 Feb 2009 20:10:12 +0000 (12:10 -0800)
Deblocking was very slightly incorrect with partitions=all.
Bug found by BugMaster.

common/frame.c

index 08ddd451cb3f70525a170d335fb980ede3e4fabe..bd7ad45c2c074d5eff12176ea20baa140263ca06 100644 (file)
@@ -625,6 +625,7 @@ void x264_frame_deblock_row( x264_t *h, int mb_y )
     const int b_interlaced = h->sh.b_mbaff;
     const int mvy_limit = 4 >> b_interlaced;
     const int qp_thresh = 15 - X264_MIN(h->sh.i_alpha_c0_offset, h->sh.i_beta_offset) - X264_MAX(0, h->param.analyse.i_chroma_qp_offset);
+    const int no_sub8x8 = !(h->param.analyse.inter & X264_ANALYSE_PSUB8x8);
     int mb_x;
     int stridey   = h->fdec->i_stride[0];
     int stride2y  = stridey << b_interlaced;
@@ -642,7 +643,6 @@ void x264_frame_deblock_row( x264_t *h, int mb_y )
         const int b_8x8_transform = h->mb.mb_transform_size[mb_xy];
         const int i_qp = h->mb.qp[mb_xy];
         int i_edge_end = (h->mb.type[mb_xy] == P_SKIP) ? 1 : 4;
-        int no_sub8x8 = h->mb.type[mb_xy] != P_8x8 || !(h->param.analyse.inter & X264_ANALYSE_PSUB8x8);
         uint8_t *pixy = h->fdec->plane[0] + 16*mb_y*stridey  + 16*mb_x;
         uint8_t *pixu = h->fdec->plane[1] +  8*mb_y*strideuv +  8*mb_x;
         uint8_t *pixv = h->fdec->plane[2] +  8*mb_y*strideuv +  8*mb_x;