]> granicus.if.org Git - libx264/commitdiff
r784 borked lossless dc zigzag
authorLoren Merritt <pengvado@akuvian.org>
Sun, 30 Mar 2008 02:42:51 +0000 (20:42 -0600)
committerLoren Merritt <pengvado@akuvian.org>
Sun, 30 Mar 2008 03:15:54 +0000 (21:15 -0600)
encoder/macroblock.c

index 37422bda72c10ddf0bef65613c2b86102dc39900..0eafd586c5accb9506ec0dcdbd178285653d4f7f 100644 (file)
@@ -143,8 +143,7 @@ static void x264_mb_encode_i16x16( x264_t *h, int i_qscale )
             int oe = block_idx_x[i]*4 + block_idx_y[i]*4*FENC_STRIDE;
             int od = block_idx_x[i]*4 + block_idx_y[i]*4*FDEC_STRIDE;
             h->zigzagf.sub_4x4( h->dct.luma4x4[i], p_src+oe, p_dst+od );
-            dct4x4[0][block_idx_x[i]][block_idx_y[i]] = p_src[oe] - p_dst[od];
-            p_dst[od] = p_src[oe];
+            dct4x4[0][block_idx_x[i]][block_idx_y[i]] = h->dct.luma4x4[i][0];
         }
         h->zigzagf.scan_4x4( h->dct.luma16x16_dc, dct4x4[0] );
         return;
@@ -205,8 +204,7 @@ void x264_mb_encode_8x8_chroma( x264_t *h, int b_inter, int i_qscale )
                 int oe = block_idx_x[i]*4 + block_idx_y[i]*4*FENC_STRIDE;
                 int od = block_idx_x[i]*4 + block_idx_y[i]*4*FDEC_STRIDE;
                 h->zigzagf.sub_4x4( h->dct.luma4x4[16+i+ch*4], p_src+oe, p_dst+od );
-                h->dct.chroma_dc[ch][i] = p_src[oe] - p_dst[od];
-                p_dst[od] = p_src[oe];
+                h->dct.chroma_dc[ch][i] = h->dct.luma4x4[16+i+ch*4][0];
             }
             continue;
         }