Adding mv_joint_vertical and mv_joint_horizontal functions.
Change-Id: Ieaec2c48f3752b8558ba051caaf4ba2ab0e9e84d
This commit is contained in:
parent
b800ec1772
commit
fd61b7ea10
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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];
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user