From: Paulo V. <vic...@gm...> - 2008-09-23 18:38:03
|
Hi Mihai, First I'll try to set key frame frequency to 2^3 (to use an Intra-coded picture after 8-1 predictive-coded pictures) -Thus 8/15s between them or other values to that. Do you know if theora will have a built in support for slices as well as picture type (P,B) loss/detection mechanism? Thank you Paulo On Tue, Sep 23, 2008 at 1:01 PM, Mihai Balea <mi...@ha...> wrote: > Hi Paulo, > > The current deslicer code does drop incomplete frames, you can check > lib/slice.c. As for out of order slices, the jitterbuffer in iaxclient > should help re-order them and the deslicer itself has some primitive > re-ordering features. > > The problem, however, goes deeper than that. With most video codecs, > Theora included, only key frames (i-frames) are independent, all other > frames (p-frames) depend on the previous ones to display correctly. So if > you lose one frame, all the following p-frames up to the next key frame will > display incorrectly. Some codecs, like H.264 are designed to cope with the > loss of some frame fragments, but unfortunately Theora has no such > provisions. There is no easy way to fix this, the only reasonable solution > is to increase the key frame frequency so that the codec at least recovers > quickly enough. Right now, iaxclient sets the key frame frequency to 1 per > second, you can change that in codec_theora.c, in codec_video_theora_new(). > > As an alternative, you could try to freeze video until a new keyframe > arrives, but that might be actually worse than the problem. It might require > some changes in codec_theora.c and slice.c, but you could experiment with > it, see what works for you. > > Hope this helps, > > Mihai > > > On Sep 23, 2008, at 11:15 AM, Paulo Vicentini wrote: > > Hi, >> I am using 2.1beta3 with video support (theora codec). >> Sometimes I am getting (probably due network actions- packet loss / delay) >> a distortion in the video image degrading its quality and I think it is >> something related to the video slices / chunks (dropped or disordered) of >> the entire frame. >> Is there a way to detect a "problematic frame" - whose chunks are missing >> or disordered and drop it rather than display it? >> >> Thanks >> >> Paulo >> >> >> >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's >> challenge >> Build the coolest Linux based applications with Moblin SDK & win great >> prizes >> Grand prize is a trip for two to an Open Source event anywhere in the >> world >> >> http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________ >> Iaxclient-devel mailing list >> Iax...@li... >> https://lists.sourceforge.net/lists/listinfo/iaxclient-devel >> > > |