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