VideoHelp Forum
+ Reply to Thread
Results 1 to 24 of 24
Thread
  1. Member
    Join Date
    Aug 2013
    Location
    Scotland
    Search PM
    I want to make some copies of our home videos and put them on USB sticks for viewing, but everytime i've tried to render them in FFmpeg, vdub, they always seem to come out as Progressive.

    Code:
    AVISource("I:\June 1996.avi")
    AssumeTFF()
    AssumeFPS(25)
    ConverttoYV12()
    ex_vibrance(1.3)
    SmoothTweak(brightness=-10,contrast=1) 
    UnsharpMask(strength=36, radius=3, threshold=8)
    Quote Quote  
  2. Originally Posted by Master Tape View Post
    I want to make some copies of our home videos and put them on USB sticks for viewing, but everytime i've tried to render them in FFmpeg, vdub, they always seem to come out as Progressive.

    Code:
    AVISource("I:\June 1996.avi")
    AssumeTFF()
    AssumeFPS(25)
    ConverttoYV12()
    ex_vibrance(1.3)
    SmoothTweak(brightness=-10,contrast=1) 
    UnsharpMask(strength=36, radius=3, threshold=8)



    Maybe you encoded them as progressive. Set your encoder to encode interlaced

    ConvertToYV12 should be ConvertToYV12(interlaced=true)

    You can't use UnsharpMask on interlaced content while fields are interleaved - You will co-mingle the interleaved fields . Either 1) deinterlace, sharpen, reinterlace ; or 2) separate fields , sharpen, then weave
    Quote Quote  
  3. Originally Posted by poisondeathray View Post
    or 2) separate fields , sharpen, then weave
    Beware that that will create thicker and more severe halos (ringing artifacts) on sharp horizontal edges.
    Quote Quote  
  4. Member
    Join Date
    Aug 2013
    Location
    Scotland
    Search PM
    I see. What is the least destructive deinterlacer, and how do you reinterlace?
    Quote Quote  
  5. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Originally Posted by Master Tape View Post
    I see. What is the least destructive deinterlacer, and how do you reinterlace?
    AssumeTFF().QTGMC(lossless=1)

    <filtering>

    AssumeTFF().SeparateFields().SelectEvery(4,0,3).We ave()
    Quote Quote  
  6. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by lollo View Post
    Originally Posted by Master Tape View Post
    I see. What is the least destructive deinterlacer, and how do you reinterlace?
    AssumeTFF().QTGMC(lossless=1)

    <filtering>

    AssumeTFF().SeparateFields().SelectEvery(4,0,3).We ave()
    How should the last line be if the source is BFF?
    AssumeBFF().QTGMC(lossless=1)
    <filtering>
    ?????
    For example, AVStoDVD generates this code when the source is tff:
    Code:
    Video = Video.LeakKernelBob(1,7,false,false)
    <other filters>
    Video = Video.SeparateFields().SelectEvery(4,1,2).Weave()
    and this when it's bff:
    Code:
    Video = Video.LeakKernelBob(0,7,false,false)
    <other filters>
    Video = Video.SeparateFields().SelectEvery(4,0,3).Weave()
    Last edited by davexnet; 11th Feb 2024 at 14:30.
    Quote Quote  
  7. Member
    Join Date
    Aug 2013
    Location
    Scotland
    Search PM
    It's still rendering as Progressive.

    Code:
    AVISource("I:\June 1996.avi")
    ConverttoYV12(interlaced=true)
    AssumeTFF().QTGMC(lossless=1)
    ex_vibrance(1.3)
    SmoothTweak(brightness=-10,contrast=1) 
    UnsharpMask(strength=36, radius=3, threshold=8) 
    AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave()
    Code:
    General
    Complete name                            : F:\Video Files\June 1996.mp4
    Format                                   : MPEG-4
    Format profile                           : Base Media
    Codec ID                                 : isom (isom/iso2/avc1/mp41)
    File size                                : 16.1 MiB
    Duration                                 : 7 s 120 ms
    Overall bit rate mode                    : Variable
    Overall bit rate                         : 19.0 Mb/s
    Writing application                      : Lavf58.45.100
    
    Video
    ID                                       : 1
    Format                                   : AVC
    Format/Info                              : Advanced Video Codec
    Format profile                           : High@L3.1
    Format settings                          : CABAC / 8 Ref Frames
    Format settings, CABAC                   : Yes
    Format settings, Reference frames        : 8 frames
    Codec ID                                 : avc1
    Codec ID/Info                            : Advanced Video Coding
    Duration                                 : 7 s 120 ms
    Bit rate                                 : 18.6 Mb/s
    Width                                    : 704 pixels
    Height                                   : 576 pixels
    Display aspect ratio                     : 1.222
    Frame rate mode                          : Constant
    Frame rate                               : 25.000 FPS
    Standard                                 : PAL
    Color space                              : YUV
    Chroma subsampling                       : 4:2:0
    Bit depth                                : 8 bits
    Scan type                                : Progressive
    Bits/(Pixel*Frame)                       : 1.838
    Stream size                              : 15.8 MiB (98%)
    Writing library                          : x264 core 161
    Encoding settings                        : cabac=1 / ref=8 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=17.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    Codec configuration box                  : avcC
    Image Attached Files
    Last edited by Master Tape; 11th Feb 2024 at 14:47.
    Quote Quote  
  8. Code:
    -vf setfield=tff -aspect 4/3
    Quote Quote  
  9. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by Master Tape View Post
    It's still rendering as Progressive.
    In Vdub2 ? You have to put the field order in the vdub x264 settings box, either --bff or --tff
    Image Attached Thumbnails Click image for larger version

