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 > (HD) DVD, Blu-ray & (S)VCD > (HD) DVD & Blu-ray authoring

Reply
 
Thread Tools Search this Thread Display Modes
Old 8th November 2013, 23:39   #121  |  Link
Cedvano
Registered User
 
Join Date: Jul 2009
Posts: 244
Quote:
Originally Posted by Sharc View Post
Strange; should perhaps be reported to physic.
What is the consequence of the 1 frame difference? Does the encoding fail?
No fail in encoding, but black screen with the TsMuxeR ISO.
Cedvano is offline   Reply With Quote
Old 9th November 2013, 00:01   #122  |  Link
Sharc
Registered User
 
Join Date: May 2006
Posts: 3,997
Quote:
Originally Posted by Cedvano View Post
No fail in encoding, but black screen with the TsMuxeR ISO.
I haven't seen this happening in my tests yet....
Sharc is offline   Reply With Quote
Old 9th November 2013, 02:00   #123  |  Link
videofan3d
Registered User
 
Join Date: Sep 2013
Location: Czech Republic
Posts: 321
Quote:
Originally Posted by Eseninzhiv View Post
demux SSIF via tsMuxeR 2.1.6
1. MVC combined, use the utility http://forum.doom9.org/showthread.ph...58#post1628058 files are the same
2. MVC separate, demux SSIF via tsMuxeR 2.1.6 http://i.imgur.com/haAbf6b.png

if demux with eac3to playlist, all right, files are the same
eac3to probably adds at the end of an empty frame
I also realized this symptom on one .ssif file.
(Not sure if problem is in .ssif itself, or in combining AVC+MVC, or in FRIM Decoder).
This I need to investigate...
videofan3d is offline   Reply With Quote
Old 9th November 2013, 02:06   #124  |  Link
videofan3d
Registered User
 
Join Date: Sep 2013
Location: Czech Republic
Posts: 321
Quote:
Originally Posted by frencher View Post
@videofan3d

1 minute is too short for view from AVS problem
I have upload full video demo and log report with 266804 total frames (AVC/MVC from "MVCcombined.264")
Download:
FRIMDecode YUV FRIMEncode - VS - From AVS Script.rar
Watch FRIMDecode YUV FRIMEncode - VS - From AVS Script.mkv (include into package) before explore folder and report
Friends,

I have looked to your issue with DirectShowMVCSource.dll in debugging mode.
And very clearly - problem is in DirectShowMVCSource itself.

Let me shortly describe you how FRIM Encoder works.

FRIM Encoder opens and read avi file using VWF (Video For Windows) API - which is standard part of Windows from version 3.x.
Avisynth script "input.avs" behaves like regular AVI and is for FRIM Encoder fully transparent.

Once FRIM Encoder opens succesfully avs-script (~avi-file), it reads it frame by frame, and undelaying Avisynth driver does all operations described in the script on background (it is its responsibility).

Now specifically:

@HWK:
In you case, when FRIM Encoder tries to open ENCODE_3D_MOVIE.avs, this operation fails because Avisynth cannot initialize CoreAVCDecoder.dll.
It is probably because you are running process from another directory.

When I put everything into one directory and ran it within this directory, all worked.
Once I moved FRIMEncode.exe into another, or started batch file from outside this directory, underlaying Avisynth could not
initialize CoreAVCDecoder.dll and opening failed - consequently FRIM Encoder reported "Cannot read YUV420 frame". Setting PATH properly could help.

@frencher:
In your case - problem with lost R-eye is caused by the DirectShowMVCSource.dll itself - apparently there is some bug.

FRIM Encoder reads frame from VFW-AVI, but it doesn't know what is hidden behind it.
VFW-API function AVIStreamGetFrame() simply returns full frame (3840x1080 in your case)

If right-eye is black, then it means that SsifSource3 in your .avs script didn't return data correctly

File1 = "Q:\BDMV\STREAM\SSIF\00000.ssif;0"
Left1 = SsifSource3(File1,avc_view=TRUE,mvc_view=FALSE)
Right1 = SsifSource3(File1)
Video1 = StackHorizontal(Left1,Right1)
Video = Video1
Video = Video.ConvertToYV12()
Return Video


I expect that the same symptom you will realize when you open and play Preview.avs using Windows Media Player, StereoscopicPlayer, MPC-HC
or any other player which uses the same VFW-API.

