Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
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
cdac4ad4
Commit
cdac4ad4
authored
Apr 01, 2013
by
Ronald S. Bultje
Committed by
Gerrit Code Review
Apr 01, 2013
Browse files
Merge "Calculate SSIM over both reconstruction as well as postproc buffer." into experimental
parents
e3955007
6dd6ffb0
Changes
2
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_onyx_if.c
View file @
cdac4ad4
...
...
@@ -1514,6 +1514,8 @@ VP9_PTR vp9_create_compressor(VP9_CONFIG *oxcf) {
cpi
->
tot_recode_hits
=
0
;
cpi
->
summed_quality
=
0
;
cpi
->
summed_weights
=
0
;
cpi
->
summedp_quality
=
0
;
cpi
->
summedp_weights
=
0
;
}
if
(
cpi
->
b_calculate_ssimg
)
{
...
...
@@ -1709,18 +1711,25 @@ void vp9_remove_compressor(VP9_PTR *ptr) {
if
(
cpi
->
b_calculate_psnr
)
{
YV12_BUFFER_CONFIG
*
lst_yv12
=
&
cpi
->
common
.
yv12_fb
[
cpi
->
common
.
ref_frame_map
[
cpi
->
lst_fb_idx
]];
double
samples
=
3
.
0
/
2
*
cpi
->
count
*
lst_yv12
->
y_width
*
lst_yv12
->
y_height
;
double
samples
=
3
.
0
/
2
*
cpi
->
count
*
lst_yv12
->
y_width
*
lst_yv12
->
y_height
;
double
total_psnr
=
vp9_mse2psnr
(
samples
,
255
.
0
,
cpi
->
total_sq_error
);
double
total_psnr2
=
vp9_mse2psnr
(
samples
,
255
.
0
,
cpi
->
total_sq_error2
);
double
total_ssim
=
100
*
pow
(
cpi
->
summed_quality
/
cpi
->
summed_weights
,
8
.
0
);
fprintf
(
f
,
"Bitrate
\t
AVGPsnr
\t
GLBPsnr
\t
AVPsnrP
\t
GLPsnrP
\t
VPXSSIM
\t
Time(ms)
\n
"
);
fprintf
(
f
,
"%7.2f
\t
%7.3f
\t
%7.3f
\t
%7.3f
\t
%7.3f
\t
%7.3f
\t
%8.0f
\n
"
,
dr
,
cpi
->
total
/
cpi
->
count
,
total_psnr
,
cpi
->
totalp
/
cpi
->
count
,
total_psnr2
,
total_ssim
,
double
total_ssim
=
100
*
pow
(
cpi
->
summed_quality
/
cpi
->
summed_weights
,
8
.
0
);
double
total_ssimp
=
100
*
pow
(
cpi
->
summedp_quality
/
cpi
->
summedp_weights
,
8
.
0
);
fprintf
(
f
,
"Bitrate
\t
AVGPsnr
\t
GLBPsnr
\t
AVPsnrP
\t
GLPsnrP
\t
"
"VPXSSIM
\t
VPSSIMP
\t
Time(ms)
\n
"
);
fprintf
(
f
,
"%7.2f
\t
%7.3f
\t
%7.3f
\t
%7.3f
\t
%7.3f
\t
%7.3f
\t
%7.3f
\t
%8.0f
\n
"
,
dr
,
cpi
->
total
/
cpi
->
count
,
total_psnr
,
cpi
->
totalp
/
cpi
->
count
,
total_psnr2
,
total_ssim
,
total_ssimp
,
total_encode_time
);
// fprintf(f, "%7.3f\t%7.3f\t%7.3f\t%7.3f\t%7.3f\t%7.3f\t%8.0f %10ld\n",
// dr, cpi->total / cpi->count, total_psnr, cpi->totalp / cpi->count, total_psnr2, total_ssim,
// total_encode_time, cpi->tot_recode_hits);
// fprintf(f, "%7.3f\t%7.3f\t%7.3f\t%7.3f\t%7.3f\t%7.3f\t%8.0f %10ld\n",
// dr, cpi->total / cpi->count, total_psnr,
// cpi->totalp / cpi->count, total_psnr2, total_ssim,
// total_encode_time, cpi->tot_recode_hits);
}
if
(
cpi
->
b_calculate_ssimg
)
{
...
...
@@ -3950,10 +3959,16 @@ int vp9_get_compressed_data(VP9_PTR ptr, unsigned int *frame_flags,
cpi
->
totalp
+=
frame_psnr2
;
frame_ssim2
=
vp9_calc_ssim
(
cpi
->
Source
,
&
cm
->
post_proc_buffer
,
1
,
&
weight
);
recon
,
1
,
&
weight
);
cpi
->
summed_quality
+=
frame_ssim2
*
weight
;
cpi
->
summed_weights
+=
weight
;
frame_ssim2
=
vp9_calc_ssim
(
cpi
->
Source
,
&
cm
->
post_proc_buffer
,
1
,
&
weight
);
cpi
->
summedp_quality
+=
frame_ssim2
*
weight
;
cpi
->
summedp_weights
+=
weight
;
#if 0
{
FILE *f = fopen("q_used.stt", "a");
...
...
vp9/encoder/vp9_onyx_int.h
View file @
cdac4ad4
...
...
@@ -640,6 +640,8 @@ typedef struct VP9_COMP {
int
bytes
;
double
summed_quality
;
double
summed_weights
;
double
summedp_quality
;
double
summedp_weights
;
unsigned
int
tot_recode_hits
;
...
...
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