Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
aom-rav1e
Commits
33469800
Commit
33469800
authored
Mar 19, 2014
by
Dmitry Kovalev
Committed by
Gerrit Code Review
Mar 19, 2014
Browse files
Merge "Moving common code into vp9_update_mv_count()."
parents
4b37dc8d
c9ec26f1
Changes
3
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_encodeframe.c
View file @
33469800
...
...
@@ -985,12 +985,7 @@ static void update_state(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
#endif
if
(
!
frame_is_intra_only
(
cm
))
{
if
(
is_inter_block
(
mbmi
))
{
if
(
mbmi
->
sb_type
<
BLOCK_8X8
||
mbmi
->
mode
==
NEWMV
)
{
MV
best_mv
[
2
];
for
(
i
=
0
;
i
<
1
+
has_second_ref
(
mbmi
);
++
i
)
best_mv
[
i
]
=
mbmi
->
ref_mvs
[
mbmi
->
ref_frame
[
i
]][
0
].
as_mv
;
vp9_update_mv_count
(
cm
,
xd
,
best_mv
);
}
vp9_update_mv_count
(
cm
,
xd
);
if
(
cm
->
interp_filter
==
SWITCHABLE
)
{
const
int
ctx
=
vp9_get_pred_context_switchable_interp
(
xd
);
...
...
@@ -1462,7 +1457,6 @@ static int sb_has_motion(const VP9_COMMON *cm, MODE_INFO **prev_mi_8x8) {
static
void
update_state_rt
(
VP9_COMP
*
cpi
,
const
PICK_MODE_CONTEXT
*
ctx
,
int
mi_row
,
int
mi_col
,
int
bsize
)
{
int
i
;
VP9_COMMON
*
const
cm
=
&
cpi
->
common
;
MACROBLOCK
*
const
x
=
&
cpi
->
mb
;
MACROBLOCKD
*
const
xd
=
&
x
->
e_mbd
;
...
...
@@ -1480,14 +1474,8 @@ static void update_state_rt(VP9_COMP *cpi, const PICK_MODE_CONTEXT *ctx,
vp9_init_plane_quantizers
(
cpi
,
x
);
}
if
(
is_inter_block
(
mbmi
))
{
if
(
mbmi
->
sb_type
<
BLOCK_8X8
||
mbmi
->
mode
==
NEWMV
)
{
MV
best_mv
[
2
];
for
(
i
=
0
;
i
<
1
+
has_second_ref
(
mbmi
);
++
i
)
best_mv
[
i
]
=
mbmi
->
ref_mvs
[
mbmi
->
ref_frame
[
i
]][
0
].
as_mv
;
vp9_update_mv_count
(
cm
,
xd
,
best_mv
);
}
vp9_update_mv_count
(
cm
,
xd
);
if
(
cm
->
interp_filter
==
SWITCHABLE
)
{
const
int
pred_ctx
=
vp9_get_pred_context_switchable_interp
(
xd
);
...
...
vp9/encoder/vp9_encodemv.c
View file @
33469800
...
...
@@ -229,22 +229,21 @@ void vp9_build_nmv_cost_table(int *mvjoint, int *mvcost[2],
build_nmv_component_cost_table
(
mvcost
[
1
],
&
ctx
->
comps
[
1
],
usehp
);
}
static
void
inc_mvs
(
const
int_mv
mv
[
2
],
const
MV
ref
[
2
],
int
is_compound
,
static
void
inc_mvs
(
const
MB_MODE_INFO
*
mbmi
,
const
int_mv
mvs
[
2
]
,
nmv_context_counts
*
counts
)
{
int
i
;
for
(
i
=
0
;
i
<
1
+
is_compound
;
++
i
)
{
const
MV
diff
=
{
mv
[
i
].
as_mv
.
row
-
ref
[
i
].
row
,
mv
[
i
].
as_mv
.
col
-
ref
[
i
].
col
};
for
(
i
=
0
;
i
<
1
+
has_second_ref
(
mbmi
);
++
i
)
{
const
MV
*
ref
=
&
mbmi
->
ref_mvs
[
mbmi
->
ref_frame
[
i
]][
0
].
as_mv
;
const
MV
diff
=
{
mvs
[
i
].
as_mv
.
row
-
ref
->
row
,
mvs
[
i
].
as_mv
.
col
-
ref
->
col
};
vp9_inc_mv
(
&
diff
,
counts
);
}
}
void
vp9_update_mv_count
(
VP9_COMMON
*
cm
,
const
MACROBLOCKD
*
xd
,
const
MV
best_ref_mv
[
2
])
{
void
vp9_update_mv_count
(
VP9_COMMON
*
cm
,
const
MACROBLOCKD
*
xd
)
{
const
MODE_INFO
*
mi
=
xd
->
mi_8x8
[
0
];
const
MB_MODE_INFO
*
const
mbmi
=
&
mi
->
mbmi
;
const
int
is_compound
=
has_second_ref
(
mbmi
);
nmv_context_counts
*
counts
=
&
cm
->
counts
.
mv
;
if
(
mbmi
->
sb_type
<
BLOCK_8X8
)
{
const
int
num_4x4_w
=
num_4x4_blocks_wide_lookup
[
mbmi
->
sb_type
];
...
...
@@ -255,11 +254,12 @@ void vp9_update_mv_count(VP9_COMMON *cm, const MACROBLOCKD *xd,
for
(
idx
=
0
;
idx
<
2
;
idx
+=
num_4x4_w
)
{
const
int
i
=
idy
*
2
+
idx
;
if
(
mi
->
bmi
[
i
].
as_mode
==
NEWMV
)
inc_mvs
(
mi
->
bmi
[
i
].
as_mv
,
best_ref_mv
,
is_compound
,
counts
);
inc_mvs
(
mbmi
,
mi
->
bmi
[
i
].
as_mv
,
&
cm
->
counts
.
mv
);
}
}
}
else
if
(
mbmi
->
mode
==
NEWMV
)
{
inc_mvs
(
mbmi
->
mv
,
best_ref_mv
,
is_compound
,
counts
);
}
else
{
if
(
mbmi
->
mode
==
NEWMV
)
inc_mvs
(
mbmi
,
mbmi
->
mv
,
&
cm
->
counts
.
mv
);
}
}
vp9/encoder/vp9_encodemv.h
View file @
33469800
...
...
@@ -28,8 +28,7 @@ void vp9_encode_mv(VP9_COMP *cpi, vp9_writer* w, const MV* mv, const MV* ref,
void
vp9_build_nmv_cost_table
(
int
*
mvjoint
,
int
*
mvcost
[
2
],
const
nmv_context
*
mvctx
,
int
usehp
);
void
vp9_update_mv_count
(
VP9_COMMON
*
cm
,
const
MACROBLOCKD
*
xd
,
const
MV
best_ref_mv
[
2
]);
void
vp9_update_mv_count
(
VP9_COMMON
*
cm
,
const
MACROBLOCKD
*
xd
);
#ifdef __cplusplus
}
// extern "C"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment