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
Xiph.Org
aom-rav1e
Commits
26abc15e
Commit
26abc15e
authored
Oct 26, 2015
by
Paul Wilkins
Committed by
Gerrit Code Review
Oct 26, 2015
Browse files
Merge "Bug in clamping of base_frame_target."
parents
65dd056e
762c0f22
Changes
2
Hide whitespace changes
Inline
Side-by-side
vp9/encoder/vp9_firstpass.c
View file @
26abc15e
...
...
@@ -1183,10 +1183,13 @@ static int get_twopass_worst_quality(const VP9_COMP *cpi,
double
group_weight_factor
)
{
const
RATE_CONTROL
*
const
rc
=
&
cpi
->
rc
;
const
VP9EncoderConfig
*
const
oxcf
=
&
cpi
->
oxcf
;
// Clamp the target rate to VBR min / max limts.
const
int
target_rate
=
vp9_rc_clamp_pframe_target_size
(
cpi
,
section_target_bandwidth
);
inactive_zone
=
fclamp
(
inactive_zone
,
0
.
0
,
1
.
0
);
if
(
section_target_bandwidth
<=
0
)
{
if
(
target_rate
<=
0
)
{
return
rc
->
worst_quality
;
// Highest value allowed
}
else
{
const
int
num_mbs
=
(
cpi
->
oxcf
.
resize_mode
!=
RESIZE_NONE
)
...
...
@@ -1195,7 +1198,7 @@ static int get_twopass_worst_quality(const VP9_COMP *cpi,
const
double
av_err_per_mb
=
section_err
/
active_mbs
;
const
double
speed_term
=
1
.
0
+
0
.
04
*
oxcf
->
speed
;
const
double
ediv_size_correction
=
(
double
)
num_mbs
/
EDIV_SIZE_FACTOR
;
const
int
target_norm_bits_per_mb
=
((
uint64_t
)
section_target_bandwidth
<<
const
int
target_norm_bits_per_mb
=
((
uint64_t
)
target_rate
<<
BPER_MB_NORMBITS
)
/
active_mbs
;
int
q
;
...
...
@@ -2737,11 +2740,6 @@ void vp9_rc_get_second_pass_params(VP9_COMP *cpi) {
}
target_rate
=
gf_group
->
bit_allocation
[
gf_group
->
index
];
if
(
cpi
->
common
.
frame_type
==
KEY_FRAME
)
target_rate
=
vp9_rc_clamp_iframe_target_size
(
cpi
,
target_rate
);
else
target_rate
=
vp9_rc_clamp_pframe_target_size
(
cpi
,
target_rate
);
rc
->
base_frame_target
=
target_rate
;
{
...
...
vp9/encoder/vp9_ratectrl.c
View file @
26abc15e
...
...
@@ -1816,6 +1816,11 @@ void vp9_set_target_rate(VP9_COMP *cpi) {
RATE_CONTROL
*
const
rc
=
&
cpi
->
rc
;
int
target_rate
=
rc
->
base_frame_target
;
if
(
cpi
->
common
.
frame_type
==
KEY_FRAME
)
target_rate
=
vp9_rc_clamp_iframe_target_size
(
cpi
,
target_rate
);
else
target_rate
=
vp9_rc_clamp_pframe_target_size
(
cpi
,
target_rate
);
// Correction to rate target based on prior over or under shoot.
if
(
cpi
->
oxcf
.
rc_mode
==
VPX_VBR
||
cpi
->
oxcf
.
rc_mode
==
VPX_CQ
)
vbr_rate_correction
(
cpi
,
&
target_rate
);
...
...
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