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

Reply
 
Thread Tools Search this Thread Display Modes
Old 10th December 2015, 13:41   #20021  |  Link
sirhaden
Registered User
 
Join Date: Oct 2012
Posts: 8
Fast Decoding

Quote:
Originally Posted by nevcairiel View Post
Content is output as fast as any downstream filter will receive it.
I have 2 video streams in a proprietary container that get demuxed in a custom demuxer and sent downstream to 2 separate instances of the LAV video decoder. One of the video streams is 30 fps and the second is 5 fps. The decoded streams are sent downstream to a custom picture-in-picture filter where synchronized PIP is performed before outputting a single image for rendering.

The problem is that the 5 fps stream arrives at the PIP filter out of sync, behind the 30 fps stream. A short delay is applied to the faster stream to allow the slower stream to catch up.

What is happening is that the slower stream's packets are not arriving fast enough from the LAV video decoder in order to resync the streams. Using an older version of ffdshow in the same exact architecture does not exhibit this behavior and the slower stream's packets are decoded and delivered fast enough to sync the streams and perform PIP.

Could this be due to the use of 2 instances of the LAV video decoder? Are there any known issues running multiple instances of the LAV video decoder?
sirhaden is offline   Reply With Quote
Old 10th December 2015, 14:06   #20022  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
LAV Video does not implement any rate limiting at all. Like I outlined in my earlier post, it'll decode content as fast as it gets it from the source and the renderer accepts it.
Note that decoding can have a delay based on number of threads used and some codec properties, so you may allow for a bit more buffering to sync a low fps stream up properly to account for the delay.

There are no known issues running multiple instances at the same time.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 10th December 2015, 15:26   #20023  |  Link
Manni
Registered User
 
Join Date: Jul 2014
Posts: 942
Quote:
Originally Posted by huhn View Post
just set the display to 1080p60 for such a test.
I'm only interested in UHD HEVC Main10 decoding, so have no interest in testing anything at 1080p.
__________________
Win11 Pro x64 b23H2
Ryzen 5950X@4.5Ghz 32Gb@3600 Zotac 3090 24Gb 551.33
madVR/LAV/jRiver/MyMovies/CMC
Denon X8500HA>HD Fury VRRoom>TCL 55C805K
Manni is offline   Reply With Quote
Old 10th December 2015, 15:28   #20024  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
The resolution or refresh rate is irrelevant if you just want to test *decoding*
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 10th December 2015, 15:53   #20025  |  Link
Manni
Registered User
 
Join Date: Jul 2014
Posts: 942
Quote:
Originally Posted by nevcairiel View Post
The resolution or refresh rate is irrelevant if you just want to test *decoding*
You're right, I should have said I'm interested in playback performance at native resolution, so downscaling to a lower resolution doesn't really help to assess that.

Plus it's only with PowerDVD, and I care even less about that
__________________
Win11 Pro x64 b23H2
Ryzen 5950X@4.5Ghz 32Gb@3600 Zotac 3090 24Gb 551.33
madVR/LAV/jRiver/MyMovies/CMC
Denon X8500HA>HD Fury VRRoom>TCL 55C805K
Manni is offline   Reply With Quote
Old 10th December 2015, 19:40   #20026  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,779
To (more or less) "benchmark" AviSynth decoders, AVSmeter is quite useful. If DirectShow doesn't have similar tools, one may as well use it with a DirectShowSource script, despite a little overhead.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 10th December 2015, 19:44   #20027  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,901
DXVA checker can measure both DirectShow and MediaFoundation decoders, in both pure decoding mode (without renderer) and in playback mode using EVR at arbitrary resolutions.
__________________
Win 10 x64 (19042.572) - Core i5-2400 - Radeon RX 470 (20.10.1)
HEVC decoding benchmarks
H.264 DXVA Benchmarks for all
NikosD is offline   Reply With Quote
Old 11th December 2015, 05:56   #20028  |  Link
dansrfe
Registered User
 
Join Date: Jan 2009
Posts: 1,210
How is the appropriate LFE mix level determined for a stereo output to satellite speakers which separates and routes low frequencies to a small sub?
dansrfe is offline   Reply With Quote
Old 11th December 2015, 11:43   #20029  |  Link
foxyshadis
ангел смерти
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Lost
Posts: 9,558
Quote:
Originally Posted by dansrfe View Post
How is the appropriate LFE mix level determined for a stereo output to satellite speakers which separates and routes low frequencies to a small sub?
Your sound card or speakers handles all of that. LAV doesn't do upmixing.
foxyshadis is offline   Reply With Quote
Old 11th December 2015, 23:14   #20030  |  Link
Nullack
Registered User
 
Join Date: May 2015
Posts: 188
Something unexpected is happening with VP9 playback on my Nvidia GTX 960

When testing this file phfx_4KHD_VP9TestFootage.webm I had expected to see LAV Filters nightly x64 slam the CPU since I have both VP9 DXVA 2 decoding disabled in the latest nightly of LAV filters, but also because AFAIK the Nvidia VP9 hybrid mode isnt working in current drivers. What I found in MPC-BE is that playing that test 4K VP9 file back, even though the renderer said that it wasnt using DVXA, I was seeing 48% GPU utilisation. I dont know how the GPU got so busy in assisting the playback of the VP9 file. The end result was that the 4K VP9 video played back smooth as silk.
Nullack is offline   Reply With Quote
Old 11th December 2015, 23:32   #20031  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
The VP9 software decoder is pretty well optimized, I wouldn't be surprised if it just managed to decode it on its own. Stuff doesn't magically get accelerated even though its all turned off.
The GPU usage was likely just from processing the video.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 11th December 2015 at 23:38.
nevcairiel is offline   Reply With Quote
Old 11th December 2015, 23:46   #20032  |  Link
Nullack
Registered User
 
Join Date: May 2015
Posts: 188
Thanks. I wonder what processing it is doing then on the GPU? Its progressive so no deinterlacing needed. Maybe its some sort of colour conversion but I dunno cos I run a HTPC TV display in YCbCr 4:2:0 so I thought it just got all pushed through without fiddling for most content. And the source video is 4K, my display is 4K, so image scaling doesnt seem necessary. I tried to use mediainfo to see the source colour infos and so on but its not listing that information. Maybe the source colour is something strange. Still using a whole 48% of my GPU seems allot, thats like what I see with HEVC L52 DXVA 2 decoding.
Nullack is offline   Reply With Quote
Old 11th December 2015, 23:48   #20033  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
PCs don't operate in YCbCr, there will generally always be a RGB step, which is why YCbCr output is generally flawed.
So in your case, there is actually two conversions then, YCbCr from the video -> RGB in the renderer -> YCbCr for output.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 11th December 2015 at 23:54.
nevcairiel is offline   Reply With Quote
Old 12th December 2015, 00:03   #20034  |  Link
Manni
Registered User
 
Join Date: Jul 2014
Posts: 942
Quote:
Originally Posted by nevcairiel View Post
PCs don't operate in YCbCr, there will generally always be a RGB step, which is why YCbCr output is generally flawed.
So in your case, there is actually two conversions then, YCbCr from the video -> RGB in the renderer -> YCbCr for output.
True, but if you send RGB to the display most of the time (at least with TVs and Projectors, not necessarily with PC Monitors) there will be an internal conversion to YCB first to apply controls like color and tint which can't be applied in RGB, then another conversion to RGB internally.

The best way to test for this is to see if you can still change color and tint on the display when sending RGB. If you can, then the display is doing an RGB > YCB > RGB internal conversion.

In that case sending YCB to the display means there is one less RGB > YCB conversion.

If color/tint are locked, then the display accepts RGB directly without any further internal conversion, and it can be better to send RGB from the PC as in that case you do get less conversions.

