View Single Post
Old 2nd November 2014, 11:26   #141  |  Link
frank
Banned
 
Join Date: Oct 2001
Location: https://t.me/pump_upp
Posts: 811
Get back DirectShowMVCSource() for error-free decoding

Currently ALL Intel SDK based MVC 3D decoders have a serious issue, they show blockiness in some movies.
(The Avengers after 12 sec, Pacific Rim...)
After a lot of tests: Here my results.
BD3D2MK3D can decode it properly using DirectShowMVCSource(), based on CoreAVC (used in Stereoscopic Player).
So DirectShowMVCSource() is NOT obsolete. We need it for that cases until Intel has corrected the bugs.
The only disadvantage: you have to mount the BD/ISO.
_______
Howto
The old BD3D2MK3D v0.23 includes a folder named \toolset\stereoplayer.exe\ with all necessary files.

1. Download BD3D2MK3D v0.23 (link on the first page of this thread) and paste the \stereoplayer.exe folder into \toolset of the current BD3D2MK3D installation.

Required content of \stereoplayer.exe\
avs2yuv.exe (copy of toolset)
x264.exe (copy of toolset)
DirectShowMVCSource.dll
CoreAVCDecoder.dll
MPEGSplitter.dll

2. Update CoreAVC DLLs
Download and install latest Stereoscopic Player and replace CoreAVCDecoder.dll and MPEGSplitter.dll in \stereoplayer.exe with the newer versions. You cannot use newer stf.dll for SBS and TAB anymore (crash). But it is not necessary with the scripts of BD3D2MK3D.

3. Start BD3D2MK3D and generate scripts and files.

4. Edit _ENCODE.cmd
Code:
set path=...\BD3D2MK3D\toolset\stereoplayer.exe;...\BD3D2MK3D\toolset;%path%
Remove the absolute path from avs2yuv.exe or x264.exe. Then the start goes from \stereoplayer.exe.

5. Edit _ENCODE_3D_MOVIE.avs

Code:
LoadPlugin("...\BD3D2MK3D0\toolset\stereoplayer.exe\DirectShowMVCSource.dll")

# Load main video without newer stf.dll otherwise CRASH!!!
# E = drive letter of BD/ISO, framecount = number of frames
# Example: Pacific Rim
left  = DirectShowMVCSource("E:\BDMV\STREAM\SSIF\00098.ssif", seek=false, seekzero=true, framecount=188857, decodeleft=true)
right = DirectShowMVCSource("E:\BDMV\STREAM\SSIF\00098.ssif", seek=false, seekzero=true, framecount=188857)

# For Half SBS
StackHorizontal(HorizontalReduceBy2(left), HorizontalReduceBy2(right))
6. Mount the BD to get access to ssif
The demuxed streams .x264 and .mvc cannot be used because DirectShowMVCSource() cannot read it.

7. Start x264 encoding with _ENCODE.cmd
DirectShowMVCSource() works properly but the speed is slow - about 9-14 fps (no HW acceleration).
_______

So I ask to add again the the stereoplayer.exe folder with DirectShowMVCSource.dll. Users can download Stereoscopic Player themselves for dll updates.
On the other hand you can remove the support for FRIM, based on the same Intel DLLs. DGMVCSource() worked more stable on my systems.

r0lZ, what do you think?

Last edited by frank; 2nd November 2014 at 11:47.
frank is offline