Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 30th March 2015, 07:24   #41  |  Link
stax76
Registered User
 
Join Date: Jun 2002
Posts: 6,471
Audio track selection would be very useful.
stax76 is offline   Reply With Quote
Old 30th March 2015, 13:42   #42  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 2,847
DSS2 and DSS2Mod does not do audio at all...


Cheers
manolito
manolito is offline   Reply With Quote
Old 9th May 2015, 16:12   #43  |  Link
mariner
Registered User
 
Join Date: Nov 2005
Posts: 572
Quote:
Originally Posted by forclip View Post
I think it is never too late, so here is my modded version of DSS2. README.txt - please read this first to avoid unnecessary questions.

.....
Greetings forclip. Many thanks for sharing the DSS2mod.

Two questions:

1. How frame accurate is it? When using the following script to convert a mkv source with 34460 frames from 30 to 25fps,
DSS2 reported processing 27815 frames, while DS and FFVS reported 27816.

Which is correct?
Code:
TDecimate(mode=1, cycle=6)
2. Need some guidance using the filter without Haali. I registered the LAV's with a higher merit, but still could not prevent Haali from loading.

Many thanks and best regards.
mariner is offline   Reply With Quote
Old 10th May 2015, 14:46   #44  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 1,048
Quote:
Originally Posted by mariner View Post
2. Need some guidance using the filter without Haali. I registered the LAV's with a higher merit, but still could not prevent Haali from loading.
Open regedit.exe, goto

HKEY_CLASSES_ROOT\Media Type\Extensions ,

and erase the entries that associate .mkv, .mka, etc. with Haali's Source Filter.

Or even better, just get rid of Haali once and for all
filler56789 is offline   Reply With Quote
Old 11th May 2015, 09:59   #45  |  Link
Emulgator
Big Bit Savings Now !
 
Emulgator's Avatar
 
Join Date: Feb 2007
Location: close to the wall
Posts: 824
Quote:
1. How frame accurate is it? When using the following script to convert a mkv source with 34460 frames from 30 to 25fps,
DSS2 reported processing 27815 frames, while DS and FFVS reported 27816.
You may want to reproduce which frame is missing by using ShowFrameNumber.
In my case testing anything DirectShow some years ago there was the first frame missing when running in Win7U64SP1,
but first frame delivered when running WinXP32ProSP3.
So the culprit may well be the DirectShow filter alone, not necessarily the splitter.
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain)
"Data reduction ? Yep, Sir. We're working on that issue. Synce invntoin uf lingöage..."

Last edited by Emulgator; 11th May 2015 at 10:02.
Emulgator is offline   Reply With Quote
Old 12th May 2015, 07:35   #46  |  Link
mariner
Registered User
 
Join Date: Nov 2005
Posts: 572
Quote:
Originally Posted by filler56789 View Post
Open regedit.exe, goto

HKEY_CLASSES_ROOT\Media Type\Extensions ,

and erase the entries that associate .mkv, .mka, etc. with Haali's Source Filter.

Or even better, just get rid of Haali once and for all
Thanks for the kind reply, filler56789.

1. Deleting these keys did not prevent Haali from loading. What about the other keys? Should they be removed as well without compromising the its functionality? The OS is W7x86.