Library DirectShowMVCSource.dll is not official part of Windows, neither provided by any HW vendor.
I don't know who is author of DirectShowMVCSource.dll and how does he support it.
In the associated readme.txt he himself admits, that
"... this as an hack to the original DirectShowSource source code with possible bugs, maybe memory leaks... "
So, I recommend to approach author to investigate and fix...
videofan3d is offline   Reply With Quote
Old 9th November 2013, 03:15   #125  |  Link
HWK
Registered User
 
HWK's Avatar
 
Join Date: Feb 2009
Location: Toronto, Ontario, Canada
Posts: 1,059
Quote:
Originally Posted by videofan3d View Post
Friends,

I have looked to your issue with DirectShowMVCSource.dll in debugging mode.
And very clearly - problem is in DirectShowMVCSource itself.

Let me shortly describe you how FRIM Encoder works.

FRIM Encoder opens and read avi file using VWF (Video For Windows) API - which is standard part of Windows from version 3.x.
Avisynth script "input.avs" behaves like regular AVI and is for FRIM Encoder fully transparent.

Once FRIM Encoder opens succesfully avs-script (~avi-file), it reads it frame by frame, and undelaying Avisynth driver does all operations described in the script on background (it is its responsibility).

Now specifically:

@HWK:
In you case, when FRIM Encoder tries to open ENCODE_3D_MOVIE.avs, this operation fails because Avisynth cannot initialize CoreAVCDecoder.dll.
It is probably because you are running process from another directory.
I think this is related to Frim application and it causes problem with this program only. I use virtualdub and other application and it works fine and can figure out number of frames with no problem.

Also calling application must be inside magic path, which is "STEREOPLAYER.exe" folder in this case.

Quote:
When I put everything into one directory and ran it within this directory, all worked.
Once I moved FRIMEncode.exe into another, or started batch file from outside this directory, underlaying Avisynth could not
initialize CoreAVCDecoder.dll and opening failed - consequently FRIM Encoder reported "Cannot read YUV420 frame". Setting PATH properly could help.

@frencher:
In your case - problem with lost R-eye is caused by the DirectShowMVCSource.dll itself - apparently there is some bug.

FRIM Encoder reads frame from VFW-AVI, but it doesn't know what is hidden behind it.
VFW-API function AVIStreamGetFrame() simply returns full frame (3840x1080 in your case)

If right-eye is black, then it means that SsifSource3 in your .avs script didn't return data correctly

File1 = "Q:\BDMV\STREAM\SSIF\00000.ssif;0"
Left1 = SsifSource3(File1,avc_view=TRUE,mvc_view=FALSE)
Right1 = SsifSource3(File1)
Video1 = StackHorizontal(Left1,Right1)
Video = Video1
Video = Video.ConvertToYV12()
Return Video


I expect that the same symptom you will realize when you open and play Preview.avs using Windows Media Player, StereoscopicPlayer, MPC-HC
or any other player which uses the same VFW-API.
Surprise it doesn't I have used players and encoders with SSIFSource3 and it works. Even X.264 encoder work with it and MPC-HC works for me as well.

Quote:
Library DirectShowMVCSource.dll is not official part of Windows, neither provided by any HW vendor.
I don't know who is author of DirectShowMVCSource.dll and how does he support it.
In the associated readme.txt he himself admits, that
"... this as an hack to the original DirectShowSource source code with possible bugs, maybe memory leaks... "
So, I recommend to approach author to investigate and fix...
Original author is Peter Wimmer, however asking him to fix it is not an option. BTW he did update coreavcdecode.dll, however doing so prevent other program from using it. This version is last one which allows other application to call it as long "stereoplayer.exe" is in path of calling application.
__________________
If you fail to plan; you plan to fail, would you not agree? Think about it.

Last edited by HWK; 9th November 2013 at 03:58.
HWK is offline   Reply With Quote
Old 9th November 2013, 08:35   #126  |  Link
Sharc
Registered User
 
Join Date: May 2006
Posts: 3,997
Just in case someone wants to ceck / improve DirectShowMVCSource.dll, here the download link including the source.
Sharc is offline   Reply With Quote
Old 9th November 2013, 09:23   #127  |  Link
videofan3d
Registered User
 
Join Date: Sep 2013
Location: Czech Republic
Posts: 321
Quote:
Originally Posted by HWK View Post
I think this is related to Frim application and it causes problem with this program only. I use virtualdub and other application and it works fine and can figure out number of frames with no problem.

