[XviD-devel] Improving encoding speed with additional information

Peter Bergmann bergmann.peter at gmx.net
Sun Feb 6 11:05:34 CET 2005


Was this question too complicated or is there a better place to
ask for this information  ? hrmpff.

Peter Bergmann wrote:

> Dear all,
>
> I'm writing a simple xvid streaming backend for an animation application.
> (Moving rectangles, fonts and other primitives, small icons and images
> flying around the screen and stuff like that)
> I've already "encoded" the information into vnc using libvncserver. 
> Actually this was working very well but the bandwidth was very high with
> vnc when many images were involved.
>
> Now I've done an experiment: I've played a 10 minute animation and
> everytime my animation screen changed (something was drwan, moved, ...)
> I converted the rgb data to yuv(2:4:0) and feeded the frame via stdin to
> the xvid_encore sample and redirected the m4v data into a file.
>
> I've played this m4v file with ffplay (from ffmpeg) and the result was
> great. But the best result was the size compared to vnc: 50%!!
>
> The only disadvantage is the cpu time which is very hight compared
> to the vnc encoder.
>
> Now my questions:
>
> 1)
> Compared to video data I have very small changes from frame to frame
> because most parts of the screen do not change at all. What are the 
> best (speed/quality) xvid encoding parameters for such
> "video data" ?
>
> 2)
> I have a big advantage: I do know exactly which parts (rectangle area) 
> of the new frame has changed compared to the previous one. So there 
> should be no need for xvid to analyse the complete frame!
> Is there a way to "help" the encoder using this information?
> How can I tell xvid which areas did not or did change ?
> How much cpu could be save?
>
> Thanks a lot!
>
> Cheers,
> Pet



More information about the XviD-devel mailing list