From Avisynth wiki
Jump to: navigation, search
Author Chikuzen, asd-g
Version 0.1.2
Download MPEG2DecPlus-
Category Source filters
License GPLv2



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 disabled
  • MPEG2Source: iPP, moderate_h, moderate_v, fastMC, and cpu2 parameters are disabled, nothing happens when set.


*** vcredist_x86.exe is required for MPEG2DecPlus-x86
*** vcredist_x64.exe is required for MPEG2DecPlus-x64

Syntax and Parameters


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.

int  cpu = 0
Disabled parameter.

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

bool  iPP = auto
Disabled parameter.

int  moderate_h = 20
int  moderate_v = 40
Disabled parameter.

string  cpu2 = ""
Disabled parameter.

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.

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

bool  i420 = false
Output I420 Colorspace. Possibly required by some legacy applications.
Ignored if the input is not YV12 (4:2:0), or if upsampling with upConv=1 or 2.
  • true : output I420
  • false : output YV12

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)

bool  showQ = false
Show Macroblock Quantizers.
  • true : Show quantizers
  • false : Do not show quantizers

bool  fastMC = false
Disabled parameter.


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.

int  lumoff = 0
Luminosity Offset; adjust the luma of all pixels by a fixed amount.
Range: -255 to 255 (default: 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)


MPEG2Source() should be used only with MPEG-1 and MPEG-2 video sources. To do plain YV12 decoding:


Note: PATH can be ignored if "project.d2v" is in the same directory as your AviSynth (*.avs) script.


Version      Date            Changes
v0.1.2 2020/05/13 - Changes by asd-g - Update to AviSynth+'s v8 interface v0.1.1 2016/08/31 - Last release by Chikuzen - /// mirror

External Links

  • GitHub - Source code repository.

Back to External Filters

Personal tools