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 > New and alternative a/v containers
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 25th March 2011, 08:35   #1061  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Looking forward to it! I think those 70fps must be limited by the actual decoding performance, not by the GPU -> System RAM copy.

What I found clever is the way NVidia handles the NV12 surfaces: Those allocated for DXVA decoding are optimized for reading. That makes sense because applications will never write to those surfaces, if they access them at all, they will read from them. But NV12 surfaces not allocated for DXVA are optimized for writing instead. Again that makes a lot of sense. Only NVidia has optimized things this way. ATI and Intel have not.
madshi is offline   Reply With Quote
Old 25th March 2011, 09:15   #1062  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
Quote:
Originally Posted by madshi View Post
Looking forward to it! I think those 70fps must be limited by the actual decoding performance, not by the GPU -> System RAM copy.
Indeed.
I learned that the hardware decoder runs the same speed on all cards of the same generation, and is not influenced by the actual clock of the GPU, that makes benchmarking it alot easier, and the values more meaningful.

I'm not sure if the deinterlacing is done in the fixed function hardware or handed over to the shaders, though.

In any case, hardware deinterlaced cheese slice test on madVR = awesome.

Its mostly done, as well.
I only need to work out some kinks with video renderers that request a certain stride, somehow my handling of this is rather wonky right now =)
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 25th March 2011 at 09:25.
nevcairiel is offline   Reply With Quote
Old 25th March 2011, 09:26   #1063  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by nevcairiel View Post
Indeed.
I learned that the hardware decoder runs the same speed on all cards of the same generation, and is not influenced by the actual clock of the GPU, that makes benchmarking it alot easier, and the values more meaningful.

I'm not sure if the deinterlacing is done in the fixed function hardware or handed over to the shaders, though.

In any case, hardware deinterlaced cheese slice test on madVR = awesome.
So you plan to do deinterlacing, too? That'd be quite cool, of course!
madshi is offline   Reply With Quote
Old 25th March 2011, 09:27   #1064  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
There is a flag you can set, its values are "weave", "bob" or "adaptive", and then CUVID deinterlaces for you. Nothing you really have to do. Thats why i love CUVID.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 25th March 2011, 09:29   #1065  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Cool. I'm still wondering how IVTC works, though. Do you really get 24fps out of a 60i stream? Who controls the output framerate? Is that your job or does the deinterlacing hardware do that? I think it's your job? So you'd have to offer a switch video (60p/50p output) vs. film (24p/25p output) mode for optimal results?
madshi is offline   Reply With Quote
Old 25th March 2011, 09:41   #1066  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
I'm quite sure the decoder just outputs 24 frames per second when IVTC'ing NTSC 30fps content (i don't think i have 60i content, i'll check), but i'll run some more tests on that.
The question is if it tells me that its reducing it to 24fps, so i can set the frame rate in the media type appropriately, as i'm not sure if renderers rely on that value, because from where i stand, the frame rate is simply determined by the distance between two frames, not the frame rate in the media type.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 25th March 2011, 10:11   #1067  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Well, madVR doesn't really care right now what the media type says. However, automatic refresh rate changing might depend on that value being set correctly, so it would be quite useful having it set correctly. If you find out how the decoder behaves exactly with IVTC, I'd love to know. (NTSC 30fps = 60i, it's one and the same)
madshi is offline   Reply With Quote
Old 25th March 2011, 10:28   #1068  |  Link
hoborg
Registered User
 
Join Date: Nov 2008
Posts: 454
@nevcairiel:

Do you plan to support subtitles rendering too (something like FFDshow DxVA decoder do)?
__________________
Working machine: Win10x64 + Intel Skull Canyon
My HTPC.

How to start with Bitcoin
hoborg is offline   Reply With Quote
Old 25th March 2011, 10:30   #1069  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
Why?

You can use ffdshow in raw mode, or MPC-HCs internal renderer, there are no limitations.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 25th March 2011, 10:35   #1070  |  Link
hoborg
Registered User
 
Join Date: Nov 2008
Posts: 454
Quote:
Originally Posted by nevcairiel View Post
Why?

You can use ffdshow in raw mode, or MPC-HCs internal renderer, there are no limitations.
Becouse there are some players that doesn't support subtitles, like nPVR/GB-PVR, WMP too (i think) or have limitations (MediaPortal cannot render PGS), etc...
FFDshow RAW is a solution, but not very "clean".
__________________
Working machine: Win10x64 + Intel Skull Canyon
My HTPC.

How to start with Bitcoin
hoborg is offline   Reply With Quote
Old 25th March 2011, 10:38   #1071  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
Subtitle rendering is annoying, and i probably won't touch it. I use a player that can render them properly scaled on the final image, i don't need to render them on the image before scaling, like ffdshow does.

