Aquileo | MLTMLT is an open source multimedia framework, designed and developed for television broadcasting.https://mltframework.org/ Wed, 22 Apr 2026 16:48:38 -0700Wed, 22 Apr 2026 16:48:38 -0700Jekyll v3.10.0Aquileo | Blog: v7.38.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.38.0">download it from GitHub</a>.</p> <p>The highlights of this version are basic, minimal support for OpenFX plugins and hardware scaling for preview scaling with hwaccel decoding.</p> <h4 id="framework">Framework</h4> <ul> <li>Added dynamic hash table for <code class="language-plaintext highlighter-rouge">mlt_properties</code> for better performance.</li> <li>Fixed memory corruption in <code class="language-plaintext highlighter-rouge">mlt_pool</code>.</li> <li>Added warning on file open failure when parsing in <code class="language-plaintext highlighter-rouge">mlt_properties</code>.</li> </ul> <h4 id="modules">Modules</h4> <ul> <li>Added <em>basic</em> support for <strong>OpenFX</strong> <em>filter</em> plugins. OpenFX has many features. This is a summary of what is NOT yet included: <ul> <li>GPU rendering</li> <li>exotic parameter types: Integer2D, Integer3D, Double3D, Custom, Bytes, Page, PushButton</li> <li>plugin-driven keyframe animation; but MLT-driven does work</li> <li>tile-, slice-, or frame-based multi-threading (only plugin internal threading)</li> <li>multi-resolution</li> <li>temporal clip access</li> <li>overlays &amp; dialogs</li> <li>timeline queries (e.g. <code class="language-plaintext highlighter-rouge">getTime()</code>)</li> <li>generator, transition, retimer</li> <li>parametric curves</li> </ul> </li> <li>Added <code class="language-plaintext highlighter-rouge">hwaccel_scale</code> filter with preview scaling (scale_vaapi, scale_vulkan, scale_d3d11, scale_vt (macOS)).</li> <li>Added an environment variable <code class="language-plaintext highlighter-rouge">MLT_AVFORMAT_HWACCEL_PPS</code> to provide a limiter to hwaccel because transfering uncompressed video between memory CPU and GPU memory is heavy. PPS = maximum pixels per second. Anything over it skips hwaccel.</li> <li>Added <code class="language-plaintext highlighter-rouge">lut</code> parameter to <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> <li>Added <code class="language-plaintext highlighter-rouge">attached_pic</code> property to <code class="language-plaintext highlighter-rouge">avformat</code> consumer.</li> <li>Added <code class="language-plaintext highlighter-rouge">movit.overlay_blend</code> video filter.</li> <li>Added <code class="language-plaintext highlighter-rouge">compositing</code> property to <code class="language-plaintext highlighter-rouge">movit.overlay</code> transition.</li> <li>Added constant-power crossfade to <code class="language-plaintext highlighter-rouge">mix</code> audio transition.</li> <li>Added rounded corner support for <code class="language-plaintext highlighter-rouge">rect</code> in <code class="language-plaintext highlighter-rouge">kdenlivetitle</code>.</li> <li>Added typewriter properties to <code class="language-plaintext highlighter-rouge">subtitle</code> filter.</li> <li>Added underline and strikethrough to the <code class="language-plaintext highlighter-rouge">text</code> and <code class="language-plaintext highlighter-rouge">qtext</code> filters.</li> <li>Changed <code class="language-plaintext highlighter-rouge">qtext</code> <code class="language-plaintext highlighter-rouge">style</code> property to support family named styles.</li> <li>Added anchor point support for arbitrary rotations in <code class="language-plaintext highlighter-rouge">qtblend</code>.</li> <li>Allow relative paths for images in <code class="language-plaintext highlighter-rouge">kdenlivetitle</code>.</li> <li>Updated Glaxnimate module to version 0.6.0.</li> <li>Switched to <code class="language-plaintext highlighter-rouge">QImage</code> scaling when downscaling in <code class="language-plaintext highlighter-rouge">qtblend</code>.</li> <li>Deprecated <code class="language-plaintext highlighter-rouge">obscure</code> and <code class="language-plaintext highlighter-rouge">watermark</code> filters.</li> <li>Install the jackrack module’s blacklist files.</li> <li>Fixed subtitle stream type metadata.</li> <li>Fixed mutex initialization in <code class="language-plaintext highlighter-rouge">avformat</code> no-validate mode.</li> <li>Fixed crash when using <code class="language-plaintext highlighter-rouge">linearblend</code> deinterlacer.</li> <li>Fixed black bar with HEVC hwaccel decode and scale on Windows.</li> <li>Fixed crash with hardware scaler and interlaced video.</li> <li>Fixed converting 8-bit full to limited range with hwaccel.</li> <li>Fixed alpha in 12-bit ProRes with alpha.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">movit</code> linear color not matching CPU filters.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">multi</code> consumer making extra linear color conversions.</li> <li>Fixed regression writing raw FLAC.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">qtblend</code> filter returning unexpectedly large frames.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">qtext</code> outline encroaching on fill color.</li> <li>Fixed wrong last+ frame when <code class="language-plaintext highlighter-rouge">eof=loop</code> in Glaxnimate.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">brightness</code> filter on track below a clip with transparency.</li> </ul> <h4 id="other">Other</h4> <ul> <li>Fixed crash during exit cleanup in <code class="language-plaintext highlighter-rouge">melt</code>.</li> <li>Continued build improvements for MSVC.</li> <li>A lot of metadata fixes and improvements.</li> <li>Many fixes to API documentation.</li> <li>Added C++ and Python to the API docs.</li> <li>Added two 10-bit VP9 encoding presets.</li> </ul> Wed, 22 Apr 2026 00:00:00 -0700https://mltframework.org/blog/v7.38.0_released/ https://mltframework.org/blog/v7.38.0_released/blogAquileo | Blog: v7.36.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.36.1">download it from GitHub</a>.</p> <p>This version adds image processing in linear color on the CPU (previously only Movit). Plus, it extends 10-bit video processing on the CPU to many more services.</p> <h4 id="framework">Framework</h4> <ul> <li>Added <code class="language-plaintext highlighter-rouge">mlt_image_default_colorspace()</code></li> <li>Added <code class="language-plaintext highlighter-rouge">mlt_image_default_trc()</code></li> <li>Added <code class="language-plaintext highlighter-rouge">mlt_image_default_primaries()</code></li> <li>Added <code class="language-plaintext highlighter-rouge">mlt_color_convert_trc()</code></li> <li>Added the <code class="language-plaintext highlighter-rouge">mlt_consumer</code> property <code class="language-plaintext highlighter-rouge">mlt_color_trc</code> to drive a new <code class="language-plaintext highlighter-rouge">color_transform</code> normalizer filter. This sets the color transfer function to use for image/video effects. It is beneficial and correct to use linear color for any pixel mixing whether for blending or interpolation.</li> <li>Removed <code class="language-plaintext highlighter-rouge">atexit(mlt_factory_close)</code> in <code class="language-plaintext highlighter-rouge">mlt_factory_init()</code>. Close the factory yourself if you feel the need to (not generally needed when exiting a process).</li> <li>Prevent possible crash in <code class="language-plaintext highlighter-rouge">mlt_service_connect_producer()</code>.</li> <li>Added <code class="language-plaintext highlighter-rouge">mlt_profile_is_valid()</code> and <code class="language-plaintext highlighter-rouge">Mlt::Profile::is_valid()</code>.</li> <li>Fixed crash on invalid profile (CVE-2025-65834) in: <ul> <li><code class="language-plaintext highlighter-rouge">mlt_consumer_start()</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_factory_producer()</code></li> <li><code class="language-plaintext highlighter-rouge">xml</code> producer</li> </ul> </li> </ul> <h4 id="modules">Modules</h4> <ul> <li>Drop support for Qt 5.</li> <li>Fixed bad color in <code class="language-plaintext highlighter-rouge">luma</code> transition’s dissolve (regression in v7.34.0).</li> <li>Fixed HLG HDR broken in <code class="language-plaintext highlighter-rouge">decklink</code> consumer (regression in v7.34.0).</li> <li>Fixed warnings when flushing audio in the <code class="language-plaintext highlighter-rouge">avformat</code> consumer.</li> <li>Added support for <code class="language-plaintext highlighter-rouge">hwaccel=vulkan</code> to the <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> <li>Added a <code class="language-plaintext highlighter-rouge">color_transform</code> normalizer filter to the core module to convert all image/video producers to and from linear color. It is abstract in the core module and drives the following filters: <ul> <li><code class="language-plaintext highlighter-rouge">avfilter.zscale</code></li> <li><code class="language-plaintext highlighter-rouge">sws_colortransform</code></li> <li><code class="language-plaintext highlighter-rouge">avfilter.scale</code></li> </ul> </li> <li>Added filter <code class="language-plaintext highlighter-rouge">sws_colortransform</code> that is more efficient than <code class="language-plaintext highlighter-rouge">avfilter.swscale</code> but requires FFmpeg 8.</li> <li>Changed the default property values of the <code class="language-plaintext highlighter-rouge">null</code> consumer: <ul> <li><code class="language-plaintext highlighter-rouge">real_time</code>: -1</li> <li><code class="language-plaintext highlighter-rouge">terminate_on_pause</code>: 1</li> </ul> </li> <li>Changed the <code class="language-plaintext highlighter-rouge">luma</code> and <code class="language-plaintext highlighter-rouge">movit.luma</code> transitions to progress linearly with linear <code class="language-plaintext highlighter-rouge">color_trc</code>.</li> <li>Fixed the alpha channel dropped by the <code class="language-plaintext highlighter-rouge">xml-clip</code> producer.</li> <li>Added <code class="language-plaintext highlighter-rouge">mlt_image_rgba64</code> format to: <ul> <li><code class="language-plaintext highlighter-rouge">avcolor_space</code> filter</li> <li><code class="language-plaintext highlighter-rouge">avdeinterlace</code> filter</li> <li><code class="language-plaintext highlighter-rouge">affine</code> filter and transition</li> <li><code class="language-plaintext highlighter-rouge">audiolevelgraph</code> filter</li> <li><code class="language-plaintext highlighter-rouge">audiospectrum</code> filter</li> <li><code class="language-plaintext highlighter-rouge">audiowaveform</code> filter</li> <li><code class="language-plaintext highlighter-rouge">autofade</code> filter</li> <li><code class="language-plaintext highlighter-rouge">avformat</code> producer and consumers</li> <li><code class="language-plaintext highlighter-rouge">box_blur</code> filter</li> <li><code class="language-plaintext highlighter-rouge">brightness</code> filter</li> <li><code class="language-plaintext highlighter-rouge">pillar_echo</code> filter</li> <li><code class="language-plaintext highlighter-rouge">color</code> producer</li> <li><code class="language-plaintext highlighter-rouge">dropshadow</code> filter</li> <li><code class="language-plaintext highlighter-rouge">dynamictext</code> filter (when used with <code class="language-plaintext highlighter-rouge">qtext</code>)</li> <li><code class="language-plaintext highlighter-rouge">frei0r.alpha0ps</code> filter</li> <li><code class="language-plaintext highlighter-rouge">frei0r.alphagrad</code> filter</li> <li><code class="language-plaintext highlighter-rouge">frei0r.alphaspot</code> filter</li> <li><code class="language-plaintext highlighter-rouge">frei0r.bluescreen0r</code> filter</li> <li><code class="language-plaintext highlighter-rouge">frei0r.select0r</code> filter</li> <li><code class="language-plaintext highlighter-rouge">frei0r.transparency</code> filter</li> <li><code class="language-plaintext highlighter-rouge">gpsgraphic</code> filter</li> <li><code class="language-plaintext highlighter-rouge">gpstext</code> filter</li> <li><code class="language-plaintext highlighter-rouge">gradientmap</code> filter</li> <li><code class="language-plaintext highlighter-rouge">hslprimaries</code> filter</li> <li><code class="language-plaintext highlighter-rouge">hslrange</code> filter</li> <li><code class="language-plaintext highlighter-rouge">kdenlivetitle</code> producer</li> <li><code class="language-plaintext highlighter-rouge">lift_gamma_gain</code> filter</li> <li><code class="language-plaintext highlighter-rouge">lightshow</code> filter</li> <li><code class="language-plaintext highlighter-rouge">mask_apply</code> (when used with <code class="language-plaintext highlighter-rouge">qtblend</code>)</li> <li><code class="language-plaintext highlighter-rouge">movit.convert</code> filter</li> <li><code class="language-plaintext highlighter-rouge">outline</code> filter</li> <li><code class="language-plaintext highlighter-rouge">qtblend</code> filter and transition</li> <li><code class="language-plaintext highlighter-rouge">qtcrop</code> filter</li> <li><code class="language-plaintext highlighter-rouge">qtext</code> producer</li> <li><code class="language-plaintext highlighter-rouge">shape</code> filter</li> <li><code class="language-plaintext highlighter-rouge">spot_remover</code> filter</li> <li><code class="language-plaintext highlighter-rouge">strobe</code> filter</li> <li><code class="language-plaintext highlighter-rouge">subtitle</code> filter (when used with <code class="language-plaintext highlighter-rouge">qtext</code>)</li> <li><code class="language-plaintext highlighter-rouge">swscale</code> filter</li> <li><code class="language-plaintext highlighter-rouge">text</code> filter (when used with <code class="language-plaintext highlighter-rouge">qtext</code>)</li> <li><code class="language-plaintext highlighter-rouge">timeremap</code> link</li> <li><code class="language-plaintext highlighter-rouge">timer</code> filter (when used with <code class="language-plaintext highlighter-rouge">qtext</code>)</li> <li><code class="language-plaintext highlighter-rouge">vqm</code> transition</li> </ul> </li> <li>Changed the <code class="language-plaintext highlighter-rouge">mask_apply</code> filter default transition to <code class="language-plaintext highlighter-rouge">qtblend</code>.</li> <li>Removed the maximum for the <code class="language-plaintext highlighter-rouge">alpha</code> property on the <code class="language-plaintext highlighter-rouge">brightness</code> filter so that you can <em>increase</em> the opacity of an existing alpha channel.</li> <li>Fixed background image scaling in the <code class="language-plaintext highlighter-rouge">gpsgraphic</code> filter.</li> <li>Fix audio artifacts with pcm_s24le in mkv in <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> </ul> <h4 id="other">Other</h4> <ul> <li>Removed bitrate and quality limits in the vp9 and webm <code class="language-plaintext highlighter-rouge">avformat</code> presets.</li> <li>Fixed melt on Windows not reading file path/name with extended characters (regression in v7.34.0).</li> <li>Fixed building the ruby bindings with Ruby 3.0.</li> <li>More fixes for MSVC.</li> <li>Removed <code class="language-plaintext highlighter-rouge">win32/strptime.c</code> and replaced with Qt functions.</li> <li>Stop showing <code class="language-plaintext highlighter-rouge">melt</code> usage on error exit.</li> </ul> Mon, 29 Dec 2025 00:00:00 -0800https://mltframework.org/blog/v7.36.0_released/ https://mltframework.org/blog/v7.36.0_released/blogAquileo | Blog: v7.34.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.34.1">download it from GitHub</a>.</p> <p>This versions adds 10-bit video processing on the CPU, but you must ensure you are using compatible filters and transitions.</p> <h4 id="framework">Framework</h4> <ul> <li>Added <code class="language-plaintext highlighter-rouge">mlt_image_rgba64</code> format. This change touched core, avformat, and qt modules as well.</li> <li>Added <code class="language-plaintext highlighter-rouge">mlt_color_trc</code>, <code class="language-plaintext highlighter-rouge">mlt_color_primaries</code>, and more <code class="language-plaintext highlighter-rouge">mlt_colorspace</code>s along with functions: <ul> <li><code class="language-plaintext highlighter-rouge">mlt_image_color_trc_name</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_image_color_trc_id</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_image_colorspace_name</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_image_colorspace_id</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_image_color_pri_name</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_image_color_pri_id</code></li> </ul> </li> <li>Fixed some minor memory leaks with <code class="language-plaintext highlighter-rouge">cppcheck</code>.</li> </ul> <h4 id="modules">Modules</h4> <ul> <li>Added rgba and rgba64 formats to the <code class="language-plaintext highlighter-rouge">luma</code> transition.</li> <li>Added rgba64 format to <code class="language-plaintext highlighter-rouge">affine</code> filter and transition.</li> <li>Added rgba64 format to the <code class="language-plaintext highlighter-rouge">qtblend</code> transition.</li> <li>Added support for FFmpeg 8 to the <code class="language-plaintext highlighter-rouge">avformat</code> module.</li> <li>Fixed audio <code class="language-plaintext highlighter-rouge">panner</code> filter for 5.1 channel layout.</li> <li>Fixed converting 10-bit full to limited range in <code class="language-plaintext highlighter-rouge">avformat</code> producer (regression in v7.30.0).</li> <li>Fixed shadow not working for multi-line template titles in <code class="language-plaintext highlighter-rouge">kdenlivetitle</code> producer.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">mask_apply</code> filter with custom transition.</li> <li>Added <code class="language-plaintext highlighter-rouge">input_chmask</code> &amp; <code class="language-plaintext highlighter-rouge">output_chmask</code> properties to <code class="language-plaintext highlighter-rouge">mono</code> filter.</li> <li>Added <code class="language-plaintext highlighter-rouge">channel_mask</code> property to LADSPA/LV2/VST2 filters.</li> <li>Added <code class="language-plaintext highlighter-rouge">channel_mask</code> to the <code class="language-plaintext highlighter-rouge">volume</code> filter.</li> <li>Added an <code class="language-plaintext highlighter-rouge">outline</code> video filter.</li> <li>Fixed a deadlock on image with a <code class="language-plaintext highlighter-rouge">%</code> in the name in <code class="language-plaintext highlighter-rouge">qimage</code> producer.</li> <li>Added scrubbing to the <code class="language-plaintext highlighter-rouge">decklink</code> consumer.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">&amp;amp;</code> not decoded to <code class="language-plaintext highlighter-rouge">&amp;</code> in the <code class="language-plaintext highlighter-rouge">xml</code> producer.</li> <li>Fixed converting BT.709 to BT.2020 in the <code class="language-plaintext highlighter-rouge">avformat</code> module.</li> <li>Fixed building a <code class="language-plaintext highlighter-rouge">ladspa</code> module without JACK as dependency.</li> <li>Deprecate a JACK Rack XML file in the <code class="language-plaintext highlighter-rouge">jackrack</code> and <code class="language-plaintext highlighter-rouge">ladspa</code> modules.</li> <li>Added filter <code class="language-plaintext highlighter-rouge">qtblend_mode</code>.</li> <li>Fixed incorrect alpha channel breaking optimization of <code class="language-plaintext highlighter-rouge">qtblend</code>.</li> <li>Fixed pixel format gbrap (Ut Video with alpha channel) in the <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">opencv_tracker</code> filter on cut playlist clips.</li> <li>Fixed warning about missing color range for <code class="language-plaintext highlighter-rouge">avfilter</code>s that use it (e.g. <code class="language-plaintext highlighter-rouge">avfilter.colorspace</code>).</li> <li>Added typewriter properties to the <code class="language-plaintext highlighter-rouge">qtext</code> filter.</li> <li>Fixed color distortion or a crash if using hwaccel with orientation rotation in <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> </ul> <h4 id="other">Other</h4> <ul> <li>Enable Qt 6 and disable Qt 5 modules in CMake by default.</li> <li>Disable the SDL1 module in CMake by default.</li> <li>Changed <code class="language-plaintext highlighter-rouge">melt</code> now exits with 1 if the producer is invalid.</li> <li>Various changes to work with MSVC compiler.</li> <li>Changed SVT-AV1 encode presets to VBR for Opus audio.</li> <li>Fixed initializing Qt on the main thread in <code class="language-plaintext highlighter-rouge">melt</code>.</li> <li>Documented the <code class="language-plaintext highlighter-rouge">-progress2</code> option for <code class="language-plaintext highlighter-rouge">melt</code>.</li> <li>Increased the minimum C++ version to C++20.</li> <li>Converted many modules to use CMake <code class="language-plaintext highlighter-rouge">find_package()</code>.</li> <li>Added <code class="language-plaintext highlighter-rouge">libgen.c</code> and <code class="language-plaintext highlighter-rouge">libgen.h</code> for MSVC.</li> </ul> Mon, 03 Nov 2025 00:00:00 -0800https://mltframework.org/blog/v7.34.0_released/ https://mltframework.org/blog/v7.34.0_released/blogAquileo | Blog: v7.32.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.32.0">download it from GitHub</a>.</p> <h4 id="framework">Framework</h4> <ul> <li>Added <code class="language-plaintext highlighter-rouge">mlt_service_set_consumer()</code> and `Mlt::Service::set_consumer().</li> <li>Optimized <code class="language-plaintext highlighter-rouge">mlt_multitrack</code> to not request a frame from a producer that is both hidden and muted.</li> </ul> <h4 id="modules">Modules</h4> <ul> <li>Fixed pixel format for VP8/VP9 streams in <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">yuva422p</code> pixel format in <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> <li>Added <code class="language-plaintext highlighter-rouge">MLT_AVFORMAT_HWACCEL</code> &amp; <code class="language-plaintext highlighter-rouge">MLT_AVFORMAT_HWACCEL_DEVICE</code> environment variables to <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> <li>Updated <code class="language-plaintext highlighter-rouge">decklink</code> module for recent hardware and drivers.</li> <li>Added <code class="language-plaintext highlighter-rouge">colorspace</code> and <code class="language-plaintext highlighter-rouge">color_trc</code> (including HDR) properties to the <code class="language-plaintext highlighter-rouge">decklink</code> consumer.</li> <li>Fixed silencing extra audio channel (e.g. 6 =&gt; 8) in <code class="language-plaintext highlighter-rouge">decklink</code> consumer.</li> <li>Fixed 5.1 C/LFE channels swapped over HDMI in <code class="language-plaintext highlighter-rouge">decklink</code> consumer.</li> <li>Fixed text outline had sharp angles in <code class="language-plaintext highlighter-rouge">kdenlivetitle</code> producer.</li> <li>Fixed default gamma to be Rec. 709 for 10-bit Y’CbCr from <code class="language-plaintext highlighter-rouge">movit</code> module.</li> <li>Added support for HLG gamma to <code class="language-plaintext highlighter-rouge">movit</code> module (requires ddennedy/movit fork).</li> <li>Fixed <code class="language-plaintext highlighter-rouge">opencv_tracker</code> filter should require multiple keyframes to be ready.</li> <li>Fixed OpenCV crash on <code class="language-plaintext highlighter-rouge">rect</code> &lt;= 1 pixel in <code class="language-plaintext highlighter-rouge">opencv_tracker</code> filter.</li> <li>Fixed aspect ratio in <code class="language-plaintext highlighter-rouge">qtblend</code> filter and transition.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">QT_QPA_PLATFORM=offscreen</code> not working in qt and glaxnimate modules.</li> <li>Improved preview scaling in <code class="language-plaintext highlighter-rouge">qtblend</code> filter.</li> <li>Fixed requesting huge images on multiple <code class="language-plaintext highlighter-rouge">qtblend</code> filters or transitions.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">sdl2</code> consumer on macOS.</li> <li>Fixed the <code class="language-plaintext highlighter-rouge">strobe</code> filter not working with <code class="language-plaintext highlighter-rouge">movit</code>.</li> <li>Fixed color and gamma using <code class="language-plaintext highlighter-rouge">timeremap</code> link with <code class="language-plaintext highlighter-rouge">movit</code>.</li> <li>Fixed consumer properties (e.g. <code class="language-plaintext highlighter-rouge">channels</code>) missing on <code class="language-plaintext highlighter-rouge">qglsl</code> consumer injected by the <code class="language-plaintext highlighter-rouge">xml</code> producer.</li> </ul> Wed, 07 May 2025 00:00:00 -0700https://mltframework.org/blog/v7.32.0_released/ https://mltframework.org/blog/v7.32.0_released/blogAquileo | Blog: v7.30.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.30.0">download it from GitHub</a>.</p> <h4 id="framework">Framework</h4> <ul> <li>Fixed <code class="language-plaintext highlighter-rouge">Mlt::Producer::set_creation_time()</code> not exported on i686.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">Mlt::Properties::set(int64_t)</code> symbol version.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">mlt_factory_init()</code> on Linux/BSD may fail to initialize when compiled with <code class="language-plaintext highlighter-rouge">-DRELOCATABLE</code>.</li> <li>Added generic non-drop-frame timecode in <code class="language-plaintext highlighter-rouge">mlt_property.c</code>. Previously, it was only done for 30000/1001 and 60000/1001 frame rates, but 24000/1001 is especially important as well.</li> <li>Added support for MLT XML embedded in chains. This, along with <code class="language-plaintext highlighter-rouge">xml-clip</code> producer handles mismatching frame rate between parent and child producers and facilites time-affecting links on the child.</li> <li>Added <code class="language-plaintext highlighter-rouge">mlt_image_full_range(const char *color_range)</code> where any of the following strings return true (1): <code class="language-plaintext highlighter-rouge">full</code>, <code class="language-plaintext highlighter-rouge">jpeg</code>, <code class="language-plaintext highlighter-rouge">pc</code>.</li> </ul> <h4 id="modules">Modules</h4> <ul> <li>Added <code class="language-plaintext highlighter-rouge">xml-clip</code> producer.</li> <li>Fixed link <code class="language-plaintext highlighter-rouge">in</code> and <code class="language-plaintext highlighter-rouge">out</code> properties arenot serialized in the <code class="language-plaintext highlighter-rouge">xml</code> consumer.</li> <li>Added <code class="language-plaintext highlighter-rouge">hslprimaries</code> and <code class="language-plaintext highlighter-rouge">hslrange</code> filters to the <code class="language-plaintext highlighter-rouge">plus</code> module.</li> <li>Added a <code class="language-plaintext highlighter-rouge">gradientmap</code> filter to the <code class="language-plaintext highlighter-rouge">plus</code> module.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">avfilter</code> audio filters with FFmpeg 7.</li> <li>Fixed incorrect frame rate for AVCHD (and possibly others) in <code class="language-plaintext highlighter-rouge">avformat</code>.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">window_id</code> property in consumer <code class="language-plaintext highlighter-rouge">sdl2</code> by using <code class="language-plaintext highlighter-rouge">SDL_CreateWindowFrom()</code>, especially important for embedding in GTK+ or Qt.</li> <li>Fixed text not rendering in transition <code class="language-plaintext highlighter-rouge">vqm</code> since Qt 6.</li> <li>Added <code class="language-plaintext highlighter-rouge">decimals</code> keyword to <code class="language-plaintext highlighter-rouge">gpstext</code> filter and move <code class="language-plaintext highlighter-rouge">RAW</code> keyword check.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">time_offset</code> property handling in <code class="language-plaintext highlighter-rouge">gpstext</code> filter.</li> <li>Fixed reading and writing SRT files with unicode in the path.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">subtitle_feed</code> filter on producers with an in point &gt; 0.</li> <li>Fixed opaque alpha channels become translucent in <code class="language-plaintext highlighter-rouge">luma</code> transition.</li> <li>Fixed a crash in the <code class="language-plaintext highlighter-rouge">mix</code> transition with <code class="language-plaintext highlighter-rouge">consumer</code> producer.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">freeze</code> filter freezing too much.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">avfilter.fillborders</code> with preview scaling.</li> <li>Fixed non-proportional scaling in <code class="language-plaintext highlighter-rouge">qtblend</code> transition and filter.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">avfilter</code> color distortion with <code class="language-plaintext highlighter-rouge">mlt_image_rgb</code> and <code class="language-plaintext highlighter-rouge">mlt_image_rgba</code>.</li> <li>Extended support for <code class="language-plaintext highlighter-rouge">colorspace=2020</code> consumer property and the BT.2020 colorspace in the <code class="language-plaintext highlighter-rouge">avformat</code> producer and consumer. This does not imply HDR, which is signaled through a <code class="language-plaintext highlighter-rouge">color_trc</code> property.</li> <li>Added support for <code class="language-plaintext highlighter-rouge">mlt_image_yuv420p10</code>, <code class="language-plaintext highlighter-rouge">mlt_image_yuv444p10</code>, and <code class="language-plaintext highlighter-rouge">mlt_image_yuv422p16</code> in <code class="language-plaintext highlighter-rouge">avfilter</code>, <code class="language-plaintext highlighter-rouge">swscale</code>, and <code class="language-plaintext highlighter-rouge">rescale</code> filters. This facilitates using these pixel formats end-to-end when using only FFmpeg producers, certain avfilters, and <code class="language-plaintext highlighter-rouge">avformat</code> consumer. This means it is possible to do 10-bit end-to-end on the CPU when being careful to select compatible components and options to avoid conversions. One can pass-through HDR; however, you must set the <code class="language-plaintext highlighter-rouge">color_trc</code> and <code class="language-plaintext highlighter-rouge">pix_fmt</code> properties on the <code class="language-plaintext highlighter-rouge">avformat</code> consumer (see <code class="language-plaintext highlighter-rouge">ffmpeg -h full</code> for these values). The <code class="language-plaintext highlighter-rouge">avformat</code> consumer automatically converts MLT <code class="language-plaintext highlighter-rouge">colorspace</code> (integer value) to FFmpeg’s <code class="language-plaintext highlighter-rouge">colorspace</code> and <code class="language-plaintext highlighter-rouge">color_primaries</code> (unless explicit) options.</li> </ul> <h4 id="other">Other</h4> <ul> <li>Cleaned up the examples in <code class="language-plaintext highlighter-rouge">src/swig</code>.</li> <li>Changed the <code class="language-plaintext highlighter-rouge">x264-medium</code> preset to a higher quality.</li> </ul> Sun, 19 Jan 2025 00:00:00 -0800https://mltframework.org/blog/v7.30.0_released/ https://mltframework.org/blog/v7.30.0_released/blogAquileo | Blog: v7.28.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.28.0">download it from GitHub</a>.</p> <p>This fixes a couple of major regressions in the previous version 7.26.0:</p> <ul> <li>Fixed seeking and frozen video due by reverting “Improved performance with intra-only video and reducing the frame rate.”</li> <li>Fixed using <code class="language-plaintext highlighter-rouge">melt</code> to render MLT XML with OpenGL effects from <code class="language-plaintext highlighter-rouge">movit</code>.</li> </ul> <p>Other fixes and changes:</p> <ul> <li>Deprecated the <code class="language-plaintext highlighter-rouge">composite</code> transition and the <code class="language-plaintext highlighter-rouge">sdl</code> and <code class="language-plaintext highlighter-rouge">ndi</code> modules.</li> <li>Fixed Android camera video has the wrong frame rate (broken in v7.26.0).</li> <li>Fixed audio not playing for audio-only DTS WMA.</li> <li>Fixed using “https:” URLs in the <code class="language-plaintext highlighter-rouge">xml</code> producer.</li> <li>Fixed crash on exit when running <code class="language-plaintext highlighter-rouge">melt -query</code> or <code class="language-plaintext highlighter-rouge">melt -query links</code>.</li> <li>Added a <code class="language-plaintext highlighter-rouge">transition</code> property to the <code class="language-plaintext highlighter-rouge">watermark</code> filter. Now, it defaults to using <code class="language-plaintext highlighter-rouge">affine</code>.</li> <li>Changed <code class="language-plaintext highlighter-rouge">affine</code> transition argument to set <code class="language-plaintext highlighter-rouge">rect</code> property if supplied.</li> </ul> Thu, 12 Sep 2024 00:00:00 -0700https://mltframework.org/blog/v7.28.0_released/ https://mltframework.org/blog/v7.28.0_released/blogAquileo | Blog: v7.26.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.26.0">download it from GitHub</a>.</p> <p>This release adds support for subtitles and LV2 &amp; VST2 audio plugins.</p> <h4 id="framework">Framework</h4> <ul> <li>Fixed a double-free crash in <code class="language-plaintext highlighter-rouge">Mlt::Service::profile()</code>.</li> </ul> <h4 id="modules">Modules</h4> <ul> <li>Fixes and improvements to the <code class="language-plaintext highlighter-rouge">avformat</code> producer: <ul> <li>Changed to prefer <code class="language-plaintext highlighter-rouge">r_frame_rate</code> over <code class="language-plaintext highlighter-rouge">avg_frame_rate</code>.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">lowres</code> if set too high.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">audio_index=all</code>.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">variable_frame_rate</code> incorrectly set true on 59.94 fps in Matroska.</li> <li>Improved performance with intra-only video and reducing the frame rate.</li> <li>Fixed mono audio handling regression on FFmpeg 7.</li> <li>Fixed audio samples may be dropped unexpectly esp. with uncompressed.</li> </ul> </li> <li>Fixed <code class="language-plaintext highlighter-rouge">movit</code> transitions with a non-movit filter on one of its inputs.</li> <li>Fixed duration in the <code class="language-plaintext highlighter-rouge">glaxnimate</code> producer off by one frame.</li> <li>Added <code class="language-plaintext highlighter-rouge">dropshadow</code> filter to the <code class="language-plaintext highlighter-rouge">qt</code> module.</li> <li>Fixed resetting animation in <code class="language-plaintext highlighter-rouge">kdenlivetitle</code> producer.</li> <li>Added support for LV2 and VST2 plugins in the <code class="language-plaintext highlighter-rouge">jackrack</code> module.</li> <li>Fixed crash using <code class="language-plaintext highlighter-rouge">av.declick</code> audio filter on FFmpeg 7.</li> <li>Added <code class="language-plaintext highlighter-rouge">subtitle</code> filter and producer and <code class="language-plaintext highlighter-rouge">subtitle_feed</code> filter to the <code class="language-plaintext highlighter-rouge">plus</code> module.</li> <li>Added subtitle encoding to the <code class="language-plaintext highlighter-rouge">avformat</code> consumer (new properties beginning with “subtitle.”).</li> <li>Fixed <code class="language-plaintext highlighter-rouge">alang</code> in the the <code class="language-plaintext highlighter-rouge">avformat</code> consumer.</li> <li>Added <code class="language-plaintext highlighter-rouge">#gps_power</code> keyword to the <code class="language-plaintext highlighter-rouge">gpstext</code> filter.</li> <li>Fixed tab handling in the <code class="language-plaintext highlighter-rouge">kdenlivetitle</code> producer.</li> </ul> <h4 id="other">Other</h4> <ul> <li>Added 8- and 10-bit encode presets for SVT-AV1.</li> <li>Fixed building on OpenBSD.</li> <li>Fixed building on musl libc.</li> <li>Fixed consumer properties not updating the automatic profile on the <code class="language-plaintext highlighter-rouge">melt</code> command line.</li> <li>Added <code class="language-plaintext highlighter-rouge">-loglevel</code> command line option to <code class="language-plaintext highlighter-rouge">melt</code>.</li> </ul> Sun, 25 Aug 2024 00:00:00 -0700https://mltframework.org/blog/v7.26.0_released/ https://mltframework.org/blog/v7.26.0_released/blogAquileo | Blog: v7.24.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.24.0">download it from GitHub</a>.</p> <p>The highlight of this release is support for FFmpeg 7 and Ambsonic audio.</p> <h4 id="framework">Framework</h4> <ul> <li>Fixed a small memory leak in <code class="language-plaintext highlighter-rouge">mlt_repository</code>.</li> <li>Fixed a small memory leak in <code class="language-plaintext highlighter-rouge">MltPushConsumer</code> C++ class.</li> <li>Block connecting a null producer to a service.</li> <li>Include <code class="language-plaintext highlighter-rouge">locale.h</code> on any GNU libc platform.</li> </ul> <h4 id="modules">Modules</h4> <ul> <li>Added a new <code class="language-plaintext highlighter-rouge">spatialaudio</code> module with filters: <ul> <li><code class="language-plaintext highlighter-rouge">ambisonic-decoder</code></li> <li><code class="language-plaintext highlighter-rouge">ambisonic-encoder</code></li> </ul> </li> <li>Fixed building with FFmpeg 7.</li> <li>Fixed text keywords do not work with non-ASCII filenames on Windows: <ul> <li><code class="language-plaintext highlighter-rouge">pixbuf</code> producer</li> <li><code class="language-plaintext highlighter-rouge">opencv_tracker</code> filter</li> <li><code class="language-plaintext highlighter-rouge">dynamictext</code> filter</li> <li><code class="language-plaintext highlighter-rouge">qimage</code> producer</li> </ul> </li> <li>Added “meta.media.aspect_ratio” property to the <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">distort</code> property not working in <code class="language-plaintext highlighter-rouge">movit.rect</code> filter.</li> <li>Fixed frames dropping or repeating in the <code class="language-plaintext highlighter-rouge">multi</code> consumer.</li> <li>Fixed the <code class="language-plaintext highlighter-rouge">dynamic_loudness</code> filter maximizing audio gain.</li> <li>Fixed distortion in the <code class="language-plaintext highlighter-rouge">mono</code> filter.</li> <li>Also check for <code class="language-plaintext highlighter-rouge">WAYLAND_DISPLAY</code> to detect a graphical session in the <code class="language-plaintext highlighter-rouge">qt</code> and <code class="language-plaintext highlighter-rouge">glaxnimate</code> modules.</li> <li>Fixed the <code class="language-plaintext highlighter-rouge">wave</code> filter distorts if <code class="language-plaintext highlighter-rouge">wave</code> = 1 with preview scaling.</li> <li>Added the read-only <code class="language-plaintext highlighter-rouge">meta.media.%u.codec.layout</code> property to <code class="language-plaintext highlighter-rouge">avformat</code> producer.</li> <li>Set the <code class="language-plaintext highlighter-rouge">channel_layout</code> property on the frame for the <code class="language-plaintext highlighter-rouge">noise</code> and <code class="language-plaintext highlighter-rouge">tone</code> audio producers.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">outline</code> maximum for the <code class="language-plaintext highlighter-rouge">text</code> and <code class="language-plaintext highlighter-rouge">dynamictext</code> filters.</li> </ul> <h4 id="other">Other</h4> <ul> <li>Fixed crash when using <code class="language-plaintext highlighter-rouge">-chain</code> from <code class="language-plaintext highlighter-rouge">melt</code>.</li> <li>Fixed a small memory leak on Windows <code class="language-plaintext highlighter-rouge">fopen()</code>.</li> </ul> Sat, 27 Apr 2024 00:00:00 -0700https://mltframework.org/blog/v7.24.0_released/ https://mltframework.org/blog/v7.24.0_released/blogAquileo | Blog: v7.22.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.22.0">download it from GitHub</a>.</p> <p>The highlight of this release is support animation easing functions via new keyframe types. Also, new versions of the smooth keyframe type is added that avoids overshoots and cusps.</p> <h4 id="framework">Framework</h4> <ul> <li>Added new functions: <ul> <li><code class="language-plaintext highlighter-rouge">mlt_property_is_color()</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_property_is_numeric()</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_property_is_rect()</code></li> </ul> </li> <li>Many new keyframe types: <ul> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_smooth_loose</code> - <code class="language-plaintext highlighter-rouge">~=</code> (same as old <code class="language-plaintext highlighter-rouge">mlt_keyframe_smooth</code> - Unity Catmull-Rom spline)</li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_smooth_natural</code> - <code class="language-plaintext highlighter-rouge">$=</code> (Centripetal Catmull-Rom spline with natural slope)</li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_smooth_tight</code> - <code class="language-plaintext highlighter-rouge">-=</code> (Centripetal Catmull-Rom spline with 0 slope)</li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_sinusoidal_in</code> - <code class="language-plaintext highlighter-rouge">a=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_sinusoidal_out</code> - <code class="language-plaintext highlighter-rouge">b=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_sinusoidal_in_out</code> - <code class="language-plaintext highlighter-rouge">c=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_quadratic_in</code> - <code class="language-plaintext highlighter-rouge">d=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_quadratic_out</code> - <code class="language-plaintext highlighter-rouge">e=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_quadratic_in_out</code> - <code class="language-plaintext highlighter-rouge">f=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_cubic_in</code> - <code class="language-plaintext highlighter-rouge">g=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_cubic_out</code> - <code class="language-plaintext highlighter-rouge">h=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_cubic_in_out</code> - <code class="language-plaintext highlighter-rouge">i=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_quartic_in</code> - <code class="language-plaintext highlighter-rouge">j=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_quartic_out</code> - <code class="language-plaintext highlighter-rouge">k=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_quartic_in_out</code> - <code class="language-plaintext highlighter-rouge">l=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_quintic_in</code> - <code class="language-plaintext highlighter-rouge">m=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_quintic_out</code> - <code class="language-plaintext highlighter-rouge">n=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_quintic_in_out</code> - <code class="language-plaintext highlighter-rouge">o=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_exponential_in</code> - <code class="language-plaintext highlighter-rouge">p=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_exponential_out</code> - <code class="language-plaintext highlighter-rouge">q=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_exponential_in_out</code> - <code class="language-plaintext highlighter-rouge">r=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_circular_in</code> - <code class="language-plaintext highlighter-rouge">s=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_circular_out</code> - <code class="language-plaintext highlighter-rouge">t=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_circular_in_out</code> - <code class="language-plaintext highlighter-rouge">u=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_back_in</code> - <code class="language-plaintext highlighter-rouge">v=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_back_out</code> - <code class="language-plaintext highlighter-rouge">w=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_back_in_out</code> - <code class="language-plaintext highlighter-rouge">x=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_elastic_in</code> - <code class="language-plaintext highlighter-rouge">y=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_elastic_out</code> - <code class="language-plaintext highlighter-rouge">z=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_elastic_in_out</code> - <code class="language-plaintext highlighter-rouge">A=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_bounce_in</code> - <code class="language-plaintext highlighter-rouge">B=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_bounce_out</code> - <code class="language-plaintext highlighter-rouge">C=</code></li> <li><code class="language-plaintext highlighter-rouge">mlt_keyframe_bounce_in_out</code> - <code class="language-plaintext highlighter-rouge">D=</code></li> </ul> </li> <li>Fixed missing support for <code class="language-plaintext highlighter-rouge">mlt_service_transition</code> in <code class="language-plaintext highlighter-rouge">Mlt::Producer()</code> C++ constructor.</li> </ul> <h4 id="modules">Modules</h4> <ul> <li>Fixed <code class="language-plaintext highlighter-rouge">rotoscoping</code> filter crash on image with height = 0.</li> <li>Fixed crashed due to <code class="language-plaintext highlighter-rouge">qtblend</code> transition requesting an image of 0 width or height.</li> <li>Added support for RtAudio 6 in the <code class="language-plaintext highlighter-rouge">rtaudio</code> consumer.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">createdate</code> keyword deletes preceeding text in <code class="language-plaintext highlighter-rouge">dynamictext</code> filter.</li> <li>Added <code class="language-plaintext highlighter-rouge">opacity</code> property to filters that use <code class="language-plaintext highlighter-rouge">qtext</code>: <ul> <li><code class="language-plaintext highlighter-rouge">dynamictext</code></li> <li><code class="language-plaintext highlighter-rouge">gpstext</code></li> <li><code class="language-plaintext highlighter-rouge">qtext</code></li> <li><code class="language-plaintext highlighter-rouge">timer</code></li> </ul> </li> <li>Added <code class="language-plaintext highlighter-rouge">fade_video</code>, <code class="language-plaintext highlighter-rouge">fade_audio</code>, and <code class="language-plaintext highlighter-rouge">fade_color</code> properties to <code class="language-plaintext highlighter-rouge">autofade</code> filter.</li> <li>Added backwards compatibility for changed filter names in frei0r v2.3.1: <ul> <li><code class="language-plaintext highlighter-rouge">frei0r.measure_pr0be</code></li> <li><code class="language-plaintext highlighter-rouge">frei0r.measure_pr0file</code></li> <li><code class="language-plaintext highlighter-rouge">frei0r.tehroxx0r</code></li> <li><code class="language-plaintext highlighter-rouge">frei0r.alpha0ps_alpha0ps</code></li> <li><code class="language-plaintext highlighter-rouge">frei0r.alpha0ps_alphagrad</code></li> <li><code class="language-plaintext highlighter-rouge">frei0r.alpha0ps_alphaspot</code></li> <li><code class="language-plaintext highlighter-rouge">frei0r.denoise_hqdn3d</code></li> </ul> </li> <li>Fixed a memory leak in <code class="language-plaintext highlighter-rouge">avformat</code> producer with consumer deinterlacer=yadif.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">qimage</code> producer color if consumer color_range=pc pix_fmt=yuv444p.</li> </ul> <h4 id="other">Other</h4> <ul> <li>Fixed <code class="language-plaintext highlighter-rouge">ten_bit/ProRes 422</code> avformat preset produced ProRes 444.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">YouTube</code> avformat preset did not output high profile with some hardware encoders.</li> </ul> Tue, 28 Nov 2023 00:00:00 -0800https://mltframework.org/blog/v7.22.0_released/ https://mltframework.org/blog/v7.22.0_released/blogAquileo | Blog: v7.20.0 released<p>You can <a href="https://github.com/mltframework/mlt/releases/tag/v7.20.0">download it from GitHub</a>.</p> <h4 id="framework">Framework</h4> <ul> <li>Fixed “blank” in a playlist does not have audio normalization filters.</li> <li>Fixed serializing <code class="language-plaintext highlighter-rouge">mlt_color</code> transparent black as “#00000000” when the property was set using an integer or <code class="language-plaintext highlighter-rouge">mlt_color</code>.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">mlt_chain_set_source()</code> would always fetch a frame from the producer even if it has “meta.media.frame_rate_num” and “meta.media.frame_rate_den” properties making things slow.</li> <li>Fixed <code class="language-plaintext highlighter-rouge">Mlt::Chain</code> leaking memory.</li> </ul> <h4 id="modules">Modules</h4> <ul> <li>Added a <code class="language-plaintext highlighter-rouge">blank</code> producer to the <code class="language-plaintext highlighter-rouge">core</code> module.</li> <li>Added keywords to <code class="language-plaintext highlighter-rouge">gpstext</code> filter: <ul> <li><code class="language-plaintext highlighter-rouge">#gps_cadence#</code></li> <li><code class="language-plaintext highlighter-rouge">#gps_grade_degrees#</code></li> <li><code class="language-plaintext highlighter-rouge">#gps_grade_percentage#</code></li> <li><code class="language-plaintext highlighter-rouge">#gps_temperature#</code></li> </ul> </li> <li>Added some <code class="language-plaintext highlighter-rouge">color_style</code>s to the <code class="language-plaintext highlighter-rouge">gpsgraphic</code> filter: <ul> <li>10 = color by speed (max 100 km/h)</li> <li>11 = color by grade (max 90 degrees)</li> <li>12 = color by grade (max 20 degrees)</li> </ul> </li> <li>Added more unit formats to <code class="language-plaintext highlighter-rouge">legend_unit</code> property of <code class="language-plaintext highlighter-rouge">gpsgraphic</code> filter: <ul> <li><code class="language-plaintext highlighter-rouge">mmin</code> or <code class="language-plaintext highlighter-rouge">m/min</code></li> <li><code class="language-plaintext highlighter-rouge">ftmin</code> or <code class="language-plaintext highlighter-rouge">ft/min</code></li> </ul> </li> <li>Added keywords to <code class="language-plaintext highlighter-rouge">dynamictext</code> filter: <ul> <li><code class="language-plaintext highlighter-rouge">#basename#</code></li> <li><code class="language-plaintext highlighter-rouge">#filename#</code></li> </ul> </li> <li>Fixed installing <code class="language-plaintext highlighter-rouge">filter_audioseam.yml</code>.</li> <li>Added an <code class="language-plaintext highlighter-rouge">avlink</code> link to the <code class="language-plaintext highlighter-rouge">avformat</code> module for FFmpeg filters that can benefit from future frames such as <code class="language-plaintext highlighter-rouge">adeclick</code>.</li> <li>Added the <code class="language-plaintext highlighter-rouge">preserve_alpha</code> property to the <code class="language-plaintext highlighter-rouge">box_blur</code> filter.</li> <li>Fixed loading service metadata for the <code class="language-plaintext highlighter-rouge">qt6</code> and <code class="language-plaintext highlighter-rouge">glaxnimate-qt6</code> modules.</li> <li>Fixed a crash when changing the <code class="language-plaintext highlighter-rouge">rotate</code> property in <code class="language-plaintext highlighter-rouge">avformat</code> producer with interlace video.</li> <li>Add <code class="language-plaintext highlighter-rouge">astream</code> and <code class="language-plaintext highlighter-rouge">vstream</code> properties to avformat producer. Unlike <code class="language-plaintext highlighter-rouge">audio_index</code> and <code class="language-plaintext highlighter-rouge">video_index</code> are absolute indices across the entire array of streams regardless their type, these new 0-based properties are relative to the type audio or video. For example, astream=1 is the second audio stream.</li> <li>Fixed a possible crash in the <code class="language-plaintext highlighter-rouge">avformat</code> producer’s <code class="language-plaintext highlighter-rouge">mlt_producer_probe</code> virtual function.</li> <li>Updated the <code class="language-plaintext highlighter-rouge">glaxnimate</code> module to version 0.5.4.</li> <li>Fixed the <code class="language-plaintext highlighter-rouge">sdl2</code> consumer crashing with the Linux radeonsi_dri driver and showing only all black with the Linux <code class="language-plaintext highlighter-rouge">nvidia</code> driver.</li> </ul> <h4 id="other">Other</h4> <ul> <li>Fix compiling on Android (not supported by the core developers).</li> <li>Changed the <code class="language-plaintext highlighter-rouge">avformat</code> consumer <code class="language-plaintext highlighter-rouge">FLAC</code> preset to use the <code class="language-plaintext highlighter-rouge">flac</code> format.</li> <li>Fixed the <code class="language-plaintext highlighter-rouge">melt</code> <kbd>Shift+H</kbd> and <kbd>Shift+L</kbd> keyboard shortcuts when the SDL2 window has focus.</li> </ul> Sun, 01 Oct 2023 00:00:00 -0700https://mltframework.org/blog/v7.20.0_released/ https://mltframework.org/blog/v7.20.0_released/blog