Tuesday, February 16, 2010

version 0.5.0 released

This is an enhancement release, confined mainly to the modules rather than the framework. In particular, this adds support for VDPAU, YADIF, and HD-SDI technologies!

configure: added --disable-sse2

  • mlt_cache: added mlt_cache_set_size()
  • mlt_filter: added data property "service" - set when attached
  • mlt_frame:
    • added Doxygen docs
    • added "previous frame" and "next frame" data properties - available when its producer has _need_previous_next=1
  • mlt_playlist: added support for negative out point same as length-1
  • mlt_service:
    • added mlt_service_cache_purge()
    • added "_need_previous_next" handling in mlt_service_get_frame()
    • added firing event "service-changed" in mlt_service_attach()
  • avformat producer:
    • added decoding H.264 with NVIDIA VDPAU
      Requires FFmpeg built with vdpau. This is automatically detected and enabled. You can disable this by setting environment variable MLT_NO_VDPAU=1 or property novdpau=1.
    • added caching of FFmpeg contexts and decoded images
      This allows large numbers of clips in a project avoiding limitations with number of threads and file descriptors permitted per process. You can disable image caching with property noimagecache=1.
    • added variant of producer named avformat-novalidate
    • restored support for video4linux(2)
  • avformat consumer: added apre, fpre, and vpre preset properties
  • crop filter: added center_bias integer property
  • deinterlace filter: added the excellent YADIF as a method
  • kdenlivetitle producer: added text outlining
  • linsys/sdi consumer:
    • added support for HD-SDI
    • changed name from "linsys_sdi" to just "sdi"
  • oldfilm filter: added "uneven development" effect
  • xml producer: add support for unspecified out points
  • added several missing ATSC (HD) profiles
  • change descriptions from using Hz to fps

Friday, February 5, 2010


Since its inception, MLT has been limping along on linear-blending for deinterlacing, but I just added the world-class YADIF deinterlace filter! It is not a new MLT filter that you need to manually apply; rather, it is integrated with the existing one. It is the new default when you are not playing through SDL (i.e. Kdenlive and OpenShot). SDL defaults to linear interpolation (i.e. onefield), which is faster and will not making seeking on AVCHD suck any more than it already does. Encoding through avformat and SDI outputs default to YADIF (which, of course, gets applied only when required).

This took quite a bit of work because this filter requires the preceding and following frames' images to the current frame being processed, and the framework was not equipped to provide that. Also, there were quite a few pitfalls along the way.