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
2b9baca4
Commit
2b9baca4
authored
Aug 30, 2013
by
Paul Wilkins
Committed by
Gerrit Code Review
Aug 30, 2013
Browse files
Merge "Added per pixel inter rd hit count stats"
parents
e22bb0dc
1f4bf79d
Changes
3
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_onyx_if.c
View file @
2b9baca4
...
...
@@ -1725,6 +1725,10 @@ VP9_PTR vp9_create_compressor(VP9_CONFIG *oxcf) {
vp9_zero
(
cpi
->
y_uv_mode_count
)
#ifdef MODE_TEST_HIT_STATS
vp9_zero
(
cpi
->
mode_test_hits
)
#endif
return
(
VP9_PTR
)
cpi
;
}
...
...
@@ -1806,6 +1810,34 @@ void vp9_remove_compressor(VP9_PTR *ptr) {
#endif
#ifdef MODE_TEST_HIT_STATS
if
(
cpi
->
pass
!=
1
)
{
double
norm_per_pixel_mode_tests
=
0
;
double
norm_counts
[
BLOCK_SIZES
];
int
i
;
int
sb64_per_frame
;
int
norm_factors
[
BLOCK_SIZES
]
=
{
256
,
128
,
128
,
64
,
32
,
32
,
16
,
8
,
8
,
4
,
2
,
2
,
1
};
FILE
*
f
=
fopen
(
"mode_hit_stats.stt"
,
"a"
);
// On average, how many mode tests do we do
for
(
i
=
0
;
i
<
BLOCK_SIZES
;
++
i
)
{
norm_counts
[
i
]
=
(
double
)
cpi
->
mode_test_hits
[
i
]
/
(
double
)
norm_factors
[
i
];
norm_per_pixel_mode_tests
+=
norm_counts
[
i
];
}
// Convert to a number per 64x64 and per frame
sb64_per_frame
=
((
cpi
->
common
.
height
+
63
)
/
64
)
*
((
cpi
->
common
.
width
+
63
)
/
64
);
norm_per_pixel_mode_tests
=
norm_per_pixel_mode_tests
/
(
double
)(
cpi
->
common
.
current_video_frame
*
sb64_per_frame
);
fprintf
(
f
,
"%6.4f
\n
"
,
norm_per_pixel_mode_tests
);
fclose
(
f
);
}
#endif
#ifdef ENTROPY_STATS
{
int
i
,
j
,
k
;
...
...
vp9/encoder/vp9_onyx_int.h
View file @
2b9baca4
...
...
@@ -36,6 +36,8 @@
#define DISABLE_RC_LONG_TERM_MEM 0
#endif
// #define MODE_TEST_HIT_STATS
// #define SPEEDSTATS 1
#if CONFIG_MULTIPLE_ARF
// Set MIN_GF_INTERVAL to 1 for the full decomposition.
...
...
@@ -664,6 +666,12 @@ typedef struct VP9_COMP {
#ifdef ENTROPY_STATS
int64_t
mv_ref_stats
[
INTER_MODE_CONTEXTS
][
INTER_MODES
-
1
][
2
];
#endif
#ifdef MODE_TEST_HIT_STATS
// Debug / test stats
int64_t
mode_test_hits
[
BLOCK_SIZES
];
#endif
}
VP9_COMP
;
static
int
get_ref_frame_idx
(
VP9_COMP
*
cpi
,
MV_REFERENCE_FRAME
ref_frame
)
{
...
...
vp9/encoder/vp9_rdopt.c
View file @
2b9baca4
...
...
@@ -3341,6 +3341,12 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
continue
;
}
#ifdef MODE_TEST_HIT_STATS
// TEST/DEBUG CODE
// Keep a rcord of the number of test hits at each size
cpi
->
mode_test_hits
[
bsize
]
++
;
#endif
if
(
this_mode
==
I4X4_PRED
)
{
int
rate
;
...
...
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