01-21-2019, 11:50 AM
|
|
Free Member
|
|
Join Date: Jan 2019
Posts: 2
Thanked 0 Times in 0 Posts
|
|
Hi,
I'v got a project to downscale some local football (soccer) HD footage to go onto DVD.
I've been scouring the web for hd2sd but all the links are out of date, for instance:
Quote:
Has anyone got a copy I can use?
|
Someday, 12:01 PM
|
|
Ads / Sponsors
|
|
Join Date: ∞
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
|
|
|
01-21-2019, 01:56 PM
|
|
Premium Member
|
|
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,307 Times in 982 Posts
|
|
Likely HD2SD is difficult to find because it's buggy and no one uses it these days. The preference is for a doom9 script that is used as-is on both progressive and interlaced video. The function does low-pass filter "automatically" during resizing to reduce chroma shift, aliasing, and interline twitter. The biggest problem with HD2SD and other downscaling is interline twitter: . https://en.wikipedia.org/wiki/Interl...erline_twitter
Code:
# ###############################################################################################
# IResize by Gavino and IanB
# https://forum.doom9.org/showthread.php?t=140233
# ###############################################################################################
#
function IResize(clip Clip, int NewWidth, int NewHeight) {
Clip
SeparateFields()
Shift=(GetParity() ? -0.25 : 0.25) * (Height()/Float(NewHeight/2)-1.0)
E = SelectEven().Spline36resize(NewWidth, NewHeight/2, 0, Shift)
O = SelectOdd( ).Spline36resize(NewWidth, NewHeight/2, 0, -Shift)
Ec = SelectEven().Spline36Resize(NewWidth, NewHeight/2, 0, 2*Shift)
Oc = SelectOdd( ).Spline36Resize(NewWidth, NewHeight/2, 0, -2*shift)
Interleave(E, O)
IsYV12() ? MergeChroma(Interleave(Ec, Oc)) : Last
Weave()
You can copy that function into a script or save it as an .avsi plugijn file.
Example of use:
Code:
source=AviSource(“d:\fs.avi”).
Resize(source,720,480)
ColorMatrix(mode="Rec.709->Rec.601",clamp=0)
|
The following users thank sanlyn for this useful post:
Nickr54 (01-22-2019)
|
01-22-2019, 08:37 AM
|
|
Free Member
|
|
Join Date: Jan 2019
Posts: 2
Thanked 0 Times in 0 Posts
|
|
Thanks, I'll give that a go.
|
01-22-2019, 05:15 PM
|
|
Premium Member
|
|
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,307 Times in 982 Posts
|
|
And by the way, somehow or other the last, ending character (closing brace " }") in that iResize function script didn't get posted. So I'm posting it again with the missing "}" closing brace at the end:
Code:
# ###############################################################################################
# IResize by Gavino and IanB
# https://forum.doom9.org/showthread.php?t=140233
# ###############################################################################################
#
function IResize(clip Clip, int NewWidth, int NewHeight) {
Clip
SeparateFields()
Shift=(GetParity() ? -0.25 : 0.25) * (Height()/Float(NewHeight/2)-1.0)
E = SelectEven().Spline36resize(NewWidth, NewHeight/2, 0, Shift)
O = SelectOdd( ).Spline36resize(NewWidth, NewHeight/2, 0, -Shift)
Ec = SelectEven().Spline36Resize(NewWidth, NewHeight/2, 0, 2*Shift)
Oc = SelectOdd( ).Spline36Resize(NewWidth, NewHeight/2, 0, -2*shift)
Interleave(E, O)
IsYV12() ? MergeChroma(Interleave(Ec, Oc)) : Last
Weave() }
|
All times are GMT -5. The time now is 09:10 PM
|