Dan Dennedy [Wed, 3 Feb 2010 07:20:22 +0000 (23:20 -0800)]
Add fetching previous and next frames in producers.
This is only enabled when the property need-previous-next is set true on
the producer. This also adds firing a service-changed event on the
filter when it gets attached so the filter can set this property on the
producer to which it is attached. These frame references are set as
"previous frame" and "next frame" properties on the current frame. It is
also important to note that these frames do not have ANY filters applied
to them, which is important for YADIF and telecide filters, which
process before all other filters.
Dan Dennedy [Sun, 17 Jan 2010 02:08:13 +0000 (18:08 -0800)]
Add apre, fpre, and vpre properties to avformat consumer.
These read ffmpeg preset files, which is really handy for x264 encoding
on the command line. They require the full path to the file unlike the
ffmpeg utility. apre is for audio, vpre is for video, and fpre is for
the format/muxer.
Dan Dennedy [Thu, 17 Dec 2009 05:19:33 +0000 (21:19 -0800)]
Add mlt_service_cache_purge and remove purge in mlt_service_close.
The avformat producer holds references to cache items within frame
objects. This means mlt_service_close can not purge the cache because
frames may be closed after the producer.
Dan Dennedy [Tue, 15 Dec 2009 06:20:44 +0000 (22:20 -0800)]
Revert a bunch of changes made to SDL for VDPAU.
This set of changes conflicted with Kdenlive, which requires two
consumers that need to release SDL on stop. Now, VDPAU support does not
need SDL as it gets its own X11 Display pointer.
Dan Dennedy [Mon, 14 Dec 2009 03:40:40 +0000 (19:40 -0800)]
Fix for when actual channels does not match requested.
This typically only happens when using audio_index=all on the avformat
producer.
This also adds a audio_offset property to the sdl consumer to help with
testing audio_index. It takes a numeric value in units of channels over
which to skip.
Dan Dennedy [Mon, 14 Dec 2009 00:59:23 +0000 (16:59 -0800)]
Add producer variant avformat-novalidate.
The purpose of this is to increase the speed of loading playlists with
known good files. Use with care. This assumes a few properties have been
set, in particular "length." This was only tested thus far by modifying
the output of consumer xml to change mlt_service from "avformat" to
"avformat-novalidate".
Dan Dennedy [Sun, 29 Nov 2009 01:13:01 +0000 (17:13 -0800)]
Add support for decoding H.264 with VDPAU.
This applies to all H.264 at the moment unless novdpau=1 is set on the
producer. Also, this can only handle up to about 10 - 15 clips using
VDPAU in the project at the moment until the avformat producer is
changed to use mlt_cache.
Dan Dennedy [Sun, 29 Nov 2009 01:08:13 +0000 (17:08 -0800)]
Make the SDL consumer cooperate with VDPAU.
This moves the SDL_Quit calls from the consumer_stop to the
consumer_close functions. Also, it exports the X11 Display pointer to
the mlt_environment and the global SDL mutex to the consumer class.
Dan Dennedy [Wed, 2 Dec 2009 06:38:30 +0000 (22:38 -0800)]
Fix distorting aspect ratio of images with crop.
Unfortunately, this has the side effect of breaking the crop extents of
existing projects when crop was applied to an image or image sequence.
However, those projects were using a distorting version of crop and
would need to be revised anyways.
Dan Dennedy [Sat, 21 Nov 2009 08:04:39 +0000 (00:04 -0800)]
Fix seek on some AVCHD causing infinite loop.
This detects when libavformat starts to consistently report invalid PTS
and then will disable Ivan's new_seek code. In the example file I have
this only happens when seeking backwards, which typically implies an
interactive use case (except when using framebuffer with speed < 0).
Then, it should still use the new_seek when simply apply an in point to
allow for a clean, accurate cut.