View Full Version : DGAVCDecDI build 2001
neuron2
18th August 2010, 00:38
Here's the one you've all been waiting for...a DGDecNV work-alike that uses DiAVC instead of the Nvidia GPU. DiAVC is a very fast multi-threaded AVC decoder.
This is a limited early release for Doom9 people so it is not exposed at my website yet. Your feedback will be appreciated.
http://neuron2.net/dgavcdecdi/dgavcdecdi2001.zip
Please read the Readme.txt carefully to get going. Be aware that this is the first release so don't expect perfection, although it works pretty solidly for me so far.
Thanks to schweinsz for his support and willingness to allow the adaptation of DiAVC for this purpose. (IMHO, that stands in pleasant contrast to another well-known AVC decoder supplier, who is apparently still thinking after more than a year about whether to expose their API for third-party applications.) DiAVC is very reasonably priced at $9.99. Let's support DiAVC so schweinsz can continue to improve it. Maybe we can convince him to make a VC1 decoder too. :)
Underground78
18th August 2010, 08:24
Hello,
Thank you for your work ! :)
Just to clarify something, have you change your mind about this : "I am working on a freeware solution that uses DiAVC." ? I am not totaly sure to correctly understand the Readme file.
audyovydeo
18th August 2010, 10:19
Thank you for working on this.
As a long-time user of your tools, I've been on the lookout for this.
I have not purchased NVtools only because I'm stuck with a non-CUDA Nvidia card, so I still run DGAVCindex 1.0.9, which performs flawlessly as far as I'm concerned.
Before I click "Buy" on this tool and DiAVC, can you tell me if there is a qualitative (ie : not speed) difference between DGAVCindex and this new tool ?
My unique usage is demuxing AVCHD files from my camera.
thanks
audyovydeo
neuron2
18th August 2010, 12:22
Just to clarify something, have you change your mind about this : "I am working on a freeware solution that uses DiAVC." ? Yes, I have decided to license it because making it unlicensed would undermine other arrangements that have developed since that was originally written. In any case, it can't be completely free because DiAVC is licensed.
neuron2
18th August 2010, 12:28
Before I click "Buy" on this tool and DiAVC, can you tell me if there is a qualitative (ie : not speed) difference between DGAVCindex and this new tool ? It has the feature set of DGDecNV 2004. Just a few things that adds is the ability to load multiple files and the ability to do trims at the TS level.
Underground78
18th August 2010, 12:31
Yes, I have decided to license it because making it free would undermine other arrangements that have developed since that was originally written. In any case, it can't be completely free because DiAVC is licensed.
Ok, in this case, do you and schweinsz plan to sell a pack "DGAVCDecDI + DiAVC" with a little discount (it would cost a total of $24.9) ? :o
neuron2
18th August 2010, 12:34
No, there are no such plans. I believe $15.00 for all my licensed tools is reasonable. I believe $9.99 for a fast full-featured AVC DirectShow decoder that also exposes an API for third-party invocation is reasonable.
Underground78
18th August 2010, 13:33
No, there are no such plans. I believe $15.00 for all my licensed tools is reasonable. I believe $9.99 for a fast full-featured AVC DirectShow decoder that also exposes an API for third-party invocation is reasonable.
Well, you are probably right. I have just register a DiAVC licence and DG NV Tools licence. ;)
Gser
18th August 2010, 14:52
Perhaps I'll wait until it is more mature. But alas this is a welcome addition as I have no plans what-so-ever to buy a Nvidia gpu.
BetaBoy
18th August 2010, 15:11
(IMHO, that stands in pleasant contrast to another well-known AVC decoder supplier, who is apparently still thinking after more than a year about whether to expose their API for third-party applications.)
Donald... Nice dig... I'll bite.
The CoreAVC SDK has a full featured API within it and has had for well over 3 years now. What is not allowed (and what has been stated here several times on D9) is the licensing restrictions of use from MPEGLA... If the DiAVC developer wants to legally expose himself and his product to any potential lawsuits that's his prerogative and surely something we will not do with our consumer CoreAVC directshow filter.
Otherwise we openly license our technology, including CoreAVC with regard to the license and restrictions (good or bad) of which we have agreed too and have been very successful at doing.
If your product were 100% closed source and you needed a license for CoreAVC to embed within it, we would not even be having this discussion.
Disabled
18th August 2010, 17:04
I wonder what the legal difference is between the Directshow API and a custom API. Why should you be allowed to support the dshow API for other programs, but not be allowed to provide a custom API to be used by other programs?
I never read the terms, so I really don't know, just wondering...
neuron2
18th August 2010, 18:57
Exactly. If it is legal to invoke the decoder via DirectShow, it is legal to invoke it via a low-level API. I believe that CoreAVC doesn't want to jeopardise their other business licensing a decoder SDK, etc. That's fine, there's nothing wrong with that. What is wrong is blowing smoke to pretend things are otherwise, or to string people along hoping that one day there will be a usable low-level API, to delay their investigation of alternatives.
...licensing restrictions of use from MPEGLA...
Regarding this MPEGLA FUD (fear, uncertainty, and doubt), here is the relevant clause:
"For (a) (1) branded encoder and decoder products sold both to end users and on an OEM
basis for incorporation into personal computers but not part of an operating system (a
decoder, encoder, or product consisting of one decoder and one encoder = “unit”),
royalties (beginning January 1, 2005) per legal entity are 0 - 100,000 units per year = no
royalty"
Neither DiAVC nor DGAVCDecDI ship anywhere near 100,000 units per year. I'd love to have to pay the $0.20 royalty, but alas, an Avisynth frame server is a niche market.
If your product were 100% closed source and you needed a license for CoreAVC to embed within it, we would not even be having this discussion. What does this mean? My product is 100% closed source. What kind of license are you offering me to be able to invoke your decoder via a low-level API (there is no need to "embed" it)? I've asked for this several times but always get an answer of "we're still thinking about it", or "we haven't assessed the legal implications". As I pointed out when I first asked you, I planned to invoke your decoder that is independently purchased by end users from you. How could that do anything but increase your sales? Again, if I published the API or my source code it could impact your SDK sales. But we could have signed an NDA regarding that.
Today, DiAVC has an open low-level API. CoreAVC does not.
Nice dig... I'll bite. If the shoe fits, wear it.
neuron2
18th August 2010, 19:04
Perhaps I'll wait until it is more mature. You'll find that it is already quite mature.
JoeH
19th August 2010, 08:16
Nueron2, you said on the Benchmark thread: "FYI, if you change two letters in the first line of the DGI file, you can make an NV index work with DI source filter, and vice versa."
Could you explain this in more detail?
Here's a suggestion. If the files are that similar, it would be great to simply add an option to the AVI script options which determines whether DG decodes it with NV or with DiAVC. That way, for example, I could make one index file, and then just switch freely between NV and DiAVC depending on which works faster for what I'm trying to do. For example, first encode a DVD with DG-DiAVC and then switch to DG-NV to encode 1080p, just switching an option in the AVS script.
audyovydeo
19th August 2010, 11:45
It has the feature set of DGDecNV 2004. Just a few things that adds is the ability to load multiple files and the ability to do trims at the TS level.
I don't know DGDecNV, I can't use it.
I was actually thinking in terms of :
- image quality : will DGAVCDecDI + DiAVC yield higher quality than DGAVCDec + libavcodec.dll ?
(ok, I realise this question is really : "is DiAVC better than libavcodec ?", but it's in this thread, inevitably ...)
- scripting : I currently use DGAVCDec in a windows batch file, and it's perfect. Do this new tool have a cmdline interface ? I assume so, but just want to make sure before I click "Buy"
thanks
audyovydeo
Underground78
19th August 2010, 12:12
- image quality : will DGAVCDecDI + DiAVC yield higher quality than DGAVCDec + libavcodec.dll ?
(ok, I realise this question is really : "is DiAVC better than libavcodec ?", but it's in this thread, inevitably ...)
I may be wrong but I think all H264 decoders should have the same output. The only thing that can differ is the support of some streams that libavcodec does not support correctly.
schweinsz
19th August 2010, 12:19
I may be wrong but I think all H264 decoders should have the same output. The only thing that can differ is the support of some streams that libavcodec does not support correctly.
The DiAVC is remarkablely faster than the libavcodec. And it is faster than the CoreAVC and Divx H.264 decoder.
All H.264 decoders gives same output.
neuron2
19th August 2010, 13:18
All H.264 decoders gives same output. Yes, except as noted by Underground78: earlier versions of libavcodec do not decode PAFF properly.
Underground78
19th August 2010, 13:27
Hi neuron2,
You may be interested by this sample (http://www.mediafire.com/?g2xjd4rwa2n) which produces corrupted (first) frames when decoded by DGAVCDecDi and not when using DGDecNV : screenshot (http://h.imagehost.org/view/0041/test).
neuron2
19th August 2010, 13:29
Here's a suggestion. If the files are that similar, it would be great to simply add an option to the AVI script options which determines whether DG decodes it with NV or with DiAVC. That way, for example, I could make one index file, and then just switch freely between NV and DiAVC depending on which works faster for what I'm trying to do. For example, first encode a DVD with DG-DiAVC and then switch to DG-NV to encode 1080p, just switching an option in the AVS script. Instead I will probably just make the index files identical in build 2025 and later, and have different names for the source filter.
audyovydeo
19th August 2010, 13:34
OK, I'll put my money where my mouth is.
Neuron2, I've just purchased a license for your tools.
15$ (12€) is a more than fair price for tools I've been using for 3+ years.
Schweinsz : I'll purchase DiAVC this weekend from my home computer.
Thanks to you both for your commitment to quality software for We The People.
cheers
audyovydeo
MythCreator
19th August 2010, 14:18
Is DGAvcDecDi still need a Nvidia card? I can't use DGDecNV to create license.txt
audyovydeo
19th August 2010, 14:23
Is DGAvcDecDi still need a Nvidia card? I can't use DGDecNV to create license.txt
use DGAVCdecDI to get your MachineID
cheers
a/v
MythCreator
19th August 2010, 14:27
use DGAVCdecDI to get your MachineID
cheers
a/v
Thanks ~~~~
Underground78
19th August 2010, 14:29
OK,I get MachineID & I have already receive my User ID,and next?
DG Tools License Generator (http://neuron2.net/licensing.html)
audyovydeo
19th August 2010, 16:54
mmmmhh,
DGAVCdecDI :
"Could not create DiAVC Decoder !"
AppName: dgavcindexdi.exe AppVer: 0.0.0.2024 ModName: diavc.ax
ModVer: 0.0.0.0 Offset: 0000673c
I installed DG in \bin\dg and DiAVC in \program files\DiAVC
both are registered thru their respective progs.
I copied DiAVC.ax to \bin\dg but same error.
MPC-HC does see DiAVC and plays back videos correctly.
Any suggestions ?
cheers
a/v
schweinsz
19th August 2010, 17:04
mmmmhh,
DGAVCdecDI :
"Could not create DiAVC Decoder !"
AppName: dgavcindexdi.exe AppVer: 0.0.0.2024 ModName: diavc.ax
ModVer: 0.0.0.0 Offset: 0000673c
I installed DG in \bin\dg and DiAVC in \program files\DiAVC
both are registered thru their respective progs.
I copied DiAVC.ax to \bin\dg but same error.
MPC-HC does see DiAVC and plays back videos correctly.
Any suggestions ?
cheers
a/v
You should use the new version of the DiAVC in the package named dgavcdecdi2001.zip. The downloadable version of DiAVC in di-avc.com is an old version. Replace the diavc.ax using the version in dgavcdecdi2001.zip and re-try it.
olex99
19th August 2010, 22:36
How does the licence for DiAVC work? Do you have to pay for 1 licence per computer or is it similar to the DG Tools licence where paying once gives you a licence for a few computers? I have a few computers id like to try this on but wanted to know if id have to purchase 1 licence or multiple.
schweinsz
20th August 2010, 06:06
How does the licence for DiAVC work? Do you have to pay for 1 licence per computer or is it similar to the DG Tools licence where paying once gives you a licence for a few computers? I have a few computers id like to try this on but wanted to know if id have to purchase 1 licence or multiple.
After you buy one licence for one computer, you can send me all the machine code of your computers at sales@di-avc.com using the e-mail you pay. I will reply you once I get the e-mail.
audyovydeo
20th August 2010, 08:46
You should use the new version of the DiAVC in the package named dgavcdecdi2001.zip. The downloadable version of DiAVC in di-avc.com is an old version. Replace the diavc.ax using the version in dgavcdecdi2001.zip and re-try it.
Indeed it works. Thanks.
Neuron2 : I have trouble running DGAVCindexDI from the cmdline. When invoked, it starts the GUI & does nothing.
I simply recycled my script for DGAVCdec with the options I found in the DGtoolsNV documentation :
\bin\DG\DGAVCIndexDI -i !nome! -od !cane!.dgi -a -h
(variable names are my own)
could you possibly check at your end ?
I'm in XP/SP3 for info
thanks
a/v
paulvdb
20th August 2010, 10:16
When I try to open a file in DGAVCIndexDI I get the following: DGAVCIndexDI.exe has stopped working. When I click on problem details I get:
Problem signature:
Problem Event Name: APPCRASH
Application Name: DGAVCIndexDI.exe
Application Version: 0.0.0.2024
Application Timestamp: 4c6a7d3d
Fault Module Name: diavc.ax
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4c66d860
Exception Code: c0000005
Exception Offset: 000957ef
OS Version: 6.1.7600.2.0.0.256.4
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
This is in Windows 7 x64. I also tried it in Windows XP x64 on the same computer and on my other computer. It also crashed. Any ideas on what caused it and how to fix it? It also crashed when trying to play h264 ts in MPC with DiAVC as directshow decoder.
neuron2
20th August 2010, 12:24
Neuron2 : I have trouble running DGAVCindexDI from the cmdline. When invoked, it starts the GUI & does nothing. Sorry, haven't checked the CLI yet. Will fix it. Thanks for the report.
neuron2
20th August 2010, 12:26
This is in Windows 7 x64. I also tried it in Windows XP x64 on the same computer and on my other computer. I suppose DiAVC does not run on x64 yet. schweinsz will have to confirm this. If so, I will add a warning in the distribution.
audyovydeo
20th August 2010, 12:30
No sweat, no hurry. I'm back to work, and my holiday .MTS'es will stay shut into my camera until ... the next holiday, as yet unplanned.
I did read the collateral clause yesterday anyhow :
This is a limited early release for Doom9 people so it is not exposed at my website yet. Your feedback will be appreciated.
;-)
ciao
audyovydeo
Underground78
20th August 2010, 12:34
I suppose DiAVC does not run on x64 yet. schweinsz will have to confirm this. If so, I will add a warning in the distribution.
DGAVCdecDI 64 bits does not exist for now if I am not mistaken so there is no reason to have a problem with DiAVC not supporting 64 bits right ? I have used DGAVCdecDI (32 bits) under Windows Seven 64 bits without any crash so far ...
PS : Have you seen this : http://forum.doom9.org/showthread.php?p=1427471#post1427471 ?
neuron2
20th August 2010, 12:37
It also crashed when trying to play h264 ts in MPC with DiAVC as directshow decoder. Ah, missed that bit. So it is a DiAVC issue. Can you please post this problem in the DiAVC thread?
@Underground78
Yes, I saw it. Please be patient for fixes/analyses.
schweinsz
20th August 2010, 16:36
Ah, missed that bit. So it is a DiAVC issue. Can you please post this problem in the DiAVC thread?
@Underground78
Yes, I saw it. Please be patient for fixes/analyses.
I will finish the x64 version of the DiAVC. After I finish it, I will try to fix the compatibility problem on 64bit windows.
neuron2
20th August 2010, 20:04
I have just got off the phone with MPEGLA and now can report:
1. The legal entity "neuron2", provider of DGAVCDecDI including a bundled AVC decoder binary, will shortly be MPEGLA licensed and will appear on the MPEGLA "good standing" list.
2. Due to low volumes, no royalties are payable and "neuron2" can report yearly to MPEGLA.
3. This "good standing" applies to the decoder sourced from neuron2. If you independently obtain a decoder from DiAVC, you and DiAVC need to address any possible licensing concerns. "neuron2" and DiAVC are not the same legal entity.
And now a few observations:
1. Due to low volume, DiAVC can obtain the same status as I am obtaining very easily and without cost. I would assume that schweinsz would do that and I will advise him about it.
2. Interestingly, FFMPEG and related projects stand in blatant violation of the MPEGLA licensing. There is no exception for free or open source products and they ship more than the threshold number of units to be liable for payment of royalties. FFMPEG does not appear on the MPEGLA "good standing" list.
I do not want to have a long discussion about this here, as this thread is for bug reporting, feature ideas, etc. If you want open a new thread dedicated to this discussion, feel free to do so. I include this here only to reassure potential end users of DGAVCDecDI that they are purchasing a fully legal and properly licensed product. Further posts about this here will be deleted.
EDIT: As seen in the new dedicated thread, the FFMPEG project is *not* in violation, to the extent that they do not supply binaries, because source code is not a "product". Please follow up in the new thread dedicated to this subject.
JoeH
21st August 2010, 09:17
Instead I will probably just make the index files identical in build 2025 and later, and have different names for the source filter.
Sound like an equally good solution. Thanks!
SeeMoreDigital
21st August 2010, 10:51
Congratulations on your success with MPEGLA the Neuron2 ;)
neuron2
21st August 2010, 12:37
I simply recycled my script for DGAVCdec with the options I found in the DGtoolsNV documentation :
\bin\DG\DGAVCIndexDI -i !nome! -od !cane!.dgi -a -h
(variable names are my own)
could you possibly check at your end ?
Please give the full script because I cannot make any sense out of !nome! and !cane!.dgi
I did a few tests with basic command lines and it worked fine.
audyovydeo
21st August 2010, 15:04
Please give the full script because I cannot make any sense out of !nome! and !cane!.dgi
I did a few tests with basic command lines and it worked fine.
Neuron2,
I merely adapted my working script for DGAVCdec by changing the cmdline parameters.
@echo off
SETLOCAL enabledelayedexpansion
for %%z in (*.mts) do (
set nome=%%z
set name=!nome!
set cane=%%~nz
set dog=!cane!
:: c:\bin\avisynth\plugins\DGAVC\DGAVCIndex -i !nome! -f 0 -y 1 -od !cane!.dga -a -h
c:\bin\DG\DGAVCIndexDI -i !nome! -od !cane!.dgi -a -h
)
ENDLOCAL
Even without batch file, invoking DGAVDindexDI from the dos prompt with its options will merely lunch the gui & stop.
cheers
a/v
neuron2
21st August 2010, 15:44
OK, looks like -od is the culprit (-o is OK). Investigating...
neuron2
21st August 2010, 16:05
Please re-download and grab the updated DGAVCIndexDI. Let me know if that works OK.
audyovydeo
23rd August 2010, 07:28
Please re-download and grab the updated DGAVCIndexDI. Let me know if that works OK.
works fine, thanks !
audyovydeo
23rd August 2010, 14:00
Neuron,
another question : any plans to support mp4 files ?
I remember the debate was on last year for DGAVCdec to support mp4 and/or mkv.
cheers
a/v
neuron2
23rd August 2010, 14:03
another question : any plans to support mp4 files ? It's on my to-do list. Its priority depends on the outcome of some discussions I am involved in.
neuron2
23rd August 2010, 19:55
I've linked the tool at my web site now, as I've received only one small bug report, which has been fixed. Thank you for your test results.
http://neuron2.net/dgavcdecdi/dgavcdecdi.html
Long live DiAVC!
Daemon404
23rd August 2010, 20:05
Hi neuron2,
You may be interested by this sample (http://www.mediafire.com/?g2xjd4rwa2n) which produces corrupted (first) frames when decoded by DGAVCDecDi and not when using DGDecNV : screenshot (http://h.imagehost.org/view/0041/test).
I'd just like to note that it still does not work with this stream.
neuron2
24th August 2010, 12:25
I have added the documentation to the release package.
MOS-Marauder
25th August 2010, 10:43
Hi Donald...a few small questions.
If i already generated a license file for the DGToolsNV can i simply copy it to the DGAVCDecDI dir ? (INdexer and decoder)
Is the Decoding it it faster then with the NV Tools? (Sometimes the NV Tools crash on 1080i Files .. i guess due Out of Memory on the Card (8xx MB)- Crashing the NV display driver then)
Chris
neuron2
25th August 2010, 12:15
Yes, you can re-use the license on the same machine.
NV is usually marginally faster for transcoding HD. But they are on a par. A lot will depend on your CPU.
I'd appreciate hearing more about the crash. Is there an explicit pop-op error message or is it a hard crash?
MOS-Marauder
25th August 2010, 12:34
Yes, you can re-use the license on the same machine.
NV is usually marginally faster for transcoding HD. But they are on a par. A lot will depend on your CPU.
I'd appreciate hearing more about the crash. Is there an explicit pop-op error message or is it a hard crash?
Well at first the NVIdia Driver crashes and is being restarted. Then i get the Cuvid error decoding frame...(popup).
Then i have to kill the x264 Task because it continues to popup the errors. I never had this on 720p Files so i guess its related to the GFX Ram. (Zotac nVidia GeForce GTX 260 Synergy Grafikkarte (PCI-e, 896MB GDDR3 Speicher, Dual DVI, HDTV-Out, 1 GPU).
Functions used: Decode, deinterlace (mode1) and cropping directly in the DGI. (Source provided crop...message)
Chris
neuron2
25th August 2010, 12:39
You have more than enough memory, so I doubt that is the problem unless you open multiple instances.
More likely is the Nvidia driver. The latest version has shown issues like this. You can try 196.21 and see if it makes a difference.
Followup in the NV thread please.
MOS-Marauder
25th August 2010, 13:40
You have more than enough memory, so I doubt that is the problem unless you open multiple instances.
More likely is the Nvidia driver. The latest version has shown issues like this. You can try 196.21 and see if it makes a difference.
Followup in the NV thread please.
Ok Trying... Heading to NV Thread...
Chris
Alex-Kid
25th August 2010, 19:42
Hi neuron2!
At first, I have to say that DGAVCDecDi works very well with some captures I have made from local ISDB-Tb (H)DTV channels, so I cannot do anything but to say congratulations. The same to schweinsz for being part of this.
I want to report a possible bug with streams that have errors (maybe due to lost packets or what): when trying to trim from 0 to k, and then from k+1 to n, (1080i source that I want to apply inverse telecine using Avisynth) it seems that fields (maybe frames) are shifted during playback, but it "plays" fine when stopping it and going frame by frame (with VirtualDub) everytime I go through frames k to k+1. I thought that MeGUI will handle it the right way, but it does wrong, and I finally got a file with video partially combed from frame k+1 to n. I'll put a sample when I get home and find a tool to cut it :)
I hope it can be understood (my native language is spanish). Saludos
By ALEX-KID
neuron2
25th August 2010, 20:14
I'll need the stream and instructions for recreating the issue.
Emulgator
25th August 2010, 20:30
Many thanks for incorporating a frame-accurate software AVC decoder !
Just bought a DiAVC license.
The following applies for playback applications only !
DGAVCDecDI needs the diavc.ax additionally in its folder of course.
Just in case if somebody happens to have the diavc.ax registered from a folder that is not appropriate anymore
(as i did) and wants to move diavc.ax or switch diavc.ax versions:
The path to diavc.ax is registered in:
HKEY_CLASSES_ROOT\CLSID\{0BDBF960-0DE2-488D-8DFE-322908990B93}\InprocServer32
HKEY_CLASSES_ROOT\CLSID\{5DFA20A4-C343-45DF-A46E-EC1711E4EE32}\InprocServer32
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0BDBF960-0DE2-488D-8DFE-322908990B93}\InprocServer32
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5DFA20A4-C343-45DF-A46E-EC1711E4EE32}\InprocServer32
So if you need to move diavc.ax to a new folder for playback applications (MPC etc.)
you need to change locations in these regkeys using regedit.
I created such a folder in C:\Programs\DiAVC
It worked nicely for me and so I can control access easily by renaming the .ax.
(BTW, for playback purposes libavcodec performed with a bit less CPU load here
(1920x1090x24p BBB DivX7 public sample encode) using -5..-10..-15% less on a T7600G CPU
compared to DiAVC, but for frameserving DiAVC is of course the tool of choice, and can digest more flavours of AVC on my system)
Alex-Kid
26th August 2010, 03:51
Now I could cut it! Here's the file http://www.mediafire.com/?0th3ba16538923c (67.6 MB)
I've used the following script in Avisynth to apply inverse telecine:
dgsource("TVN HD1_07_25_2010_22_04_31_edit.dgi")
assumetff()
trim(0,631).doubleweave().pulldown(1,4)
\ +trim(632,664).doubleweave().pulldown(0,3)
\ +trim(665,713).doubleweave().pulldown(0,2)
\ +trim(714,749).doubleweave().pulldown(1,3)
\ +trim(750,1255).doubleweave().pulldown(1,3)
When going frame by frame in VirtualDub, inverse telecine is well done. When playing it (in VirtualDub too), the video looks combed in some intervals. When it's encoded to MKV with MeGUI (using x264), the video looks combed too, so frame-accuracy is lost.
That's it. Saludos
By ALEX-KID
neuron2
26th August 2010, 04:58
Your stream has multiple corruptions. If I was in a bad mood I would ask why you are wasting my time with this.
Alex-Kid
26th August 2010, 20:02
Maybe I wasn't clear...
I know the stream has errors, as I said in post 56. And I know that corruptions couldn't be repaired if I apply inverse telecine the way I am doing it. I'll try to show you my point with a diagram:
I load the script into VirtualDub. Then:
1. I advance the video frame by frame:
error trim end| |trim start
| | |
frame 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 ...
status ok ok ok ok corr corr corr corr corr corr ok ok ok ok ok
2. If I hit play:
error trim end| |trim start
| | |
frame 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 ...
status ok ok ok ok corr corr corr corr corr corr comb comb comb comb comb
This occurs everytime I pass from a trim to another one: good frames show different status when going frame by frame and during playback. Which one is correct? Playback frames, so it wouldn't allow me to remove pulldown.
I hope it's clearer now. Saludos.
By ALEX-KID
neuron2
26th August 2010, 21:51
As far as I know VirtualDub does not distinguish between play and stepping, i.e., my filter will see the same linear sequences of GetFrame() requests. The only difference will be the rate that the requests are issued. So I'm skeptical about this. Nevertheless, I will try to duplicate it.
BTW, why can't you use an adaptive IVTC?
Alex-Kid
27th August 2010, 05:50
BTW, why can't you use an adaptive IVTC? I just wanted to apply a "clean" IVTC. But you're right, TFM and TDecimate saved the day :)
Maybe it's not important anymore, but could you duplicate the issue? Could it be a possible bug?
Thanks for your advice. Saludos
By ALEX-KID
neuron2
27th August 2010, 12:48
Random access will not be reliable when the preceding GOP is not decodable due to corruption.
sumawo13
27th August 2010, 16:21
Will this eventually support MPEG2 and VC1? I already have a license for DGDecNV and I'm not sure I want to spend $25 on something that only supports AVC.
Underground78
27th August 2010, 16:23
Will this eventually support MPEG2 and VC1? I already have a license for DGDecNV and I'm not sure I want to spend $25 on something that only supports AVC.
Then you will just have to buy a license for DiAVC and it's only $9.90. :)
neuron2
27th August 2010, 16:49
Will this eventually support MPEG2 and VC1? I already have a license for DGDecNV and I'm not sure I want to spend $25 on something that only supports AVC. I have no plans for a SW version that supports all video types.
Anyway, if you have an Nvidia card and a DG license, there really is no point for you to get the DI version. I made it to try to bring ATI people in from the cold, at least for AVC video.
Emulgator
28th August 2010, 14:35
Here is a 720x576x25i 4:3 raw AVC test stream coming from PAL broadcast source, encoded by x264 r1703 through MeGUI 0.3.5.8,
to test compliancy for BD-R authoring using Sony DVD-A, using the following commandline:
--level 4.1 --bframes 3 --ref 4 --slices 4 --nal-hrd vbr --aud --b-pyramid strict --keyint 25 --min-keyint 2 --vbv-bufsize 24000 --vbv-maxrate 27500 --sar 12:11 --weightp 0 --colorprim "bt470bg" --transfer "bt470bg" --colormatrix "bt470bg"
http://dvd-manufactur.de/files/Werb.avc
Via Virtual Dub 1.9.9 DGAVCDecode.dll Version 1.0.9.0 can deliver frames that represent the source.
http://dvd-manufactur.de/files/Werb 0000.jpg
Via VirtualDub 1.9.9 DGAVCDecDI 2001 using DGAVCDecodeDI.dll Version 2024 and diavc.ax Version 1.1.1 delivers offset lines from the same source.
I guess the 12:11 SAR might blow it, because it looks like lines are displayed shorter than they should appear
and at the end only empty green lines are left to fill the frame.
With a 1920x1080x24p SAR 1:1 source (BBB) the very same chain had already worked nicely.
http://dvd-manufactur.de/files/WerbDI 0000.jpg
P.S. Playback of this source through MPC using Cyberlink Splitter + DiAVC 32bit 1.1.1 or libavcodec from ffdshow 3406 delivers a picture
but has some MBs still combed, maybe these can not do MBAFF correctly yet.
Preview in DVD-A looks ok, but shows "green" field markers only anyway.
BTW, DVD-A started muxing without transcoding, but aborted with the well known "This program has a bug. - m_ptsOfNextGOP is empty."
P.P.S. The index files:
http://dvd-manufactur.de/files/Werb.dga
http://dvd-manufactur.de/files/Werb.dgi
neuron2
28th August 2010, 15:19
OK, I wasn't honoring the Avisynth frame pitch when copying the decoded frame. :stupid:
I have slipstreamed the 2001 build with the fix. You need the new DGAVCDecodeDI.dll.
After a reasonable stability level is achieved, I'll start bumping build numbers properly.
EDIT: Something is still not quite right, because is goes bad again at frame 1108 when playing straight through in VirtualDub. Investigating...
Emulgator
28th August 2010, 19:13
Many thanks for the fast response !
BTW, the preview in DGAVCIndexDI is ok.
I will continue testing.
Results with the new 2024.dll from 20:21 MESZ
Here frames from 0 to 1118 are displayed correctly,
from 1119 on i get skewed lines, first without green frames,
1133 being the first frame with green bottom lines through 1139.
Still many access violations in VirtualDub when hitting F2 to reload script,
but a step ahead...
neuron2
29th August 2010, 02:18
It's great clip to shake things down with. Thanks for it. Working on fixes...
neuron2
30th August 2010, 16:15
I slipstreamed the fix for the pitch going wonky at the end. Re-download and get DGAVCDecodeDI.dll.
I'll look at the VirtualDub F2 issue now.
Emulgator
30th August 2010, 16:56
Many thanks for your work, Donald !
neuron2
30th August 2010, 17:03
No need to thank me, after all, you paid for it!
But in any case, thanks for your thanks. :thanks:
Emulgator
30th August 2010, 17:12
And the 1140 frame clip passes here beautifully.
While playing in VD using Enter and/or stepping backwards sometimes VirtualDub 1.9.9 crashes with:
"An out-of-bounds memory access (access violation) occurred in module 'diavc'...
...reading address 0802B288." (varying addresses)
VD 1.9.8 behaves the same. 5 of 5 positioning crashes now point to diavc.
F2 reload: these crashes seem to point rather to DGAVCDecodeDI.
Dal
1st September 2010, 17:55
I thank you for this!
And yes, this IS a day I've been waiting for :)
I actually licensed DGIndexNV and bought myself a cheap NVIDIA card. Just to realize I didn't have two PCI-Express slots in my motherboard :)
So I had to put it into an older PC, but it was so slow I ended up doing things "the old way" on my main computer.
$25 dollars more for this is pocket change, so I will donate another $15 for DGAVCDecDI alone. I know I don't need to, but fine software (and it's developers) like this are worth every penny.
Sorry for the happy-ranting :)
Update: Got a real cold shower now, when I realized this program only supports AVC, not MPEG2, which is my main usage. Of course, the name of the program should have tipped me off, but I just assumed it had the same functionality as DGIndexNV has. Also, when I read this forum thread again, this is actually mention before.
Oh well, here's hoping it will support MPEG2 in future versions.
RedDwarf1
2nd September 2010, 02:25
I thank you for this!
And yes, this IS a day I've been waiting for :)
I actually licensed DGIndexNV and bought myself a cheap NVIDIA card. Just to realize I didn't have two PCI-Express slots in my motherboard :)
So I had to put it into an older PC, but it was so slow I ended up doing things "the old way" on my main computer.
$25 dollars more for this is pocket change, so I will donate another $15 for DGAVCDecDI alone. I know I don't need to, but fine software (and it's developers) like this are worth every penny.
Sorry for the happy-ranting :)
Update: Got a real cold shower now, when I realized this program only supports AVC, not MPEG2, which is my main usage. Of course, the name of the program should have tipped me off, but I just assumed it had the same functionality as DGIndexNV has. Also, when I read this forum thread again, this is actually mention before.
Oh well, here's hoping it will support MPEG2 in future versions.
Why don't you just use dgmpgdec if you are not wanting to use GPU assistance? It's been available for a very long time and you can have the satisfaction that your donation partly paid for that as well, even though it's free.
Dal
3rd September 2010, 08:42
Why don't you just use dgmpgdec if you are not wanting to use GPU assistance? It's been available for a very long time and you can have the satisfaction that your donation partly paid for that as well, even though it's free.
That is what I'm using today, but it has some limitations the other tools don't have.
For example frame accurate cutting and demuxing several audio tracks in one go.
LigH
12th September 2010, 10:12
Reposted for convenience:
As described in the DGDecNV thread (http://forum.doom9.org/showthread.php?p=1433633#post1433633), I have some strange kinds of application crashes with different choices of crash report dialogs - sometimes the simple one (Application failure - unknown software exception 0xc000001d at address...), sometimes the extended one with "Message to Microsoft".
Because I have only a 6800 GS at home, I tried a batch encode with ivfenc on an AviSynth script which uses DGAVCDecDI instead of DGDecNV. Around the beginning of each pass, during the initialization phase (before the frame counter starts), dialogs pop up alarming that an application has crashed ... but ivfenc keeps encoding nicely, without issues, and the result looks quite correct. There are just two crash dialogs left when the encode finishes.
ED_0360_700_ivf.batE:\Programme\ivfenc\ivfenc.exe --codec=vp8 --passes=2 --pass=1 --fpf=ED_0360.stats --best --threads=1 --token-parts=1 --end-usage=0 --target-bitrate=700 ED_0360_DI.avs ED_0360_700.ivf
E:\Programme\ivfenc\ivfenc.exe --codec=vp8 --passes=2 --pass=2 --fpf=ED_0360.stats --best --threads=1 --token-parts=1 --end-usage=0 --target-bitrate=700 ED_0360_DI.avs ED_0360_700.ivf
E:\Programme\MKVtoolnix\mkvmerge.exe -o ED_0360_700.webm -w ED_0360_700.ivf ED.ogg
ED_0360_DI.avsLoadPlugin("E:\Programme\DGAVCDecDI\DGAVCDecodeDI.dll")
DGSource("ED_1080_CRF06_DI.dgi")
Spline36Resize(640, 360)
I wonder if DGAVCDecDI has similar "racing conditions" like the one which was recently fixed in DGDecNV Build 2026.
Ulf
15th September 2010, 20:31
neuron2 and schweinsz:
Will you sync the development of DGAVCDecDI and DiAVC so that the latest version of DGAVCDecDI works with the latest official version of DiAVC? This is not the case right now. DGAVCDecDI only works with the a version of DiAVC that neuron2 emailed me.
neuron2:
I have a short 1080i AVCHD clip that I did some tests with. DGAVCIndexDI reports the clip correctly as having TFF field order. In an AviSynth script, the same stream will be flagged as BFF so I have to add ComplementParity() to get the correct field order. An issue with DGAVCDecodeDI.dll?
neuron2 and schweinsz:
VirtualDub (build 32817) repetedly crashes if I play a script and then jump back a few frames. VirtualDub reports:
An out-of-bounds memory access (access violation) occurred in module 'diavc'...
...reading address 08AF01D0.
I can email VirtualDubs crash report if that would be of any help.
neuron2
15th September 2010, 20:53
The source filter needs to return the correct parity to Avisynth.
I'm aware of the crashes on seeking and am working on it. Remember, this is still early alpha SW.
Ulf
16th September 2010, 14:43
Remember, this is still early alpha SW.
It's still very useful for me. Well worth the cost!
Rob100
21st September 2010, 23:48
My GTX260 (VP2) is holding back my encodes using DGDecNV as it will only decode 1080p AVC at about 50fps, so I was going to give this a try.
When encoding a Blu-ray to DVD my CPU is only running at 16-20%, which is great when I'm doing other things, but not when I'm in a hurry!
However, when I run DiAVC Registration.exe I get a blank machine ID :rolleyes: So I'm stuck. Have tried running as admin, I have UAC disabled - not sure what else to try.
Any idea's?
rohn
27th September 2010, 10:47
Is mkv header compression gonna be supported?
onlym3
29th September 2010, 08:49
When i open an avs (created by dgavcdecdi) in megui and then open another avs everything works fine. However when i open the same avs, then use the bitrate calculator, close that and then open another avs, megui crashes.
This is what win 7 tells me:
Problemereignisname: APPCRASH
Anwendungsname: MeGUI.exe
Anwendungsversion: 0.3.5.10
Anwendungszeitstempel: 4c8a8033
Fehlermodulname: DGAVCDecodeDI.dll
Fehlermodulversion: 0.0.0.2024
Fehlermodulzeitstempel: 4c7935ed
Ausnahmecode: c0000005
Ausnahmeoffset: 00012942
Betriebsystemversion: 6.1.7600.2.0.0.256.1
Gebietsschema-ID: 1031
Zusatzinformation 1: 0a9e
Zusatzinformation 2: 0a9e372d3b4ad19135b953a78882e789
Zusatzinformation 3: 0a9e
Zusatzinformation 4: 0a9e372d3b4ad19135b953a78882e789
The same thing happens on my other pc with win xp. The reason i am posting it here is because the error report mentions DGAVCDecodeDI.dll as the error module.
LigH
30th September 2010, 07:02
Donald - did you already check if DGAVCDecDI needs the same fix (loading at least one frame) as DGDecNV?
Groucho2004
30th September 2010, 08:06
@Ligh
You might want to post this at his support forum (http://neuron2.net/board/index.php), the response time there is much better. :o
LigH
30th September 2010, 08:30
Doing so then...
dtv_user
9th March 2011, 22:31
@neuron2
Hi Don;
I just bought a license for your lastest version of DGAVCDecDI and quite pleased with it.
Your dedication to doom9 and hard work is very much appreciated.
(Hope this is the right place to post this.)
Bob
kypec
10th March 2011, 07:50
(Hope this is the right place to post this.)
Err, not really...neuron2 is focused on his own forum (http://neuron2.net/board/index.php) since few months already.:cool:
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.