2. DSS2 would worked if Haali is uninstalled (couldn't tell which source filter was used though), but DirectShowSource stopped working. The LAV Splitter Source was registered with a merit of 60001, but it wasn't loading. Any idea?

3. Haali is required by multiAVCHD, so uninstalling it is perhaps not an option here. Is there a way to modify the registry entries to prevent it from interfering with other software?

Many thanks and best regards.
mariner is offline   Reply With Quote
Old 12th May 2015, 08:10   #47  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 2,847
In my experience having LAV Splitter and Haali installed in parallel is not a good idea, because Haali has the nasty habit to push itself into the foreground. Changing the merit value does not help.

So I agree with filler56789: If you have LAV Splitter installed, get rid of Haali once and for all...

BTW on my machine LAV Splitter installed itself with a merit of 00800004, maybe you should change the value on your machine.

And when some software states that it requires Haali, I found that this is not true most of the time. LAV Splitter does everything Haali does and then some, and at least for BD Rebuilder and FFMpegSource who also say that Haali is required, I found that they work just fine with LAV Splitter instead of Haali. (Right now Jdobbs also endorses LAV over Haali).


Cheers
manolito
manolito is offline   Reply With Quote
Old 12th May 2015, 11:02   #48  |  Link
mariner
Registered User
 
Join Date: Nov 2005
Posts: 572
Quote:
Originally Posted by manolito View Post
In my experience having LAV Splitter and Haali installed in parallel is not a good idea, because Haali has the nasty habit to push itself into the foreground. Changing the merit value does not help.

So I agree with filler56789: If you have LAV Splitter installed, get rid of Haali once and for all...

BTW on my machine LAV Splitter installed itself with a merit of 00800004, maybe you should change the value on your machine.

And when some software states that it requires Haali, I found that this is not true most of the time. LAV Splitter does everything Haali does and then some, and at least for BD Rebuilder and FFMpegSource who also say that Haali is required, I found that they work just fine with LAV Splitter instead of Haali. (Right now Jdobbs also endorses LAV over Haali).


Cheers
manolito
Thanks for the kind reply, manolito.

1. Bumping up the merit didn't do the trick. Missing some registry entries, perhaps?

FYI, graphedit would load file source async and LAV splitter, but not LAV splitter source.

2. multiAVCHD appears to rely on Haali to display the video in the clip properties page and the chapters menu.

Many thanks and best regards.
mariner is offline   Reply With Quote
Old 12th May 2015, 13:35   #49  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 1,048
@mariner:
have you rebooted the machine after altering the registry?
filler56789 is offline   Reply With Quote
Old 12th May 2015, 14:31   #50  |  Link
forclip
Registered User
 
Join Date: Dec 2009
Posts: 63
Quote:
Originally Posted by mariner View Post
1. How frame accurate is it? When using the following script to convert a mkv source with 34460 frames from 30 to 25fps,
DSS2 reported processing 27815 frames, while DS and FFVS reported 27816.

Which is correct?
I don't know, but I'm sure DSS2 must be better than DSS. Also, you can try with preroll=15 or bigger values. And yes, if DSS\DSS2 for some reasons used different filters in filter graph,
the results may also be different, regardless of frameaccuracy of the DSS\DSS2 on its own.

Quote:
Originally Posted by mariner View Post
2. Need some guidance using the filter without Haali. I registered the LAV's with a higher merit, but still could not prevent Haali from loading.
Call it like this (... - means your source file and\or other settings)

Code:
DSS2(..., lavs="L3", lavd="L3")
- to load LAV splitter and decoder from the \LAVFilters subfolder (relative to avss.dll path) using default settings. In this mode you dont need to install\register LAV Filters, you only need to put their files into \LAVFilters subfolder.
Then DSS2mod will be able to load it in portable mode without any interference with already installed version, if such exist.

Code:
DSS2(..., lavs="L0", lavd="L0")
- to load your installed LAV Filters (regardless of merit) with its settings.

I want to note about the statement "DSS2mod does not require Haali". DSS2mod, in opposite to DSS2, really doesn't require "Haali Video Sink" to be installed - a video capturing filter, that distributed with Haali package. DSS2mod have it built in. But when you not use lavs="something" and lavd="something" (i.e. by default), it will works almost like the original DSS2 does, using whatever you have installed\registered, according to its merits and all other DirectShow "magic". So, if according to those "magic" Haali Splitter must be used - it will be used.
forclip is offline   Reply With Quote
Old 13th May 2015, 14:33   #51  |  Link
mariner
Registered User
 
Join Date: Nov 2005
Posts: 572
Quote:
Originally Posted by forclip View Post
I don't know, but I'm sure DSS2 must be better than DSS. Also, you can try with preroll=15 or bigger values. And yes, if DSS\DSS2 for some reasons used different filters in filter graph,
the results may also be different, regardless of frameaccuracy of the DSS\DSS2 on its own.


Call it like this (... - means your source file and\or other settings)

Code:
DSS2(..., lavs="L3", lavd="L3")
- to load LAV splitter and decoder from the \LAVFilters subfolder (relative to avss.dll path) using default settings. In this mode you dont need to install\register LAV Filters, you only need to put their files into \LAVFilters subfolder.
Then DSS2mod will be able to load it in portable mode without any interference with already installed version, if such exist.

Code:
DSS2(..., lavs="L0", lavd="L0")
- to load your installed LAV Filters (regardless of merit) with its settings.

I want to note about the statement "DSS2mod does not require Haali". DSS2mod, in opposite to DSS2, really doesn't require "Haali Video Sink" to be installed - a video capturing filter, that distributed with Haali package. DSS2mod have it built in. But when you not use lavs="something" and lavd="something" (i.e. by default), it will works almost like the original DSS2 does, using whatever you have installed\registered, according to its merits and all other DirectShow "magic". So, if according to those "magic" Haali Splitter must be used - it will be used.
Thanks for the detail instructions, forclip.

Placing the avss.dll and LAVfilters subfolder in the AviSynth plugins folder does the trick. Merci.

Pls see the next post for frame accuracy tests.

Many thanks and best regards.
mariner is offline   Reply With Quote
Old 13th May 2015, 14:34   #52  |  Link
mariner
Registered User
 
Join Date: Nov 2005
Posts: 572
Quote:
Originally Posted by Emulgator View Post
You may want to reproduce which frame is missing by using ShowFrameNumber.
In my case testing anything DirectShow some years ago there was the first frame missing when running in Win7U64SP1,
but first frame delivered when running WinXP32ProSP3.
So the culprit may well be the DirectShow filter alone, not necessarily the splitter.
Splendid idea, Emulgator. Here's some preliminary test results comparing DSS2 (with LAV) and FFVS:

1. Testing without the Tdecimate filter showed that:
(a) DSS2 would process one less frame than FFVS, and
(b) in some cases, FFVS processed one less frame than the frame count reported by mediainfo.

2. ShowFrameNumber indicated DSS2 would drop the last frame.

3. Using Haali did not affect the outcome.

What do you make of these?
mariner is offline   Reply With Quote
Old 14th May 2015, 16:22   #53  |  Link
forclip
Registered User
 
Join Date: Dec 2009
Posts: 63
Quote:
Originally Posted by mariner View Post
Pls see the next post for frame accuracy tests.
Total frames reported by DSS2 - less by one frame too? TotalFrames=Duration/average_frame_time, where Duration is IMediaSeeking::GetDuration and average_frame_time is VIDEOINFOHEADER's AvgTimePerFrame of the first frame when "fps=" is not set, or recalculated value of "fps=" key when it is set. So probably media duration or fps detection is wrong, fps isn't precise enough or rounding error somewhere.

Can you send me a sample file to test?
forclip is offline   Reply With Quote
Old 15th May 2015, 02:24   #54  |  Link
AGKnotUser
Registered User
 
Join Date: Jun 2005
Posts: 162
Vc1 runs in a loop.

Hi,

I'm new to Dss2mod, forgive me if this has an obvious solution:

If I run
Code:
DSS2("C:\Blu-ray Streams\Input_Video_File.vc1",lavd="l3 hm1")
all is well. If instead I run
Code:
DSS2("C:\Blu-ray Streams\Input_Video_File.vc1",lavd="l3")
it just runs forever. Only vc1 files are affected. Task manager shows plenty of disk activity. I'm trying to make the code hardware independent. Any help would be appreciated.

Edit: Answered my own question. I just let it run and it indexed the file in 25 min.

Last edited by AGKnotUser; 15th May 2015 at 05:36. Reason: More info.
AGKnotUser is offline   Reply With Quote
Old 15th May 2015, 15:54   #55  |  Link
mariner
Registered User
 
Join Date: Nov 2005
Posts: 572
Quote:
Originally Posted by forclip View Post
Total frames reported by DSS2 - less by one frame too? TotalFrames=Duration/average_frame_time, where Duration is IMediaSeeking::GetDuration and average_frame_time is VIDEOINFOHEADER's AvgTimePerFrame of the first frame when "fps=" is not set, or recalculated value of "fps=" key when it is set. So probably media duration or fps detection is wrong, fps isn't precise enough or rounding error somewhere.

Can you send me a sample file to test?
Thanks for the kind reply, forclip.

1. The original DSS2 apparently had a similar issue.

http://forum.doom9.org/showthread.ph...16#post1599416

2. An explanation was given below, but didn't seem to addres the dropped frame issue. Any idea?

Quote:
Originally Posted by turbojet View Post
You are much better off using DSS2 mod with it's internal lav filters but don't forget to move latest lav files to the directory. If you are working with 23.976, 29.97, 59.94, etc. sources directshowsource/dss2 gives wrong frame count due to a rounding error. To fix it you can use assumefps(##000,1001) where ## = 24, 30, 60.
....
3. Is DSS2mod now issue free with interlaced sources if preroll is set to at least twice the framerate?

Quote:
Originally Posted by turbojet View Post
...
If you are working with interlaced ts sources you should set preroll to at least twice the framerate in dss2mod. There will be glitches with directshowsource and haali's dss2 with interlaced ts sources, ffms2 doesn't work well at all in such cases. LWLibavVideoSource() from lsmash works is worth checking out if you don't mind indexing, it has the advantage of being frame accurate without the ffms2 issues.
4. Any lingering issue with ts sources?

5. Attached for your testing pleasure is a 1000 frame clip that was causing DSS2 and DSS2mod to drop the last frame.

Many thanks and best regards.
Attached Files
File Type: zip 1000.zip (100.4 KB, 40 views)
mariner is offline   Reply With Quote
Old 16th May 2015, 21:42   #56  |  Link
forclip
Registered User
 
Join Date: Dec 2009
Posts: 63
2. AssumeFPS can't help in this case, it can only make fps look better, but it can't bring back dropped frames or remove duplicated frames.
3. and 4. - the things still depends on used splitter\decoder. About preroll - see here.
5. Thanks. The problem is in this calculation (duration and m_avgframe - both int64):

Code:
num_frames = (int)(duration / m_avgframe); //Truncate
In DSS the same thing looks like this:

Code:
num_frames = (int)((duration + (m_avgframe - 1)) / m_avgframe); //Ceil
But I think that Rounding is better choice

Code:
num_frames = (int)((duration / (double) m_avgframe) + 0.5); //Round
Sometimes it is better to Ceil, sometimes to Round (sometimes to Truncate ), but still there is a chance that calculated value will not equal the real frame count of the video.
That's by design, inaccuracy here and there (incorrect Duration returned by DS, fps=23.976 vs fps=23.9760239760,..), and DSS also affected.

Here is two versions for testing: avss_ceil and avss_round.
forclip is offline   Reply With Quote
Old 19th May 2015, 07:24   #57  |  Link
mariner
Registered User
 
Join Date: Nov 2005
Posts: 572
Quote:
Originally Posted by forclip View Post
2. AssumeFPS can't help in this case, it can only make fps look better, but it can't bring back dropped frames or remove duplicated frames.
3. and 4. - the things still depends on used splitter\decoder. About preroll - see here.
5. Thanks. The problem is in this calculation (duration and m_avgframe - both int64):

Code:
num_frames = (int)(duration / m_avgframe); //Truncate
In DSS the same thing looks like this:

Code:
num_frames = (int)((duration + (m_avgframe - 1)) / m_avgframe); //Ceil
But I think that Rounding is better choice

Code:
num_frames = (int)((duration / (double) m_avgframe) + 0.5); //Round
Sometimes it is better to Ceil, sometimes to Round (sometimes to Truncate ), but still there is a chance that calculated value will not equal the real frame count of the video.
That's by design, inaccuracy here and there (incorrect Duration returned by DS, fps=23.976 vs fps=23.9760239760,..), and DSS also affected.

Here is two versions for testing: avss_ceil and avss_round.
Thanks forclip. Looks promising so far.

1. Would it be Ok to just place avss_round.dll (without renaming it) in the plugin folder after removing the original avss.dll? Is it necessary to also rename avss.avsi to avss_round.avsi?

2. One ts file is still reporting dropped frame. Would the first few bytes of the file be helpful to you?

Many thanks and best regards.
mariner is offline   Reply With Quote
Old 19th May 2015, 07:30   #58  |  Link
mariner
Registered User
 
Join Date: Nov 2005
Posts: 572
Quote:
Originally Posted by manolito View Post
...

And when some software states that it requires Haali, I found that this is not true most of the time. LAV Splitter does everything Haali does and then some...
Greetings manolito.

Further testings with multiAVCHD suggests you may be right after all. Haali is indeed not indispensible.

Many thanks and best regards.
mariner is offline   Reply With Quote
Old 19th May 2015, 18:03   #59  |  Link
forclip
Registered User
 
Join Date: Dec 2009
Posts: 63
Quote:
Originally Posted by mariner View Post
1. Would it be Ok to just place avss_round.dll (without renaming it) in the plugin folder after removing the original avss.dll? Is it necessary to also rename avss.avsi to avss_round.avsi?
Yes. You don't need avss.avsi at all if you call DSS2 like DSS2(...) and not like DirectShowSource2(...). You don't need to rename it anyway.
Quote:
Originally Posted by mariner View Post
2. One ts file is still reporting dropped frame. Would the first few bytes of the file be helpful to you?
Are you sure it is really dropped? Does avss_ceil.dll make it available? How did you determine the real frame count of your file? Try with something that really browse thru your file via indexing, like FFMS2, LWLibavVideoSource, DGIndex(NV).

The first few bytes doesn't make any sense to me
forclip is offline   Reply With Quote
Old 20th May 2015, 03:54   #60  |  Link
mariner
Registered User
 
Join Date: Nov 2005
Posts: 572
Quote:
Originally Posted by forclip View Post
Yes. You don't need avss.avsi at all if you call DSS2 like DSS2(...) and not like DirectShowSource2(...). You don't need to rename it anyway.
Thanks.

Quote:
Originally Posted by forclip View Post
Are you sure it is really dropped? Does avss_ceil.dll make it available? How did you determine the real frame count of your file? Try with something that really browse thru your file via indexing, like FFMS2, LWLibavVideoSource, DGIndex(NV).

The first few bytes doesn't make any sense to me
I meant DSS2mod reporting one less frame than FFVS when running x264, both round and ceil.

Would first 100k bytes be sufficient for testing?

In another clip, the fps was mis-identified by DSS2mod (Haali too) as 30.303, hence reporting 1000+ more frames. Would these additional frames be created by x264?

Many thanks and best regards.
mariner is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 23:56.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.