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 |