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

Blight
10th March 2013, 17:17
nev:
You have previously said you will never include any post-processing features into the audio/video decoder,
but would you ever consider exposing ffmpeg's post-processing capabilities into a separate post-processing filter with an intuitive API?

A good optimized software implementation of the following would be really cool:
* Image Rotation
* Color Controls (Contrast/Brightness/Hue/Saturation/Gamma)
* Non-Linear scaler converting 4:3 content to 16:9
* Software DeInterlacing

Please consider :)

dukey
10th March 2013, 17:29
EVR can do most of that, non linear stretches, brightness etc

Blight
11th March 2013, 02:41
dukey:
I'm looking to establish backward compatible fill-ins for partially supported or non-existant hardware tech.
And EVR can't do rotation as-is, and with all the people making videos side-ways, it would be nice to have a real-time software solution.

Mercury_22
11th March 2013, 13:08
@ Nev
Any chance you can add support for playing Blu-ray / DVD from ISO ?

Other filters (AV Splitter :p) and players already support ISO

nevcairiel
11th March 2013, 13:10
Any chance you can add support for playing Blu-ray / DVD from ISO ?

No, there are no plans for this.

wanezhiling
11th March 2013, 15:27
ISO playback is a feature of the splitter, indeed.

But nev has no plans for this.

terence_13
11th March 2013, 20:45
ISO playback is a feature of the splitter, indeed.

But nev has no plans for this.

Without starting a philosophical discussion, ISO support is a feature of a virtual drive software, and not of a Splitter. Admit it: you want it in a Splitter just for convinience reasons ;-)

RealSnoopyDog
13th March 2013, 08:11
100% agree to nev and terence! Software architecture is the key word....

MarkT
13th March 2013, 13:12
I guess I was using 1.1.0.0 after all cause it was the least buggy at the time, is that still the case?

dtsdecoderdll.dll 1.1.0.1 (929792 bytes, MD5 sum 6cf9be730abceab942d2e5d0cd578bf5) together with msvcp80.dll and msvcr80.dll in same directory is the best because most bug free for that purpose.

Compare http://forum.doom9.org/showpost.php?p=1508746&postcount=3888

nevcairiel
13th March 2013, 13:25
I don't know of any real-world 6.0 stream, so 1.1.0.8 is fine for me. 2.1 content is broken with 1.1.0.1, so which type of stream is more common? I don't know. :)

Use whatever you have at hand, although i would avoid 1.1.0.0 because of the differences in lossy decoding.

nx6
14th March 2013, 06:48
Without starting a philosophical discussion, ISO support is a feature of a virtual drive software, and not of a Splitter. Admit it: you want it in a Splitter just for convinience reasons ;-)

I wonder if Windows 8 could handle it since it supports mounting ISOs on its own now...

nevcairiel
14th March 2013, 07:56
Windows 8 can mount BD ISOs just fine, so that could be made to work for you if you run it.

DragonQ
14th March 2013, 13:44
I wonder if Windows 8 could handle it since it supports mounting ISOs on its own now...
I'd hoped this would remove the need for mounting software but, alas, Windows 8 can only mount ISO files, not other formats (e.g. MDS/MDF).

nevcairiel
14th March 2013, 13:53
People still rip into proprietary formats? Well, their loss.

DragonQ
14th March 2013, 16:38
Not sure if it's still true now but back in the day it was the only way to rip some discs. I have a few rips of my game CDs/DVDs that did not work properly as ISOs but did as MDS/MDF.

Pepp
15th March 2013, 01:09
Option Use Microsoft WMV9 DMO decoder WMV3 and VC-1 ?

Can you guys help someone that has difficulty learning ? :o :embarrassed:

Is this option like VC-1 just for WMV type files and can MPC-HD with lav filters play these files without any windows DMO codecs or the inbuilt mediaplayer that comes with windows?

Thankyou

