]> git.sesse.net Git - mlt/log
mlt
10 years agoFix compile error on Windows.
Dan Dennedy [Mon, 17 Feb 2014 15:58:09 +0000 (07:58 -0800)]
Fix compile error on Windows.

10 years agoFix asm compilation on some versions of gcc.
Dan Dennedy [Sun, 16 Feb 2014 20:03:38 +0000 (12:03 -0800)]
Fix asm compilation on some versions of gcc.

10 years agoMove rotoscoping filter into plusgpl module.
Dan Dennedy [Sun, 16 Feb 2014 19:20:08 +0000 (11:20 -0800)]
Move rotoscoping filter into plusgpl module.

10 years agoMove burningtv into plusgpl module.
Dan Dennedy [Sun, 16 Feb 2014 19:10:22 +0000 (11:10 -0800)]
Move burningtv into plusgpl module.

10 years agoStart new plusgpl module from dgraft.
Dan Dennedy [Sun, 16 Feb 2014 18:57:12 +0000 (10:57 -0800)]
Start new plusgpl module from dgraft.

10 years agocheck result of header write
Maksym Veremeyenko [Sun, 16 Feb 2014 16:14:46 +0000 (18:14 +0200)]
check result of header write

10 years agoimplement SSE optimized swab function
Maksym Veremeyenko [Thu, 13 Feb 2014 14:27:23 +0000 (16:27 +0200)]
implement SSE optimized swab function

10 years agoadd frame drop explanation
Maksym Veremeyenko [Thu, 13 Feb 2014 14:23:32 +0000 (16:23 +0200)]
add frame drop explanation

10 years agoRefactor producer color to use mlt_properties_get_color().
Dan Dennedy [Sat, 15 Feb 2014 19:28:25 +0000 (11:28 -0800)]
Refactor producer color to use mlt_properties_get_color().

10 years agoFix regression in YUV/RGB luma scaling, commit 6834acd. (SF-204)
Dan Dennedy [Sat, 15 Feb 2014 19:25:58 +0000 (11:25 -0800)]
Fix regression in YUV/RGB luma scaling, commit 6834acd. (SF-204)

10 years agoAdd VP9 encode preset.
Dan Dennedy [Wed, 12 Feb 2014 20:14:21 +0000 (12:14 -0800)]
Add VP9 encode preset.

10 years agoRemove Flash binary.
Dan Dennedy [Wed, 12 Feb 2014 17:31:17 +0000 (09:31 -0800)]
Remove Flash binary.

10 years agoFix closing the render thread.
Dan Dennedy [Wed, 12 Feb 2014 07:55:33 +0000 (23:55 -0800)]
Fix closing the render thread.

This makes Windows happy when used in conjunction with qmelt.

10 years agoSet glsl_supported property to result of init_movit().
Dan Dennedy [Wed, 12 Feb 2014 07:07:05 +0000 (23:07 -0800)]
Set glsl_supported property to result of init_movit().

10 years agoAdjust for Movit moving into namespace movit.
Steinar H. Gunderson [Wed, 12 Feb 2014 01:05:30 +0000 (02:05 +0100)]
Adjust for Movit moving into namespace movit.

10 years agoMerge pull request #36 from jliljebl/rgblut
Dan Dennedy [Wed, 12 Feb 2014 03:41:21 +0000 (19:41 -0800)]
Merge pull request #36 from jliljebl/rgblut

Add rgblut filter

10 years agoUse filter properties instead of frame properties
Janne Liljeblad [Tue, 11 Feb 2014 07:25:39 +0000 (09:25 +0200)]
Use filter properties instead of frame properties

10 years agoChange this to frame or filter as appropriate
Janne Liljeblad [Tue, 11 Feb 2014 07:10:17 +0000 (09:10 +0200)]
Change this to frame or filter as appropriate

10 years agoChange expression half-comma to semicolon and fix typos
Janne Liljeblad [Tue, 11 Feb 2014 06:43:32 +0000 (08:43 +0200)]
Change expression half-comma to semicolon and fix typos

