News

v7.14.0 released

Mar 6, 2023

You can download it from GitHub.

Framework

  • Added functions to get detailed info about a producer more directly (without having to get a frame and get its image in the case of avformat producer, for example):
    • mlt_producer_probe()
    • Mlt::Producer::probe()
  • Added functions to add normalizer links to chains (based on a chain_loader.ini configuration data file:
    • mlt_chain_attach_normalizers()
    • Mlt::Chain::attach_normalizers()
  • Changed locale_t to mlt_locale_t to avoid redefinition on some systems (e.g. clang/llvm on win32).
  • Fixed the value provided with event “consumer-thread-join” to be mlt_event_data_thread as documented.
  • Fixed mlt_image_format_planes() for mlt_image_yuv420p.

Modules

  • Added a swresample link to the avformat module.
  • Added a resample link to the resample module.
  • Fixed compatibility of avformat module with FFmpeg version 6.
  • Fixed rotoscoping filter when request image size different than profile.
  • Fixed timeremap link breaking crop filter.
  • Fixed audio/video sync in avformat producer when the video start time is not 0.
  • Improved seeking on a WMA audio file in avformat producer.
  • Optimization to set AVDISCARD_ALL on disinterested streams in avformat producer.
  • Added separate demuxing thread in avformat producer.
  • Added filtergraph property to the avformat producer.
  • Fixed filter movit.convert’s CPU image converter in mlt_tractor and mlt_frame_clone().
  • Fixed using movit module with mlt_chain.
  • Fixed 10-bit full range YUV color input with Movit.
  • Fixed aspect ratio issues in qtblend filter transform.
  • Fixed the movit.luma transition.
  • Changed the qglsl consumer to use an OpenGL core profile version 3.2 context to make it compatible with recent Movit versions.
  • Upgraded glaxnimate git submodule to version 0.5.2.
  • Fixed xml producer incorrectly adds a path prefix to a consumer producer.
  • Fixed using opencv.tracker filter with mlt_chain.
  • Added interlace-aware chroma conversion from mlt_image_yuv422 to yuv420p in the avformat consumer.
  • Added the speed_map property to the timeremap link.
  • Fixed the loader producer not injecting the consumer producer when a xml producer changes the frame rate.
  • Fixed ‘loader’ producer corrupts the profile colorspace and description when it injects a consumer producer.
  • Added a loader-nogl producer to the core module based on loader but prevents adding movit-based filters.
  • Changed count producer to take an optional string argument with the name of a loader producer.
  • Fixed yadif deinterlace not working in a mlt_chain.
  • Fixed the bob, weave, greedy, onefield deinterlace filter methods on x86-64 architecture.

Other

  • Fixed SWIG python shadow functions for mlt7.
  • Added CMake build option MOD_GLAXNIMATE_QT6.

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).

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