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 > Video Encoding > MPEG-4 AVC / H.264

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 14th September 2008, 22:40   #161  |  Link
Zwitterion
Registered User
 
Join Date: May 2008
Posts: 80
Quote:
Originally Posted by Ranguvar View Post
There are huge differences between the correct DGAVCIndex one and the bad DGAVCIndexNV one.


DGAVCIndex (correct): http://i37.tinypic.com/4qk6f8.png
DGAVCIndexNV (modified to show artifact areas): http://i38.tinypic.com/2s7gkkj.png
Probably the video can't be decoded by the GPU. I doubt that this is DGAVCIndexNV's fault. Try running it in MPC-HC and check the MPC Video Decoder whether DXVA is enabled or not.

It would be great if DGAVCIndexNV contained a check, so that people don't accidentally decode unsupported streams.
Zwitterion is offline  
Old 15th September 2008, 00:46   #162  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,949
Yeah people create all kind of complexitys that are just to much for sane Hardware Decoders these block failures look exactly like the ones i experience with some X264 content and CoreAVC though might be not of the same nature but indeed ffdshow (libavcodec) doesn't show these kind of errors as it has a very primative error correction and can hide stream errors to some degress it seems (same for Mainconcepts Decoder) and these errors can also directly happen in the encoder not only because the stream has been damaged @ the transport. So i guess it would hide such occasional block errors very well from the viewer, CoreAVC can't do this but i guess Nvidias Hardware Decoder should also be able todo it like libavcodec does, as they expected it's being used for DVB watching
__________________
all my compares are riddles so please try to decipher them yourselves :)

It is about Time

Join the Revolution NOW before it is to Late !

http://forum.doom9.org/showthread.php?t=168004

Last edited by CruNcher; 15th September 2008 at 01:04.
CruNcher is offline  
Old 15th September 2008, 01:54   #163  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
I see the artifacts now. Thank you.

I have a directory where I am collecting bad streams for CUDA. This has joined the collection. I'll be sending them to Nvidia for analysis. They've already fixed one bug exposed by some of my streams.
Guest is offline  
Old 15th September 2008, 05:07   #164  |  Link
Ranguvar
Registered User
 
Ranguvar's Avatar
 
Join Date: Feb 2007
Location: ::1
Posts: 1,236
Thanks very much
Ranguvar is offline  
Old 16th September 2008, 00:40   #165  |  Link
AtomX
Registered User
 
Join Date: Feb 2008
Posts: 4
So I realize that I'm being impatient, but I can't help but try and feed my curiosity. Has there been any progress on the decoder DLL? I'm really excited to start playing around with it.
AtomX is offline  
Old 16th September 2008, 00:48   #166  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Posted one day ago:

http://forum.doom9.org/showthread.ph...58#post1183558

What do you want, hourly updates? I do have a life, you know.

It's basically working but there are some hangs on seeking that I am working on. If I don't sort it out in a few days I'll put out an alpha that at least does straight linear encode so that you can assess the effectiveness of the entire process when transcoding.

Last edited by Guest; 16th September 2008 at 00:58.
Guest is offline  
Old 16th September 2008, 00:57   #167  |  Link
kemuri-_9
Compiling Encoder
 
kemuri-_9's Avatar
 
Join Date: Jan 2007
Posts: 1,348
Quote:
Originally Posted by neuron2 View Post
It's basically working but there are some hangs on seeking that I am working on. If I don't sort it out in a few days I'll put out an alpha that at least does straight linear encode so that you can assess the effectiveness of the entire process when transcoding.
sweet... looking forward to that at least.
__________________
custom x264 builds & patches | F@H | My Specs
kemuri-_9 is offline  
Old 16th September 2008, 01:34   #168  |  Link
AtomX
Registered User
 
Join Date: Feb 2008
Posts: 4
Quote:
Originally Posted by neuron2 View Post
Posted one day ago:

http://forum.doom9.org/showthread.ph...58#post1183558

What do you want, hourly updates? I do have a life, you know.

It's basically working but there are some hangs on seeking that I am working on. If I don't sort it out in a few days I'll put out an alpha that at least does straight linear encode so that you can assess the effectiveness of the entire process when transcoding.
Heh sorry to come off as a pest. As I said, I knew I was being impatient. Just excited to hear about progress, not trying to rush you at all.
AtomX is offline  
Old 16th September 2008, 02:14   #169  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
I've just now found and fixed the problem with random access. I haven't coded anything for end of file yet so it just blows up. That shouldn't take me long. Looks good for an alpha tomorrow. The CUDA engine is a finicky beast and you have to get all your ducks in a row to reset it gracefully for a seek.
Guest is offline  
Old 16th September 2008, 02:51   #170  |  Link
Ranguvar
Registered User
 
Ranguvar's Avatar
 
