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 31st December 2013, 10:55   #1  |  Link
pistacho
Registered User
 
Join Date: Feb 2010
Location: Spain
Posts: 549
MVCsource v3.0.3 – 3D MVC/AVC/VC-1/MPEG2 Avisynth Source Plugin (Intel Quick Sync)

As part of BDtoAVCHD software I developed this plug-in for optimize Blu-Ray 3D to SBS/TAB conversions. Is based on Intel Media SDK 2021 R1 and can be used on all systems (SW acceleration) or on Intel Graphics systems (HW acceleration - Intel Quick Sync). Can decode elementary AVC/MVC both streams combined in the same file or in separated files.

Now I opened this thread so it's can be used for more purposes/applications in addition to original usage.

Current version can also decode 2D HEVC/AVC/VC-1/MPEG2 streams (included UHD 10 bit color for HEVC).


REQUIREMENTS
  • Windows 10/8.1/8/7 (32 or 64-bit)
  • AviSynth 2.6.0 (32-bit) or AviSynth+ (32/64-bit)


DOWNLOAD


LIMITATIONS
  • No seek supported. Only strictly linear decoding is allowed.


CHANGELOG
Code:
Version 3.0.3 (06/03/2022)

 - Updated compiler to Visual Studio 2022.


Version 3.0.0 (06/11/2021)

 - Updated to Intel Media SDK 2021 R1.


Version 2.9.8 (01/02/2021)

 - Updated to Intel Media SDK 2020 R1.


Version 2.9.2 (01/24/2020)

 - Updated to Intel Media SDK 2019 R1 (API 1.28).
 - Updated compiler to Visual Studio 2019.


Version 2.8.6 (03/19/2019)

 - Updated to Intel Media SDK 2018 R2.1 (API 1.27).
 - Updated compiler to Visual Studio 2017 with Update 9.


Version 2.8.0 (05/12/2018)

 - Can also decode HEVC (only in HW mode).
 - Updated AviSynth header to support AviSynth+.
 - New 64-bit version.
 - Added deep color support (10bit) for HEVC decoding (requires AviSynth+).
 - Optimized code using SSE2, SSSE3 and AVX2 instructions.
 - Updated to Intel Media SDK 2018 R1 (API 1.26).
 - Updated compiler to Visual Studio 2017 with Update 6.


Version 2.7.2 (07/19/2017)

 - Updated to Intel Media SDK 2017 R1 (API 1.23). 
 - Updated compiler to Visual Studio 2017.


Version 2.6.4 (10/26/2016)
 
 - Updated compiler to Visual Studio 2015 Update 3.


Version 2.5.8 (07/27/2016)

 - Fixed: with some sources hangs using HW mode and recent Intel Graphics Drivers.


Version 2.5.7 (06/28/2016)

 - Updated to Intel Media SDK 2016 R2 (API 1.19).


Version 2.5.6 (05/09/2016)

 - Fixed: MPEG2 decoding using SW mode.
 - Simplified memory allocation scheme.


Version 2.5.1 (11/27/2015)

 - Updated to Intel Media SDK 2016 (API 1.17).


Version 2.5.0 (11/12/2015)

 - Updated to Intel Media SDK 2015 Update 2.1 (API 1.16).


Version 2.4.6 (09/21/2015)

 - Fixed: with parameter output_format = -2 R/L views order gets inverted after minute 45.
 - Upgraded to Visual Studio 2015.


Version 2.4.5 (08/17/2015)

 - Updated to Intel Media SDK 2015 Update 2 (API 1.15).


Version 2.4.3 (06/13/2015)

 - Updated with Avisynth headers v6, due this, older Avisynth versions (2.5.8) are no longer compatible ***is now required Avisynth v2.6.0***.


Version 2.4.0 (03/20/2015)

 - Updated to Intel Media SDK 2015 Update 1 (no functional changes).


Version 2.2.4 (11/20/2014)

 - Upgraded to Visual Studio 2013 (no functional changes).


