MPEG2DecPlus
From Avisynth wiki
(Difference between revisions)
m (→Description) |
m (→Requirements) |
||
Line 28: | Line 28: | ||
* Supported color formats: [[YV12]], [[YV16]] | * Supported color formats: [[YV12]], [[YV16]] | ||
<br> | <br> | ||
+ | * [https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads Microsoft Visual C++ 2015 Redistributable Package (x86 / x64)] | ||
+ | :<span style="color:red">***</span> <tt>vcredist_x86.exe</tt> is required for <tt>MPEG2DecPlus-x86</tt> | ||
+ | :<span style="color:red">***</span> <tt>vcredist_x64.exe</tt> is required for <tt>MPEG2DecPlus -x64</tt> | ||
<br> | <br> | ||
+ | <br> | ||
+ | |||
== [[Script variables|Syntax and Parameters]] == | == [[Script variables|Syntax and Parameters]] == | ||
Revision as of 16:45, 14 May 2020
Abstract | |
---|---|
Author | Chikuzen, asd-g |
Version | 0.1.2 |
Download | MPEG2DecPlus-0.1.2.7z |
Category | Source filters |
License | GPLv2 |
Discussion |
Contents |
Description
MPEG2DecPlus is a MPEG-1/2 decoder plug-in. MPEG2DecPlus is a project to modernize "DGDecode.dll" for AviSynth+.
Changes include:
- Code clean up and refactoring
- Elimination of code that is not currently required, such as VFAPI code and YUY2 code.
- Support 64bit by removing assembly code, and optimization by intrinsic in SSE2 / AVX2. etc.
- LumaYUV: additional colorspace support, function name change (was LumaYV12)
- DeBlock: function disabled, see standalone DeBlock plugin for up-to-date version.
- BlindPP: function disable
- MPEG2Source:
iPP, moderate_h, moderate_v, fastMC, and cpu2
parameters are disabled, nothing happens when set.
Requirements
- [x86]: AviSynth+ or AviSynth 2.6.0
- [x64]: AviSynth+
- Supported color formats: YV12, YV16
- *** vcredist_x86.exe is required for MPEG2DecPlus-x86
- *** vcredist_x64.exe is required for MPEG2DecPlus -x64
Syntax and Parameters
MPEG2Source
- MPEG2Source (string d2v, int "cpu", int "idct", bool "iPP", int "moderate_h", int "moderate_v", string "cpu2", int "upConv", bool "iCC", bool "i420", int "info", bool "showQ", bool "fastMC")
- string d2v = ""
- d2v file path [required]. Note: you can you DGIndex to create the d2v file.
- Note: PATH can be ignored if the d2v file is in the same directory as your AviSynth (*.avs) script.
- string d2v = ""
- int cpu = 0
- Disabled parameter.
- int cpu = 0
- int idct = 0
- iDCT algorithm to use:
- 0 : as specified by the d2v file
- 1,2,3,6,7 : AP922 integer (same as SSE2MMX).
- 4 : SSE2 / AVX2 LLM (single precision floating point, SSE2 / AVX2 judgment is automatic).
- 5 : IEEE 1180 reference (double precision floating point).
- iDCT algorithm to use:
- int idct = 0
- bool iPP = auto
- Disabled parameter.
- bool iPP = auto
- int moderate_h = 20
- int moderate_v = 40
- Disabled parameter.
- int moderate_h = 20
- string cpu2 = ""
- Disabled parameter.
- string cpu2 = ""
- int upConv = 0
- Output colorspace:
- 0 : No conversion, YUV420 source is YV12 output, YUV422 source is YV16 output.
- 1 : up convert to YV16.
- 2 : up convert to YV24.
- Output colorspace:
- int upConv = 0
- bool iCC = auto
- Settings for handling YUV420 in
upConv
. - MPEG2Source automatically uses the PROGRESSIVE_FRAME flag to switch between field/frame based upsampling on a per-frame-basis.
- You should only specify the iCC parameter if you want to force DGDecode to use a particular upsampling mode.
- [unspecified] : follow the PROGRESSIVE_FRAME flag
- true : force field-based (interlaced) upsampling
- false : force frame-based (progressive) upsampling
- Settings for handling YUV420 in
- bool iCC = auto
- int info = 0
- Debug Information
- 0 : Do not generate debug information
- 1 : Overlay debug information on the video
- 2 : Output debug information via OutputDebugString() (check the contents with DebugView.exe)
- 3 : Output hints in the video (embed hints in 64 bytes in the upper left corner of the frame)
- Debug Information
- int info = 0
- bool showQ = false
- Show Macroblock Quantizers.
- true : Show quantizers
- false : Do not show quantizers
- Show Macroblock Quantizers.
- bool showQ = false
- bool fastMC = false
- Disabled parameter.
- bool fastMC = false
LumaYUV
LumaYUV() outputs a 0->255 YUV range, and not a CCIR-601 16->235 range. Use the AviSynth built-in filter ColorYUV() instead if you need to enforce a 16->235 range. The functionality of LumaYUV() can be achieved using ColorYUV(), which has more features, but LumaYUV() is optimized for speed in performing basic luma adjustment.
- LumaYV12 (clip, int "lumoff", float "lumgain")
- clip =
- Input clip; supports Y8, YV12, YV16, YV411, and YV24.
- clip =
- int lumoff = 0
- Luminosity Offset; adjust the luma of all pixels by a fixed amount.
- Range: -255 to 255 (default: 0)
- int lumoff = 0
- float lumgain = 1.0
- Luminosity Gain; adjust the luma of all pixels by a proportional amount.
- Range: 0.0 to 2.0 (default: 1.0)
- float lumgain = 1.0
Examples
MPEG2Source() should be used only with MPEG-1 and MPEG-2 video sources. To do plain YV12 decoding:
MPEG2Source("[PATH\]project.d2v")
Note: PATH can be ignored if "project.d2v" is in the same directory as your AviSynth (*.avs) script.
External Links
- GitHub - Source code repository.
Back to External Filters ←