Name:	field_order.jpg
Views:	6
Size:	161.3 KB
ID:	76961  

    Quote Quote  
  10. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Originally Posted by davexnet View Post
    Originally Posted by lollo View Post
    Originally Posted by Master Tape View Post
    I see. What is the least destructive deinterlacer, and how do you reinterlace?
    AssumeTFF().QTGMC(lossless=1)

    <filtering>

    AssumeTFF().SeparateFields().SelectEvery(4,0,3).We ave()
    How should the last line be if the source is BFF?
    AssumeBFF().QTGMC(lossless=1)
    <filtering>
    ?????
    For example, AVStoDVD generates this code when the source is tff:
    Code:
    Video = Video.LeakKernelBob(1,7,false,false)
    <other filters>
    Video = Video.SeparateFields().SelectEvery(4,1,2).Weave()
    and this when it's bff:
    Code:
    Video = Video.LeakKernelBob(0,7,false,false)
    <other filters>
    Video = Video.SeparateFields().SelectEvery(4,0,3).Weave()
    Sorry, I do not understand the question. If the source is BFF, replace TFF with BFF in the script. The repetition in my example is redundant.

    I do not know AVStoDVD, but working with separated fields for spatial/temporal filtering is not appropriate.
    Quote Quote  
  11. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by lollo View Post
    Originally Posted by davexnet View Post
    Originally Posted by lollo View Post
    Originally Posted by Master Tape View Post
    I see. What is the least destructive deinterlacer, and how do you reinterlace?
    AssumeTFF().QTGMC(lossless=1)

    <filtering>

    AssumeTFF().SeparateFields().SelectEvery(4,0,3).We ave()
    How should the last line be if the source is BFF?
    AssumeBFF().QTGMC(lossless=1)
    <filtering>
    ?????
    For example, AVStoDVD generates this code when the source is tff:
    Code:
    Video = Video.LeakKernelBob(1,7,false,false)
    <other filters>
    Video = Video.SeparateFields().SelectEvery(4,1,2).Weave()
    and this when it's bff:
    Code:
    Video = Video.LeakKernelBob(0,7,false,false)
    <other filters>
    Video = Video.SeparateFields().SelectEvery(4,0,3).Weave()
    Sorry, I do not understand the question. If the source is BFF, replace TFF with BFF in the script. The repetition in my example is redundant.

    I do not know AVStoDVD, but working with separated fields for spatial/temporal filtering is not appropriate.
    Yes, it's my own confusion : SelectEvery(4,0,3) vs. SelectEvery(4,1,2)
    Quote Quote  
  12. Member
    Join Date
    Aug 2013
    Location
    Scotland
    Search PM
    Originally Posted by davexnet View Post
    Originally Posted by Master Tape View Post
    It's still rendering as Progressive.
    In Vdub2 ? You have to put the field order in the vdub x264 settings box, either --bff or --tff
    In FFmpeg i meant. Thanks for that though, it did the trick. I suppose there's not much difference in quality between x264 and FFmpeg? Also how do you set the aspect ratio flags in x264? or is it better to just let the tv do that?
    Quote Quote  
  13. If you have to deinterlace to filter, why not keep the final video progressive?
    Quote Quote  
  14. Member
    Join Date
    Aug 2013
    Location
    Scotland
    Search PM
    Originally Posted by jagabo View Post
    If you have to deinterlace to filter, why not keep the final video progressive?
    Good question. Unless there's a way you can sharpen the video without having to deinterlace?
    Quote Quote  
  15. Originally Posted by Master Tape View Post
    Originally Posted by jagabo View Post
    If you have to deinterlace to filter, why not keep the final video progressive?
    Good question. Unless there's a way you can sharpen the video without having to deinterlace?
    Don't know how well it works with sharpening, but you may try:
    Code:
    separatefields()
    e=selecteven().<filter>
    o=selectodd().<filter>
    interleave(e,o)
    weave()
    Last edited by Sharc; 11th Feb 2024 at 17:26.
    Quote Quote  
  16. Member
    Join Date
    Aug 2013
    Location
    Scotland
    Search PM
    Originally Posted by Sharc View Post
    Originally Posted by Master Tape View Post
    Originally Posted by jagabo View Post
    If you have to deinterlace to filter, why not keep the final video progressive?
    Good question. Unless there's a way you can sharpen the video without having to deinterlace?
    Don't know how well it works with sharpening, but you may try:
    Code:
    separatefields()
    e=selecteven().<filter>
    o=selectodd().<filter>
    interleave(e,o)
    The video ends up with half the height resolution (704x288)
    Quote Quote  
  17. Originally Posted by Master Tape View Post
    Originally Posted by Sharc View Post
    Originally Posted by Master Tape View Post
    Originally Posted by jagabo View Post
    If you have to deinterlace to filter, why not keep the final video progressive?
    Good question. Unless there's a way you can sharpen the video without having to deinterlace?
    Don't know how well it works with sharpening, but you may try:
    Code:
    separatefields()
    e=selecteven().<filter>
    o=selectodd().<filter>
    interleave(e,o)
    The video ends up with half the height resolution (704x288)
    I edited my post. You have to add weave(). Sorry.
    Quote Quote  
  18. Member
    Join Date
    Aug 2013
    Location
    Scotland
    Search PM
    Script error: Invalid arguments to function 'weave'.
    Quote Quote  
  19. Don't know your AVS2DVD script. Maybe you have to use 'video=video.blabla' in the script.
    Quote Quote  
  20. Member
    Join Date
    Aug 2013
    Location
    Scotland
    Search PM
    Sorry, this is in AVSPMod. I'm not using AVS2DVD for this particular task.

    Code:
    AVISource("I:\Video.avi")
    ConverttoYV12(interlaced=true)
    AssumeTFF()
    separatefields()
    e=selecteven().UnsharpMask(strength=36, radius=3, threshold=8) 
    o=selectodd().UnsharpMask(strength=36, radius=3, threshold=8) 
    weave(e,o)
    ex_vibrance(1.3)
    SmoothTweak(brightness=-10,contrast=1)
    Quote Quote  
  21. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Looks like there's something missing, should be weave(clip)
    Jagabo has interleave(e,o) just prior, in which case weave()
    should work
    Last edited by davexnet; 11th Feb 2024 at 22:45.
    Quote Quote  
  22. Originally Posted by Master Tape View Post
    Sorry, this is in AVSPMod. I'm not using AVS2DVD for this particular task.

    Code:
    AVISource("I:\Video.avi")
    ConverttoYV12(interlaced=true)
    AssumeTFF()
    separatefields()
    e=selecteven().UnsharpMask(strength=36, radius=3, threshold=8) 
    o=selectodd().UnsharpMask(strength=36, radius=3, threshold=8) 
    weave(e,o)
    ex_vibrance(1.3)
    SmoothTweak(brightness=-10,contrast=1)
    As per post#15:
    Code:
    AVISource("I:\Video.avi")
    ConverttoYV12(interlaced=true)
    AssumeTFF()
    separatefields()
    e=selecteven().UnsharpMask(strength=36, radius=3, threshold=8) 
    o=selectodd().UnsharpMask(strength=36, radius=3, threshold=8) 
    interleave(e,o)
    weave()
    ex_vibrance(1.3)
    SmoothTweak(brightness=-10,contrast=1)
    Quote Quote  
  23. Member
    Join Date
    Aug 2013
    Location
    Scotland
    Search PM
    Thanks, looks like i missed interleave then got confused by the post edit and changed it to weave. Looks alot better!
    Quote Quote  
  24. Sharper but more processed looking...

    Code:
    LWLibavVideoSource("Source Video.avi") 
    AssumeTFF()
    ColorYUV(gain_y=40, off_y=-30)
    
    QTGMC()
    SMDegrain(thsad=1000, tr=3, prefilter=4)
    
    aWarpSharp2(depth=5)
    Sharpen(0.7, 0.0)
    Sharpen(0.7)
    
    MergeChroma(last, Spline36Resize(240,288).aWarpSharp2(depth=20).nnedi3_rpow2(4, cshift="Spline36Resize", fwidth=width, fheight=height))
    ChromaShiftSP(x=-2, y=2)
    
    prefetch(8)
    Image Attached Files
    Quote Quote  



Similar Threads

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