Version 2.2.3 (11/07/2014)

 - Fixed all Pacific Rim 3D decoding issues (SW mode and HW mode).
 - Full compatible with latest Intel HD Graphics driver's series.
 - Slightly reduced CPU usage and memory usage (CPU usage downs from 12% to 8% in benchmarks: AVSMeter, HW mode,
   latest Intel drivers).


Version 2.2.2 (10/25/2014)

 - Fixed: Possible image corruption (artifacts on MVC view) using Quick Sync acceleration and latest Intel
   Graphics drivers 15.33.xx.39xx


Version 2.2.1 (10/04/2014)

 - Updated to Intel Media SDK 2014 R2.
 - Some decoder throughput improvements (both HW and SW decoding).


Version 2.1.3 (03/16/2014)

 - Better strategy for detection HW API LEVEL supported by system and chose SW on not supported systems.


Version 2.1.2 (02/26/2014)

 - Updated to Intel Media SDK 2014.
 - Load libmfxsw32.dll from same folder as MVCsource.dll (no system path required)
 - Some code optimizations and speed improvements.
 - Workaround to fix corrupted frames in some streams (e.g. Pacific Rim – root cause seems Intel Media SDK bug)


Version 2.0.0 (01/10/2014)
 
 - Also 2D video decoding (AVC, VC-1, MPEG2)


Version 1.9.5 (12/28/2013)

 - HW acceleration on Intel HD Graphics systems (Intel Quick Sync Video)


Version 1.9.2 (10/19/2013)

 - Support of AVC/MVC on separated input streams.


Version 1.9.0 (08/25/2013)
 
 - First release.
 - Decoding of AVC/MVC combined streams only.

PARAMETERS

Code:
MVCsource("X:\path_to_AVC.h264", "X:\path_to_MVC.h264", number_of_frames, output_format)

number_of_frames:  number of frames that contains .h264 files

output_format:

 0 : AVC frames only
 1 : MVC frames only
 2 : interleaved AVC-MVC frames (AVC odd)
-2 : interleaved MVC-AVC frames (AVC even)
Notes:
  • If number_of_frames specified is lower that actual number of frames in .h264 file, output is trimmed. Also if is greater additional black frames are inserted to complete requested number of frames.
  • Output is already YV12 color format, please do not insert ConvertToYV12() in scripts.
  • Correct framerate is taken from stream, please do not insert AssumeFPS() in scripts.
  • In interleaved left-right direct outputs frame rate is doubled (2x). It's not a bug! That's the functionality that is intended.
  • From version 2.0.0 it's also possible to specify a 2D elementary stream (AVC/VC-1/MPEG2) in the first parameter. In this case must leave the empty second parameter "" and output_format = 0.
  • NEW: from version 2.8.0 can also decode 2D HEVC elementary stream (only using HW mode).


USAGE EXAMPLES

Simplest script (returns interleaved AVC-MVC frames)

Code:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource.dll")

MVCsource("X:\path_to_AVC.h264", "X:\path_to_MVC.h264", 178055, 2)

Same on combined AVC + MVC file

Code:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource.dll")

MVCsource("X:\path_to_MVCCombined.h264", "", 178055, 2)

Half SBS conversion (AVC = left eye)

Code:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource.dll")

Interleaved = MVCsource("X:\path_to_AVC.h264", "X:\path_to_MVC.h264", 178055, 2)

Right = SelectOdd(Interleaved)
Left = SelectEven(Interleaved)

return StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right))

Half SBS conversion (AVC = right eye)

Code:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource.dll")

Interleaved = MVCsource("X:\path_to_AVC.h264", "X:\path_to_MVC.h264", 178055, -2)

Right = SelectOdd(Interleaved)
Left = SelectEven(Interleaved)

return StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right))

Half TAB conversion (AVC = left eye)

Code:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource.dll")

Interleaved = MVCsource("X:\path_to_AVC.h264", "X:\path_to_MVC.h264", 178055, 2)

Right = SelectOdd(Interleaved)
Left = SelectEven(Interleaved)

