Selur's Little Message Board

Full Version: FillMargins in the Hybrid
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello, good afternoon, Mr. Selur, I would like it if you would be so kind as to include FillMargins in the Hybrid, since lately I am finding many videos with dirty lines in 4 and 6 pixels. Thank you very much for continuing to work on this magnificent program. Wink
Assuming you are using Avisynth:
Not planning to add FillMargins (since it's dated) or FillBorders (which is an in-place replacement for FillMargins which should work with current Avisynth).
That said: You can simply add it yourself in a custom section.
(Or use BalanceBorders, which is probably better suited.)
Assuming you are using Vapoursynth: Not planning to add FillBorders (Balanced Borders and EdgeFixer should work fine), but you can add it yourself in a custom section.

Cu Selur

Ps.: FillBorders for Vapoursynth is also available on MacOS.
Hello Mr. Selur, I have used BalanceBorders, which works very well, but it has a bug. When BalanceBorders is used at the end of the movie, when the credits start to rise from the bottom to the top there is a flicker in the bottom line, that's why I don't use it and that's why I told you to include the FillMargins. Can you tell me how to install FillBorders and how to launch it, since I don't know how to do it. Thank you very much  Wink
You not sharing details makes is kind of hard to help.
-> Are you using Avisynth 32bit, Avisynth 64bit or Vapoursynth?

Cu Selur
I don't know Mr. Selur, if it is 32 or 64 Bits. If I use Avisynth. Where can I see which one I use?

Thank you


I leave information about some work I'm doing in case they help you




Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("C:\PROGRA~1\Hybrid\32bit\AVISYN~1\LSMASHSource.dll")
# loading source: C:\Users\cebol\Desktop\ENCODES\HYBRID\00001.mkv
# color sampling YV12@8, matrix: bt709, scantyp: progressive, luminance scale: limited
LWLibavVideoSource("C:\Users\cebol\Desktop\ENCODES\HYBRID\00001.mkv",cache=false,format="YUV420P8", prefer_hw=0,repeat=true)
# current resolution: 1920x1080
# adjusting frame count using SelectRangeEvery
SelectRangeEvery(every=8000,length=400,offset=0)
# filtering
PreFetch(12)
# setting output fps to 23.976fps
AssumeFPS(24000,1001)
#  output: color sampling YV12@8, matrix: bt709, scantyp: progressive, luminance scale: limited
return last



x264 (1 pass) processing started...
starting 2022-10-04@13_39_25_7010_02_video@13:39:25.731 - C:\Users\cebol\Desktop\ENCODES\HYBRID\00001 1080 5.mkv
"C:\Program Files\Hybrid\64bit\x264.exe" --preset veryslow --crf 18.50 --profile high --level 4.1 --ref 4 --min-keyint 24 --bframes 16 --sync-lookahead 9 --no-mbtree --rc-lookahead 40 --ipratio 1.30 --no-fast-pskip --no-dct-decimate --merange 32 --weightp 1 --aq-mode 3 --aq-strength 0.60 --vbv-maxrate 62500 --vbv-bufsize 78125 --sar 1:1 --deblock -3:-3 --non-deterministic --range tv --colormatrix bt709 --demuxer raw --input-res 1920x1080 --input-csp i420 --input-range tv --input-depth 8 --fps 24000/1001 --output-depth 8 --output "C:\Users\cebol\Desktop\ENCODES\HYBRID\2022-10-04@13_39_25_7010_02.264" -
raw [info]: 1920x1080p 1:1 @ 24000/1001 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x264 [info]: profile High, level 4.1, 4:2:0, 8-bit
You are using 32bit Avisynth. (can be changed under "Config->Internals->Avisynth->Avisynth type")
So use 32bit FillMargins
  • download Fillborders-1.3.0.7z from https://github.com/Asd-g/AviSynth-FillBorders/releases
  • extract the FillBorders.dll inside the Release-folder into your Hybrid/32bit/avisynthPlugins/ folder
  • go to the Filtering->Avisynth->Custom section and select the category before which you want to insert the FillBorders call.
  • enable the section by enabling 'enable', then insert:
    Code:
    LoadPlugin("%FILTERPATH%\FillBorders.dll")
    
FillMargins(clp,left=0, top=0, right=0, bottom=0)
    and adjust the values next to left, right, top, bottom to your needs.
  • check the Avisynth Script View to see that the code was properly added. For me, it looked like this:
    (I set left&co all to 100.)
    Code:
    ClearAutoloadDirs()
    SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
    LoadPlugin("I:\Hybrid\32bit\AVISYN~1\LSMASHSource.dll")
    Import("I:\Hybrid\32bit\avisynthPlugins\mtmodes.avsi")
    # loading source: G:\TestClips&Co\files\test.avi
    # color sampling YV12@8, matrix: bt601, scantyp: progressive, luminance scale: limited
    LWLibavVideoSource("G:\TESTCL~1\files\test.avi",cache=false,dr=true,format="YUV420P8", prefer_hw=0)
    # current resolution: 640x352
    # filtering

    # CUSTOM SCRIPT PART - position: DeNoise - START
    function CustomDeNoise(clip clp) {
      last=clp
      LoadPlugin("I:\Hybrid\32bit\avisynthPlugins\FillBorders.dll")
      FillMargins(clp,left=100, top=100, right=100, bottom=100)
      return last
    }
    # CUSTOM SCRIPT PART - position: DeNoise - END

    CustomDeNoise() # loading custom script content
    # setting output fps to 25.000fps
    AssumeFPS(25,1)
    PreFetch(16)
    #  output: color sampling YV12@8, matrix: bt601, scantyp: progressive, luminance scale: limited
    return last
  • check the Avisynth Preview to see what you did

Cu Selur
Perfect sir Selur. Thank you very much  Big Grin



Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("C:\PROGRA~1\Hybrid\32bit\AVISYN~1\LSMASHSource.dll")
# loading source: C:\Users\cebol\Desktop\ENCODES\HYBRID\00001.mkv
# color sampling YV12@8, matrix: bt709, scantyp: progressive, luminance scale: limited
LWLibavVideoSource("C:\Users\cebol\Desktop\ENCODES\HYBRID\00001.mkv",cache=false,format="YUV420P8", prefer_hw=0,repeat=true)
# current resolution: 1920x1080

# CUSTOM SCRIPT PART - position: ColorMatrix - START
function CustomColorMatrix(clip clp) {
  last=clp
  LoadPlugin("C:\Program Files\Hybrid\32bit\avisynthPlugins\FillBorders.dll")

  FillMargins(clp,left=0, top=2, right=0, bottom=2)
  return last
}
# CUSTOM SCRIPT PART - position: ColorMatrix - END

CustomColorMatrix() # loading custom script content
# adjusting frame count using SelectRangeEvery
SelectRangeEvery(every=8000,length=400,offset=0)
# filtering
PreFetch(12)
# setting output fps to 23.976fps
AssumeFPS(24000,1001)
#  output: color sampling YV12@8, matrix: bt709, scantyp: progressive, luminance scale: limited
return last