void vp8_encode_intra16x16mbuv(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
{
    RECON_INVOKE(&rtcd->common->recon, build_intra_predictors_mbuv)(&x->e_mbd);

    ENCODEMB_INVOKE(&rtcd->encodemb, submbuv)(x->src_diff, x->src.u_buffer,
        x->src.v_buffer, x->src.uv_stride, &x->e_mbd.predictor[256],
        &x->e_mbd.predictor[320], 8);

    vp8_transform_mbuv(x);

    vp8_quantize_mbuv(x);

    if (x->optimize)
        vp8_optimize_mbuv(x, rtcd);

}
예제 #2
0
void vp8_encode_intra16x16mbuv(MACROBLOCK *x)
{
    MACROBLOCKD *xd = &x->e_mbd;

    vp8_build_intra_predictors_mbuv_s(&x->e_mbd);

    vp8_subtract_mbuv(x->src_diff, x->src.u_buffer,
        x->src.v_buffer, x->src.uv_stride, xd->dst.u_buffer,
        xd->dst.v_buffer, xd->dst.uv_stride);

    vp8_transform_mbuv(x);

    vp8_quantize_mbuv(x);

    if (x->optimize)
        vp8_optimize_mbuv(x);
}