So, I was bored and wrote a cross-platform D2V parser and decoder for VapourSynth.
Current Version:
1.2
Windows Binary:
https://github.com/dwbuiten/d2vsourc....2-windows.zip - Contains 32-bit and 64-bit binaries.
Source:
https://github.com/dwbuiten/d2vsourc...rce-1.2.tar.xz
Known Limitations & Bugs- Does not support user specified cropping. Would be easy to add, but I disagree with the premise. Use VapourSynth's cropping.
- Needs the full path to the D2V file.
- Probably more I'm forgetting!
Example usage:
Code:
import vapoursynth as vs
core = vs.Core()
core.std.LoadPlugin(path=r'C:\Path\To\d2vsource.dll')
ret = core.d2v.Source(input=r'C:\Path\To\my.d2v')
last = ret
Parameters:
input - Full path to input D2V file.
nocrop - Always use direct-rendered buffer, which may need cropping. Provides a speedup when you know you need to crop your image anyway, by avoiding extra memcpy calls.
rff - Invoke ApplyRFF (True by default)
threads - Number of threads FFmpeg should use. Default is 0 (auto).
If you want to contribute, feel free to send a pull request on GitHub.