Also calling application must be inside magic path, which is "STEREOPLAYER.exe" folder in this case.
Re. "VirtualDub and other applications" - each application starts within some environment (you as a user define this environment) and in this environment it needs to find all required components. Directly and also indirectly. This is how operating systems works.
Please give to FRIM Encoder such environment, that it can find all necessary components, in this case indirectly.

Next version of FRIM will have an option to display some error messages reported by AviSynth, this will allow you to see what is wrong in the underlaying avisynth script.
videofan3d is offline   Reply With Quote
Old 9th November 2013, 09:38   #128  |  Link
videofan3d
Registered User
 
Join Date: Sep 2013
Location: Czech Republic
Posts: 321
Quote:
Originally Posted by HWK View Post
Original author is Peter Wimmer, however asking him to fix it is not an option. BTW he did update coreavcdecode.dll, however doing so prevent other program from using it. This version is last one which allows other application to call it as long "stereoplayer.exe" is in path of calling application.
Don't take me wrong

Please accept an axiom: Each and every program has bugs.

And in our particular case we are processing whole long chain of components

- source data
- avisynth script (=its functions written by whoever)
- avisynth driver
- Windows drivers (VFW, DirectShow)
- FRIM Encoder
- Intel Media SDK
- and user him/ser-self !

Each part HAS some bugs, some of them can be overcome in other part, some need to be fixed on proper place.

Number of bugs decrease by time and by support of vendor - but it never drops to zero
So never presume some applications to be bug-free.
Our SW world is too complex.

Just for fun: Oracle published statistics which shows that in average there is one bug on every 10 lines of code! (but it is another discussion belonging to different thread )
videofan3d is offline   Reply With Quote
Old 9th November 2013, 10:14   #129  |  Link
Sharc
Registered User
 
Join Date: May 2006
Posts: 3,997
Environment which works here:
- Put the FRIM package into a Directory, e.g. FRIM
- Create a subdirectory under FRIM with Name stereoplayer.exe which contains the corresponding files plus a copy of FRIMEncode.exe

Script directshowMVC.avs (in the FRIM Directory):
Code:
LoadPlugin("c:\..your path ...\FRIM\stereoplayer.exe\DirectShowMVCSource.dll")
V2=DirectShowMVCSource("F:\BDMV\STREAM\SSIF\xxxxx.SSIF")
V1=DirectShowMVCSource("F:\BDMV\STREAM\SSIF\xxxxx.SSIF",decodeleft=true)
StackHorizontal(V1,V2)
ConvertToYV12().AssumeFPS(24000,1001)
Command (in the FRIM Directory):
Code:
"C:\...your path....\FRIM\stereoplayer.exe\FRIMEncode.exe" mvc -avi -sbs 2 -i directshowMVC.avs -viewoutput -o Base.avc -o Dependent.mvc -w 1920 -h 1080 -l 4 -cpbsize 3750 -vbr 6000 15000 -u 4 -profile high -level 4.0 -gop 24 4 0 O
(Watch the quotation marks "....")

But as I wrote before FRIMEncode crashes after few thousand frames with error:
M_Alloc; error allocing 4552128

Last edited by Sharc; 9th November 2013 at 10:23.
Sharc is offline   Reply With Quote
Old 9th November 2013, 10:45   #130  |  Link
videofan3d
Registered User
 
Join Date: Sep 2013
Location: Czech Republic
Posts: 321
Quote:
Originally Posted by Sharc View Post
FRIMEncode crashes after few thousand frames with error:
M_Alloc; error allocing 4552128
Could you provide me with full description of reported error?
Meaning: how EXACTLY does this error display? There was probably some info in which file/line of code it happened...
I need to simulate it first...

Last edited by videofan3d; 9th November 2013 at 10:49.
videofan3d is offline   Reply With Quote
Old 9th November 2013, 11:19   #131  |  Link
Sharc
Registered User
 
Join Date: May 2006
Posts: 3,997
Quote:
Originally Posted by videofan3d View Post
Could you provide me with full description of reported error?
Meaning: how EXACTLY does this error display? There was probably some info in which file/line of code it happened...
I need to simulate it first...
This error message is actually all I get from the cmd console.

However, from the Windows log there is an indication that divX.dll is responsible. Translated from German:

Name of the faulty application: FRIMEncode.exe, Version: 0.0.0.0, Time stamp: 0x527b8642
Name of the faulty module: DivX.dll, Version: 6.9.2.26, Time stamp: 0x4b7ee5fa
Exception code: 0xc0000005
Error offset: 0x00118a05
ID of the faulty process: 0x15cc
Start time of the faulty application: 0x01cedd26bf27d9c1
Path of the faulty application: C:\Program Files Video\FRIM\stereoplayer.exe\FRIMEncode.exe
Path of the faulty module: C:\Windows\system32\DivX.dll

Why gets DivX.dll involved at all?

Update 1:
I uninstalled DivX, now everything seems to work as expected ..... no crash ..... continuing testing .....
(I had DivX on my system for trying their HEVC/h265 encoder)

Update 2:
Now I run into another problem: No crash, but after some 1000 frames the dependent output file silently stops to grow, and only the base view continues encoding/growing.
No error message, it happens silently.

I guess I stick to the named pipe variant which worked flawlessly for the entire 2:25 hours movie.

Update 3:
Amazing. After a couple of new attempts with the directshowMVCSource variant I am now at frame 100'000 without a problem..... a miracle or a mystery????

Last edited by Sharc; 9th November 2013 at 19:59. Reason: Added
Sharc is offline   Reply With Quote
Old 9th November 2013, 14:55   #132  |  Link
nunub
Registered User
 
Join Date: Oct 2006
Posts: 44
any gui for this encoder will be most welcome to test.
nunub is offline   Reply With Quote
Old 9th November 2013, 15:51   #133  |  Link
HWK
Registered User
 
HWK's Avatar
 
Join Date: Feb 2009
Location: Toronto, Ontario, Canada
Posts: 1,059
Quote:
Originally Posted by videofan3d View Post
Don't take me wrong

Please accept an axiom: Each and every program has bugs.

And in our particular case we are processing whole long chain of components

- source data
- avisynth script (=its functions written by whoever)
- avisynth driver
- Windows drivers (VFW, DirectShow)
- FRIM Encoder
- Intel Media SDK
- and user him/ser-self !

Each part HAS some bugs, some of them can be overcome in other part, some need to be fixed on proper place.

Number of bugs decrease by time and by support of vendor - but it never drops to zero
So never presume some applications to be bug-free.
Our SW world is too complex.

Just for fun: Oracle published statistics which shows that in average there is one bug on every 10 lines of code! (but it is another discussion belonging to different thread )
I am not taking you wrong at all. In fact I fully support you in first place since you bold enough to at least compile encoder and I know it will have bugs.
__________________
If you fail to plan; you plan to fail, would you not agree? Think about it.
HWK is offline   Reply With Quote
Old 9th November 2013, 16:12   #134  |  Link
HWK
Registered User
 
HWK's Avatar
 
Join Date: Feb 2009
Location: Toronto, Ontario, Canada
Posts: 1,059
Quote:
Originally Posted by Sharc View Post
Environment which works here:
- Put the FRIM package into a Directory, e.g. FRIM
- Create a subdirectory under FRIM with Name stereoplayer.exe which contains the corresponding files plus a copy of FRIMEncode.exe

Script directshowMVC.avs (in the FRIM Directory):
Code:
LoadPlugin("c:\..your path ...\FRIM\stereoplayer.exe\DirectShowMVCSource.dll")
V2=DirectShowMVCSource("F:\BDMV\STREAM\SSIF\xxxxx.SSIF")
V1=DirectShowMVCSource("F:\BDMV\STREAM\SSIF\xxxxx.SSIF",decodeleft=true)
StackHorizontal(V1,V2)
ConvertToYV12().AssumeFPS(24000,1001)
Command (in the FRIM Directory):
Code:
"C:\...your path....\FRIM\stereoplayer.exe\FRIMEncode.exe" mvc -avi -sbs 2 -i directshowMVC.avs -viewoutput -o Base.avc -o Dependent.mvc -w 1920 -h 1080 -l 4 -cpbsize 3750 -vbr 6000 15000 -u 4 -profile high -level 4.0 -gop 24 4 0 O
(Watch the quotation marks "....")

But as I wrote before FRIMEncode crashes after few thousand frames with error:
M_Alloc; error allocing 4552128
I will give this method a try and see how it goes.
__________________
If you fail to plan; you plan to fail, would you not agree? Think about it.
HWK is offline   Reply With Quote
Old 9th November 2013, 22:38   #135  |  Link
colinhunt
Registered User
 
