News

v7.12.0 released

Nov 19, 2022

You can download it from GitHub.

This version is released soon after 7.10.0 to fix a couple of major new bugs in the popular qtblend and frei0r.cairoblend transitions. It also includes new color animation APIs with sensible interpolation!

Framework

  • Added new color animation APIs:
    • mlt_property_set_color()
    • mlt_property_get_color()
    • mlt_property_anim_set_color()
    • mlt_property_anim_get_color()
    • mlt_properties_anim_set_color()
    • mlt_properties_anim_get_color()
    • Mlt::Properties::anim_get_color(char const*, int, int)
    • Mlt::Properties::anim_set(char const*, mlt_color, int, int, mlt_keyframe_type)

Modules

  • Updated the following services to support animation of color properties:
    • frei0r (any color parameter in any frei0r plugin)
    • chroma
    • chroma_hold
    • audiolevelgraph
    • audiospectrum
    • audiowaveform
    • gpsgraphic
    • gpstext
    • qtcrop
    • qtext
  • Added discontinuity_reset property to dynamic_loudness filter.
  • Fixed qtblend transition not blending with an opaque rgba image.
  • Added support for the “finer” engine in Rubberband version 3.
  • Fixed crash in frei0r.cairoblend when threads property not set.

Other

  • Fixed leaking the xml producer in melt when the XML contains a consumer element but no profile information.
  • Fixed symbol not found error in rtaudio consumer.

v7.10.0 released

Nov 1, 2022

You can download it from GitHub.

The highlight of this version is support for Qt 6.

Framework

  • Fixed some unguarded null pointers.
  • Added MLT_REPOSITORY_DENY environment variable to skip loading a module (colon delimited list of file names without extension, for example “libmltqt”).
  • Fixed frame corruption with one frame transition.
  • Changed so-called test-card frame with audio to show a checkerboard:
    • Added mlt_image_fill_checkerboard()
    • Added mlt_image_fill_white()
  • Preserve the producer creation_time property when creating a chain.
  • Added mlt_image_rgba_opaque().
  • Fixed getting a property as a timecode or clock value with 24 or 23.98 fps in mlt_property.c.

Modules

  • Added support for Qt 6:
    • Added MOD_QT6 and BUILD_TESTS_WITH_QT6 CMake options.
    • Allow installing building and installing both Qt 5 & 6 modules.
    • Avoid loading both Qt 5 & 6 modules by preferring Qt 5 (use MLT_REPOSITORY_DENY=libmltqt to block Qt 5 and use Qt 6).
    • This is limited to the qt module for now and not glaxnimate (still a work-in-progress).
  • Added support for WebP animation to qimage producer.
  • Added gps_graphic filter to the qt module.
  • Added the format property in each producer’s get_frame method to indicate the producer’s default/preferred mlt_image_format to facilitate an optimization in the qtblend transition when the B frame is opaque and has the same aspect ratio.
  • Added property animation to all audio visualization filters in the qt module.
  • Improved TGA format detection in qimage filter.
  • Fixed qtblend transition has incorrect scaling with consumer scaling.
  • Fixed an case of incorrect alpha scaling in qtblend transition.
  • Fixed luma transition not updated when resource property changes.
  • Added the alpha_operation property to the shape filter.
  • Updated the glaxnimate git submodule to version 0.5.1.
  • Fixed lines filter in oldfilm regression in v7.6.0.
  • Added dbpeak property to the audiolevel filter in dB.
  • Fixed memory leak using some frei0r plugins in conjunction with an affine that animates the rect property.

Other

  • Fixed building for musl.
  • Fixed underlinking iconv in gdk module on MinGW.
  • Fixed SWIG CMake options can overwrite each other.
  • Fixed SWIG 4 no longer generates a mlt.php.

v7.8.0 released

Jun 22, 2022

You can download it from GitHub.

This highlight of this version is a new glaxnimate producer to render 2D vector art and animation.

Framework

  • Added mlt_frame_get_alpha_size() and refactored code to use it.
  • Fixed a possible null pointer crash in mlt_service_apply_filters().

Modules

  • Added a glaxnimate producer to the glaxnimate module.
  • Added new file extensions for glaxnimate producer: json, lottie, rawr, tgs.
  • Removed Qt4 compatibility from the qt module.
  • Added Qt6 compatibility to the qt module.
  • Added new file extensions for qimage producer: avif, heic, heif, jxl.
  • Fixed color_range when using the multi consumer.
  • Fixed reloading updated results in the loudness filter.
  • Fixed image_mode=blend in the timeremap link.
  • Fixed crash regression in swscale filter with odd size YUV image.
  • Fixed the choppy filter may result in black frames with transitions.
  • Prevent a crash in avfilter producer for a bug in glibc with _FORTIFY_SOURCE=3.

