View difference between Paste ID: TKf5t9DG and QnPvpKM9
SHOW: | | - or go back to the newest paste.
1
######################
2
# Updated 5/17/2017
3
# This is meant to be a starter script for using MPC-HC to capture with a PEXHDCAP
4-
# I currently use PEXHDCAP driver 1.1.0.140.7 with these settings: http://i.imgur.com/DG4RlHH.jpg 
4+
# I currently use PEXHDCAP driver 1.1.0.140.7 with these settings: http://i.imgur.com/DG4RlHH.jpg
5
# The Video Proc Amp tab: http://i.imgur.com/L6xdn9a.jpg
6
######################
7-
# Google Search for these plugins, you only need them for the PEXHDCAP.
7+
# Google Search for these plugins
8
LoadPlugin("C:\avisynth\ColorMatrix.dll")
9
LoadPlugin("C:\avisynth\ChromaShift.dll")
10
#
11
######################
12
# This function is used to fix the capturing from specifically the PEXHDCAP
13
# You can tweak the levels a bit if you want to change the look.
14
######################
15
function colorcorrection(clip c)
16
{
17
c
18
# Fix the Chroma Shift that is caused by the PEXHDCAP
19
ChromaShift(U=-2)
20
ConvertToYV24()
21
#Fix the Luma, it is off by 1 pixel
22
MergeLuma(Crop(1,0,width-1,height).AddBorders(0,0,1,0))
23
# Convert back so we are working in the correct colorspace
24
ConvertToYUY2(matrix="Rec.709")
25
# Adjust Gamma to more closely match a CRT TV and clamp the color levels to what the PEXHDCAP captures (16-235)
26
Levels(0, 0.82, 255, 16, 235, coring=false)
27
# Convert to the SD colorspace, the PEXHDCAP captures in the HD colorspace
28
ColorMatrix(mode="Rec.709->Rec.601")
29
}
30
#
31
######################
32
# This is the basic capture function for 240p material, it crops, resizes, and does a couple of minor adjustments.
33
# cx = cropping px from the left side
34
# cy = cropping px from the top
35
# cw = width of game, used for cropping right side
36
# w = final width to size to
37
# s = amount to sharpen horizontally
38
######################
39
function capture(clip c, float cx, float cy, int cw, int w, float s)
40
{
41
c
42
h=2
43
# Crop and Resize to the correct height (224*2)
44
PointResize(cw, h*224 , cx, cy*h/2, cw, 224)
45
#
46
# Adjust the saturation (optional)
47
Tweak(sat=1.05)
48
# Resize to the final Width
49-
#Tweak(sat=1.05)
49+
50
#Sharpen after the resize
51
Sharpen(s, 0.0)
52
#
53
}
54
######################
55
# Created this function after reading Acmlm's capture guide here: http://acmlm.org/etc/vidfilters/snes.htm 
56
# I found that this can create a sharper picture, but it also requires a lot more tweaking. 
57
# cx = cropping px from the left side
58
# cy = cropping px from the top
59
# cw = width of game, used for cropping right side
60
# w = final width to size to
61
# s = amount to sharpen the width
62
######################
63
function NEWcapture(clip c, float cx, float cy, float cw, int w, float s)
64
{
65
c
66
# Convert to the YV24 Colorspace to minimize colorbleed
67
ConvertToYV24()
68
# Crop and resize the width to the native game capture size (256*224)
69
# These are done in subpixel increments and can vary between game systems
70
BicubicResize(260, 224,  -0.6, -0.1, cx, cy, cw, 224)
71
# Sharpen the image from the resize
72
Sharpen(s, 0)
73-
#Tweak(sat=1.05)
73+
# 2 pixels are left on the right and left sides (on purpose) crop them off here
74
crop(2, 0, Width-4, Height)
75
# Set the size to 512x448
76
PointResize(Width*2, Height*2)
77
# Convert back to the correct colorspace
78
ConvertToYUY2()
79
# Resize to the final Width
80
BicubicResize(w, Height)
81
}
82
######################
83
# This function is for capturing 240p video (usually NES, SNES, Genesis) from a S-Video source (GV-USB2 etc..)
84
# cx = cropping px from the left side
85
# cy = cropping px from the top
86
# cw = width of game, used for cropping right side
87
# w = final width to size to
88
# s = amount to sharpen horizontally
89
######################
90
function captureSVID240(clip c, float cx, float cy, int cw, int w, float s)
91
{
92
c
93
# Separate Fields, this creates 60fps video with half height
94-
#captureSVID240(42, 16, 640, 586, 0.3) #SNES (ALTTP)
94+
95
# Double the Height to get back to original
96
PointResize(Width, Height*2)
97
# Crop and resize
98
PointResize(cw, 448 , cx, cy, cw, 448)
99
# Set the width
100
BicubicResize(w, Height)
101
# These can be adjusted to your liking, look them up on the Avisynth Wiki
102
Tweak(sat=1.05)
103
Sharpen(s, 0.0)
104
}
105
#
106
######################
107
# This is the main area where you adjust things.
108
# Generally I copy/paste a new function then adjust cropping for that new game. 
109
# These functions assume the final game height is 448px. 
110
#####################
111
#
112
# Only use this with a PEXHDCAP
113
colorcorrection()
114
#
115
# These functions are for a PEXHDCAP
116
capture(33, 8, 644, 586, 0.3) #SNES
117
#capture(60, 7, 622, 586, 0.3) #DW
118
#capture(30, 8, 660, 586, 0.3) #SM64
119
#capture(40, 12, 640, 586, 0.3) #LoZ
120
#capture(40, 8, 640, 586, 0.3) #Z2
121
#
122
# Use this function if you have a GV-USB2 or Dazzle
123
#captureSVID240(42, 16, 640, 586, 0.3) #SNES (ALTTP)
124
#
125
#This is the advanced capture function, it will take a bunch of tweaking to get the subpixel cropping correct (240p suite recommended)
126
#resized to 512x448 with these settings, adjust the width after you get the subpixel cropping perfect
127
#NEWcapture(28.55, 8, 654.3, 512, 0.3) #SNES