DaVinci Resolve IO Encode Plugin SDK
The DaVinci Resolve IO Encode Plugin SDK enables development of additional codecs and container formats that can be rendered directly from DaVinci Resolve. These plugins can be distributed directly to customers who can use these in supported versions of DaVinci Resolve Studio. Currently, only CPU based plugins are supported.
Plugins should be distributed in the following format:
- Mac: 64-bit dynamic library
- Linux: 64-bit shared object
- Windows: 64-bit DLL
The plugin binary must be packaged in a bundle folder structure (similar to a Mac binary bundle). A single bundle may contain the plugin libraries for one or more architectures. The expected directory hierarchy is as follows:
PLUGIN.dvcp.bundle Contents ARCH_1 PLUGIN.dvcp ARCH_2 PLUGIN.dvcp ... ARCH_N PLUGIN.dvcp
PLUGINis the name of the plugin (the exact name should be used in both the bundle and binary name)
ARCH_xis the name of the architecture
The supported architectures on each operating system are:
- Mac: MacOS - for Apple Universal2 binaries (x86_64 + Arm64) or Arm64 build
- Mac: MacOS-x86-64 - on Intel only machines, this folder will be checked first, and if not found or empty, the MacOS folder will be checked
- Linux: Linux-x86-64
- Windows: Win64
The 'Examples' folder contains a sample plugin for the x264 encoder in the folder named 'x264_encoder_plugin'.
- Compile the x264 plugin from source (downloadable from here)
.mk.defs(for Mac/Linux) or
plugin2015.vcxproj(for Windows) in
x264_encoder_pluginto point to the location of x264 install path.
- From the
x264_encoder_pluginfolder, build the plugin via
makeon Mac/Linux, or using Visual Studio on Windows.
After the plugin has been successfully built, the target plugin library will be placed in the build folder. Package the plugin binary as per the naming convention above. For example:
To activate the plugin in Resolve, copy 'x264_encoder_plugin.dvcp.bundle' folder to Application Support folder, into the 'IOPlugins' subfolder. The exact location is as follows:
/Library/Application Support/Blackmagic Design/DaVinci Resolve/IOPlugins
- Mac (AppStore):
%ProgramData%\Blackmagic Design\DaVinci Resolve\Support\IOPlugins
Once the plugin folder is installed, start Resolve and create a timeline with clips. Go to the Deliver page. In the format list, the list of containers supported by the plugin should show up. If a plugin supported container format (or QuickTime) is chosen, codecs supported by the plugin should be visible in the codecs list. Upon selecting the plugin codec, the corresponding UI widgets will be shown in the render settings.