v7.6.0 released

Mar 29, 2022

You can download it from GitHub.

This version adds image slice-threading to many filters and full support for full range color. All inputs are normalized to and processed at the range specified by the consumer property color_range that defaults to tv/mpeg (limited).

Framework

  • Added Mlt::Animation::next_key() and previous_key() with error checking.
  • Fixed the moduledir and mltdatadir variables in the pkg-config file.
  • Removed calling setlocale() in mlt_factory_init() (moved to melt option -setlocale).
  • Added mlt_properties_copy() and Mlt::Properties::copy().
  • Changed some primarily internal property names to consolidate on “consumer.” as a prefix convention for all consumer properties copied to mlt_frames.
  • Added consumer property deinterlacer to replace deprecated deinterlace_method.
  • Fixed full range color from producer to consumer.
  • Added mlt_slices_size_slice() helper function.
  • Fixed choppy playback due to large values in frame_rate_num or frame_rate_den in mlt_consumer.
  • Added performance optimization for a single slice in mlt_slices.

Modules

  • Added audiolevelgraph video filter to the qt module.
  • Added property segment_gap to the audiospectrum video filter.
  • Added segments property to the audiolevelgraph and audiospectrum filters.
  • Fixed loading image sequence with extended UTF-8 characters in the name of a folder for the qimage producer.
  • Fixed a crash in avformat producer if the rotate property is set after the first frame is fetched.
  • Added the invert_mask property to the shape video filter.
  • Changed avformat producer to normalize frame rates very close to non-integer broadcast frames 24/1.001, 30/1.001, and 60/1.001.
  • Converted the chroma and chroma_hold filters’ key property to a proper color type.
  • Added slice threading to:
    • avformat producer (with FFmpeg v5)
    • swsscale (with FFmpeg v5)
    • lift_gamma_gain
    • shape
    • charcoal
    • vignette
    • wave
    • threshold
    • tcolor
    • sepia
    • mirror
    • invert
    • grain
    • lines
    • spot_remover
  • Improved the speed of the oldfilm filter.
  • Added a faster box_blur filter to the core module and deprecated the boxblur filter in the kdenlive module.
  • Fixed preview scaling for the avfilter.gblur filter.
  • Fixed incorrect text overlap in kdenlivetitle producer.
  • Improved audio synchronization in avformat when playing in reverse.
  • Added much more service metadata (documentation).
  • Fixed full range 10-bit video input in avformat producer.
  • Fixed full range color handling in:
    • avformat producer
    • avcolor_space
    • brightness
    • resize
    • luma transition
    • movit.convert
    • charcoal
    • invert
    • shape
  • Fixed identifying unsupported colorspaces in avformat producer.
  • Fixed preserving the alpha channel in the avfilter.fspp filter.

Other

  • Some CMake fixes.
  • Added dumb-init to the docker (no need to remember docker run --init).

v7.4.0 released

Dec 19, 2021

You can download it from GitHub.

This main highlight of this version is property animation for avfilter!

Framework

  • Added more constructors and assignment operators in C++ wrapper:
    • Mlt::Filter::Filter(Mlt::Filter*)
    • Mlt::Link::Link(Mlt::Link*)
    • Mlt::Link::Link(Mlt::Service&)
    • Mlt::Link::Link(Mlt::Link&)
    • Mlt::Link::Link(Mlt::Link const&)
    • Mlt::Link::operator=(Mlt::Link const&)
    • Mlt::Service::Service(Mlt::Service*)
  • Fixed serialized animation in mlt_animation_serialize_cut_tf() and mlt_animation_serialize_cut() to include a trailing keyframe value.

Modules

  • Added property animation for avfilter filters.
    This only works for numeric parameters, but many libavfilter options that have a type string are actually numeric in nature but accept a string expression.
  • Added rotate property to avformat producer to override orientation.
  • Changed jackrack module to silence false LADSPA plugin loading errors.
  • Fixed a crash in the oldfilm filter when using preview scaling.
  • Fixed timeremap link distorts audio when speed is zero.
  • Added nautical mile and knot units of measure to the gpstext filter.
  • Fixed full range color handling with embedded tractor (e.g. same track transition).
  • Fixed device capture in avformat producer regression in version 7.2.0.
  • Fixed a crash in the matte transition.

Search

Subscribe

Subscribe to News via RSS.

Recent Posts

About

MLT enables you to author, manage, and run multitrack audio/video compositions.
See our Hall of Fame
Copyright © 2008-2018 by Meltytech, LLC.

Social Links