Commit 3d0bdc1c authored by Alex Converse's avatar Alex Converse
Browse files

Refactor read_mv() calls out of ref-mv blocks.

This is in preparation for full pell only read_mv() calls for intrabc.

Change-Id: I9e576ba0965164849a18afcabc16a3190799483e
parent 69972adc
...@@ -1510,6 +1510,7 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd, ...@@ -1510,6 +1510,7 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd,
case NEWMV: { case NEWMV: {
FRAME_COUNTS *counts = xd->counts; FRAME_COUNTS *counts = xd->counts;
#if !CONFIG_REF_MV #if !CONFIG_REF_MV
nmv_context *const nmvc = &ec_ctx->nmvc;
nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL; nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL;
#endif #endif
for (i = 0; i < 1 + is_compound; ++i) { for (i = 0; i < 1 + is_compound; ++i) {
...@@ -1518,14 +1519,11 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd, ...@@ -1518,14 +1519,11 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd,
int nmv_ctx = int nmv_ctx =
av1_nmv_ctx(xd->ref_mv_count[rf_type], xd->ref_mv_stack[rf_type], i, av1_nmv_ctx(xd->ref_mv_count[rf_type], xd->ref_mv_stack[rf_type], i,
mbmi->ref_mv_idx); mbmi->ref_mv_idx);
nmv_context *const nmvc = &ec_ctx->nmvc[nmv_ctx];
nmv_context_counts *const mv_counts = nmv_context_counts *const mv_counts =
counts ? &counts->mv[nmv_ctx] : NULL; counts ? &counts->mv[nmv_ctx] : NULL;
read_mv(r, &mv[i].as_mv, &ref_mv[i].as_mv, &ec_ctx->nmvc[nmv_ctx],
mv_counts, allow_hp);
#else
read_mv(r, &mv[i].as_mv, &ref_mv[i].as_mv, &ec_ctx->nmvc, mv_counts,
allow_hp);
#endif #endif
read_mv(r, &mv[i].as_mv, &ref_mv[i].as_mv, nmvc, mv_counts, allow_hp);
ret = ret && is_mv_valid(&mv[i].as_mv); ret = ret && is_mv_valid(&mv[i].as_mv);
#if CONFIG_REF_MV #if CONFIG_REF_MV
...@@ -1580,6 +1578,7 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd, ...@@ -1580,6 +1578,7 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd,
case NEW_NEWMV: { case NEW_NEWMV: {
FRAME_COUNTS *counts = xd->counts; FRAME_COUNTS *counts = xd->counts;
#if !CONFIG_REF_MV #if !CONFIG_REF_MV
nmv_context *const nmvc = &ec_ctx->nmvc;
nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL; nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL;
#endif #endif
assert(is_compound); assert(is_compound);
...@@ -1589,14 +1588,11 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd, ...@@ -1589,14 +1588,11 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd,
int nmv_ctx = int nmv_ctx =
av1_nmv_ctx(xd->ref_mv_count[rf_type], xd->ref_mv_stack[rf_type], i, av1_nmv_ctx(xd->ref_mv_count[rf_type], xd->ref_mv_stack[rf_type], i,
mbmi->ref_mv_idx); mbmi->ref_mv_idx);
nmv_context *const nmvc = &ec_ctx->nmvc[nmv_ctx];
nmv_context_counts *const mv_counts = nmv_context_counts *const mv_counts =
counts ? &counts->mv[nmv_ctx] : NULL; counts ? &counts->mv[nmv_ctx] : NULL;
read_mv(r, &mv[i].as_mv, &ref_mv[i].as_mv, &ec_ctx->nmvc[nmv_ctx],
mv_counts, allow_hp);
#else
read_mv(r, &mv[i].as_mv, &ref_mv[i].as_mv, &ec_ctx->nmvc, mv_counts,
allow_hp);
#endif #endif
read_mv(r, &mv[i].as_mv, &ref_mv[i].as_mv, nmvc, mv_counts, allow_hp);
ret = ret && is_mv_valid(&mv[i].as_mv); ret = ret && is_mv_valid(&mv[i].as_mv);
} }
break; break;
...@@ -1631,15 +1627,14 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd, ...@@ -1631,15 +1627,14 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd,
int8_t rf_type = av1_ref_frame_type(mbmi->ref_frame); int8_t rf_type = av1_ref_frame_type(mbmi->ref_frame);
int nmv_ctx = av1_nmv_ctx(xd->ref_mv_count[rf_type], int nmv_ctx = av1_nmv_ctx(xd->ref_mv_count[rf_type],
xd->ref_mv_stack[rf_type], 0, mbmi->ref_mv_idx); xd->ref_mv_stack[rf_type], 0, mbmi->ref_mv_idx);
nmv_context *const nmvc = &ec_ctx->nmvc[nmv_ctx];
nmv_context_counts *const mv_counts = nmv_context_counts *const mv_counts =
counts ? &counts->mv[nmv_ctx] : NULL; counts ? &counts->mv[nmv_ctx] : NULL;
read_mv(r, &mv[0].as_mv, &ref_mv[0].as_mv, &ec_ctx->nmvc[nmv_ctx],
mv_counts, allow_hp);
#else #else
nmv_context *const nmvc = &ec_ctx->nmvc;
nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL; nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL;
read_mv(r, &mv[0].as_mv, &ref_mv[0].as_mv, &ec_ctx->nmvc, mv_counts,
allow_hp);
#endif #endif
read_mv(r, &mv[0].as_mv, &ref_mv[0].as_mv, nmvc, mv_counts, allow_hp);
assert(is_compound); assert(is_compound);
ret = ret && is_mv_valid(&mv[0].as_mv); ret = ret && is_mv_valid(&mv[0].as_mv);
mv[1].as_int = nearest_mv[1].as_int; mv[1].as_int = nearest_mv[1].as_int;
...@@ -1653,15 +1648,13 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd, ...@@ -1653,15 +1648,13 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd,
xd->ref_mv_stack[rf_type], 1, mbmi->ref_mv_idx); xd->ref_mv_stack[rf_type], 1, mbmi->ref_mv_idx);
nmv_context_counts *const mv_counts = nmv_context_counts *const mv_counts =
counts ? &counts->mv[nmv_ctx] : NULL; counts ? &counts->mv[nmv_ctx] : NULL;
mv[0].as_int = nearest_mv[0].as_int; nmv_context *const nmvc = &ec_ctx->nmvc[nmv_ctx];
read_mv(r, &mv[1].as_mv, &ref_mv[1].as_mv, &ec_ctx->nmvc[nmv_ctx],
mv_counts, allow_hp);
#else #else
nmv_context *const nmvc = &ec_ctx->nmvc;
nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL; nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL;
mv[0].as_int = nearest_mv[0].as_int;
read_mv(r, &mv[1].as_mv, &ref_mv[1].as_mv, &ec_ctx->nmvc, mv_counts,
allow_hp);
#endif #endif
mv[0].as_int = nearest_mv[0].as_int;
read_mv(r, &mv[1].as_mv, &ref_mv[1].as_mv, nmvc, mv_counts, allow_hp);
assert(is_compound); assert(is_compound);
ret = ret && is_mv_valid(&mv[1].as_mv); ret = ret && is_mv_valid(&mv[1].as_mv);
break; break;
...@@ -1672,17 +1665,15 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd, ...@@ -1672,17 +1665,15 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd,
int8_t rf_type = av1_ref_frame_type(mbmi->ref_frame); int8_t rf_type = av1_ref_frame_type(mbmi->ref_frame);
int nmv_ctx = av1_nmv_ctx(xd->ref_mv_count[rf_type], int nmv_ctx = av1_nmv_ctx(xd->ref_mv_count[rf_type],
xd->ref_mv_stack[rf_type], 1, mbmi->ref_mv_idx); xd->ref_mv_stack[rf_type], 1, mbmi->ref_mv_idx);
nmv_context *const nmvc = &ec_ctx->nmvc[nmv_ctx];
nmv_context_counts *const mv_counts = nmv_context_counts *const mv_counts =
counts ? &counts->mv[nmv_ctx] : NULL; counts ? &counts->mv[nmv_ctx] : NULL;
mv[0].as_int = near_mv[0].as_int;
read_mv(r, &mv[1].as_mv, &ref_mv[1].as_mv, &ec_ctx->nmvc[nmv_ctx],
mv_counts, allow_hp);
#else #else
nmv_context *const nmvc = &ec_ctx->nmvc;
nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL; nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL;
mv[0].as_int = near_mv[0].as_int;
read_mv(r, &mv[1].as_mv, &ref_mv[1].as_mv, &ec_ctx->nmvc, mv_counts,
allow_hp);
#endif #endif
mv[0].as_int = near_mv[0].as_int;
read_mv(r, &mv[1].as_mv, &ref_mv[1].as_mv, nmvc, mv_counts, allow_hp);
assert(is_compound); assert(is_compound);
ret = ret && is_mv_valid(&mv[1].as_mv); ret = ret && is_mv_valid(&mv[1].as_mv);
...@@ -1694,15 +1685,14 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd, ...@@ -1694,15 +1685,14 @@ static INLINE int assign_mv(AV1_COMMON *cm, MACROBLOCKD *xd,
int8_t rf_type = av1_ref_frame_type(mbmi->ref_frame); int8_t rf_type = av1_ref_frame_type(mbmi->ref_frame);
int nmv_ctx = av1_nmv_ctx(xd->ref_mv_count[rf_type], int nmv_ctx = av1_nmv_ctx(xd->ref_mv_count[rf_type],
xd->ref_mv_stack[rf_type], 0, mbmi->ref_mv_idx); xd->ref_mv_stack[rf_type], 0, mbmi->ref_mv_idx);
nmv_context *const nmvc = &ec_ctx->nmvc[nmv_ctx];
nmv_context_counts *const mv_counts = nmv_context_counts *const mv_counts =
counts ? &counts->mv[nmv_ctx] : NULL; counts ? &counts->mv[nmv_ctx] : NULL;
read_mv(r, &mv[0].as_mv, &ref_mv[0].as_mv, &ec_ctx->nmvc[nmv_ctx],
mv_counts, allow_hp);
#else #else
nmv_context *const nmvc = &ec_ctx->nmvc;
nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL; nmv_context_counts *const mv_counts = counts ? &counts->mv : NULL;
read_mv(r, &mv[0].as_mv, &ref_mv[0].as_mv, &ec_ctx->nmvc, mv_counts,
allow_hp);
#endif #endif
read_mv(r, &mv[0].as_mv, &ref_mv[0].as_mv, nmvc, mv_counts, allow_hp);
assert(is_compound); assert(is_compound);
ret = ret && is_mv_valid(&mv[0].as_mv); ret = ret && is_mv_valid(&mv[0].as_mv);
mv[1].as_int = near_mv[1].as_int; mv[1].as_int = near_mv[1].as_int;
......
Markdown is supported
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