return StackVertical(VerticalReduceBy2(Left), VerticalReduceBy2(Right))

Half TAB conversion (AVC = right eye)

Code:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource.dll")

Interleaved = MVCsource("X:\path_to_AVC.h264", "X:\path_to_MVC.h264", 178055, -2)

Right = SelectOdd(Interleaved)
Left = SelectEven(Interleaved)

return StackVertical(VerticalReduceBy2(Left), VerticalReduceBy2(Right))

only AVC view

Code:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource.dll")

MVCsource("X:\path_to_AVC.h264", "X:\path_to_MVC.h264", 178055, 0)

only MVC view

Code:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource.dll")

MVCsource("X:\path_to_AVC.h264", "X:\path_to_MVC.h264", 178055, 1)

2D decoder (HEVC/AVC/VC-1/MPEG2)

Code:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource.dll")

MVCsource("X:\path_to_2D_stream.vc1/mpv/h264/hevc", "", 178055, 0)

BENCHMARK (updated to version 2.8.0)

HW decoding on Intel HD Graphics 630 (Kaby Lake) and simplest script (no resize and no stack, only decoding)




SW decoding on Intel i7-7700k and simplest script (no resize and no stack, only decoding)


Last edited by pistacho; 3rd May 2023 at 08:51. Reason: new version
pistacho is offline   Reply With Quote
Old 31st December 2013, 13:12   #2  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,483
Useless as long as it's not a standalone filter. Especially because BDtoAVCHD is adware, and can't be promoted by free programs, for obvious reasons. But thanks anyway.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV
r0lZ is offline   Reply With Quote
Old 31st December 2013, 13:40   #4  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,483
I haven't said that it is a virus. By definition, it is an adware, since it is ad-supported. You must understand that you cannot earn money (with ads or any other method) by forcing the creators of free tools to promote your program, and, even more important, by forcing the owners of the free tools developed by others to install your program.

Give us the possibility to include the avisynth plugin alone with our program, and we will be happy to credit you, and we will add a link to your program, for those that may be interested. But it is unacceptable to force the users of our tools to install your program anyway, especially because it's an adware.

Of course, any programmer is free to accept your conditions, but I doubdt you'll find one here at D9.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV

Last edited by r0lZ; 31st December 2013 at 13:45.
r0lZ is offline   Reply With Quote
Old 31st December 2013, 14:39   #5  |  Link
Nico8583
Registered User
 
Join Date: Jan 2010
Location: France
Posts: 851
Before to go to an (another) useless discussion, could you explain me where is your interest to force users to install your soft instead of simply credit you and add a link to your soft ?

If I install your soft, I'll never launch it -> no ad-banner to display -> no gain for you
Nico8583 is offline   Reply With Quote
Old 31st December 2013, 15:07   #6  |  Link
pistacho
Registered User
 
Join Date: Feb 2010
Location: Spain
Posts: 549
Quote:
Originally Posted by r0lZ View Post
I haven't said that it is a virus. By definition, it is an adware, since it is ad-supported. You must understand that you cannot earn money (with ads or any other method) by forcing the creators of free tools to promote your program, and, even more important, by forcing the owners of the free tools developed by others to install your program.

Give us the possibility to include the avisynth plugin alone with our program, and we will be happy to credit you, and we will add a link to your program, for those that may be interested. But it is unacceptable to force the users of our tools to install your program anyway, especially because it's an adware.

Of course, any programmer is free to accept your conditions, but I doubdt you'll find one here at D9.

I do not impose anything. I just offer an alternative...

Do not you think that people can decide for itself among the options currently available?

e.g.:

1. Comercial program that costs a lot of $
2. Free application that redistributes a commercial codec in a dude way and has plenty of bugs, decoding glitches and washed colors.
3. Ad-supported software that offers good quality decoding / good speed / free of know bugs and is free to use (costs $0).
4. ...

Sorry for this off topic.
pistacho is offline   Reply With Quote
Old 31st December 2013, 15:09   #7  |  Link
pistacho
Registered User
 
