Selur's Little Message Board

Full Version: Black Bar at Bottom of mpeg
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Last 2 releases of Hybrid have same problem, when processing 1080i original camcorder video with QTGMC, a black bar will cover bottom of the video.  But when using same clip repackaged in mkv, the problem goes away. Here are 2 samples of videos:

https://drive.google.com/file/d/12DIyWEo...sp=sharing

https://drive.google.com/file/d/1T-wxPEh...sp=sharing
Taking the original camcorder extract (1440x1080@29.97fps, tff, PAR 4:3) applying QTGMC (with Bob), Hybrid uses:
Code:
# Imports
import vapoursynth as vs
# getting Vapoursynth core
import ctypes
import sys
import os
core = vs.core
# Limit frame cache to 48473MB
core.max_cache_size = 48473
# Import scripts folder
scriptPath = 'F:/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("F:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
# loading plugins
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/ZSmooth/zsmooth.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/EEDI3m_opencl.dll")# vsQTGMC
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DeinterlaceFilter/Bwdif/Bwdif.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/akarin.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/SourceFilter/DGDecNV/DGDecodeNV_AVX2.dll")
# Import scripts
import qtgmc
import validate
# Source: 'C:\Users\Selur\Desktop\Original Camcorder Extract.mpeg'
# Current color space: YUV420P8, bit depth: 8, resolution: 1440x1080, frame rate: 29.97fps, scanorder: top field first, yuv luminance scale: limited, matrix: 709, transfer: bt.709, primaries: bt.709, format: mpeg-2
# Loading C:\Users\Selur\Desktop\Original Camcorder Extract.mpeg using DGSource
clip = core.dgdecodenv.DGSource("J:/tmp/mpeg_5d33dc3845a0123b005b16659fd70139_853323747.dgi",fieldop=0)# 29.97 fps, scanorder: top field first
frame = clip.get_frame(0)
# setting color matrix to 709.
clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT709)
# setting color transfer (vs.TRANSFER_BT709), if it is not set.
if validate.transferIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT709)
# setting color primaries info (to vs.PRIMARIES_BT709), if it is not set.
if validate.primariesIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT709)
# setting color range to TV (limited) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED)
# making sure frame rate is set to 29.97fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# making sure the detected scan type is set (detected: top field first)
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # tff
# Deinterlacing using QTGMC
clip = qtgmc.QTGMC(Input=clip, Preset="Fast", TFF=True, opencl=True) # new fps: 59.94
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
# adjusting output color from: YUV420P8 to YUV420P10 for NVEncModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, range_s="limited")
# set output frame rate to 59.94fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=60000, fpsden=1001)
# output
clip.set_output()
and I see no black bars like you mentioned.
[Image: grafik.png]
converting the content to 1:1 PAR and 1920x1080
[Image: grafik.png]
I also see no black bars:
[Image: grafik.png]
I also uploaded an encode of this to mediafire.
=> I can't reproduce your problem, but my guess is you messed up the settings somewhere. This does not look like a bug in Hybrid.

Cu Selur

Ps.: loading the 'Repackaged to mkv without re-encoding.mkv', I basically get the same script (https://pastebin.com/179HcuKR) and outputs.
Ahh, it's the source filter. Using DGDecode seems to be the problem:
[Image: grafik.png]
Depending on your setup enable either 'Use DGDecNV when available', 'Prefer BestSource' seems to help.

Cu Selur

Ps.: created a bug report in the dgmpegdec forum https://www.rationalqm.us/board/viewtopi...f=7&t=1444. => DG is on it.
There were some older versions of Hybrid that by default had 'Prefer BestSource' enabled. Also, since DGDecode doesn't support mkv, another source filter is used when the content is inside a mkv. Smile
I forgot to mention that I completely uninstalled & reinstalled using default settings.  Thank you for finding the solution.
Uploaded a new dev version which comes with fixed version of DGDecode (thanks to DG) which helps with the sample on my system. Smile

Cu Selur
Thank Cu Selur you for fixing the problem.
Cu=c u=see you
Selur <- my name Wink