View Full Version : Guide to convert BD 3D to 3D Left+Right Stereoscopic and Anaglyph
r0lZ
7th March 2012, 15:30
I've finally been able to launch the final encode, but I have had to convert the right.mkv file to avi with VirtualDub. Yet another very long and space consuming process, but at least now, both video streams are correctly recognized by avisynth, and they are in perfect sync, without missing frames at the end.
I think the right-encode script will be much more useful if it converts the right view directly to avi, or perhaps to h264 elementary stream. I don't see any good reason to output to mkv, especially given the numerous problems of DirectShowSource with avisynth.
Anyway, the method works, but it requires much disc space, it is very slow, and it cannot be completely automated due to the "batch not quitting" bug reported in my previous post. It was fun for me to put the pieces together, but IMO that method is not really suitable to encode a lot of 3D movies. I have currently only one 3D BD, but I think I will buy another one. I'll report here any additional problem I may have...
Thanks to everybody for showing me the right way to accomplish a 3D encode with free tools. :-)
crl2007
7th March 2012, 16:13
Just put another x264 command in the cmd, if you used ldecod. Use crf. I usually use crf 17 when it's a movie with lots of effects and action and 20-21 if it's a normal movie.
r0lZ
7th March 2012, 17:24
It's what I did for my first encode (with crf 16). It worked well, indeed. But why is it not possible to open in avisynth the video produced by the same encoder with different parameters, and in a mkv container? Why is it necessary to put it in an avi container? I would like to understand.
frencher
7th March 2012, 19:15
Hi
Fixed All in one ldecod + sbs :cool:
Download => All in One - ldecod 17.2 alexpk mod.rar (http://www.mediafire.com/?cjpdqqd9squt6iq)
I works free software AVCHD Shrink :goodpost: ?
crl2007
8th March 2012, 10:11
It's what I did for my first encode (with crf 16). It worked well, indeed. But why is it not possible to open in avisynth the video produced by the same encoder with different parameters, and in a mkv container? Why is it necessary to put it in an avi container? I would like to understand.
Maybe because it is too much for your HDD to handle as an mkv at that lossless bitrate. It's just an opinion.
@frencher This is the avisynth script that I use for half sbs:
# Movie Frames
frames=
#Plugin
loadplugin("3dtools\H264StereoSource.dll")
# Left Eye Stream Path
left = directshowsource("working_folder\temp\left.mkv",audio=false)
# Right Eye Stream + Resize for Half-SBS
rv = H264StereoSource("3dtools\decoder.cfg", frames-12)
rv = Spline64Resize(rv, width(rv)/2, height(rv))
#Left Eye Stream + Resize for Half-SBS
lv = left
lv = Spline64Resize(lv, width(lv)/2, height(lv))
# Stack
sbs = stackhorizontal(lv,rv)
ConvertToYV12(sbs)
I think that it's best to resize each stream individually.
frencher
8th March 2012, 21:16
I use the script provided in my example, allow for atenuation grain on the video
crl2007
9th March 2012, 17:11
I personally consider that it's best to keep the grain as is. It helps on larger resolutions. And it keeps more detail.
slavanap
13th March 2012, 22:47
crl2007
What do you mean by huge blu-ray movies ?
Sorry, I was wrong about that.
I've tried used mplayer instead eac3to for streams' dumping. And it didn't ignore SEI messages like eac3to do.
Here is my solution based on your way to decode mvc, that uses pipes, too.
http://sendfile.su/548123 (note, I've changed eac2to.exe a little to make it to support pipes.)
The main remaining problem, I think, is decoding speed.
Reference decoder is VERY slow, comparing with CoreAVC decoder in StereoScopic player.
Can anybody teach me how DirectShow works? I'm sure that StereoScopic player also uses it.
frencher
14th March 2012, 00:28
crl2007
Sorry, I was wrong about that.
I've tried used mplayer instead eac3to for streams' dumping. And it didn't ignore SEI messages like eac3to do.
Here is my solution based on your way to decode mvc, that uses pipes, too.
http://sendfile.su/548123 (note, I've changed eac2to.exe a little to make it to support pipes.)
The main remaining problem, I think, is decoding speed.
Reference decoder is VERY slow, comparing with CoreAVC decoder in StereoScopic player.
Can anybody teach me how DirectShow works? I'm sure that StereoScopic player also uses it.
Very good works :thanks:
Can I use your ssifSource process in my application that will be 100% free of course.
For increase speed up the decoding should make ldecod multitread ...
I think rather than stereoscopic player uses its internal codec and directshow refers to but I could be wrong.
Works on preview only with directshow, error with my command line ? :scared:
pipebuf.exe avs2yuv.exe test.avs - : x264_x64.exe --qp 0 --preset ultrafast --threads auto --frames 100000 --stdin y4m --output S_B_S.mkv - : 2
I have this error log:
test.avs: 3840x1080, 25 fps, 100000 frames
converting RGB -> YV12
y4m [info]: 3840x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
x264 [info]: profile High 4:4:4 Predictive, level 5.0, bit depth 8
y4m [error]: bad header magic (2d2d2d2d <=> -----)
y4m [error]: bad header magic (2d2d2d2d <=> -----)
Output error: wrote only 3685495 of 6220800 bytes
write_out_picture: error writing to YUV file
Have you idea for fix it ? :thanks:
r0lZ
14th March 2012, 03:20
Good work indeed, slavanap!
I suggest to add an option to place the two views side by side instead of stacked vertically. That will simplify and speed up the avs script to do a side by side conversion.
Also, I wonder what's the fastest way to accurately count the number of frames in a ssif file (or in its corresponding m2ts file). Currently, I use DGAVCIndex, but it is damn slow, and I don't need its output files. Someone has an idea?
crl2007
14th March 2012, 07:21
I don't know any method that doesn't require too much time to analyze. But given the fact that you have to demux the h264 streams, I think that eac3to is the best solution.
frencher
14th March 2012, 14:32
@r0lZ
XXXXX is the total frames :rolleyes:
eac3to v3.24
command line: "F:\eac3to\eac3to.exe" -progressnumbers "E:\BDMV\PLAYLIST\00001.mpls" 03: "F:\03 aid 01 4354 AC3 French 5.1 640kbps 48kHz.ac3"
------------------------------------------------------------------------------
M2TS, 1 video track, 1 audio track, 0:21:34, 30p /1.001
1: Chapters, 3 chapters
2: h264/AVC, 1080p30 /1.001 (16:9)
3: AC3, French, 5.1 channels, 640kbps, 48kHz
[a03] Extracting audio track number 6...
[a03] Creating file "F:\03 aid 01 4354 AC3 French 5.1 640kbps 48kHz.ac3"...
Video track 2 contains XXXXX frames.
eac3to processing took 1 minutes, 24 seconds.
Done.
@slavanap
Why use ldecod_mod.exe ?
ldecod.exe with pipe works well have you heard of RawSource.dll ?
ssifSource.dll is on the same basis as RawSource.dll
http://i40.tinypic.com/35a96is.png
slavanap
14th March 2012, 14:57
Very good works :thanks:
Can I use your ssifSource process in my application that will be 100% free of course.
Ok. We are for the FREE soft! :)
For increase speed up the decoding should make ldecod multitread ...
I'm not quite good in decoding algorithm to make it parallel. Moreover, we don't have source code of ldecod alexpk's mod, that uses only one thread for decoding.
I think rather than stereoscopic player uses its internal codec and directshow refers to but I could be wrong.
No, StereoScopic player uses DirectShow version of CoreAVC codec, but this codec does not register itself in the system to allow use it in any program.
Works on preview only with directshow, error with my command line ? :scared:
pipebuf.exe avs2yuv.exe test.avs - : x264_x64.exe --qp 0 --preset ultrafast --threads auto --frames 100000 --stdin y4m --output S_B_S.mkv - : 2
I have this error log:
test.avs: 3840x1080, 25 fps, 100000 frames
converting RGB -> YV12
y4m [info]: 3840x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
x264 [info]: profile High 4:4:4 Predictive, level 5.0, bit depth 8
y4m [error]: bad header magic (2d2d2d2d <=> -----)
y4m [error]: bad header magic (2d2d2d2d <=> -----)
Output error: wrote only 3685495 of 6220800 bytes
write_out_picture: error writing to YUV file
Have you idea for fix it ? :thanks:
I use that command line and it works fine for me:
x264.exe --crf 17 --preset slower --fps 24000/1001 test.avs --output result.mkv
Note that ConvertToRGB is not necessary for convertion, ssifSource output is 25fps I420 video.
P.S. Also you can make anaglyph video with this plugin.
slavanap
14th March 2012, 15:08
@slavanap
Why use ldecod_mod.exe ?
ldecod.exe with pipe works well have you heard of RawSource.dll ?
ssifSource.dll is on the same basis as RawSource.dll
http://i40.tinypic.com/35a96is.png
ldecod_mod.exe is alexpk's modification of the reference decoder (Your ldecod.exe). And ldecod.exe is that reference decoder.
the first one is used to decode right view and the second - for the left one. That way I get two views.
ldecod.exe with pipe works well
yes, I know. Comparing with your solution that version also uses pipes for eac3to output and it is an AviSynth plugin :)
have you heard of RawSource.dll ?
Yes, but it does not support pipes.
ssifSource.dll is on the same basis as RawSource.dll
No, but it is also an AviSynth plugin.
slavanap
14th March 2012, 15:09
Good work indeed, slavanap!
I suggest to add an option to place the two views side by side instead of stacked vertically. That will simplify and speed up the avs script to do a side by side conversion.
The vertical stack performs faster that horizontal because of faster memory operations.
Hope, I'll have much time to add that functionality.
frencher
14th March 2012, 15:13
There is a version that supports compiled RawSource.dll pipes but has some problems but the process of pipe work
r0lZ
14th March 2012, 15:15
@r0lZ
XXXXX is the total frames :rolleyes:
I know that, but the solution uploaded by slavanap doesn't require to demux the streams first. It works well by directly reading the ssif file from an unprotected BD or mounted ISO. Having to demux just to know the number of frames is a pity!
frencher
14th March 2012, 15:16
@r0lZ
x264 without --frame XXXXX works fine by cons it does not display the remaining time
@slavanap
I have an idea
I authorized you to modify your ssifSource.dll ?
r0lZ
14th March 2012, 15:28
Good to know. Thanks.
BTW, do you know if specifying a number of frames somewhat greater than the real number of frames works well? If it's the case, it is easy to evaluate the number of frames by multiplying the duration of the movie (as displayed by any player) with the fps, and add some seconds, just to be sure. That way, it should be possible to display the remaining time. But will x264 stop correctly at the end of the encoding process?
Also, I have a multi-angle BD that requires to join several files together to encode the whole movie. It's easy to do it in the avs script, but will it correctly join the different parts if the number of frames is not specified, or is too large? Or perhaps there is a way to open a playlist (containing all the parts in the correct order) instead of several ssif files?
frencher
14th March 2012, 15:31
Good to know. Thanks.
BTW, do you know if specifying a number of frames somewhat greater than the real number of frames works well? If it's the case, it is easy to evaluate the number of frames by multiplying the duration of the movie (as displayed by any player) with the fps, and add some seconds, just to be sure. That way, it should be possible to display the remaining time. But will x264 stop correctly at the end of the encoding process?
Also, I have a multi-angle BD that requires to join several files together to encode the whole movie. It's easy to do it in the avs script, but will it correctly join the different parts if the number of frames is not specified, or is too large? Or perhaps there is a way to open a playlist (containing all the parts in the correct order) instead of several ssif files?
AVS
LoadPlugin("ssifSource + chapters.dll")
# Usage: ssifSource(ssif-filename, width, height, frameCount)
video = ssifSource("e:\BDMV\PLAYLIST\00005.mpls", 1920, 1080).ConvertToRGB
#global left = crop(video, 0, 0, video.width, video.height/2).ConvertToRGB32.Subtitle("left")
#global right = crop(video, 0, video.height/2, video.width, video.height/2).ConvertToRGB32.Subtitle("right")
left = crop(video, 0, 0, video.width, video.height/2)
right = crop(video, 0, video.height/2, video.width, video.height/2)
video = stackhorizontal(left,right)
return video.ConvertToYV12
CMD
Dummy.exe /avisynth | x264_x86.exe --qp 15 --preset slower --threads auto --frames 147768 --output S_B_S.mkv convert.avs
slavanap
14th March 2012, 15:40
x264 without --frame XXXXX works fine by cons it does not display the remaining time
@slavanap
I have an idea
I authorized you to modify your ssifSource.dll ?
hm... what kind of modification do you want?
I know that, but the solution uploaded by slavanap doesn't require to demux the streams first. It works well by directly reading the ssif file from an unprotected BD or mounted ISO. Having to demux just to know the number of frames is a pity!
There is a solution for that, you may get number of frames from .m2ts file referenced to the .ssif file. Like that:
frames = DirectShowSource("e:\BDMV\STREAM\00005.m2ts").framecount
LoadPlugin("ssifSource.dll")
# Usage: ssifSource(ssif-filename, width, height, frameCount)
src = ssifSource("e:\BDMV\STREAM\SSIF\00005.ssif", 1920, 1080, frames-24)
return src
P.S. don't forget to add --fps parameter to x264 option, because ssifSource always provides 25fps video.
frencher
14th March 2012, 15:44
hm... what kind of modification do you want?
There is a solution for that, you may get number of frames from .m2ts file referenced to the .ssif file. Like that:
frames = DirectShowSource("e:\BDMV\STREAM\00005.m2ts").framecount
LoadPlugin("ssifSource.dll")
# Usage: ssifSource(ssif-filename, width, height, frameCount)
src = ssifSource("e:\BDMV\STREAM\SSIF\00005.ssif", 1920, 1080, frames-24)
return src
P.S. don't forget to add --fps parameter to x264 option, because ssifSource always provides 25fps video.
Why use SSIF or M2TS file ?
eac3to works fine with playlist mpls :cool:
Download => eac3to with mpls playlist to Side By Side (http://www.mediafire.com/?8iwr132270w5lsj)
hm... what kind of modification do you want?
For me ldecod_mod.exe is not necessary
frencher
14th March 2012, 16:16
Here's a version that works with RawSource.dll pipe
Download => AVC+MVC.264 ldecodp to x264_x86 SBS with pipe.rar (http://www.mediafire.com/?37ubcimqqk1s8tz)
It should be possible to achieve the same result with ssifSource.dll :stupid: ?
r0lZ
14th March 2012, 17:20
There is a solution for that, you may get number of frames from .m2ts file referenced to the .ssif file. Like that:
frames = DirectShowSource("e:\BDMV\STREAM\00005.m2ts").framecount
Hum, I have NEVER been able to retrieve the correct number of frames with DirectShowSource. It seems that DirectShowSource can only return the estimated number of frames, at least with an AVC source. (It's why I have always used DGAVCIndex or eac3to, but it would be nice to read it directly from the BD disc or ISO.)
frencher
14th March 2012, 17:28
Thanks for the tip. But where is chapters.dll? And what is it supposed to do?
If you use a SSIF or m2ts tracks will
1: h264/AVC (left eye), 1080p24 /1.001 (16:9)
2: h264/AVC (right eye), 1080p24 /1.001 (16:9)
If you use a mpls tracks will
1: Chapters, 24 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9) => 00001.m2ts+00002.m2ts etc.....
3: h264/AVC (right eye), 1080p24 /1.001 (16:9) => same ...
Track (1 chapters) shifts the video track
r0lZ
14th March 2012, 17:42
You have been faster than me! I have deleted my previous post, after I have realized what chapters.dll can do and where to find it. Thanks anyway.
So, to summarize, it should be possible to open a mpls and encode it directly, without having to specify the number of frames in the avs script or in the x264 command. And opening the mpls ensures that a multi-angle movie is processed completely. Right?
(Sorry if my questions are stupid. I'm totally new to BD, and especially to 3D conversions. As you know, my center of interest is mainly the DVD IFOs, and I have bought my first BD player two weeks ago.)
frencher
14th March 2012, 17:47
@r0lZ
Here is 2 years I'm looking for and turns in every sense a fast and free to make a 3D conversion.
If you do a demux the audio track you have the total number of images.
If you do not I do not see the interest to watch a video without audio.
Hmmmm, you like "The Artist" :p
The question is not stupid at all the contrary
For best result just change mpls into avs script and total frames into x264 command ;)
@slavanap
Excuse me, your version with ldecod_mod.exe is the best right now if I can help I remain available
r0lZ
14th March 2012, 18:31
If you do not I do not see the interest to watch a video without audio.
Good point. :o But if you do a mkv, it is sufficient to load the m2ts in mkvmerge, replace the video with your new h264 file, suppress the stream you don't need, and mux. No real need to demux the audio.
However, I agree that this procedure doesn't work with complex titles in a mpls file. As far as I know, in that case, the audio must be extracted, because mkvmerge cannot handle mpls or ssif files.
frencher
14th March 2012, 18:42
Good point. :o But if you do a mkv, it is sufficient to load the m2ts in mkvmerge, replace the video with your new h264 file, suppress the stream you don't need, and mux. No real need to demux the audio.
However, I agree that this procedure doesn't work with complex titles in a mpls file. As far as I know, in that case, the audio must be extracted, because mkvmerge cannot handle mpls or ssif files.
Here can work like that for the mkv.
It should still prefer mpls for complex files rather than m2ts or SSIF ;)
frencher
15th March 2012, 09:35
Here I tried on a complex mpls I post the eac3to log and the result of CMD
I think ldecod lose the thread when eac3to to complete as it completes its function there you have it way to fix this problem slavanap ? :thanks:
Log of eac3to v3.24
command line: eac3to.exe "e:\BDMV\PLAYLIST\00070.mpls" 2:\\.\pipe\bluray16237\left.h264 3:\\.\pipe\bluray16237\right.h264
------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.001
1: Chapters, 20 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
5: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
10: AC3, Thai, 5.1 channels, 640kbps, 48kHz
11: Subtitle (PGS), English
12: Subtitle (PGS), French
13: Subtitle (PGS), Spanish
14: Subtitle (PGS), Portuguese
15: Subtitle (PGS), Korean
16: Subtitle (PGS), Chinese
17: Subtitle (PGS), Chinese
18: Subtitle (PGS), Thai
19: Subtitle (PGS), Vietnamese
20: Subtitle (PGS), Indonesian
21: Subtitle (PGS), Malay
22: Subtitle (PGS), French
23: Subtitle (PGS), Spanish
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
[v03] Extracting video track number 3...
[v02] Extracting video track number 2...
[v03] Creating file "\\.\pipe\bluray16237\right.h264"...
[v02] Creating file "\\.\pipe\bluray16237\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 41 minutes.
Done.
Log of CMD
D:\Temp Recode\ssifSource + chapters>.\WFS-3DBD's-Plugins\Dummy.exe /avisynth
| .\WFS-3DBD's-Plugins\x264_x86.exe --qp 0 --preset ultrafast --threads auto --f
rames 180027 --output S_B_S.mkv convert.avs
avs [info]: 1920x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cach
e64
x264 [info]: profile High 4:4:4 Predictive, level 4.0, 4:2:0 8-bit
Setting Default Parameters...
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray16237\left1.h264'Parsing
command line string 'InputFile = \\.\pipe\bluray16237\left2.h264'..
Parsing command line string 'OutputFile = \\.\pipe\bluray16237\1.yuv'Parsing com
mand line string 'InputFile2 = \\.\pipe\bluray16237\right2.h264'..
Parsing command line string 'WriteUV = 0'Parsing command line string 'OutputFile
= \\.\pipe\bluray16237\1.yuv'..
Parsing command line string 'FileFormat = 0'Parsing command line string 'WriteUV
= 0'..
Parsing command line string 'RefOffset = 0'Parsing command line string 'WriteStr
eams = 1'..
Parsing command line string 'POCScale = 2'Parsing command line string 'FileForma
t = 0'..
Parsing command line string 'RefOffset = 0'Parsing command line string 'DisplayD
ecParams = 1'..
Parsing command line string 'POCScale = 2'Parsing command line string 'ConcealMo
de = 0'..
Parsing command line string 'DisplayDecParams = 1'Parsing command line string 'R
efPOCGap = 2'..
Parsing command line string 'ConcealMode = 0'Parsing command line string 'POCGap
= 2'..
Parsing command line string 'RefPOCGap = 2'Parsing command line string 'Silent =
1'..
Parsing command line string 'POCGap = 2'Parsing command line string 'IntraProfil
eDeblocking = 1'..
Parsing command line string 'DecFrmNum = 0'Parsing command line string 'Silent =
1'..
Parsing command line string 'DecodeAllLayers = 1'Parsing command line string 'In
traProfileDeblocking = 1'..
Parsing command line string 'DecFrmNum = 0'*************************************
*****************
.* Decoder Parameters *
******************************************************
Parsing command line string 'DecodeAllLayers = 1'Parameter InputFile = \\.\pipe\
bluray16237\left1.h264
.Parameter OutputFile = \\.\pipe\bluray16237\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
******************************************************
Parameter FileFormat = 0
* Decoder Parameters *
Parameter RefOffset = 0
******************************************************
Parameter POCScale = 2
Parameter InputFile = \\.\pipe\bluray16237\left2.h264
Parameter DisplayDecParams = 1
Parameter InputFile2 = \\.\pipe\bluray16237\right2.h264
Parameter ConcealMode = 0
Parameter OutputFile = \\.\pipe\bluray16237\1.yuv
Parameter RefPOCGap = 2
Parameter RefFile =
Parameter POCGap = 2
Parameter WriteUV = 0
Parameter Silent = 1
Parameter WriteStreams = 1
Parameter IntraProfileDeblocking = 1
Parameter FileFormat = 0
Parameter DecFrmNum = 0
Parameter RefOffset = 0
Parameter DecodeAllLayers = 1
Parameter POCScale = 2
******************************************************
Parameter DisplayDecParams = 1
----------------------------- JM 17.2 (FRExt) -----------------------------
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.001
1: Chapters, 20 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
5: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
10: AC3, Thai, 5.1 channels, 640kbps, 48kHz
11: Subtitle (PGS), English
12: Subtitle (PGS), French
13: Subtitle (PGS), Spanish
14: Subtitle (PGS), Portuguese
15: Subtitle (PGS), Korean
16: Subtitle (PGS), Chinese
17: Subtitle (PGS), Chinese
18: Subtitle (PGS), Thai
19: Subtitle (PGS), Vietnamese
20: Subtitle (PGS), Indonesian
21: Subtitle (PGS), Malay
22: Subtitle (PGS), French
23: Subtitle (PGS), Spanish
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
v03 Extracting video track number 3...
v02 Extracting video track number 2...
v03 Creating file "\\.\pipe\bluray16237\right.h264"...
v02 Creating file "\\.\pipe\bluray16237\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 41 minutes.
Done.
ERROR READING PIPE!frame 179950..27 fps, 150012.39 kb/s, eta 0:00:20
An unintentional loss of pictures occurs! Exit2.09 kb/s, eta 0:00:19
A gap in frame number is found, try to fill it.
Max. number of reference frames exceeded. Invalid stream.
warning: zero_byte shall exist 4.27 fps, 150011.97 kb/s, eta 0:00:19
warning: Intra_8x8_Diagonal_Down_Right prediction mode not allowed at mb 4126
warning: Intra_8x8_Horizontal_Down prediction mode not allowed at mb 4127
warning: Intra_4x4_Diagonal_Down_Right prediction mode not allowed at mb 4132
warning: Intra_4x4_Horizontal_Down prediction mode not allowed at mb 4132
warning: Intra_8x8_Vertical prediction mode not allowed at mb 4133
invalid 16x16 intra pred Mode PLANE_16
x264 [100.0%] 179948/180027 frames, 4.27 fps, 150011.73 kb/s, eta 0:00:18
ERROR READING PIPE!
slavanap
15th March 2012, 14:35
Hum, I have NEVER been able to retrieve the correct number of frames with DirectShowSource. It seems that DirectShowSource can only return the estimated number of frames, at least with an AVC source.
That's really strange. I always use DirectShowSource framecount value, and it's correct. (with K-Lite Codec Pack Mega installed).
If you use a SSIF or m2ts tracks will
1: h264/AVC (left eye), 1080p24 /1.001 (16:9)
2: h264/AVC (right eye), 1080p24 /1.001 (16:9)
If you use a mpls tracks will
1: Chapters, 24 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9) => 00001.m2ts+00002.m2ts etc.....
3: h264/AVC (right eye), 1080p24 /1.001 (16:9) => same ...
Track (1 chapters) shifts the video track
Yes. That's why, I use SSIF files, because left and right tracks numbers are fixed.
I plan to add option to able selection of left and right tracks numbers to proceed mpls files as well.
Here I tried on a complex mpls I post the eac3to log and the result of CMD
I think ldecod lose the thread when eac3to to complete as it completes its function there you have it way to fix this problem slavanap ? :thanks:
Log of eac3to v3.24
command line: eac3to.exe "e:\BDMV\PLAYLIST\00070.mpls" 2:\\.\pipe\bluray16237\left.h264 3:\\.\pipe\bluray16237\right.h264
------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.001
1: Chapters, 20 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
5: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
10: AC3, Thai, 5.1 channels, 640kbps, 48kHz
11: Subtitle (PGS), English
12: Subtitle (PGS), French
13: Subtitle (PGS), Spanish
14: Subtitle (PGS), Portuguese
15: Subtitle (PGS), Korean
16: Subtitle (PGS), Chinese
17: Subtitle (PGS), Chinese
18: Subtitle (PGS), Thai
19: Subtitle (PGS), Vietnamese
20: Subtitle (PGS), Indonesian
21: Subtitle (PGS), Malay
22: Subtitle (PGS), French
23: Subtitle (PGS), Spanish
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
[v03] Extracting video track number 3...
[v02] Extracting video track number 2...
[v03] Creating file "\\.\pipe\bluray16237\right.h264"...
[v02] Creating file "\\.\pipe\bluray16237\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 41 minutes.
Done.
Log of CMD
D:\Temp Recode\ssifSource + chapters>.\WFS-3DBD's-Plugins\Dummy.exe /avisynth
| .\WFS-3DBD's-Plugins\x264_x86.exe --qp 0 --preset ultrafast --threads auto --f
rames 180027 --output S_B_S.mkv convert.avs
avs [info]: 1920x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cach
e64
x264 [info]: profile High 4:4:4 Predictive, level 4.0, 4:2:0 8-bit
Setting Default Parameters...
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray16237\left1.h264'Parsing
command line string 'InputFile = \\.\pipe\bluray16237\left2.h264'..
Parsing command line string 'OutputFile = \\.\pipe\bluray16237\1.yuv'Parsing com
mand line string 'InputFile2 = \\.\pipe\bluray16237\right2.h264'..
Parsing command line string 'WriteUV = 0'Parsing command line string 'OutputFile
= \\.\pipe\bluray16237\1.yuv'..
Parsing command line string 'FileFormat = 0'Parsing command line string 'WriteUV
= 0'..
Parsing command line string 'RefOffset = 0'Parsing command line string 'WriteStr
eams = 1'..
Parsing command line string 'POCScale = 2'Parsing command line string 'FileForma
t = 0'..
Parsing command line string 'RefOffset = 0'Parsing command line string 'DisplayD
ecParams = 1'..
Parsing command line string 'POCScale = 2'Parsing command line string 'ConcealMo
de = 0'..
Parsing command line string 'DisplayDecParams = 1'Parsing command line string 'R
efPOCGap = 2'..
Parsing command line string 'ConcealMode = 0'Parsing command line string 'POCGap
= 2'..
Parsing command line string 'RefPOCGap = 2'Parsing command line string 'Silent =
1'..
Parsing command line string 'POCGap = 2'Parsing command line string 'IntraProfil
eDeblocking = 1'..
Parsing command line string 'DecFrmNum = 0'Parsing command line string 'Silent =
1'..
Parsing command line string 'DecodeAllLayers = 1'Parsing command line string 'In
traProfileDeblocking = 1'..
Parsing command line string 'DecFrmNum = 0'*************************************
*****************
.* Decoder Parameters *
******************************************************
Parsing command line string 'DecodeAllLayers = 1'Parameter InputFile = \\.\pipe\
bluray16237\left1.h264
.Parameter OutputFile = \\.\pipe\bluray16237\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
******************************************************
Parameter FileFormat = 0
* Decoder Parameters *
Parameter RefOffset = 0
******************************************************
Parameter POCScale = 2
Parameter InputFile = \\.\pipe\bluray16237\left2.h264
Parameter DisplayDecParams = 1
Parameter InputFile2 = \\.\pipe\bluray16237\right2.h264
Parameter ConcealMode = 0
Parameter OutputFile = \\.\pipe\bluray16237\1.yuv
Parameter RefPOCGap = 2
Parameter RefFile =
Parameter POCGap = 2
Parameter WriteUV = 0
Parameter Silent = 1
Parameter WriteStreams = 1
Parameter IntraProfileDeblocking = 1
Parameter FileFormat = 0
Parameter DecFrmNum = 0
Parameter RefOffset = 0
Parameter DecodeAllLayers = 1
Parameter POCScale = 2
******************************************************
Parameter DisplayDecParams = 1
----------------------------- JM 17.2 (FRExt) -----------------------------
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.001
1: Chapters, 20 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
5: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
10: AC3, Thai, 5.1 channels, 640kbps, 48kHz
11: Subtitle (PGS), English
12: Subtitle (PGS), French
13: Subtitle (PGS), Spanish
14: Subtitle (PGS), Portuguese
15: Subtitle (PGS), Korean
16: Subtitle (PGS), Chinese
17: Subtitle (PGS), Chinese
18: Subtitle (PGS), Thai
19: Subtitle (PGS), Vietnamese
20: Subtitle (PGS), Indonesian
21: Subtitle (PGS), Malay
22: Subtitle (PGS), French
23: Subtitle (PGS), Spanish
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
v03 Extracting video track number 3...
v02 Extracting video track number 2...
v03 Creating file "\\.\pipe\bluray16237\right.h264"...
v02 Creating file "\\.\pipe\bluray16237\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 41 minutes.
Done.
ERROR READING PIPE!frame 179950..27 fps, 150012.39 kb/s, eta 0:00:20
An unintentional loss of pictures occurs! Exit2.09 kb/s, eta 0:00:19
A gap in frame number is found, try to fill it.
Max. number of reference frames exceeded. Invalid stream.
warning: zero_byte shall exist 4.27 fps, 150011.97 kb/s, eta 0:00:19
warning: Intra_8x8_Diagonal_Down_Right prediction mode not allowed at mb 4126
warning: Intra_8x8_Horizontal_Down prediction mode not allowed at mb 4127
warning: Intra_4x4_Diagonal_Down_Right prediction mode not allowed at mb 4132
warning: Intra_4x4_Horizontal_Down prediction mode not allowed at mb 4132
warning: Intra_8x8_Vertical prediction mode not allowed at mb 4133
invalid 16x16 intra pred Mode PLANE_16
x264 [100.0%] 179948/180027 frames, 4.27 fps, 150011.73 kb/s, eta 0:00:18
ERROR READING PIPE!
It seems that you forget to not proceed last 2 seconds of video. This is bug of alexpk's mod, and it seems that one of ldecod applications has crushed with error. Look in taskman to find out what applicaton has crushed.
ADD:
An unintentional loss of pictures occurs! Exit
This error message is generated by ldecod from here:
http://iphome.hhi.de/suehring/tml/doc/ldec/html/image_8c_source.html#l00111
Looks like blu-ray read error.
crl2007
15th March 2012, 18:41
I'm very glad that this topic is so alive and full of great people that can make a difference on the software compile side.
frencher
15th March 2012, 20:08
Hi slavanap,
I compared quite a few tests
With the ldecod_mod.exe Changing WriteStreams WriteStreams = 1 to = -1 activates two yuv stream that can be recovered with ssifSource.dll but there just with ldecod_mod.exe
WriteStreams = 0 Left Only
WriteStreams = 1 Right Only
WriteStreams = -1 Left & Right
slavanap
15th March 2012, 23:29
@frencher
Wow! That's real perfomance inprovement!
I've changed ssifSource. http://sendfile.su/549619
Now it uses that technique. (I renamed ldecod_mod.exe to ldecod.exe now.)
Moreover, now you can set left and right tracks numbers for eac3to. (default values is 1 and 2 respectively).
This actually make openning of .mpls files available (not tested properly yet). But check numbers of tracks with eac3to first!
Framecount is still necessary, but you can obtain it through DirectShowSource clip properties.
frencher
16th March 2012, 14:03
@slavanap, jeeeeeez !!!
Very very good work is what wanted to achieve for several years.
I redo the test that previously was not functioning.
Is it possible to release the function files on the hard disk, for 3D camcorder etc... , (eac3to is not necessary here)
left = ssifSource("c:\temp\left.264", 1920, 1080, frames)
right = ssifSource("c:\temp\right.264", 1920, 1080, frames)
or
video = ssifSource(1920, 1080, frames, "c:\temp\left.264","c:\temp\right.264")
or
video = ssifSource("c:\temp\left.264","c:\temp\right.264",1920, 1080, frames)
:thanks:
frencher
17th March 2012, 12:11
My 2° test is complete but lacks the last 17 frames.
For me a pipe buffer could solve the problem because eac3to.exe ends before ldecod.exe not finish his work and demand the latest frames missing, it is also possible that pipe buffer between ldecod.exe and ssifSource.dll is necessary
eac3to.exe => pipebuffer => ldecod.exe => pipebuffer => ssifSource.dll :rolleyes:
Log CMD
C:\ssifSource2>.\WFS-3DBD's-Plugins\Dummy.exe /avisynth | .\WFS-3DBD's-Plugins\x264_x86.exe --qp 0 --preset ultrafast --thre
ads auto --frames 180027 --output S_B_S.mkv convert.avs
avs [info]: 1920x1080p 0:0 @ 24000/1001 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cach
e64
x264 [info]: profile High 4:4:4 Predictive, level 4.0, 4:2:0 8-bit
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray1007\left1.h264'.
Parsing command line string 'InputFile2 = \\.\pipe\bluray1007\right1.h264'.
Parsing command line string 'OutputFile = \\.\pipe\bluray1007\1.yuv'.
Parsing command line string 'WriteUV = 0'.
Parsing command line string 'WriteStreams = -1'.
Parsing command line string 'FileFormat = 0'.
Parsing command line string 'RefOffset = 0'.
Parsing command line string 'POCScale = 2'.
Parsing command line string 'DisplayDecParams = 1'.
Parsing command line string 'ConcealMode = 0'.
Parsing command line string 'RefPOCGap = 2'.
Parsing command line string 'POCGap = 2'.
Parsing command line string 'Silent = 1'.
Parsing command line string 'IntraProfileDeblocking = 1'.
Parsing command line string 'DecFrmNum = 0'.
Parsing command line string 'DecodeAllLayers = 1'.
******************************************************
* Decoder Parameters *
******************************************************
Parameter InputFile = \\.\pipe\bluray1007\left1.h264
Parameter InputFile2 = \\.\pipe\bluray1007\right1.h264
Parameter OutputFile = \\.\pipe\bluray1007\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
Parameter WriteStreams = -1
Parameter FileFormat = 0
Parameter RefOffset = 0
Parameter POCScale = 2
Parameter DisplayDecParams = 1
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
--------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.0
Chapters, 20 chapters
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.00
h264/AVC (left eye), 1080p24 /1.001 (16:9)
Chapters, 20 chapters
h264/AVC (right eye), 1080p24 /1.001 (16:9)
h264/AVC (left eye), 1080p24 /1.001 (16:9)
DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
h264/AVC (right eye), 1080p24 /1.001 (16:9)
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3, French, 5.1 channels, 640kbps, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3, Spanish, 5.1 channels, 640kbps, 48kHz
AC3, French, 5.1 channels, 640kbps, 48kHz
AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
AC3, Spanish, 5.1 channels, 640kbps, 48kHz
1 AC3, Thai, 5.1 channels, 640kbps, 48kHz
AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
1 Subtitle (PGS), English
1 AC3, Thai, 5.1 channels, 640kbps, 48kHz
1 Subtitle (PGS), French
1 Subtitle (PGS), English
1 Subtitle (PGS), Spanish
1 Subtitle (PGS), French
1 Subtitle (PGS), Portuguese
1 Subtitle (PGS), Spanish
1 Subtitle (PGS), Korean
1 Subtitle (PGS), Portuguese
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Korean
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Thai
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Vietnamese
1 Subtitle (PGS), Thai
2 Subtitle (PGS), Indonesian
1 Subtitle (PGS), Vietnamese
2 Subtitle (PGS), Malay
2 Subtitle (PGS), Indonesian
2 Subtitle (PGS), French
2 Subtitle (PGS), Malay
2 Subtitle (PGS), Spanish
2 Subtitle (PGS), French
2 Subtitle (PGS), Portuguese
2 Subtitle (PGS), Spanish
2 Subtitle (PGS), Thai
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
v03 Extracting video track number 3...
v02 Extracting video track number 2...
v03 Creating file "\\.\pipe\bluray1007\right.h264"...
v02 Creating file "\\.\pipe\bluray1007\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 22 minutes.
Done.
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 23 minutes.
Done.
ERROR READING PIPE!frame 360051..39 fps, 138773.63 kb/s, eta 0:00:04
ERROR READING PIPE!027 frames, 4.39 fps, 138772.52 kb/s, eta 0:00:04
ERROR WRITING PIPE!
ERROR READING PIPE!
[100.0%] 180010/180027 frames, 4.39 fps, 138771.95 kb/s, eta 0:00:03
r0lZ
17th March 2012, 12:24
I have also noticed a slight difference in the colors of the left and right images. It seems that the right image, when decoded, is slightly brighter and more saturated. Not sure why. It may be due to a problem in the original BD. I'll check with other BDs as soon as possible...
frencher
17th March 2012, 12:26
I have also noticed a slight difference in the colors of the left and right images. It seems that the right image, when decoded, is slightly brighter and more saturated. Not sure why. It may be due to a problem in the original BD. I'll check with other BDs as soon as possible...
I actually confirmed this comes right from the source and not ldecod etc... ;)
slavanap
22nd March 2012, 23:51
My 2° test is complete but lacks the last 17 frames.
For me a pipe buffer could solve the problem because eac3to.exe ends before ldecod.exe not finish his work and demand the latest frames missing, it is also possible that pipe buffer between ldecod.exe and ssifSource.dll is necessary
eac3to.exe => pipebuffer => ldecod.exe => pipebuffer => ssifSource.dll :rolleyes:
Log CMD
C:\ssifSource2>.\WFS-3DBD's-Plugins\Dummy.exe /avisynth | .\WFS-3DBD's-Plugins\x264_x86.exe --qp 0 --preset ultrafast --thre
ads auto --frames 180027 --output S_B_S.mkv convert.avs
avs [info]: 1920x1080p 0:0 @ 24000/1001 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cach
e64
x264 [info]: profile High 4:4:4 Predictive, level 4.0, 4:2:0 8-bit
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray1007\left1.h264'.
Parsing command line string 'InputFile2 = \\.\pipe\bluray1007\right1.h264'.
Parsing command line string 'OutputFile = \\.\pipe\bluray1007\1.yuv'.
Parsing command line string 'WriteUV = 0'.
Parsing command line string 'WriteStreams = -1'.
Parsing command line string 'FileFormat = 0'.
Parsing command line string 'RefOffset = 0'.
Parsing command line string 'POCScale = 2'.
Parsing command line string 'DisplayDecParams = 1'.
Parsing command line string 'ConcealMode = 0'.
Parsing command line string 'RefPOCGap = 2'.
Parsing command line string 'POCGap = 2'.
Parsing command line string 'Silent = 1'.
Parsing command line string 'IntraProfileDeblocking = 1'.
Parsing command line string 'DecFrmNum = 0'.
Parsing command line string 'DecodeAllLayers = 1'.
******************************************************
* Decoder Parameters *
******************************************************
Parameter InputFile = \\.\pipe\bluray1007\left1.h264
Parameter InputFile2 = \\.\pipe\bluray1007\right1.h264
Parameter OutputFile = \\.\pipe\bluray1007\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
Parameter WriteStreams = -1
Parameter FileFormat = 0
Parameter RefOffset = 0
Parameter POCScale = 2
Parameter DisplayDecParams = 1
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
--------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.0
Chapters, 20 chapters
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.00
h264/AVC (left eye), 1080p24 /1.001 (16:9)
Chapters, 20 chapters
h264/AVC (right eye), 1080p24 /1.001 (16:9)
h264/AVC (left eye), 1080p24 /1.001 (16:9)
DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
h264/AVC (right eye), 1080p24 /1.001 (16:9)
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3, French, 5.1 channels, 640kbps, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3, Spanish, 5.1 channels, 640kbps, 48kHz
AC3, French, 5.1 channels, 640kbps, 48kHz
AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
AC3, Spanish, 5.1 channels, 640kbps, 48kHz
1 AC3, Thai, 5.1 channels, 640kbps, 48kHz
AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
1 Subtitle (PGS), English
1 AC3, Thai, 5.1 channels, 640kbps, 48kHz
1 Subtitle (PGS), French
1 Subtitle (PGS), English
1 Subtitle (PGS), Spanish
1 Subtitle (PGS), French
1 Subtitle (PGS), Portuguese
1 Subtitle (PGS), Spanish
1 Subtitle (PGS), Korean
1 Subtitle (PGS), Portuguese
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Korean
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Thai
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Vietnamese
1 Subtitle (PGS), Thai
2 Subtitle (PGS), Indonesian
1 Subtitle (PGS), Vietnamese
2 Subtitle (PGS), Malay
2 Subtitle (PGS), Indonesian
2 Subtitle (PGS), French
2 Subtitle (PGS), Malay
2 Subtitle (PGS), Spanish
2 Subtitle (PGS), French
2 Subtitle (PGS), Portuguese
2 Subtitle (PGS), Spanish
2 Subtitle (PGS), Thai
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
v03 Extracting video track number 3...
v02 Extracting video track number 2...
v03 Creating file "\\.\pipe\bluray1007\right.h264"...
v02 Creating file "\\.\pipe\bluray1007\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 22 minutes.
Done.
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 23 minutes.
Done.
ERROR READING PIPE!frame 360051..39 fps, 138773.63 kb/s, eta 0:00:04
ERROR READING PIPE!027 frames, 4.39 fps, 138772.52 kb/s, eta 0:00:04
ERROR WRITING PIPE!
ERROR READING PIPE!
[100.0%] 180010/180027 frames, 4.39 fps, 138771.95 kb/s, eta 0:00:03
Looks like a crush of ldecod.exe or wrong frame_count number.
I have also noticed a slight difference in the colors of the left and right images. It seems that the right image, when decoded, is slightly brighter and more saturated. Not sure why. It may be due to a problem in the original BD. I'll check with other BDs as soon as possible...
I don't change the output of ldecod.exe. So, may be it fails.
slavanap
22nd March 2012, 23:58
New package of ssifSource is here:
http://sendfile.su/555224
Now, if frame_count > output frames of ldecod.exe, the last frame is duplicated as long as needed and the warning appears.
Added option for parsing raw .h264 files (without demuxing with eac3to.exe).
Read test.avs comments for more info.
@frencher, :)
P.S. Plan to suppress ldecod & eac3to console output if there isn't any bugs.
frencher
23rd March 2012, 16:38
Hello slavanap,
Encoding with ssifSource version 2 just ended successfully in file mode, see the penultimate line of the log
encoded 180027/180027 frames, 4.48 fps, 99622.80 kb/s :o
There was a loss of data between eac3to and ldecod.
I will try now with version 3 ssifSource on the same file.
Very nice work slavanap. :)
DOWNLOAD => My pack Updated - ssifSource2 + ssifSourcf2 (http://www.mediafire.com/?yagb20zb26bc0nu)
Below is the complete log:
D:\ssifSource2>".\WFS-3DBD's-Plugins\x264_x86.exe" --qp 5 --preset ultrafast --sar 1:1 --threads 1 --output "S_B_S.mkv" ".\WFS-3DBD's-Plugins\convert.avs"
Setting Default Parameters...
x264 [info]: avs 1920x1080p 1:1 @ 24000/1001 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
x264 [info]: profile Constrained Baseline, level 4.0
Parsing Configfile decoder.cfg
Parsing command line string 'OutputFile = \\.\pipe\bluray6377\1.yuv'.
Parsing command line string 'WriteUV = 0'.
Parsing command line string 'WriteStreams = -1'.
Parsing command line string 'FileFormat = 0'.
Parsing command line string 'RefOffset = 0'.
Parsing command line string 'POCScale = 2'.
Parsing command line string 'DisplayDecParams = 1'.
Parsing command line string 'ConcealMode = 0'.
Parsing command line string 'RefPOCGap = 2
Parsing command line string 'POCGap = 2'.
Parsing command line string 'Silent = 1'.
Parsing command line string 'IntraProfileDeblocking = 1'.
Parsing command line string 'DecFrmNum = 0'.
Parsing command line string 'DecodeAllLayers = 1'.
******************************************************
* Decoder Parameters *
******************************************************
Parameter InputFile = ..\01_Left.h264
Parameter InputFile2 = ..\02_Right.h264
Parameter OutputFile = \\.\pipe\bluray6377\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
Parameter WriteStreams = -1
Parameter FileFormat = 0
Parameter RefOffset = 0
Parameter POCScale = 2
Parameter DisplayDecParams = 1
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
[100.0%] 180024/180027 frames, 4.48 fps, 99624.06 kb/s, eta 0:00:00
----------------------- Decoding Completed -------------------------------
Total decoding time : 40105.045 sec (8.978 fps)[360054 frm/40105045 ms]
--------------------------------------------------------------------------
Exit JM 17 (FRExt) decoder, ver 17.2
Output status file : log.dec.txt
ERROR READING PIPE!
ERROR READING PIPE!
x264 [info]: frame I:721 Avg QP: 2.07 size:805017
x264 [info]: frame P:179306 Avg QP: 5.00 size:518239
x264 [info]: mb I I16..4: 100.0% 0.0% 0.0%
x264 [info]: mb P I16..4: 36.7% 0.0% 0.0% P16..4: 54.6% 0.0% 0.0% 0.0% 0.0% skip: 8.7%
x264 [info]: coded y,uvDC,uvAC intra: 83.9% 64.8% 54.8% inter: 84.4% 78.7% 69.2%
x264 [info]: i16 v,h,dc,p: 28% 10% 49% 13%
x264 [info]: i8c dc,h,v,p: 53% 18% 22% 7%
x264 [info]: kb/s:99622.80
encoded 180027 frames, 4.48 fps, 99622.80 kb/s
Appuyez sur une touche pour continuer...
frencher
23rd March 2012, 17:39
I just had an idea.
Ldecod compatible x86 and x64 to rework it so a single 3D stream, for example:
ldecod -p InputFile = "\\.\pipe\bluray1234\Left.h264" -p InputFile2 = "\\.\pipe\bluray1234\Right.h264" -p Export = SideBySide or -p Export = UpperUnder -p OutputFile = "\\.\pipe\3DStream.yuv"
It's possible ? :thanks:
Why ?
No codec needed
No avs needed
Increase speed
No buffer
frencher
24th March 2012, 19:14
Hello slavanap,
ldecod.exe crashed just prior to the end.
http://i40.tinypic.com/2qd8vpk.png
When I close ldecod.exe error, x264_x86 finishes its job properly
encoded 180027 of 180027 frames, 4.42 fps, 99622.80 kb/s
I run new test with avs N° 3
ssifSource(width = 1920, height = 1080, frame_count = 180027, left_264 = "left.h264", right_264 = "right.h264")
The output total frames with ripbot264 and DirectShow is 180028 frames:
http://i40.tinypic.com/j0d8pc.png
frencher
25th March 2012, 23:56
I run new test with avs N° 3
Everything went well and completed without errors ;)
Same for another
ssifSource(width = 1920, height = 1080, frame_count = 180027, left_264 = "left.h264", right_264 = "right.h264")
eac3to => ERROR READING PIPE! => Ldecod
DOWNLOAD => PipeBuffer v1.03.rar (http://www.mediafire.com/?6ode7rgf6624d8b) by LoRd_MuldeR
PipeBuffer by LoRd_MuldeR <mulder2@gmx.de>, Version 1.03
Usage:
pipebuf.exe <program_out> [<args>] : <program_in> [<args>] : [<buffer_size>]
Options:
<program_out> Executable to read stdout from
<program_in> Executable to write stdin to
<args> Optional command-line arguments
<buffer_size> Pipe buffer in MByte [0]
slavanap
26th March 2012, 23:55
I just had an idea.
Ldecod compatible x86 and x64 to rework it so a single 3D stream, for example:
ldecod -p InputFile = "\\.\pipe\bluray1234\Left.h264" -p InputFile2 = "\\.\pipe\bluray1234\Right.h264" -p Export = SideBySide or -p Export = UpperUnder -p OutputFile = "\\.\pipe\3DStream.yuv"
It's possible ? :thanks:
Why ?
No codec needed
No avs needed
Increase speed
No buffer
Ok. I will. A little later. Where did you find an information about that settings?
Hello slavanap,
ldecod.exe crashed just prior to the end.
http://i40.tinypic.com/2qd8vpk.png
When I close ldecod.exe error, x264_x86 finishes its job properly
encoded 180027 of 180027 frames, 4.42 fps, 99622.80 kb/s
I run new test with avs N° 3
ssifSource(width = 1920, height = 1080, frame_count = 180027, left_264 = "left.h264", right_264 = "right.h264")
The output total frames with ripbot264 and DirectShow is 180028 frames:
http://i40.tinypic.com/j0d8pc.png
You know about crashes of ldecod.exe. I can't handle them...
I run new test with avs N° 3
Everything went well and completed without errors ;)
Same for another
eac3to => ERROR READING PIPE! => Ldecod
DOWNLOAD => PipeBuffer v1.03.rar (http://www.mediafire.com/?6ode7rgf6624d8b) by LoRd_MuldeR
PipeBuffer by LoRd_MuldeR <mulder2@gmx.de>, Version 1.03
Usage:
pipebuf.exe <program_out> [<args>] : <program_in> [<args>] : [<buffer_size>]
Options:
<program_out> Executable to read stdout from
<program_in> Executable to write stdin to
<args> Optional command-line arguments
<buffer_size> Pipe buffer in MByte [0]
ERROR READING PIPE is a normal message. It means that pipe has been closed on application side. I will suppress that messages in a future release.
Worry if you get a deadlock or warning message like this:
WARNING: Decoder output finished. Frame separator can't read next frames. Last frame will be duplicated as long as necessary (%d time(s))
The last one means that ldecod did not produce enough frames for output, that's why the last frame has been duplicated several times till the end of the film.
frencher
27th March 2012, 00:01
Ok. I will. A little later. Where did you find an information about that settings?
This is an example command line that could be added to ldecod.exe
You know about crashes of ldecod.exe. I can't handle them...
eac3to closes before ldecod.exe have retrieved the last images causing the crash (tried several times)
In file mode I did not crash it.
slavanap
28th March 2012, 00:59
@frencher,
Thank you for a reply!
Yes, there was a bug in ldecod.exe, because it didn't support pipes.
Here is my fix for it: http://sendfile.su/559162
ldecod.exe and ssifSource.dll have been changed. ssifSource.dll - for few fixes for pipes. Now it may work faster.
frencher
28th March 2012, 04:23
Very very very nice work nice slavanap, all errors fixed. ;)
I have a suggestion, it would be possible to control at startup the priority in the process ldecod.exe
Another question: can we count on ldecod_x64.exe v 18.3 ?
Original LINK => ldecod 18.3 (http://iphome.hhi.de/suehring/tml/download)
r0lZ
9th April 2012, 12:43
http://sendfile.su/559162
ldecod.exe and ssifSource.dll have been changed. ssifSource.dll - for few fixes for pipes. Now it may work faster.
I've used that version to convert another BD, and it worked very well. Indeed, it is also a little bit faster than the previous versions. Well done!
There are still 4 "ERROR READING PIPE!" messages, but it's not a big problem.
Would it be possible to print the two messages during the decoding operation to different lines? Currently, the "decoding" and "ERROR READING PIPE!" messages overwrite the message with the percentage completed and other info. If it is not possible to print the two messages on different lines, perhaps you could try to add some tabs at the beginning of one of the two messages to print the message on the same line but after the other message.
For example, here is a copy of the info displayed in the DOS window:
ERROR READING PIPE!38 frames, 2.94 fps, 3916.47 kb/s, eta 0:00:29
ERROR READING PIPE!frame 220420.
[100.0%] 110185/110238 frames, 2.94 fps, 3915.91 kb/s, eta 0:00:18
----------------------- Decoding Completed -------------------------------
Total decoding time : 37184.208 sec (5.929 fps)[220474 frm/37184208 ms]
--------------------------------------------------------------------------
Exit JM 17 (FRExt) decoder, ver 17.2
Output status file : log.dec
ERROR READING PIPE!238 frames, 2.94 fps, 3915.86 kb/s, eta 0:00:17
ERROR READING PIPE!
Also, could you consider to add an option to stack the two images horizontally instead of vertically, to simplify and speed up the AVS script when the user wants a side by side conversion? Thanks!
Of course, it would be nice to improve the decoding time. Unfortunately, it is still very slow. But I understand that it's not an easy task.
Thanks again!
PurpleMan
22nd April 2012, 22:15
Hey guys,
I successfully used x264 (x86 version) with ssifsource and a script similar to the test.avs included in the package.
I usually encode using avs2yuv.exe to pipe the AVS to x264-x64, however it doesn't work with avs's containing ssifsource.
Is there any way to pipe the AVS to x264 instead of having x264 directly read the avs?
Thank you.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.