10 years agoOn Windows, ensure consumer-thread-create fires on caller thread.
Dan Dennedy [Tue, 11 Feb 2014 01:29:50 +0000 (17:29 -0800)]
On Windows, ensure consumer-thread-create fires on caller thread.

This is needed to get GPU processing working on Shotcut for Windows and
probably other Qt 5 apps. However, that causes some bad behavior with
Movit on Linux. So, this change is only on Windows for now.

10 years agoAdd rgblut filter
Janne Liljeblad [Mon, 10 Feb 2014 10:57:02 +0000 (12:57 +0200)]
Add rgblut filter

10 years agoFix build against libav master.
Dan Dennedy [Thu, 6 Feb 2014 06:48:30 +0000 (22:48 -0800)]
Fix build against libav master.

10 years agoMake program property mutable
Brian Matherly [Thu, 6 Feb 2014 03:30:14 +0000 (21:30 -0600)]
Make program property mutable

10 years agoFix build on Windows due to missing queue macros.
Dan Dennedy [Wed, 5 Feb 2014 15:44:07 +0000 (07:44 -0800)]
Fix build on Windows due to missing queue macros.

10 years agoFix COPYING file
Brian Matherly [Wed, 5 Feb 2014 13:34:05 +0000 (07:34 -0600)]
Fix COPYING file

10 years agoAdd new audio loudness filter based on EBU R128
Brian Matherly [Wed, 5 Feb 2014 04:38:07 +0000 (22:38 -0600)]
Add new audio loudness filter based on EBU R128

10 years agoIf LC_NUMERIC unsupported on OS, serialize XML with LC_NUMERIC=C.
Dan Dennedy [Sat, 1 Feb 2014 05:39:47 +0000 (21:39 -0800)]
If LC_NUMERIC unsupported on OS, serialize XML with LC_NUMERIC=C.

10 years agoIf LC_NUMERIC unsupported do not inadvertently change locale.
Dan Dennedy [Sat, 1 Feb 2014 05:37:10 +0000 (21:37 -0800)]
If LC_NUMERIC unsupported do not inadvertently change locale.

On Windows, we should be able to use _create_locale() and _free_locale()
but using them results in unresolved symbols linking on mingw 4.8.
Calling setlocale with fallback value of "" results in changing locale
to system-defined. With this change, on OS where LC_NUMERIC changing is
not supported we call with NULL, which makes the call passive.

10 years agoRemove the glsl_texture freelist.
Steinar H. Gunderson [Tue, 28 Jan 2014 20:34:36 +0000 (21:34 +0100)]
Remove the glsl_texture freelist.

Given that new/delete on such small objects are cheap and this happens
rarely, it is probably not worth the extra complexity. (In the process,
fix a minor bug related to out-of-memory; not that new will actually
ever return NULL on any compilers newer then MSVC6.)

10 years agoRemove the FBO freelist.
Steinar H. Gunderson [Tue, 28 Jan 2014 20:22:57 +0000 (21:22 +0100)]
Remove the FBO freelist.

FBOs are cheap to construct and delete (they carry almost no state),
so it is less complex just to do it on the fly. It also gives less
leakage, as we use new contexts all the time.

10 years agoTake MltInput out of the EffectChain.
Steinar H. Gunderson [Tue, 28 Jan 2014 19:00:35 +0000 (20:00 +0100)]
Take MltInput out of the EffectChain.

Having the MltInput be an Input which forwards down to the real implementation
has been a source of multiple headaches, and now lastly, when finalize()
disappeared, source of a broken build. We still need the unified
set_pixel_pointer() etc., but the class is now simply a holder of the Input*,
not a forwarder as viewed from the EffectChain.

10 years agoSave vidstab results to file.
Brian Matherly [Wed, 29 Jan 2014 18:44:09 +0000 (12:44 -0600)]
Save vidstab results to file.

Rather than save vidstab results (which can get quite large) in the properties, save them in a separate file.
Also redirect vid.stab log messages through the MLT logging system (sort of).

