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

nevcairiel
12th March 2014, 21:58
I could, but I don't want to. Over 10 year old systems are not my target. Modern software for modern systems.

NikosD
12th March 2014, 22:01
It's not bad if you combine both, unless you have a performance hit (I doubt it).

You will break compatibility with older systems, without an important reason, in my opinion.

Is there a reason that you don't want older HW to run your software ?

nevcairiel
12th March 2014, 22:05
Like I said, I just don't care for over 10 year old CPUs. Have to draw the line somewhere. Why not support CPUs without SSE1 or MMX? Plenty Pentium1 around I bet.

No need to discuss this any further. Its not even finally decided yet, but in the end it will be my decision. Its in the future branch afterall.

NikosD
12th March 2014, 22:11
Pentium1 couldn't run even a DVD, 720x480 MPEG-2 :)

Anyway, it's your call, it's your software, but I would say to think again about SSE, mainly because of those powerful Athlons which can stand nowadays and run even Win 7, although they are 10 years old CPUs

Soukyuu
12th March 2014, 23:03
I tried playing a 10Bit 1080p 23,97fps mkv on my old AMD Athlon 2200+ once.
Once.
There is really no reason to cling so such an old computer. Mine even had problems streaming an SD youtube clip.
Recycle it and let it be reborn as something new.

NikosD
12th March 2014, 23:25
1080p 10bit clips can't be decoded even by dual core Pentium 4.

My old laptop with Core2Duo@1.66GHz has a lot of problems too.

Not a good example, I think ;)

DragonQ
12th March 2014, 23:27
My Celeron G530 does it fine...I think it uses 50-60% CPU. Don't need a powerful CPU, just a fairly modern one. ;)

LigH
13th March 2014, 08:20
I doubt that modern operating systems would even get installed if you don't have at least a DualCore CPU. Even the OS has a minimum requirement, already to base generic support of multimedia and gaming features on. There won't be much sense to develop media software which has lower requirements than the OS or their audio/video drivers and media APIs.

NikosD
13th March 2014, 08:32
Win 7 is a modern system and can be installed on an AthlonXP.

ryrynz
13th March 2014, 08:59
Answer was no, should just leave it at that.

fagoatse
13th March 2014, 09:09
SSE2 becoming standard and XP support being removed shouldn't come as a surprise in 2014.

Mangix
13th March 2014, 09:53
Win 7 is a modern system and can be installed on an AthlonXP.

Win 8 is a modern system and cannot be installed on an AthlonXP.

NikosD
13th March 2014, 10:54
WinXP, Vista and 7 have 90% of the whole Windows installations.

Win8/8.1 have 10%.

Do you really want LAV filters to be used only by those who can install Win8/8.1 aka 10% of the windows installations ?

ryrynz
13th March 2014, 11:13
You're ruling out all Windows 7 machines with SSE2 capable processors. Ten years is long enough.

Soukyuu
13th March 2014, 12:21
1080p 10bit clips can't be decoded even by dual core Pentium 4.

My old laptop with Core2Duo@1.66GHz has a lot of problems too.

Not a good example, I think ;)It sure is. There is virtually no reason to keep using, or keep providing compatibility for such hardware, if even more potent chips, like the ones you named, struggle with what is considered "good quality" video clips nowadays. Hell, they can't even play "bad quality" youtube videos.

NikosD
13th March 2014, 17:56
But you can use the HW decoding part of LAV filters on older CPUs and for the rest, the CPU.

If you exclude LAV filters due to CPU, you exclude HW decoding too. Or not ?

manolito
13th March 2014, 23:37
Like I said, I just don't care for over 10 year old CPUs.

I won't argue with you about this (even if I strongly disagree), but I would like to get some clarification...

Am I right to assume that the current version 0.61.1 does not work with non-SSE2 CPUs any more?

Which is the last version of LAVFilters that still does not require SSE2?

Could you please modify the installer so it will check the CPU capabilities on installation and refuse to install if the hardware requirements are not met?



Cheers
manolito

nevcairiel
14th March 2014, 00:52
0.61.1 should only require SSE, not SSE2.
Although performance will degrade quite a bit if you don't have SSE2, as all of my manual optimizations are only for SSE2, not for anything below.

Mangix
14th March 2014, 01:08
WinXP, Vista and 7 have 90% of the whole Windows installations.

Win8/8.1 have 10%.

Do you really want LAV filters to be used only by those who can install Win8/8.1 aka 10% of the windows installations ?

Market Share != modern.

Windows 7 was released 5 years ago. That is not modern.

Dion
14th March 2014, 01:51
Market Share != modern.

Windows 7 was released 5 years ago. That is not modern.

Modern means up to date. Windows 7 fits that bill easy.

Mangix
14th March 2014, 02:10
Modern means up to date. Windows 7 fits that bill easy.

Nope!

jkauff
14th March 2014, 04:00
Nope!
Well, at least Win 7 is not antique. It's modern enough for enterprise uses. XP and SSE are antique in 2014.

Apple eliminates support for certain older iPhones with every new major version of iOS. Everything in tech becomes legacy at some point.

kasper93
14th March 2014, 05:57
I have a question to everyone who moans about SSE2. Does the (future) change affect YOU? If not why you bother? I don't think there are much people who use non-SSE2 CPU for HTPC, because they are just not fast enough to play modern (HD) content. Well you know you can play xvid or something, but then why you care about new LAV releases for such old codec which is not gonna be updated or anything? Furthermore XP will be dead and there is no discussion here. People with such old hardware doesn't really use Vista+ because it was too demanding. XP runs faster on such old hardware. And while you use VERY old OS you can also use old codecs. What's the problem?

BTW, Windows 8 and Microsoft Office 2013 also require SSE2. Seriously guys we need to move forward, and not think about 10 years old HW which is just insufficient to be used for HTPC. LAV doesn't support DVXA1 and I don't see much people complaining about that, because very few people still needs it, it's simple as that.

James Freeman
14th March 2014, 07:12
@nevcairiel

Can you please include a "Stereo Front Mix" slider in LAV Audio Mixing tab?
Its the only one that is missing from the mixing options, and I want to hear the center channel solo.

NikosD
14th March 2014, 10:01
I have a question to everyone who moans about SSE2. Does the (future) change affect YOU? If not why you bother? I don't think there are much people who use non-SSE2 CPU for HTPC, because they are just not fast enough to play modern (HD) content. Well you know you can play xvid or something, but then why you care about new LAV releases for such old codec which is not gonna be updated or anything? Furthermore XP will be dead and there is no discussion here. People with such old hardware doesn't really use Vista+ because it was too demanding. XP runs faster on such old hardware. And while you use VERY old OS you can also use old codecs. What's the problem?

BTW, Windows 8 and Microsoft Office 2013 also require SSE2. Seriously guys we need to move forward, and not think about 10 years old HW which is just insufficient to be used for HTPC. LAV doesn't support DVXA1 and I don't see much people complaining about that, because very few people still needs it, it's simple as that.

I do have an AthlonXP PC with Vista/7 and would like to use LAV filters mainly for HW decoding (DXVA) of the HW accelerated codecs (H.264/VC-1/WMV3/MPEG-2/MEPG4-ASP).

For the rest of the codecs, CPU could or could not be enough (depends on the codec, resolution, bitrate etc)

GTPVHD
14th March 2014, 11:36
http://www.intel.com/content/www/us/en/nuc/nuc-board-dn2820fykh.html

http://www.legitreviews.com/intel-nuc-dn2820fykh-bay-trail-system-review_135053/6

Bay Trail is faster than any Athlon XP, supports SSE4.2, uses far less power and has the same Gen7 Ivy Bridge decoder, running rings around any AGP AMD card in hardware decoding performance. Just retire the outdated Athlon XP.

Or if you don't mind waiting, Cherry Trail has the Gen8 GPU from Broadwell and will have even higher hardware decoding performance.

http://vr-zone.com/articles/first-look-new-features-cherry-trails-gpu/64068.html

Either way, the AthlonXP and AMD AGP cards have to go, they've long outlived their usefulness.

kasper93
14th March 2014, 13:00
I do have an AthlonXP PC with Vista/7 and would like to use LAV filters mainly for HW decoding (DXVA) of the HW accelerated codecs (H.264/VC-1/WMV3/MPEG-2/MEPG4-ASP).

For the rest of the codecs, CPU could or could not be enough (depends on the codec, resolution, bitrate etc)

If I may ask what gpu do you put there? And even more important question. Do you actually use this as your HTPC or just have it in a closet and power it up once a few months. If you use it as main pc, I'm sorry for you. I also had AthlonXP and it can't coop with web browsing few years ago due to flash killing cpu or web browser use all the ram.

I see no point in discussing this. This hardware is just outdated. You should really consider buying cheep, new, low power consumption CPU. It really will be less noisy and you will save some money on power consumption.

Sorry if you consider this post off topic, but I'm just curious why people use such old hardware and yet want modern software for them.

Tapatalk 4 @ GT-I9300

NikosD
14th March 2014, 13:29
The discussion is clearly OT and I've never said that an AthlonXP is a modern system.

I have 8 PCs and obviously that one is not my main PC.

For me, the discussion should be the opposite.

What's your problem of supporting old HW ?

Which is the weight, the overhead or the trouble to keep on supporting older HW ?

Are LAV filters going to be faster or better because of dropping old HW support ?

I don't really have a problem of dropping SSE support in favor of SSE2, I just don't understand why we can't have both.

kasper93
14th March 2014, 13:49
The discussion is clearly OT and I've never said that an AthlonXP is a modern system.
I never said you have.

I have 8 PCs and obviously that one is not my main PC.
That's exactly my point you will live if 1 of 8 PC will use older lav build. You don't watch movies on every pc at once, do you?

For me, the discussion should be the opposite.

What's your problem of supporting old HW ?

I don't have any problem, but when software development is blocked by old HW with no apparent reason there is something wrong. It just we need to focus on modern systems and improve performance on them.

Which is the weight, the overhead or the trouble to keep on supporting older HW ?

Are LAV filters going to be faster or better because of dropping old HW support ?

I don't really have a problem of dropping SSE support in favor of SSE2, I just don't understand why we can't have both.

This aren't questions for me. I have nothing to say about what LAV can or not. It not my decision to make. But like it have been already said we need to drawn the line somewhere. Why not support win98? SSE2 is not even in master branch yet. I was just curious if people use old HW for main HTPC and why. And I still didn't get the answer, because apparently there are no people to answer this question.

This is pointless. Sorry for OT, nev.

Tapatalk 4 @ GT-I9300

NikosD
14th March 2014, 14:24
Usually, in most of the cases, those kind of lines are drawn by companies artificially, in order to sell new products.

Win8.x could run on an AthlonXP faster than any previous Win OS version, for example.

nevcairiel
14th March 2014, 14:33
Microsoft doesn't sell hardware, what do they have to gain.

It simplifies the developers tasks if you can just assume that something is always present, and it can gain speed.

DragonQ
14th March 2014, 14:35
It's pretty obvious that the more hardware you have to support, the harder that support becomes. Code becomes more complicated and harder to maintain.

NikosD
14th March 2014, 14:42
Microsoft gains a lot if HW companies sell new PCs, in order to run the new OS.

Buying a new PC, usually means buy a new OS (not just upgrade OS) and software companies always want newer and faster HW in order for their SW to look faster, like HW companies need new and more demanding SW in order to need and use the new HW and so on. It's a circle.

About speed, the gain of that reason is how much ? 2% ?

manolito
14th March 2014, 17:59
Developers should also keep in mind that there is a growing number of people (even among computer freaks) who start to refuse to be part of this rat race. People who care for the environment begin to question if they really need a new smartphone every year, a new car or a new computer every other year and so on.

Just look at the growing number of repair cafes where folks get their technical devices fixed instead of buying a new one. My main desktop computer is ancient, but it does almost everything I need to do with it (I do have a faster laptop for watching HD stuff). And whenever I see my friends computers with current hardware I notice that my carefully maintained machine boots up faster than theirs. Looks like most of the extra CPU power is eaten up by the ever bulkier Win7 and Win8 operating system.


Cheers
manolito

nevcairiel
14th March 2014, 18:25
And users should keep in mind that I do this in my free time, and if I don't want to worry about hardware from over a decade ago, then that's how it is.

PS:
Windows 7 runs better on many old systems than XP, your "bulkier" is not true.

jkauff
14th March 2014, 19:10
Nev has spoken, and this tangent is done. Let me cap it off by saying how much we appreciate your work on the LAV filters, which have quickly become the de facto standard for video playback. With your new job, there must be even less time to devote to LAV. Thanks so much for everything you've done and continue to do.

And that includes hanging out here on doom9 reading and responding to your users, regardless of what they write.

turbojet
14th March 2014, 21:44
Using dss2mod's internal lav filters integration was a solution to using different lav settings for encoding and playback, it doesn't need a registered lav and doesn't touch registry which is nice.

nevcairiel: Was repeat first field a lot of work to implement? It's the only video decoder that supports it but it's pretty vital for madvr ivtc so thinking about bringing it up with other lav decoders like mpc-be and potplayer.

bugmen0t
15th March 2014, 13:28
@nev
The downmixer defaults to stereo both for speaker configuration and mix levels. If I change the former to e.g. mono am I supposed to correct the mix levels, too, or are they internally scaled to match (e.g. ITU-R BS.775 mono downmix has L = R = -3dB instead of 0dB)?

nevcairiel
15th March 2014, 13:30
Mix levels are automatically adjusted for the number of speakers, ie. if a channel is split into two speakers the volume is lowered, if its combined from two into one, its increased.

e-t172
15th March 2014, 13:35
Mix levels are automatically adjusted for the number of speakers, ie. if a channel is split into two speakers the volume is lowered, if its combined from two into one, its increased.

Are you using 3dB or 6dB gain for this operation?

nevcairiel
15th March 2014, 13:38
3dB, as that's how I understand its supposed to work.

James Freeman
16th March 2014, 12:10
nevcairiel,
Is there any chance that the Stereo channel will also be controllable and not only the Surround and Center when down-mixing?

nevcairiel
16th March 2014, 12:12
Stereo is kept as is, not likely to change.

James Freeman
16th March 2014, 12:45
OK cool,

Can you give more range (more than 3) to the LFE channel?
I have headphones that go below 20Hz but these frequencies need to be boosted substantially (about 15db more that center) to be heard.

When down-mixing with my audio interface mixer I have Stereo to -15db, Surround and Center to -18db, and LFE to 0db.
This way I get a very convincing subwoofer sound in my headphones that goes below 20Hz.

How the mixing scale translates to db? 0.71 is about -3db?

nevcairiel
16th March 2014, 12:52
Its a flat multiplier for the PCM values. A factor of sqrt(2) is 3dB, so 1.41 is a 3dB boost, 2.00 a 6dB boost, or 0.7071 a 3dB reduction.
Unlikely to increase the LFE multiplier. Its already much higher range then the others due to the requirement of a 10dB boost of the LFE channel.

James Freeman
16th March 2014, 12:59
The LFE channel is pre-boosted 10db (like in a receiver) when the slider is at 1.0?
If so, good.

A quick question:
The Peak of the original LFE track is -10db even on blu-rays?...
I thought only in cinema calibration they did this, and on blu-ray the LFE track peak is at 0db, or is it?

e-t172
16th March 2014, 15:50
I'm not sure I understand your questions. LFE should be boosted by 10dB on all material (and that's what all AV receivers do). Please read ITU-R BS.775 (http://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.775-3-201208-I!!PDF-E.pdf) which describes this in excruciating detail.

James Freeman
16th March 2014, 18:00
Thanks, I was not aware that ITU has a standard for that too.

The standard clearly says "10 dB of gain applied on reproduction", but it does not state where.
It can be at the Amplifier, Receiver, Software, Player, etc...

I have a Polkaudio subwoofer which I calibrate with pink noise 10db higher than the front speakers (using the internal amplifier of the sub).
LAV Audio adds 10db of gain to the LFE channel.
Does that mean that I have a total of 20db boost, and all this time I've been listening 10db louder than it should be?

EDIT:
Looking at my db Meters in the Audio Interface, I can see that LFE does not reach 0db no matter what movie I tried.
Does this mean that LAV Audio add 10db of boost to LFE only in Mixing mode?

nevcairiel
16th March 2014, 18:24
LAV does by default not add any gain, nor should it. If you don't downmix, the extra gain should be added in the last component - ie. by your DAC, or if it doesn't by the audio renderer just before the DAC. Audio/Video Receiver will usually apply the gain for you when you stream HDMI audio.
In some case the DAC or your software cannot do it, then you can always crank it up at the Amp.

In short, in multi-channel output (no downmix), its not the decoders responsibility to add LFE gain.

The situation changes when you downmix to stereo, since there is no dedicated LFE channel anymore, nothing would ever know what to boost. In this case, you can control the LFE gain using the LFE mixing slider in LAV.
I forgot what the desired value should be for proper 10dB boost in downmix, taking the split into two speakers into account.

There is a few posts from e-t172 here about the mixing level:
http://forum.doom9.org/showthread.php?p=1654296#post1654296
http://forum.doom9.org/showthread.php?p=1654465#post1654465

James Freeman
16th March 2014, 18:43
Thank you.

So , LAV is a decoder therefor does not add any gain, great.
What about "Default DirectSound Device" that MPC-HC is using as default audio renderer?

About stereo Mixing LFE slider:
10db -3db (stereo center) = 7db = 2.23 of voltage gain.
Here is the calc: http://www.sengpielaudio.com/calculator-gainloss.htm