eswrite
4th April 2005, 22:00
From other threads I've read, I am adapting a couple of scripts for processing 16:9 HDTV content with the goal of authoring DVDs. Below, I am including my 720p and 1080i scripts, wherein I demonstrate my copious ignorance.
As you can see, for 720p source material, I'm a little puzzled by the Telecine step (#2) and whether I need 24fps conversion. Since HDTV content is either 30fps interlaced (1080i) or 60fps progressive (720p), and DVD-NTSC is 30fps (480i), couldn't I just skip Telecining? (I copied it from this thread (http://forum.doom9.org/showthread.php?s=&threadid=49349) where folks perform Telecine when targetting Xvid, but I'm guessing that doesn't apply for DVD output?).
For 1080i source material this thread (http://forum.doom9.org/showthread.php?s=&postid=620370) seems to suggest that resizing interlaced HDTV material without good de-interlacing will yield very poor results (see the point scharfis_brain proves). So my 2nd script for 1080i material follows that approach.
#~~~ HDTV-1280x720p.avs ~~~#
#ASYNTHER HDTV 1280x720p 59.940fps
# This script will take a source with a res of 1280x720p at a
# frame rate of 59.940fps and perform IVTC to get 23.976fps and
# resize it to DVD-NTSC resolution of 720x480i.
# Note: 720p >>> 480i requires interlacing.
LoadPlugin("C:\Program Files\VDubMod\DGMPGDEC\DGDecode.dll")
LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\Decomb.dll")
LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\BT709ToBT601.dll")
#LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\AC3Source.dll")
# 1) Load .dv2 source generated with DGIndex, which can process
# HDTV .tp/.ts streams or MPEG2 files generated by VideoReDo
# if the latter is used to cut commercials.
Video=MPEG2Source("hdtv_src.d2v")
Assert(Video.height == 720, "HDTV_720: input clip must have 720 scan lines")
BT709ToBT601()
#Audio=AC3Source("hdtv_audio.ac3")
#AudioDub(Video,Audio)
# 2) Telecide only if source material is movie???
# - Some TV shows may be at 24fps?
Telecide()
SelectEven()
Decimate(cycle=5) # for 24fps
# 3) For Source AR of 1.778:1 -- 16:9 Wide-Ssreen
Crop(4,4,-4,-4)
BicubicResize(720,480,0,0.5)
# 4) Interlace output?
AssumeTFF()
Separatefields().Selectevery(4,0,3).Weave()
#~~~ HDTV-1280x720p.avs ~~~#
#~~~ HDTV-1920x1080i.avs ~~~#
#ASYNTHER HDTV 1920x1080i 29.970fps
# This script will take a source with a res of 1920x1080i at a
# frame rate of 29.970fps and perform IVTC to get 23.976fps and
# resize it to DVD-NTSC resolution of 720x480i.
# Note: 1080i >>> 480i requires de-interlacing prior to resize;
# use method suggested by scharfis_brain.
LoadPlugin("C:\Program Files\VDubMod\DGMPGDEC\DGDecode.dll")
LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\TDeint.dll")
LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\BT709ToBT601.dll")
#LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\AC3Source.dll")
# 1) Load .dv2 source generated with DGIndex, which can process
# HDTV .tp/.ts streams or MPEG2 files generated by VideoReDo
# if the latter is used to cut commercials.
Video=MPEG2Source("hdtv_src.d2v")
Assert(Video.height == 1080, "HDTV_1080: input clip must have 1080 scan lines")
BT709ToBT601()
#Audio=AC3Source("hdtv_audio.ac3")
#AudioDub(Video,Audio)
# 2) De-interlace source material prior to re-sizing
TDeint(mode=1,link=0,type=3)
# 3) For Source AR of 1.778:1 -- 16:9 Wide-Ssreen
Crop(4,4,-4,-4)
#BicubicResize(720,480,0,0.5)
Lanczos4Resize(720,480)
# 4) Interlace output
AssumeTFF()
Separatefields().Selectevery(4,0,3).Weave()
#~~~ HDTV-1920x1080i.avs ~~~#
As you can see, for 720p source material, I'm a little puzzled by the Telecine step (#2) and whether I need 24fps conversion. Since HDTV content is either 30fps interlaced (1080i) or 60fps progressive (720p), and DVD-NTSC is 30fps (480i), couldn't I just skip Telecining? (I copied it from this thread (http://forum.doom9.org/showthread.php?s=&threadid=49349) where folks perform Telecine when targetting Xvid, but I'm guessing that doesn't apply for DVD output?).
For 1080i source material this thread (http://forum.doom9.org/showthread.php?s=&postid=620370) seems to suggest that resizing interlaced HDTV material without good de-interlacing will yield very poor results (see the point scharfis_brain proves). So my 2nd script for 1080i material follows that approach.
#~~~ HDTV-1280x720p.avs ~~~#
#ASYNTHER HDTV 1280x720p 59.940fps
# This script will take a source with a res of 1280x720p at a
# frame rate of 59.940fps and perform IVTC to get 23.976fps and
# resize it to DVD-NTSC resolution of 720x480i.
# Note: 720p >>> 480i requires interlacing.
LoadPlugin("C:\Program Files\VDubMod\DGMPGDEC\DGDecode.dll")
LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\Decomb.dll")
LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\BT709ToBT601.dll")
#LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\AC3Source.dll")
# 1) Load .dv2 source generated with DGIndex, which can process
# HDTV .tp/.ts streams or MPEG2 files generated by VideoReDo
# if the latter is used to cut commercials.
Video=MPEG2Source("hdtv_src.d2v")
Assert(Video.height == 720, "HDTV_720: input clip must have 720 scan lines")
BT709ToBT601()
#Audio=AC3Source("hdtv_audio.ac3")
#AudioDub(Video,Audio)
# 2) Telecide only if source material is movie???
# - Some TV shows may be at 24fps?
Telecide()
SelectEven()
Decimate(cycle=5) # for 24fps
# 3) For Source AR of 1.778:1 -- 16:9 Wide-Ssreen
Crop(4,4,-4,-4)
BicubicResize(720,480,0,0.5)
# 4) Interlace output?
AssumeTFF()
Separatefields().Selectevery(4,0,3).Weave()
#~~~ HDTV-1280x720p.avs ~~~#
#~~~ HDTV-1920x1080i.avs ~~~#
#ASYNTHER HDTV 1920x1080i 29.970fps
# This script will take a source with a res of 1920x1080i at a
# frame rate of 29.970fps and perform IVTC to get 23.976fps and
# resize it to DVD-NTSC resolution of 720x480i.
# Note: 1080i >>> 480i requires de-interlacing prior to resize;
# use method suggested by scharfis_brain.
LoadPlugin("C:\Program Files\VDubMod\DGMPGDEC\DGDecode.dll")
LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\TDeint.dll")
LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\BT709ToBT601.dll")
#LoadPlugin("C:\Program Files\VDubMod\AviSynth 2.5\plugins\AC3Source.dll")
# 1) Load .dv2 source generated with DGIndex, which can process
# HDTV .tp/.ts streams or MPEG2 files generated by VideoReDo
# if the latter is used to cut commercials.
Video=MPEG2Source("hdtv_src.d2v")
Assert(Video.height == 1080, "HDTV_1080: input clip must have 1080 scan lines")
BT709ToBT601()
#Audio=AC3Source("hdtv_audio.ac3")
#AudioDub(Video,Audio)
# 2) De-interlace source material prior to re-sizing
TDeint(mode=1,link=0,type=3)
# 3) For Source AR of 1.778:1 -- 16:9 Wide-Ssreen
Crop(4,4,-4,-4)
#BicubicResize(720,480,0,0.5)
Lanczos4Resize(720,480)
# 4) Interlace output
AssumeTFF()
Separatefields().Selectevery(4,0,3).Weave()
#~~~ HDTV-1920x1080i.avs ~~~#