Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Xiph.Org
aom-rav1e
Commits
46441ec5
Commit
46441ec5
authored
Jul 10, 2014
by
Yunqing Wang
Committed by
Gerrit Code Review
Jul 10, 2014
Browse files
Options
Browse Files
Download
Plain Diff
Merge "Refactor refining_search_sad code"
parents
51e9788e
30117a57
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1 addition
and
47 deletions
+1
-47
vp9/common/vp9_rtcd_defs.pl
vp9/common/vp9_rtcd_defs.pl
+1
-2
vp9/encoder/vp9_mcomp.c
vp9/encoder/vp9_mcomp.c
+0
-45
No files found.
vp9/common/vp9_rtcd_defs.pl
View file @
46441ec5
...
...
@@ -786,8 +786,7 @@ $vp9_full_search_sad_sse3=vp9_full_search_sadx3;
$vp9_full_search_sad_sse4_1
=
vp9_full_search_sadx8
;
add_proto
qw/int vp9_refining_search_sad/
,
"
const struct macroblock *x, struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv
";
specialize
qw/vp9_refining_search_sad sse3/
;
$vp9_refining_search_sad_sse3
=
vp9_refining_search_sadx4
;
specialize
qw/vp9_refining_search_sad/
;
add_proto
qw/int vp9_diamond_search_sad/
,
"
const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv
";
specialize
qw/vp9_diamond_search_sad sse3/
;
...
...
vp9/encoder/vp9_mcomp.c
View file @
46441ec5
...
...
@@ -1334,51 +1334,6 @@ int vp9_refining_search_sad_c(const MACROBLOCK *x,
int
search_range
,
const
vp9_variance_fn_ptr_t
*
fn_ptr
,
const
MV
*
center_mv
)
{
const
MV
neighbors
[
4
]
=
{{
-
1
,
0
},
{
0
,
-
1
},
{
0
,
1
},
{
1
,
0
}};
const
MACROBLOCKD
*
const
xd
=
&
x
->
e_mbd
;
const
struct
buf_2d
*
const
what
=
&
x
->
plane
[
0
].
src
;
const
struct
buf_2d
*
const
in_what
=
&
xd
->
plane
[
0
].
pre
[
0
];
const
MV
fcenter_mv
=
{
center_mv
->
row
>>
3
,
center_mv
->
col
>>
3
};
unsigned
int
best_sad
=
fn_ptr
->
sdf
(
what
->
buf
,
what
->
stride
,
get_buf_from_mv
(
in_what
,
ref_mv
),
in_what
->
stride
)
+
mvsad_err_cost
(
x
,
ref_mv
,
&
fcenter_mv
,
error_per_bit
);
int
i
,
j
;
for
(
i
=
0
;
i
<
search_range
;
i
++
)
{
int
best_site
=
-
1
;
for
(
j
=
0
;
j
<
4
;
j
++
)
{
const
MV
mv
=
{
ref_mv
->
row
+
neighbors
[
j
].
row
,
ref_mv
->
col
+
neighbors
[
j
].
col
};
if
(
is_mv_in
(
x
,
&
mv
))
{
unsigned
int
sad
=
fn_ptr
->
sdf
(
what
->
buf
,
what
->
stride
,
get_buf_from_mv
(
in_what
,
&
mv
),
in_what
->
stride
);
if
(
sad
<
best_sad
)
{
sad
+=
mvsad_err_cost
(
x
,
&
mv
,
&
fcenter_mv
,
error_per_bit
);
if
(
sad
<
best_sad
)
{
best_sad
=
sad
;
best_site
=
j
;
}
}
}
}
if
(
best_site
==
-
1
)
{
break
;
}
else
{
ref_mv
->
row
+=
neighbors
[
best_site
].
row
;
ref_mv
->
col
+=
neighbors
[
best_site
].
col
;
}
}
return
best_sad
;
}
int
vp9_refining_search_sadx4
(
const
MACROBLOCK
*
x
,
MV
*
ref_mv
,
int
error_per_bit
,
int
search_range
,
const
vp9_variance_fn_ptr_t
*
fn_ptr
,
const
MV
*
center_mv
)
{
const
MACROBLOCKD
*
const
xd
=
&
x
->
e_mbd
;
const
MV
neighbors
[
4
]
=
{{
-
1
,
0
},
{
0
,
-
1
},
{
0
,
1
},
{
1
,
0
}};
const
struct
buf_2d
*
const
what
=
&
x
->
plane
[
0
].
src
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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