vhs.d9
15th March 2013, 01:14
KB2670838 http://support.microsoft.com/kb/2670838
This update greatly improves h264 dxva decoding.
Before this update, I had (laptop with Intel i5 HD graphics) to switch between lav and Microsoft h264 dxva decoder,
because some encoded movies were not dxva supported with a LAV(only software decoding or with older version of it
buggy decoding - author know what I'm talking about).
Wit a Microsoft video decoder I was able to play those files(dxva worked) that lav did not supported but it failed with
many movies(buggy decoding black tiny squares...).
With this update all problem were resolved.
Now I use lav for everything except for h264.

nevcairiel
15th March 2013, 08:31
(only software decoding or with older version of it buggy decoding - author know what I'm talking about).

No i don't.
DXVA2 with recent Intel GPUs (Sandy and Ivy Bridge) should be perfect these days, you should try more recent versions of LAV.
If you encounter any files that do not play properly, please report them, instead of doing rather vague statements about it.

I haven't exactly tried the MS decoder after the update, but i would bet it still simply falls over when you try to play 10-bit content, and has no grafeul fallback to software like LAV has.

itsonlyjustincase
15th March 2013, 11:01
Microsoft h264 dxva decoder

I don't see that thanks to win7dsfilter. Where did you get that ?

vhs.d9
15th March 2013, 16:41
No i don't.
DXVA2 with recent Intel GPUs (Sandy and Ivy Bridge) should be perfect these days, you should try more recent versions of LAV.
If you encounter any files that do not play properly, please report them, instead of doing rather vague statements about it.

I haven't exactly tried the MS decoder after the update, but i would bet it still simply falls over when you try to play 10-bit content, and has no grafeul fallback to software like LAV has.
I hava Arrandale series processor(1st generation of core i5)

test video:https://mega.co.nz/#!pkUTSbpK!dIgbAXlWc0jF60Ok2UWmqzGfn6xqRs2VyS5v8dyoTj8

Microsoft decoder doesnt support 10bit input

nevcairiel
15th March 2013, 17:01
I hava Arrandale series processor(1st generation of core i5)

test video:https://mega.co.nz/#!pkUTSbpK!dIgbAXlWc0jF60Ok2UWmqzGfn6xqRs2VyS5v8dyoTj8

I see, yeah well that file uses 12 reference frames, which is intentionally blacklisted in LAV because some pre-SNB/IVB GPUs fail with those clips. I don't know if it affects Arrandale, or only earlier models, but since i don't have access to every level of hardware like a company like Microsoft has, thats really hard to determine which clips really work, and which don't.


Microsoft decoder doesnt support 10bit input
And that is exactly the problem. If you play a 10-bit file now, the MS decoder will try to decode it, will fail, and all you get is black.

Newstech
16th March 2013, 03:12
KB2670838 http://support.microsoft.com/kb/2670838
This update greatly improves h264 dxva decoding.


Unfortunately, 2670838 is bug-ridden, particularly on laptops. I just uninstalled it for the second time yesterday, which rolled me back to IE9. In Firefox and some other apps I was getting blocks of blurry type that would clear up as mouse pointer rolled over them. Much venting over on MS boards.

wanezhiling
16th March 2013, 03:52
Here is a L5.1 & Ref16 (http://www.sendspace.com/file/xbgmjv) clip, tested on Pentium P6200 (http://ark.intel.com/products/50176/Intel-Pentium-Processor-P6200-3M-Cache-2_13-GHz) (Arrandale) with latest 2993 (http://downloadcenter.intel.com/Detail_Desc.aspx?lang=eng&changeLang=true&DwnldId=22520) driver.

MS DXVA (KB2670838 patched), PotPlayer DXVA, CyberLink DXVA, ArcSoft DXVA, CoreAVC DXVA and MPC-BE DXVA worked fine.
MainConcept, MPC-HC and LAV fell back to SW.

nevcairiel
16th March 2013, 07:53
Like i said its very well possible that LAV is too strict, but sadly i don't have an Arrandale to check.
The funny part is, that even on Sandy/Ivy such clips would break if you use the old decoding interface (used in LAV before 0.54.1)

If you have Arrandale to test, i can try to remove that limitation for Arrandale and you can check if it works. But it'll be a while, need some more generic testing after the big ffmpeg update, going to post a test build for that first.

nevcairiel
16th March 2013, 08:21
As mentioned just one post above, its test build time.
There are no big new features in this version (yet!), but ffmpeg changed quite a lot, which is also what i was busy with lately, helping those changes along.

You will note that the names of the avcodec and avformat dlls have changed, from -54 to -55, because of the major version bump in ffmpeg.

32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-21-g00c5f80.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-21-g00c5f80-x64.zip

The YADIF crash people experienced should also be fixed in this version.

What big new thing did the new ffmpeg version bring us?
Well, the most important part is that its now much more flexible how the frames can be handled which come out of the decoder, which should give a small performance boost once the new features are being used (not yet), especially if dealing with YADIF deinterlacing.

Anyhow, any feedback on this build or your own from current Git would be appreciated.

PS:
Initial tests after further development show that h264i+YADIF or mpeg2i+YADIF (both software decoding) gain a speed up of up to 20%. Plain decoding is in the area of 1-2% faster, so not really note-worthy.

DragonQ
16th March 2013, 11:52
Like i said its very well possible that LAV is too strict, but sadly i don't have an Arrandale to check.
The funny part is, that even on Sandy/Ivy such clips would break if you use the old decoding interface (used in LAV before 0.54.1)

If you have Arrandale to test, i can try to remove that limitation for Arrandale and you can check if it works. But it'll be a while, need some more generic testing after the big ffmpeg update, going to post a test build for that first.
I have an Arrandale in my work laptop so I help can test this when you have time to release a test version.

What big new thing did the new ffmpeg version bring us?
Well, the most important part is that its now much more flexible how the frames can be handled which come out of the decoder, which should give a small performance boost once the new features are being used (not yet), especially if dealing with YADIF deinterlacing.
Long shot but could this change also make frame-accurate seeking in programs like TS-Doctor work?

RealSnoopyDog
16th March 2013, 11:58
Live TV (H.264 720p and 1080i) with DVBViewer is completely broken with this build. With Intel Quicksync i see squares in the lower part of the screen and with DXVA (native) it hangs. Playing back videos still works.

The last official version(s) work.

nevcairiel
16th March 2013, 12:07
Long shot but could this change also make frame-accurate seeking in programs like TS-Doctor work?

This has nothing whatsoever to do with seeking.

nevcairiel
16th March 2013, 12:30
Live TV (H.264 720p and 1080i) with DVBViewer is completely broken with this build. With Intel Quicksync i see squares in the lower part of the screen and with DXVA (native) it hangs. Playing back videos still works.

The last official version(s) work.

I can confirm the QuickSync issues, not sure whats broken there.
However, DXVA seems fine here. I had a crash on channel change which i fixed just now, but otherwise it seems fine.

I'll investigate QuickSync and then post a new build.

nevcairiel
16th March 2013, 13:00
Ok here is a new build.

32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-25-g7e99e1e.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-25-g7e99e1e-x64.zip

Fixes:
- Fixed a crash in DXVA2 when changing channels in DVBViewer (and possibly other cases)
- Fixed video corruption in QuickSync in DVBViewer (and possibly other cases)

In addition to the fixes above, this build also integrates some of the performance enhancements possible with the updated ffmpeg. I've measured up to 20% increase in overall performance with software decoding and YADIF, 10% with DXVA2-CB and YADIF, and 1-2% for only software decoding (still something!), possibly a bit more for single-threaded decoders.

There is still some potential here, so lets see!

noee
16th March 2013, 13:18
Seems solid so far on my limited testing (SD and HD film material, h264(software) and VC1(dxva2 native). Not sure if it's placebo, but it seems that seeking is faster/smoother with madVR now....

Win7 ult, HD6570, JRiver MC18

Mercury_22
16th March 2013, 13:39
Some mpeg2 channels are crashing in DVBViewer now
Hope this helps :)> LAVVideo.ax!CDecBase::Decode(IMediaSample * pSample) Line 73 C++

I don't think it matters but I'm using VS2012

EDIT tested with your build too and it's still crashing so it doesn't matter :)

nevcairiel
16th March 2013, 14:14
Some mpeg2 channels are crashing in DVBViewer now
Hope this helps :)> LAVVideo.ax!CDecBase::Decode(IMediaSample * pSample) Line 73 C++



That line isn't saying much, its just the call to the abstract decoding function, and mpeg2 channels work fine for me.

Which decoder is this using?

PS:
Here is a full debug built, get me a proper stack trace or .dmp file, please :)
http://files.1f0.de/lavf/LAVFilters-0.55.3-26-g1a8672d-debug.zip