Join Date: Dec 2002
Posts: 1,022
Any chance I could use the Intel HD 4000 GPU of the i7-3770K to run encodes?
colinhunt is offline   Reply With Quote
Old 9th November 2013, 23:39   #136  |  Link
videofan3d
Registered User
 
Join Date: Sep 2013
Location: Czech Republic
Posts: 321
Quote:
Originally Posted by colinhunt View Post
Any chance I could use the Intel HD 4000 GPU of the i7-3770K to run encodes?
In theory yes: option -hw

But you need to have proper HW library libmfxhw32.dll (which might be even HW dependent, I don't know).
I cannot test it cause I have nVidia GPU, not Intel GPU...
videofan3d is offline   Reply With Quote
Old 10th November 2013, 01:39   #137  |  Link
colinhunt
Registered User
 
Join Date: Dec 2002
Posts: 1,022
Quote:
Originally Posted by videofan3d View Post
In theory yes: option -hw
But you need to have proper HW library libmfxhw32.dll (which might be even HW dependent, I don't know).
I cannot test it cause I have nVidia GPU, not Intel GPU...
Well, that didn't work:

Code:
ERROR: Cannot initialize Intel Media SDK session.
ERROR: Cannot start encoding process.
The dll is probably HW dependent, like you said. Any ideas where I could pick up the correct one?

update: Downloaded the latest drivers from Intel's website and installed them. They created a "Media SDK" directory under Program Files (i.e. 64bit), inside which I found a newer version of the dll (actually two, 32bit and 64bit dlls). Replaced the dll in FRIM directory with the new one, added -hw to both decoder and encoder options -- and it works. Both decoding and encoding are now running on HD4000.

I've got quality set to "-u 3" and the system did 1000 frames of decode/encode in 100 seconds.

Last edited by colinhunt; 10th November 2013 at 02:24. Reason: update
colinhunt is offline   Reply With Quote
Old 10th November 2013, 01:40   #138  |  Link
frencher
French Love
 
Join Date: Oct 2008
Location: France
Posts: 456
Quote:
Originally Posted by videofan3d View Post
@frencher:
In your case - problem with lost R-eye is caused by the DirectShowMVCSource.dll itself - apparently there is some bug.

FRIM Encoder reads frame from VFW-AVI, but it doesn't know what is hidden behind it.
VFW-API function AVIStreamGetFrame() simply returns full frame (3840x1080 in your case)

If right-eye is black, then it means that SsifSource3 in your .avs script didn't return data correctly

SsifSource3 have same black screen as DirectShowMVCSource with FRIMEncode (mplayer, x264, avstoavi, avstoyuv return corect right Stream), There would he no opportunity to fix the problem with the source code of avstoyuv ?

File1 = "Q:\BDMV\STREAM\SSIF\00000.ssif;0"
Left1 = SsifSource3(File1,avc_view=TRUE,mvc_view=FALSE)
Right1 = SsifSource3(File1)
Video1 = StackHorizontal(Left1,Right1)
Video = Video1
Video = Video.ConvertToYV12()
Return Video


I expect that the same symptom you will realize when you open and play Preview.avs using Windows Media Player, StereoscopicPlayer, MPC-HC
or any other player which uses the same VFW-API.
virtualdub not works with preview.avs for me - Works with magic path sorry
If possible, If you could take a look

Thank
__________________
2013-11-29 MVC Player Free v0.0.2.6 BD & 3D BD's Player, Demuxer v0.0.0.8b, Recoder. Tutorial
Demo for MVC Player Free: Trailer 3D

3DBD's Free - v0.0.0.0005.exe Old

Programing free for all.

Last edited by frencher; 10th November 2013 at 01:45.
frencher is offline   Reply With Quote
Old 10th November 2013, 11:41   #139  |  Link
colinhunt
Registered User
 
Join Date: Dec 2002
Posts: 1,022
Ehh, I thought I was being clever by trying to run 2 encodes simultaneously. Decode/encode on HW uses less than 50% CPU so I thought I'll run another encode on the side, on software only. Turns out that can't be done: piping throws up an error message.
colinhunt is offline   Reply With Quote
Old 10th November 2013, 12:10   #140  |  Link
Cedvano
Registered User
 
Join Date: Jul 2009
Posts: 244
Where I can find SSifsource3, please.

Thanks
Cedvano is offline   Reply With Quote
Reply

Tags
encoders, mvc

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 08:17.


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