View Full Version : I want to upscale a Super Nes video in HD
StainlessS
8th May 2018, 20:46
OK, something like this maybe (Just change config stuff to play with it).
LoadPlugin("<path>\PointSize_x64.dll") ## FIX THIS PATH
## ADD SOURCE HERE (RGB32, 256x224)
#AviSource("...")
### CONFIG ###
## (256x224 -> 2820x2160)
LQx_ARG = 4 ## retains some jaggies (best for 'digital' look)
xBRZ_ARG = 4 ## softer gradients (best for 'smooth' look)
SPL_W = 1024 ## Spline16
SPL_H = 896
GAU_W = 5760 # Gauss
GAU_H = 4320
GAU_PX = 37.5
GAU_PY = 12.5
BIC_W = 2820 # BiCubic (Output)
BIC_H = 2160
### END CONFIG ###
LQx(LQx_ARG) # Uncomment 1 or NONE [EDIT: Changed 'Both' to 'NONE']
#xBRZ(xBRZ_ARG)
ConvertToYV12(matrix="Rec709")
## (other filters here -- try QTGMC for example)
#########
Spline16Resize(SPL_W, SPL_H)
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(GAU_W, GAU_H, px=GAU_PX, py=GAU_PY)
BiCubicResize(BIC_W,BIC_H)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
EDIT: changed RED stuff.
SuperLumberjack
8th May 2018, 22:12
Thanks StainlessS ! ;)
I will try tomorrow at the afternoon, because I haven't enough time any more. I work tomorrow ! Ouch ! :D
But I have just enough time, to show you my pictures and my new scripts :p
Original (8:7 AR)
https://media.joomeo.com/medium/5aed00897c55c.jpg (https://media.joomeo.com/large/5aed00897c55c.jpg)
https://media.joomeo.com/original/5aed00897c55c.png
Upscaled to 2160p (8:7 AR)
https://media.joomeo.com/medium/5af20e33ccff4.jpg (https://media.joomeo.com/large/5af20e33ccff4.jpg)
https://media.joomeo.com/original/5af20e33ccff4.png
AviSource()
Spline16Resize(512, 448)
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(2468, 2160, px=200/3, py=200/3)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 50.0)) # I used 50.0 instead of raffriff42 default of 30.0
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Original (8:7 AR)
https://media.joomeo.com/medium/5aed019458739.jpg (https://media.joomeo.com/large/5aed019458739.jpg)
https://media.joomeo.com/original/5aed019458739.png
Upscaled to 2160p (4:3 AR)
https://media.joomeo.com/medium/5af20e689b51a.jpg (https://media.joomeo.com/large/5af20e689b51a.jpg)
https://media.joomeo.com/original/5af20e689b51a.png
AviSource()
Spline16Resize(512, 448)
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(2820, 2160, px=200/3, py=200/3)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 50.0)) # I used 50.0 instead of raffriff42 default of 30.0
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Original (4:3 AR)
https://media.joomeo.com/medium/5aed021e59505.jpg (https://media.joomeo.com/large/5aed021e59505.jpg)
https://media.joomeo.com/original/5aed021e59505.png
Upscaled to 2160p (4:3 AR)
https://media.joomeo.com/medium/5af20e92c6351.jpg (https://media.joomeo.com/large/5af20e92c6351.jpg)
https://media.joomeo.com/original/5af20e92c6351.png
AviSource()
Spline16Resize(1280, 960)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(2880, 2160, px=100/3, py=100/3)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 50.0)) # I used 50.0 instead of raffriff42 default of 30.0
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Original (4:3 AR)
https://media.joomeo.com/medium/5aed02f0db60c.jpg (https://media.joomeo.com/large/5aed02f0db60c.jpg)
https://media.joomeo.com/original/5aed02f0db60c.png
Note : Here, the aspect ratio is wrong if we compare with other videos from the Legacy of Kain saga (for the connoisseurs :D ) and the aspect ratio in-game. There shouldn't be black bars. So I just had to cut the black bars to have the correct AR.
Upscaled to 2160p (16:9 AR)
https://media.joomeo.com/medium/5af20eea87ccd.jpg (https://media.joomeo.com/large/5af20eea87ccd.jpg)
https://media.joomeo.com/original/5af20eea87ccd.png
AviSource()
Crop(0, 80, 0, -80)
Spline16Resize(1280, 640)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(3840, 2160, px=100/3, py=100/3)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 50.0)) # I used 50.0 instead of raffriff42 default of 30.0
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
I know, finally, I put the same value to the px and py for the GaussResize2 :D So I could use the simple GaussResize. But I noticed a little difference when I zoomed the picture, between :
GaussResize2(3840, 2160, px=100/3, py=100/3)
and
GaussResize(3840, 2160, p=100/3)
And finally, I prefer the GaussResize that raffriff42 did ! :p
Ok. Have a nice night tonight ! :)
And :thanks:
StainlessS
8th May 2018, 23:35
Oops, sorry, changed stuff in red in my prev post (was untested, online scripting only).
Still untested, sitting in pub.
StainlessS
9th May 2018, 02:32
But I noticed a little difference when I zoomed the picture,
Imagination, not possible.
EDIT: By the way, 100/3 is 33 (integer divide) not 33.33333, use eg 1.0/3 or 1/3.0, or 1.0/3.0.
SuperLumberjack
9th May 2018, 15:45
Oops, sorry, changed stuff in red in my prev post (was untested, online scripting only).
Still untested, sitting in pub.
Sitting in a pub ? You are forgiven ! :D
Imagination, not possible.
But there are differences ! :p See by yourself ;)
GaussResize(3840, 2160, p=100/3)
https://media.joomeo.com/medium/5af305d36883e.jpg (https://media.joomeo.com/large/5af305d36883e.jpg)
https://media.joomeo.com/original/5af305d36883e.png
GaussResize2(3840, 2160, px=100/3, py=100/3)
https://media.joomeo.com/medium/5af3064138cf8.jpg (https://media.joomeo.com/large/5af3064138cf8.jpg)
https://media.joomeo.com/original/5af3064138cf8.png
GaussResize(3840, 2160, p=100/3) (zoom 1600%)
https://media.joomeo.com/medium/5af3067d7a24c.jpg (https://media.joomeo.com/large/5af3067d7a24c.jpg)
https://media.joomeo.com/original/5af3067d7a24c.png
GaussResize2(3840, 2160, px=100/3, py=100/3) (zoom 1600%)
https://media.joomeo.com/medium/5af306a96cff1.jpg (https://media.joomeo.com/large/5af306a96cff1.jpg)
https://media.joomeo.com/original/5af306a96cff1.png
GaussResize(3840, 2160, p=100/3) (zoom 3200%)
https://media.joomeo.com/medium/5af306dbd4be8.jpg (https://media.joomeo.com/large/5af306dbd4be8.jpg)
https://media.joomeo.com/original/5af306dbd4be8.png
GaussResize2(3840, 2160, px=100/3, py=100/3) (zoom 3200%)
https://media.joomeo.com/medium/5af30708778cf.jpg (https://media.joomeo.com/large/5af30708778cf.jpg)
https://media.joomeo.com/original/5af30708778cf.png
GaussResize vs. GaussResize2 (zoom 3200%)
https://media.joomeo.com/medium/5af3072e72a52.jpg (https://media.joomeo.com/large/5af3072e72a52.jpg)
https://media.joomeo.com/original/5af3072e72a52.png
So, there are little differences between this :
GaussResize(3840, 2160, p=100/3)
and this :
GaussResize2(3840, 2160, px=100/3, py=100/3)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 50.0)) # I used 50.0 instead of raffriff42 default of 30.0
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
:D
Maybe it's because I changed this ? :confused:
px = Default(px, 50.0)
EDIT: By the way, 100/3 is 33 (integer divide) not 33.33333, use eg 1.0/3 or 1/3.0, or 1.0/3.0.
So it never uses decimals ?
StainlessS
9th May 2018, 17:57
Maybe it's because I changed this ?
Should not really do that, if comparing with eg a RaffRiff42 example then may cause confusion as your function will act differently to his,
if 30.0 is official default, then really should keep that and use your pref as calling arg.
So it never uses decimals ?
100 is an integer and so is 3, so 100/3 is 33 not 33.33333, an integer multiplied by or divided by or added to, subtracted from another integer, has an integer result. [EDIT: any fractional part discarded/truncated, NOT rounded]
An integer + a float (and all other above operations too) has a Float result. (The integer is converted to a float prior to the operation).
Above is true for many programming languages.
The difference between RaffRiff GaussResize2 and GaussResize may be down to the order of resize, Width, Height, or Height, Width.
Raffs does resize width and then resize height, think builtin resize chooses the longest side (or shortest, not sure offhand which) side first, and then the other.
SuperLumberjack
9th May 2018, 18:29
Oki. Thank you for your explanations ! :) It's always a pleasure to learn from you ;)
Otherwise, I tried the "HQx" and the "LQx" resizers, and I feel that the perfect resizer would be something in between. Sad ! :p
SuperLumberjack
10th May 2018, 01:22
Hello !
I updated my scripts a little bit :)
It's almost identical, but it's better when I zoom ! :p
I just changed these lines :
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=4, threads=0, opt=0, fapprox=0)
I compared with screenshots, and I found it's more natural visually with "pscrn=4"
GaussResize2(4936, 4320, px=50, py=50)
BicubicResize(2468, 2160)
I still upsize 2 times and then reduce with the final resolution.
px = Default(px, 30.0)
I put the original value.
Voilà ! ;)
Original (8:7 AR)
https://media.joomeo.com/medium/5aed00897c55c.jpg (https://media.joomeo.com/large/5aed00897c55c.jpg)
https://media.joomeo.com/original/5aed00897c55c.png
Upscaled to 2160p (8:7 AR)
https://media.joomeo.com/medium/5af38ab2ab3f0.jpg (https://media.joomeo.com/large/5af38ab2ab3f0.jpg)
https://media.joomeo.com/original/5af38ab2ab3f0.png
AviSource()
Spline16Resize(512, 448)
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=4, threads=0, opt=0, fapprox=0)
GaussResize2(4936, 4320, px=50, py=50)
BicubicResize(2468, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Original (8:7 AR)
https://media.joomeo.com/medium/5aed019458739.jpg (https://media.joomeo.com/large/5aed019458739.jpg)
https://media.joomeo.com/original/5aed019458739.png
Upscaled to 2160p (4:3 AR)
https://media.joomeo.com/medium/5af38afa516b3.jpg (https://media.joomeo.com/large/5af38afa516b3.jpg)
https://media.joomeo.com/original/5af38afa516b3.png
AviSource()
Spline16Resize(512, 448)
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=4, threads=0, opt=0, fapprox=0)
GaussResize2(5640, 4320, px=50, py=50)
BicubicResize(2820, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Original (4:3 AR)
https://media.joomeo.com/medium/5aed021e59505.jpg (https://media.joomeo.com/large/5aed021e59505.jpg)
https://media.joomeo.com/original/5aed021e59505.png
Upscaled to 2160p (4:3 AR)
https://media.joomeo.com/medium/5af38b407e38d.jpg (https://media.joomeo.com/large/5af38b407e38d.jpg)
https://media.joomeo.com/original/5af38b407e38d.png
AviSource()
Spline16Resize(1280, 960)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=4, threads=0, opt=0, fapprox=0)
GaussResize2(5760, 4320, px=50, py=50)
BicubicResize(2880, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Original (4:3 AR)
https://media.joomeo.com/medium/5aed02f0db60c.jpg (https://media.joomeo.com/large/5aed02f0db60c.jpg)
https://media.joomeo.com/original/5aed02f0db60c.png
Note : Here, the aspect ratio is wrong if we compare with other videos from the Legacy of Kain saga (for the connoisseurs :D ) and the aspect ratio in-game. There shouldn't be black bars. So I just had to cut the black bars to have the correct AR.
Upscaled to 2160p (16:9 AR)
https://media.joomeo.com/medium/5af38b84c2020.jpg (https://media.joomeo.com/large/5af38b84c2020.jpg)
https://media.joomeo.com/original/5af38b84c2020.png
AviSource()
Crop(0, 80, 0, -80)
Spline16Resize(1280, 640)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=4, threads=0, opt=0, fapprox=0)
GaussResize2(7680, 4320, px=50, py=50)
BicubicResize(3840, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Bonne nuit now ! :D
StainlessS
10th May 2018, 12:21
Should not really do that, if comparing with eg a RaffRiff42 example then may cause confusion as your function will act differently to his,
if 30.0 is official default, then really should keep that and use your pref as calling arg.
Perhaps you might like to add this, ie as your own defaulting to 50.0
Function GaussResizeSL(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py") {
px = Default(px, 50.0) # SLJ default instead of RR42 default of 30.0
Return GaussResize2(C,target_width,target_height,src_left,src_top,src_width,src_height,px,py)
}
Call the new function, you still need to raff42 version.
If posting some example, either include your own stub (as well as original) or modify caller to use original func with your modified px arg (avoids confusion).
SuperLumberjack
10th May 2018, 12:36
Yes, you are right ! :) Thanks for the advice ! ;)
I edited my posts.
SuperLumberjack
10th May 2018, 21:19
Is there a way to have the EPBX scaling algorithm in AviSynth ? :p
https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Pixel-Art_Scaling_Comparison.png/800px-Pixel-Art_Scaling_Comparison.png
SuperLumberjack
10th May 2018, 21:58
No, in fact I'm happy with my last script ! ;)
I don't think I could do better. It's pleasant to my eyes ! :p
SuperLumberjack
12th May 2018, 12:53
Hello buddies :)
I come back to you, because I thought about one thing... an important thing ! :p
As some of you know, Higan is the perpect emulator, close to the original experience of the Super Nes, but on the modern display ;)
But I asked myself, how they did to reproduce the original colors, which are darker. Is it simply a way to imitate the feeling of the old CRT display ? I think yes and no... maybe ! :)
I thought one thing : my pictures are in RGB 24 bits, so the levels are 0-255.
But at the time of the CRT display, maybe it was meant to be display in a equivalent of RGB 16-235.
No ? :o
I tried this, and in fact, my image was close to the image of Higan, even if not exactly (maybe the gamma).
After some other researches, I read that the gamma of the CRT was close to 2.5 too if we compare to the gamma of 2,22 on a modern display.
So I convert the gamma of the image too :p
Actually :
1 / 0,45 = 2,2222222222222222222222222222222
So I calculated :
2,5 / (1 / 0,45) = 1,125
So, I used this function to transform my gamma and my levels :
Levels(16, 1.125, 235, 0, 255)
And really, it's closer of what I remember of my experience on a CRT display !
Just for the example, the picture of Mr. Nutz with the spider, I remember how it was dark on my CRT screen when I was a child. It really was a dark atmosphere, the moon was very present, like almost the only comforting glow...
By the way, I was always surprised to see that it's so clear on my LCDs with an emulator :confused:
As you will see, it's not so bad... I hope ! :D
I change this too :
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=3, threads=0, opt=0, fapprox=0)
With "pscrn=3" instead of 4, I noticed that it's closer that what I remember. And yes, I can see the difference ! :D
I compare in zooming with the original picture of Killer Instinct and a the picture of the same game in a video of the Super NT (a real Super Nintendo HD, not an emulator), and it's closer now !
With "pscrn=2" and "pscrn=4", there was something weird. It didn't perfectly match !
SuperLumberjack
12th May 2018, 12:54
Just to compare :
Higan
https://media.joomeo.com/medium/5af6c5501a3d1.jpg (https://media.joomeo.com/large/5af6c5501a3d1.jpg)
https://media.joomeo.com/original/5af6c5501a3d1.png
Super NT :
https://media.joomeo.com/medium/5af6c5feba931.jpg (https://media.joomeo.com/large/5af6c5feba931.jpg)
https://media.joomeo.com/original/5af6c5feba931.png
YouTube video : Episode 1 | First Time Beating Donkey Kong Country | Super NT (https://youtu.be/t3LsceMM6MU)
My script (with levels changed)
https://media.joomeo.com/medium/5af6c70a49172.jpg (https://media.joomeo.com/large/5af6c70a49172.jpg)
https://media.joomeo.com/original/5af6c70a49172.png
My script (without change of levels)
https://media.joomeo.com/medium/5af6c79919a95.jpg (https://media.joomeo.com/large/5af6c79919a95.jpg)
https://media.joomeo.com/original/5af6c79919a95.png
Higan
https://media.joomeo.com/medium/5af6ca69e7656.jpg (https://media.joomeo.com/large/5af6ca69e7656.jpg)
https://media.joomeo.com/original/5af6ca69e7656.png
Super NT :
https://media.joomeo.com/medium/5af6caa61ff98.jpg (https://media.joomeo.com/large/5af6caa61ff98.jpg)
https://media.joomeo.com/original/5af6caa61ff98.png
Analogue Super NT - Donkey Kong Country 2 (No Scanlines) 02-22-2018 (https://youtu.be/0efBLtLU3l0)
My script (with levels changed)
https://media.joomeo.com/medium/5af6cae2304f4.jpg (https://media.joomeo.com/large/5af6cae2304f4.jpg)
https://media.joomeo.com/original/5af6cae2304f4.png
My script (without change of levels)
https://media.joomeo.com/medium/5af6cb11444d0.jpg (https://media.joomeo.com/large/5af6cb11444d0.jpg)
https://media.joomeo.com/original/5af6cb11444d0.png
Higan
https://media.joomeo.com/medium/5af6cb6b68280.jpg (https://media.joomeo.com/large/5af6cb6b68280.jpg)
https://media.joomeo.com/original/5af6cb6b68280.png
Super NT :
https://media.joomeo.com/medium/5af6cb98de4b4.jpg (https://media.joomeo.com/large/5af6cb98de4b4.jpg)
https://media.joomeo.com/original/5af6cb98de4b4.png
Analogue Super NT - Killer Instinct (Hybrid Scanlines) 02-23-2018 (https://youtu.be/VI7IEkCdjhI)
My script (with levels changed)
https://media.joomeo.com/medium/5af6cbc1a8c0f.jpg (https://media.joomeo.com/large/5af6cbc1a8c0f.jpg)
https://media.joomeo.com/original/5af6cbc1a8c0f.png
My script (without change of levels)
https://media.joomeo.com/medium/5af6cc28a3095.jpg (https://media.joomeo.com/large/5af6cc28a3095.jpg)
https://media.joomeo.com/original/5af6cc28a3095.png
What do you think ? :)
Here are some videos about the Super NT il you are interested ;) :
DF Retro: Analogue Super Nt Review - a 21st Century SNES! (https://youtu.be/LOSQgBEf5ac)
Super NT Console vs. SNES Classic & OG Super Nintendo - Graphics Comparison (https://youtu.be/86aHhZnIzh4)
SuperLumberjack
12th May 2018, 12:55
And now, the picture of my last scripts :p :
Original (8:7 AR)
https://media.joomeo.com/medium/5aed00897c55c.jpg (https://media.joomeo.com/large/5aed00897c55c.jpg)
https://media.joomeo.com/original/5aed00897c55c.png
Upscaled to 2160p (8:7 AR)
https://media.joomeo.com/medium/5af6d35020a92.jpg (https://media.joomeo.com/large/5af6d35020a92.jpg)
https://media.joomeo.com/original/5af6d35020a92.png
AviSource()
Spline16Resize(512, 448)
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=3, threads=0, opt=0, fapprox=0)
GaussResize2(4936, 4320, px=50, py=50)
BicubicResize(2468, 2160)
Levels(16, 1.125, 235, 0, 255)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Original (8:7 AR)
https://media.joomeo.com/medium/5aed019458739.jpg (https://media.joomeo.com/large/5aed019458739.jpg)
https://media.joomeo.com/original/5aed019458739.png
Upscaled to 2160p (4:3 AR)
https://media.joomeo.com/medium/5af6d37e35ba5.jpg (https://media.joomeo.com/large/5af6d37e35ba5.jpg)
https://media.joomeo.com/original/5af6d37e35ba5.png
AviSource()
Spline16Resize(512, 448)
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=3, threads=0, opt=0, fapprox=0)
GaussResize2(5640, 4320, px=50, py=50)
BicubicResize(2820, 2160)
Levels(16, 1.125, 235, 0, 255)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Original (4:3 AR)
https://media.joomeo.com/medium/5aed021e59505.jpg (https://media.joomeo.com/large/5aed021e59505.jpg)
https://media.joomeo.com/original/5aed021e59505.png
Upscaled to 2160p (4:3 AR)
https://media.joomeo.com/medium/5af6d3a82231a.jpg (https://media.joomeo.com/large/5af6d3a82231a.jpg)
https://media.joomeo.com/original/5af6d3a82231a.png
AviSource()
Spline16Resize(1280, 960)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=3, threads=0, opt=0, fapprox=0)
GaussResize2(5760, 4320, px=50, py=50)
BicubicResize(2880, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Original (4:3 AR)
https://media.joomeo.com/medium/5aed02f0db60c.jpg (https://media.joomeo.com/large/5aed02f0db60c.jpg)
https://media.joomeo.com/original/5aed02f0db60c.png
Note : Here, the aspect ratio is wrong if we compare with other videos from the Legacy of Kain saga (for the connoisseurs :D ) and the aspect ratio in-game. There shouldn't be black bars. So I just had to cut the black bars to have the correct AR.
Upscaled to 2160p (16:9 AR)
https://media.joomeo.com/medium/5af6d3dbd5f1f.jpg (https://media.joomeo.com/large/5af6d3dbd5f1f.jpg)
https://media.joomeo.com/original/5af6d3dbd5f1f.png
AviSource()
Crop(0, 80, 0, -80)
Spline16Resize(1280, 640)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=3, threads=0, opt=0, fapprox=0)
GaussResize2(7680, 4320, px=50, py=50)
BicubicResize(3840, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
So ? What is your opinion about all of that please ? :scared:
SuperLumberjack
12th May 2018, 13:56
I just checked one more time if there is a logic with the levels and the gamma, and without a doubt, whatever you think, in all modesty, I think I'm right :p
There is a balance ! I checked with the levels filter of VirtualDub.
I just changed a bit to see "14-237" in input, "15-236", "17-234"... and with the gradations, it perfectly match with "16-236".
I adjusted the gamma without watching the value. I reduced the gamma , I increased the gamma, I saw the dark tones becoming brighter, the light tones becoming darker... and I felt a balance ! Believe me or not, but I was on "1.123" for the gamma ! ;)
So "1.125", perfect ! :D I admit that I'm surprised, because the gamma of the CRT screens wasn't perfectly linear if I'm not wrong ! :confused: But it works !
I think it's even better than Higan or the Super NT, not like the old experience maybe on CRT, but more precise digitally (but maybe I'm wrong and it's only my own interpretation, I don't know) ! Always in all modesty... :D
But for the picture itself, you are the judges ! ;)
SuperLumberjack
12th May 2018, 20:22
Finally, even if it works, I'm not sure of what I did... :confused:
I need some explanations ! :D
I read that the RGB 16-235 was created to prevent clipping which could cause some artefacts and other defaults.
So, what is the signal that transit in a RGB scart ?
YCbCr signal ? Full RGB ? Limited RGB ?
This picture seams to show that it can be Full RGB :
https://media.joomeo.com/medium/5ae0ce366b87e.jpg (https://media.joomeo.com/large/5ae0ce366b87e.jpg)
Because if we compare with all the other pictures...
Higan
https://media.joomeo.com/medium/5af6cb6b68280.jpg (https://media.joomeo.com/large/5af6cb6b68280.jpg)
https://media.joomeo.com/original/5af6cb6b68280.png
Super NT :
https://media.joomeo.com/medium/5af6cb98de4b4.jpg (https://media.joomeo.com/large/5af6cb98de4b4.jpg)
https://media.joomeo.com/original/5af6cb98de4b4.png
Analogue Super NT - Killer Instinct (Hybrid Scanlines) 02-23-2018 (https://youtu.be/VI7IEkCdjhI)
My script (with levels changed)
https://media.joomeo.com/medium/5af6cbc1a8c0f.jpg (https://media.joomeo.com/large/5af6cbc1a8c0f.jpg)
https://media.joomeo.com/original/5af6cbc1a8c0f.png
My script (without change of levels)
https://media.joomeo.com/medium/5af6cc28a3095.jpg (https://media.joomeo.com/large/5af6cc28a3095.jpg)
https://media.joomeo.com/original/5af6cc28a3095.png
... there are all the informations of the pictures ! :rolleyes:
So why the 16-235 levels exist to prevent defaults of the image, if here, it seams that we have Full RGB ?
I don't understand !
Or maybe, the Raw image in RGB from the Super Nes is converted in a Limited RGB or YUV signal ?
So, there is no clipping in the extreme blacks and whites, but mapping of the "RGB 0-255" to "RGB 16-235" or "YUV 4:2:0" (with Rec.601 color matrix I think) !
Can you explain to me please ? :)
And for the gamma, if I understand, I didn't need to convert it ? :p
And so, what is the good way to display the image like it was on a CRT TV ?
Thanks for your help ! ;) I'm so confused now ! :D
creaothceann
12th May 2018, 20:50
(why do people record a video game, indeed why do people play games is a mystery to me :) )
https://www.youtube.com/watch?v=KS7hkwbKmBM ;)
StainlessS
12th May 2018, 21:30
Totally unbelievable.
SuperLumberjack
13th May 2018, 02:18
It's weird ! :scared:
This is "Mr. Nutz" with the Higan emulator, without the "Colors" filter (so, the default colors of the game with the raw picture) :
https://media.joomeo.com/medium/5af78c0030bd9.jpg (https://media.joomeo.com/large/5af78c0030bd9.jpg)
https://media.joomeo.com/original/5af78c0030bd9.png
And here is the game with the "Colors" filter activated (in the "Settings" and "Video emulation" sections) :
https://media.joomeo.com/medium/5af78e096ba09.jpg (https://media.joomeo.com/large/5af78e096ba09.jpg)
https://media.joomeo.com/original/5af78e096ba09.png
I understand now that it's more that only a levels adjustement or brightness/contrast adjustement.
But nothing is logical !
First, with this picture of "Donkey Kong Country", it's darker with the Higan and the Super NT picture :
Higan
https://media.joomeo.com/medium/5af6c5501a3d1.jpg (https://media.joomeo.com/large/5af6c5501a3d1.jpg)
https://media.joomeo.com/original/5af6c5501a3d1.png
Super NT :
https://media.joomeo.com/medium/5af6c5feba931.jpg (https://media.joomeo.com/large/5af6c5feba931.jpg)
https://media.joomeo.com/original/5af6c5feba931.png
My script (with levels changed)
https://media.joomeo.com/medium/5af6c70a49172.jpg (https://media.joomeo.com/large/5af6c70a49172.jpg)
https://media.joomeo.com/original/5af6c70a49172.png
But with this picture of "Donkey Kong Country 2", we notice, that some parts of the picture are lighter, with more details (see in the left-bottom corner) with the Super NT compared to Higan or my script :
Higan
https://media.joomeo.com/medium/5af6ca69e7656.jpg (https://media.joomeo.com/large/5af6ca69e7656.jpg)
https://media.joomeo.com/original/5af6ca69e7656.png
Super NT :
https://media.joomeo.com/medium/5af6caa61ff98.jpg (https://media.joomeo.com/large/5af6caa61ff98.jpg)
https://media.joomeo.com/original/5af6caa61ff98.png
My script (with levels changed)
https://media.joomeo.com/medium/5af6cae2304f4.jpg (https://media.joomeo.com/large/5af6cae2304f4.jpg)
https://media.joomeo.com/original/5af6cae2304f4.png
There is no logic ! :p Can you explain to me please ? :)
lansing
13th May 2018, 10:11
Why don't you email the Higan developer and ask him? How are we going to know what exact number did he uses?
SuperLumberjack
13th May 2018, 11:06
Aaaah lansing... ! I suppose that in the street, we recognize you immediatly ! You are the guy who never smiles ! Am I right ? :D
But thanks for your answer ! :p
In fact, I thought that maybe somebody could have an idea about the logic of the filters they used or what they did, that's all ! Because there are lots of professionnals and persons who have great ideas here ! ;)
SuperLumberjack
13th May 2018, 13:18
Finally, I will not change the gamma and the levels, because I tried something and I understood ! :)
I add scanlines on one of my picture, and when I observe, it was equivalent to the same picture with the gamma to 2.5 instead of 2.2.
So, I conclued that the scanlines from the CRT screen affected the gamma and the general luminosity of the picture. And it's not a question of levels.
A gamma of 2.2 on a CRT looks like a gamma of 2.5 on a modern display, because of the technology that it used.
The other problem is, that I shoud change the gamma for all my videos, and I don't think it's the good thing to do. It's better to calibrate a screen to a certain gamma rather than to change the gamma of videos.
And if Higan propose to have a color filter that we can activate or not, it's just for a certain representation of what the CRT were. It doesn't respond to an objective will.
Voilà ! J'ai tout dit ! :p
(I know it's not exactly representative of the reality, but these pictures are just for the examples)
Mr. Nutz - Scanlines vs. Original
https://media.joomeo.com/medium/5af843d4308eb.jpg (https://media.joomeo.com/large/5af843d4308eb.jpg)
https://media.joomeo.com/original/5af843d4308eb.png
Mr. Nutz - Scanlines vs. Original (gamma changed for 2.5)
https://media.joomeo.com/medium/5af844264413d.jpg (https://media.joomeo.com/large/5af844264413d.jpg)
https://media.joomeo.com/original/5af844264413d.png
Mr. Nutz - Scanlines vs. Original (gamma changed for 2.5 and luminosity adjusted)
https://media.joomeo.com/medium/5af8445997808.jpg (https://media.joomeo.com/large/5af8445997808.jpg)
https://media.joomeo.com/original/5af8445997808.png
SuperLumberjack
14th May 2018, 15:48
I just want to do a little off topic about a particularity of my laptop Toshiba equipped with a Intel Core i7-4700MQ CPU :)
In ACDSee and VirtualDub, I think that an upscaling is done by the Intel HD 4600 IGP when I zoom in the picture.
For example, here is an original picture that I will zoom in ACDSee :
Original picture
https://media.joomeo.com/medium/5af99af26674f.jpg (https://media.joomeo.com/large/5af99af26674f.jpg)
https://media.joomeo.com/original/5af99af26674f.png
Picture zoomed 200%
https://media.joomeo.com/medium/5af99b9bc4466.jpg (https://media.joomeo.com/large/5af99b9bc4466.jpg)
https://media.joomeo.com/original/5af99b9bc4466.png
Picture zoomed 400%
https://media.joomeo.com/medium/5af99bff55915.jpg (https://media.joomeo.com/large/5af99bff55915.jpg)
https://media.joomeo.com/original/5af99bff55915.png
Picture zoomed 800%
https://media.joomeo.com/medium/5af99c4d69792.jpg (https://media.joomeo.com/large/5af99c4d69792.jpg)
https://media.joomeo.com/original/5af99c4d69792.png
Picture zoomed 1600%
https://media.joomeo.com/medium/5af99ca190c69.jpg (https://media.joomeo.com/large/5af99ca190c69.jpg)
https://media.joomeo.com/original/5af99ca190c69.png
This upscaling is effective in VirtualDub too when I zoom in the image :
https://media.joomeo.com/medium/5af99d11cb21d.jpg (https://media.joomeo.com/large/5af99d11cb21d.jpg)
https://media.joomeo.com/original/5af99d11cb21d.png
To compare, here it is with the nearest neighbor resizer :
https://media.joomeo.com/medium/5af99d6d1c40b.jpg (https://media.joomeo.com/large/5af99d6d1c40b.jpg)
https://media.joomeo.com/original/5af99d6d1c40b.png
But this kind of upscaling could be very useful to strech an image, change the aspect ratio, etc., because as you can see, it's rather natural ;) :
https://media.joomeo.com/medium/5af99e164fb8a.jpg (https://media.joomeo.com/large/5af99e164fb8a.jpg)
https://media.joomeo.com/original/5af99e164fb8a.png
Here is an image in a resolution of 3840x2160, composed by 4 images in a resolution of 1920x1080 (I zoomed 200%) :
https://media.joomeo.com/medium/5af99f31a4a96.jpg (https://media.joomeo.com/large/5af99f31a4a96.jpg)
https://media.joomeo.com/original/5af99f31a4a96.png
It looks like an enlargement photo I think :p It's not sharper, but this algorithm could be useful to print posters ! :D
My question is especially : what do you think it is like algorithm ? I don't know something similar (maybe the simple resizer, but I don't think it's it), and you ? :confused:
Thanks for your help ! ;)
bxyhxyh
14th May 2018, 17:31
Aaaah lansing... ! I suppose that in the street, we recognize you immediatly ! You are the guy who never smiles ! Am I right ? :D
I think you should refrain from this kind of subjective attacks. (or any kind of.)
And what's your latest script for SNES upscale right now? And PS ones
Who knows, it might be useful fot some people.
SuperLumberjack
14th May 2018, 17:48
It's not an attack, it's a joke ! ;)
Sometimes I just want to ask : "Why so serious ?" :o (I don't like to hurt people)
But I admit that I prefer talk to persons that want to help rather than those who can't hide their exasperation... :rolleyes:
The goal isn't the same !
Some people like raffriff42 or StainlessS are always ready to play the game, help, post scripts, screenshots, etc.
Some other people don't ! It's another mentality ! Sorry ! But when somebody doesn't want to help, why bother to answer ?
And yes, I know that sometimes, I do some extravagant things ! :p But I try things ! ;) Is there a sense ? Does the life have a sense... ? So, I ask you again : "Why so serious ?" :D
And what's your latest script for SNES upscale right now? And PS ones
Who knows, it might be useful fot some people.
Isn't it a form of subjective attack ? :p
bxyhxyh
14th May 2018, 18:48
He recommended that you could ask numbers from higan devs.
And your response was plain insult.
Isn't it a form of subjective attack ? :p
I genuinely asked that. I just lost track because of those new screenshots.
You asked good script for your videos. And you seemed to like your current script.
Others might think it might be useful for their videos. Tastes are not universal.
SuperLumberjack
14th May 2018, 19:32
He recommended that you could ask numbers from higan devs.
And your response was plain insult.
It wasn't an insult ! I have nothing against him, even if sometimes, I think he could speak on a nicer tone ! :p
Because he answers this too :
How are we going to know what exact number did he uses?
Why add this ?
But I don't want to speak against him. Maybe I'm too sensitive ! Who knows ? :)
But you know, I often say the same thing to my brother, that he's sometimes too serious and must smile a bit more, but it's just to free him ! :D Not to mock him ! ;) And it doesn't take it incorrectly.
I'm not a person who hates others. Sometimes it's hard to retranscribe by words the emotions of what we think. Maybe there were some misunderstanding.
I genuinely asked that. I just lost track because of those new screenshots.
You asked good script for your videos. And you seemed to like your current script.
Others might think it might be useful for their videos. Tastes are not universal.
I thought it was ironic ! Sorry ! :p But I didn't take it bad, no problem ;) I have a lot of self-derision :)
I will post my scripts and some screenshots after if you want ;)
SuperLumberjack
14th May 2018, 20:46
Here are some screenshots from Super Nes games with 4:3 aspect ratio (in reality 585:448) upscaled to 2160p :
(source resolution : 256x224 60 fps)
Killer Instinct
https://media.joomeo.com/medium/5b034d618e6eb.jpg (https://media.joomeo.com/large/5b034d618e6eb.jpg)
https://media.joomeo.com/original/5b034d618e6eb.png
Killer Instinct
https://media.joomeo.com/medium/5b034e0812fc3.jpg (https://media.joomeo.com/large/5b034e0812fc3.jpg)
https://media.joomeo.com/original/5b034e0812fc3.png
Donkey Kong Country
https://media.joomeo.com/medium/5b034e4cdb57d.jpg (https://media.joomeo.com/large/5b034e4cdb57d.jpg)
https://media.joomeo.com/original/5b034e4cdb57d.png
Donkey Kong Country 3
https://media.joomeo.com/medium/5b034e9ada8a6.jpg (https://media.joomeo.com/large/5b034e9ada8a6.jpg)
https://media.joomeo.com/original/5b034e9ada8a6.png
AviSource()
Spline16Resize(512, 448)
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(5640, 4320, px=50, py=50)
BicubicResize(2820, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Here are some screenshots from Super Nes games with 8:7 aspect ratio upscaled to 2160p :
Mr. Nutz
https://media.joomeo.com/medium/5b034eef0741a.jpg (https://media.joomeo.com/large/5b034eef0741a.jpg)
https://media.joomeo.com/original/5b034eef0741a.png
Mr. Nutz
https://media.joomeo.com/medium/5b034f6680f75.jpg (https://media.joomeo.com/large/5b034f6680f75.jpg)
https://media.joomeo.com/original/5b034f6680f75.png
Super Mario World
https://media.joomeo.com/medium/5b034fa8c23cf.jpg (https://media.joomeo.com/large/5b034fa8c23cf.jpg)
https://media.joomeo.com/original/5b034fa8c23cf.png
Super Mario Bros. 3
https://media.joomeo.com/medium/5b034fe7462b5.jpg (https://media.joomeo.com/large/5b034fe7462b5.jpg)
https://media.joomeo.com/original/5b034fe7462b5.png
AviSource()
Spline16Resize(512, 448)
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(4936, 4320, px=50, py=50)
BicubicResize(2468, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
What do you think ? :)
SuperLumberjack
14th May 2018, 22:07
Here are some screenshots from PlayStation 1 games upscaled to 2160p :
Tomb Raider
(source resolution : 320x208 15 fps)
https://media.joomeo.com/medium/5b0350c155064.jpg (https://media.joomeo.com/large/5b0350c155064.jpg)
https://media.joomeo.com/original/5b0350c155064.png
AviSource()
ChangeFPS(30)
Spline16Resize(640, 416)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(6646, 4320, px=50, py=50)
AddBorders(517, 0, 517, 0)
BicubicResize(3840, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Tomb Raider 2
(source resolution : 320x160 15 fps)
https://media.joomeo.com/medium/5b03510e81820.jpg (https://media.joomeo.com/large/5b03510e81820.jpg)
https://media.joomeo.com/original/5b03510e81820.png
AviSource()
ChangeFPS(30)
Spline16Resize(640, 320)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(7680, 3840, px=50, py=50)
AddBorders(0, 240, 0, 240)
BicubicResize(3840, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Tomb Raider 2
(source resolution : 320x208 15 fps)
https://media.joomeo.com/medium/5b03516512119.jpg (https://media.joomeo.com/large/5b03516512119.jpg)
https://media.joomeo.com/original/5b03516512119.png
Soul Reaver
(source resolution : 320x240 15 fps)
https://media.joomeo.com/medium/5b0351a153d0d.jpg (https://media.joomeo.com/large/5b0351a153d0d.jpg)
https://media.joomeo.com/original/5b0351a153d0d.png
AviSource()
ChangeFPS(30)
Spline16Resize(640, 480)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(5760, 4320, px=50, py=50)
BicubicResize(2880, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Here are some screenshots from PlayStation 2/PC games upscaled to 2160p :
Soul Reaver (bonus disc Soul Reaver 2 PS2)
(source resolution : 640x480 29.970 fps)
https://media.joomeo.com/medium/5b0351ef52811.jpg (https://media.joomeo.com/large/5b0351ef52811.jpg)
https://media.joomeo.com/original/5b0351ef52811.png
AviSource()
Spline16Resize(1280, 960)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(5760, 4320, px=50, py=50)
BicubicResize(2880, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Soul Reaver 2 (PC)
(source resolution : 640x360 29.970 fps)
https://media.joomeo.com/medium/5b03523cf2310.jpg (https://media.joomeo.com/large/5b03523cf2310.jpg)
https://media.joomeo.com/original/5b03523cf2310.png
AviSource()
Spline16Resize(1280, 720)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(7680, 4320, px=50, py=50)
BicubicResize(3840, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Blood Omen 2 (PS2)
(source resolution : 640x480 29.970 fps)
https://media.joomeo.com/medium/5b03527fd67c5.jpg (https://media.joomeo.com/large/5b03527fd67c5.jpg)
https://media.joomeo.com/original/5b03527fd67c5.png
AviSource()
Crop(0, 60, 0, -60)
Spline16Resize(1280, 720)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(7680, 4320, px=50, py=50)
BicubicResize(3840, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
Legacy of Kain: Defiance (PC)
(source resolution : 640x480 29.970 fps)
https://media.joomeo.com/medium/5b0352cd48fb8.jpg (https://media.joomeo.com/large/5b0352cd48fb8.jpg)
https://media.joomeo.com/original/5b0352cd48fb8.png
Note : Here, the aspect ratio is wrong if we compare with other videos from the Legacy of Kain saga and the aspect ratio in-game. After we cropped, we get a resolution of 640x320. We must have an equivalent of 640x360 to get a correct AR.
AviSource()
Crop(0, 80, 0, -80)
Spline16Resize(1280, 640)
ConvertToRGB24
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=2, threads=0, opt=0, fapprox=0)
GaussResize2(7680, 4320, px=50, py=50)
BicubicResize(3840, 2160)
return Last
##################################
function GaussResize2(clip C, int target_width, int target_height,
\ float "src_left", float "src_top", float "src_width", float "src_height",
\ float "px", float "py")
{
px = Default(px, 30.0)
py = Default(py, px)
R = C.GaussResize(target_width, C.Height,
\ src_left, 0, src_width, 0, px)
\ .GaussResize(target_width, target_height,
\ 0, src_top, 0, src_height, py)
return R
}
SuperLumberjack
15th May 2018, 00:31
What do you think about the Super NT ? :)
Super NT test 5 - Donkey Kong Country 2: Diddy's Kong Quest (https://youtu.be/lMqMYTog-AY)
Super NT test 1 - Yoshi's Island (https://youtu.be/6a0YLtTHjCY)
Super NT test 7 - Super Mario World (https://youtu.be/nNqG-H4O-4Y)
Super NT test 8 - Super Commie All Stars (https://youtu.be/oBSxnUT0ZII)
Super Metroid - Super NT [Part 1] (https://youtu.be/iIzFadUG1Ks)
DF Retro: Analogue Super Nt Review - a 21st Century SNES! (https://youtu.be/LOSQgBEf5ac)
SuperLumberjack
16th May 2018, 23:22
Hello :)
I finally did a video for my last scripts ! :p
I show in the video the title screen with the demo of two games : one with a 8:7 aspect ratio and another with a 4:3 aspect ratio ! It's a surprise ! :p
Here is the video : https://youtu.be/TDnQWvctEJE
The playlist with all my scripts (they are written in the description) : https://www.youtube.com/playlist?list=PLL_S06Mn5k4mRZ1a50jW3G7DVYqx9NhoT
https://media.joomeo.com/medium/5b0354b08afda.jpg (https://media.joomeo.com/large/5b0354b08afda.jpg)
https://media.joomeo.com/original/5b0354b08afda.png
https://media.joomeo.com/medium/5b0354f95f16b.jpg (https://media.joomeo.com/large/5b0354f95f16b.jpg)
https://media.joomeo.com/original/5b0354f95f16b.png
SuperLumberjack
19th May 2018, 01:23
Hello guys !
I could kill myself, because I already encoded all my videos, but I need to change something :p I'm sure that you expected this moment... no ? :D
But I must put this :
"pscrn=2"
instead of this :
"pscrn=3"
But for all the rest, I'm satisfied ! :)
To explain this change, I will just say that something disturbed me with the relief and the perspective. But it's more disturbing in movement I think.
It wasn't completely natural. My error was that I wanted a copy of the image of the Super NT. In fact I was confused ! I didn't know if I wanted a image like it is on a modern or CRT display, or both... :o
But it became clear when I compare these screenshots :
Tomb Raider PS1
https://media.joomeo.com/medium/5aff682dc7131.jpg (https://media.joomeo.com/large/5aff682dc7131.jpg)
PSX l Guía l Tomb Raider l Parte 1 l !!! Comienza la aventura !!! (https://youtu.be/u1ym_K540BI)
Tomb Raider PS1 on a PVM
https://media.joomeo.com/medium/5aff68631ab0f.jpg (https://media.joomeo.com/large/5aff68631ab0f.jpg)
Ps1: Tomb Raider on PVM-14M4E (https://youtu.be/h7cTLSO0aTQ)
Tomb Raider PC
https://media.joomeo.com/medium/5aff689c15d89.jpg (https://media.joomeo.com/large/5aff689c15d89.jpg)
Tomb Raider (1996) Walkthrough 100% All Secrets Collected (PC) NO COMMENTARY (https://youtu.be/LtkMeyRpwCQ)
Tomb Raider PS1
https://media.joomeo.com/medium/5aff6c8ba98f1.jpg (https://media.joomeo.com/large/5aff6c8ba98f1.jpg)
Tomb Raider PS1 on a PVM
https://media.joomeo.com/medium/5aff6cd6ba6c5.jpg (https://media.joomeo.com/large/5aff6cd6ba6c5.jpg)
Tomb Raider PC vs. PS1
https://media.joomeo.com/medium/5aff6d0db254d.jpg (https://media.joomeo.com/large/5aff6d0db254d.jpg)
Tomb Raider 1 PC vs PS (https://youtu.be/kvQQ9Z4fCwo)
When we compare the PS1 picture on a modern display and on a PVM, we can noticed that the scanlines on the PVM tend to soften the angles and the aliasing.
On the PC picture, it's already good, equivalent to the PS1 version on a PVM.
It's the things that I forgot ! So, it was like if I tried to have a PS1 image on a modern display, thinking that I would get a PS1 image on a PVM :p
Do you follow me ? :D
There was a little gap with the "pscrn=3". I thought it would recreate the information between scalines, to get a image like the PC version of Tomb Raider for the comparison, but it already recreated this information with "pscrn=2".
I tried, and it's the same effect that have the PS1 version on a PVM or the PC version of Tomb Raider, but for a Super Nes game :) :
https://media.joomeo.com/medium/5aff6e0d03dc4.jpg (https://media.joomeo.com/large/5aff6e0d03dc4.jpg)
https://media.joomeo.com/medium/5aff6e36a83eb.jpg (https://media.joomeo.com/large/5aff6e36a83eb.jpgb)
foxyshadis
20th May 2018, 04:38
Hello buddies :)
I come back to you, because I thought about one thing... an important thing ! :p
As some of you know, Higan is the perpect emulator, close to the original experience of the Super Nes, but on the modern display ;)
But I asked myself, how they did to reproduce the original colors, which are darker. Is it simply a way to imitate the feeling of the old CRT display ? I think yes and no... maybe ! :)
I thought one thing : my pictures are in RGB 24 bits, so the levels are 0-255.
But at the time of the CRT display, maybe it was meant to be display in a equivalent of RGB 16-235.
No ? :o
I tried this, and in fact, my image was close to the image of Higan, even if not exactly (maybe the gamma).
After some other researches, I read that the gamma of the CRT was close to 2.5 too if we compare to the gamma of 2,22 on a modern display.
So I convert the gamma of the image too :p
Actually :
1 / 0,45 = 2,2222222222222222222222222222222
So I calculated :
2,5 / (1 / 0,45) = 1,125
So, I used this function to transform my gamma and my levels :
And really, it's closer of what I remember of my experience on a CRT display !
Just for the example, the picture of Mr. Nutz with the spider, I remember how it was dark on my CRT screen when I was a child. It really was a dark atmosphere, the moon was very present, like almost the only comforting glow...
By the way, I was always surprised to see that it's so clear on my LCDs with an emulator :confused:
As you will see, it's not so bad... I hope ! :D
I change this too :
nnedi3_rpow2(rfactor=2, nsize=0, nns=2, qual=1, etype=0, pscrn=3, threads=0, opt=0, fapprox=0)
With "pscrn=3" instead of 4, I noticed that it's closer that what I remember. And yes, I can see the difference ! :D
I compare in zooming with the original picture of Killer Instinct and a the picture of the same game in a video of the Super NT (a real Super Nintendo HD, not an emulator), and it's closer now !
With "pscrn=2" and "pscrn=4", there was something weird. It didn't perfectly match !
NTSC is YIQ, an analog form of YUV, in which signals between 53.6mV and 714mV are converted to RGB between "pure" black and white, at least to whatever limits your crappy TV could achieve. "Correct" color rendering under NTSC is a polite fiction that anyone who ever created or edited content knew was a dirty, dirty lie. "Never The Same Color" is its unofficial nickname.
Byuu picked the colors he did based as closely as possible to an ideally calibrated NTSC monitor, with a bit of haircut off the top to average in the effect of the phosphors dimming every field. It has nothing to do with 16-235, which was a concept not invented until digital video. No game console would use that until HDMI appeared. This task is purely subjective, purely for your own appreciation, and you should pick a scheme that looks aesthetically pleasing to you, not seek a holy grail of perfection that doesn't actually exist.
StainlessS
20th May 2018, 08:20
"Never The Same Color" is its unofficial nickname
AKA,
Never Twice the Same Color,
or
No True Skin Colors
Also, PAL,
Peace At Last,
Perfection At Last
Pictures Always Lovely.
Wikipedia, 2/3 way down page:- https://en.wikipedia.org/wiki/NTSC
SuperLumberjack
20th May 2018, 10:07
NTSC is YIQ, an analog form of YUV, in which signals between 53.6mV and 714mV are converted to RGB between "pure" black and white, at least to whatever limits your crappy TV could achieve. "Correct" color rendering under NTSC is a polite fiction that anyone who ever created or edited content knew was a dirty, dirty lie. "Never The Same Color" is its unofficial nickname.
Byuu picked the colors he did based as closely as possible to an ideally calibrated NTSC monitor, with a bit of haircut off the top to average in the effect of the phosphors dimming every field. It has nothing to do with 16-235, which was a concept not invented until digital video. No game console would use that until HDMI appeared. This task is purely subjective, purely for your own appreciation, and you should pick a scheme that looks aesthetically pleasing to you, not seek a holy grail of perfection that doesn't actually exist.
Thanks for the explanations ! ;)
Yes, you are right, what I did is only for my own appreciation :p It will never be perfect, I know. When I say it's perfect, it's just a way to express my contentment :) I'm aware of the limits of what I do, even if I try to do as if there were none.
Otherwise, I wouldn't try anything :o
If I share my scripts, it's precisely because it's subjective, and because maybe somebody would prefer another of my old scripts or something else that another person posted, because there are lots of interesting things ! :)
AKA,
Never Twice the Same Color,
or
No True Skin Colors
Also, PAL,
Peace At Last,
Perfection At Last
Pictures Always Lovely.
Wikipedia, 2/3 way down page:- https://en.wikipedia.org/wiki/NTSC
Do you prefer PAL ? :p
The only problem was the 50 Hz :scared:
Picture Always Late :D
creaothceann
20th May 2018, 21:16
Speaking of the Playstation... With the Beetle PSX HW core you can fix the "polygon wobbling" (PGXP function (https://www.libretro.com/index.php/mednafenbeetle-psx-pgxp-arrives/)) and the texture warping.
wipEout 1 - track 1, 1x internal res, PGXP disabled (http://www.mediafire.com/file/n1446j8difdu699/wipEout+1+-+track+1%2C+1x+res%2C+PGXP+disabled.mkv)
wipEout 1 - track 1, 4x internal res, PGXP enabled (http://www.mediafire.com/file/pxricw6em4bzdun/wipEout+1+-+track+1%2C+4x+res%2C+PGXP+enabled.mkv)
wipEout 1 - track 2, 4x internal res, PGXP disabled (http://www.mediafire.com/file/evj7guv2pmjmmjh/wipEout+1+-+track+2%2C+4x+res%2C+PGXP+disabled.mkv)
wipEout 1 - track 2, 4x internal res, PGXP enabled (http://www.mediafire.com/file/d72b7t9ekmt1afw/wipEout+1+-+track+2%2C+4x+res%2C+PGXP+enabled.mkv)
All played in Retroarch with the CRT Royale shader.
SuperLumberjack
22nd May 2018, 00:27
I will watch this tomorrow. Thanks ! :)
Moreover, I updated my screenshots, my scripts and my YouTube video above ! ;)
SuperLumberjack
22nd May 2018, 16:15
Speaking of the Playstation... With the Beetle PSX HW core you can fix the "polygon wobbling" (PGXP function (https://www.libretro.com/index.php/mednafenbeetle-psx-pgxp-arrives/)) and the texture warping.
wipEout 1 - track 1, 1x internal res, PGXP disabled (http://www.mediafire.com/file/n1446j8difdu699/wipEout+1+-+track+1%2C+1x+res%2C+PGXP+disabled.mkv)
wipEout 1 - track 1, 4x internal res, PGXP enabled (http://www.mediafire.com/file/pxricw6em4bzdun/wipEout+1+-+track+1%2C+4x+res%2C+PGXP+enabled.mkv)
wipEout 1 - track 2, 4x internal res, PGXP disabled (http://www.mediafire.com/file/evj7guv2pmjmmjh/wipEout+1+-+track+2%2C+4x+res%2C+PGXP+disabled.mkv)
wipEout 1 - track 2, 4x internal res, PGXP enabled (http://www.mediafire.com/file/d72b7t9ekmt1afw/wipEout+1+-+track+2%2C+4x+res%2C+PGXP+enabled.mkv)
All played in Retroarch with the CRT Royale shader.
It's really great ! :) I love the aspect ! :p But unfortunately, I don't think it's very adapted to YouTube :(
But for playing (not too close of the screen), it's cool ! ;) Thanks for all this !
Otherwise, I found some interesting videos from the "Raphaël Guesqua" channel. :)
For information, Raphael Guesqua composed the music of the video game "Mr. Nutz" ;)
"Raphaël Gesqua's professional career began in the video games industry, in the early 1990s, under his real name Raphaël Gesqua, after he was previously known in the middle of the 16-bit demoscene, under the Audiomonster pseudonym adopted in 1989.
The composer worked with game designers, such as Paul Cuisset, for whom he arranged the soundtrack of the video game Flashback, for the Commodore Amiga, in 1992. The game has remained the world's best selling French video game.
He also worked twice with Pierre Adane, creator, among other things, of the Top Spin video games series, and for which he composed the soundtracks of Snow Bros video game, for Commodore Amiga, in 1991 (that production was cancelled for at the last minute for legal reasons), and in 1993, for Mr. Nutz,a side-scrolling platformer released for Super NES, Mega Drive/Genesis and Game Boy, which was a great success and went out of stock, just days after its release."
https://en.wikipedia.org/wiki/Rapha%C3%ABl_Gesqua
MR.NUTZ VIDEOGAME ORIGINAL FRENCH TV SPOTS (https://youtu.be/EGbRXSNPw70)
MR.NUTZ VIDEOGAME - SUPER NINTENDO/SUPER FAMICOM - 1993 (https://youtu.be/YKKuhL0S1Dg)
MR.NUTZ WINNING BEST PLATFORM GAME AWARD - VIDEOGAMES NIGHT - LA NUIT DES JEUX VIDEO 1993 (https://youtu.be/0yuq6Mzxuyw)
MR.NUTZ - VIDEOGAME - SUPER FAMICOM JAPAN VERSION BY SOFEL - 1994 (https://youtu.be/ByduotcQIQo)
It's interesting, because we see lots of video captures from the real Super Nes and... there aren't any scanlines, but it's nice ! :D
A great source of inspiration ! :)
But I don't think it's possible to have a similar result. My last script is maybe the closest of the result I wanted.
I don't want to boast, but I think it's not bad ! :D
https://media.joomeo.com/medium/5b04383e2c6bc.jpg (https://media.joomeo.com/large/5b04383e2c6bc.jpg)
https://media.joomeo.com/original/5b04383e2c6bc.png
creaothceann
22nd May 2018, 21:16
I don't think it's suited for YouTube :(
But for playing (not too close to the screen), it's cool! ;)
The PGXP function only fixes the wobbly polygon coordinates; the CRT effect is entirely by the shader.
Here's track 3 without the shader: wipEout 1 - track 3, 4x internal res, PGXP enabled.mkv (http://www.mediafire.com/file/apumcl2b0w5riud/wipEout+1+-+track+3%2C+4x+res%2C+PGXP+enabled.mkv) (228.3 MB)
(It's played in Rapier class, so it's much faster than the other videos)
SuperLumberjack
22nd May 2018, 22:29
The PGXP function only fixes the wobbly polygon coordinates
Like in the first Tomb Raider ? :p
the CRT effect is entirely by the shader.
Here's track 3 without the shader: wipEout 1 - track 3, 4x internal res, PGXP enabled.mkv (http://www.mediafire.com/file/apumcl2b0w5riud/wipEout+1+-+track+3%2C+4x+res%2C+PGXP+enabled.mkv) (228.3 MB)
(It's played in Rapier class, so it's much faster than the other videos)
It's different, but nice too ! :) The only problem on a modern display is that we lost the realistic aspect. But unfortunately, it's the same with some old movies ! :(
By the way, I love Wipeout, even if I didn't possess any of the games. But I played it with friends when I was younger ! Great soundtrack ! The Prodigy, etc. ! ;)
creaothceann
23rd May 2018, 07:47
Like in the first Tomb Raider? :p
Applies to all PSX games.
SuperLumberjack
23rd May 2018, 11:13
Yes, that's true ! I forgot it ;)
It's because I hadn't a PS1 (but a PS2). I played Tomb Raider on PC :p There was the same thing.
SuperLumberjack
23rd May 2018, 22:10
Hello :)
I just compared my script with a video of Soul Reaver on PS1 displayed on a Sony PVM.
First, I compared with the introduction of the game PS1 version (resolution of 320x240). Second, I compared with the intro which was on the bonus disc of Soul Reaver 2 on the PS2 version.
Soul Reaver PS1 on Sony PVM vs. Soul Reaver intro PS1 upscaled
https://media.joomeo.com/medium/5b05d622a0062.jpg (https://media.joomeo.com/large/5b05d622a0062.jpg)
https://media.joomeo.com/original/5b05d622a0062.png
Soul Reaver PS1 on Sony PVM vs. Soul Reaver intro PS2 on SR2 bonus disc upscaled
https://media.joomeo.com/medium/5b05d700c4a41.jpg (https://media.joomeo.com/large/5b05d700c4a41.jpg)
https://media.joomeo.com/original/5b05d700c4a41.png
(the video : PS1: Soul Reaver + Sony PVM 14M4E (https://youtu.be/HMvZnHxPqe4))
It's weird, because the colors don't seam correct on the PS1 version. On the PS2 version, it's good !
Maybe I forgot something when I exporte the videos from the PS1 version. I dit it with PSmplay for the PS1 videos and PSS Plex for the PS2 videos. But I exported the videos in RGB24 from PSmplay to keep the maximum quality, because of the low resolution too.
I don't know if it was a color matrix or something else... :confused:
And so ? It's not bad my script no ? :p
I still tried to change some parameters of my script when I compared with the video of the Sony PVM, but I definitely think I can't do better. It's the closest I can have for me.
Edit 1: There is no way to have different colors from PSmplay. But it's bizarre, because in this video the colors seam more correct :rolleyes::
PSX Longplay - Legacy of Kain: Soul Reaver (Part 1 of 2) (https://youtu.be/lz9HtrZc9Gk?t=121)
Do you know how to have the correct colors please ? Because I have other videos from PS1. But it's not a question of color matrix. I tried.
Thanks ! ;)
Edit 2: But in other videos, I noticed it's like me.
Here for example : Detonado de Legacy of Kain: Soul Reaver (PS1) - Parte 1 - A Morte - (Dublado Pt-Br) (https://youtu.be/STQ8b3-Wqvg?t=248)
So I don't why the colors are correct in some videos but are not in the originals.
SuperLumberjack
24th May 2018, 18:04
Hello :)
It's bizarre ! When I compare this same video from the PS1 version (left) and the Dreamcast version (right), the Dreamcast version looks normal.
See the difference :
https://media.joomeo.com/medium/5b06f052a81f8.jpg (https://media.joomeo.com/large/5b06f052a81f8.jpg)
https://media.joomeo.com/original/5b06f052a81f8.png
It's the same difference than I show you just in the previous post.
But strangely, in these 2 videos of the PS1 version, we see that one has the correct colors, and the other has the same colors than me :
https://media.joomeo.com/medium/5b06efc48202a.jpg (https://media.joomeo.com/large/5b06efc48202a.jpg)
https://media.joomeo.com/original/5b06efc48202a.png
So what is the logic behind this difference ? :confused:
Have you an idea ? :p
SuperLumberjack
25th May 2018, 01:54
I just tried to correct the colors with the "HSV Adjust" filter in VirtualDub, and I think it's closer to what we can except (Dreamcast version left - PS1 version right) :
https://media.joomeo.com/medium/5b075a474cc47.jpg (https://media.joomeo.com/large/5b075a474cc47.jpg)
https://media.joomeo.com/medium/5b075a76114f5.jpg (https://media.joomeo.com/large/5b075a76114f5.jpg)
https://media.joomeo.com/medium/5b075aac2ec4f.jpg (https://media.joomeo.com/large/5b075aac2ec4f.jpg)
https://media.joomeo.com/medium/5b075b03b2f3f.jpg (https://media.joomeo.com/large/5b075b03b2f3f.jpg)
https://media.joomeo.com/medium/5b075b565398d.jpg (https://media.joomeo.com/large/5b075b565398d.jpg)
https://media.joomeo.com/medium/5b075b87f08af.jpg (https://media.joomeo.com/large/5b075b87f08af.jpg)
https://media.joomeo.com/medium/5b075bb35f415.jpg (https://media.joomeo.com/large/5b075bb35f415.jpg)
https://media.joomeo.com/medium/5b075bdb20259.jpg (https://media.joomeo.com/large/5b075bdb20259.jpg)
https://media.joomeo.com/medium/5b075c0f2a704.jpg (https://media.joomeo.com/large/5b075c0f2a704.jpg)
Even with the Soul Reaver introduction, the PS1 version is closer to the PS2 version from the Soul Reaver bonus disc now (we see it clearly when we compared to the original colors to the right) :
https://media.joomeo.com/medium/5b075c3754147.jpg (https://media.joomeo.com/large/5b075c3754147.jpg)
But I still don't understand why in some videos on YouTube, the colors are correct and in others, they are incorrect. And I wonder especially why the videos that I converted from the original STR files (the video files from the PS1 games) have weird colors...
SuperLumberjack
25th May 2018, 02:08
So we can expect that it's a general problem with all the videos from the PS1 video games.
Here is a video from Tomb Raider with the incorrect colors :
https://media.joomeo.com/medium/5b075fa77cafb.jpg (https://media.joomeo.com/large/5b075fa77cafb.jpg)
(source : TOMB RAIDER 1 (Film-Game Complet HD Fr PSX) (https://youtu.be/H4kMtVkaWBc?t=3037))
A video with the correct colors (from the PSN on PS3) :
https://media.joomeo.com/medium/5b0760ac7fc89.jpg (https://media.joomeo.com/large/5b0760ac7fc89.jpg)
Tomb Raider (PS1 classic PSN/PS3) #75 LongPlay HD (https://youtu.be/BltNSs9Vzdg?t=19213)
Here is the original video in AVI converted from the original game :
https://media.joomeo.com/medium/5b07611a089dd.jpg (https://media.joomeo.com/large/5b07611a089dd.jpg)
And the same picture with the "HSV Adjust" filter (HUE -9.4°) :
https://media.joomeo.com/medium/5b07615e7c6ce.jpg (https://media.joomeo.com/large/5b07615e7c6ce.jpg)
I would like to understand all this logic about the colors ! Somebody has an idea please ? :p
Thanks ! ;)
SuperLumberjack
25th May 2018, 19:25
I tried many programs to read the SRT files (videos) from the PS1 games, and for the moment, STRPlay is the only one which can display the correct colors. Even in the pSX emulator, the colors are incorrect, like those I have for my AVI files converted from the STR files with PSmplay.
See the difference (correct colors with STRPlay) :
https://media.joomeo.com/medium/5b0854667961c.jpg (https://media.joomeo.com/large/5b0854667961c.jpg)
I tried to correct the colors with the "HSV Adjust" filter in VirtualDub, but this is the closest resultat that I can get :
https://media.joomeo.com/medium/5b0854b7b1999.jpg (https://media.joomeo.com/large/5b0854b7b1999.jpg)
Suggestions ? :p It would be cool, because it's important for me to have the correct colors ! :)
Thanks for your help ! ;)
SuperLumberjack
25th May 2018, 19:51
Just to show you the program that I used to extract the videos (PSmplay) compared to STRPlay which reads them with the correct colors :
https://media.joomeo.com/medium/5b085a5a015b5.jpg (https://media.joomeo.com/large/5b085a5a015b5.jpg)
https://media.joomeo.com/medium/5b085a753a62f.jpg (https://media.joomeo.com/large/5b085a753a62f.jpg)
It's interesting to see that there is a difference with the framerate too. PSmplay reads the videos in 15 fps (or 14.99) and STRPlay in 15.018 fps.
I need to find a way to have the correct colors and the correct framerate (I don't know how it is) ! :rolleyes:
It's was almost that with the program "STR Converter". It has the correct colors ! :) The only problem is that the beginning of the video I tested was freezed and I can't keep the sound to 37.8 kHz (I need to convert it to 44.1 kHz).
So, almost that, but it failed ! :( I need to find ! :p
SuperLumberjack
26th May 2018, 12:53
Still one picture to show you the difference :
https://media.joomeo.com/medium/5b09490083317.jpg (https://media.joomeo.com/large/5b09490083317.jpg)
At the left, we have the introduction of "Soul Reaver" extracted from the bonus of the DVD of Soul Reaver 2. At the right, we have the introduction from the PS1 version read by PSmplay, with the wrong colors, and after the same video read by STRPlay with the correct colors.
The problem is that I nead to convert the video to the AVI format with the right colors. PSmplay is perfect to extract the videos, but as we see, the colors are wrong, and with STRPlay I can't extract the videos but the colors are good :)
And with STR Converter, the colors are correct too, but the videos extracted have some issues, like freezes.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.