From fd61b7ea10f81e990ee9b8c0e06561e49583ffad Mon Sep 17 00:00:00 2001 From: Dmitry Kovalev Date: Mon, 15 Apr 2013 12:07:26 -0700 Subject: [PATCH] Adding mv_joint_vertical and mv_joint_horizontal functions. Change-Id: Ieaec2c48f3752b8558ba051caaf4ba2ab0e9e84d --- vp9/common/vp9_entropymv.c | 4 ++-- vp9/common/vp9_entropymv.h | 8 ++++++++ vp9/decoder/vp9_decodemv.c | 8 ++++---- vp9/encoder/vp9_encodemv.c | 8 ++++---- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/vp9/common/vp9_entropymv.c b/vp9/common/vp9_entropymv.c index fa8eacc..fe36677 100644 --- a/vp9/common/vp9_entropymv.c +++ b/vp9/common/vp9_entropymv.c @@ -212,10 +212,10 @@ void vp9_increment_nmv(const MV *mv, const MV *ref, nmv_context_counts *mvctx, const MV_JOINT_TYPE type = vp9_get_mv_joint(*mv); mvctx->joints[type]++; usehp = usehp && vp9_use_nmv_hp(ref); - if (type == MV_JOINT_HZVNZ || type == MV_JOINT_HNZVNZ) + if (mv_joint_vertical(type)) increment_nmv_component_count(mv->row, &mvctx->comps[0], 1, usehp); - if (type == MV_JOINT_HNZVZ || type == MV_JOINT_HNZVNZ) + if (mv_joint_horizontal(type)) increment_nmv_component_count(mv->col, &mvctx->comps[1], 1, usehp); } diff --git a/vp9/common/vp9_entropymv.h b/vp9/common/vp9_entropymv.h index 3521a52..715b5bb 100644 --- a/vp9/common/vp9_entropymv.h +++ b/vp9/common/vp9_entropymv.h @@ -45,6 +45,14 @@ typedef enum { MV_JOINT_HNZVNZ = 3, /* Both components nonzero */ } MV_JOINT_TYPE; +static INLINE int mv_joint_vertical(MV_JOINT_TYPE type) { + return type == MV_JOINT_HZVNZ || type == MV_JOINT_HNZVNZ; +} + +static INLINE int mv_joint_horizontal(MV_JOINT_TYPE type) { + return type == MV_JOINT_HNZVZ || type == MV_JOINT_HNZVNZ; +} + extern const vp9_tree_index vp9_mv_joint_tree[2 * MV_JOINTS - 2]; extern struct vp9_token vp9_mv_joint_encodings[MV_JOINTS]; diff --git a/vp9/decoder/vp9_decodemv.c b/vp9/decoder/vp9_decodemv.c index 7ea0208..8298bd9 100644 --- a/vp9/decoder/vp9_decodemv.c +++ b/vp9/decoder/vp9_decodemv.c @@ -273,10 +273,10 @@ static void read_nmv(vp9_reader *r, MV *mv, const MV *ref, const MV_JOINT_TYPE j = treed_read(r, vp9_mv_joint_tree, mvctx->joints); mv->row = mv->col = 0; - if (j == MV_JOINT_HZVNZ || j == MV_JOINT_HNZVNZ) + if (mv_joint_vertical(j)) mv->row = read_nmv_component(r, ref->row, &mvctx->comps[0]); - if (j == MV_JOINT_HNZVZ || j == MV_JOINT_HNZVNZ) + if (mv_joint_horizontal(j)) mv->col = read_nmv_component(r, ref->col, &mvctx->comps[1]); } @@ -284,11 +284,11 @@ static void read_nmv_fp(vp9_reader *r, MV *mv, const MV *ref, const nmv_context *mvctx, int usehp) { const MV_JOINT_TYPE j = vp9_get_mv_joint(*mv); usehp = usehp && vp9_use_nmv_hp(ref); - if (j == MV_JOINT_HZVNZ || j == MV_JOINT_HNZVNZ) + if (mv_joint_vertical(j)) mv->row = read_nmv_component_fp(r, mv->row, ref->row, &mvctx->comps[0], usehp); - if (j == MV_JOINT_HNZVZ || j == MV_JOINT_HNZVNZ) + if (mv_joint_horizontal(j)) mv->col = read_nmv_component_fp(r, mv->col, ref->col, &mvctx->comps[1], usehp); } diff --git a/vp9/encoder/vp9_encodemv.c b/vp9/encoder/vp9_encodemv.c index 918a0bd..7c0b3dd 100644 --- a/vp9/encoder/vp9_encodemv.c +++ b/vp9/encoder/vp9_encodemv.c @@ -561,10 +561,10 @@ void vp9_encode_nmv(vp9_writer* const bc, const MV* const mv, MV_JOINT_TYPE j = vp9_get_mv_joint(*mv); write_token(bc, vp9_mv_joint_tree, mvctx->joints, vp9_mv_joint_encodings + j); - if (j == MV_JOINT_HZVNZ || j == MV_JOINT_HNZVNZ) { + if (mv_joint_vertical(j)) { encode_nmv_component(bc, mv->row, ref->col, &mvctx->comps[0]); } - if (j == MV_JOINT_HNZVZ || j == MV_JOINT_HNZVNZ) { + if (mv_joint_horizontal(j)) { encode_nmv_component(bc, mv->col, ref->col, &mvctx->comps[1]); } } @@ -574,10 +574,10 @@ void vp9_encode_nmv_fp(vp9_writer* const bc, const MV* const mv, int usehp) { MV_JOINT_TYPE j = vp9_get_mv_joint(*mv); usehp = usehp && vp9_use_nmv_hp(ref); - if (j == MV_JOINT_HZVNZ || j == MV_JOINT_HNZVNZ) { + if (mv_joint_vertical(j)) { encode_nmv_component_fp(bc, mv->row, ref->row, &mvctx->comps[0], usehp); } - if (j == MV_JOINT_HNZVZ || j == MV_JOINT_HNZVNZ) { + if (mv_joint_horizontal(j)) { encode_nmv_component_fp(bc, mv->col, ref->col, &mvctx->comps[1], usehp); } } -- 2.7.4