So it's usually a good idea to test what works best for each display.
__________________
Win11 Pro x64 b23H2
Ryzen 5950X@4.5Ghz 32Gb@3600 Zotac 3090 24Gb 551.33
madVR/LAV/jRiver/MyMovies/CMC
Denon X8500HA>HD Fury VRRoom>TCL 55C805K

Last edited by Manni; 12th December 2015 at 00:31.
Manni is offline   Reply With Quote
Old 12th December 2015, 05:22   #20035  |  Link
wanezhiling
Registered User
 
Join Date: Apr 2011
Posts: 1,184

Hi nevcairiel, I suggest adding a 'Restore Default Settings' option in Start Menu, how about?
wanezhiling is offline   Reply With Quote
Old 12th December 2015, 09:37   #20036  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
Quote:
Originally Posted by Manni View Post
In that case sending YCB to the display means there is one less RGB > YCB conversion
Not really, you just do the conversion in the GPU instead of the display, still same amount of conversions. I'm not sure which would be of better quality.
In the case of YCbCr output from the GPU you have to hope that the conversion matrix and the inverse matrix in the TV are the same. If its all done inside the TV, you could probably safely assume that its the same.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 12th December 2015 at 11:17.
nevcairiel is offline   Reply With Quote
Old 13th December 2015, 04:23   #20037  |  Link
Isochroma
Registered User
 
Join Date: Mar 2005
Posts: 468
Still no fix for the Doom9 fiefdom's censors, and still no fix or word from the author of buggy LAV Filters which won't install LAVvideo.ax on WinXP SP2.

It errors out instead, complaining about being unable to register the file.

Turns out - after I wasted half my precious afternoon investigating due to complete lack of documentation or software explanation - that the file is dependent on a certain function in Windows implemented in SP3+. That function is called GetLogicalProcessorInformation().

GetLogicalProcessorInformation() is un-necessary for the work performed by LAVvideo.ax. Instead it is another useless dependency designed to force users to change their entire operating system and undocumented on either of the author's websites and not checked for by the installer during installation, thus leaving users with a cryptic error message at the end and a nonfunctional video decoder.

There is no explanation on either of the software's websites and no specification of OS requirements.

The software does no checking during installation and instead trips all over itself finally falling apart on the last mile.

It's time the author took responsibility for his poor software coding and fixed it.

If he doesn't then he will never hear the end of this issue on a certain other site.

Last edited by Isochroma; 13th December 2015 at 05:28.
Isochroma is offline   Reply With Quote
Old 13th December 2015, 05:11   #20038  |  Link
davidsama
Registered User
 
Join Date: Sep 2006
Posts: 38
I am pretty sure nevcairiel has said that he no longer supports windows xp or xp sp2 or xp sp3. Just because you refuse to upgrade to windows 7 does not mean that you can try to force other people to still support your 20+ year old os.
davidsama is offline   Reply With Quote
Old 13th December 2015, 05:12   #20039  |  Link
Sparktank
47.952fps@71.928Hz
 
Sparktank's Avatar
 
Join Date: Mar 2011
Posts: 940
It is open source, afterall.

Nothing stopping anyone from forking the source to emphasise support for XP (esp. outdated service packs).

Surely, there must be some site out there that specializes in updates for XP ( <SP2 ) compatibility.
__________________
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 13th December 2015, 07:28   #20040  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,079
The current LAV filters install and work nicely under WinXP SP3. I still am a big fan of XP (but of course I also have a Win7 installation for the ever growing number of software which does not work under XP).

But I really don't see any good reason not to install SP3 under XP. At least for me and everyone I know the SP3 does not break anything.

@ Isochroma
You sure could use a little improvement of your netiquette...


Cheers
manolito
manolito is offline   Reply With Quote
Reply

Tags
decoders, directshow, filters, splitter

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 06:16.


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