10 years agoRemove a debug line.
Dan Dennedy [Wed, 29 Jan 2014 07:00:26 +0000 (23:00 -0800)]
Remove a debug line.

10 years agoAdd xml_retain property support to xml module.
Dan Dennedy [Wed, 29 Jan 2014 06:40:53 +0000 (22:40 -0800)]
Add xml_retain property support to xml module.

This is used to serialize and deserialize extra services that are not
part of the lastmost service's graph. This is useful, for example, to
save and load a media bin as a playlist in addition to the main
multitrack graph. Or, it can be used for compound documents.

10 years agoFix Windows build against latest Movit.
Dan Dennedy [Tue, 28 Jan 2014 02:31:15 +0000 (18:31 -0800)]
Fix Windows build against latest Movit.

10 years agoFix underlinking opengl module needs pthread.
Dan Dennedy [Mon, 27 Jan 2014 15:44:06 +0000 (07:44 -0800)]
Fix underlinking opengl module needs pthread.

10 years agoUse GL_RBGA8 as internal format.
Steinar H. Gunderson [Sat, 25 Jan 2014 18:34:11 +0000 (19:34 +0100)]
Use GL_RBGA8 as internal format.

It is technically allowed to use GL_RGBA as internal format,
but then it is undefined whether you get 4-bit, 8-bit, 10-bit
or something else. Set it explicitly. (Since we give in a NULL
pointer, we can give whatever external format we want; just
hardcode it to GL_RGBA.)

10 years agoFix doc error for mlt_playlist_is_blank().
Dan Dennedy [Sun, 26 Jan 2014 21:58:44 +0000 (13:58 -0800)]
Fix doc error for mlt_playlist_is_blank().

10 years agoRemove pessimization in mlt_properties.
Steinar H. Gunderson [Sat, 18 Jan 2014 02:07:47 +0000 (03:07 +0100)]
Remove pessimization in mlt_properties.

This attempt at optimization is actually detrimental on modern CPUs.
Removing it helps playback speed ~0.3%. mlt_properties_get_data() is now
down to ~0.6%.

10 years agoReduce collisions in the mlt_properties hash function.
Steinar H. Gunderson [Sat, 18 Jan 2014 02:04:48 +0000 (03:04 +0100)]
Reduce collisions in the mlt_properties hash function.

10 years agoCall invalidate_pixel_data() after frame rendering.
Steinar H. Gunderson [Tue, 21 Jan 2014 22:46:04 +0000 (23:46 +0100)]
Call invalidate_pixel_data() after frame rendering.

This helps the input return its values back to the ResourcePool,
which means we won't be allocating ever more textures as we get
more clips on the timeline.

10 years agoUse the new ResourcePool Movit functionality.
Steinar H. Gunderson [Fri, 17 Jan 2014 21:34:14 +0000 (22:34 +0100)]
Use the new ResourcePool Movit functionality.

10 years agoPropertly refcount the GlslManager.
Steinar H. Gunderson [Fri, 24 Jan 2014 23:59:51 +0000 (00:59 +0100)]
Propertly refcount the GlslManager.

Makes sure it is not deleted before all the associated services
connected to it are.

10 years agoFix crash on audio only clip using uninialized mutex.
Dan Dennedy [Sat, 25 Jan 2014 06:58:11 +0000 (22:58 -0800)]
Fix crash on audio only clip using uninialized mutex.

This was reproducible on Windows using winpthreads, which apparently
does not gracefully handle calls on uninitialized mutexes.

10 years agoFix crash for mlt_audio_f32le and other formats that were not covered
Brian Matherly [Fri, 24 Jan 2014 18:54:58 +0000 (12:54 -0600)]
Fix crash for mlt_audio_f32le and other formats that were not covered

10 years agoWork around for vid.stab chroma skew when using 4:2:2
Brian Matherly [Wed, 22 Jan 2014 17:03:19 +0000 (11:03 -0600)]
Work around for vid.stab chroma skew when using 4:2:2