Join Date: Feb 2007
Location: ::1
Posts: 1,236
Excellent! I remember that one. Does it also fix the error message pop-ups if you quit while playing?
Ranguvar is offline  
Old 16th September 2008, 03:49   #171  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Quote:
Originally Posted by Ranguvar View Post
Excellent! I remember that one. Does it also fix the error message pop-ups if you quit while playing?
I don't know what you are talking about.
Guest is offline  
Old 16th September 2008, 11:12   #172  |  Link
Ranguvar
Registered User
 
Ranguvar's Avatar
 
Join Date: Feb 2007
Location: ::1
Posts: 1,236
Quote:
Originally Posted by Ranguvar View Post
2.) If I play either of those samples in the indexer, and then quit before stopping playback (with display on) I usually get the errors "cuvidMapVideoFrame: 201" and the same with the number 205, after I exit.
blahforcharacterlimit
Ranguvar is offline  
Old 16th September 2008, 13:40   #173  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
That's in DGAVCIndexNV and I was talking about a fix to DGAVCDecodeNV. Still, I have managed now to duplicate it and I'll fix it. Thank you for reminding me about it.
Guest is offline  
Old 17th September 2008, 14:51   #174  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
We have a problem, Houston.

Everything was looking good. I could open my indexed stream in VirtualDub, play and preview, and seek around.

Then I decided to try an encode. I fired up HCEnc and started an encoding. As the second pass began, HCEnc started reporting a mismatch in the number of frames between the first and second passes. Hmm, that's odd. And the resulting M2V was garbage.

Then I tried a simple HUFFYUV encode in VirtualDub. Worked great. Then a Cedocida DV encode. Worked great. Note that these are one-pass codecs.

Then I tried MeGUI with CE-Baseline. It crashed when I added the job to the queue. Then I tried DivX. It crashed.

So now I'm thinking, these guys are opening the AVS file twice or something, creating multiple instances of AVCSource(). So I opened the script in VirtualDub. Fine. Then I opened it again in VirtualDub, leaving the first one open too. Oops. The timeline looked just like the garbled M2V from HCEnc.

So the situation now is that I will try to verify my theory about the multiple opens and see if there is any mitigation for it (floating CUDA contexts?).

But be aware this has a strong potential to be a deal killer.
Guest is offline  
Old 17th September 2008, 15:05   #175  |  Link
kemuri-_9
Compiling Encoder
 
kemuri-_9's Avatar
 
Join Date: Jan 2007
Posts: 1,348
so there's a restriction that can only have one instance of the script open at once?

that shouldn't stop you from continuing to develop it, many encoders encode to lossless (ffvh, ffv1, lags, etc.) first
then encode the lossless in their lossy encoder of choice, so they wouldn't have problems using it.
__________________
custom x264 builds & patches | F@H | My Specs
kemuri-_9 is offline  
Old 17th September 2008, 15:13   #176  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
neuron2 cant you just fake the instances? i mean if the AVCSource() is using the same input, just redirect the second or nth instance to the first...
Sharktooth is offline  
Old 17th September 2008, 15:49   #177  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Quote:
Originally Posted by Sharktooth View Post
neuron2 cant you just fake the instances? i mean if the AVCSource() is using the same input, just redirect the second or nth instance to the first...
I was thinking about that on the drive to work. I'll see if it can work. As long as the instances don't try to operate at the same time, it could be OK.

Meanwhile, do you know how MeGUI works inside? Am I correct that it opens the script several times? Why would it crash when I just add the job to the queue?
Guest is offline  
Old 17th September 2008, 16:01   #178  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
yes, it opens several times coz before enqueuing the script is alredy open for displaying the preview. also megui stores 2 custom variables in the avs script for AR.
so when you hit enqueue the script is opened again for reading those vars and other stuff.
however the lack of multi-tasking (or multi-instancing) in cuda is quite a limiting factor.
Sharktooth is offline  
Old 17th September 2008, 16:12   #179  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,922
Quote:
Originally Posted by Sharktooth View Post
yes, it opens several times coz before enqueuing the script is alredy open for displaying the preview. also megui stores 2 custom variables in the avs script for AR.
so when you hit enqueue the script is opened again for reading those vars and other stuff.
however the lack of multi-tasking (or multi-instancing) in cuda is quite a limiting factor.
Ouch. CUDA can allow multi-instancing through floating contexts. I'll have to see if I can get it working. Every CUDA context switch would have to force the filter into seek mode.

After more thought, I don't think you can redirect an open filter instance to another one. I'd have to ask IanB about it, but I don't think Avisynth has that capability.
Guest is offline  
Old 17th September 2008, 16:49   #180  |  Link
Quark.Fusion
Registered User
 
Quark.Fusion's Avatar
 
Join Date: Jun 2008
Posts: 177
How it will behave if another program uses CUDA? (i.e. F@H)
Quark.Fusion is offline  
Closed Thread

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 03:13.


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