On 31/12/2008, at 10:05 AM, Art Clarke wrote:
>
> Hi Ash,
>
> If you want the encoder to just drop frames to meet a frame rate, drop
> them yourself is the easiest way since you pass each frame to be
> encoded in :)
>
> For example, if you've decoded 30fps video, and want to encode 15fps,
> only encode every 2nd frame.

This is a horribly simplistic approach to frame rate conversion and  
results in jerky motion.

Frame rate conversion is an art and not even the most expensive  
converters get it right.

There are 3 main types of conversion.

* Frame duplication/dropping.  The easiest and least CPU intensive.  
results in sharp images but jerky motion.

yuvfps can be found as part of the mjpeg tools
http://mjpeg.sourceforge.net/

* Frame blending.   moderate coding and cpu requirements.  results in  
smoother motion and sometimes blurring images.  Is preferable to frame  
duplication.  Most NLE software will perform this sort of conversion  
on the fly.

http://silicontrip.net/~mark/lavtools/index.php#yuvafps


* Motion Compensation.  This is the most difficult to code and  
requires the most cpu.  Tries to estimate the motion between frames to  
produce in between frames.  Introduces it's own style of artefacts.  
Currently can not be done realtime, with today's cpus anyway.

http://jcornet.free.fr/linux/yuvmotionfps.html

Just opening up another can of worms!

Mark
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to