10 years agoAdd default format and extension to all DV presets.
Dan Dennedy [Tue, 21 Jan 2014 07:04:41 +0000 (23:04 -0800)]
Add default format and extension to all DV presets.

10 years agoFix acodec for MP3 preset.
Dan Dennedy [Tue, 21 Jan 2014 06:55:29 +0000 (22:55 -0800)]
Fix acodec for MP3 preset.

10 years agoFix aspect ratio if width or height are set after aspect property.
Dan Dennedy [Tue, 21 Jan 2014 06:47:24 +0000 (22:47 -0800)]
Fix aspect ratio if width or height are set after aspect property.

10 years agoFix a few problems with YCbCr colorspace conversion.
Dan Dennedy [Tue, 21 Jan 2014 06:34:50 +0000 (22:34 -0800)]
Fix a few problems with YCbCr colorspace conversion.

In avformat producer on libav (and FFmpeg < v2.1) conversion from RGB to
YCbCr would not use the destination colorspace because
sws_getColorspaceDetails() fails. Switch to calling only
sws_setColorspaceDetails().

In full luma yuvj420p->mlt_image_yuv420p conversion, the luma range was
always scaled down to MPEG range. The swscale implementation does not
let one override the range as the conversion routines are initialized at
the time a swscale context is allocated and initialized. Any changes in
sws_setColorspaceChanges() are mute.

In RGB->YCbCr conversion, the existing (source) colorspace was used
instead of the profile colorspace. Also, we need to set the new
colorspace as a property of the frame.

10 years agoFix configure script
Brian Matherly [Mon, 20 Jan 2014 22:24:28 +0000 (16:24 -0600)]
Fix configure script

10 years agoUpdates to vid.stab module.
Brian Matherly [Mon, 20 Jan 2014 02:51:30 +0000 (20:51 -0600)]
Updates to vid.stab module.

* Correct some metadata
* Remove "reset" property by making deshake properties mutable.
* Implement "reload" for vidstab for reloading results.
* Misc. changes for MLT consistency.

10 years agoFix crash on null eof string.
Dan Dennedy [Sun, 19 Jan 2014 21:10:01 +0000 (13:10 -0800)]
Fix crash on null eof string.

10 years agoAdd support for more image formats to vid.stab
Brian Matherly [Sat, 18 Jan 2014 04:21:10 +0000 (22:21 -0600)]
Add support for more image formats to vid.stab

10 years agoMake movit_mix ignore empty "mix" parameter strings.
Steinar H. Gunderson [Thu, 16 Jan 2014 23:47:19 +0000 (00:47 +0100)]
Make movit_mix ignore empty "mix" parameter strings.

Previously, the parameter would have to be entirely unset
(ie., NULL) for the transition progress to be used, which
was suboptimal in some cases.

10 years agoGive movit_mix's reverse parameter the same metadata as in the core mix transition.
Steinar H. Gunderson [Thu, 16 Jan 2014 23:14:56 +0000 (00:14 +0100)]
Give movit_mix's reverse parameter the same metadata as in the core mix transition.

10 years agoCorrect maximum matrix size for DeconvolutionSharpenEffect.
Steinar H. Gunderson [Thu, 16 Jan 2014 18:41:54 +0000 (19:41 +0100)]
Correct maximum matrix size for DeconvolutionSharpenEffect.

10 years agoLet Movit effects supply their own fingerprint.
Steinar H. Gunderson [Thu, 16 Jan 2014 18:36:53 +0000 (19:36 +0100)]
Let Movit effects supply their own fingerprint.

This allows effects to signal that some sort of change means the chain
needs to be regenerated. In particular, this unbreaks changing the
matrix_size parameter of DeconvolutionSharpenEffect; if you change it,
the entire chain will now be regenerated, instead of getting an assertion
failure.

10 years agoStop special-casing the disable parameter for setting.
Steinar H. Gunderson [Thu, 16 Jan 2014 18:35:34 +0000 (19:35 +0100)]
Stop special-casing the disable parameter for setting.

