Log in

View Full Version : LAV Filters - DirectShow Media Splitter and Decoders


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 [174] 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511

madshi
30th January 2012, 15:42
So, here i was thinking about an audio mixer, mostly how to make it properly configurable, and i hit somewhat of a wall.
Having one matrix available for every input channel configuration would be a very powerful but also complicated feature, I guess. I'm not really sure I can say anything about whether it should be done or not, and if how. E.g. what happens if the user changes one matrix (e.g. boost LFE volume)? Should the change also be transported somehow to the other matrixes? Probably not, but that means the user would have to do such changes in all matrixes manually to make it valid globally. Next problem: Should changes always be stored? Maybe the user sometimes wants to change something just for one audio track?

E.g. one thing I sometimes wish for is an easy way to just boost the center channel volume (and only temporarily for one playback session), because some audio tracks have the dialog too low volume. That's the only thing I'm missing right now in LAV Audio.

Midzuki
30th January 2012, 15:46
...

The advanced mode should offer a full matrix to toy with.
Here is where the problems come in. To make such a full matrix truly useful, don't you need one matrix per input channel configuration?

Not sure if this suggestion is "easily-doable" :o , but...

Only one "full-featured matrix"
(ā la Channel Downmixer :devil:) ,

plus five "output modes" (2.0, 4.0, 5.1, 7.1, and "as-is").

CruNcher
30th January 2012, 15:51
One decoder fails, all others work, its their fault.
Taking CoreCodecs communication policys into account, i really don't care to support them either way.

More decoder fail its a very different situation (but yeah it seems to be a another special fix from Kytmanov this time for CoreAVC)

recover-sample.ts

Lav Splitter + Lav Audio (No AV sync correction)

CoreAVC = Stutter (after the glitch)
Arcsoft = unsync
Cyberlink = OK
Lav Video = OK
DivX H.264 = Crash (@ the glitch) deterministic
Microsoft DTV = OK
ffdshow quicksync (libavcodec) = OK
ffdshow quicksync (quicksync) = unsync
Mainconcept SDK9 = OK

AV Splitter + Lav Audio (No AV sync correction)

CoreAVC = OK
Arcsoft = unsync
Cyberlink = unsync
Lav Video = a little unsync
DivX H.264 = flys (accelerates) away
Microsoft DTV = Heavy unsync
ffdshow quicksync (libavcodec) = OK
ffdshow quicksync (quicksync) = unsync
Mainconcept SDK9 = flys (accelerates) away

Haali Splitter + Lav Audio (No AV sync correction)

CoreAVC = Stutter (after the glitch)
Arcsoft = little unsync
Cyberlink = recovers slower the sync but does
Lav Video = OK
DivX H.264 = Crash (@ the glitch) deterministic
Microsoft DTV = unsync video way to fast
ffdshow quicksync (libavcodec) = OK
ffdshow quicksync (quicksync) = unsync
Mainconcept SDK9 = OK

MPC-HC Splitter + Lav Audio (No AV sync correction)

CoreAVC = Stutter (after the glitch)
Arcsoft = unsync
Cyberlink = OK
Lav Video = OK
DivX H.264 = Crash (@ the glitch) non deterministic first execution always crashes 2nd doesn't have to
Microsoft DTV = OK
ffdshow quicksync (libavcodec) = OK
ffdshow quicksync (quicksync) = unsync
Mainconcept SDK9 = OK

Potplayer Chain DXVA = a little unsync
Potplayer Chain Software = a little unsync

nevcairiel
30th January 2012, 15:52
one thing I sometimes wish for is an easy way to just boost the center channel volume (and only temporarily for one playback session), because some audio tracks have the dialog too low volume. That's the only thing I'm missing right now in LAV Audio.

From what i'm told, proper downmixing is what most of the people really need/want, because quite a lot of people do only have stereo speakers. That feature is relatively easy, as i can just programmatically build up the matrix based on the input channels.
So maybe i'll postpone the full matrix a bit to figure out how to do it.

Per-channel volume is another matter which would probably be easy to implement, but especially if you want "temporary", it again offers a configuration challenge. It should be easily accessible, preferably over a shortcut even, and of course be temporary. I don't even have a notion of temporary settings yet. :)

I'm just assembling a list of things that all go into the audio mixing category, so we'll see where it goes.

madshi
30th January 2012, 16:02
FWIW, I wouldn't even need per-channel volume settings for all channels. Just a way to boost the center channel would be nice. You could even name it "dialog boost", or something like that, and probably it would be good enough to have only 1-2 boost steps available, so a simple keyboard shortcut could just toggle between the 2-3 possible states (e.g. "off", "small boost", "big boost") . I'm not sure if this really fits in with all the other mixer features, because the other stuff would probably not be temporary settings and also would not need shortcuts. But probably it makes sense to implement it all in one go.

Thanks for considering this... :)

Midzuki
30th January 2012, 16:21
Anyway, just be careful enough to NOT repeat Yamagata's lame workaround :D

http://forum.doom9.org/showthread.php?p=1057543#post1057543

P.S.: also, the volume indicators should (finally) be as fast as the ones in AC3Filter ;)

wanezhiling
30th January 2012, 16:39
audio mixer? Great!
If possible, add normalizer together~~:p


PS: nev, would you like to add this (http://i.imgur.com/I7b8V.png) like mpc-hc for the installer

Mercury_22
30th January 2012, 16:56
...
Per-channel volume is another matter which would probably be easy to implement, but especially if you want "temporary", it again offers a configuration challenge. It should be easily accessible, preferably over a shortcut even, and of course be temporary. I don't even have a notion of temporary settings yet. :)

I'm just assembling a list of things that all go into the audio mixing category, so we'll see where it goes.

So maybe you can start with "Per-channel volume" with ON / OFF and without any other "fancy" options and then go to more challenging options :p

adam777
30th January 2012, 17:07
Regarding FFDShow, as far as I can tell, without the use of profiles, you can choose between 2 options:
- Specifying an output format, in which case it's FFDShow's job to create the matrix in regards to the input.
That is, if you specified stereo as the desired output, a stereo input will create a "no change" matrix, a 5.1 input will send front and back channels to relevant stereo channel and center will be sent to both (all in regards to normalization etc.).
This mode is probably the most useful for most.

- Another option would be specifying a custom matrix, and considering that output format in a specific machine usually does not change, the only difference it has is in regards to volume levels.
If you chose to normalize your custom matrix, you take into account channels that may not be present in the input.

Bottom line, I would be perfectly fine with the first option.

STaRGaZeR
30th January 2012, 18:30
The advanced mode should offer a full matrix to toy with.
Here is where the problems come in. To make such a full matrix truly useful, don't you need one matrix per input channel configuration?
I'm thinking, i would want a separate matrix for 7.1, which i want to downmix to 5.1, and i want a separate matrix for stereo, which i want to upmix to 5.1, and of course i want a 5.1 matrix, which shouldn't touch the audio at all. Not to mention all the configurations in between (although i could ponder ignoring them, and converting everything to a "standard" layout before putting it through the matrix)

If I understand this correctly, I think ffdshow can do this without profiles. I convert everything to 4.0, my matrix upmixes stereo to 4.0 plus downmixes 5.1 or 7.1 to 4.0 . Of course it doesn't allow for different coeffs for each conversion, but is that really needed?

nevcairiel
30th January 2012, 18:31
Of course it doesn't allow for different coeffs for each conversion, but is that really needed?

Thats my question, right there.
What ffdshow does is give you one matrix to rule them all.

STaRGaZeR
30th January 2012, 18:38
Yep. Then I don't need it, but having it won't do any harm I guess. It all depends on how complicated you want to make it then :p

DrNein
30th January 2012, 18:40
Center-channel boost should effectively be handled by Dynamic Range Compression (existing LAV Audio option). Otherwise, Windows Sound Device (Levels Balance). Or for bitstreaming, the external processor/receiver.

nevcairiel
30th January 2012, 18:49
The DRC option in LAV Audio only activates the DRC in the AC3 decoder, which is only present if the file was actually encoded to have DRC - and even then, is not very strong.

clsid
30th January 2012, 18:53
A fully custom matrix is not something you should worry about right now imo. There is probably few people actually using that right now in ffdshow.

Just dynamically construct a matrix based on the output a user has selected, plus a few additional options such as:
- boost center when downmixing to stereo (or maybe everything below 5.1 like quadro as well)
- expand stereo to center/surround
- gains for individual input channels, apply to current session only?

amtm
30th January 2012, 19:06
Center-channel boost should effectively be handled by Dynamic Range Compression (existing LAV Audio option). Otherwise, Windows Sound Device (Levels Balance). Or for bitstreaming, the external processor/receiver.

That's great but if you aren't playing ac3 (throws out option 1), you aren't bitstreaming or using an external receiver (throws out option 3) and you don't want to constantly have to be changing the levels balance before and after playing a file because that's a pain in the ass when all you want is a temporary boost when playing a file (throwing out option 2) it's quite nice to have built-in functionality that will do it for you automatically.

iSunrise
30th January 2012, 19:24
... I convert everything to 4.0, my matrix upmixes stereo to 4.0 plus downmixes 5.1 or 7.1 to 4.0 . Of course it doesn't allow for different coeffs for each conversion, but is that really needed?
Same here.

I only want to set one speaker configuration (like 2.0) for everything (because thatīs how my speakers are setup) and regardless of the source channel-configuration, it should always downmix it to 2.0. If in the rare case there is a 1.0 source, it should also be upmixed to 2.0.

You should not make this too complicated at first. If some users are not satisfied with your first implementation, thereīs always the possibility to give you feedback for consideration.

fairchild
30th January 2012, 19:28
I'm curious as to what is the main benefit of having the decoder do the mixing (down or upmix). For example if you are using headphones/2.1 channel speaker system, and you set Windows to 2.0 doesn't the windows sound mixing do an adequate job or is there some benefit in this case to let the decoder do the mixing first? Also, I can see the benefit for say a 5.1 speaker system and having the decoder upmix a 2.0 track to 5.1 but otherwise can someone enlighten me?

clsid
30th January 2012, 19:33
Yes, main reason is because the Windows mixer doesn't give satisfying results.

mindbomb
30th January 2012, 20:26
imo, the mixer is nice, but what would really work well with it is a new audio renderer as well.

One with ASIO and wasapi and other cool features.

That might be the start of a paradigm shift of doing audio decoding and processing on the cpu instead of the receiver in the htpc world.

mbordas
30th January 2012, 21:42
imo, the mixer is nice, but what would really work well with it is a new audio renderer as well.

One with ASIO and wasapi and other cool features.

That might be the start of a paradigm shift of doing audio decoding and processing on the cpu instead of the receiver in the htpc world.

hah, yes, I've been doing this for awhile now - and the thing that really made it possible? Lav filters.

I use a multichannel amp. No extra remote, no bitstreaming nonsense, everything controlled through the htpc. I don't even have to look at the thing, it's hidden in my basement.

But to your point: Reclock is fine but I suppose it could always be better. But having a mixer in lav audio, or even the center channel boost, would be great.

tetsuo55
30th January 2012, 22:06
So, here i was thinking about an audio mixer, mostly how to make it properly configurable, and i hit somewhat of a wall.

I'm thinking about 2 modes, a simple and a advanced mode.

The simple mode would just offer downmixing to 5.1 or stereo, with the appropriate controls (front/back balance, center level)
This really isn't a big problem, and should work out just fine.

The advanced mode should offer a full matrix to toy with.
Here is where the problems come in. To make such a full matrix truly useful, don't you need one matrix per input channel configuration?
I'm thinking, i would want a separate matrix for 7.1, which i want to downmix to 5.1, and i want a separate matrix for stereo, which i want to upmix to 5.1, and of course i want a 5.1 matrix, which shouldn't touch the audio at all. Not to mention all the configurations in between (although i could ponder ignoring them, and converting everything to a "standard" layout before putting it through the matrix)

Looking at ffdshow for example, it doesn't allow this except if you start using profiles. So is this something people really would use? Or would one matrix thats somehow applied to everything just be fine?
Maybe i'm missing something, and ffdshow somehow stores different matrices, but doesn't really explain that on the configuration dialog?What I am looking for a set and forget setting for my speakercount.
So if I have 5.1 up and downmixing would occur automatically depending on the source. same for stereo or any other physical config.

pirlouy
30th January 2012, 22:09
For me, Matrix should be linked to profiles; and profiles refer to post-processing, so not needed for LAV.
I would just add some options often asked (center boost; 2.0 -> 4.0; crossover for subwoofer at 80Hz; convert all to stereo, 7.1 -> 5.1).

For fine-tuning, it would be useful to have a post-processing plugin for LAV, which could handle profiles. Of course, the plugin would not be created by you since you already said you're not interested, but it would be nice if you add an API for that (new challenge for developers).

But maybe it's useless, and people just need a new "ffdshow processor" which would start with good bases...

JMGNYC
30th January 2012, 23:43
I'm having a problem playing back VC-1 direct BD rips to MKV (no re-encoding so high bitrate). Using all version, including .45, chapter skip, or even a 30 second skip takes close to a minute before playback resumes not using any HW acceleration. I've an ATI 5570 so I've tried DXVA copy back with .45 and now when skipping forward or back I blue screen in Win7 64. I'm using 32 bit MPC-HC and MadVR. Any suggestions?

oddball
31st January 2012, 01:30
LAV Filters is not playing nice with ReClock. If I use LAV video decoder and ReClock MPC-HC hangs 8 out of 10 times. If I use ffdshow video decoder (still using LAV splitter) I get no hangs. Any ideas apart from not using ReClock (Not an option actually I find it essential)?

Hmm. This seems to be more of an issue with fullscreen switching. In the past I used to do it manually. Now I have MPC-HC do it for me. I usually let my secondary display fallback to 60Hz and when it plays a 23,756fps source it auto switches to 23/24Hz on the Nvidia secondary head. Likewise for PAL @ 50Hz etc. However if I leave the secondary display at 23/24Hz instead it does not hang on most sources (because it is already at the correct refresh rate) and 50Hz switching does not hang either. I have not tried 29/30/60fps stuff yet to see if it hangs switching to 60Hz that is up next. If it does not hang I will leave the display at 23/24Hz. But I stress this only occurs if I use LAV Video decoder in conjunction with ReClock so is a weird bug indeed.

oddball
31st January 2012, 02:38
eng:eng|f;eng:off;*:eng;und:und
or maybe
eng:eng|f;eng:off;*:eng;*:*

The second one seems to be the one. Thanks.

omarank
31st January 2012, 08:26
Feature request: An LFE crossover setting in audio mixer would be great.


:thanks:

nevcairiel
31st January 2012, 08:30
Feature request: An LFE crossover setting in audio mixer would be great.


Not going to happen anytime soon, doing a low-pass filter for LFE is quite a bit more work then just mixing things.

Aspeh
31st January 2012, 09:23
nevcairiel

Don't stop at LAV mixer , Team up with madshi and code a new Media Player. :)

Though what you would call it might start arguments.

LavMad Player , MadLav Player or just LM player. :D

nevcairiel
31st January 2012, 09:41
No thanks, i rather focus my time on the projects i already have. :p

aufkrawall
31st January 2012, 10:32
Please forgive me for being pushy, nevcairiel, but what about the FRAPS issue? :)
It always has to be RGB output, it can't fail and the official FRAPS decoder by Beepa does the same.

Wouldn't it be possible to simply force automatic RGB output if source is any FRAPS codec?

nevcairiel
31st January 2012, 10:36
I will never force one output format for any codec, if the decoder outputs YUV, then i'll offer YUV to the renderer.
However, i did change one thing. In absence of any other information, LAV will now assume that FRAPS content is RGB, which means if you're using EVR, it'll stick with RGB because EVR is unable to change its input format. With EVR, this will basically ensure that its always getting RGB with FRAPS video. This was the cause of failure before, because it was converting the RGB to YUV

aufkrawall
31st January 2012, 10:58
I will never force one output format for any codec, if the decoder outputs YUV, then i'll offer YUV to the renderer.

I understand that you don't want to implement such "hacks" or fixes for other's fault. :)


However, i did change one thing. In absence of any other information, LAV will now assume that FRAPS content is RGB, which means if you're using EVR, it'll stick with RGB because EVR is unable to change its input format. With EVR, this will basically ensure that its always getting RGB with FRAPS video. This was the cause of failure before, because it was converting the RGB to YUV
Great. :)
Does this also apply to FRAPS YV12?
It looks wrong too without converting to RGB because it keeps PC levels, unfortunately.
I don't think that in this particular case it would ever have any kind of bad effects to future FRAPS videos.

Alabanda
31st January 2012, 12:31
Great to hear about the audio mixer!

I hope you also implement 'Headphone Virtual Spatialization' along the way. It works much better for (as per name) headphones when it comes to downmixing than simple stereo output. It's alike to Dolby Headphone. (Some say HRTF is even more powerful when it comes to in-ear headphones, but I don't have any and hate them actually :P Virtual Spatialization works for all.)

Thanks.

roytam1
31st January 2012, 13:20
I understand that you don't want to implement such "hacks" or fixes for other's fault. :)


Great. :)
Does this also apply to FRAPS YV12?
It looks wrong too without converting to RGB because it keeps PC levels, unfortunately.
I don't think that in this particular case it would ever have any kind of bad effects to future FRAPS videos.

if you have those samples, try them out with nightly build:
http://roy.orz.hm/lavf-w32-nightlies/lavf-my120131-b26ac02.7z

nevcairiel
31st January 2012, 13:32
I hope you also implement 'Headphone Virtual Spatialization' along the way. It works much better for (as per name) headphones when it comes to downmixing than simple stereo output. It's alike to Dolby Headphone. (Some say HRTF is even more powerful when it comes to in-ear headphones, but I don't have any and hate them actually :P Virtual Spatialization works for all.)


I have no plans to implement anything beyond what can be done with a default matrix mixer.

rsd78
31st January 2012, 16:51
Hi Nevcairiel,

I know this is a longshot request, but I thought I'd at least ask :). I am a long time user of Albain's Media Control plugin (I'm a WMC user). It is only compatible with Haali and Gabest splitter. I believe he open sourced the code, but I believe Albain has been MIA for some time. Is there any chance it'd be possible to make LAV Splitter compatible with Media Control? I don't have a sense of how hard it is, but I recall Albain adding Gabest support a while back in a relatively short period of time. I know you offer subtitle control via a regex of sorts, but I really like the GUI Media Control offers via the WMC player. I completely understand if its either not feasible or you are not interested however. I'd also accept an alternative GUI via WMC instead of Media Control that works with WMC instead as well :) (Kidding, but I thought I'd throw that out there).

I'd love to use Lav Splitter as it seems much more stable than Haali/Gabest when I played with it, but I really like the Media Control plugin/GUI.

Thanks Again

Andy o
31st January 2012, 17:20
I hope you also implement 'Headphone Virtual Spatialization' along the way. It works much better for (as per name) headphones when it comes to downmixing than simple stereo output. It's alike to Dolby Headphone. (Some say HRTF is even more powerful when it comes to in-ear headphones, but I don't have any and hate them actually :P Virtual Spatialization works for all.)


To me sounds better too (DH is based on HTRFs though, they mean different things). I'm a fan of DH, and would love it if LAV had it (but alas), cause right now there's no way for a DirectShow player to offer it, except commercial ones. foobar2000 uses the dolby dll for it, the same way LAV uses the dts dll for DTS-HD decoding.

A better option though, that will work with everything, not just the player, is a card that offers it. The Xonar U3 looks like the perfect one for the price. I have a DX on my desktop and U1 on my laptop and like them for it, but bear in mind that many people hate the Xonar cards.

mindbomb
31st January 2012, 17:28
yea, the dolby headphone plugin for foobar is great, although ironically, since its for a medium that is mostly stereo, it is not really necessary there.
Arcsoft also has a dtsheadphone.dll that could probably be used similiarly.

Also, although not alot of people use software deinterlacing anymore probably, I was wondering if there was any plans to multithread the yadif software deinterlacer, like in ffdshow?

e-t172
31st January 2012, 18:21
So, here i was thinking about an audio mixer

Can you please make it so that your mixer honors Dolby Metadata (http://www.dolby.com/uploadedFiles/Assets/US/Doc/Professional/18_Metadata.Guide.pdf) (most notably downmixing coefficients)? This would be a nice feature. It doesn't have to override the user specified matrix, just combine the two.

nevcairiel
31st January 2012, 18:24
Can you please make it so that your mixer honors Dolby Metadata (http://www.dolby.com/uploadedFiles/Assets/US/Doc/Professional/18_Metadata.Guide.pdf) (most notably downmixing coefficients)? This would be a nice feature. It doesn't have to override the user specified matrix, just combine the two.

I can ask the decoder to downmix using the Dolby metadata, or i can downmix myself, i cannot however combine the two.

NikosD
31st January 2012, 18:32
http://www.mediafire.com/?id7cd8aujnmwslf

What do you think is the problem with that file ?
Why did you post it ?

Because with PotPlayer 1.5.31590 and Intel Drivers 2559 I don't see a problem.

e-t172
31st January 2012, 18:38
I can ask the decoder to downmix using the Dolby metadata, or i can downmix myself, i cannot however combine the two.

In that case it would probably be best to have an option to let the decoder downmix, and use user-specified parameters if the decoder doesn't support downmixing. Personally, I don't care about specifying matrixes but I do care about correct downmixing which complies with the Dolby specifications.

Alabanda
31st January 2012, 20:05
To me sounds better too (DH is based on HTRFs though, they mean different things). I'm a fan of DH, and would love it if LAV had it (but alas), cause right now there's no way for a DirectShow player to offer it, except commercial ones. foobar2000 uses the dolby dll for it, the same way LAV uses the dts dll for DTS-HD decoding.

A better option though, that will work with everything, not just the player, is a card that offers it. The Xonar U3 looks like the perfect one for the price. I have a DX on my desktop and U1 on my laptop and like them for it, but bear in mind that many people hate the Xonar cards.

I'm not sure if you already know it, but I'll post for others anyway. ffdshow audio decoder already has such a functionality which is akin to Dolby Headphone. (I meant that in my previous post.)

It's in the Mixer submenu. For 'Output speakers configuration:' choose 'headphone virtual spatialization' and it'll be on. Use this only for 5.1+ audio input though, it's no good for stereo :P

Sad to hear you won't implement this nevcairiel. I wonder if I can get a VST host to work system-wide.

kalston
31st January 2012, 21:03
I'm not sure if you already know it, but I'll post for others anyway. ffdshow audio decoder already has such a functionality which is akin to Dolby Headphone. (I meant that in my previous post.)

It's in the Mixer submenu. For 'Output speakers configuration:' choose 'headphone virtual spatialization' and it'll be on. Use this only for 5.1+ audio input though, it's no good for stereo :P

Sad to hear you won't implement this nevcairiel. I wonder if I can get a VST host to work system-wide.

I tried it and didn't like it tbh. I'm not the biggest fan of Dolby Headphones either (annoying bass boost among other things).

I use JRiver MC with Isone Surround Free VST ( http://www.toneboosters.com/tb-isonesurround/ ) and I like it much better.
I think it's possible to use it in ffdshow (AFAIK there's a way of using VST plugins in ffdshow) and it's usable in foobar2000 too. It works not only with a 5.1 source but also with a 2.0 one, making it sound like it's played on two speakers in front of you (i.e. it doesn't upmix it).

Back on topic I don't really need the mixer to do anything other than "proper" down/upmixing, if that even means anything. I just want it to convert everything to a specified format (like upmixing mono to stereo and downmixing everything else to 2.0).

One thing I don't understand is that downmixing (to stereo) with ffdshow results in a higher volume (and clipping on some tracks) while when downmixing with JRiver MC's thing or my Asus drivers the volume is lower but it is also clipping-free on those same tracks. Does that mean they do a better dowmixing or that they simply do it differently?

aufkrawall
31st January 2012, 23:00
if you have those samples, try them out with nightly build:
http://roy.orz.hm/lavf-w32-nightlies/lavf-my120131-b26ac02.7z
Both RGB and YV12 videos look right with that LAV Decoder version at default settings (and EVR), so nevcairiel has fully solved it. :)

fairchild
31st January 2012, 23:34
@kalston and Alabanda, ffdshow also has a feature called Head-related transfer function (HRTF) which seems to do a better job than headphone virtual spatialization and of course can be used in conjunction with Lav Audio on headphones. It sounds superior to myself than the former but still debateable if it sounds better than just a proper 2.0 downmix/upmix.

CruNcher
1st February 2012, 04:12
@Nev
seek stall problem

http://www.mediafire.com/?4n6j8ut3gv72tql

MPC-HC Splitter = work
Av Splitter = work
VLC = work
mplayer = work
ffplay = work
avplay = work
Lav Splitter = fail (stalls after seek)
Potplayer = fail (cant seek @ all)

i guess i continue with seek issues (especially stalls) as i have no playback ones left for .ts/.mpg ;)

zerowalker
1st February 2012, 04:37
LavFilter "Splitter" set to AVI and Thumbnail on AVI causes COM Surrogate to crash.

CruNcher
1st February 2012, 04:42
you have to find out @ which file it's crashing @ parsing, or do you mean any .avi file parsing causes it to crash ?

Ok im through with seek testing amazing how stable .ts/.mpg is not 1 crash how hard i tried it (H.264,Mpeg1,Mpeg2,VC-1) :D seeking was always no problem sync also was always keeped nicely after seek the only stream that showed some strange effect after seek was a old known one Hilary.0000.ts it shows a strange acceleration effect to keep the sync something not visible when using Av Splitter on it though MPC-HC splitter fails rather hard on it sometimes stalls after seek actually the first seek always stalls.

But the rest was absolutely no problem back /forth long/short and partially scrubbing seeks very stable :) also fast forward is possible upto 4x times it seems though restricted to 4x times for everything ;)

This is no rating on Performance as the current setup wont allow it and also performance is imho with something like that not a priority :P

so i leave *.ts/.mpg with the last 2 issues behind me now ;)

https://forum.doom9.org/showpost.php?p=1554629&postcount=8628 <- no audio until seek else stall
https://forum.doom9.org/showpost.php?p=1555128&postcount=8700 <- no seek possible (stalls after seek doesn't recover)

@Nev
Why did you leave High Profile predictive 4:4:4 active for DXVA2 Copy Back, you should let it fall back to Libavcodec like it does with Quicksync,Cuvid already, unless of course you developed something to reconstruct the Intel Decoder output (the Grey shadow chroma reconstruction algorithm from the nothing) ;)