Log in

View Full Version : DVD-NTSC from 720p/1080i HDTV source


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 ~~~#