Join Date: Feb 2010
Location: Spain
Posts: 549
Quote:
Originally Posted by Nico8583 View Post
Before to go to an (another) useless discussion, could you explain me where is your interest to force users to install your soft instead of simply credit you and add a link to your soft ?

If I install your soft, I'll never launch it -> no ad-banner to display -> no gain for you

At heart I'm a good person
pistacho is offline   Reply With Quote
Old 31st December 2013, 15:35   #8  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Some observations:
  • The software installs and runs fine on XPSP3 (W7 was specified as a min. req.)
  • I noticed that the app stays in memory after cancelling a job and closing. Nasty.
  • The application writes temporary files to the C: drive and not to the directory pointed to by the "TEMP" environment variable. "C:\Temp" and also "C:\AVCHD" are hardcoded . Unbelievable.

Last edited by Groucho2004; 31st December 2013 at 16:35.
Groucho2004 is offline   Reply With Quote
Old 31st December 2013, 15:58   #9  |  Link
Nico8583
Registered User
 
Join Date: Jan 2010
Location: France
Posts: 851
Quote:
Originally Posted by pistacho View Post
At heart I'm a good person
And so ?
Nico8583 is offline   Reply With Quote
Old 31st December 2013, 16:24   #10  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,370
@Nico8583 and others, stop it. Your point is clear.
Wilbert is offline   Reply With Quote
Old 31st December 2013, 17:45   #11  |  Link
pistacho
Registered User
 
Join Date: Feb 2010
Location: Spain
Posts: 549
Quote:
Originally Posted by Groucho2004 View Post
The software installs and runs fine on XPSP3 (W7 was specified as a min. req.)
W7 min req. are only for MVCsource.dll. But for 2D conversions and rest of BDtoAVCHD functionality XPSP3 are sufficient (+UDF driver for read BD structure)

Quote:
Originally Posted by Groucho2004 View Post
Some observations:
I noticed that the app stays in memory after cancelling a job and closing. Nasty.
I have been astounded! Can you elaborate more this?

Quote:
Originally Posted by Groucho2004 View Post
The application writes temporary files to the C: drive and not to the directory pointed to by the "TEMP" environment variable. "C:\Temp" and also "C:\AVCHD" are hardcoded . Unbelievable.
"C:\TEMP" and "C:\AVCHD" are default ones for on a fresh install. You can change this in menu -> Options -> Settings. Also output folder can be edited per job.

EDIT:



p.s. Your AVSMeter are useful to me in order to benchmark my decoder plugin! Cool!

Last edited by pistacho; 31st December 2013 at 17:48.
pistacho is offline   Reply With Quote
Old 31st December 2013, 20:51   #12  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by pistacho View Post
I have been astounded! Can you elaborate more this?
Actually, one only has to start and exit the program. After that, I can't start it again, it complains that there is already an instance running. Funnily, this adds yet another instance.
In order to start it again I have to kill all these instances in Task Manager.
So, not so "free of known bugs" as you claimed (which is a ridiculous statement anyway).

By the way, since your application is completely dependent on great and free tools like x264, FFMS2, BDSup2Sub, eac3to, MatroskaSplitter, mkvtoolnix, tsmuxer, etc., are you planning to give some of the money that you make with your Adware to the developers of these programs?
Groucho2004 is offline   Reply With Quote
Old 31st December 2013, 21:30   #13  |  Link
pistacho
Registered User
 
Join Date: Feb 2010
Location: Spain
Posts: 549
Are you running in exotic configuration like Virtual Machine + Windows XP + Firewall to block internet access?

May be auto-update function (to notification new versions of software) causes this comportment if you block access and closes program too early.

Anyway "no know bugs" is referring to MVCSource.dll not whole BDtoAVCHD but I investigate it this issue any way

Happy New Year!!!
pistacho is offline   Reply With Quote
Old 31st December 2013, 22:24   #14  |  Link
Sparktank
47.952fps@71.928Hz
 
Sparktank's Avatar
 
