Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guillaume Martres
aom-rav1e
Commits
a8015e21
Commit
a8015e21
authored
May 12, 2015
by
Yaowu Xu
Committed by
Gerrit Code Review
May 12, 2015
Browse files
Merge "Protect new metric computation with use_highbitdepth flag"
parents
5c02f88a
3f42d108
Changes
1
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_encoder.c
View file @
a8015e21
...
...
@@ -4216,7 +4216,7 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags,
vp9_clear_system_state
();
#if CONFIG_VP9_HIGHBITDEPTH
calc_highbd_psnr
(
orig
,
pp
,
&
psnr
,
cpi
->
td
.
mb
.
e_mbd
.
bd
,
calc_highbd_psnr
(
orig
,
pp
,
&
psnr
2
,
cpi
->
td
.
mb
.
e_mbd
.
bd
,
cpi
->
oxcf
.
input_bit_depth
);
#else
calc_psnr
(
orig
,
pp
,
&
psnr2
);
...
...
@@ -4267,31 +4267,38 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags,
}
}
if
(
cpi
->
b_calculate_blockiness
)
{
double
frame_blockiness
=
vp9_get_blockiness
(
cpi
->
Source
->
y_buffer
,
cpi
->
Source
->
y_stride
,
cm
->
frame_to_show
->
y_buffer
,
cm
->
frame_to_show
->
y_stride
,
cpi
->
Source
->
y_width
,
cpi
->
Source
->
y_height
);
cpi
->
worst_blockiness
=
MAX
(
cpi
->
worst_blockiness
,
frame_blockiness
);
cpi
->
total_blockiness
+=
frame_blockiness
;
#if CONFIG_VP9_HIGHBITDEPTH
if
(
!
cm
->
use_highbitdepth
)
#endif
{
double
frame_blockiness
=
vp9_get_blockiness
(
cpi
->
Source
->
y_buffer
,
cpi
->
Source
->
y_stride
,
cm
->
frame_to_show
->
y_buffer
,
cm
->
frame_to_show
->
y_stride
,
cpi
->
Source
->
y_width
,
cpi
->
Source
->
y_height
);
cpi
->
worst_blockiness
=
MAX
(
cpi
->
worst_blockiness
,
frame_blockiness
);
cpi
->
total_blockiness
+=
frame_blockiness
;
}
}
if
(
cpi
->
b_calculate_consistency
)
{
double
this_inconsistency
=
vp9_get_ssim_metrics
(
cpi
->
Source
->
y_buffer
,
cpi
->
Source
->
y_stride
,
cm
->
frame_to_show
->
y_buffer
,
cm
->
frame_to_show
->
y_stride
,
cpi
->
Source
->
y_width
,
cpi
->
Source
->
y_height
,
cpi
->
ssim_vars
,
&
cpi
->
metrics
,
1
);
const
double
peak
=
(
double
)((
1
<<
cpi
->
oxcf
.
input_bit_depth
)
-
1
);
double
consistency
=
vpx_sse_to_psnr
(
samples
,
peak
,
#if CONFIG_VP9_HIGHBITDEPTH
if
(
!
cm
->
use_highbitdepth
)
#endif
{
double
this_inconsistency
=
vp9_get_ssim_metrics
(
cpi
->
Source
->
y_buffer
,
cpi
->
Source
->
y_stride
,
cm
->
frame_to_show
->
y_buffer
,
cm
->
frame_to_show
->
y_stride
,
cpi
->
Source
->
y_width
,
cpi
->
Source
->
y_height
,
cpi
->
ssim_vars
,
&
cpi
->
metrics
,
1
);
const
double
peak
=
(
double
)((
1
<<
cpi
->
oxcf
.
input_bit_depth
)
-
1
);
double
consistency
=
vpx_sse_to_psnr
(
samples
,
peak
,
(
double
)
cpi
->
total_inconsistency
);
if
(
consistency
>
0
.
0
)
cpi
->
worst_consistency
=
MIN
(
cpi
->
worst_
consistency
,
consistency
)
;
cpi
->
total_inconsistency
+=
this_inconsistency
;
if
(
consistency
>
0
.
0
)
cpi
->
worst_consistency
=
MIN
(
cpi
->
worst_consistency
,
consistency
);
cpi
->
total_inconsistency
+=
this_in
consistency
;
}
}
if
(
cpi
->
b_calculate_ssimg
)
{
...
...
@@ -4309,6 +4316,9 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags,
#endif // CONFIG_VP9_HIGHBITDEPTH
adjust_image_stat
(
y
,
u
,
v
,
frame_all
,
&
cpi
->
ssimg
);
}
#if CONFIG_VP9_HIGHBITDEPTH
if
(
!
cm
->
use_highbitdepth
)
#endif
{
double
y
,
u
,
v
,
frame_all
;
frame_all
=
vp9_calc_fastssim
(
cpi
->
Source
,
cm
->
frame_to_show
,
&
y
,
&
u
,
...
...
@@ -4316,6 +4326,9 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags,
adjust_image_stat
(
y
,
u
,
v
,
frame_all
,
&
cpi
->
fastssim
);
/* TODO(JBB): add 10/12 bit support */
}
#if CONFIG_VP9_HIGHBITDEPTH
if
(
!
cm
->
use_highbitdepth
)
#endif
{
double
y
,
u
,
v
,
frame_all
;
frame_all
=
vp9_psnrhvs
(
cpi
->
Source
,
cm
->
frame_to_show
,
&
y
,
&
u
,
&
v
);
...
...
Write
Preview
Supports
Markdown
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