VideoHelp Forum




+ Reply to Thread
Results 1 to 8 of 8
  1. I am looking for some suggestions to a problem I am having with trying to convert a 60i video (not film) NTSC source to 50p PAL. The source was downscaled from 1080i NTSC to a DVD with letterboxing embedded on the image to preserve the 16:9 image in a 4:3 PAR. I would like to use AVISynth for this conversion. So far, I have come up with the following:
    Code:
    video=dgdecode_mpeg2source("source.d2v",info=3)
    audio=DirectShowSource("source.ac3")
    AudioDub(video,audio)
    Amplify(2)
    ConvertToYUY2(interlaced=true)
    AssumeTFF
    Crop(6, 60, -10, -60)
    SeparateFields()
    ConvertFPS(50)
    LanczosResize(704, 400, taps=4)
    The result from this is pretty decent, but I was curious if anyone had any other recommendations or better scripts? Thanks for any help that can be provided.
    Quote Quote  
  2. Use a smart bob like Yadif() or TempGaussMC_beta1() rather than SeparateFields(). Start with the original 1920x1080 source and bob before cropping or resizing.
    Quote Quote  
  3. Thanks, but unfortunately I don't have the original 1080i source. All I have is the 4:3 MPEG-2 that has the 16:9 image scaled to 720x480 with letterboxing applied to fill out the image.
    Quote Quote  
  4. Originally Posted by jagabo
    Use a smart bob like Yadif()...
    Thanks!!! This was exactly what I was looking for. The result is much sharper, even from just this 480i source. So, the script as I have it now is:
    Code:
    LoadCplugin("C:\Program Files\AviSynth 2.5\plugins\yadif.dll")
    video=dgdecode_mpeg2source("source.d2v",info=3)
    audio=DirectShowSource("source.ac3") 
    AudioDub(video,audio)
    Amplify(2)
    ConvertToYUY2(interlaced=true)
    Crop(6, 68, -10, -60)
    Yadif(mode=1, order=1)
    ConvertFPS(50)
    LanczosResize(704, 400, taps=4)
    The source is mostly native 480i, but there is a sequence where it was originally film-based (the titles), but instead of telecining the scene, they did a repeat frame and then repeated the fields. And on another sequence, it must have been 60p, but instead of taking every odd and even frame and weaving them when converting to 480i, it looks like they decimated to 30p and then repeated the upper field in the lower. I tried to use TDecimate to clean this up after yadif but before ConvertFPS, but there are some native 60i pans that don't look as good with this method. Oh well, this output looks much better than I ever thought possible. Thanks again!
    Quote Quote  
  5. Yeah, anime often has a mix of frame rates. You might consider encoding at 60 fps progressive after Yadif().
    Quote Quote  
  6. And you should probably use ChangeFPS(50), rather than ConvertFPS(50).
    The result is much sharper
    If you value sharpness, don't use ConvertFPS. And do you need this early in the script for some reason:
    ConvertToYUY2(interlaced=true)
    Generally it's better and slightly faster to do the filtering in the original colorspace before changing it at the end for whatever encoder you're planning on using. And by then, of course, it's no longer interlaced. What encoder are you planning on using? If 704x400 and 50p, it's not for DVD, right? I also much prefer bobbing before cropping, but it looks like you're following the interlace cropping rules, so no damage done.
    Quote Quote  
  7. Originally Posted by jagabo
    Yeah, anime often has a mix of frame rates. You might consider encoding at 60 fps progressive after Yadif().
    This isn't anime actually. As I said in the beginning, the footage is from material that was primarily shot on 1080i cameras, and then edited for a weekly TV show about car racing events, and then finally mastered for DVD. Why they didn't do anamorphic encoding to DVD is beyond me, but I obviously don't have any control over that. My goal with this project was to convert this for a friend of mine in Australia who needed it to be encoded as PAL rather than NTSC.
    Quote Quote  
  8. Originally Posted by manono
    And you should probably use ChangeFPS(50), rather than ConvertFPS(50).
    The difference in Convert and Change is that Convert will blend frames to get me to the 50fps, while Change will decimate (delete) to get me to 50fps. On high motion content like racing and pans, Change may look sharper but will introduce a jerkiness that can be somewhat avoided by Convert.

    If you value sharpness, don't use ConvertFPS. And do you need this early in the script for some reason:
    ConvertToYUY2(interlaced=true)
    Generally it's better and slightly faster to do the filtering in the original colorspace before changing it at the end for whatever encoder you're planning on using.
    Yeah, I'll have to check if I can remove that tag. I think it was originally there because I was trying some filters that didn't like YV12, so I had to convert to YUY2 first. I may be able to remove that from the final script that I have now settled on.

    If 704x400 and 50p, it's not for DVD, right?
    No, this isn't for DVD. Its for STB playback in Australia. I know the size is rather odd, but my friend wants square pixel (STB doesn't have a good anamorphic resizer when used in conjunction with upscaling to HD) and will be playing back on a HDTV, so I didn't want to upscale in the encode too much while still trying to retain as much of the original pixels as possible. This size is basically "faking it", but overall the result is rather pleasant.

    Thanks again for everyone's comments though.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!