Mercury_22
16th March 2013, 14:49
That line isn't saying much, its just the call to the abstract decoding function, and mpeg2 channels work fine for me.

Which decoder is this using?

PS:
Here is a full debug built, get me a proper stack trace or .dmp file, please :)
http://files.1f0.de/lavf/LAVFilters-0.55.3-26-g1a8672d-debug.zip
It's crashing only in NATIVE CB and SW are not crashing
http://xbmclogs.com/show.php?id=4760

nevcairiel
16th March 2013, 15:14
It's crashing only in NATIVE CB and SW are not crashing
http://xbmclogs.com/show.php?id=4760

The LAV logs don't help with crashes, i need a crash dump .dmp file or at least a stack trace from visual studio.

One thing i saw, it creates frames in the resolution 480x576, that seems rather odd, or is that normal for these channels?

Edit:
you can also try latest git, i rewrote some more parts of dxva2 to use the new ffmpeg mechanisms.

Mercury_22
16th March 2013, 15:43
The LAV logs don't help with crashes, i need a crash dump .dmp file or at least a stack trace from visual studio.

One thing i saw, it creates frames in the resolution 480x576, that seems rather odd, or is that normal for these channels?

Dump file (http://www.multiupload.nl/3TY0LDWCNT)

As for normal I assume yes the other channels which are NOT crashing with native are the "normal" 720x576 The 640x576 are crashing too

P.S. I'm using this version of DVBViewer (http://ftp.terratec.de/Receiver/DVBViewer/)

nevcairiel
16th March 2013, 16:04
Did you try latest Git if anything changed?

Mercury_22
16th March 2013, 16:08
Did you try latest Git if anything changed?
Yes still crashing in native with those channels

P.S. I can give you remote access if you want.

PM me

nevcairiel
16th March 2013, 16:15
I managed to reproduce it by tricking the code a bit, lets see whats going on here now =)