There are more parameters then just 'disable' that should be set before
chain finalization; in particular, DeconvolutionSharpenEffect compiles
the matrix size into the shader. Instead, just set all the parameters
once right after the chain has been built, which includes the disable
parameter.

10 years agoUpdates to vid.stab module.
Brian Matherly [Tue, 14 Jan 2014 13:44:34 +0000 (07:44 -0600)]
Updates to vid.stab module.

* Clean up serialization/deserialization
* results are not published until the analysis step is complete
* results are stored in "results" property
* Misc changes for MLT conventions and consistency

10 years agoFix animation serialization when length is not specified
Brian Matherly [Wed, 15 Jan 2014 15:34:30 +0000 (09:34 -0600)]
Fix animation serialization when length is not specified

10 years agoConvert a printf to mlt_log_debug.
Dan Dennedy [Wed, 15 Jan 2014 05:15:08 +0000 (21:15 -0800)]
Convert a printf to mlt_log_debug.

10 years agoFix metadata registration of renamed movit filters.
Dan Dennedy [Wed, 15 Jan 2014 05:13:22 +0000 (21:13 -0800)]
Fix metadata registration of renamed movit filters.

10 years agoFix movit.convert.fence frame property when using tractor.
Dan Dennedy [Wed, 15 Jan 2014 05:06:43 +0000 (21:06 -0800)]
Fix movit.convert.fence frame property when using tractor.

10 years agoProducer color hack for Movit.
Steinar H. Gunderson [Mon, 30 Dec 2013 22:50:43 +0000 (23:50 +0100)]
Producer color hack for Movit.

10 years agoRemove now unused FBOInput.
Steinar H. Gunderson [Sat, 11 Jan 2014 12:43:14 +0000 (13:43 +0100)]
Remove now unused FBOInput.

10 years agoChange how the Movit chain is built.
Steinar H. Gunderson [Wed, 1 Jan 2014 17:14:18 +0000 (18:14 +0100)]
Change how the Movit chain is built.

* Build the chain in GlslManager.

  This allows us to get rid of effects that don't actually do anything
  (like all the normalizers in the common case); in Movit, they tend
  to burn a lot of memory bandwidth. We solve this by a new OptionalEffect
  template, that can rewrite itself out of the graph if it sees it is
  a no-op. We need to recreate the chain from scratch if this status
  should change (e.g. the input resolution changed from one frame to the
  next, and we thus suddenly need resizing after all), so we keep a
  "fingerprint" string that contains all the unique IDs of the services
  in use, as well as their disabled status, and compare against this frame.

  Building the chain in one piece also opens up for transitions to be more
  efficient; they are now built as part of one big Movit chain, instead of
  bouncing to an 8-bit sRGB buffer and back.

