View Single Post
Old 5th November 2012, 04:11   #1  |  Link
Daemon404
Registered User
 
Join Date: Mar 2005
Posts: 128
Cross-Platform D2V Source for VapourSynth

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.

Last edited by Daemon404; 18th August 2019 at 19:09. Reason: Update version
Daemon404 is offline   Reply With Quote