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 2nd September 2011, 16:44   #5181  |  Link
roytam1
Firefox User
 
Join Date: Sep 2003
Posts: 202
Quote:
Originally Posted by nevcairiel View Post
I mostly finished the implementation of the new RGB converter, roughly modelled after ffdshows HQ implementation, but with two key enhancements:

- Faster and more accurate chroma upscaling (ffdshow assumes MPEG-1 Chroma siting, while most content is using the MPEG2/H264 siting)
--- I do plan to support the MPEG1 version as well at some point in time, but its no pressing issue
- Increased processing bitdepth to natively support 9/10bit content

The code will always use dithering, because i've found that disabling dithering doesn't yield a worthy performance increase.
My implementation is not yet multi-threaded, but i'm not sure if thats actually needed. I'll see about that.

Below some performance numbers from my i7 2600k, decoding and processing a 1080p 4:2:0 H264 movie

- Decoding w/ YV12 output: 253 fps
- Old low-quality RGB conversion: 235 fps
- Old high-quality RGB conversion: 40 fps
- New RGB conversion: 180 fps
- New RGB conversion without dithering: 183 fps

And for fun:
- New RGB conversion in Debug mode: 20 fps.
Don't watch stuff with a debug version, people!

Speaking of multi-threading, anyone know a simple threadpool implementation that does not require me to use boost?
This one uses pthread. But I wonder if it will work in windows.
http://code.google.com/p/cppthreadpool/

Or maybe this one:
http://www.codeproject.com/KB/threads/threads.aspx

Or this one:
http://code.google.com/p/spserver/do...ar.gz&can=2&q=

In short, people like having their own wheels.

Last edited by roytam1; 2nd September 2011 at 16:50.
roytam1 is offline   Reply With Quote
Old 2nd September 2011, 18:02   #5182  |  Link
Qaq
AV heretic
 
Join Date: Nov 2009
Posts: 422
Quote:
Originally Posted by pirlouy View Post
Except that it does not work in my case. Even if I add ffdshow audio processor (in MPC-HC "prefer" external filter), it never
shows after LAV audio. I don't understand. :/
Make sure you have Uncompressed - all supported in ffdshow audio - codecs.
Qaq is offline   Reply With Quote
Old 2nd September 2011, 18:06   #5183  |  Link
Superb
Registered User
 
Join Date: Feb 2010
Posts: 364
Quote:
Originally Posted by nevcairiel View Post
Below some performance numbers from my i7 2600k, decoding and processing a 1080p 4:2:0 H264 movie

- Decoding w/ YV12 output: 253 fps
- Old low-quality RGB conversion: 235 fps
- Old high-quality RGB conversion: 40 fps
- New RGB conversion: 180 fps
- New RGB conversion without dithering: 183 fps

And for fun:
- New RGB conversion in Debug mode: 20 fps.
Don't watch stuff with a debug version, people!
What about ffdshow's RGB (low/high quality) conversion? How fast (fps) is it on your machine (for this file)?
Superb is offline   Reply With Quote
Old 2nd September 2011, 18:30   #5184  |  Link
Snowknight26
Registered User
 
Join Date: Aug 2007
Posts: 1,430
Quote:
Originally Posted by fastplayer View Post
Just select the correct speaker-setup in the Control Panel settings of your sound-card and let the mixer do the rest.
If the input channel count is greater than the output channel count then the extra channels are dropped. No downmixing occurs.
Snowknight26 is offline   Reply With Quote
Old 2nd September 2011, 18:38   #5185  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
Quote:
Originally Posted by Superb View Post
What about ffdshow's RGB (low/high quality) conversion? How fast (fps) is it on your machine (for this file)?
ffdshows conversion is multi-threaded, the comparison wouldn't work.

The only meaningful numbers:

ffdshow with YV12 output: 216 fps
ffdshow with RGB: 200 fps

For a real comparison, wait until i implemented multi-threading.

I actually just increased LAV Videos RGB performance as well.
Its now at 220 fps with RGB output, in comparison to 253 fps with YV12.

Quote:
Originally Posted by Snowknight26 View Post
If the input channel count is greater than the output channel count then the extra channels are dropped. No downmixing occurs.
The DirectSound mixer on Win7 does downmixing.

On XP, that depends on your sound card drivers.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 2nd September 2011 at 18:47.
nevcairiel is offline   Reply With Quote
Old 2nd September 2011, 19:16   #5186  |  Link
mindbomb
Registered User
 