* Change the mlt_glsl type.

  Now, the mlt_glsl image type has a defined value, which is the
  mlt_service pointer. Each filter is responsible for storing this input
  service. This, together with the mlt_frame, enables us to actually
  build the Movit chain based on the MLT relations, instead of just relying in
  the order in which they are called and assuming everything has a single input.

  As a special case, the value (mlt_service) -1 (which should never be a valid
  pointer) means that we read the information from an input rather than an
  effect. In this case, we take a copy of the pixel data we get in (since it
  will soon be garbage collected), store it in an MltInput and then store that
  MltInput for later use. This could probably be further simplified in the
  future to get completely rid of MltInput and just use the regular
  FlatInput/YCbCrInput instead.

  This also requires us to change so that the chain is built and finalized at
  the _end_ of the conversion steps (where it's logically needed), instead of at
  the beginning as before. The beginning (conversion from * -> mlt_glsl) now
  only stores the input as described below.

* Change Effect and EffectChain storage.

  This changes the storage of Movit stuff as follows:

   - The EffectChain (along with some associated information to be able
     to more easily locate the services and Effect pointers; together,
     called a GlslChain) is now stored on the output service, not on the input
     producer. This allows us to have multiple EffectChains floating around.
   - The Effect pointers no longer live permanently on the MLT graph, since
     each MLT service can have more than one Effect. Instead, they live
     temporarily on the frame (because the frame is not shared between
     threads, giving us a poor man's version of thread-local storage),
     until they reach the point where we decide if we need to rebuild the
     EffectChain or not. At this point, they are either made part of the
     chain (and owned by it), or disposed as unneeded.
   - The MltInput also lives on the frame. (If we have multiple inputs,
     we also have multiple frames.) As mentioned above, its use is signaled by
     an mlt_service of -1.

* Change how Movit parameter setting works.

  Services no longer set parameters directly on the Movit filters, since
  they cannot know before the graph construction time whether the correct
  destination is the newly created Effect, or a similar one in the EffectChain.
  Instead, they set special properties (movit.parms.<type>.<name>[<index>]),
  and then the convert filter uses these to set Movit parameters on the right
  Effects.

10 years agoRename some Movit filter filenames, for consistency.
Steinar H. Gunderson [Mon, 13 Jan 2014 19:17:20 +0000 (20:17 +0100)]
Rename some Movit filter filenames, for consistency.

10 years agoFix bug parsing rect string with %.
Dan Dennedy [Tue, 14 Jan 2014 06:01:23 +0000 (22:01 -0800)]
Fix bug parsing rect string with %.

10 years agoAdd back automatic cleanup of OpenGL fences.
Steinar H. Gunderson [Sun, 12 Jan 2014 22:51:21 +0000 (23:51 +0100)]
Add back automatic cleanup of OpenGL fences.

Instead of having the client do deletion of fences, work around the problem
with missing contexts by adding them to a list in the GlslManager, which then
it garbage-collected before creating more fences.

10 years agoFix crash in glDeleteSync() called on wrong thread.
Dan Dennedy [Sun, 12 Jan 2014 22:08:46 +0000 (14:08 -0800)]
Fix crash in glDeleteSync() called on wrong thread.

The app must delete the GLsync, which can more easily result in leaks.
:-\

10 years agoReplace glFinish with OpenGL fences.
Steinar H. Gunderson [Wed, 8 Jan 2014 22:56:43 +0000 (23:56 +0100)]
Replace glFinish with OpenGL fences.

The glFinish after rendering to a texture serves two purposes:

First, and maybe most importantly, it makes sure that if we send
the texture ID to another thread and try to draw it there, it is
actually valid in that context. (If not, the command to allocate
it could still be stuck in the queue, or the command to draw
the quad to the screen could be queued before the command to
actually render the image to the texture.)

Second, it makes sure we don't overwhelm the GPU with rendering
commands, especially in the readahead thread. GPUs have a long
pipeline, and our commands buffers are typically very short
(we render only one or a few quads per frame), which means that
we could queue so much rendering that we couldn't actually get
to display the frames, or do compositing and other normal UI tasks.
(GPUs are not all that good at scheduling.)

However, glFinish() also has an unwanted side effect: Since the
CPU waits for the GPU to finish, it means it cannot do anything
useful in that period; in particular, it cannot start decoding
input video for the next frame, which is very frequently a win.

Thus, we replace glFinish() with fences: One that we store on the
frame and that the client can wait for, and one that we wait for
ourselves before we render the next frame. The first fulfills
purpose #1 above (although a client that doesn't render in a
different thread can just ignore it), while the second fulfills
purpose #2. #2 does reduce the possible pipelining somewhat
(compared to not having any fence at all), but it seems that
the actual performance lost is very small in practice. In any
case, this is markedly faster than glFinish -- on my Intel HD 3000,
it increases GPU utilization from ~40% to over 80% in a typical
transition.

Note that this is an API change; a client that wants to send
the OpenGL texture number on to a different thread for display,
will now need to wait for the fence before it can actually draw
using it.

10 years agoMake the Movit converter use the correct color primaries.
Steinar H. Gunderson [Wed, 8 Jan 2014 00:38:35 +0000 (01:38 +0100)]
Make the Movit converter use the correct color primaries.

We need to distinguish between the YUV primaries and the color space;
for instance, my camera outputs Rec. 601/525 YUV but uses Rec. 709 color
primaries. Also fix so that we read the correct full_luma flag, not
just check force_full_luma. (Again, my camera outputs this.)

Movit doesn't support all the exotic color spaces ffmpeg/libav does,
but this should cover most of the common ones.

10 years agoMerge branch 'master' of github.com:mltframework/mlt
Brian Matherly [Sun, 12 Jan 2014 17:15:13 +0000 (11:15 -0600)]
Merge branch 'master' of github.com:mltframework/mlt

10 years agoFix kwalify effor for vidstab service metadata
Brian Matherly [Sun, 12 Jan 2014 17:15:03 +0000 (11:15 -0600)]
Fix kwalify effor for vidstab service metadata

10 years agoFile header consistency
Brian Matherly [Sun, 12 Jan 2014 04:41:14 +0000 (22:41 -0600)]
File header consistency

10 years agoFix version detection in vid.stab configure
Brian Matherly [Sun, 12 Jan 2014 04:25:46 +0000 (22:25 -0600)]
Fix version detection in vid.stab configure

10 years agoFix vid.stab configure script
Brian Matherly [Sun, 12 Jan 2014 03:32:48 +0000 (21:32 -0600)]
Fix vid.stab configure script

10 years agoMerge filter_detect and filter_transform into filter_vidstab
Brian Matherly [Sun, 12 Jan 2014 01:46:46 +0000 (19:46 -0600)]
Merge filter_detect and filter_transform into filter_vidstab

10 years agoAdded a fourth filter, that combines both detect and transform passes.
Jakub Ksiezniak [Thu, 9 Jan 2014 20:44:44 +0000 (21:44 +0100)]
Added a fourth filter, that combines both detect and transform passes.

* Increased a default smoothing factor, according to the original
vid.stab default settings.
* Added a deshake data clear when seeking is performed.
* Added a version check in configure script.

10 years agoMark vid.stab module as GPL
Brian Matherly [Tue, 7 Jan 2014 22:02:05 +0000 (16:02 -0600)]
Mark vid.stab module as GPL

10 years agoUpdate module to work with the latest vid.stab version 0.98.
Jakub Ksiezniak [Tue, 7 Jan 2014 17:34:02 +0000 (18:34 +0100)]
Update module to work with the latest vid.stab version 0.98.

* Added a new property "zoomspeed" for adaptive zooming feature.
* Removed a no longer used "sharpen" property.

10 years agoCreated a new module to support vid.stab library.
Jakub Ksiezniak [Tue, 31 Dec 2013 07:20:31 +0000 (08:20 +0100)]
Created a new module to support vid.stab library.

10 years agoChange get_effect/add_effect to take in mlt_service.
Steinar H. Gunderson [Sun, 5 Jan 2014 12:34:56 +0000 (13:34 +0100)]
Change get_effect/add_effect to take in mlt_service.

We want to be able to set effects on transitions as well, but in MLT,
transitions are not filters, only services.

10 years agoRename glsl_manager.h to filter_glsl_manager.h, to be consistent with the .cpp file.
Steinar H. Gunderson [Fri, 3 Jan 2014 01:30:47 +0000 (02:30 +0100)]
Rename glsl_manager.h to filter_glsl_manager.h, to be consistent with the .cpp file.

10 years agoFix compilation error in previous commit.
Dan Dennedy [Sun, 5 Jan 2014 17:05:30 +0000 (09:05 -0800)]
Fix compilation error in previous commit.

10 years agoChange param name "length" to "out" in mlt_playlist_insert_blank.
Dan Dennedy [Sat, 4 Jan 2014 22:34:10 +0000 (14:34 -0800)]
Change param name "length" to "out" in mlt_playlist_insert_blank.

10 years agoOn Qt 5, use QThread, QOpenGLContext, and QOffscreenSurface.
Dan Dennedy [Fri, 3 Jan 2014 08:11:57 +0000 (00:11 -0800)]
On Qt 5, use QThread, QOpenGLContext, and QOffscreenSurface.

Improves Windows compatibility.

10 years agoAdd consumer-thread-create and consumer-thread-join events.
Dan Dennedy [Thu, 2 Jan 2014 06:43:51 +0000 (22:43 -0800)]
Add consumer-thread-create and consumer-thread-join events.

If an app listens to these, it can override the implementation of thread
creation and joining. Otherwise, if no listeners, it falls back to
pthread_create() and pthread_join() as usual. At this time, only the
base mlt_consumer uses this for  real_time=1 or -1 only.

10 years agoLet mlt_events_fire() return the number of listeners.
Dan Dennedy [Thu, 2 Jan 2014 06:40:38 +0000 (22:40 -0800)]
Let mlt_events_fire() return the number of listeners.

Callers can determine if there is a listener that overrides some
behavior.

10 years agoFix crash in release_texture() called in frame destructor.
Dan Dennedy [Wed, 1 Jan 2014 21:08:30 +0000 (13:08 -0800)]
Fix crash in release_texture() called in frame destructor.

The "close glsl" event handler would destroy the texture container
objects while lingering frames still held references to them.

10 years agoPrevent sharing FBOs between contexts.
Dan Dennedy [Wed, 1 Jan 2014 07:35:16 +0000 (23:35 -0800)]
Prevent sharing FBOs between contexts.

Based on patch by Steinar Gunderson.

10 years agoWhen doing glReadPixels(), make sure we read from the right FBO.
Steinar H. Gunderson [Tue, 31 Dec 2013 12:27:28 +0000 (13:27 +0100)]
When doing glReadPixels(), make sure we read from the right FBO.

Newer versions of Movit clear the FBO attachment after rendering to an FBO
(so that it's harder to accidentally attach to the same FBO from multiple
threads), so we need to explicitly choose one to read from.

10 years agoReturn firing consumer-thread-stopped to the render thread.
Dan Dennedy [Tue, 31 Dec 2013 19:22:26 +0000 (11:22 -0800)]
Return firing consumer-thread-stopped to the render thread.

This is for OpenGL support, where an app event listener expects to
receive this on the rendering thread to which a specific GL context is
bound.

10 years agoFix Windows build.
Dan Dennedy [Tue, 31 Dec 2013 19:18:08 +0000 (11:18 -0800)]
Fix Windows build.

Windows build needs PKGCONFIG_PREFIX, and it outputs more than one -I
option. This change appends /freetype to each -I.

10 years agoRefactor movit.convert, movit.mix, and movit.overlay.
Dan Dennedy [Tue, 31 Dec 2013 04:05:20 +0000 (20:05 -0800)]
Refactor movit.convert, movit.mix, and movit.overlay.

To use new methods on GlslManager: render_frame_texture() and
render_frame_rgba(). The latter routine was changed to use GL_BGRA in
glReadPixels() to improve performance on more OpenGL implementation (per
Steinar Gunderson's recommendation).

10 years agoAdd thread locks around accessing GlslManager resources.
Dan Dennedy [Tue, 31 Dec 2013 01:54:30 +0000 (17:54 -0800)]
Add thread locks around accessing GlslManager resources.

10 years agoPropogate service-changed event to cut producer's parent.
Dan Dennedy [Mon, 30 Dec 2013 23:52:18 +0000 (15:52 -0800)]
Propogate service-changed event to cut producer's parent.

Patch by Steinar Gunderson.

10 years agoFix misspelling in consumer_xml.yml.
Dan Dennedy [Mon, 30 Dec 2013 23:51:19 +0000 (15:51 -0800)]
Fix misspelling in consumer_xml.yml.

10 years agoConvert backtick to $(shell) in Makefiles.
Dan Dennedy [Mon, 30 Dec 2013 23:50:28 +0000 (15:50 -0800)]
Convert backtick to $(shell) in Makefiles.