[theora-dev] Dynamic Change Parameters..

Asanka Dilruk adilruk at gmail.com
Fri Feb 1 04:23:43 PST 2008

I wanna use the theora codec for a point to point video chat in an optimum
So my plan is to develop theora as it's compression is sensitive with the
available network bandwidth (Change the compression ratios dynamically).
I am trying to implement this functionality in to theora.

On Feb 1, 2008 4:44 PM, <xiphmont at xiph.org> wrote:

> On Feb 1, 2008 5:29 AM, Asanka Dilruk <adilruk at gmail.com> wrote:
> > I am going to improve theora codec with dynamically changing way. In
> this
> > case we want to change compression parameters like video_q
> Although the mainline encoder does not currently treat it this way,
> the video_q is intended to work like a Lagrange multiplier, and the
> internal qi is adjusted to optimize the actual encoding mode to match
> the desired R/D tradeoff.
> There are two ways to govern encoding with theora; one is to set up a
> bitrate range to which it must stick (the lagrange multiplier and qi
> both are manipulated internally to match a bitrate traget) and a
> constant-quality mode where the lagrange multiplier is fixed and the
> qi (actually, three qis for a given frame) are chosen to acheive the
> best possible rate/distortion ratio.
> In neither case should the application be manipulating the qi directly
> on the fly.
> > sharpness
> The 'sharpness' parameter, as provided by VP3 and passed through to
> the Theora api in the mainline, is essentially nonfunctional.  I'm not
> sure why On2 called it 'sharpness' but that's not what it did.  In the
> 'Thusnelda' encoder, which will become the new mainline encoder
> shortly, there is no such setting.
> Actual sharpness control is acheived by manipulating the quantization
> matricies and process, something that has deep-reaching effects on
> every aspect of the codec's tuning.  These numbers are not altered
> lightly (although they can be altered, and in fact should/probably
> will be altered considerably from what they currently are).
> > keyframe is generated.
> Again, a toplevel application has very little business making ths
> decision.  Keyframes are generated for only two reasons: The max
> interval between keyframes has passed, or a keyframe would require
> fewer bits than a P frame.  Only the theora internals have any way of
> knowing this information.  A Keyframe (I frame) and a P frame will
> have the same distortion characteristics.  A keyframe is not higher
> quality than P frame, just (usually) bigger and allows seeking.
> > When i set video quality parameter using
> > cpi->pb.info.quality in CommpressKeyFrame in encoder_toplevel it will
> not
> > change dynamically. Can you please help me to do this. Wich function
> should
> > i cange to achieve my objective....
> You have not actually stated your objective, just what you're
> attemting to do with theora (which is not going to work, at least not
> as you describe).
> Could you explain the end funtionality you're attempting to acheive
> (ie, what you're really trying to do, not how you're trying to do it)?
> Monty

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/theora-dev/attachments/20080201/5fc43a6f/attachment.htm

More information about the theora-dev mailing list