For people that don't use such players, there are several solutions, ffdshow raw and DirectVobSub should work in most if not all players.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 25th March 2011, 10:49   #1072  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Agreed, spending time to render subtitles on the decoded image pre-scaling simply makes no sense. Subtitle rendering must be done after scaling for proper quality. Which means that subtitle rendering can not be done in the video decoder.
madshi is offline   Reply With Quote
Old 25th March 2011, 11:14   #1073  |  Link
hoborg
Registered User
 
Join Date: Nov 2008
Posts: 454
Yes, i understand that.

This is the reason why i use FFDshow video decoder => resize => subtitles rendering => video renderer for SD and
FFDshow DxVA => subtitles overlay => video renderer for HD.

Possibly i can use LAVF video decoder => FFDshow RAW (resize + subtitles rendering) => video renderer, but i am afraid some players won't add FFDshow RAW between LAVF video decoder and renderer.

Looks like i will need to stay using FFDshow after all.
__________________
Working machine: Win10x64 + Intel Skull Canyon
My HTPC.

How to start with Bitcoin
hoborg is offline   Reply With Quote
Old 25th March 2011, 11:20   #1074  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
My video decoder will for the time being only be for NVIDIA, going by your signature, you don't fit that profile.

A general purpose software and DXVA video decoder is in the planning/alpha stage, but don't hold your breath, it might not happen at all, or take a year.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 25th March 2011, 11:23   #1075  |  Link
hoborg
Registered User
 
Join Date: Nov 2008
Posts: 454
Quote:
Originally Posted by nevcairiel View Post
My video decoder will for the time being only be for NVIDIA, going by your signature, you don't fit that profile.

A general purpose software and DXVA video decoder is in the planning/alpha stage, but don't hold your breath, it might not happen at all, or take a year.
OK, no problem on my side, i just want to be informed
__________________
Working machine: Win10x64 + Intel Skull Canyon
My HTPC.

How to start with Bitcoin
hoborg is offline   Reply With Quote
Old 25th March 2011, 12:26   #1076  |  Link
ranpha
Registered User
 
Join Date: Feb 2008
Posts: 335
Sample is from here.

The LAV Audio Decoder supposed to support Vorbis tracks right? With the latest version of the decoder, it wasn't used when playing the Vorbis track in the said sample.
ranpha is offline   Reply With Quote
Old 25th March 2011, 13:28   #1077  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
It just supports vorbis when using LAV Splitter as well, with other splitters it will most likely not work due to not supporting the vorbis-specific media format descriptor.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 25th March 2011, 13:53   #1078  |  Link
SamuriHL
Registered User
 
SamuriHL's Avatar
 
Join Date: May 2004
Posts: 5,351
Quote:
Originally Posted by nevcairiel View Post
Classic DXVA disables madVR, which is a no-no, but there are other hardware acceleration solutions..

<teaser>If you're an NVIDIA user, i'll have a treat for you soon.</teaser>
Right, I know. On my bedroom machine and laptop I can't use madVR. They just aren't powerful enough to do software decoding. CoreAVC allows me to do CUDA decoding on the bedroom machine, but, I don't have a solution for VC-1 decoding. So I'm stuck with DXVA on that machine. My main HTPC is a quad core monster and has plenty of power for decoding. Using that with the Cyberlink decoder gives me the best results. And yes, my bedroom machine has an nVidia 450. Am I going to be happy?
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED
SamuriHL is offline   Reply With Quote
Old 25th March 2011, 13:54   #1079  |  Link
SamuriHL
Registered User
 
SamuriHL's Avatar
 
Join Date: May 2004
Posts: 5,351
Quote:
Originally Posted by nevcairiel View Post
Yeah, NVIDIA put real focus on getting data from the GPU back to the CPU, its used alot in CUDA. I didn't actually measure performance when using the CUDA interface to copy the frame back instead of using the D3D functions to read a surface, but i figure it'll not be slower, possibly even faster. A quick test in GraphStudios decoder performance gives me about 70fps in a 1080p H264 file (don't remember the complexity of it right now, though), about the same as CoreAVC in CUDA mode, so i must be doing something right.

I'll post some more measured stats when i release it.

(Oh, the main difference to CoreAVC? In addition to H264, mine supports VC-1, MPEG-2 and MPEG-4 ASP as well - given hardware support, of course.)
OMG! DROOL DROOL DROOL!!!! Oh HELL YEA!!! That's EXACTLY what that machine needs!!!!!!!! You guys ROCK!!!!
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED
SamuriHL is offline   Reply With Quote
Old 25th March 2011, 14:45   #1080  |  Link
clsid
*****
 
Join Date: Feb 2005
Posts: 5,647
Wow, a nice surprise.

Will it handle incompatible videos properly by falling back to whatever software decoder is installed? Maybe there are CoreAVC users here that have some samples for you that don't work with CUDA.
__________________
MPC-HC 2.2.1
clsid is offline   Reply With Quote
Reply

Tags
decoders, directshow, filters, splitter


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 05:12.


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