shithub: libvpx

Download patch

ref: fd61b7ea10f81e990ee9b8c0e06561e49583ffad
parent: b800ec1772b7d84c9c8272f4dab4661c9a696ded
author: Dmitry Kovalev <dkovalev@google.com>
date: Mon Apr 15 08:07:26 EDT 2013

Adding mv_joint_vertical and mv_joint_horizontal functions.

Change-Id: Ieaec2c48f3752b8558ba051caaf4ba2ab0e9e84d

--- a/vp9/common/vp9_entropymv.c
+++ b/vp9/common/vp9_entropymv.c
@@ -212,10 +212,10 @@
   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);
 }
 
--- a/vp9/common/vp9_entropymv.h
+++ b/vp9/common/vp9_entropymv.h
@@ -45,6 +45,14 @@
   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];
 
--- a/vp9/decoder/vp9_decodemv.c
+++ b/vp9/decoder/vp9_decodemv.c
@@ -273,10 +273,10 @@
   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 @@
                         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);
 }
--- a/vp9/encoder/vp9_encodemv.c
+++ b/vp9/encoder/vp9_encodemv.c
@@ -561,10 +561,10 @@
   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 @@
                        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);
   }
 }