Skip to main content

D2V source filter for VapourSynth

Project description

D2V Source for VapourSynth (Example)

As the title says, this is a D2V parser and decoder for VapourSynth. There's not much else to say, so let's get right to an example:

import vapoursynth as vs

core = vs.get_core()

core.std.LoadPlugin(path=r'C:\path\to\d2vsource.dll')

ret = core.d2v.Source(input=r'C:\path\to\my.d2v')

ret.set_output()

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

About RFF Flags

Unlike DGDecode, it's up to the user to apply RFF flags as they see fit, by passing rff=True to the source function, or by passing rff=False and using core.d2v.ApplyRFF(clip, d2v=r'C:\path\to\my.d2v') after calling the source function. Unless you know your source is 100% FILM, you probably want to apply these. DGDecode's traditional "Force FILM" mode isn't really present in this plugin, but if your source or part of it is 100% FILM, which is the only time you should be Force FILMing anyway, you can simply set Force FILM in DGIndex, which will set the framerate properly in the D2V file, and then not apply RFF flags. It's also feasible to trim away any non-FILM frames and still Force FILM.

Parameters: clip - Input clip. d2v - D2V file for parsing RFF flags. This will be optional in the future, once VapourSynth gets global metadata support.

Known Limitations & Bugs

  • Only works with D2V files created by DGIndex (version flag 16) or D2VWitch (https://github.com/dubhater/D2VWitch).
  • Not all the IDCT algorithms in DGDecode are in libavcodec, so I've tried to map them as best I could. See idct_algo_conv in d2v.hpp for more info.
  • 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!

How to Build for Development

On Windows (Visual Studio):

Install FFmpeg using vcpkg and then use the included Visual Studio solution.

Please note that MinGW-built FFmpeg will be faster than one build with Visual
Studio, due to its use of inline assembly. Also note that only MinGW-w64 is
supported.

Project details


Release history Release notifications | RSS feed

This version

1.4

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vapoursynth_d2vsource-1.4.tar.gz (29.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vapoursynth_d2vsource-1.4-py3-none-win_amd64.whl (8.9 MB view details)

Uploaded Python 3Windows x86-64

vapoursynth_d2vsource-1.4-py3-none-manylinux_2_28_x86_64.whl (8.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

vapoursynth_d2vsource-1.4-py3-none-manylinux_2_28_aarch64.whl (8.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

vapoursynth_d2vsource-1.4-py3-none-macosx_15_0_x86_64.whl (7.6 MB view details)

Uploaded Python 3macOS 15.0+ x86-64

vapoursynth_d2vsource-1.4-py3-none-macosx_15_0_arm64.whl (6.9 MB view details)

Uploaded Python 3macOS 15.0+ ARM64

File details

Details for the file vapoursynth_d2vsource-1.4.tar.gz.

File metadata

  • Download URL: vapoursynth_d2vsource-1.4.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vapoursynth_d2vsource-1.4.tar.gz
Algorithm Hash digest
SHA256 070e7ff185888c7ceafd602a2434f02e4a09c63d092fa1c0d210a5a5e2cf5e56
MD5 deb7d7942c4b3874d930aa0529e5de82
BLAKE2b-256 6ffe050737fc63ed0afb72cac767f20492df00c7c5019ae4357f530d1cb4137f

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_d2vsource-1.4.tar.gz:

Publisher: build.yml on dwbuiten/d2vsource

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_d2vsource-1.4-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for vapoursynth_d2vsource-1.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f594160446d79e912b02644a8c875cd37efe054823f8cd53a4ba4e544f9fecd8
MD5 69d023724cb983ce2f64e58182f9869b
BLAKE2b-256 665fcc9f5e01f59d59c2046fc0726c762acdcd5803fe19d07a45cf7542d53476

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_d2vsource-1.4-py3-none-win_amd64.whl:

Publisher: build.yml on dwbuiten/d2vsource

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_d2vsource-1.4-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_d2vsource-1.4-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb7a0295d47e6183e28c164ecee401ecfde71c37a910c4739f4b35905d9c3834
MD5 f767565846f1fadb72413535e105ca61
BLAKE2b-256 fedc15d6fd93802f3387312340c1d43d6955ba691bba7ace62a801179cbba115

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_d2vsource-1.4-py3-none-manylinux_2_28_x86_64.whl:

Publisher: build.yml on dwbuiten/d2vsource

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_d2vsource-1.4-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vapoursynth_d2vsource-1.4-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2548a5026ec48082db35b4822524cea21ba2131a89fa7fd0ec03526a4ffcc11f
MD5 4855b9d88fde77ae5697ac936fc0e87f
BLAKE2b-256 72ac7ef4c5ddf79372d6d10693380dfbfbb7657b8e60fcc39735206644178891

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_d2vsource-1.4-py3-none-manylinux_2_28_aarch64.whl:

Publisher: build.yml on dwbuiten/d2vsource

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_d2vsource-1.4-py3-none-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for vapoursynth_d2vsource-1.4-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 63000b9ea6444139c2b457d8f84904097fae20eac9f5a81ce3c5d8a2f195707d
MD5 094709e9d58d2f120f63753878c687aa
BLAKE2b-256 624c04722cc1990470d6dbc1e8935e0780589d49d592eca6f6650e71a837cab4

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_d2vsource-1.4-py3-none-macosx_15_0_x86_64.whl:

Publisher: build.yml on dwbuiten/d2vsource

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vapoursynth_d2vsource-1.4-py3-none-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for vapoursynth_d2vsource-1.4-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 a73af0e3a199330a2ca850d6ea18f12afe3123e991740a6526cdc1e5c1d69f4c
MD5 833d488c5ea2f52f023c6aea2237c02c
BLAKE2b-256 c3fcf152c012e3a1ada9c46fe2eeb5bff1783fe6b3461f80f4168969f5845402

See more details on using hashes here.

Provenance

The following attestation bundles were made for vapoursynth_d2vsource-1.4-py3-none-macosx_15_0_arm64.whl:

Publisher: build.yml on dwbuiten/d2vsource

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page