❌

Normale weergave

DDrawCompat v0.7.1

Door: narzoul
25 Januari 2026 om 16:55

General changes:

  • Fixed a potential crash when clearing helper surfaces (#530)
  • Fixed a regression in v0.7.0 causing corrupted mipmaps on NVIDIA GPUs (#530)
  • Fixed a deadlock in Lunar: Silver Star Story on Windows 7 (#531)
  • Fixed several issues with depth buffer CPU access (#489, #529, #534, #542)
  • Games that use depth buffer CPU access now support antialiasing on all GPUs (#160, #524)
  • Fixed a bug related to shader constants that could cause various display glitches on AMD GPUs
  • Fixed the gamma ramp resetting to default after alt-tabbing in some cases (e.g. in Revenant)
  • Points and lines rendered by Direct3D now preserve their relative thickness when using resolution scaling (currently not supported with hardware vertex processing (T&L) or video memory vertex buffers) (#339)
  • Fixed a potential crash when using ResolutionScaleFilter=bilinear
  • Improved support for resolution scaling (#542)
  • Fixed fog of war not updating in Star Trek: Armada when using ColorKeyMethod=alphatest
  • Fixed a potential crash on startup when libretro common-shaders are available (e.g. in Delta Force 2)
  • Fixed stuttering cursor in Half-Life WON 1.0.1.6 menus
  • Fixed a crash when playing movies on some Intel GPUs in Populous: The Beginning
  • Fixed alt-tab issues in Commandos: BEL demo (#544)

Updated configuration settings:

  • CapsPatches: added &=~ operator and fixed the broken = operator
  • CompatFixes: added forcevidmem, nodepthblt, nodepthlock and singlemonitor options
  • SupportedDepthFormats: removed the 15-bit depth options

  •  

DDrawCompat v0.7.0

Door: narzoul
17 December 2025 om 13:59

General changes:

  • Fixed texture transparency issues with the ColorKeyMethod=alphatest setting in House of the Dead 2 (#447)
  • Fixed a crash in Moto Racer 2 (#452)
  • Fixed a deadlock when exiting Flower Story (#454)
  • Fixed a crash related to DXTn texture formats (#383)
  • Fixed palette issues in Armed & Delirious (#402)
  • Fixed palette issues with device-dependent bitmaps (#404)
  • Fixed some rendering issues in Final Racing: CyberSpace 2001 (#271)
  • Fixed blank textures in Desperados: Be Quick or Be Dead (#527)
  • Fixed a crash with the ColorKeyMethod=alphatest setting in The Legacy of Rosemond Hill
  • Fixed texture filtering for sprites when enabling the SpriteDetection setting
  • Fixed window screenshots (Alt+Prtscn) in scaled fullscreen mode (#480)
  • Fixed Steam screenshot/recording issues on some drivers (#480)
  • Fixed a performance regression in Hostile Waters: Antaeus Rising (#485)
  • Fixed a deadlock in Revenant (#489)
  • Fixed fullscreen mode not working on non-primary monitors (#501)
  • Fixed black window content when starting Recoil (issue #486)
  • Fixed gamma issues in Thief Gold (#503)
  • Fixed graphical artifacts in Hostile Waters: Antaeus Rising (#485) and Jane's F-15 (#449)
  • Fixed the FpsLimiter setting not working with the SetDIBitsToDevice function (#506)
  • Fixed potential thread safety issues when changing configuration settings through the overlay
  • Added a workaround for missing Indeo video codecs on recent Windows 11 versions (#508)
  • Fixed temporary dialog window glitches in Lego Loco (#179)
  • Fixed Z-fighting with the Discord overlay
  • Fixed glitchy menu bar in Daytona USA (#471)
  • Fixed graphical artifacts in Warhammer: Dark Omen (#514)
  • Fixed incorrectly rendered buttons in A-10 Cuba! (#479)
  • Fixed dialog windows opening off-screen in scaled fullscreen mode (#519)
  • Fixed AltTabFix=noactivateapp not restoring properly when popup windows are open (#519)
  • Fixed combo box dropdown lists extending beyond the bottom of the screen in scaled fullscreen mode (#519)
  • Fixed a crash in Dukes of Hazzard: Racing for Home (#520)
  • Fixed rendering issues on very old Intel GPUs (#463)
  • Reduced flickering of desktop image during display mode changes in fullscreen mode
  • Fixed screen freezing in The Sims on some Intel GPUs (#523)
  • Disabled CPU access to multisampled depth buffers on RDNA drivers due to crashes (#524)
  • Fixed the DesktopResolution setting not applying early enough for Lego Loco (#179)
  • Fixed incorrect cursor image in some games after alt-tabbing (e.g. Beach Life, Red Alert 2)
  • Fixed various rendering issues affecting modern Intel GPU drivers (igd9trinity32.dll)

Updated configuration settings:

  • DisplayAspectRatio: can now be changed via the configuration overlay
  • DisplayFilter: added integer option; added support for the libretro common-shaders library (check the wiki for further information)
  • SurfacePatches: now also applies to system memory surfaces and allows specifying a percentage between 1 and 1000 (#446)

New configuration settings:

  • GdiInterops

  •  

DDrawCompat v0.6.0

Door: narzoul
23 Maart 2025 om 22:34

General changes:

  • Fixed incorrect surface pitch for DXTn system memory textures, which was causing graphics artifacts in Europa 1400 on Intel GPUs (#348)
  • Disabled vertex buffer optimizations, which was causing graphics artifacts or crashes in Competitions at Rosemond Hill (#354)
  • Fixed palette issues causing incorrect colors in Star Wars: Rebellion (#379)
  • Fixed some graphics artifacts with palettized textures in Metro-Police (#373)
  • Fixed a crash during initialization on Windows Vista
  • Fixed a crash in Braveheart (#399)
  • Fixed raw mouse input not getting blocked while the configuration overlay is open
  • Fixed blank videos in some games using QuickTime 7 (#273)
  • Fixed Direct3D hardware accelerated mode in Jane's F-15 (#178)
  • Fixed red screen flash effect when getting hit in Shogo M.A.D. (#246)
  • Fixed menu issues in Worms Armageddon (#370)
  • Fixed incorrectly rendered shadows in Superbike 2001 (#385)
  • Fixed video playback issues in Heavy Gear (#392)
  • Fixed blank loading screen in Heavy Gear 2 when in-game color depth is set to 32 bits (#398)
  • Fixed the configuration overlay's Reset/Import/Export buttons not applying to settings outside the current view
  • Fixed a bug in the runtime's handling of point primitives in execute buffers, which was causing crashes in Terracide (#433)
  • Gamma ramps are now also emulated in exclusive fullscreen mode, to work around missing native support on NVIDIA drivers
  • Fixed the configuration/stats overlays sometimes automatically hiding when they shouldn't
  • Fixed lower than expected presentation rate when using variable refresh rate technologies
  • Fixed Jane's F-15 sometimes switching to windowed mode in the menus
  • Fixed ResolutionScale and RenderColorDepth settings sometimes not applying to some frames
  • Added an experimental workaround for freezes on Windows 11 24H2 when using NVIDIA GPUs with single processor affinity (#387)
  • Fixed various stability issues (crashes and deadlocks)
  • Mouse sensitivity has been changed to be consistent with the desktop by default, use the new MouseSensitivity setting if experiencing problems (the native option reverts to the previous behavior)

Updated configuration settings:

  • AlternatePixelCenter: added custom option (#429)
  • AltTabFix: fixed some issues with the noactivateapp option (#364)
  • ColorKeyMethod: removed auto option, default value changed to alphatest(1)
  • CpuAffinity: no longer applies to DDrawCompat's own threads and some safe system threads
  • DesktopResolution: added initial option
  • FpsLimiter: the flipstart and flipend options now also apply when presenting via fullscreen copy (blit)
  • FullscreenMode: added VSync parameter to the exclusive option
  • SpriteDetection: now tests all triangles in a batch instead of just the first one (#427)
  • TextureFilter: fixed interworking with mipmaps (#364)

New configuration settings:

  • CapsPatches
  • CompatFixes
  • EnableDDrawCompat
  • MousePollingRate
  • MouseSensitivity
  • PresentDelay
  • SpriteAltPixelCenter
  • SupportedDevices
  • SupportedRefreshRates

Removed configuration settings:

  • AlignSysMemSurfaces: use CompatFixes=unalignedsurfaces instead of AlignSysMemSurfaces=off
  • GdiStretchBltMode: use CompatFixes=nohalftone instead of GdiStretchBltMode=coloroncolor
  • RemoveBorders: use CompatFixes=nowindowborders instead of RemoveBorders=on

  •  

DDrawCompat v0.5.3

Door: narzoul
6 Oktober 2024 om 18:17

General changes:

  • Fixed blocking of the ForceDirectDrawEmulation shim (#280)
  • Fixed a crash on some old Intel drivers (#299, #302, #315)
  • Fixed windowed mode presentation (#298, #308, #312, #314)
  • Fixed dialog boxes not appearing in Lego Loco (#179)
  • Added missing check for invalid color depth during display mode change (#303)
  • Fixed resolution scaling with D24S8 depth format when S8D24 is not supported (#300)
  • Fixed some flickering GUI elements in Sacred Gold
  • Fixed video playback on systems that have the VMR-9 DirectShow filter enabled (#299)
  • Fixed launcher window turning black in Wild Wild West: The Steel Assassin (#306)
  • Fixed rendering issues in Ultima IX when the game's MultiPassChromakey setting is set to 1 or 2
  • Fixed a race condition that could cause a crash when installing hooks (#306)
  • Fixed AltTabFix=keepvidmem(1) not keeping the back buffers of the primary surface chain (#316)
  • Removed dependency on the Windows debugger engine (dbgeng.dll) (#318)
  • Fixed blank config/stats overlays on AMD Radeon RX 7xxx GPUs (#325)
  • Improved the fix for inaccurate cursor clipping in DPI unaware mode (#319)
  • Fixed missing ground textures in Carnivores on some GPUs (#320)
  • Fixed stuttering fullscreen presentation in some cases (#298)
  • Fixed a window clipping issue when moving dialog boxes in Close Combat 4
  • Fixed a performance issue with windowed fullscreen GDI presentation on some systems (#273)
  • Fixed oversized dialog windows (except non-client area) in some fullscreen games in DPI aware mode
  • Fixed mispositioned trackbar sliders in Red Alert 2 in DPI aware mode
  • Fixed ColorKeyMethod=alphatest not working on some textures in Carnivores
  • Fixed broken presentation after switching from fullscreen to windowed mode in some games
  • Fixed a deadlock when alt-tabbing in Star Trek: Armada with the config overlay open
  • Fixed hotkeys not working in some games that use DirectInput 8
  • Fixed presentation in some palettized fullscreen games, e.g. Carmen Sandiego's Great Chase Through Time
  • Fixed incorrect texture filtering applied in some cases, e.g. to trees in Carnivores
  • Fixed invisble network detection window in Empire Earth NeoEE (#251)

Updated configuration settings:

  • StatsRows: ddiusage was removed from the default value to improve performance

New configuration settings:

  • GdiStretchBltMode
  • VertexFixup

Update (October 6, 2024): The v0.5.2-17-g291e50ac and older builds in the DDrawCompat-v0.5.3-debug-previous-builds.7z asset were broken by the Windows 11 24H2 update. Patched builds have been added with the DDrawCompat-v0.5.3-debug-previous-builds-win11-24h2.7z asset to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes. v0.5.2-18-g89b2a631 and newer builds are also included for completeness' sake. These were simply recompiled without source code changes.

  •  

DDrawCompat v0.5.2

Door: narzoul
6 Oktober 2024 om 18:10

General changes:

  • Fixed incompatibilities with Empire Earth NeoEE mod (#251)
  • Fixed black screen and ClipCursor issues in Mig Alley main menu
  • Fixed main menu issues with WinZMod (#196)
  • Fixed sporadic crashes caused by registry hooks
  • Fixed Dark Earth screen transition effects (#260)
  • Fixed invisible menu buttons after alt-tabbing in Red Alert 2 (#262)
  • Fixed slow loading of Skirmish menu in Red Alert 2 (#288)
  • Fixed broken keyboard input in some games (#254)
  • Fixed a GDI resource leak when NVIDIA overlay is enabled (#282)
  • Fixed video playback issues in Prince of Persia 3D (#273)
  • Fixed Intel Indeo Video codec support on Windows 7 (#274)
  • Fixed display driver timeouts caused by invalid FPU state (#293)
  • Fixed rendering issues caused by custom viewports on AMD GPUs (#290)
  • Fixed sporadic deadlocks in some games when alt-tabbing
  • Fixed handling of invalid alpharef render state value on old Intel drivers (#295)
  • Fixed flashing screen in Glover (#295)
  • Fixed inaccurate cursor clipping in DPI unaware mode
  • Fixed some display issues when using D3D9On12 with a RenderColorDepth setting not matching the application's color depth
  • When ForceD3D9On12 is off, Intel GPUs that use D3D9On12 by default will now try to use igd9trinity32.dll instead
  • Available surface formats now include all DX9 formats (#259)
  • Added support for Steam overlay in fullscreen mode

Updated configuration settings:

  • AltTabFix: merged keepwithmemnp into keepvidmem as a parameter, added noactivateapp option
  • RenderColorDepth: default value changed to 32

New configuration settings:

  • SurfacePatches

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

  •  

DDrawCompat v0.5.1

Door: narzoul
6 Oktober 2024 om 18:05

This release fixes some issues introduced in v0.5.0:

  • Fixed an issue that made DDrawCompat unusable with Intel GPU drivers (#255, #256)
  • Fixed the DisplayFilter=point setting not working as expected (#252)
  • Reverted a small fix that could cause a crash (#256)

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

  •  

DDrawCompat v0.5.0

Door: narzoul
6 Oktober 2024 om 18:05

General changes:

  • Fixed crashes when loading hooks on Windows 7 (#149)
  • Fixed a crash caused by a clipper reference counting error
  • Fixed texture creation errors in Extreme-G 2 (#159)
  • Fixed a GDI resource leak and other issues with emulated hardware cursors (#148, #152)
  • Fixed several crashes and other issues related to D3D9On12
  • Fixed QuickTime videos in Carmen Sandiego series (#156)
  • Fixed a black screen issue when app resolution is higher than display resolution
  • Fixed a deadlock when exiting Age of Wonders (#167)
  • Disabled timer resolution throttling to fix some stuttering issues
  • Fixed occasional deadlocks when alt-tabbing
  • Added emulation of unsupported render target formats to fix NVIDIA rendering issues in Midtown Madness 2 (#159)
  • Fixed palettized color fills on NVIDIA GPUs (#201)
  • Fixed HUD glitches in Jane's FA-18 (#175)
  • Fixed black briefing screen in StarCraft (#206)
  • Fixed a deadlock when using resolution scaling (#197)
  • Fixed a crash in CreateDIBitmap when BITMAPINFO is null
  • Reverted sRGB gamma correction on bilinear blits that was accidentally introduced in v0.4.0 (#208)
  • Fixed incorrect detection of default gamma ramps and a crash related to using non-default gamma ramps (#216)
  • Fixed invisible dialog windows in RollerCoaster Tycoon (#225)
  • Clicking on the scroll bar shafts in the config overlay now scrolls by 5% instead of jumping immediately to the cursor position
  • Windows compatibility shims can no longer override the FullscreenMode=borderless setting to exclusive (#235)
  • Reduced screen flickering during temporary display mode changes in fullscreen mode
  • Fixed most of the cursor trail issues in Lego Loco (#179)
  • Intel Indeo Video codecs are now automatically enabled for processes running with DDrawCompat
  • Fixed a crash in Colin McRae Rally (#232)
  • Fixed software rendered palettized textures when the PalettizedTextures setting is set to off
  • Added a workaround for OBS window recording: use a target window whose title begins with the "[DDrawCompat]" prefix (#109)
  • Fixed taskbar thumbnails (#231)
  • Improved support for DPI unaware mode on high DPI displays
  • DirectDraw no longer forces the high DPI aware compatibility setting on the executable when it enters fullscreen mode
  • Broken tooltip fade animations are now replaced with the classic slide animations
  • DPI scaling no longer affects emulated hardware cursors, which resulted in oversized cursors
  • Fixed FlipToGDISurface result code when the GDI surface is already active (#204)
  • Maximum reported disk space is limited to 2GB to fix some applications getting a "not enough free disk space" error
  • Fixed an occasional crash caused by resolution scaling when alt-tabbing in Need for Speed III
  • Added support for depth fill blits on NVIDIA GPUs
  • Depth fills now work correctly with antialiased and resolution scaled depth buffers
  • Fixed hotkeys not working in some cases
  • Added a configuration file with default settings (commented out) in the Tools directory of the source code
  • Added a stats overlay (see new settings starting with the Stats prefix below)

Updated configuration settings:

  • AltTabFix: added keepvidmemnp option
  • ConfigHotKey: added alt and ctrl as synonyms for menu and control respectively
  • DisplayFilter: added bicubic, lanczos and spline options
  • PalettizedTextures: default value changed to off
  • RenderColorDepth: added appd8, appd10, 16d8, 16d10 and 32d10 options

New configuration settings:

  • ColorKeyMethod
  • ConfigRows
  • ConfigTransparency
  • CpuAffinityRotation
  • CrashDump
  • DepthFormat
  • DesktopResolution
  • DisplayAspectRatio
  • StatsColumns
  • StatsAggregateTime
  • StatsHotKey
  • StatsPosX
  • StatsPosY
  • StatsRows
  • StatsTransparency
  • StatsUpdateRate
  • SupportedDepthFormats
  • SupportedTextureFormats
  • TerminateHotKey
  • VertexBufferMemoryType

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

  •  

DDrawCompat v0.4.0

Door: narzoul
6 Oktober 2024 om 18:03
  • Fixed hooking of delay-loaded DLL functions (#99)
  • GDI redirection is now restricted to the main monitor in fullscreen mode, which fixes display issues with games not respecting surface pitch (#110)
  • Fixed conflicts with outdated versions of DbgHelp.dll shipping with some games
  • Fixed performance issues caused by D3DKMTWaitForVerticalBlankEvent on Windows 7 (#120)
  • Prevent Windows 7 from dynamically disabling desktop composition, which fixes main menu flickering in Rogue Spear (#126)
  • Added a partial workaround for a bug affecting NVIDIA drivers, where black texels were treated as transparent even when color keying was disabled for the texture stage
  • Fixed an issue with the application taskbar button sometimes remaining in the taskbar after exiting the application
  • Added a file-based configuration system and an in-game config overlay (see the wiki for details)
  • Removed the ReleaseWithDebugLogs build type, since LogLevel is now configurable
  • New configuration options:
    • AlignSysMemSurfaces
    • AlternatePixelCenter
    • AltTabFix
    • Antialiasing
    • BltFilter
    • ConfigHotkey
    • CpuAffinity
    • DesktopColorDepth
    • DisplayFilter
    • DisplayRefreshRate
    • DisplayResolution
    • DpiAwareness
    • FontSmoothing
    • ForceD3D9On12
    • FpsLimiter
    • FullscreenMode
    • LogLevel
    • PalettizedTextures
    • RemoveBorders
    • RenderColorDepth
    • ResolutionScale
    • ResolutionScaleFilter
    • SoftwareDevice
    • SpriteDetection
    • SpriteFilter
    • SpriteTexCoord
    • SupportedResolutions
    • TextureFilter
    • ThreadPriorityBoost
    • VSync
    • WinVersionLie

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

  •  

DDrawCompat v0.3.2

Door: narzoul
6 Oktober 2024 om 18:02
  • Fixed a deadlock when loading DDrawCompat on Windows 11 22H2

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

  •  

DDrawCompat v0.5.4

Door: narzoul
26 Augustus 2024 om 13:17

General changes:

  • Fixed occasional frame drops on NVIDIA GPUs (#298)
  • Fixed graphical artifacts in Nocturne (#336)
  • Fixed VertexFixup=cpu setting not working on older Intel GPUs (#340)
  • Fixed performance issues on old versions of Intel's new native driver, igd9trinity32.dll
  • Fixed a crash when the GPU driver's WDDM version is higher than what the runtime supports
  • Fixed an occasional deadlock when alt-tabbing
  • Fixed some issues with DPI unaware cursor positioning (#342)
  • Fixed an occasional crash when closing the Config overlay (#342)
  • Added support for games using ddrawex.dll (#349)

Updated configuration settings:

  • ForceD3D9On12: added forceoff option, the off option no longer replaces D3D9On12 with igd9trinity32.dll
  • StatsRows: added vblankcount, vblankrate, vblanktime options
  • VSync: added wait option

New configuration settings:

  • ViewportEdgeFix

  •  

v2.5.0 Stable

Door: Julusian
10 December 2025 om 19:49

Important

We recommend running CasparCG 2.5 on CPUs which support AVX2. Officially Chrome claims to require AVX2, and it is required for some of our in-progress HDR support.
Intel CPUs based on Haswell or later support this, which were first released to consumers in 2013, or 2014 for servers.

Starting with CasparCG 2.6, this will become a requirement.

Make sure to install the latest MSVC runtime, the compiler update requires a newer version than 2.4 https://aka.ms/vc14/vc_redist.x64.exe

Core

Improvements
  • Initial support for HDR. This is limited to a subset of producers and consumers at this stage.
  • Build for Windows with VS2022
  • Rework linux builds to produce ubuntu deb files
  • Update ffmpeg to 7.0
  • Reimplement mixer transforms, to handle routes correctly
  • Support more pixel formats from ffmpeg, to preserve colour accuracy better
  • Support running on headless linux
  • Transitions: Additional behaviours
Fixes
  • Build with boost 1.85/1.86/1.87/1.88
  • Build with ffmpeg 7.1
  • Only produce mixed frames on channels which have consumers
  • Routed channels not compositing correctly when channel used a MIXER KEY
  • Handle audio for fractional framerates properly
  • Gracefully exit on SIGINT and SIGTERM

Producers

Improvements
  • FFmpeg: Support loading with a scaling-mode, to configure how clips get fit into the channel
  • FFmpeg: Support more pixel formats without cpu conversion
  • FFmpeg: Enable alpha for webm videos
  • Image: Support loading with a scaling-mode, to configure how images get fit into the channel
  • Image: Replace freeimage with ffmpeg
  • HTML: Update CEF to 142
  • HTML: Support audio
Fixes
  • Route: Use full field rate when performing i->p channel route
  • HTML: Gracefully handle page load errors
  • HTML: Always set cache path

Consumers

Improvements
  • Screen: Set size and position from AMCP
  • Screen: Improve performance
  • Image: Propagate AMCP parameters from PRINT command
  • FFmpeg: Remove unnecessary forced conversion to YUVA422
  • Decklink: Support explicit yuv output (requires AVX2)
  • Decklink: Allow selecting device by hardware persistent id
Fixes
  • FFmpeg: Correctly handle PTS on frame drop

Full Changelog: v2.4.3-stable...v2.5.0-stable

  •  

August 22nd, 2025, FFmpeg 8.0 "Huffman"

23 Augustus 2025 om 08:26

A new major release, FFmpeg 8.0 "Huffman", is now available for download. Thanks to several delays, and modernization of our entire infrastructure, this release ended up being one of our largest releases to date. In short, its new features are:

  • Native decoders: APV, ProRes RAW, RealVideo 6.0, Sanyo LD-ADPCM, G.728
  • VVC decoder improvements: IBC, ACT, Palette Mode
  • Vulkan compute-based codecs: FFv1 (encode and decode), ProRes RAW (decode only)
  • Hardware accelerated decoding: Vulkan VP9, VAAPI VVC, OpenHarmony H264/5
  • Hardware accelerated encoding: Vulkan AV1, OpenHarmony H264/5
  • Formats: MCC, G.728, Whip, APV
  • Filters: colordetect, pad_cuda, scale_d3d11, Whisper, and others

A new class of decoders and encoders based on pure Vulkan compute implementation have been added. Vulkan is a cross-platform, open standard set of APIs that allows programs to use GPU hardware in various ways, from drawing on screen, to doing calculations, to decoding video via custom hardware accelerators. Rather than using a custom hardware accelerator present, these codecs are based on compute shaders, and work on any implementation of Vulkan 1.3.
Decoders use the same hwaccel API and commands, so users do not need to do anything special to enable them, as enabling Vulkan decoding is sufficient to use them.
Encoders, like our hardware accelerated encoders, require specifying a new encoder (ffv1_vulkan). Currently, the only codecs supported are: FFv1 (encoding and decoding) and ProRes RAW (decode only). ProRes (encode+decode) and VC-2 (encode+decode) implementations are complete and currently in review, to be merged soon and available with the next minor release.
Only codecs specifically designed for parallelized decoding can be implemented in such a way, with more mainstream codecs not being planned for support.
Depending on the hardware, these new codecs can provide very significant speedups, and open up possibilities to work with them for situations like non-linear video editors and lossless screen recording/streaming, so we are excited to learn what our downstream users can make with them.

The project has recently started to modernize its infrastructure. Our mailing list servers have been fully upgraded, and we have recently started to accept contributions via a new forge, available on code.ffmpeg.org, running a Forgejo instance.

As usual, we recommend that users, distributors, and system integrators to upgrade unless they use current git master.

  •  

v2.4.3 Stable

Door: Julusian
26 Februari 2025 om 17:54

Core

Fixes
  • Improve error handling for invalid config files #1571
  • Flush logs before exit #1571
  • Check audio cadence values look sane before accepting format #1588
  • Cross-channel routes from progressive to interlaced showing lots of black #1576
  • Transition: ignoring some transforms of input frames #1602

Producers

Fixes
  • FFmpeg: fix crash on invalid frame header
  • Decklink: Crash with ffmpeg 7 #1582
  • HTML: Fix crash during uninit on exit
  • Image: update state during init #1601

Consumers

Fixes
  • FFmpeg: set frame_rate for rtmp streams #1462

Full Changelog: v2.4.2-stable...v2.4.3-stable

  •  

v2.4.1 Stable

Door: Julusian
8 Oktober 2024 om 17:58

Core

Fixes
  • Fix bad config file examples
  • Fix casparcg_auto_restart.bat not starting scanner
  • Revert removal of tbbmalloc, due to notable performance loss on windows
  • Supress some cmake build warnings
  • Build failure when doxygen installed on system
  • Build failures with ffmpeg 7.0
  • Revert RPATH linking changes

Producers

Fixes
  • FFmpeg: Ignore ndi:// urls
  • FFmpeg: Using both in and seek could result in incorrect duration
  • Route: Race condition during destruction
  • Image: Update freeimage on windows with some CVE fixes and failures with certain pngs
  • Image: Respect EXIF rotate flag
  • NDI: list local sources

Consumers

Fixes
  • Decklink: subregion copy not respecting frame height
  • Decklink: subregion vertical offset
  • Decklink: subregion height limited with some formats

Full Changelog: v2.4.0-stable...v2.4.1-stable

  •  

v2.4.0 Stable

Door: Julusian
13 Mei 2024 om 01:05

Changes since 2.4.0 RC 1:

Core

Improvements
  • Support 4K DCI frames
  • Build: Allow configuring diag font path at build time
  • AMCP: Add CALLBG command to perform CALL on background producer
Fixes
  • OSC: Background state not being produced
  • Scanner: resolve issues with database not being updated

Producers

Improvements
  • HTML: Expose cache-path setting
Fixes
  • FFmpeg: Unable to play files with extra dots in filenames
  • FFmpeg: Support parameters with name containing a dash
  • FFmpeg: Audio channels being swapped unexpectedly

Changes since 2.3.3

Core

Improvements
  • Custom resultions can be specified in casparcg.config
  • Interlaced mixer pipeline to ensure field accuracy
  • Preserve unicode characters in console input/output
  • Producers to be run at startup can be defined in casparcg.config
  • Support 8K frames
  • Support 4K DCI frames
  • Remove undocumented CII and CLK protocol implementations
  • Config parameter can be an absolute system path, not just relative to the working directory
  • AMCP: Add CLEAR ALL command
  • AMCP: Command batching syntax
  • AMCP: LOAD/LOADBG/PLAY commands accept a CLEAR_ON_404 parameter, to instruct the layer to be cleared when the requested file was not found
  • AMCP: Add commands to subscribe and unsubscribe to OSC on any port number
  • AMCP: Add CALLBG command to perform CALL on background producer
  • Build: Require C++17 for building
  • Build: Support newer versions of Boost
  • Build: Support newer versions of TBB
  • Build: Disable precompiled headers for linux
  • Build: Support VS2022
  • Build: Replace nuget and locally committed dependencies with direct http downloads
  • Build: Allow configuring diag font path at build time
  • Linux: Support setting thread priorities
  • Linux: Initial ARM64 compatibility
  • Linux: Rework build to always use system boost
  • Linux: Rework build process to better support being build as a system package
  • Logging: add config option to disable logging to file and to disable column alignment
  • Transitions: Support additional audio fade properties for STING transition
Fixes
  • Crash upon exiting if HTML producer was running
  • AMCP: Ensure all consumers and producers are reported in INFO commands
  • AMCP: Deferred mixer operations were not being cleared after being applied
  • AMCP: LOAD command would show a frame or two of black while new producer was loading
  • OpenGL: Fix support for recent Linux drivers
  • Linux: Fix endless looping on stdin
  • Route: Fix error when clearing layer
  • Transitions: Fix wipe duration

Producers

Improvements
  • Decklink: Require driver 11.0 or later
  • Decklink: Scale received frames on GPU
  • FFmpeg: Update to v5.1
  • FFmpeg: Improve performance
  • FFmpeg: Allow specifying both SEEK and IN for PLAY commands
  • HTML: Update to CEF 117
  • HTML: CALL 1-10 RELOAD to reload a renderer
  • HTML: Expose cache-path setting
  • NDI: Upgrade to NDI5
  • System Audio: Allow specifying output device to use
Fixes
  • Decklink: Log spamming when using some input formats
  • FFmpeg: Prevent loading unreadable files
  • FFmpeg: Unable to play files with unicode filenames
  • FFmpeg: Don't lowercase filter parameters
  • FFmpeg: Support parameters with name containing a dash
  • HTML: media-stream permission denied
  • HTML: Expose angle backend config field, the best backend varies depending on the templates and machine
  • HTML: Crash when multiple iframes were loaded within a renderer
  • Image: Improve file loading algorithm to match the case insensitive and absolute path support already used by ffmpeg

Consumers

Improvements
  • Artnet: New artnet consumer
  • Decklink: Configure device duplex modes in casparcg.config
  • Decklink: Output a subregion of the channel
  • Decklink: Add secondary outputs in a consumer, to ensure sync when used within a single card
  • iVGA: Remove consumer
  • NDI: Upgrade to NDI5
Fixes
  • Decklink: Fix stutter when loading clips
  • FFmpeg: Fix RTMP streaming missing headers
  • NDI: dejitter

  •  

v2.4.0 RC 1

Door: Julusian
28 Januari 2024 om 14:13

Changes since Beta 1:

Important

There is a known bug in the version of media-scanner included in this release.
It is recommended to replace it with v1.3.2 or newer from https://github.com/CasparCG/media-scanner/releases

Core

Improvements
  • Config parameter can be an absolute system path, not just relative to the working directory
  • Linux: Rework build to always use system boost
  • Linux: Rework build process to better support being build as a system package
  • Audio: 16 channel audio
Fixes
  • Crash upon exiting if HTML producer was running
  • AMCP: LOAD command would show a frame or two of black while new producer was loading

Producers

Fixes
  • FFmpeg: Unable to play files with extra dots in filenames
  • FFmpeg: Don't lowercase filter parameters
  • HTML: Debugger connection closes
  • HTML: Expose angle backend config field, the best backend varies depending on the templates and machine
  • HTML: Crash when multiple iframes were loaded within a renderer
  • Image: Improve file loading algorithm to match the case insensitive and absolute path support already used by ffmpeg

  •  

v2.4.0 Beta 1

Door: Julusian
27 November 2023 om 18:21

CasparCG 2.4.0 Beta 1

Core

Improvements
  • Custom resultions can be specified in casparcg.config
  • Interlaced mixer pipeline to ensure field accuracy
  • Preserve unicode characters in console input/output
  • Producers to be run at startup can be defined in casparcg.config
  • Support 8K frames
  • Remove undocumented CII and CLK protocol implementations
  • AMCP: Add CLEAR ALL command
  • AMCP: Command batching syntax
  • AMCP: LOAD/LOADBG/PLAY commands accept a CLEAR_ON_404 parameter, to instruct the layer to be cleared when the requested file was not found
  • AMCP: Add commands to subscribe and unsubscribe to OSC on any port number
  • Build: Require C++17 for building
  • Build: Support newer versions of Boost
  • Build: Support newer versions of TBB
  • Build: Disable precompiled headers for linux
  • Build: Support VS2022
  • Build: Replace nuget and locally committed dependencies with direct http downloads
  • Linux: Support setting thread priorities
  • Linux: Initial ARM64 compatibility
  • Logging: add config option to disable logging to file and to disable column alignment
  • Transitions: Support additional audio fade properties for STING transition
Fixes
  • AMCP: Ensure all consumers and producers are reported in INFO commands
  • AMCP: Deferred mixer operations were not being cleared after being applied
  • OpenGL: Fix support for recent Linux drivers
  • Linux: Fix endless looping on stdin
  • Route: Fix error when clearing layer
  • Transitions: Fix wipe duration

Producers

Improvements
  • Decklink: Require driver 11.0 or later
  • Decklink: Scale received frames on GPU
  • FFmpeg: Update to v5.1
  • FFmpeg: Improve performance
  • FFmpeg: Allow specifying both SEEK and IN for PLAY commands
  • HTML: Update to CEF 117
  • HTML: CALL 1-10 RELOAD to reload a renderer
  • NDI: Upgrade to NDI5
  • System Audio: Allow specifying output device to use
Fixes
  • Decklink: Log spamming when using some input formats
  • FFmpeg: Prevent loading unreadable files
  • FFmpeg: Unable to play files with unicode filenames
  • HTML: media-stream permission denied

Consumers

Improvements
  • Artnet: New artnet consumer
  • Decklink: Configure device duplex modes in casparcg.config
  • Decklink: Output a subregion of the channel
  • Decklink: Add secondary outputs in a consumer, to ensure sync when used within a single card
  • iVGA: Remove consumer
  • NDI: Upgrade to NDI5
Fixes
  • Decklink: Fix stutter when loading clips
  • FFmpeg: Fix RTMP streaming missing headers
  • NDI: dejitter

  •  

v2.3.2 LTS Stable

Door: Julusian
11 Maart 2021 om 13:25

Producers

Fixes
  • Packages: Update TBB library to v2021.1.1 - fixes CPU and memory growth when deleting threads
  • FFmpeg: Fix possible deadlock leading to producer not being cleaned up correctly

  •  

v2.3.2 LTS Beta

Door: Julusian
25 Januari 2021 om 19:45

Producers

Fixes
  • Packages: Update TBB library to v2021.1.1 - fixes CPU and memory growth when deleting threads
  • FFmpeg: Fix possible deadlock leading to producer not being cleaned up correctly

  •  

v2.3.1 LTS Stable - Flash EOL Hotfix

Door: Julusian
15 December 2020 om 11:56

This is the first patch release for 2.3.

Primarily this contains a crtical fix to provide support for flash templates to be used after the flash player EOL at the end of 2020.
For more information on the issue see: #1352

Thanks to @silid for developing the fix and @didikunz for documenting the process and being a key member of chasing for these releases to be made

See the attached PDF, or the copy in the Zip for steps on how to prepare your system.

For any help or questions, check the forum

Changes

Producers

Fixes
  • Flash: Use proper file urls when loading templates, to allow it to work after Flash Player EOL
  • FFmpeg: Various HTTP playback improvements

  •  

2.0.7.1 - Flash EOL Hotfix

Door: Julusian
15 December 2020 om 11:56

This is a critical fix for the 2.0.7 release, to provide support for flash templates to be used after the flash player EOL at the end of 2020

For more information on the issue see: #1352

This has been built to be as close as possible to the previous 2.0.7 release, to minimise any risk of deployment.

Thanks to @silid for developing the fix and @didikunz for documenting the process and being a key member of chasing for these releases to be made

See the attached PDF, or the copy in the Zip for steps on how to prepare your system.

For any help or questions, check the forum

  •  

CasparCG Server v2.3.0 LTS Stable

Door: dotarmin
19 Augustus 2020 om 09:58

CasparCG Server v2.3.0 LTS Stable πŸš€

We're are really thrilled to announce that we are releasing first LTS version ever of CapsarCG Server, version 2.3.0 LTS. We have focused on stability, reliability and the code base in this version so we have a solid base to stand on for future versions. For a complete list of changes please check out the changes below:

A version of CasparCG Client that works with this version of the server is found as attachment below

Changes

Producers

Features
  • FFmpeg: Add more common file extensions to the supported list
  • NDI: Require minimum of NDI v4.0
  • Flash: Disable by default, requires enabling in the config file
  • FFmpeg: Remove fixed thread limit to better auto select a number
  • Decklink: Detect and update input format when no format is specified in AMCP
  • Decklink: Improve performance (gpu colour conversion & less heavy deinterlacing when possible)
  • Decklink: LOAD DECKLINK will display live frames instead of black
  • FFmpeg: Update to 4.2.2
  • HTML: Better performance for gpu-enabled mode
  • HTML: window.remove() has been partially reimplemented
  • NDI: Native NDI producer
  • Route: Allow routing first frame of background producer
  • Route: zero delay routes when within a channel, with 1 frame when cross-channel
  • Transition: Add sting transitions
  • Add frames_left field to osc/info for progress towards autonext
Fixes
  • HTML: Minimise performance impact on other producers
  • Decklink: Downgrade severity of video-format not supported
  • FFmpeg: Correctly handle error codes. Ignore exit errors during initialisation
  • Route: Detect circular routes and break the loop
  • Colour: parsing too much of amcp string as list of colours
  • FFmpeg: Always resample clips to 48khz
  • FFmpeg: Ensure frame time reaches the end of the clip
  • FFmpeg: RTMP stream playback
  • FFmpeg: SEEK and LENGTH parameters causing issues with AUTONEXT
  • FFmpeg: Ensure packets/frames after the decided end of the clip are not displayed
  • FFmpeg: Incorrect seek for audio when not 48khz
  • FFmpeg: Some cases where it would not be destroyed if playing a bad stream
  • HTML: unlikely but possible exception when handling frames
  • HTML: set autoplay-policy
  • HTML: animations being ticked too much
  • Route: Sending empty frame into a route would cause the destination to reuse the last frame

Consumers

Features
  • Bluefish: Various improvmements including support for Kronos K8
  • Audio: Fix audio crackling
  • Audio: Fix memory leak
  • Bluefish: Various improvmements including supporting more channels and UHD.
  • NDI: Native NDI consumer
  • Screen: Add side by side key output
  • Screen: Add support for Datavideo TC-100/TC-200

Fixes

  • Decklink: Tick channel at roughly consistent rate when running interlaced output
  • Possible crash when adding/removing consumers

General

Features
  • Add mixer colour invert property
  • Restore INFO CONFIG and INFO PATHS commands
  • Linux: Update docker images to support running in docker (not recommended for production use)

Fixes

  • Diag not reflecting channel videoformat changes
  • NTSC audio cadence
  • Ignore empty lines in console input
  • Fix building with clang on linux
  • Fix building with vs2019
  • Better error when startup fails due to AMCP port being in use
  • Backslash is a valid trailing slash for windows

  •  

CasparCG Server v2.3.0 LTS RC

Door: dotarmin
26 Juni 2020 om 14:45

CasparCG Server v2.3.0 LTS RC (Release Candidate)

Continued work with the first LTS version ever of CasparCG Server. With that said, we're are happy to announce that we are releasing CapsarCG Server v2.3.0 LTS Release Candidate (RC). As mentioned in previous release, we are working and focusing on stability and reliability and a stable release is planned at the end of Q2.

CasparCG Server v2.3.0 LTS RC can be downloaded directly from this release (see attachments).

Changes

Producers

Features
  • Flash: Disable by default, requires enabling in the config file
  • FFmpeg: Remove fixed thread limit to better auto select a number
Fixes
  • Decklink: Downgrade severity of video-format not supported
  • FFmpeg: Correctly handle error codes. Ignore exit errors during initialisation
  • Route: Detect circular routes and break the loop

Consumers

Features
  • Bluefish: Various improvmements including support for Kronos K8

General

Fixes
  • Diag not reflecting channel videoformat changes

  •  

September 30th, 2024, FFmpeg 7.1 "PΓ©ter"

23 December 2024 om 16:17

FFmpeg 7.1 "PΓ©ter", a new major release, is now available! A full list of changes can be found in the release changelog.

The more important highlights of the release are that the VVC decoder, merged as experimental in version 7.0, has had enough time to mature and be optimized enough to be declared as stable. The codec is starting to gain traction with broadcast standardization bodies.
Support has been added for a native AAC USAC (part of the xHE-AAC coding system) decoder, with the format starting to be adopted by streaming websites, due to its extensive volume normalization metadata.
MV-HEVC decoding is now supported. This is a stereoscopic coding tool that begun to be shipped and generated by recent phones and VR headsets.
LC-EVC decoding, an enhancement metadata layer to attempt to improve the quality of codecs, is now supported via an external library.

Support for Vulkan encoding, with H264 and HEVC was merged. This finally allows fully Vulkan-based decode-filter-encode pipelines, by having a sink for Vulkan frames, other than downloading or displaying them. The encoders have feature-parity with their VAAPI implementation counterparts. Khronos has announced that support for AV1 encoding is also coming soon to Vulkan, and FFmpeg is aiming to have day-one support.

In addition to the above, this release has had a lot of important internal work done. By far, the standout internally are the improvements made for full-range images. Previously, color range data had two paths, no negotiation, and was unreliably forwarded to filters, encoders, muxers. Work on cleaning the system up started more than 10 years ago, however this stalled due to how fragile the system was, and that breaking behaviour would be unacceptable. The new system fixes this, so now color range is forwarded correctly and consistently everywhere needed, and also laid the path for more advanced forms of negotiation.
Cropping metadata is now supported with Matroska and MP4 formats. This metadata is important not only for archival, but also with AV1, as hardware encoders require its signalling due to the codec not natively supporting one.

As usual, we recommend that users, distributors, and system integrators to upgrade unless they use current git master.

  •  

June 2nd, 2024, native xHE-AAC decoder

8 November 2024 om 01:35

FFmpeg now implements a native xHE-AAC decoder. Currently, streams without (e)SBR, USAC or MPEG-H Surround are supported, which means the majority of xHE-AAC streams in use should work. Support for USAC and (e)SBR is coming soon. Work is also ongoing to improve its stability and compatibility. During the process we found several specification issues, which were then submitted back to the authors for discussion and potential inclusion in a future errata.

  •  

May 13th, 2024, Sovereign Tech Fund

9 September 2024 om 19:54

The FFmpeg community is excited to announce that Germany's Sovereign Tech Fund has become its first governmental sponsor. Their support will help sustain the maintainance of the FFmpeg project, a critical open-source software multimedia component essential to bringing audio and video to billions around the world everyday.

  •  

April 5th, 2024, FFmpeg 7.0 "Dijkstra"

23 December 2024 om 16:17

A new major release, FFmpeg 7.0 "Dijkstra", is now available for download. The most noteworthy changes for most users are a native VVC decoder (currently experimental, until more fuzzing is done), IAMF support, or a multi-threaded ffmpeg CLI tool.

This release is not backwards compatible, removing APIs deprecated before 6.0. The biggest change for most library callers will be the removal of the old bitmask-based channel layout API, replaced by the AVChannelLayout API allowing such features as custom channel ordering, or Ambisonics. Certain deprecated ffmpeg CLI options were also removed, and a C11-compliant compiler is now required to build the code.

As usual, there is also a number of new supported formats and codecs, new filters, APIs, and countless smaller features and bugfixes. Compared to 6.1, the git repository contains almost ∼2000 new commits by ∼100 authors, touching >100000 lines in ∼2000 files β€” thanks to everyone who contributed. See the Changelog, APIchanges, and the git log for more comprehensive lists of changes.

  •  
❌