Selur's Little Message Board

Full Version: Drop frames
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Back to an old bug again
For example, frame 15 not present, 14 present, 15 present as is the duplicate frame 14 and etc.

Packed Bitstream from the source file is removed
Loading the source using Avisynth, looking at the script:
Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\LSMASHSource.dll")
# loading source: C:\Users\Selur\Desktop\2 source.avi
# color sampling YV12@8, matrix: bt601, scantyp: progressive, luminance scale: limited
LWLibavVideoSource("C:\Users\Selur\Desktop\2SOURC~1.AVI",cache=false,dr=true,format="YUV420P8", prefer_hw=0)
# current resolution: 640x480
# filtering
# adjusting bit depth current 8 to target 10
# convert to 10bit for encoder
ConvertBits(10)
PreFetch(16)
# setting output fps to 29.970fps
AssumeFPS(30000,1001)
#  output: color sampling YV12@10, matrix: bt601, scantyp: progressive, luminance scale: limited
return last
-> every frame is there.
Oerwriting scan type to BFF and enabling bob:
Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\LSMASHSource.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\RgTools.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\masktools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\mvtools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\nnedi3.dll")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
# loading source: C:\Users\Selur\Desktop\2 source.avi
# color sampling YV12@8, matrix: bt601, scantyp: bottom field first, luminance scale: limited
LWLibavVideoSource("C:\Users\Selur\Desktop\2SOURC~1.AVI",cache=false,dr=true,format="YUV420P8", prefer_hw=0)
# current resolution: 640x480
# deinterlacing
AssumeBFF()
QTGMC(Preset="Fast", ediThreads=2)
# filtering
# adjusting bit depth current 8 to target 10
# convert to 10bit for encoder
ConvertBits(10)
PreFetch(16)
# setting output fps to 59.940fps
AssumeFPS(60000,1001)
#  output: color sampling YV12@10, matrix: bt601, scantyp: progressive, luminance scale: limited
return last
ech frame (as expected) is doubled for me 2x0, 2x1,...,2x14,2x15,.. do not see an issue.

Switching preset to 'slower:
Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\LSMASHSource.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\RgTools.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\masktools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\mvtools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\nnedi3.dll")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
# loading source: C:\Users\Selur\Desktop\2 source.avi
# color sampling YV12@8, matrix: bt601, scantyp: bottom field first, luminance scale: limited
LWLibavVideoSource("C:\Users\Selur\Desktop\2SOURC~1.AVI",cache=false,dr=true,format="YUV420P8", prefer_hw=0)
# current resolution: 640x480
# deinterlacing
AssumeBFF()
QTGMC(Preset="Slower", ediThreads=2)
# filtering
# adjusting bit depth current 8 to target 10
# convert to 10bit for encoder
ConvertBits(10)
PreFetch(16)
# setting output fps to 59.940fps
AssumeFPS(60000,1001)
#  output: color sampling YV12@10, matrix: bt601, scantyp: progressive, luminance scale: limited
return last
sames as before (numbers might be more blended).
Switching to custom:
Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\LSMASHSource.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\RgTools.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\masktools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\mvtools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\nnedi3.dll")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
# loading source: C:\Users\Selur\Desktop\2 source.avi
# color sampling YV12@8, matrix: bt601, scantyp: bottom field first, luminance scale: limited
LWLibavVideoSource("C:\Users\Selur\Desktop\2SOURC~1.AVI",cache=false,dr=true,format="YUV420P8", prefer_hw=0)
# current resolution: 640x480
# deinterlacing
AssumeBFF()
QTGMC(Preset="Slower", InputType=0, TR2=1, Sharpness=1.0, SourceMatch=0, Lossless=0, ediThreads=2)
# filtering
# adjusting bit depth current 8 to target 10
# convert to 10bit for encoder
ConvertBits(10)
PreFetch(16)
# setting output fps to 59.940fps
AssumeFPS(60000,1001)
#  output: color sampling YV12@10, matrix: bt601, scantyp: progressive, luminance scale: limited
return last
sames as before.
Increasing Sharpness to 1.9:
Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\LSMASHSource.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\RgTools.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\masktools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\mvtools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\nnedi3.dll")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
# loading source: C:\Users\Selur\Desktop\2 source.avi
# color sampling YV12@8, matrix: bt601, scantyp: bottom field first, luminance scale: limited
LWLibavVideoSource("C:\Users\Selur\Desktop\2SOURC~1.AVI",cache=false,dr=true,format="YUV420P8", prefer_hw=0)
# current resolution: 640x480
# deinterlacing
AssumeBFF()
QTGMC(Preset="Slower", InputType=0, TR2=1, Sharpness=1.9, SourceMatch=0, Lossless=0, ediThreads=2)
# filtering
# adjusting bit depth current 8 to target 10
# convert to 10bit for encoder
ConvertBits(10)
PreFetch(16)
# setting output fps to 59.940fps
AssumeFPS(60000,1001)
#  output: color sampling YV12@10, matrix: bt601, scantyp: progressive, luminance scale: limited
return last
sames as before (numbers might be more blended).

