[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
way.
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