Join Date: Mar 2011
Posts: 940
This is quite interesting. Definitely going to explore this in the new year (-8 GMT time for me).

A stand-alone port in the future would be great for those who already have most of the components installed.

I always worry that installers will reset/alter existing settings/registry.
Or even to different versions.
For eac3to, I have in separate location with registered Arcsoft decoders so I tend to avoid bundled software as I don't want to copy and register more than once.
Also for BDSup2Sub, there is also BDSup2Sub++ that I tend to use quite a bit but is not a Java-based application (QT-based).
I'll give it a go after I setup my system to be ready for changes and some heavy testing.
__________________
Win10 (x64) build 19041
NVIDIA GeForce GTX 1060 3GB (GP106) 3071MB/GDDR5 | (r435_95-4)
NTSC | DVD: R1 | BD: A
AMD Ryzen 5 2600 @3.4GHz (6c/12th, I'm on AVX2 now!)
Sparktank is offline   Reply With Quote
Old 1st January 2014, 21:21   #15  |  Link
pistacho
Registered User
 
Join Date: Feb 2010
Location: Spain
Posts: 549
Quote:
Originally Posted by Sparktank View Post
For eac3to, I have in separate location with registered Arcsoft decoders so I tend to avoid bundled software as I don't want to copy and register more than once.
Don't worry, the program can use Arcsoft DTS decoder (if already installed) but does not touch it or change its configuration.

Quote:
Originally Posted by Sparktank View Post
I'll give it a go after I setup my system to be ready for changes and some heavy testing.
I will like to hear your feedback.


SIDE NOTE: this thread is for MVCsource plugin specific questions, for BDtoAVCHD general questions better here:
http://forum.doom9.org/showthread.php?t=154957

Last edited by pistacho; 1st January 2014 at 21:31.
pistacho is offline   Reply With Quote
Old 1st January 2014, 21:22   #16  |  Link
pistacho
Registered User
 
Join Date: Feb 2010
Location: Spain
Posts: 549
Updated first post with BENCHMARK
pistacho is offline   Reply With Quote
Old 5th January 2014, 13:48   #17  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by pistacho
Anyway "no know bugs" is referring to MVCSource.dll not whole BDtoAVCHD
I can't ignore the bugs of the whole application since you force users to install it.

Quote:
Originally Posted by pistacho View Post
"C:\TEMP" and "C:\AVCHD" are default ones for on a fresh install. You can change this in menu -> Options -> Settings. Also output folder can be edited per job.
It's still hardcoded in the executable and the program tries to create these directories at the first launch.
Hardcoding a path this way is one of the most moronic things a developer can do and clearly reveals the skill level.
Groucho2004 is offline   Reply With Quote
Old 5th January 2014, 16:34   #18  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by Groucho2004 View Post
Hardcoding a path this way is one of the most moronic things a developer can do and clearly reveals the skill level.
Treading on rule 4 territory here. Please remain civil when stating your opinion. Thank you.
Guest is offline   Reply With Quote
Old 7th January 2014, 19:17   #19  |  Link
SamKook
Registered User
 
Join Date: Mar 2011
Posts: 216
As someone who once had no C drive for a while, I can tell you it's certainly not a good idea to use it as default.
__________________
AMD Ryzen 9 5950X and EVGA RTX 3080 with G.skill 64Gb 3600 (2 16x2 kit) on Asrock X570 Taichi with Samsung 980 Pro 500Gb NVMe SSD running Win10 x64 on LG 34GN850-B 34.0" 3440 x 1440 160 Hz
SamKook is offline   Reply With Quote
Old 8th January 2014, 00:37   #20  |  Link
pistacho
Registered User
 
Join Date: Feb 2010
Location: Spain
Posts: 549
If this is the only trouble that you have found, I am more than satisfied...

Coming soon also 2D video supported => VC1, AVC, MPEG2 decoder...
pistacho is offline   Reply With Quote
Reply

Tags
mvc decoder, mvcsource, sbs, tab

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 01:23.


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