Join Date: Aug 2010
Posts: 576
Quote:
Originally Posted by nevcairiel View Post
I will eventually offer some post-processing, at first only the filters implemented in libavfilter (mostly for yadif), anything else .. we'll see.
I would like to do some plugin type thing, maybe it'll happen. Not soon, though.

Personally, i just don't use post-processing much.
i dont use postprocessing much either, but if lav video had yadif, i imagine nearly 100% of ppl using lav video with madvr would use it.
mindbomb is offline   Reply With Quote
Old 2nd September 2011, 19:40   #5187  |  Link
BloodySword
Registered User
 
BloodySword's Avatar
 
Join Date: Jun 2005
Posts: 70
Quote:
Originally Posted by nevcairiel View Post
ffdshow also works if you set it to libavcodec for decoding, its all the libfaad2 decoders that fail without the init data.
The more important question, which other splitter makes it work?
Oh, i see. Is the libavcodec decoder as good as the libfaad2 one? Does it decode SBR-Hints?

The splitter was the MPA-Splitter from GABEST. I can look if I can provide the version of his splitter wich I had. I think I did a backup of the old 100000 splitters before using LAV . But I never would go back to these xD.

Sorry, the file MPASplitter.ax does not have any version information.
BloodySword is offline   Reply With Quote
Old 2nd September 2011, 19:43   #5188  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
As far as i know, SBR is supported by avcodecs aac decoder.

I can still try to construct the proper codec setup data, not sure how much work it would be to find the right values.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 2nd September 2011, 19:46   #5189  |  Link
pirlouy
_
 
Join Date: May 2008
Location: France
Posts: 692
Quote:
Originally Posted by Qaq View Post
Make sure you have Uncompressed - all supported in ffdshow audio - codecs.
But I don't want the ffdshow audio decoder; I only want the ffdshow processor... :/
pirlouy is offline   Reply With Quote
Old 2nd September 2011, 19:49   #5190  |  Link
BloodySword
Registered User
 
BloodySword's Avatar
 
Join Date: Jun 2005
Posts: 70
Quote:
Originally Posted by nevcairiel View Post
As far as i know, SBR is supported by avcodecs aac decoder.

I can still try to construct the proper codec setup data, not sure how much work it would be to find the right values.
I would test it, but I don't have SBR-AAC at the moment. :/
I'll just trust and believe you! xD

ASAK the Gabset source is on sourceforge. You can take a look at it and reimplement (not copy and paste) it.
BloodySword is offline   Reply With Quote
Old 2nd September 2011, 20:21   #5191  |  Link
Superb
Registered User
 
Join Date: Feb 2010
Posts: 364
Quote:
Originally Posted by nevcairiel View Post
ffdshows conversion is multi-threaded, the comparison wouldn't work.

The only meaningful numbers:

ffdshow with YV12 output: 216 fps
ffdshow with RGB: 200 fps

For a real comparison, wait until i implemented multi-threading.

I actually just increased LAV Videos RGB performance as well.
Its now at 220 fps with RGB output, in comparison to 253 fps with YV12.
Wow. So you actually surpassed ffdshow already, even w/o multi-threading. :O
Amazing work.
Can't wait for the numbers after you add multi threading.
Superb is offline   Reply With Quote
Old 2nd September 2011, 20:26   #5192  |  Link
Midzuki
Unavailable
 
Midzuki's Avatar
 
Join Date: Mar 2009
Location: offline
Posts: 1,480
@ pirlouy, this is what works over here:

1) dis-able "uncompressed" in the audio decoder

2) en-able "uncompressed" in the audio processor

3) with Graphstudio, or RadLight Filter Manager, set the merit of the audio processor to 0x00800000 or greater

4) reboot, or logoff and logon

5) enjoy
Midzuki is offline   Reply With Quote
Old 2nd September 2011, 20:31   #5193  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
Quote:
Originally Posted by Superb View Post
Wow. So you actually surpassed ffdshow already, even w/o multi-threading. :O
Amazing work.
Can't wait for the numbers after you add multi threading.
First, to rule out any misunderstandings:
LAV Video already uses multi-threading for decoding, its only about the RGB converter, which is right now single-threaded.

Continuing in the text..

Well, its not 100% fair.
LAV Video will overtax your CPU, using <#cores * 1.5> number of threads, while ffdshow uses a maximum of <#cores> for decoding. So with that rule, LAV Video is faster, only because it uses more decoding threads (and of course more CPU power)

Comparing with LAV Video forced to the same number of threads as ffdshow:

8 threads:

LAV Video:
- YV12: 216 fps
- RGB output: 193 fps

ffdshow:
- YV12: 216 fps
- RGB: 200 fps

1 thread:

LAV Video:
- YV12: 55 fps
- RGB output: 49 fps

ffdshow:
- YV12: 54 fps
- RGB: 52 fps

Note that these are the number of decoding threads, ffdshows RGB converter is always multi-threaded, you really cannot turn that off for a fair 1:1 comparison.
Anyhow, multithreading the RGB converter gives a small advantage, i would say it cuts the required processing time about in half. I'll look into adding it tomorrow, should be fairly easy.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 2nd September 2011 at 20:40.
nevcairiel is offline   Reply With Quote
Old 2nd September 2011, 21:24   #5194  |  Link
Snowknight26
Registered User
 
Join Date: Aug 2007
Posts: 1,430
Quote:
Originally Posted by nevcairiel View Post
The DirectSound mixer on Win7 does downmixing.
Have any more details on this? As far as I can see that doesn't happen at all. If 6-channel audio is passed to the default audio renderer, the audio renderer reports the audio stream as having nChannels = 6 and consequently (for a 2-channel device) 4 channels are dropped.
Snowknight26 is offline   Reply With Quote
Old 2nd September 2011, 22:07   #5195  |  Link
mindbomb
Registered User
 
Join Date: Aug 2010
Posts: 576
go to control panel, sound, right click on your sound device, and go to configure speakers.
then select stereo.
mindbomb is offline   Reply With Quote
Old 2nd September 2011, 22:37   #5196  |  Link
e-t172
Registered User
 
Join Date: Jan 2008
Posts: 589
Quote:
Originally Posted by Snowknight26 View Post
Have any more details on this? As far as I can see that doesn't happen at all. If 6-channel audio is passed to the default audio renderer, the audio renderer reports the audio stream as having nChannels = 6 and consequently (for a 2-channel device) 4 channels are dropped.
No. That doesn't happen if your audio device is correctly configured. If the audio device is set to stereo, then the Windows mixer will downmix. Assuming you're not using WASAPI Exclusive or Kernel Streaming, of course.
e-t172 is offline   Reply With Quote
Old 3rd September 2011, 00:36   #5197  |  Link
CruNcher
Registered User
 
CruNcher's Avatar
 
Join Date: Apr 2002
Location: Germany
Posts: 4,926
This mixed 64/32 Bit environment is strange, i successfully registered the 64 Bit components but i have problems with the 32 Bit ones



PS: Funny the Installer fails registering the 64 Bit components, though the 32 bit components register with it crazy :P

Ahhh ok get it syswow64 and system32 are reversed
__________________
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; 3rd September 2011 at 01:23.
CruNcher is offline   Reply With Quote
Old 3rd September 2011, 00:43   #5198  |  Link
Snowknight26
Registered User
 
Join Date: Aug 2007
Posts: 1,430
Quote:
Originally Posted by e-t172 View Post
No. That doesn't happen if your audio device is correctly configured. If the audio device is set to stereo, then the Windows mixer will downmix. Assuming you're not using WASAPI Exclusive or Kernel Streaming, of course.
Guess I was wrong. Seems that ffdshow's mixer has incorrect matrix coefficients for downmixing as they definitely don't match the Windows mixer's.


On a side note, LAV Splitter doesn't parse the 'test_audacity.wav' file in this zip.
Snowknight26 is offline   Reply With Quote
Old 3rd September 2011, 02:36   #5199  |  Link
mindbomb
Registered User
 
Join Date: Aug 2010
Posts: 576
edit: not a lav issue.

Last edited by mindbomb; 3rd September 2011 at 02:50.
mindbomb is offline   Reply With Quote
Old 3rd September 2011, 19:22   #5200  |  Link
mindbomb
Registered User
 
Join Date: Aug 2010
Posts: 576
nev, can you put in the option to make lav video handle raw formats in future versions?

that way, we can, for example, use the RGB conversion with lav cuvid or cyberlink ham?
mindbomb 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 19:34.


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