Mercury_22
16th March 2013, 16:19
I managed to reproduce it by tricking the code a bit, lets see whats going on here now =)
Great I just hope it's not an ATI DXVA thing :p

nevcairiel
16th March 2013, 16:47
Great I just hope it's not an ATI DXVA thing :p

The problem started because the video size changed, DVBViewer claimed it was 720x576, and then the acutal video was 480x576.

Try latest Git, or this build:
32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f-x64.zip

Mercury_22
16th March 2013, 16:52
The problem started because the video size changed, DVBViewer claimed it was 720x576, and then the acutal video was 480x576.

Try latest Git, or this build:
32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f-x64.zip

No more crashing :thanks:

SeeMoreDigital
16th March 2013, 18:37
Try latest Git, or this build:
32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-28-g509ea5f-x64.zip
Great work.... I seem to be able to play 1920x1080p50 AVClossless with PCM audio much better with these new builds.

Many thanks

Im2bz2p345
16th March 2013, 19:50
Hi nevcairiel,

I am using hoborg's codec pack called "SAF": http://forum.team-mediaportal.com/threads/saf-v6-based-on-lavf.95635/

I have SAF 6.1.5 installed, which utilizes LAV 0.53

Below is my problem that hoborg was unable to help me resolve and recommended that I post here:

I have a DTS audio (.wav) files that I am unable to play through media player classic aka "MPC-HC" (have SAF v6.1.5 installed) when I output via SPDIF. There seems to be no DTS signal being passed to my receiver. I want to be able to output the digital format via SPDIF for my receiver to handle the DTS signal.

If I change the output to play through my PC speakers (2.1 sound) and I play the DTS audio (.wav) file through MPC-HC, it works fine. Not sure why LAV is having difficulty passing through the DTS audio track (via SPDIF) to my receiver.

Here is a screenshot of how the audio file renders in Graph Studio: http://img.photobucket.com/albums/v36/Im2bz2p345/dtsproblem_zps09ad1097.jpg

Here is a sample DTS track (20 MB): http://www.mediafire.com/?77gdw097y75c9y9

How do I go about playing these DTS audio tracks (.wav) so that they output digital data?

The weird part is that I have many MOVIES with DTS tracks and those output the signal to my receiver file. Those use ffdshow DXVA Video Decoder. It's just stand alone DTS AUDIO tracks (without video) that I am having trouble with because they go through LAV Audio Decoder. I tried changing the file extension of the wav files to .mkv, .mp4, .mpeg, etc. to see if they would work, but they still use the LAV Audio Decoder.

Here is a screen of my LAV audio configuration settings: http://img.photobucket.com/albums/v36/Im2bz2p345/lavsettings_zps6d0ccd3b.png

I know there is AC3Filter (http://ac3filter.net/) which works with regular Windows Media Player, but I don't want to install it because I fear that it will screw up with my SAF audio configuration with MPC-HC.

Thanks,

~ Im2bz2p345 :)

nevcairiel
16th March 2013, 19:55
Here is a sample DTS track (20 MB): http://www.mediafire.com/?77gdw097y75c9y9

This file plays just fine for me.

Im2bz2p345
16th March 2013, 20:02
This file plays just fine for me.

Thanks for the quick response nevcairiel!

Is it playing fine for you in DTS? Is your receiver showing the DTS signal?

I can only get the file to play correctly through my PC speakers (2.1 audio format), not pass the uncompressed digital audio through my SPDIF cable and play actual DTS through my receiver.

Thanks,

~ Im2bz2p345 :)

nevcairiel
16th March 2013, 20:08
Yes, i can bitstream it as DTS over SPDIF.

You should check in your windows audio device properties that both the checkboxes for DTS and Dolby Digital are checked, as well as at least 48000 Hz and 44100 Hz, otherwise it may not work.
Like this:
http://images.gammatester.com/pics/b9c163aa993c096781abb9e6ef862608.png

DTS-WAV tracks typically use 44100 Hz, and DTS tracks in movies usually are 48000 Hz, so both need to be enabled.

STaRGaZeR
16th March 2013, 20:52
Fraps got a lot slower on these builds, like if it were using 1 thread only, no other problems so far!

karoloydi
16th March 2013, 21:38
I d like to pick your mind on something. I have a 4 speaker surround setup at home. Would it be better to use the LAV filters Mixer to downmix to 4 speakers? Or use my pro audio soundcard's mixer to downmix to 4 speakers? Or there's no difference?

nevcairiel
16th March 2013, 22:23
Fraps got a lot slower on these builds, like if it were using 1 thread only, no other problems so far!

I'm not sure could be slower, however the Fraps decoder right now does not output "repeat" frames, i still have to redesign that patch after some significant ffmpeg changes, so it might appear to produce less fps.