v0.4.8 released
Dec 8, 2009
This is mainly a maintenance release. Besides bug fixes here are other
notable changes.
Modules
- avformat producer:
- refactored producer to use much less properties
- added support for audio_index=all for linsys_sdi consumer
- added force_fps property (does yet not adjust duration)
- core/crop: added "center" property to crop filter
- linsys_sdi:
- added support for >2 audio channels
- added property meta.map.audio.<N>.channels=<integer>
- added property meta.map.audio.<N>.start=<integer>
- qimage/kdenlivetitle: add typewriter effect
VDPAU
Nov 30, 2009
Last week I added support for VDPAU decoding of H.264. This is working and stable, but it is not yet pushed to the public Git repository. Currently, one can only load about 10-20 AVCHD clips - depending upon video memory. I have to refactor the FFmpeg (avformat) module to take advantage of the new LRU mlt_cache. Previously, this was difficult due to all the numerous properties it was using. Well, just after the 0.4.6 release, I had refactored it to use a mlt_producer child structure. This was done partly to be more efficient and gave me an opportunity to have a thorough re-review of this code before embarking on a major change I promised in exchange for getting the Linsys SDI consumer as open source and a card with which to test it. I know; I am rambling. The point is that it should be fairly easy to now make it use the cache, which means it will also be possible to support hundreds of clips in a project with random access. (Previously, hundreds could only be supported for sequential access by usage of the autoclose=1 property on the playlist object.)
Whew! OK, now for the not-so-great part. I was hoping this could give a good performance boost especially for seeking as that took a major hit in performance in 0.4.6 in exchange for accuracy and quality. Unfortunately, on my MacBook Pro with a Geforce 8600M GT, I am only seeing about a one second improvement in seek performance and this is without disabling the in-loop deblocking filter on the CPU test. I see about 33% improvement in time to simply decode frames as-fast-as-possible and about a 10% reduction in CPU utilization during real-time playback. Why is this? Well for one, MLT uses packed 4:2:2 for its Y'CbCr colorspace and even though the API seems to indicate it can provide this, neither of my 2 systems that can support VDPAU can provide this. Therefore, it must still do a colorspace conversion on the CPU. The overhead of sending the bitstream to the GPU and especially receiving the uncompressed decoded image back into system memory seems to counter-compensate the gains provided by the GPU. I do plan to keep this code and try to integrate the deinterlacer and perhaps some other filters to make it more compelling. However, it means I am going to wait until after today's release to further it and make it available.
v0.4.6 released
Oct 7, 2009
This release is an enhancement release along with numerous build, A/V synch, concurrency, and other bug fixes.
configure: new option --avformat-svn-version
Modules
- avformat: much improved seeking on H.264/MPEG2-TS (AVCHD) (Ivan Schreter)
- core: new imageconvert and audioconvert filters (framework refactorization)
- linsys: new SDI consumer (Broadcast Centre Europe)
- qimage: new kdenlivetitle producer (J.B. Mardelle and Marco Gittler)
- sdl: new audio_only consumer for OS X
mlt++ and swig: update bindings
Framework
- refactored image format conversion
- mlt_frame.h:
- added convert_image() virtual function
- added mlt_image_format_name()
- removed many mlt_convert_ and scaling/padding functions
- refactored audio format conversion
- mlt_frame.h:
- mlt_get_audio() virtual function parameters changed
- added convert_audio() virtual function
- mlt_frame_get_audio() parameters changed
- added mlt_frame_set_audio()
- added mlt_audio_format_name()
- mlt_types.h:
- deprecated mlt_audio_pcm
- added mlt_audio_s16
- added mlt_audio_s32
- added mlt_audio_float
Kdenlive on Mac OS X
Sep 9, 2009
It lives! For a while now, MLT has worked on Mac OS X, but it was not possible to embed the MLT video window into a native Carbon or Cocoa application. However, with a new SDL audio-only consumer, an application can retrieve the image in a MLT frame-show event handler and paint it as desired. In the case of Kdenlive, I used a custom QGLWidget:
http://www.kdenlive.org/forum/kdenlive-macosx-available-testing#comment-4663
Free/Open Source SDI plugin now available
Sep 9, 2009
Thanks to Linsys and Broadcast Centre Europe, MLT Git trunk now features a fully open source SDI output capability. Whereas the closed BlueFish444 module also supports HD, this is currently SD only.