Disabling 'Bob':
Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\LSMASHSource.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\RgTools.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\masktools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\mvtools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\nnedi3.dll")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
# loading source: C:\Users\Selur\Desktop\2 source.avi
# color sampling YV12@8, matrix: bt601, scantyp: bottom field first, luminance scale: limited
LWLibavVideoSource("C:\Users\Selur\Desktop\2SOURC~1.AVI",cache=false,dr=true,format="YUV420P8", prefer_hw=0)
# current resolution: 640x480
# deinterlacing
AssumeBFF()
QTGMC(Preset="Slower", InputType=0, TR2=1, Sharpness=1.9, SourceMatch=0, Lossless=0, ediThreads=2)
SelectEven()
# filtering
# adjusting bit depth current 8 to target 10
# convert to 10bit for encoder
ConvertBits(10)
PreFetch(16)
# setting output fps to 29.970fps
AssumeFPS(30000,1001)
#  output: color sampling YV12@10, matrix: bt601, scantyp: progressive, luminance scale: limited
return last
for each number one frame, no duplicates.

switching Select to FPSDiv:
Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\LSMASHSource.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\RgTools.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\masktools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\mvtools2.dll")
LoadPlugin("I:\Hybrid\64bit\Avisynth\AVISYN~1\nnedi3.dll")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")
Import("I:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
# loading source: C:\Users\Selur\Desktop\2 source.avi
# color sampling YV12@8, matrix: bt601, scantyp: bottom field first, luminance scale: limited
LWLibavVideoSource("C:\Users\Selur\Desktop\2SOURC~1.AVI",cache=false,dr=true,format="YUV420P8", prefer_hw=0)
# current resolution: 640x480
# deinterlacing
AssumeBFF()
QTGMC(Preset="Slower", InputType=0, TR2=1, Sharpness=1.9, SourceMatch=0, Lossless=0, ediThreads=2, FPSDivisor=2)
# filtering
# adjusting bit depth current 8 to target 10
# convert to 10bit for encoder
ConvertBits(10)
PreFetch(16)
# setting output fps to 29.970fps
AssumeFPS(30000,1001)
#  output: color sampling YV12@10, matrix: bt601, scantyp: progressive, luminance scale: limited
return last
(this is what you used)
for each number one frame, no duplicates.

-> Can't reproduce this here. (checked frames 0-20 / 0-40)

Cu Selur
Please view the resulting file (2 destination.mkv). There is a frame counter.
Frame number 14 is repeated 2 times.
Frame number 29 is repeated 2 times.

ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("C:\PROGRA~1\Hybrid\64bit\Avisynth\AVISYN~1\RgTools.dll")
LoadPlugin("C:\PROGRA~1\Hybrid\64bit\Avisynth\AVISYN~1\masktools2.dll")
LoadPlugin("C:\PROGRA~1\Hybrid\64bit\Avisynth\AVISYN~1\mvtools2.dll")
LoadPlugin("C:\PROGRA~1\Hybrid\64bit\Avisynth\AVISYN~1\nnedi3.dll")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
LoadCPlugin("C:\PROGRA~1\Hybrid\64bit\Avisynth\AVISYN~1\ffms2.dll")
# loading source: D:\Octava\Soft\Hybrid\bug\2 source-cut.avi
# color sampling YV12@8, matrix: bt601, scantyp: top field first, luminance scale: limited
FFVideoSource("D:\Octava\Soft\Hybrid\bug\2 source-cut.avi",colorspace="YV12")
# current resolution: 640x480
# deinterlacing
AssumeBFF()
QTGMC(Preset="Slow", InputType=0, TR2=1, Sharpness=1.9, SourceMatch=0, Lossless=0, ediThreads=2, FPSDivisor=2)
# filtering
PreFetch(2)
# setting output fps to 29.970fps
AssumeFPS(30000,1001)
# output: color sampling YV12@8, matrix: bt601, scantyp: progressive, luminance scale: limited
return last
Does the Avisynth Preview also show this for you?
(I see the duplicate frames in the '2 destination.mkv' file.)

btw.: looking at your '2 source-cut.avi' -> that file isn't interlaced, applying deinterlacing on a progressive source will only degrade the quality even more.
I agree that the file this file was created from might have been interlaced, but the file itself isn't.
Somewhere along the processing line that file was wrongly deinterlaced and saved as progressive.

Cu Selur
Ps.: There is not interlaced MPEG-4 ASP (<> Mpeg-4 Visual) video stream that is interlaced, since the format does not support interlaced content.
(18.04.2022, 15:51)Selur Wrote: [ -> ]Does the Avisynth Preview also show this for you?

Yes, Avisynth Preview also show this.
This bug does appear only for unchecked both checkbox
Quote:Prefer FFmpegSource
LibavVideoSource instead of FFmpegSource
When I check LibavVideoSource instead of FFmpegSource
this bug does not appear
Then there is a problem with FFVideoSource which you could report to the author.
Hybrid atm. uses 2.4 from https://github.com/FFMS/ffms2/releases.

You can also try using the version from: https://forum.doom9.org/showthread.php?p...ost1967460

Quote:Yes, Avisynth Preview also show this.
Since the Avisynth Preview (of the source filtered) does not show this for me (like I wrote), it is likely related to some code that doesn't executed on all systems.

Cu Selur
Quote:I agree that the file this file was created from might have been interlaced, but the file itself isn't.
Somewhere along the processing line that file was wrongly deinterlaced and saved as progressive.

Previous versions Hybrid - QTGMC had an option to handle such files -
Quote:Mode:
Modes -2 and -1 require progressive input.

Now this option there is in the TDeint (Avisynth)

Quote:You can also try using the version from: https://forum.doom9.org/showthread.php?p...ost1967460

c:\Program Files\Hybrid\32bit\avisynthPlugins\ffms2.dll
c:\Program Files\Hybrid\32bit\avisynthPlugins\ffmsindex.exe
c:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\ffms2.dll
c:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\ffmsindex.exe
c:\Program Files\Hybrid\64bit\vsfilters\SourceFilter\FFMS2\ffms2.dll
c:\Program Files\Hybrid\64bit\vsfilters\SourceFilter\FFMS2\ffmsindex.exe
c:\Program Files\Hybrid\64bit\vsfilters\SourceFilter\FFMS2v4\ffms2.dll
c:\Program Files\Hybrid\64bit\vsfilters\SourceFilter\FFMS2v4\ffmsindex.exe

Hybrid\64bit\Avisynth\avisynthPlugins\

Hybrid\64bit\vsfilters\SourceFilter\FFMS2\

Hybrid\FFVideoSource\old\Hybrid\64bit\vsfilters\SourceFilter\FFMS2v4\

These folders ...\64bit\... contain different versions
ffms2.dll and ffmsindex.exe
It should be?

I replaced in all these folders
ffms2_6ad7738 from https://forum.doom9.org/showthread.php?p...ost1967460

Again same wrong result...

Quote:Then there is a problem with FFVideoSource which you could report to the author

You wrote a report to the author about this bug.
https://forum.doom9.org/showthread.php?p...ost1845939

Any other ideas?
Hybrid\32bit\avisynthPlugins\
Hybrid\64bit\Avisynth\avisynthPlugins\
Hybrid\64bit\vsfilters\SourceFilter\FFMS2\
Are the folders where ffms2.dll should reside.
You need to replace the .dll and the ffmsindex.exe

Quote:Again same wrong result...
Okay.

Quote:You wrote a report to the author about this bug.
good, but that's the author of the c-plugin. Which is loaded with LoadPluginC.
-> https://github.com/FFMS/ffms2 would have been a better place, but since he's also one of the authors there it might be okay.
Quote:Any other ideas?
Wait, hope tha tthe author has time and motivation and use LibavVideoSource instead of FFVideosource since that worked.

Cu Selur
One year has passed, but the problem still exists. Is there a way to fix this?
Like before: Use another source filter.

I just say: http://avisynth.nl/index.php/FFmpegSource
Also lists some alternative versions under: http://avisynth.nl/index.php/FFmpegSourc..._Downloads maybe one of those works. (Code of FFMS2 itself didn't change, but the libraries it uses are updated.)

Cu Selur
Pages: 1 2