Skip to content
This repository was archived by the owner on Nov 5, 2022. It is now read-only.

New libvpx version#82

Open
alvestrand wants to merge 3 commits into
masterfrom
new-libvpx-version
Open

New libvpx version#82
alvestrand wants to merge 3 commits into
masterfrom
new-libvpx-version

Conversation

@alvestrand
Copy link
Copy Markdown
Member

@alvestrand alvestrand commented Sep 5, 2016

This PR updates the libvpx binaries to version 1.6.0.

It doesn't address the problem of worsening performance, which is tracked in #86.

This invalidates a set of configurations because legal values for
VP9 "cpu-used" have changed, and require an update to the fixed-q
patch for VP8.

This touches a number of verification tools.

NOTE this commit: Verification tool work showed that the way
"verify_scores" works is not good. Another CL intended in order
to fix that problem.
This commit adds extensive reporting on what changed when a score
changes. It also fixes a bug where the old score would be used
for the new encoding.
The aq-mode and end-usage parameters have been recommended for
RT usage, so adding them.
@alvestrand
Copy link
Copy Markdown
Member Author

I think it's ready for review now.

@@ -139,8 +139,19 @@ static vpx_codec_err_t validate_config(vpx_codec_alg_priv_t *ctx,
RANGE_CHECK(cfg, g_timebase.den, 1, 1000000000);
RANGE_CHECK(cfg, g_timebase.num, 1, cfg->g_timebase.den);
RANGE_CHECK(cfg, g_timebase.num, 1, 1000000000);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this change?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the changes in vp8_fixed_q.patch are made by:

  • Applying the previous version of the patch
  • Finding out were the patch failed to apply
  • Adjusting the code until the non-applying part worked again

So this shouldn't be a change that I wrote, it should be a change from 1.3 to 1.6 in the file being patched. But I need to read the file really carefully to be sure that's the case!

Comment thread lib/vp9.py
self.extension = 'webm'
self.option_set = encoder.OptionSet(
encoder.IntegerOption('cpu-used', 0, 16),
encoder.IntegerOption('cpu-used', 0, 8),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this cpu-used change mean? The description in http://www.webmproject.org/docs/encoder-parameters/ seems a bit cryptic to me. Which is fancy words for that I don't understand it. :-)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They used to use the range 9..16 for experimental speedups. Now I think they use -8..-1 for the same purpose. I've cut off the upper numbers (which will invalidate the parameter sets that use those numbers).

Comment thread compile_tools.sh
#git checkout v1.3.0
# Check out the Oct 20 2014 version of libvpx.
git checkout 9c98fb2bab6125a0614576bf7635981163b1cc79
# git checkout 9c98fb2bab6125a0614576bf7635981163b1cc79
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about cleaning up these comments and commented out lines?

Comment thread bin/verify_scores
@@ -71,15 +74,30 @@ def VerifyOneTarget(codec_names, rate, videofile, old_scores, score):
result,
old_score if old_score else float('-inf'),
new_score if new_score else float('-inf'))
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again reminder to consider making this function testable.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants