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

jmone
10th June 2011, 06:38
nevcairiel, what tool do you use to examine the timecode info on the video frames in a M2TS (x264, AC3) video clip. I've got some issues with how PowerDirector9 is rendering transitions on some 1080/50p material and I wnat to "see" what it is doing.
Thanks
Nathan

nevcairiel
10th June 2011, 06:49
nevcairiel, what tool do you use to examine the timecode info on the video frames in a M2TS (x264, AC3) video clip.

None, if i'm debugging a issue i usually just add debug lines to LAV Splitter that output the timestamps.

hoborg
10th June 2011, 07:09
Nev

Can LAV Source Spitter force ffdshow raw video filter to be loaded by option? Like Haali Media Splitter can always load VSFilter by option. The main usage is

LAV Source Splitter + LAV CUVID Decoder + ffdshow raw video filter inside WMC internal player

for dual purpose:

1. Subtitles (CUVID is preferred instead of ffdshow Video Decoder because of hardware deinterlacing)
2. SVP (frame interpolation)

Somehow ffdshow raw video filter (or DirectVobSub) is never loaded inside WMC internal player however high its merit value is. On the other hand, if Haali is used and "Autoload VSFilter" is enabled, DirectVobSub is loaded fine in WMC. Yeah, I know it's the player's role what filter is loaded, but WMC is crappy and quite a few people want to use it nevertheless.

+1
This will be usefull.

adam777
10th June 2011, 07:35
Thank for the new version :)
Live TV PES stream audio decoding still a no go in here, though.

nevcairiel
10th June 2011, 07:46
Did you re-register LAV Audio?

Also, Pin information would be useful. Does it connect LAV Audio and decoding fails, or does it not even use LAV Audio to begin with?

adam777
10th June 2011, 08:12
OK.
First of all, I renamed my default AAC decoder (for TV viewing, that is) and also FFDShow, to make sure they won't load, and than launched the application.
Judging by Process Explorer, LAV Audio seems to load - http://i.imgur.com/zEUVA.png
I also connected to the graph in Graph Studio utilizing DirectShow Filter Graph Spy and got the following:
http://i.imgur.com/NZTsQ.png
http://i.imgur.com/8SPrh.png
http://i.imgur.com/XqRhs.png
http://i.imgur.com/Mrb6Y.png
http://i.imgur.com/5YCvd.png
Let me know what else is needed and thanks again.

nevcairiel
10th June 2011, 08:15
The graph seems rather broken, it didnt actually connect any decoder to the source.

Which Player is that, is it freely available (maybe as trial or somethign) for testing?
I hope one of my TV channels actually uses AAC audio, i think its really uncommon here.

A shot of the Audio Output Pin of the Source would still be helpful!

nevcairiel
10th June 2011, 08:35
For mp4, LAV splitter seems not to handle EDTS correctly like previous Haali.
Thus, movie which contains several b-frames (by x264.exe) cannot be seeked accurately or may have desynchronization.

This is all in the hands of ffmpeg. There have however been some fixes coming in since the last time i updated ffmpeg, and i'll be merging those fixes for the next version.

Do you have a sample file which shows the problem, so i can see if things improved?

adam777
10th June 2011, 08:48
The graph seems rather broken, it didnt actually connect any decoder to the source.

Which Player is that, is it freely available (maybe as trial or somethign) for testing?
I hope one of my TV channels actually uses AAC audio, i think its really uncommon here.

A shot of the Audio Output Pin of the Source would still be helpful!

It's available for free here - http://pvr.sichbo.ca/
The audio isn't really AAC but HE-AACv2, which is decoded fine when dumping an MPEG-TS from within the program and playing it directly in MPC-HC using LAV Splitter and LAV Audio (I think it even decodes it as stereo which is good, obviously).
Sample (not even sure if it's helpful, but no harm in that) - http://www.multiupload.com/LDFM8YY1VP
And the audio output pin:
http://i.imgur.com/8rpah.png
http://i.imgur.com/wVjaI.png
:thanks:

nevcairiel
10th June 2011, 08:52
Ah, its LATM AAC of course, not sure if that can be decoded without proper parsing. I'll do some thinking on this.

You wouldn't happen to have some other TV stations that use MPEG or AC3 Audio, and test if those work? :D

hoborg
10th June 2011, 08:55
Ah, its LATM AAC of course, not sure if that can be decoded without proper parsing. I'll do some thinking on this.

You wouldn't happen to have some other TV stations that use MPEG or AC3 Audio, and test if those work? :D

That will be great.
A lot of HTPC users are forced to use Monogram AAC or DivX AAC decoder to be able watch LiveTV/Recordings with LATM/HE-AAC.

nevcairiel
10th June 2011, 08:57
The problem with LATM is that part of the parsing is done in LAV Splitter, so i would need to move that over to LAV Audio instead.. we'll see how it turns out.

Too bad i don't have a HE-AAC tv channel that i know of, i'll probably throw some test builds at you later. :p

ney2x
10th June 2011, 10:42
Thanks! As usual it's working great! For me/us, last feature that I'm/we're waiting is audio up/down-mixing, and it's perfect! :D

CruNcher
10th June 2011, 11:26
Ah, its LATM AAC of course, not sure if that can be decoded without proper parsing. I'll do some thinking on this.

You wouldn't happen to have some other TV stations that use MPEG or AC3 Audio, and test if those work? :D

Hehe samples i guess you have enough (LATM) and yeah that Mplayer works in most Latm situation and also uses ffmlatm and lav audio doesn't is strange (except scalable aac) ;)

nevcairiel
10th June 2011, 11:27
File samples are irrelevant, as this is about decoding Live TV Audio.

Mark_A_W
10th June 2011, 12:47
Thanks! As usual it's working great! For me/us, last feature that I'm/we're waiting is audio up/down-mixing, and it's perfect! :D

Up/down mixing is pretty useless without delay.

I'd also like to be able to force 32bit FP output.


Then I could replace ffdshow audio with LAV Audio completely.

e-t172
10th June 2011, 12:52
Up/down mixing is pretty useless without delay.

I'm confused. Can you give more details as to why is delay useful here?

nevcairiel
10th June 2011, 13:08
I'd also like to be able to force 32bit FP output.

Why? That would not have any benefits.
It is however a planned feature, i would just like to know why people want to use it.

Dogway
10th June 2011, 14:59
Some more details would be great. What video codec, what audio codec, oh and a short sample!
I tried to split the .mkv to upload a short sample, but the small samples work. So its more likely what I already said, version of mkvmerge.
mkvmerge v1.5.0
libebml v0.7.5 + libmatroska v0.7.7
video: AVC High@L5.1 x264 core 54 rev 600
audio1:libVorbis 1.0 (UTC 2002-07-17) 2ch
audio2:libVorbis 1.0 (UTC 2002-07-17) 2ch
subs:S_TEXT/SSA

Or you tell me how to split .mkv without modifying the header...

adam777
10th June 2011, 15:02
The problem with LATM is that part of the parsing is done in LAV Splitter, so i would need to move that over to LAV Audio instead.. we'll see how it turns out.

Too bad i don't have a HE-AAC tv channel that i know of, i'll probably throw some test builds at you later. :p

Oh, joy!
Thanks :p

nevcairiel
10th June 2011, 15:27
This build enables AAC LATM parsing in the audio decoder. Let me know if it did anything. :p

http://files.1f0.de/lavf/LAVFilters-0.29-3-g94f4a34.zip

That PVR app you're using is sadly not compatible with my DVB-C/T hardware, so i cannot test it. :(

Note that i also just updated ffmpeg in this build, and have not yet extensively tested since the update. :)

BloodySword
10th June 2011, 17:43
@nevcairiel:

Could you please help me develop my new WPF-Based player?
In my first tests I use QuartzTypeLib via Interop. Is this correct?

I need a full list of Classes and DLL Imports I must use for full functionality (eg AspectRatio control of renderers etc.)

Thanks

hoborg
10th June 2011, 18:43
This build enables AAC LATM parsing in the audio decoder. Let me know if it did anything. :p

http://files.1f0.de/lavf/LAVFilters-0.29-3-g94f4a34.zip

That PVR app you're using is sadly not compatible with my DVB-C/T hardware, so i cannot test it. :(

Note that i also just updated ffmpeg in this build, and have not yet extensively tested since the update. :)

Just tested in NPVR and LAVF audio decoder refuse connection to MS demultiplexer.

Divx AAC decoder working.

Tested on "Psychoville 2_20110505_22002230.ts" sample.

madshi
10th June 2011, 19:04
- Added support for decoding encrypted DVD audio

[...]

LAV Audio can now be used for DVD playback
Can you provide a few details on the technical solution? You know, madVR still doesn't properly do DVD playback on newer OSs, due to the stupid MS navigator making problems. Do you have any clue how to work around that Macrovision crap I'm having problems with?

Thx.

andyvt
10th June 2011, 19:14
@nevcairiel:

Could you please help me develop my new WPF-Based player?
In my first tests I use QuartzTypeLib via Interop. Is this correct?

I need a full list of Classes and DLL Imports I must use for full functionality (eg AspectRatio control of renderers etc.)

Thanks

DirectShow.NET (http://directshownet.sourceforge.net/)

Mark_A_W
11th June 2011, 00:23
I'm confused. Can you give more details as to why is delay useful here?

Sorry, perhaps I over stated my case. You need both delay and channel mixing (at least) to be a complete audio processor. Without both, I'd still need to use ffdshow.

Why? That would not have any benefits.
It is however a planned feature, i would just like to know why people want to use it.


Ah, because the filter I use after the audio decoder, Convolver Wrapper, only works with 16 bit or 32 bit data.

If it gets 24 bit then the audio is garbled. And as most of my movies have 24 bit audio, I don't want to send out 16 bit. Again, without being about to force 32bit FP, I'd be using ffdshow in the chain to force it.

Compatibility is the reason. Reclock will do the same thing, but at the end of the chain - which is too late for me.


Cheers

Mark

PS. I just donated - it's on the Downloads page on Nev's blog. Get to it you bunch of tightarses, buy nev a beer :p

jmone
11th June 2011, 00:36
PS. I just donated - it's on the Downloads page on Nev's blog. Get to it you bunch of tightarses, buy nev a beer :p

+1 - it's at http://1f0.de/downloads/ if you have trouble finding it.

SamuriHL
11th June 2011, 00:37
Yup, I just donated, as well. :)

Skinleech
11th June 2011, 08:49
This build enables AAC LATM parsing in the audio decoder. Let me know if it did anything. :p

http://files.1f0.de/lavf/LAVFilters-0.29-3-g94f4a34.zip

That PVR app you're using is sadly not compatible with my DVB-C/T hardware, so i cannot test it. :(

Note that i also just updated ffmpeg in this build, and have not yet extensively tested since the update. :)

I'll test this later with DVBViewer & UK Freeview HD, I'm just about to go out for a few hours.

I mentioned this several pages back but knew it was low on your priority list - nice to see it getting some love, thank you :)

Jay_UK
11th June 2011, 09:28
Hi Nevcairiel,

Thanks for responding to my questions about audio profiles and the issue about using ffdshow (and profiles) with your splitter.

The problem I have, is that my source is a stream and not a file. As such I am not sure if its possible to use your splitter (lavf splitter) with ffdshow profiles to detect just FLV content?

Thanks,

J.

ps - From what I saw when testing, it looked great! Keep up the good work :)

adam777
11th June 2011, 09:47
This build enables AAC LATM parsing in the audio decoder. Let me know if it did anything. :p

http://files.1f0.de/lavf/LAVFilters-0.29-3-g94f4a34.zip

That PVR app you're using is sadly not compatible with my DVB-C/T hardware, so i cannot test it. :(

Note that i also just updated ffmpeg in this build, and have not yet extensively tested since the update. :)

Hi nevcairiel,
Tried the build - still not getting any sound.
Graph studio, pin information etc. exactly the same as last time.
Adam.

CruNcher
11th June 2011, 09:56
Yep no sound in many samples (also the extreme wrong muxed audio ones, signaling mp1 or mp2 instead of latm (aac)) still mplayer is the only one playing them all (though the corrupted ones better then the remuxed ones, also funny :D).

http://www.megaupload.com/?d=BPADC18B <- remuxed one no sound @ all except with DivX AAC Decoder (but to fast playback,video is faster then audio :D) stream even accepted by videolan (video plays, doesn't accept the original) mplayer (video plays but not smooth anymore, audio also doesn't play anymore like it does with the corrupted original :D)

Though with these samples lav audio decoder connects but for the corrupted streams shows mp1/mp2float and for the remuxed one aac_latm but still no audio.

Audio works (to fast Video Playback):

Filter : DivX AAC Decoder - CLSID : {2CCC9657-58A9-41AC-AA39-451202B98FAF}

- Connected to:

CLSID: {171252A0-8820-4AFE-9DF8-5C92B2D66B04}
Filter: LAV Splitter
Pin: Audio

- Connection media type:

Audio: AAC(LATM) 24000Hz stereo

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {000001FF-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 256000
cbFormat: 20

WAVEFORMATEX:
wFormatTag: 0x01ff
nChannels: 2
nSamplesPerSec: 24000
nAvgBytesPerSec: 0
nBlockAlign: 1
wBitsPerSample: 0
cbSize: 2 (extra bytes)

pbFormat:
0000: ff 01 02 00 c0 5d 00 00 00 00 00 00 01 00 00 00 ÿ...À]..........
0010: 02 00|14 90 ...


Audio Fails (Video Playback ok):

Filter : LAV Audio Decoder - CLSID : {E8E73B6B-4CB3-44A4-BE99-4F7BCB96E491}

- Connected to:

CLSID: {171252A0-8820-4AFE-9DF8-5C92B2D66B04}
Filter: LAV Splitter
Pin: Audio

- Connection media type:

Audio: AAC(LATM) 24000Hz stereo

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {000001FF-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 256000
cbFormat: 20

WAVEFORMATEX:
wFormatTag: 0x01ff
nChannels: 2
nSamplesPerSec: 24000
nAvgBytesPerSec: 0
nBlockAlign: 1
wBitsPerSample: 0
cbSize: 2 (extra bytes)

pbFormat:
0000: ff 01 02 00 c0 5d 00 00 00 00 00 00 01 00 00 00 ÿ...À]..........
0010: 02 00|14 90 ...

Boltron
11th June 2011, 13:05
Finally, a Donate button! Your awesome Nev, I am happy to support you.

CiNcH
11th June 2011, 13:43
@ nevcairiel,
can you please point me to the definition of the ITrackInfo interface?

nevcairiel
11th June 2011, 13:50
Thanks to everyone who donated, you guys are really awesome. :)

can you please point me to the definition of the ITrackInfo interface?

http://git.1f0.de/gitweb?p=lavfsplitter.git;a=blob;f=common/includes/ITrackInfo.h;hb=HEAD


Can you provide a few details on the technical solution? You know, madVR still doesn't properly do DVD playback on newer OSs, due to the stupid MS navigator making problems. Do you have any clue how to work around that Macrovision crap I'm having problems with?

I'm not sure why that Macrovision failure happens. I don't know if the renderer needs to implement something special to indicate that it supports Macrovision.
All i basically implement is a IKsPropertySet in the Input Pin which accepts a bunch of DVD propertys from the Naviagtor (these -> http://msdn.microsoft.com/en-us/library/dd388585(v=vs.85).aspx)

Everything else is basically just using DeCSS to decrypt, which the renderer doesn't have any say in.

Implementation is here: http://git.1f0.de/gitweb?p=lavfsplitter.git;a=blob;f=common/DSUtilLite/DeCSS/DeCSSInputPin.cpp;hb=HEAD

blahism
11th June 2011, 15:05
how much of a donation would i have to make to get media foundation splitter reconsidered? :) i unfortunately don't have the time to review the code to make code contributions but i wouldn't mind donating money if that inspires any movement there

nevcairiel
11th June 2011, 15:48
Since my time is quite limited, it'll probably not be moved up in the time table.
Its not that i dont want to do it, its just that i have alot other things to do that serve a real world purpose for me. :p

Skinleech
11th June 2011, 16:17
Tried the LATM build with no joy. I have LAV Audio selected in both audio filters sub menus in Dvbviewer but it always defaults to the MS DTV Audio decoder.

nevcairiel
11th June 2011, 16:33
DVBViewer works just fine for me, however i have no AAC channels, so i can only test AC3 and MPEG Audio. I would need some Pin informations for that.

CiNcH
11th June 2011, 16:44
I am attaching a small LOAS/LATM packaged AAC-HE sample.

I have also got samples from Japan where there is a 2.0 -> 5.1 change and vice-versa mid-stream.

tormento
11th June 2011, 16:53
I have totally switched from Haali+CoreAVC(registered and paid)+FFDAnythingelse to LAV "suite".

If I try to play a video only mkv output from Megui, MediaPlayerHC is unable to seek when clicking on the progress bar and jumps back to 00:00.

Bad explanation, please try yourself ;)

The same video works ok with haali or internal mphc splitter.

fps
11th June 2011, 17:45
- Fix decoding of some DTS-HD streams with the ArcSoft decoder

Thanks for this bugfix, this seems to have solved some issues, where the channel output switched from 5.1 to 6.1 after some time, which caused a lot of audio dropouts. I've only noticed this problems with DTS-HD tracks (using the arcsoft decoder, didn't have time to check the internal one), AC3 playback was fine all the time.

However, I've encountered another problem today. At a specific scene of the Die Hard 4.0 Blu-Ray (english DTS-HD track) I either get lots of audio dropouts or the audio is kind of played in the wrong order, some parts from some time after the current get played back and so forth. This is pretty much always reproducible with the internal dts decoder, it doesn't happen all the time with the arcsoft one. Enabling bitstreaming shows the same problem. With libtds from ffdshow audio playback is fine.
Setup: Win7/32, madVR, CoreAVC 2.55, mpcHC, LAVFilters 0.29

Do you have this Blu-Ray or would a sample/log help?

nevcairiel
11th June 2011, 18:35
I have it on Blu-ray, but who knows if its the same version. What time in the movie does the problem occur?

endpoint122
11th June 2011, 18:54
how make this work at my mpc-hc
i downloaded and setup then i added it make it my perfer but when i see filters it's not in them why?

fps
11th June 2011, 19:33
I have it on Blu-ray, but who knows if its the same version. What time in the movie does the problem occur?
My Blu-Ray has a runtime of 2h08m44s. The scene is at about 15 minutes, where the terminator figure hits the delete key and the appartment is blown up. After that you see the sniper looking below, that's where the problem starts. You hear him zipping the case and the other guys caughing, while he's still looking at the appartment. Might take a few runs to reproduce the problem, but I'd say it's there about 80% of the time.

Andy o
11th June 2011, 19:40
what do you see in filters?

fps
11th June 2011, 19:57
Do you mean the filters menu of MPCHC, or the status page of LAVAudio?
In MPCHC it's just the usual, Reclock Audio Renderer, madVR Renderer, CoreAVC, LAV Audio and LAV Splitter.

The status page of LAVAudio shows

Input:
Codec: dca
Channel: 6/0x3f
Sample Rate 48000
Format: 32 bit float

Output:
Codec: PCM
Channel: 6/0x3f
Sample Rate 48000
Format: 32 bit float

So it looks like normal I guess. With v0.28 it was 7 channels at the output page, which I described two posts before.
But with 0.29 it correctly shows 6 channels even after the problem.

endpoint122
11th June 2011, 20:04
right click on the movie then filters to see which one is use

fps
11th June 2011, 20:06
That's what i posted above ;).

Ap3 n1nja
11th June 2011, 23:18
Hey guys, I don't know if this is what it's suppose to be, but does anyone else see "C#¼¯" as an audio codec when playing files with vorbis audio? (I'm using Potplayer btw)