Commit 501ae348 authored by John Koleszar's avatar John Koleszar
Browse files

Fix vp9_build_intra_predictors_sbuv_s for non-4:2:0

Remove an assumption about chroma size, and the number of planes.

Change-Id: I286a7fac296ec334c6a8ad847f663f3adbb9f43e
Showing with 14 additions and 12 deletions
...@@ -378,19 +378,21 @@ void vp9_build_intra_predictors_sby_s(MACROBLOCKD *xd, ...@@ -378,19 +378,21 @@ void vp9_build_intra_predictors_sby_s(MACROBLOCKD *xd,
void vp9_build_intra_predictors_sbuv_s(MACROBLOCKD *xd, void vp9_build_intra_predictors_sbuv_s(MACROBLOCKD *xd,
BLOCK_SIZE_TYPE bsize) { BLOCK_SIZE_TYPE bsize) {
const int bwl = b_width_log2(bsize), bw = 2 << bwl; int p;
const int bhl = b_height_log2(bsize), bh = 2 << bhl;
vp9_build_intra_predictors(xd->plane[1].dst.buf, xd->plane[1].dst.stride, for (p = 1; p < MAX_MB_PLANE; p++) {
xd->plane[1].dst.buf, xd->plane[1].dst.stride, const struct macroblockd_plane* const pd = &xd->plane[p];
xd->mode_info_context->mbmi.uv_mode, const int bwl = b_width_log2(bsize) - pd->subsampling_x;
bw, bh, xd->up_available, const int bw = 4 << bwl;
xd->left_available, 0 /*xd->right_available*/); const int bhl = b_height_log2(bsize) - pd->subsampling_y;
vp9_build_intra_predictors(xd->plane[2].dst.buf, xd->plane[1].dst.stride, const int bh = 4 << bhl;
xd->plane[2].dst.buf, xd->plane[1].dst.stride,
xd->mode_info_context->mbmi.uv_mode, vp9_build_intra_predictors(pd->dst.buf, pd->dst.stride,
bw, bh, xd->up_available, pd->dst.buf, pd->dst.stride,
xd->left_available, 0 /*xd->right_available*/); xd->mode_info_context->mbmi.uv_mode,
bw, bh, xd->up_available,
xd->left_available, 0 /*xd->right_available*/);
}
} }
void vp9_intra4x4_predict(MACROBLOCKD *xd, void vp9_intra4x4_predict(MACROBLOCKD *xd,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment