Git Product home page Git Product logo

Comments (7)

rillian avatar rillian commented on August 26, 2024

I don't know of anyone working on 2-pass rate control for Vorbis.

Can you share a use case for this? Usually two-pass is used to maximize quality within a strictly limited number of bytes, but vorbis is transparent at any current media readout or broadband streaming bitrate.

from vorbis.

zvezdochiot avatar zvezdochiot commented on August 26, 2024

It is not so easy to answer your question.

Additional regulators (multipliers) are introduced into the coding system, initially equal to 1. Depending on where they are entered, the corresponding statistics are collected on the first pass. There is also a flag system that determines which regulatorswill be enabled. Based on statistics, the values of the regulators are calculated. In general, this system is empirical in nature and cannot be fully described using a certain theory.

PS: For stability, the values of the regulators are usually calculated by delta-functions:

regulator =  (freg) ? (1.0f + min(abs(f(stat)),deltaMax)*sign(f(stat))) : 1.0f;

from vorbis.

zvezdochiot avatar zvezdochiot commented on August 26, 2024

ℹī¸ The general meaning of multi-pass coding: to partially transfer control of the coding process to the sound itself (feedback).

PS: Multi-pass is no magic.

from vorbis.

rillian avatar rillian commented on August 26, 2024

I understand what 2-pass encoding is. I do not understand why you want it for vorbis. Can you explain why it would be good?

from vorbis.

zvezdochiot avatar zvezdochiot commented on August 26, 2024

Encoding, in which nothing is known about the encoded signal, in no way can have little bad. Only the encoding of a known signal (statistics accumulated) can have little bad.

PS: little bad != best || good

from vorbis.

rillian avatar rillian commented on August 26, 2024

Well yes, but as you say, multi-pass encoding is not magic. It doesn't make every encoding better.

Two passes are only helpful to adjust the bitrate for different sections to meet some external constraint. That's typically only useful for video because video data is so large, so one might want either to avoid overwhelming someone's network bandwidth, or to exactly fill some distribution medium like a video disk. Those constraints mean video is often compressed so heavily that it's visible. You really are trying to spread around the bad so it's less noticeable.

What the current vorbis encoder does instead is just to make the file a little bigger for every piece that is harder to encode. This works fine since audio is so much smaller. Why doesn't that work for you?

from vorbis.

zvezdochiot avatar zvezdochiot commented on August 26, 2024

This "good" only works at high bitrates.

from vorbis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤ī¸ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.