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 25th September 2008, 01:20   #381  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Yes, there are some issues with the bobbing solution and the current implementation is a hack due to an nvcuvid.dll deficiency. When I update the dialog with the recent correspondence you will see what is going on in that regard. Engineer O has said that he will try to get it working properly. And given what he has done so far, I expect it to be resolved.

I'm working on MPEG integration and MKV container support right now.
Guest is offline  
Old 25th September 2008, 02:51   #382  |  Link
xopowo
Registered User
 
Join Date: Aug 2008
Posts: 25
Intel Xeon X3360
nVidia GeForce 8600GTS
2GB RAM (who cares)
Windows XP Professional SP3

I installed it (couldn't figure out the whole missing license thing), but I gladly paid since I've been using free stuff for years and its the least I could do. Got the license, I can demux files fine.

**EDIT** I had to drop the nvcuvid.dll in the system32 dir to get it to work**

Couple of Questions if I may:

#1 - When I 'encode' , 'transcode' (whatever), my h264 content to, say xvid, in vdubmod ... I'm seeing same exact fps than what I normally see (with same CPU usage). so, "how" do I know if I'm using anything correctly or not? Or perhaps better stated ... I don't know what I'm doing.

#2 - when one turns deinterlace=true after the .dga file in the AVCSource line in my .avs file; will that actually deinterlace the file, or do I still need a plugin to perform that action?

#3 - when people are stating that they are getting 60fps at 0% CPU usage ... what are they referring to? Just the rendering of the AVC file itself? In other words, it has nothing to do with 'encoding/transcoding' (I don't know the correct vernacular).

Thanks for answering, and thanks Donald for everything you do (rule violation??)
xopowo is offline  
Old 25th September 2008, 03:03   #383  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
**EDIT** I had to drop the nvcuvid.dll in the system32 dir to get it to work**
As described in the Quick Start document.

Quote:
#1 - When I 'encode' , 'transcode' (whatever), my h264 content to, say xvid, in vdubmod ... I'm seeing same exact fps than what I normally see (with same CPU usage). so, "how" do I know if I'm using anything correctly or not? Or perhaps better stated ... I don't know what I'm doing.
If you have a powerful machine, the gains in terms of transcoding performance may not be significant. You can read the thread and see who gets boosts and who doesn't. Even without the boost, you have correct decoding (libavcodec is still deficient), and you have the deinterlacer. You will also have VC1 and MKV soon. There is no existing frame accurate server for VC1!

Quote:
#2 - when one turns deinterlace=true after the .dga file in the AVCSource line in my .avs file; will that actually deinterlace the file, or do I still need a plugin to perform that action?
Yes, it will deinterlace even if you haven't saved the project with it turned on in DGAVCIndexNV. I thought of linking them but thought "Why?".

Quote:
#3 - when people are stating that they are getting 60fps at 0% CPU usage ... what are they referring to? Just the rendering of the AVC file itself? In other words, it has nothing to do with 'encoding/transcoding' (I don't know the correct vernacular).
We were talking about playing the file in DGAVCIndexNV with the display disabled in the Video menu. That should be comparable to the serving through Avisynth. If you are encoding then obviously that is added on top.
Guest is offline  
Old 25th September 2008, 04:34   #384  |  Link
xopowo
Registered User
 
Join Date: Aug 2008
Posts: 25
ok, by adding:

AVCSource("1.dga", deinterlace=true)

The output file (lagarith) was deinterlaced (what seems to be very well) [I'm working with a 1080i h264 source file]

Is there something else I can add that will provide frame decimation so that I don't have to use 'any' plugins at all in my script for sources that require IVTC?

If that were the case, I would be a happy guy here (less work for me in backing up my shows).

Additionally, when dealing with 720p content, I have been reading this thread, and it seems that one can do this:

a=AVCSource("file.dga",deinterlace=true,use_top_field=true)
b=AVCSource("file.dga",deinterlace=true,use_top_field=false)
Interleave(a,b)

???

To achieve 29.97fps (from 59.94)?

Please be kind to me, I'm new at this stuff for the most part.
xopowo is offline  
Old 25th September 2008, 05:07   #385  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by xopowo View Post
Is there something else I can add that will provide frame decimation so that I don't have to use 'any' plugins at all in my script for sources that require IVTC?
Just to be clear, you wouldn't want to use the deinterlace option for IVTC. The 3:2 support in PureVideo is not currently exposed via the CUDA interface. I will ask Nvidia if there are any plans to do that. So for now, IVTC must be done externally. For soft telecining, you can do it by ignoring pulldown flags in DGAVCIndexNV. Do you have hard telecined sources?

Quote:
Additionally, when dealing with 720p content, I have been reading this thread, and it seems that one can do this:

a=AVCSource("file.dga",deinterlace=true,use_top_field=true)
b=AVCSource("file.dga",deinterlace=true,use_top_field=false)
Interleave(a,b)

To achieve 29.97fps (from 59.94)?
No, that's for getting 59.94 from 29.97.

Tell me more about your source material. Better yet, post an unprocessed source sample. Then I can advise you properly.
Guest is offline  
Old 25th September 2008, 07:15   #386  |  Link
xopowo
Registered User
 
Join Date: Aug 2008
Posts: 25
http://www.megaupload.com/?d=RI51NIK1

Two files there.

1080i which requires deinterlace (of course) and decimation (since it should be 23.976fps).

720p which requires halving the framerate to bring it "back" to 29.97fps.

Not sure if this is what you were asking for?

Bottom line - I tried with deinterlace=true in the line with the 1080i (subsequently had to decimate in the script as well) and it turned out really well. I'm asking if one can add something (in addition to) that will allow for decimation as well as deinterlace (without having to use a filter in my script).

I understand what you wrote above, so I guess that's not possible. But, what is needed in order to get the 59.94fps down to 29.97, other than separatefields()? Are there options?
xopowo is offline  
Old 25th September 2008, 14:19   #387  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by xopowo View Post
1080i which requires deinterlace (of course) and decimation (since it should be 23.976fps).
It's hard telecined, i.e., 3:2 pulldown without flags. You shouldn't deinterlace that. You should do IVTC in your script. As I said the PureVideo 3:2 engine is not yet accessible.

Quote:
720p which requires halving the framerate to bring it "back" to 29.97fps.
It's progressive at 59.94 without dups, i.e., every frame is a new picture. If you want 29.97, just put SelectEven() in your script. It has essentially no overhead.
Guest is offline  
Old 25th September 2008, 15:53   #388  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Sorry if this was asked before but I don't get the point of hardware decoding, isn't the decoder mostly used for transcoding and shouldn't rather the encoder use the hardware instead?
stax76 is offline  
Old 25th September 2008, 16:06   #389  |  Link
lexor
Registered User
 
Join Date: Jan 2004
Posts: 849
Quote:
Originally Posted by stax View Post
Sorry if this was asked before but I don't get the point of hardware decoding, isn't the decoder mostly used for transcoding and shouldn't rather the encoder use the hardware instead?
The point is in freeing up CPU for encoding by moving source decoding to GPU. As for encoding needing hardware, CUDA in its current state is no good for that (as per x264 dev experience, and DS actually saying he'd rather learn GPU assembly then use CUDA for encoding)
__________________
Geforce GTX 260
Windows 7, 64bit, Core i7
MPC-HC, Foobar2000
lexor is offline  
Old 25th September 2008, 16:08   #390  |  Link
Zwitterion
Registered User
 
Join Date: May 2008
Posts: 80
Another bug (affects both DGAVCDecNV and DGAVCDec):
When indexing the M2TS of Die Hard (over 2 hours long, nearly 30 GB big), an error message appears at frame 138187 (or at frame 162775 for DGAVCDec) that says:
"Could not allocate memory: AllocPPS: slice_group_id"

At this point, memory usage for DGAVCIndexNV.exe is at 137148 kilobytes. Maybe this is a limit? Trying to use the same instance of DGAVCIndexNV.exe again fails right at the start of the indexing with the same error message.

I couldn't cut out a sample, because the error doesn't appear with small streams.
Zwitterion is offline  
Old 25th September 2008, 16:10   #391  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by lexor View Post
The point is in freeing up CPU for encoding by moving source decoding to GPU. As for encoding needing hardware, CUDA in its current state is no good for that (as per x264 dev experience, and DS actually saying he'd rather learn GPU assembly then use CUDA for encoding)
I'd less so say its "no good" and moreso say that the effort required would be very large and require a much larger team with much more CUDA expertise. Its certainly possible, but it would just be an enormous amount of effort, since the hardest part is you simply can't port just "one function" of the encoder due to the latency.

Plus, well, we saw what happened with Badaboom.
Dark Shikari is offline  
Old 25th September 2008, 16:15   #392  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by Zwitterion View Post
Another bug (affects both DGAVCDecNV and DGAVCDec):
When indexing the M2TS of Die Hard (over 2 hours long, nearly 30 GB big), an error message appears at frame 138187 (or at frame 162775 for DGAVCDec) that says:
"Could not allocate memory: AllocPPS: slice_group_id"

At this point, memory usage for DGAVCIndexNV.exe is at 137148 kilobytes. Maybe this is a limit? Trying to use the same instance of DGAVCIndexNV.exe again fails right at the start of the indexing with the same error message.

I couldn't cut out a sample, because the error doesn't appear with small streams.
Tell me what DVD to buy and I'll get it and duplicate the issue. Is it the BluRay version available in the USA? And how did you rip it? In the meantime, I'll look at my PPS management code. It shouldn't need all that memory.

Last edited by Guest; 25th September 2008 at 16:18.
Guest is offline  
Old 25th September 2008, 16:22   #393  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by stax View Post
Sorry if this was asked before but I don't get the point of hardware decoding, isn't the decoder mostly used for transcoding and shouldn't rather the encoder use the hardware instead?
In addition to what the others have answered, I'll say again why I did it:

1. Speedup of transcoding for some machines.

2. Correct decoding of streams that libavcodec still has problems with.

3. Access to the PureVideo deinterlacing and possibly the 3:2 engine to come.

4. Decoding of VC1 to come.

5. Integration of MPEG, AVC, and VC1 into one application.
Guest is offline  
Old 25th September 2008, 16:35   #394  |  Link
Inventive Software
Turkey Machine
 
Join Date: Jan 2005
Location: Lowestoft, UK (but visit lots of places with bribes [beer])
Posts: 1,953
Sorry if this sounds completely pointless, but on the filter page on your site, do you periodically update the correspondance between you and NVIDIA?
__________________
On Discworld it is clearly recognized that million-to-one chances happen 9 times out of 10. If the hero did not overcome huge odds, what would be the point? Terry Pratchett - The Science Of Discworld
Inventive Software is offline  
Old 25th September 2008, 16:35   #395  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by Zwitterion View Post
At this point, memory usage for DGAVCIndexNV.exe is at 137148 kilobytes.
OK, I found the memory leak. I'll release new versions this evening.
Guest is offline  
Old 25th September 2008, 16:36   #396  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by Inventive Software View Post
Sorry if this sounds completely pointless, but on the filter page on your site, do you periodically update the correspondance between you and NVIDIA?
I plan to. I published that right after I got the multi-instance working. There is some more back-and-forth since then that I will add soon. I'll try to keep it current.
Guest is offline  
Old 25th September 2008, 16:41   #397  |  Link
Inventive Software
Turkey Machine
 
Join Date: Jan 2005
Location: Lowestoft, UK (but visit lots of places with bribes [beer])
Posts: 1,953
Excellent! I must be going mental then, cos I swore there was some new material in that page... I only read it yesterday! Ah well.... time to section meself!
__________________
On Discworld it is clearly recognized that million-to-one chances happen 9 times out of 10. If the hero did not overcome huge odds, what would be the point? Terry Pratchett - The Science Of Discworld
Inventive Software is offline  
Old 25th September 2008, 19:36   #398  |  Link
sh0dan
Retired AviSynth Dev ;)
 
sh0dan's Avatar
 
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
Congrats on your new software, Donald. You seriously deserve some beer money for all your hard labour!

May I humbly suggest, that you put a slightly more informative text into your "Missing License" dialog; as usual I didn't RTFM, and I had no idea what to do. Maybe you could also allow it to decode the first 10% of a given clip, just as a teaser. MP4/MOV parsing would also be exceptionally useful, since MPEG4 seems to become a quite common container.

CUDA development is very interesting - especially if they get their async interface working optimally. Keep up the great work!
__________________
Regards, sh0dan // VoxPod
sh0dan is offline  
Old 25th September 2008, 19:49   #399  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
I can use the "beer money" to buy the MP4 spec I need. I've just used some it at lunchtime to buy the BluRay Disk I need to test memory leak issue reported above.

You suggestion on the licensing is a good one. I will do something about that.
Guest is offline  
Old 25th September 2008, 20:34   #400  |  Link
Zwitterion
Registered User
 
Join Date: May 2008
Posts: 80
Quote:
Originally Posted by neuron2 View Post
I've just used some it at lunchtime to buy the BluRay Disk I need to test memory leak issue reported above.
It's this one. Sorry, after I read your post #395 I thought you wouldn't need the Blu-ray after all so I didn't respond.
I'm using AnyDVD 6.4.6.9, "rip to image", "keep protection", then Virtual CloneDrive to load the image. This way I don't need the physical disc the whole time.
Zwitterion 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 20:28.


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