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

SamuriHL
12th February 2012, 14:38
It never hurts, but its not necessary.

OK, thanks. I'll have to check out this new installer.

Sent from my Xoom using Tapatalk

entrecour
12th February 2012, 14:57
LAV Audio Config works fine now. :thanks:

DragonQ
12th February 2012, 15:33
It worked fine for me before 0.46 v2. :/

Xaurus
12th February 2012, 16:04
Thanks nev for 0.46!

Since you're an Nvidia guy, what decoder do you use for MPEG4-ASP? Reading through all the posts here it seems the CUVID decoder has some problems with this.

Also, does anyone know a site where I can download some test clips for the major formats?

nevcairiel
12th February 2012, 16:11
I just use software decoding for MPEG4-ASP, no reason to bother with hardware for such a stupidly simple format.

RBG
12th February 2012, 16:16
nevcairiel

Thank you very much for your hard work.:) As a feature request, can you add a separate decoding method selection for hardware accelerated formats in future. For example, as it is now, it is impossible to select CUVID for H.264, MPEG-2, VC-1 and DXVA(c/b) for WMV3, or select QS for H.264, MPEG-2, VC-1 and CUVID for MPEG-4 asp, you just have to stick with one decoding API for all supported formats.

Thunderbolt8
12th February 2012, 16:18
are lavaudio and splitter actually able to play and split/demux dts express tracks?

nevcairiel
12th February 2012, 16:19
are lavaudio and splitter actually able to play and split/demux dts express tracks?

Split sure.
Play only with the ArcSoft DTS decoder (dtsdecoderdll.dll)

As a feature request, can you add a separate decoding method selection for hardware accelerated formats in future. For example, as it is now, it is impossible to select CUVID for H.264, MPEG-2, VC-1 and DXVA(c/b) for WMV3, or select QS for H.264, MPEG-2, VC-1 and CUVID for MPEG-4 asp, you just have to stick with one decoding API for all supported formats.

I would rather stick with a simpler configuration.
Its not only my config that would need to change, its also the programmatic config interface which would no longer be backwards compatible. All the major formats are supported by all of the different APIs, and i personally don't really care all that much about wmv3, and even less about mpeg4-asp
It might be easier to teach wmv3 to cuvid. There are also rumors that QuickSync will get wmv3 hw support in some upcoming driver.

I may change the configuration some day to allow this, but i doubt it'll be soon.

Thunderbolt8
12th February 2012, 16:38
droping the dtsdecoderdll.dll into the lav (x86) dir doesnt seem to work for some reason. it still doesnt play the dts express file properly and also the dts-hd options for bitstreaming are greyed out.

nevcairiel
12th February 2012, 16:40
also the dts(hd) options for bitstreaming are greyed out.

The DTS-HD option is only greyed out when DTS is not selected.
Its currently not possible to bitstream DTS-HD but not DTS, thats why.
Also, bitstreaming DTS Express is not supported.

The DLL is not required for bitstreaming in any case, only for decoding.

adam777
12th February 2012, 16:42
Thank for the new version, nev:thanks:
I have a request/question - a bit long, so try to keep up :)

I'm using Zoom Player and its equivalent to MPC-HC's preferred filters is Smart Play, that while smart indeed (you are able to configure exact filter chain per file type), has a very annoying limitation - you can't define a globally preferred filter.
That is, marking a splitter as preferred is relatively easy - you can define file types it will handle by extensions.
When it comes to decoders, you can't specify a wildcard that will serve as "try and throw anything you encounter on this decoder", but rather have to specify which media subtypes each decoder will handle.

Now, in order to get the media subtypes supported by LAV Audio/Video I do the following:
- Add as preferred in MPC-HC.
- Go to the registry and export the relevant key which contains all of those media subtypes.
- Some text editing and I have a list of all supported media subtypes for both decoders, which I can use in Zoom Player Smart Play profile.
Pretty annoying to do it on each LAV update.

The best solution would be to allow the definition of wildcard in Zoom Player, and a feature request was made.
However, in the meantime, is there anywhere I can see the supported media subtypes per decoder in a more straight forward way? (that is, somewhere in the code, obviously not a function you should provide).

On a side note, while doing the above I noticed there are a lot of duplications. For example, in LAV Audio, out of a list of about 120 media subtypes there are ~60 unique (GraphStudioNext shows another, different, number).

Adam.

Thunderbolt8
12th February 2012, 16:45
The DTS-HD option is only greyed out when DTS is not selected.
Its currently not possible to bitstream DTS-HD but not DTS, thats why.
Also, bitstreaming DTS Express is not supported.

The DLL is not required for bitstreaming in any case, only for decoding.alright, but decoding still doesnt work for some reason. turns a dts express track of 2h9m into a 193h track which only produces garbage and also which cannot be opened with mpc-hc unless I use the sonic HD demuxer (so lav splitter is not even loaded despite it has been set to prefer)

nevcairiel
12th February 2012, 16:50
However, in the meantime, is there anywhere I can see the supported media subtypes per decoder in a more straight forward way? (that is, somewhere in the code, obviously not a function you should provide).

Media.cpp has the list of all subtypes in both decoders. However, i doubt it'll help you much.


On a side note, while doing the above I noticed there are a lot of duplications. For example, in LAV Audio, out of a list of about 120 media subtypes there are ~60 unique (GraphStudioNext shows another, different, number).

GraphStudio says 62 for LAV Audio for me, which seems to be the correct number from a quick rough count in the code.
Since you seem to take that from MPC-HC, maybe it is bugged or its storage is weird.

nevcairiel
12th February 2012, 16:51
alright, but decoding still doesnt work for some reason. turns a dts express track of 2h9m into a 193h track which only produces garbage and also which cannot be opened with mpc-hc unless I use the sonic HD demuxer (so lav splitter is not even loaded despite it has been set to prefer)

You mean a raw dts-express file?
I don't know if that would work, and honestly i don't really care that much. Mux it into a MKV together with the movie were it belongs. :)

I've only ever tested DTS Express directly from Blu-ray m2ts, because thats the only place known to me where it exists.

Thunderbolt8
12th February 2012, 16:53
You mean a raw dts-express file?Mux it into a MKV together with the movie were it belongs. :)not supported by mkvmerge :D (and apparently mosu doesnt care enough to implement this)

adam777
12th February 2012, 17:03
Media.cpp has the list of all subtypes in both decoders. However, i doubt it'll help you much.


GraphStudio says 62 for LAV Audio for me, which seems to be the correct number from a quick rough count in the code.
Since you seem to take that from MPC-HC, maybe it is bugged or its storage is weird.

I'll have a look ,thanks.

nevcairiel
12th February 2012, 17:06
is it possible to do bitstreaming when possible and fall back to software decoding when not a la ac3filter?

I've put it on a todo list for later, but its not really high priority, so it might be a while.

RBG
12th February 2012, 18:06
I would rather stick with a simpler configuration.
Its not only my config that would need to change, its also the programmatic config interface which would no longer be backwards compatible. All the major formats are supported by all of the different APIs, and i personally don't really care all that much about wmv3, and even less about mpeg4-asp
It might be easier to teach wmv3 to cuvid. There are also rumors that QuickSync will get wmv3 hw support in some upcoming driver.

I may change the configuration some day to allow this, but i doubt it'll be soon.

Then, I just have to wait. :) That is how it looks in PotPlayer.
http://i43.tinypic.com/2gt19pf.png

STaRGaZeR
12th February 2012, 18:41
Thanks for the new version!

6233638
12th February 2012, 18:45
I have a couple of questions which aren't specific to the new version, but I was wondering if I could get some help with.


Firstly, subtitles. I've had a look over the documentation here (http://1f0.de/lav-splitter/lav-splitter-stream-selection/) and I think I have it mostly figured out.

I only speak English, and I don't need subtitles for English-speaking films, but I do need subtitles for anything else. Currently what seems to be working is:

"eng:*|f;eng:*|d;*:eng"

Which, if I understand the documentation correctly, does: If English, play any forced subtitles.
If English and no forced subtitles are found, play default subtitles. (typically disables subtitles)
If audio is not English, display English subtitles.
This seems to be working in most cases, except forced subtitles never seem to display anything.

One of the more mainstream examples I can think of where this is a problem, would be Kill Bill Vol. 2 where the film is mostly in English, but there is a section in the middle where they are speaking in Cantonese. When I play this in PowerDVD, this works as you would expect, automatically playing subtitles for the Cantonese parts without any configuration, but nothing for the English-speaking parts.

http://img837.imageshack.us/img837/1876/screenshotcc.th.jpg (http://img837.imageshack.us/img837/1876/screenshotcc.jpg)

With LAV Filters using my current configuration, it selects the "Forced Subtitles (auto)" track, but doesn't display any subtitles throughout the film.

I have to select the third English subtitle track (pictured) to only have subtitles appear during the Cantonese sections. The first English subtitle applies to all spoken parts, and the second on the list includes audio descriptions.

Is there any way to have this happen automatically?



My second issue, which I'm not sure if it's even related to LAV Filters, is playing back Apple Lossless files in MPC-HC. I just bought the Indie Game Music Bundle 2 (http://www.gamemusicbundle.com/), which supplies the music as FLAC files. I then converted these to ALAC using dBpoweramp (http://www.dbpoweramp.com/). Most of the tracks are fine, but the Machinarium soundtrack comes up with a "Failed to render" error, and if I try to load the folder as a playlist, MPC-HC crashes. The files work perfectly in iTunes or on my Apple devices though.

Is this something even affected by LAV, or does it need to be a video file with embedded audio for it to work? (I can't see a way to bring up a filter list in MPC-HC when audio tracks are playing)

nevcairiel
12th February 2012, 19:06
I have to select the third English subtitle track (pictured) to only have subtitles appear during the Cantonese sections. The first English subtitle applies to all spoken parts, and the second on the list includes audio descriptions.

Is there any way to have this happen automatically?

Sadly, no, this cannot really be automatically detected. At least i haven't figured out how.

Blu-rays have two types of forced subtitles (well 3 if you count burned into the image)
1) There is one track with both normal and forced subs. The forced subs have a "forced" flag, and LAV can filter these out. This is when the automatic forced subtitle thing works.
2) There are distinct tracks for full subs and forced subs. Sadly i don't know which track is what - and sadly the dedicated forced track also doesn't have the forced flags on its frames (usually)

I did consider trying to figure out which track has the forced subs from the playlist files somehow, but i didnt find anything yet.



My second issue, which I'm not sure if it's even related to LAV Filters, is playing back Apple Lossless files in MPC-HC. I just bought the Indie Game Music Bundle 2 (http://www.gamemusicbundle.com/), which supplies the music as FLAC files. I then converted these to ALAC using dBpoweramp (http://www.dbpoweramp.com/). Most of the tracks are fine, but the Machinarium soundtrack comes up with a "Failed to render" error, and if I try to load the folder as a playlist, MPC-HC crashes. The files work perfectly in iTunes or on my Apple devices though.

Is this something even affected by LAV, or does it need to be a video file with embedded audio for it to work? (I can't see a way to bring up a filter list in MPC-HC when audio tracks are playing)
Play->Filters should show the filter graph like in any other playback scenario.
LAVs ALAC decoder isn't 100% complete, its limited to stereo - but i guess for music thats OK.

Otherwise, a sample of a broken file would be good - if its using LAV.

6233638
12th February 2012, 19:25
Sadly, no, this cannot really be automatically detected. At least i haven't figured out how.
...
I did consider trying to figure out which track has the forced subs from the playlist files somehow, but i didnt find anything yet.OK, thanks. I wonder how PowerDVD does it.

Still, at least I shouldn't have to bother messing with the subtitles most of the time now that I have things set up that way. (does that seem like the best way to do it?)

Typically when films are mostly English and have non-English parts, those subtitles are burned in rather than being a separate subtitle stream, so it's not something I've run into too often.

Play->Filters should show the filter graph like in any other playback scenario.That seems to be greyed out when I'm playing music tracks. (updated to 1.6.1.4055 last night when testing, so I should be up to date)

Otherwise, a sample of a broken file would be good - if its using LAV.Here's a sample: http://www.mediafire.com/?h8jb2tbhwyldl1d

Perhaps you can see whether this is a LAV issue or an MPC-HC issue. (I do have all internal MPC-HC filters disabled)

nevcairiel
12th February 2012, 19:27
OK, thanks. I wonder how PowerDVD does it.

The menus tell it, i guess.

SamuriHL
12th February 2012, 19:28
Nev, have you had a chance to look at the AnyDVD speed menus yet? Just curious how hard that would be to implement in a player like MPC-HC or J River MC17. No BD-J...just basic menuing. But it gets the playlists right for the most part.

nevcairiel
12th February 2012, 19:29
Nev, have you had a chance to look at the AnyDVD speed menus yet? Just curious how hard that would be to implement in a player like MPC-HC or J River MC17. No BD-J...just basic menuing. But it gets the playlists right for the most part.

Its just normal BD menus, there is nothing special about them.All it does is remove the Java.
Doesn't make implementing any easier, and nothing i will work on in LAV.

Really, that feature is basically useless. Its just some terribly ugly menu to select the title you want.
MC17 and some other players also have a title selector - if it gets the title wrong sometimes, maybe they should try to improve their logic. :)

nevcairiel
12th February 2012, 19:34
That seems to be greyed out when I'm playing music tracks. (updated to 1.6.1.4055 last night when testing, so I should be up to date)

Here's a sample: http://www.mediafire.com/?h8jb2tbhwyldl1d

Perhaps you can see whether this is a LAV issue or an MPC-HC issue. (I do have all internal MPC-HC filters disabled)

I just tried and it plays fine. Filters menu also is available like it should be.

Made you an image :)
http://images.gammatester.com/pics/f52d9548c00c618c1febea492536156b.png

6233638
12th February 2012, 19:34
The menus tell it, i guess.Ah, makes sense. I'd hate to go back to using menus rather than launching the film directly in MPC-HC though. It's ridiculous how long it takes to actually get a film started these days when you're doing it that way.


The only thing I could guess at trying would be to have an option that either selects the third English track, or perhaps the last English track if there are more than two. I'm not sure what else English subtitles are used for though—do some discs have tracks for the commentary? That would probably interfere with things. I need to have a look through my discs to see what films are actually doing, I've never paid much attention to it.

Having the first track as being full English subtitles, and the second as full subtitles plus audio description does seem fairly standard though.


Alternatively, would you be able to compare timestamps for subtitle tracks? I have to imagine that they would be the same for the full English and partial English tracks (just missing sections for the partial English ones) but completely different for commentaries etc.

I just tried and it plays fine. Filters menu also is available like it should be.

Made you an image :)
http://images.gammatester.com/pics/f52d9548c00c618c1febea492536156b.pngHuh, I wonder what's gone wrong on my system then. Thanks.

nevcairiel
12th February 2012, 19:37
The only thing I could guess at trying would be to have an option that either selects the third English track, or perhaps the last English track if there are more than two. I'm not sure what else English subtitles are used for though—do some discs have tracks for the commentary? That would probably interfere with things. I need to have a look through my discs to see what films are actually doing, I've never paid much attention to it.

Having the first track as being full English subtitles, and the second as full subtitles plus audio description does seem fairly standard though.

Alternatively, would you be able to compare timestamps for subtitle tracks? I have to imagine that they would be the same for the full English and partial English tracks (just missing sections for the partial English ones) but completely different for commentaries etc.

Any guessing would end up wrong.
I don't even know if a track is a "Type 1" and has the forced frames inside the normal frames, until i actually see one. BDs don't make playback without menus easy.

SamuriHL
12th February 2012, 19:39
Its just normal BD menus, there is nothing special about them.All it does is remove the Java.
Doesn't make implementing any easier, and nothing i will work on in LAV.

Really, that feature is basically useless. Its just some terribly ugly menu to select the title you want.
MC17 and some other players also have a title selector - if it gets the title wrong sometimes, maybe they should try to improve their logic. :)

Fair enough. :)

v0lt
12th February 2012, 19:43
nevcairiel
LAV Splitter hangs on this file - brokenfile.flv (http://www.mediafire.com/?6ijnm8p7xhim31y)
(This file is a broken, it can not play)

nevcairiel
12th February 2012, 22:15
nevcairiel
LAV Splitter hangs on this file - brokenfile.flv (http://www.mediafire.com/?6ijnm8p7xhim31y)
(This file is a broken, it can not play)

Seems fixed with the new ffmpeg (so for next version)

On that point, for anyone building their own versions:
The version numbers of the avcodec and avformat DLLs have changed, so i suggest to remove the -53 DLLs, so you don't have double dlls everywhere. ;)

SamuriHL
12th February 2012, 22:40
Seems fixed with the new ffmpeg (so for next version)

On that point, for anyone building their own versions:
The version numbers of the avcodec and avformat DLLs have changed, so i suggest to remove the -53 DLLs, so you don't have double dlls everywhere. ;)

Oh JOY. :) You might want to let J River know. :)

nevcairiel
12th February 2012, 22:43
Oh JOY. :) You might want to let J River know. :)

They remove all files in the dir before the upgrade, as far as i know. Also still quite some time until the next release.

SamuriHL
12th February 2012, 22:43
Ah, that's true. And so does my upgrade script. :)

noee
12th February 2012, 23:03
On that point, for anyone building their own versions:
The version numbers of the avcodec and avformat DLLs have changed, so i suggest to remove the -53 DLLs, so you don't have double dlls everywhere. ;)

Thx for the heads up. All appears well.

ryrynz
12th February 2012, 23:36
0.46's new installer isn't allowing my system to properly use QuickSync it seems, It's okay with 0.45, likely the same deal I had with the nightly builds.

Tested with with Graph Studio (22 minute Mpeg4)

0.45 with new QuickSync decoder 0.26 from LAV 0.46 result 1060 FPS
0.46 fresh install result 330 FPS.
0.46 with DXVA2 and software mode are testing fine so it's only limited to QuickSync.

I did both an upgrade install and a uninstall/reinstall with the same result.
Playing back in MPC with that same file 0.46 says QuickSync is active.

I know this system has some particular quirks, is LAV not doing something it should be doing?

nevcairiel
12th February 2012, 23:41
The installer has zero influence on how the decoder behaves, your system is just screwed up.

chapas
12th February 2012, 23:53
Found answer on page 421. Sorry!

egur
13th February 2012, 00:06
Regarding performance, I've revisited my work and it turns out that my optimization path was aimed at getting the highest speed for low bitrate clips. This hurt (badly :( ) the performance of high bitrate clips which are more important. There's a serious performance hit in the way LAV configures QS these days (my fault) for high bitrate clips.

After some code cleaning, I'll release a new version.
If people see some degradation in low bitrate clips (e.g. 1000fps->900), this is expected. Some high bitrate clips will run almost twice as fast reaching DXVA speeds.

BTW, LAV has noticeably lower overhead than ffdshow when it comes to benchmarks.

ryrynz
13th February 2012, 00:48
The installer has zero influence on how the decoder behaves, your system is just screwed up.

I knew you were going to say that :D

I'll hold with 0.45 and QuickSync 0.26 for now and see what happens when Eric releases 0.27. If that doesn't fix anything I'll reinstall.

jmone
13th February 2012, 04:42
Its just normal BD menus, there is nothing special about them.All it does is remove the Java.
Doesn't make implementing any easier, and nothing i will work on in LAV.

Really, that feature is basically useless. Its just some terribly ugly menu to select the title you want.
MC17 and some other players also have a title selector - if it gets the title wrong sometimes, maybe they should try to improve their logic. :)

On the topic of BD Menu support - how is libbluray going and any hence any upcoming new LAV Splitter features?

oddball
13th February 2012, 06:13
Still having issues with CUVID. It will play a video fine for a good 20 minutes then suddenly start dropping frames like crazy. If I go back I still get the dropped frames. It's weird. It only seems to do it on some files (Mostly anime).

nevcairiel
13th February 2012, 07:57
Still having issues with CUVID. It will play a video fine for a good 20 minutes then suddenly start dropping frames like crazy. If I go back I still get the dropped frames. It's weird. It only seems to do it on some files (Mostly anime).

Its a driver issue, don't use the latest beta driver, stick to WHQL or 290.36 - avoid 295.

On the topic of BD Menu support - how is libbluray going and any hence any upcoming new LAV Splitter features?

I have no plans at this time to implement any BD Menu functionality. It doesn't fit into a general purpose splitter like LAV.

I knew you were going to say that :D

I'll hold with 0.45 and QuickSync 0.26 for now and see what happens when Eric releases 0.27. If that doesn't fix anything I'll reinstall.

The only thing that the Installer does influence is how the splitter is setup, so if you're benchmarking just check if its really using LAV Splitter and not something else.
Unless i managed to implement some new bugs, it should be more reliable then before, though.

oddball
13th February 2012, 08:48
"Its a driver issue, don't use the latest beta driver, stick to WHQL or 290.36 - avoid 295."

That would suck for Skyrim.

nevcairiel
13th February 2012, 08:51
"Its a driver issue, don't use the latest beta driver, stick to WHQL or 290.36 - avoid 295."

That would suck for Skyrim.

The 295 driver causes the problem you described, so decide what you prefer. :D
Can of course always just disable CUVID and use DXVA2 or software decoding, that should in theory resolve those issues.

CruNcher
13th February 2012, 10:31
CPU:

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: Elecard MPEG-2 Video Decoder HD
Decoder Device: -
Processor Device: -
Time: 00:38.814
Average FPS: 249,652
Min/Max FPS: 235 / 259
CPU Usage (%): Avg: 91 Min: 82 Max: 96

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: LAV Video Decoder
Decoder Device: -
Processor Device: -
Time: 00:35.739
Average FPS: 271,132
Min/Max FPS: 259 / 284
CPU Usage (%): Avg: 50 Min: 43 Max: 59

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: MainConcept MPEG Video Decoder
Decoder Device: -
Processor Device: -
Time: 00:20.826
Average FPS: 465,284
Min/Max FPS: 432 / 484
CPU Usage (%): Avg: 84 Min: 78 Max: 88

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: Microsoft DTV-DVD Video Decoder
Decoder Device: -
Processor Device: -
Time: 00:42.881
Average FPS: 225,974
Min/Max FPS: 211 / 239
CPU Usage (%): Avg: 37 Min: 32 Max: 40

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: ffdshow Video Decoder Libavcodec
Decoder Device: -
Processor Device: -
Time: 00:35.027
Average FPS: 276,615
Min/Max FPS: 263 / 290
CPU Usage (%): Avg: 54 Min: 45 Max: 63

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: ffdshow Video Decoder Libmpeg2
Decoder Device: -
Processor Device: -
Time: 00:53.579
Average FPS: 180,817
Min/Max FPS: 165 / 200
CPU Usage (%): Avg: 25 Min: 25 Max: 28


Quicksync:

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: Intel® Media SDK MPEG-2 Decoder
Decoder Device: -
Processor Device: -
Time: 00:11.617
Average FPS: 834,122
Min/Max FPS: 801 / 853
CPU Usage (%): Avg: 21 Min: 18 Max: 25

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: ffdshow Video Decoder
Decoder Device: ModeMPEG2_VLD
Processor Device: -
Time: 00:51.235
Average FPS: 189,129
Min/Max FPS: 175 / 195
CPU Usage (%): Avg: 43 Min: 31 Max: 51

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: LAV Video Decoder
Decoder Device: ModeMPEG2_VLD
Processor Device: -
Time: 00:44.674
Average FPS: 216,905
Min/Max FPS: 189 / 225
CPU Usage (%): Avg: 47 Min: 40 Max: 53

DXVA2 Copy Back:

Renderer: Enhanced Video Renderer (DirectShow)
Decoder: LAV Video Decoder
Decoder Device: ModeMPEG2_VLD
Processor Device: -
Time: 00:38.976
Average FPS: 248,615
Min/Max FPS: 243 / 252
CPU Usage (%): Avg: 25 Min: 25 Max: 29



Im not sure about these results (they seem legit but on the other side especially the Quicksync Decoder results make me wonder, though DXVA2 Copy back fits it seems more balanced out for Playback Efficiency then Decoding and it's clearly visible in any Benchmark it is more Power Consumption Efficient though Copy back shouldn't be used for Playback purpose most of the times anyways ;) ) also i couldn't benchmark Mainconcepts Mpeg-2 Decoder this way it crashes DxvaChecker and returns very odd results back with Graphstudio (Next, no real bench is doable it just returns some crazy numbers) most probably the same issue as with the Lav Splitter crashes (though im not sure which splitter is even used as DXVAChecker has no enumeration chose dialog for the splitter anymore it seems) but i find the Intel Decoder Result quiet interesting according to DXVA Checker its ~3x more efficient then either FFdshow quicksync or Lav Video Quicksyn and ~2 more Efficient then Mainconcepts CPU only Decoder Core (with over 50% less utilization) :) ?

ddjmagic
13th February 2012, 10:47
Quick question, I have a i3 2120 using MPC-HC w Lav Filters/EVR custom renderer. Under Lav Video settings - hardware decoder to use, I have 2 available options, Intel Quicksync or DXVA2 (copy) which option would be best? For BD and Remux playback ?

nevcairiel
13th February 2012, 11:07
Quick question, I have a i3 2120 using MPC-HC w Lav Filters/EVR custom renderer. Under Lav Video settings - hardware decoder to use, I have 2 available options, Intel Quicksync or DXVA2 (copy) which option would be best? For BD and Remux playback ?

If your CPU supports it, use QuickSync. A i3 2120 should be fine with it.

ryrynz
13th February 2012, 11:13
The only thing that the Installer does influence is how the splitter is setup, so if you're benchmarking just check if its really using LAV Splitter and not something else.
Unless i managed to implement some new bugs, it should be more reliable then before, though.

It appears to be using it, it's in the chain listed in Graphstudio.
I've noticed that the CPU usage is around 3-5% when benchmarking after installing 0.46 and with 0.45 it's at 7-11% and yeilding 3x the result which is interesting.
Whether it's highlighting a real issue or not I don't know, if everyone else's system is fine then don't waste any time on it, thanks.

CruNcher
13th February 2012, 12:04
The 295 driver causes the problem you described, so decide what you prefer. :D
Can of course always just disable CUVID and use DXVA2 or software decoding, that should in theory resolve those issues.

Maybe he has luck and replacing nvcuvid.dll will work (good chances if nothing majorly changed cuda wise, just placing the old driver one into the lav video filter directory should be enough, though a jump as high as +5 normally indicates a big cuda jump as well, but it's worth a try) ;)

@Nev

Do you know why the Performance of YV12 in Lav Video is lower as the one in FFdshow aren't both the same ?

aufkrawall
13th February 2012, 14:39
Is there a chance to see channel downmixing to stereo with v.0.47 or 0.48? :)

Thanks for the new version.

Alexey1975
13th February 2012, 14:45
Hi, Nevcairiel !

LAV Video Decoder not always switch to hardware mode (for ex.: when using DVB Viewer with H.264 streams). In this case, the decoder reports that hardware acceleration is "Available", but not "Active".
It happens not quite often, but still...
Maybe 'Pure Hardware Mode' option for LAV Video Decoder will solve it?

Intel P4@4GHz, GTX560Ti

nevcairiel
13th February 2012, 14:50
There is always a reason when it decides to switch to software mode, if it wouldn't do it, it would potentially mean that playback would fail.
Its certainly possible there is somewhere a small issue that makes it fail when it wouldn't need to, but then that should be fixed and not some mode added that bypasses the checks.

Alexey1975
13th February 2012, 15:01
And yet, I will be grateful to you if I'll be able to decide something... at least in the option "Pure Hardware Mode". ;)
Thank you for great Filters! :)

CruNcher
13th February 2012, 15:59
Alexey are you sure the Stream isn't 4:2:2 ? ;) a pure hardware mode wouldn't help in that case as you would only see Garbage

@ Nev

DXVA2 Copy back does really well

https://forum.doom9.org/showpost.php?p=1558039&postcount=754

though Intel got the Kernel pressure nicely under control or is this a bug ?

dead_screem
13th February 2012, 16:16
So does the CUDA header update to 4.1 break lav comptibility with CUDA 3.x drivers?

nevcairiel
13th February 2012, 16:37
So does the CUDA header update to 4.1 break lav comptibility with CUDA 3.x drivers?

The headers were for 4.0 already before, did it still work for you? :p
In short, not it shouldn't have any impact, unless i start using new functions.

DragonQ
13th February 2012, 17:08
Huh? There's a CUDA 4.1? How come on the nVidia site none of the GPUs listed support anything beyond 2.1?

nevcairiel
13th February 2012, 17:19
Huh? There's a CUDA 4.1? How come on the nVidia site none of the GPUs listed support anything beyond 2.1?

You misinterpret the specs.
There is GPU Compute capability, which tops out at 2.1 right now, and specifys which features are supported by the GPU.

The CUDA SDK version is just the software version to match, and support only depends on drivers.

Alexey1975
13th February 2012, 17:33
Strange issue: using any nVidia GeForce driver since 285.62 and later, cause the problem - image crumbles, tearing into squares, etc. But if I use any earlier driver - there is no problem.
The situation repeating with every new driver release! Any version of LAV Video with CUVID acceleration faces the problem. With CoreAVC Decoder, which uses CUDA too, the same thing!
With decoders that uses DXVA everything OK with any driver...

Can someone experienced and knows how to fix?

fastplayer
13th February 2012, 17:34
Typo in decoder/LAVAudio/LAVAudio.rc, line 112:
configura --> configure

nevcairiel
13th February 2012, 17:35
Typo in decoder/LAVAudio/LAVAudio.rc, line 112:
configura --> configure

But i like a's. :(

fastplayer
13th February 2012, 17:42
Then leave it like that as a treat! :D

dead_screem
13th February 2012, 18:03
The headers were for 4.0 already before, did it still work for you? :p
In short, not it shouldn't have any impact, unless i start using new functions.

oh, well thats good to know.

Razoola
13th February 2012, 18:07
I have upgraded to 046 and since I have had a couple of system hard lockups when hardware decoder is set to none. No locks if its set to a hardware decoder. This has only started with 046, 045 was fine with decoder set to none.

edit, please ignore this.. I think it was a system issue.

kolak
13th February 2012, 18:44
Golden solution for dithering is Floyd-Steinberg+bit of random noise, but ordered+bit of noise will be sufficient in most cases and much faster. Both ordered and random by itself have visible side effects.

DragonQ
13th February 2012, 19:01
You misinterpret the specs.
There is GPU Compute capability, which tops out at 2.1 right now, and specifys which features are supported by the GPU.

The CUDA SDK version is just the software version to match, and support only depends on drivers.
I see, thanks.

Reino
13th February 2012, 20:49
- Improved Fraps decoding with EVRFor FPS1(yuvj420p) files could you automatically apply TV-levels with VMR-9 Renderless as well as you've done for EVR. The only thing left for both renderers now is BT.709->BT.601 luma conversion and LAV can perfectly decode Fraps files in YV12 mode.
- Multi-threaded decoding for Lagarith- LAGS(rgb24): No problem
- LAGS(yuv420p): No problem
- LAGS(YUY2 / YUV 4:2:2 / yuv422p?) (http://www.mediafire.com/?8l2oabzde53fl8n): Splitter fails. With MPC Avi Source + LAV Decoder the file opens but no image and stays at 0:00. Only MPC Avi Source + LAGS vfw decoder works fine.
- Support for Snow and FFV1SoC_[SNOW+Vorbis].mkv (http://www.mediafire.com/?269b86gmje71r2d): Opens but no image and stays at 0:00. With MPC Matroska Source + LAV Decoder there's no image either, but at least the Vorbis stream is playing.

About FFV1, it all plays fine, but what exactly is "bgr0" for a colorspace? I'm not at all convinced atm FFV1(RGB32) is actually a lossless format. Output is completely different compared to Uncompressed, HFYU, LAGS, MLCY, and MSUD (RGB32).

VP61 issue:
- predator2_vp61.avi (http://samples.mplayerhq.hu/V-codecs/VP6/predator2_vp61.avi) (VP61): No problem
- vid.avi (http://samples.mplayerhq.hu/V-codecs/VP6/vid.avi) (VP61+MP3): Opens but no image and stays at 0:00. With MPC Avi Source + LAV Decoder there's no image either, but at least the MP3 stream is playing.

cegy
13th February 2012, 20:51
since 0.46 i have notice a odd bug with decoding. to make sure it wasn't just that 1 build so i tryed the nightly from http://roy.orz.hm/lavf-w32-nightlies/lavf-my120213-b92b5da.7z which still gives me the same problem, it seems it picky on how the .ts has been saved i have uploaded a sample so you can see what the problem could be. video sample (http://www.mediafire.com/?5vqi5qal7f89bh5)

0.46 slow
http://i.imgur.com/emToX.png

0.45 fast (normal it will be over 2x as fast on a bigger sample)
http://i.imgur.com/93BYu.png

egur
13th February 2012, 22:00
Version 0.27 beta is out with the following changes:
* Optimized code path to high performance on high bitrate clips.
* FFDShow rev4322

Downloads
* For the latest cutting edge FFDShow builds download my builds Intel QuickSync Decoder SourceForge home page (http://sourceforge.net/projects/qsdecoder/)
* FFDShow-tryout site (http://ffdshow-tryout.sourceforge.net/download.php)
* LAV Splitter builds (http://forum.doom9.org/showthread.php?t=156191)

CruNcher
13th February 2012, 22:23
For FPS1(yuvj420p) files could you automatically apply TV-levels with VMR-9 Renderless as well as you've done for EVR. The only thing left for both renderers now is BT.709->BT.601 luma conversion and LAV can perfectly decode Fraps files in YV12 mode.
- LAGS(rgb24): No problem
- LAGS(yuv420p): No problem
- LAGS(YUY2 / YUV 4:2:2 / yuv422p?) (http://www.mediafire.com/?8l2oabzde53fl8n): Splitter fails. With MPC Avi Source + LAV Decoder the file opens but no image and stays at 0:00. Only MPC Avi Source + LAGS vfw decoder works fine.
SoC_[SNOW+Vorbis].mkv (http://www.mediafire.com/?269b86gmje71r2d): Opens but no image and stays at 0:00. With MPC Matroska Source + LAV Decoder there's no image either, but at least the Vorbis stream is playing.

About FFV1, it all plays fine, but what exactly is "bgr0" for a colorspace? I'm not at all convinced atm FFV1(RGB32) is actually a lossless format. Output is completely different compared to Uncompressed, HFYU, LAGS, MLCY, and MSUD (RGB32).

VP61 issue:
- predator2_vp61.avi (http://samples.mplayerhq.hu/V-codecs/VP6/predator2_vp61.avi) (VP61): No problem
- vid.avi (http://samples.mplayerhq.hu/V-codecs/VP6/vid.avi) (VP61+MP3): Opens but no image and stays at 0:00. With MPC Avi Source + LAV Decoder there's no image either, but at least the MP3 stream is playing.

VP6 Interlaced is not supported by ffmpeg yet

nevcairiel
13th February 2012, 22:43
- LAGS(YUY2 / YUV 4:2:2 / yuv422p?) (http://www.mediafire.com/?8l2oabzde53fl8n): Splitter fails. With MPC Avi Source + LAV Decoder the file opens but no image and stays at 0:00. Only MPC Avi Source + LAGS vfw decoder works fine.

YUY2 Lagarith is currently not supported by the decoder, and i guess also causes failure in the splitter for the same reasons.


About FFV1, it all plays fine, but what exactly is "bgr0" for a colorspace?

BGR0 is 32-bit RGB without an alpha channel. It matches RGB32, while BGRA matches ARGB32.

since 0.46 i have notice a odd bug with decoding.
If you're using the Intel QuickSync decoder, then thats a known bug. In any case, you should always mention what decoder you're referring to. (Software, CUVID, QuickSync, DXVA)

egur
13th February 2012, 23:06
since 0.46 i have notice a odd bug with decoding. to make sure it wasn't just that 1 build so i tryed the nightly from http://roy.orz.hm/lavf-w32-nightlies/lavf-my120213-b92b5da.7z which still gives me the same problem, it seems it picky on how the .ts has been saved i have uploaded a sample so you can see what the problem could be.
...

In my test clips, 0.46 was faster.
Using the 0.27 QS DLL, I managed to get ~400fps on this clip.

The famous Samsung Oceanic Life clip now runs at 225fps instead of 145. LAV 0.45 ran the same clip at 156fps.
BTW, ffdshow runs the Samsung clip at 270fps.

All benchmarks used LAV splitter as source and were run twice.

cegy
13th February 2012, 23:25
In my test clips, 0.46 was faster.
Using the 0.27 QS DLL, I managed to get ~400fps on this clip.

The famous Samsung Oceanic Life clip now runs at 225fps instead of 145. LAV 0.45 ran the same clip at 156fps.
BTW, ffdshow runs the Samsung clip at 270fps.

All benchmarks used LAV splitter as source and were run twice.


this was not with quicksync itself and not to sound funny but that .ts has some decoding issue when using the software decoder am not sure what or even why that is but i would like nevcairiel to look into why this is if you need a good sample just ask but that is sample i posted is very slow at decoding and as you can see in the pics that 0.46 is slower

nevcairiel
13th February 2012, 23:41
this was not with quicksync itself and not to sound funny but that .ts has some decoding issue when using the software decoder am not sure what or even why that is but i would like nevcairiel to look into why this is if you need a good sample just ask but that is sample i posted is very slow at decoding and as you can see in the pics that 0.46 is slower

120 fps is very slow? :)

Anyway, i found the issue, need to think how to properly solve it.

cegy
13th February 2012, 23:56
uploaded a sample that is ~3m30s long and as you can see in this pic that yes 120 fps is slow say that i've been getting thing a easy ~600fps untill this decoding bug happened. by the way what was the problem nevcairiel? (i'll been using 0.45 untill this problem as been fixed) good .ts sample (http://www.mediafire.com/?87l5a1zgfwzasia)

http://i.imgur.com/3Ny29.png

Pat357
14th February 2012, 00:35
Seems that cegy is right : there seems something wrong with the decoding (h264) from this file : in my benchmark I got about the same results.
Strange is that the decoding seems to be limited to 1 thread.:(
I tested with 12 threads and with 1 thread : same result !!
During the benchmark, I had a CPU load between 5-7 % (read from taskmanager), this should to be 50-70% or higher when testing with 12 threads.

Tested on i7-970@3.7/ 6+6 cores.

cegy
14th February 2012, 01:06
Seems that cegy is right : there seems something wrong with the decoding (h264) from this file : in my benchmark I got about the same results.
Strange is that the decoding seems to be limited to 1 thread.:(
I tested with 12 threads and with 1 thread : same result !!
During the benchmark, I had a CPU load between 5-7 % (read from taskmanager), this should to be 50-70% or higher when testing with 12 threads.

Tested on i7-970@3.7/ 6+6 cores.

thank you for confirming this :thanks: if you don't mind could you test the good sample and report back what results you get

Thunderbolt8
14th February 2012, 01:10
uploaded a sample that is ~3m30s long and as you can see in this pic that yes 120 fps is slow say that i've been getting thing a easy ~600fps untill this decoding bug happened. by the way what was the problem nevcairiel? (i'll been using 0.45 untill this problem as been fixed) good .ts sample (http://www.mediafire.com/?87l5a1zgfwzasia)

http://i.imgur.com/3Ny29.pngfor this file (H.264), on my system I get

~77fps with LAV copy back
~84fps with LAV without copy back
~150fps with coreavc

for a VC-1 .ts sample, I get

~35 fps with WMV DecoderDMO
~51 fpps with LAV copy back

for some reason, LAV copy back works way better with VC-1 than with H.264 for me (meaning theres actually an improvement) -.-
(maybe thats also because VC-1 CPU decoders are not multithreaded)

nevcairiel
14th February 2012, 08:07
Hardware decoding isn't necessarily faster then CPU decoding on todays fast CPUs, but it does reduce the CPU load which can save power.

ryrynz
14th February 2012, 08:07
Nev, I updated QuickSync to 0.27 and my FPS for LAV 0.46 jumped with my test file to 850FPS from 330FPS. Using LAV 0.45 with QS 0.27 I get 1250 FPS and Eric's build of ffdshow 4322 I get 1550 FPS.

I saw the posts regarding threading and thought I'd look at what my machine was doing, hoping to see why 0.45 is doing better than 0.46, as you can see below it does look like it sets itself up differently with 2 extra QS threads there in the mix.

I hope this helps somewhat in figuring out where this performance regression I'm seeing is coming from, thanks.

LAV 0.45 + QS 0.27
http://i.imgur.com/A60xB.png

LAV 0.46 + QS 0.27
http://i.imgur.com/CyTOD.png

egur
14th February 2012, 13:26
FYI, the "check" function (checks QS caps) takes several hundreds ms to complete and may offset benchmarks of short clips. In normal playback it's meaningless, but for benchmarks it might lower the scores...

I don't have a debug environment for LAV decoder so I can't check what's going on exactly.

Update:
The check function reported above is not the cause. It's a misprint caused by not having a pdb file.
Replacing the QS DLL with my another that has an attached pdb file shows that a lot of time (more than 600ms) is spent calling TestMediaType and the initialization of the QS decoder.
There's nothing much to do here except run longer clips (or ignore the first run)...

nevcairiel
14th February 2012, 13:28
FYI, the "check" function (checks QS caps) takes several hundreds ms to complete and may offset benchmarks of short clips. In normal playback it's meaningless, but for benchmarks it might lower the scores...

Thats why i recommend to benchmark clips that run longer then just 1-2 seconds.
Also, it would be recommended to not count the first iteration in the benchmark.

wanezhiling
14th February 2012, 14:30
http://www.gokuai.com/f/B20m09Ymn989q1n0
A VC-1 file

LAV Splitter Source 0.46 failed to get video parts.
http://i.imgur.com/UXTX2.png

MPC-HC's internal Mpeg Source is ok.
http://i.imgur.com/0CqBY.png

egur
14th February 2012, 14:43
I'd like to request the following enhancements from LAV splitter:
1) Seek faster in TS files and provide a stream (after a seek) that will not cause image corruption (like Haali Splitter). Affects QS and libavcodec in H264 and VC1.
2) Fix seeking in WMV files. After a seek, video plays very slowly for a few seconds.

Nev, probably both issues are related to ffmpeg, but maybe you can do something...

egur
14th February 2012, 15:03
http://www.gokuai.com/f/B20m09Ymn989q1n0
A VC-1 file

LAV Splitter Source 0.46 failed to get video parts.
http://i.imgur.com/UXTX2.png

MPC-HC's internal Mpeg Source is ok.
http://i.imgur.com/0CqBY.png

Happened to me too. Here's the fix:
Reinstall LAV 0.46 and make sure VC1 is selected.
Probably related to the installer overhaul.
Your clip plays fine (32 bit anyway) with LAV 0.46 (with or w/o QS).

CruNcher
14th February 2012, 15:20
@ Egur
i also have a wish seeking would be this experience for anything http://www.mediafire.com/?qr6uh0x689t61xl ;)

It's just to funny to see the GUI can't keep up, though such speeds can only be reached with a very good combination of different things working excellent together ;)
Nev is pretty much aware of the Seek Performance and the Frame Accuracy Problems for *.ts :)

nevcairiel
14th February 2012, 15:42
Frame Accurate seeking in TS is way too complicated to even consider doing it. Its a transport format for Broadcasts, it never was designed with seeking in mind. When Blu-ray adopted the format, they added a separate index table to improve seeking (also, Blu-ray has pretty strict standards, like 1 key frame every second)
It can surely be improved a bit at some point, but you always have to keep in mind that its not a seek-friendly format. As always in those cases, 90% can be achieved with 10% of the time, and the last 10% take 90% of the time. :p

Pat357
14th February 2012, 15:46
since 0.46 i have notice a odd bug with decoding. to make sure it wasn't just that 1 build so i tryed the nightly from http://roy.orz.hm/lavf-w32-nightlies/lavf-my120213-b92b5da.7z which still gives me the same problem, it seems it picky on how the .ts has been saved i have uploaded a sample so you can see what the problem could be. video sample (http://www.mediafire.com/?5vqi5qal7f89bh5)

0.46 slow
http://i.imgur.com/emToX.png

0.45 fast (normal it will be over 2x as fast on a bigger sample)
http://i.imgur.com/93BYu.png

LAV v0.46 software decoding falls back to single tread decoding, while LAV v0.45 can decode this file multithreaded.
Just try to set the threads in Lav-video (0.46) to 1 : you will get the same result as with xxx threads.

The question is : why lav 0.46 can only use 1 thread, while 0.45 doesn't have this limitation ??
Seems like a regression to me.

Edit : coreavc 3 gets 670 fps on this very same sample. (12 threads)

CruNcher
14th February 2012, 15:47
hehe btw nev did you looked further into the Mpeg-2 Bitstream crash with Lav Video DXVA2 (Quicksync Decoder) 720p.mpg that was ?

Btw also Potplayers Decoder has issues decoding it with full VLD its causing also the exception in Intels Driver, so i guess this issue goes deep, it remembers me about the funny crash conditions with jans MPC-HC tester that also caused a exception in intels driver (though he found the issue in his code for it, rather fast) :)

http://img526.imageshack.us/img526/2158/potplayermpeg2bitstream.png

Intels Reference Decoder (accelerated no copy back) and any Quicksync (Lav Video,FFdshow) decoder doesn't crash seems the problem is mainly in DXVA Decoding, though Cyberlink, Arcsoft and Mainconcept DXVA work

Intel Reference (no copy back) = OK
ffdshow-quicksync (copy back) = OK
lav Video Quicksync (copy back) = OK
Cyberlink DXVA (no copy back) = OK
Mainconcept DXVA (no copy back) = OK
Arcsoft DXVA (no copy back) = OK

MPC DXVA (no copy back) = Crash
Lav Video DXVA2 (no copy back) = Crash
Potplayer DXVA (no copy back) = Crash

nevcairiel
14th February 2012, 18:29
http://www.gokuai.com/f/B20m09Ymn989q1n0
A VC-1 file

LAV Splitter Source 0.46 failed to get video parts.
http://i.imgur.com/UXTX2.png

MPC-HC's internal Mpeg Source is ok.
http://i.imgur.com/0CqBY.png

That file is broken, it has CRC errors in the PAT/PMT sections.
I did however add a VC-1 probe function that manages to identify a VC-1 stream when those sections are broken, so it should work in the next version.

wanezhiling
14th February 2012, 18:53
:thanks:I see.

nevcairiel
14th February 2012, 19:11
Nev, I updated QuickSync to 0.27 and my FPS for LAV 0.46 jumped with my test file to 850FPS from 330FPS. Using LAV 0.45 with QS 0.27 I get 1250 FPS and Eric's build of ffdshow 4322 I get 1550 FPS.

Didn't we agree to go testing higher resolution material? :)

I did my own peformance series on 1080p material, anything else will run extremely fast anyhow.

* LAV set to QuickSync decoder, everything else default.
* GraphStudioNext, 5 passes, NULL renderer, first result not used.
* 10 clips from http://forum.doom9.org/showthread.php?t=163110
* Windows 7 Professional 64 bit, Aero on.
* Intel driver: v2622, no Lucid Virtu
* CPU: i7-2600k (3.4GHz), power management on. HD 3000 (GT2) iGPU.
* DDR3 @1600Mhz
* All Scores are averages

https://docs.google.com/spreadsheet/ccc?key=0Ajo8vvjNtaZ5dC1abjBSeVlmcnZXSjYwampfamk3ZWc

Note that at these speeds any little activity on the PC can alter the scores, so difference of 1-2 FPS are negligible.
I'm happy to report that the speed has increased basically across the board with QS 0.27 (and the changes i did for yet unreleased LAV 0.47)

I'm still a bit confused by that Samsung clip, why does it behave to special and increase so drastically, but oh well!

For the giggles, i'll add a 0.45 + QS0.27 test set.

egur
14th February 2012, 20:24
Didn't we agree to go testing higher resolution material? :)

I did my own peformance series on 1080p material, anything else will run extremely fast anyhow.

* LAV set to QuickSync decoder, everything else default.
* GraphStudioNext, 5 passes, NULL renderer, first result not used.
* 10 clips from http://forum.doom9.org/showthread.php?t=163110
* Windows 7 Professional 64 bit, Aero on.
* Intel driver: v2622, no Lucid Virtu
* CPU: i7-2600k (3.4GHz), power management on. HD 3000 (GT2) iGPU.
* DDR3 @1600Mhz
* All Scores are averages

https://docs.google.com/spreadsheet/ccc?key=0Ajo8vvjNtaZ5dC1abjBSeVlmcnZXSjYwampfamk3ZWc

Note that at these speeds any little activity on the PC can alter the scores, so difference of 1-2 FPS are negligible.
I'm happy to report that the speed has increased basically across the board with QS 0.27 (and the changes i did for yet unreleased LAV 0.47)

I'm still a bit confused by that Samsung clip, why does it behave to special and increase so drastically, but oh well!

For the giggles, i'll add a 0.45 + QS0.27 test set.
Very well, you're results are better than mine, we actually have almost identical systems except mine has slower RAM (1333).

nevcairiel
14th February 2012, 20:25
Very well, you're results are better than mine, we actually have almost identical systems except mine has slower RAM (1333).

Maybe its partly the ram, or the HD3000 that i have, or that i test with LAV and not ffdshow, but its no big differences, largest is 3-5% or so.

Superb
14th February 2012, 20:45
Maybe its partly the ram, or the HD3000 that i have, or that i test with LAV and not ffdshow, but its no big differences, largest is 3-5% or so.Could you add the latest ffdshow to the table as well?

nevcairiel
14th February 2012, 21:41
Could you add the latest ffdshow to the table as well?

I'm working on some improvements to LAV first and will re-benchmark those, after that i could, i guess.

egur
14th February 2012, 21:43
Maybe its partly the ram, or the HD3000 that i have, or that i test with LAV and not ffdshow, but its no big differences, largest is 3-5% or so.

I got much worse results when I used LAV 0.46 (w/o updates + QS 0.27).
For the Samsung clip, I got 233fps where in ffdshow I got 273.
RAM speed has a serious effect on performance.
BTW, do you a hard drive or SSD?

Update
On my new HTPC (i7-2600K, DDR3@1600, Win7 64) my result are better but not the same as yours with respect to the Samsung clip (didn't run the whole suite):
LAV 0.46 (QS 0.27) - 255fps
FFDShow 4322 (QS 0.27) - 304fps

Nev, this is strange as is this PC is practically identical yours (but has very slow/old HDD). My HTPC is installed with the bare minimum, even without anti-virus SW.

nevcairiel
14th February 2012, 21:50
I got much worse results when I used LAV 0.46 (w/o updates + QS 0.27).
For the Samsung clip, I got 233fps where in ffdshow I got 273.
RAM speed has a serious effect on performance.
BTW, do you a hard drive or SSD?

0.46 also behaved worse for me, but i changed some things now which i called 0.47 in my tests (the bold column)

I optimized even further now, which did give quite a boost again, going to benchmark 0.47 again, and then latest ffdshow build as comparison.

I have a SSD, but i don't have those samples on it.

nevcairiel
14th February 2012, 22:13
There, i finished another round of optimizations in LAV, and benchmarked the QuickSync decoder again - as well as ffdshow for comparison.

Here is the link again:
https://docs.google.com/spreadsheet/ccc?key=0Ajo8vvjNtaZ5dC1abjBSeVlmcnZXSjYwampfamk3ZWc

To summarize:
With 0.27 of the QS decoder, and LAV and ffdshow now using the same settings, the upcoming LAV 0.47 and the latest nightly build of ffdshow perform basically the same, with a very minor loss for ffdshow, but nothing worth noting.

Now i can work on other things again. But first, sleep.

PS:
For anyone wondering when 0.47 will be released, i only want to finish one feature, and then i would start preparing a release, so if everything goes well, the end of the week!

STaRGaZeR
14th February 2012, 22:57
PS:
For anyone wondering when 0.47 will be released, i only want to finish one feature, and then i would start preparing a release, so if everything goes well, the end of the week!

Good luck with that native implementation :D

ryrynz
14th February 2012, 23:58
With 0.27 of the QS decoder, and LAV and ffdshow now using the same settings, the upcoming LAV 0.47 and the latest nightly build of ffdshow perform basically the same, with a very minor loss for ffdshow, but nothing worth noting

Legend.

Didn't we agree to go testing higher resolution material? :)


Yeah I know that's a preference for development but when there's such a large discrepancy between versions with this clip and with it being the content I mostly play I figured I'd keep testing with it.

New test! same file, run 5x with high priority.

ffdshow 4322 egur 1580 FPS
LAV 09212cac599d 1647 FPS

We have a new winner, you've nailed it.

your system is just screwed up.

Guess you fixed it then :D Cheers.

nevcairiel
15th February 2012, 07:46
Guess you fixed it then :D Cheers.

Guess so!
Glad the optimizations also fixed your "problem", and i can really close the chapter on this for good.

ddjmagic
15th February 2012, 10:45
Quick question, I have a i3 2120 using MPC-HC w Lav Filters/EVR custom renderer. Under Lav Video settings - hardware decoder to use, I have 2 available options, Intel Quicksync or DXVA2 (copy) which option would be best? For BD and Remux playback ?

If your CPU supports it, use QuickSync. A i3 2120 should be fine with it.

Thanks for the help setting it to Quicksync works great.
I did try DXVA (copy) but it completely broke playback, there was blocking on the image and when I switched audio or subs it froze up and I had to restart MPC. Anyone have any idea why this could be?

nevcairiel
15th February 2012, 11:10
I did try DXVA (copy) but it completely broke playback, there was blocking on the image and when I switched audio or subs it froze up and I had to restart MPC. Anyone have any idea why this could be?

DXVA2 isn't fully compatible with Intel, i suggest to stick to QuickSync and don't worry about it.

red5goahead
15th February 2012, 12:02
Hi.

Lately I'm trying to add the support for the lav codec into an application for the italiansubs.net community . It's a VisualSubSync modded version of the original one (it wrote in Delphi 7)
(http://www.visualsubsync.org/). Since a long time I use the mpc-hc codec to build a own filtergraph. Lav is an awesome alternative because it have only 3 filters for all container and formats. No problems at all even using filter without any registration.
Only an issue with an mkv with a 6 ch. /ac3 . the center channel seems very lack of volume level . I don't know why. is it a known problem?
some questions:

Is it possibile to have a scaler filter or is it already avaiable?
Is it possibile to have into the audio interface some method to enable or disable some channel? When vss extract the audio to build its graphics wave would be nice enable only the center channel because the subtitles are related to the dialogues.

thanks.

edit: please note . the problem with the center channel is only with Plantronics 626 DSP usb headphone. using the realtek audio on board there are no issues. the same Plantronics 626 DSP do not have any problems with other audio decoder such as mpa audio decoder.
weird.

nevcairiel
15th February 2012, 13:27
Sounds like you suffer from missing downmixing, which means you only hear left and right channels, and the center is not mixed into the two.

red5goahead
15th February 2012, 23:50
A new question:

why a different channel mapping for lav and ffdshow?

lav->side left/right
ffdshow-> back left/right

http://img839.imageshack.us/img839/4433/ffdshow.th.jpg (http://imageshack.us/photo/my-images/839/ffdshow.jpg/)
http://img59.imageshack.us/img59/7567/lavt.th.jpg (http://imageshack.us/photo/my-images/59/lavt.jpg/)

probably this is the cause in Media Portal and it MP Audio Renderer that with lav I got no sound with my Xonar DX.

thanks.

Midzuki
16th February 2012, 00:26
A new question:

why a different channel mapping for lav and ffdshow?

lav->side left/right
ffdshow-> back left/right

...

It's because some people think the back channels are back channels, whereas other people think the back channels should be side channels. :p

BTW, Imageshack sucks terribly. :sly:

kasper93
16th February 2012, 00:42
probably this is the cause in Media Portal and it MP Audio Renderer that with lav I got no sound with my Xonar DX.

Have you set proper input/output channel number in Xonar Audio Center?

http://dl.dropbox.com/u/16282309/doom9/XAD.png

mindbomb
16th February 2012, 01:37
i dont understand why the asus software asks you to specify how many channels in the input.

seems like there should be an autodetect for that.

kalston
16th February 2012, 01:56
Because Asus can down/up mix according to your needs and convert everything to one single format.

red5goahead
16th February 2012, 09:59
Have you set proper input/output channel number in Xonar Audio Center?

http://dl.dropbox.com/u/16282309/doom9/XAD.png

Yes. the setup is correct. With ffdshow the Mp audio renderer work fine probably because those side channel is not supported by wasapi mode with the xonar.

balkerman
16th February 2012, 11:40
Anyway to enable Quicksync for use with an i3 clarkdale!

egur
16th February 2012, 13:24
Anyway to enable Quicksync for use with an i3 clarkdale!

Pre SandyBridge CPUs used a lower API version of the Media SDK.
Though it's probably possible to enable older Nehalem/Westmere era iGPUs, it not easy for me:
* I don't have a system to test this.
* The Media SDK DLL is not shipped with the driver. You'll need to install it (Media SDK 1.5). I can't find it on the web these days.
* The older API means that not everything will work.

I tried and failed to make it work on my Penryn based laptop.

I recommend using a SW decoder (or use your dGPU HW acceleration) for pre SNB systems. Sorry.

nevcairiel
16th February 2012, 19:27
Here goes.

http://files.1f0.de/lavf/LAVFilters-0.46-28-g0ad5245-dxva2n.zip

This build features a DXVA2 "native" decoder, which means it delivers the decoded image directly to the renderer, and never copys it back to system memory.
This is in line with all "classic" DXVA2 decoders, has no performance penalities from copying the frame, but instead has some limitations.

For example, the software fallback has to rely on the information it gets in the media type, if the information is incomplete or just plain wrong, and the actual movie is incompatible to DXVA, it will not be able to fallback to software at this point (neither will most other DXVA decoders, so this is nothing new).
Otherwise, it seems to work pretty ok in my limited tests, but i'm looking forward on feedback from other people.

Remember, only works with EVR and only on Vista/7. If you try to use it with any other renderer, it will automatically fallback to software.

Note that this is a beta build, so if you dare to test it, please report how it behaves for you, even if all is just going fine.
If you encounter issues, please always state your GPU and the driver version. Note that NVIDIAs 285 WHQL driver has a bug that breaks DXVA decoding.

Thunderbolt8
16th February 2012, 19:33
can the other copy back decoder also stay, because it works with madvr and post processing stuff, unlike the real dxva2 decoder. that one is useless for me.

nevcairiel
16th February 2012, 19:35
Why would you think something is being removed?
In that build the copy back decoder is broken, actually, but i'm fixing it. :p

CruNcher
16th February 2012, 20:13
Nice really nice though i guess most of the decoding issues with the DXVA copy back decoder also still apply for the native ?

mbordas
16th February 2012, 20:22
the new native dxva2 decoder gives me half the gpu usage versus cuvid on my gt 440 w/290.53 driver, at least on 1080p60 samples (~30% vs 16%). Hooray (I think?) How is that possible?

nevcairiel
16th February 2012, 20:24
GPU usage itself has nothing to do with the video decoding, its probably just a result from the frame copy that CUVID performs.
Personally, given the choice, i would stick with CUVID. Its developed to match NVIDIA cards perfectly, and thus much less error prone - unless you really have a reason to need that less GPU usage for something.

noee
16th February 2012, 20:25
HD6570 Win7 Ult x64: Blazing, works great.
HD6320 Win7 Home x64 (Llano A6): Blazing, works great.

(using MPC-HC with EVR-CP b.4075)

dead_screem
16th February 2012, 20:26
would it be possible to support hardware deinterlacing with software decoding either via CUVID or DXVA?

nevcairiel
16th February 2012, 20:26
would it be possible to support hardware deinterlacing with software decoding either via CUVID or DXVA?

Possible, yes, but its way too slow to be usable (copying the frame to the surface, and then back to system memory). The video processor surfaces copy way slower then the decoding render targets, for some reason. Blame GPU vendors. :p

mark0077
16th February 2012, 20:32
nev, maybe you already have this on your long term todo list. Is it possible to allow selection of certain decoders for certain media types. (Newer nvidia drivers for example don't like CUVID vc-1 decoding so I'd love to use QuickSync for that and CUVID for everything else). Might obviously require a fair bit of GUI work I guess.

CruNcher
16th February 2012, 20:32
yep i really wonder what goes wrong with the madoka bitstream http://www.mediafire.com/?b6ru372z4k3k2sn the only ones that playback that correct with DXVA are Arcsoft currently, and partly mirillis but they have still frame issues :)

dead_screem
16th February 2012, 20:40
Possible, yes, but its way too slow to be usable (copying the frame to the surface, and then back to system memory). The video processor surfaces copy way slower then the decoding render targets, for some reason. Blame GPU vendors. :p

nuts.

because I coulda swore atleast with DXVA(2 only? idk) that accessing the deinterlacer for software decoding was possible normally and infact done by commercial software already. maybe I'm mistaken...

VipZ
16th February 2012, 20:59
Thanks for the update nev :)

Did some testing with native DXVA2, in h264(HD) and VC1 all my test's are identical between native and copy back and play perfectly, also the power consumption is identical between the 2 modes on my system. There seems to be some issues with native mode with SD h264 content and WMV3 where all the same tests work with copy back, the video opens but just doesn't start.

JarrettH
16th February 2012, 21:04
There, i finished another round of optimizations in LAV, and benchmarked the QuickSync decoder again - as well as ffdshow for comparison.

Here is the link again:
https://docs.google.com/spreadsheet/ccc?key=0Ajo8vvjNtaZ5dC1abjBSeVlmcnZXSjYwampfamk3ZWc

To summarize:
With 0.27 of the QS decoder, and LAV and ffdshow now using the same settings, the upcoming LAV 0.47 and the latest nightly build of ffdshow perform basically the same, with a very minor loss for ffdshow, but nothing worth noting.

Now i can work on other things again. But first, sleep.

PS:
For anyone wondering when 0.47 will be released, i only want to finish one feature, and then i would start preparing a release, so if everything goes well, the end of the week!

Obviously support for DVDs :D

NikosD
16th February 2012, 21:18
Here goes.

http://files.1f0.de/lavf/LAVFilters-0.46-28-g0ad5245-dxva2n.zip

Note that this is a beta build, so if you dare to test it, please report how it behaves for you, even if all is just going fine.
If you encounter issues, please always state your GPU and the driver version. Note that NVIDIAs 285 WHQL driver has a bug that breaks DXVA decoding.

Good job Nevcariel.

It's working fine, very fine on the signature system.
It's working for VLD only, so we have all three formats DXVA accelerated:

H.264(Progressive, Interlaced)
VC-1 (Progressive, Interlaced)
WMV3

Performance numbers are on par with MS DS and the quality is very good.

I didn't do an exchastive test but I only found one case I didn't get HW acceleration.

It's the difficult VC-1 1080\60p sample:
Devil_May_Cry_Gameplay

ftp://helpedia.com/pub/multimedia/x264/testvideos/2010%20-%2009%20-%20DXVA%20benchmarks%20-%20Avivo%20vs%20PureVideo%20vs%20Clear%20Video/Devil_May_Cry_Gameplay.wmv

nevcairiel
16th February 2012, 21:28
I didn't do an exchastive test but I only found one case I didn't get HW acceleration.

It's the difficult VC-1 1080\60p sample:
Devil_May_Cry_Gameplay

ftp://helpedia.com/pub/multimedia/x264/testvideos/2010%20-%2009%20-%20DXVA%20benchmarks%20-%20Avivo%20vs%20PureVideo%20vs%20Clear%20Video/Devil_May_Cry_Gameplay.wmv

Simply playing that file in MPC-HC gives me HW accel just fine on my NVIDIA.

NikosD
16th February 2012, 21:30
The system tested is the signature's system


UPDATE:
I found out a lot of "similar" VC-1 clips not playing in DXVA on ATI's HW.
Copy-back mode worked fine for those clips.

UPDATE2:
A lot of 720 and 1080 WMV HD clips are not HW accelerated too
Copy-back mode worked fine for those clips.

Looks like a problem with ModeVC1_VLD.

NikosD
16th February 2012, 21:32
yep i really wonder what goes wrong with the madoka bitstream http://www.mediafire.com/?b6ru372z4k3k2sn the only ones that playback that correct with DXVA are Arcsoft currently, and partly mirillis but they have still frame issues :)

What exactly is the problem playing that file on ATi's cards in DXVA mode with any decoder (MS DS, LAV, CoreAVC) ?

I didn't see any.

nevcairiel
16th February 2012, 21:40
nev, maybe you already have this on your long term todo list. Is it possible to allow selection of certain decoders for certain media types. (Newer nvidia drivers for example don't like CUVID vc-1 decoding so I'd love to use QuickSync for that and CUVID for everything else). Might obviously require a fair bit of GUI work I guess.

I would suggest to get a newer NVIDIA card which has full VC-1 acceleration, and no problems anymore. :p

Anyway, i put that request onto my tracker, and maybe i'll do it some time, although i can't even picture how an UI would look. :/

mark0077
16th February 2012, 21:45
:D thanks v much nev, performance is fantastic in latest builds

DragonQ
16th February 2012, 22:29
Had an opportunity to test DXVA2 Copyback from LAV 0.46 on my i5-430M (pre-SB) laptop. CPU usage is as follows:

1080p24 AVC @ 9 Mbps: 11-12%
1080p24 AVC @ 24 Mbps: 15-16%
1080p24 VC-1 @ 19 Mbps: 20-22%

I have to use all output modes because if I leave just RGB32 ticked, CPU usage nearly doubles. I guess because there's simply more information to copy.

DXVA2 Copy-Back still doesn't like my 1080i25 AVC HDTV rips at all. Very slow and erratic playback, green areas appearing on the video, MPC-HC crashing, even IGP drivers crashing. These files play perfectly fine on my other machines using 0.46's CUVID and they also play decently on this laptop in software mode (~40% CPU usage, plays at 50 fps mostly but sometimes drops to ~40 fps with dropped frames, which is why I'd love a working hardware acceleration solution!).

Snowknight26
16th February 2012, 22:34
Works beautifully with every file I throw at it, even over RDP.

Volfield
16th February 2012, 22:55
I would suggest to get a newer NVIDIA card which has full VC-1 acceleration, and no problems anymore. :p

Anyway, i put that request onto my tracker, and maybe i'll do it some time, although i can't even picture how an UI would look. :/

What do you think about this: http://i39.tinypic.com/wl4qbc.png ?

Aleksoid1978
17th February 2012, 01:20
DXVA2 Native also bad playback H.264 MBAFF and Interlaced on Intel(Intel HD, without support QuickSync)

RBG
17th February 2012, 06:21
What do you think about this: http://i39.tinypic.com/wl4qbc.png ?

Looks fine to me. I am glad that I'm not the only one who is interested in separate profiles.:)

wanezhiling
17th February 2012, 06:48
Here goes.

http://files.1f0.de/lavf/LAVFilters-0.46-28-g0ad5245-dxva2n.zip

This build features a DXVA2 "native" decoder, which means it delivers the decoded image directly to the renderer, and never copys it back to system memory.
This is in line with all "classic" DXVA2 decoders, has no performance penalities from copying the frame, but instead has some limitations.

For example, the software fallback has to rely on the information it gets in the media type, if the information is incomplete or just plain wrong, and the actual movie is incompatible to DXVA, it will not be able to fallback to software at this point (neither will most other DXVA decoders, so this is nothing new).
Otherwise, it seems to work pretty ok in my limited tests, but i'm looking forward on feedback from other people.

Remember, only works with EVR and only on Vista/7. If you try to use it with any other renderer, it will automatically fallback to software.

Note that this is a beta build, so if you dare to test it, please report how it behaves for you, even if all is just going fine.
If you encounter issues, please always state your GPU and the driver version. Note that NVIDIAs 285 WHQL driver has a bug that breaks DXVA decoding.
:thanks:Nice nice!

I found a problem, WM ASF Reader --> DXVA2(native) , works for WMV(VC1) but not for WMV(WMV3).

And we know mpc-hc doesnt offer a option for ASF, so I got a blackscreen like this:
http://i.imgur.com/8MHlE.png (DXVA2 native is active.)

With Potplayer which I could use LAV Splitter Source for ASF, works fine.http://i.imgur.com/2Y5ZM.png


I download the wmv from microsoft.
http://download.microsoft.com/download/a/9/3/a9327df4-aeb5-46de-b438-d0f60da6fb54/Coral_Reef_Adventure_1080.exe


Edit:WM ASF Reader --> DXVA2(native) , not for all WMV(VC1), this (http://forum.doom9.org/showpost.php?p=1552284&postcount=8302) failed too(blackscreen).
http://i.imgur.com/SQtRY.png (DXVA2 native is active.)

nevcairiel
17th February 2012, 07:42
You can force MPC-HC to use LAV for wmv if you add the WM ASF Reader to the external filter list and set it to "Blocked".

I'll test with the WM ASF Reader when i get home, thanks for the hint that its causing the issues.

wanezhiling
17th February 2012, 07:58
You can force MPC-HC to use LAV for wmv if you add the WM ASF Reader to the external filter list and set it to "Blocked".


:thanks:a good way, now it works fine.~~
http://i.imgur.com/xunLm.png
http://i.imgur.com/fuU4E.png

turbojet
17th February 2012, 08:00
I'm using LAVF to serve avisynth for encoding but I'm noticing blocks with progressive VC-1 with a 9600GT (VP2) cuda enabled, here's a sample (http://www.mediafire.com/?mf493kovfh9da0p). All MPEG2 and AVC is fine and 99% of VC-1 is fine with cuda but always have at least a few blocky frames with every file. I've tried LAVF 0.45 and 0.46 with same results. I also tried nvidia drivers 285.62 and 270.61. Disabling cuda for VC-1 has no blocks but it's a ~30% slower encode. Playing the sample file in graphstudio or MPC-HC with LAVF there's no blocks, DGNV also has no blocks. Any idea what's going on?

Also encoded files decoded with LAVF are a little larger, sometimes significantly larger then files decoded with ffdshow, dgnv, microsoft. Is this dithering or something else? Is there any way to disable this?

nevcairiel
17th February 2012, 08:04
Any idea what's going on?
Nope, there is no reason the decoder should behave differently when used with AviSynth.

Also encoded files decoded with LAVF are a little larger, sometimes significantly larger then files decoded with ffdshow, dgnv, microsoft. Is this dithering or something else? Is there any way to disable this?

Dithering is not used for 8-bit material, unless you ask it to output RGB (but for encoding that wouldn't make much sense, i guess). Maybe those files are interlaced and LAV is deinterlacing them and outputting double framerate?

turbojet
17th February 2012, 08:42
The blocks are showing up when high-quality processing is enabled. Disabled they don't show on that sample, should one expect lower quality with it disabled when not deinterlacing?

The file size differences seem to depend on cuda. With it disabled LAVF is the same size as ffdshow, microsoft, and dgnv. Just did another short test and it's not always larger, lav-cuda was 8 KB smaller then the aforementioned decoders. The few times I've noticed different sizes with same x264 crf settings there's been an issue but this still looks fine.

One more thing, I was planning on using 64 bit for deinterlacing and 32 bit for ivtcing (or vice versa) but cuda deinterlaced output is not good for decimating and there's many missing/dupe frames but LAVF 32 and 64 bit properties are shared is there any chance to have them separated in a future version?

nevcairiel
17th February 2012, 09:03
The blocks are showing up when high-quality processing is enabled. Disabled they don't show on that sample, should one expect lower quality with it disabled when not deinterlacing?
No, it only matters for deinterlacing.


One more thing, I was planning on using 64 bit for deinterlacing and 32 bit for ivtcing (or vice versa) but cuda deinterlaced output is not good for decimating and there's many missing/dupe frames but LAVF 32 and 64 bit properties are shared is there any chance to have them separated in a future version?

In the future, maybe. Its yet undetermined.

AJ73
17th February 2012, 10:15
The x86 version of the LAV video decoder makes the graphedt.exe from the Windows SDK crash when clicking on "DirectShow Filters" in the filter selection dialog. This is not the case for the x64 version.

nevcairiel
17th February 2012, 10:19
The x86 version of the LAV video decoder makes the graphedt.exe from the Windows SDK crash when clicking on "DirectShow Filters" in the filter selection dialog. This is not the case for the x64 version.

Why do i have a FAQ? :)


Q: GraphEdit crashes after i installed LAV Video!
A: This is a GraphEdit bug. It will crash as soon as one filter supports more then 100 formats. There is nothing to be done. Personally, i suggest using GraphStudio instead!

ajp_anton
17th February 2012, 14:16
What do you think about this: http://i39.tinypic.com/wl4qbc.png ?
Was thinking the same, except skip the check boxes and just add a "None" as the top choise, as it is right now.

wanezhiling
17th February 2012, 15:03
Hi nev, http://www.gokuai.com/f/664h14hU3p6dN440

CUVID, ok
copy back, failed
native,failed

Other dxva decoders I have are ok.

STaRGaZeR
17th February 2012, 15:05
Small regression here. LAV Video, when using QS, causes MPEG-2 playback to be choppy inside DVBViewer. H.264 channels are fine, and MPEG-2 outside DVBViewer is fine too. It doesn't happen with the software decoder, so I'm guessing a timestamp issue with QS here.

nevcairiel
17th February 2012, 16:04
Hi nev, http://www.gokuai.com/f/664h14hU3p6dN440

CUVID, ok
copy back, failed
native,failed

Other dxva decoders I have are ok.

Fixed, the profile check wasn't 100% correct for constrained baseline.


I'll test with the WM ASF Reader when i get home, thanks for the hint that its causing the issues.
Fixed playback with the WM ASF Reader too.

wanezhiling
17th February 2012, 16:31
:thanks:Excellent!

CruNcher
17th February 2012, 16:34
What exactly is the problem playing that file on ATi's cards in DXVA mode with any decoder (MS DS, LAV, CoreAVC) ?

I didn't see any.

Im talking about Quicksync not ATI or Nvidia (ehh btw why do we still call it ATI), with Quicksync only Arcsoft and Mirillis does it correct all the other ISV fail :P

As i already said DXVA implementations can be very different and need adaption for some DSPs :)

nevcairiel
17th February 2012, 17:38
Small regression here. LAV Video, when using QS, causes MPEG-2 playback to be choppy inside DVBViewer. H.264 channels are fine, and MPEG-2 outside DVBViewer is fine too. It doesn't happen with the software decoder, so I'm guessing a timestamp issue with QS here.

Seems fine here.
Maybe its a deinterlacing field-order issue? In that case, i couldn't do anything, would have to complain to Eric - but its certainly possible its just encoded with wrong flags.

wanezhiling
17th February 2012, 17:44
nev, since native dxva has been implemented, so would you like to use "DXVA" FourCC for NV12 subtype as what CoreAVC 3.0.1 has done.:)
http://corecodec.com/products/coreavc/changelog
Use "DXVA" FourCC for NV12 subtype when it's used for DXVA connections
http://i.imgur.com/KFJJR.png

nevcairiel
17th February 2012, 17:48
nev, since native dxva has been implemented, so would you like to use "DXVA" FourCC for NV12 subtype as what CoreAVC 3.0.1 has done.:)
http://corecodec.com/products/coreavc/changelog

http://i.imgur.com/KFJJR.png

But why? Its NV12. :p

Pat357
17th February 2012, 17:48
The x86 version of the LAV video decoder makes the graphedt.exe from the Windows SDK crash when clicking on "DirectShow Filters" in the filter selection dialog. This is not the case for the x64 version.
You mean using graphedit64 with lav 64 bit does not crash ?

The crashing with lav32 installed is a known problem with graphedit 32b anyway; it's a bug in graphedit.

I thought graphedit64 would also crash, but I never tested it.

wanezhiling
17th February 2012, 18:03
:p Just looks pretty in PP.

Ignore me, ignore me.:p

Pat357
17th February 2012, 18:24
I'm using LAVF to serve avisynth for encoding but I'm noticing blocks with progressive VC-1 with a 9600GT (VP2) cuda enabled, here's a sample (http://www.mediafire.com/?mf493kovfh9da0p).
I used this method to deinterlace interlaced video. I noticed too that the first 2 frames where not perfect, but thought at that time it could be due buffering issues in "directshowsource".
(I used directshowsource with a .grf file, probably you did so too).
The result was fine : I got a progressive video to encode in x264, and I trimmed away the to bad frames in the beginning.
After I bought DGNV (well, did a donation at Neuron:D), I used this instead ; it can deinterlace too and works for h264/mpeg2/VC1 using CUVID decoding.
This way I don't need any CPU cycles to do the decoding and encoding goes faster.
I don't see any advantage to use LAV for avisynth anymore.

aufkrawall
17th February 2012, 18:57
LAV video decoder crashes when used via Avisynth DirectShowSource while decoding x264 RGB:
http://www.ld-host.de/uploads/thumbnails/23e0ff5e005124a7633fc3ebfa0a9599.png (http://www.ld-host.de/show/23e0ff5e005124a7633fc3ebfa0a9599.png)

Tested with latest nightly and 0.44.

nevcairiel
17th February 2012, 19:04
LAV video decoder crashes when used via Avisynth DirectShowSource while decoding x264 RGB:
http://www.ld-host.de/uploads/thumbnails/23e0ff5e005124a7633fc3ebfa0a9599.png (http://www.ld-host.de/show/23e0ff5e005124a7633fc3ebfa0a9599.png)

Tested with latest nightly and 0.44.

Works fine here. Outputs RGB32 like its supposed to.

STaRGaZeR
17th February 2012, 19:04
Seems fine here.
Maybe its a deinterlacing field-order issue? In that case, i couldn't do anything, would have to complain to Eric - but its certainly possible its just encoded with wrong flags.

Nope, it isn't. I tried disabling all deinterlacing and it's still choppy, but this time around 25 fps instead of 50 ofc. The issue goes away if I revert this change: http://git.1f0.de/gitweb?p=lavfsplitter.git;a=commit;h=5bc0008be139ab10b599b2327cf04d7318f90d18, that's why 0.46 is fine.

Using lastest QS from trunk BTW.

nevcairiel
17th February 2012, 19:05
Nope, it isn't. I tried disabling all deinterlacing and it's still choppy, but this time around 25 fps instead of 50 ofc. The issue goes away if I revert this change: http://git.1f0.de/gitweb?p=lavfsplitter.git;a=commit;h=5bc0008be139ab10b599b2327cf04d7318f90d18

Blame Eric then, all i do is use his default settings. :p

aufkrawall
17th February 2012, 19:06
Works fine here. Outputs RGB32 like its supposed to.
It always seems to crash at the same position.
Is there a chance to get more debug data and send it to you?

mkanet
17th February 2012, 19:14
For some reason my media player (SageTV) wont playback a video media file at all if there's a subtitle stream embedded in the mkv or m2ts file.

So basically, any media file that causes the "Internal Script Command Renderer" filter to connect the LAV Splitter's Subtitle pin, my media player will just not playback the media file. I have no idea why; and, there's no way to fix this in the player since it doesn't have subtitle support.

Is there any way for me to disable the LAV Splitter's Subtitle pinout permanently? If I ever need to play a media file with subtitles, I just use TMT 5.

nevcairiel
17th February 2012, 19:16
For some reason my media player (SageTV) wont playback a video media file at all if there's a subtitle stream embedded in the mkv or m2ts file.

So basically, any media file that causes the "Internal Script Command Renderer" filter to connect the LAV Splitter's Subtitle pin, my media player will just not playback the media file. I have no idea why; and, there's no way to fix this in the player since it doesn't have subtitle support.

Update to 0.46, it should be fixed.

STaRGaZeR
17th February 2012, 19:24
Blame Eric then, all i do is use his default settings. :p

But you did override the default settings before to make things run fine :sly:

Anyway I confirmed it, QS default is 16, choppy. 8 is fine. He changed it in r39. Reporting :p

nevcairiel
17th February 2012, 19:30
But you did override the default settings before to make things run fine :sly:

That was before he changed the settings to make that property independent from the timestamp setting. :D
There is also a slight problem there, reducing it back to 8 cuts quite a bit into H264 performance. Maybe it should be dependent on the codec? Anyhow, i'll let Eric add that logic in the decoder. ;)

mkanet
17th February 2012, 20:07
Thanks for the quick reply. BTW, just now, I added ffdshow's subtitle functionality via YV12 raw video. I am not at home right now (did this via RDP). I'm pretty sure this will allow me to have subtitle support even if SageTV doesn't support subtitles. I think I can even map subtitle options to my SageTV remote control (using Girder) if ffdshow supports hotkeys.

I just one one more question:
How do I configure LAV Splitter to ONLY and automatically display English subtitles during non-english speaking parts of the movie. I don't want to see subtitles for any other circumstance unless I manually change the setting. Did I configure it correctly below?

http://i67.photobucket.com/albums/h283/mkanet/th_LAV.jpg (http://i67.photobucket.com/albums/h283/mkanet/LAV.jpg)

Update to 0.46, it should be fixed.

STaRGaZeR
17th February 2012, 20:19
That was before he changed the settings to make that property independent from the timestamp setting. :D
There is also a slight problem there, reducing it back to 8 cuts quite a bit into H264 performance. Maybe it should be dependent on the codec? Anyhow, i'll let Eric add that logic in the decoder. ;)

Ah yes, idd :p. I think Eric is really pushing the speed thingy. The number of queues seems to affect both performance and stability, the need for different settings for different formats might just be hidding a bigger problem in how the whole thing is handled.

nevcairiel
17th February 2012, 20:33
Well the big difference for Live TV is that data isn't readily available when you need it, so the decoder has to be able to process every frame without much delay. With file-based playback, this isn't required, because you will always have enough data to completely fill the decoders queues, which smoothes out any spikes it may produce.

Maybe Eric did do some too drastic changes there.

Pat357
17th February 2012, 20:42
:p Just looks pretty in PP.
Ignore me, ignore me.:p
Just try to play an i444 (AYUV, NV24) or even better an Y410 (10 bit 4:4:4) file in PP with MadVR : PP crashes like hell !
I currently stopped using PP until this is fixed.
I you see in filters, there is always some "filter adapter" between Lav-video and MadVR.
My guess it that this thing can't handle 4:4:4, but there's no way to get rid of this, while it's completely obsolete there as it serves no function.

Pat357
17th February 2012, 21:46
Nev,

Is there a difference between the normal DXVA mode and DXVA copy back (besides copying frames of course) ?
I ask because I have something bizarre :
Do you remember that I had "green" screens on certain files with DVXA-CB (282.62 driver) ?
Well I am still on this driver (did not update) and with the normal DXVA mode, these files play just fine !!
I did try again with DXVA-CB --> all green screens.
normal DXVA -> all play OK !!
Each time I checked that DXVA was "active" and only for one file fall-back to softw happened, but for all other files DXVA was "active".

So this brings me to wonder whether the 285.36 driver is really the cause of the green screens.
Why can DXVA play these files while DXVA-CB can not ?
In fact i'm far more interested in DXVA-CB because of MadVR.

Can you please check why DXVA-CB fails and DXVA does not ?

Until now I mostly use CUVID for interlaced stuff (excellent deinterlacing, especially for VC1 as there is no "good" softw alternative.. oh, I forgot WM DMO, but...you know.. :rolleyes:).
For progressive content I mostly use SW because my of my very fast CPU. Also using CUVID puts my GTX-570 in highest power-state and as you know this is a serious overkill and very inefficient way just to watch some progressive video.
My CPU stays below 10% even for H264 1080p@60fps with 16 refs.

nevcairiel
17th February 2012, 21:52
Can you please check why DXVA-CB fails and DXVA does not ?

While i had that driver installed, i even tested Microsofts DXVA codec, and it too failed (black instead of green, but i can easily make it black if you wish)
Its just a driver bug, install another one if you want to use DXVA-CB. Not really worth spending my limited time on.

Debugging why DXVA fails is impossible, its a closed API, and only the driver developers could potentially tell you whats going on.

Mercury_22
17th February 2012, 22:05
Nev can you add an ini file for settings (like with MPC-HC) cause this way it will be more easy to test different settings (SW DXVA DXVA-CB...) or even use different settings for x64 & x86 builds or ... make LAV "portable" :)

nevcairiel
17th February 2012, 22:07
Nev can you add an ini file for settings (like with MPC-HC) cause this way it will be more easy to test different settings (SW DXVA DXVA-CB...) or even use different settings for x64 & x86 builds or ... make LAV "portable" :)

This seems like a bad idea. Too many headaches involved for a mostly useless feature.
No offense intended. :)

Mercury_22
17th February 2012, 22:17
This seems like a bad idea. Too many headaches involved for a mostly useless feature.
No offense intended. :)

Ok !
I was thinking to test the new DXVA but I was also trying to find a solution not to crash my system in case of bug since there are not separate settings (trying to test the new dxva only with the x86 version since the x64 version can crash explorer in case of a bug ...(like the last time :) )

nevcairiel
17th February 2012, 22:18
Explorers thumbnail thingy will never use a hardware decoder (not anymore, anyway)
I might separate 32 and 64-bit some time in the future, not sure yet if i want to.

Pat357
17th February 2012, 23:45
While i had that driver installed, i even tested Microsofts DXVA codec, and it too failed (black instead of green, but i can easily make it black if you wish)
Its just a driver bug, install another one if you want to use DXVA-CB. Not really worth spending my limited time on.

Debugging why DXVA fails is impossible, its a closed API, and only the driver developers could potentially tell you whats going on.

OK, I understand and agree with your point of view.
I also tested other DXVA decoders on the files that showed only green screens with LAV DXVA copy back.

ArcSoft decoder : h264/mpeg2 and wmv files play fine in dxva mode
Mainconcept decoders : h264/mpeg2 files play fine in dxva mode, wmv's falls back to softw in VC1 decoder.
Cyberlink PDVD9 decoder : h264/mpeg2 files play fine in DXVA and HAM mode. It looks that the HAM mode is somewhat similar to DXVA-CB ?
FFDshow DXVA : h264 files play fine, WMV didn't even connect.

Conclusion is that the above DXVA decoders do well on these files. Because the "direct" DXVA mode from LAV also plays these files OK, it's not clear as to why LAV DXVA-CB breaks on these files with the latest WHQL driver v285.36.
A newer driver seems to solve all problems with dxva-cb, so to me it seems that neither the driver or LAV-CB is the cause, but somehow in the interaction between LAV-CB and the 285.36 driver .

Nev, can you somehow check what info really goes to the renderer, or is this hidden due the DXVA API (like you send in a black box, but what happens after this is actually hidden).
Is it somehow possible to dump and read the dxva stream ?

nevcairiel
18th February 2012, 08:25
The DXVA decoder doesn't even indicate failure, it just produces a green image, but happily returning success.
It gives me no point to start looking.

Like i said before, its one broken driver, and there is no way to look into the driver what its doing there.
Its even listed as a documented bug in that driver.

It is quite interesting that native mode works (and the MS decoder doesn't), but i guess we should just be happy that it does work and not question the logic.
Maybe the copy-back mechanic is just broken for some reason, the driver only returns zeros when copying the frame - and in native mode it doesn't copy it.

jmone
18th February 2012, 09:05
I've not had the HW to try this (soon will)... what is the go with 3D BD playback in the direct show world these days or is it still only available from the commercial players?

NikosD
18th February 2012, 10:04
Signature System:

Two issues:

1) LAV DXVA native doesn't HW accelerate ANY H.264 clip of the type below (I have a lot of them as it is popular for movie trailers).
Movie Trailer (https://rapidshare.com/files/3984043544/Paranormal_Activity.mkv)

2) In latest DXVA checker 2.7.0, when you provide a non HW accelerated clip - like High10 H.264 - it enumerates LAV Video as "Unsupported", although it is supported of course in software mode.

It would be more convenient, if LAV Video was listed like CoreAVC, enumerating the supported restricted modes without red colour aka DXVA acceleration.

Try a High10 H.264 in DXVA checker to see what I mean.

nevcairiel
18th February 2012, 10:12
1) LAV DXVA native doesn't HW accelerate ANY H.264 clip of the type below (I have a lot of them as it is popular for movie trailers).
Movie Trailer (https://rapidshare.com/files/3984043544/Paranormal_Activity.mkv)

Fixed.


2) In latest DXVA checker 2.7.0, when you provide a non HW accelerated clip - like High10 H.264 - it enumerates LAV Video as "Unsupported", although it is supported of course in software mode
The software fallback has to be as reliable as possible, which means it'll fallback as early as possible. I won't be changing this for a "cosmetic" issue.

VipZ
18th February 2012, 12:28
Would it be possible to add support for WMA Lossless now as it seems ffmpeg support is much better with recent updates?

nevcairiel
18th February 2012, 12:54
Would it be possible to add support for WMA Lossless now as it seems ffmpeg support is much better with recent updates?

The decoder is still highly experimental, so no.
ffmpeg itself disables it unless i specifically ask it to enable experimental codecs.

VipZ
18th February 2012, 15:23
The decoder is still highly experimental, so no.
ffmpeg itself disables it unless i specifically ask it to enable experimental codecs.

ok thanks

nevcairiel
18th February 2012, 16:01
Here is a new test build:

http://files.1f0.de/lavf/LAVFilters-0.46-42-g46ff9fb.zip

As a quick summary, since 0.46 this is new:

- DXVA2 native, of course. Quite a bunch of issues fixed since the last test build
- Performance enhancements across the board (mostly for 8-bit content)
- Tweaked QuickSync settings
- Fraps multi-threading

Especially the Fraps multi-threading could also use a bit of testing to check that nothing breaks. I'm confident that it'll work ok, but my testing is somewhat limited.
Of course, DXVA2 native also likes being tested, but so far it looks pretty good.

I'm looking into releasing tomorrow, if nothing big comes up, so i can start working on new features without blocking release.

dukey
18th February 2012, 17:03
tested the dxva2 mode with my custom EVR presenter, works fine. Only comment is, could dxva be automatically selected upon install ? Or whatever is best for the end user.

nevcairiel
18th February 2012, 17:06
Who am i to judge whats best for the user? :)

dukey
18th February 2012, 17:09
Well good point, but if its available it would make sense to select it instead of software decoding by default :p

NikosD
18th February 2012, 18:08
Really good and fast DXVA native implementation

From my first preliminary test, looks like it is optimized for high bitrate clips.

Only one WMV3 clip with artifacts in both copy-back and native mode, on signature system

Download it here (https://rapidshare.com/files/3457679129/halo2_wmp9_WMV3_audio0x162.wmv)

nevcairiel
18th February 2012, 18:59
Only one WMV3 clip with artifacts in both copy-back and native mode, on signature system

Download it here (https://rapidshare.com/files/3457679129/halo2_wmp9_WMV3_audio0x162.wmv)

I couldn't find any hardware decoder that properly decoded this. ffmpegs software decoder also cannot.
Thats a kind of special file that was encoded with a beta version of the WMV encoder, which is not 100% compliant with WMV9/VC-1 specs.

CruNcher
18th February 2012, 19:28
Microsofts first ever released WMV9 demo streams (the kelsy streams) also show this issue with any decoder only Microsofts own Decoder isn't affected though it seems what ever causes these strange blocking for every other 3rd party decoder was never used later on again, It only shows itself in high motion every scene that suffers from this is high motion though mostly the scenes are short except for a stream that appeared on mplayers sample server that is even older then the kelsy streams (and i absolutely dont remember this one being a official Microsoft Release back then) their you even see it much longer in a high motion scene (Video_Smoothing.wmv) :).

nevcairiel
18th February 2012, 19:52
Obviously Microsoft used their own beta encoder to encode the first demo streams. :p
The fact remains that its not compatible with the WMV9/VC-1 specs

aufkrawall
18th February 2012, 20:07
No problem with multithreaded FRAPS decoding (how can I be certain that it's really MT?).
At least there is no noticeable difference to previous builds, ST was already fast enough.
Of course there's still the "issue" that FRAPS YV12 videos don't look right, neither with madVR as renderer compared to EVR *sigh*.

The problem when decoding x264 RGB with Avisynth seemed to be related to VirtualDub.
If I feed x264 with the same script like VD, decoding works flawlessly.

fairchild
18th February 2012, 20:45
I just watched Friday the 13th Blu-ray using the new test file and DXVA2 Native + EVR CP and playback was flawless. During the credits I seeked back using the MPC-HC D3D Fullscreen seek bar and it wasn't as smooth as when using software decoding, but I think this is standard with all DXVA2 decoding since the GPU has to catch up or something of the sort?

So now that this is implemented, is this one step closer to having native DXVA2 GPU decoding + MadVR in the future or is that just never gonna happen? I know DXVA2 copyback works with MadVR but it's decoding on my ATI is not as efficient as native DXVA2 decoding. (52 fps with DXVA2 copyback vs 147 fps with DXVA2 native on the crowdrun_1080p50 test file)

nevcairiel
18th February 2012, 21:07
During the credits I seeked back using the MPC-HC D3D Fullscreen seek bar and it wasn't as smooth as when using software decoding, but I think this is standard with all DXVA2 decoding since the GPU has to catch up or something of the sort?
On most PCs, software decoding is significantly faster then hardware decoding, which also accelerates seeks.


So now that this is implemented, is this one step closer to having native DXVA2 GPU decoding + MadVR in the future or is that just never gonna happen?
You have to ask madshi about that.
Note that copy back doesn't have to be that slow, should complain to ATI/AMD more. The 7000 series seem to have improved on that front.

FDisk80
18th February 2012, 21:14
Hi nevcairiel, amazing work on the LAV Filters. :)
Are there plans for LAV Audio to give us some controls on audio channels like AC3 Filter has? And features like Auto Gain Control, Normalization... and so on.

nevcairiel
18th February 2012, 21:15
Hi nevcairiel, amazing work on the LAV Filters. :)
Are there plans for LAV Audio to give us some controls on audio channels like AC3 Filter has? And features like Auto Gain Control, Normalization... and so on.

Yes, and no.
A mixer will be added, everything else not.

FDisk80
18th February 2012, 21:17
Yes, and no.
A mixer will be added, everything else not.

Wow, you are quick :) I just clicked submit.
Thanks, keep up the great work.

fairchild
18th February 2012, 21:18
On most PCs, software decoding is significantly faster then hardware decoding, which also accelerates seeks.

Yeah my CPU can handle software decoding just fine, but I'd like to offload as much as possible to the GPU as I run Folding@home on my PC and I'd prefer the CPU having as much resources as possible. :D

NikosD
18th February 2012, 21:56
I know DXVA2 copyback works with MadVR but it's decoding on my ATI is not as efficient as native DXVA2 decoding. (52 fps with DXVA2 copyback vs 147 fps with DXVA2 native on the crowdrun_1080p50 test file)

It's simply impossible for any ATI card - as it is right now with any drivers released ever - to HW accelerate in DXVA native mode CrowdRun_1080p50 to 147 fps average.

It's simply impossible because with my overclocked UVD2.2 at 710MHz I only get 71 fps average.

Check your CPU load to see that software decoding is involved (maybe software fallback)

fairchild
18th February 2012, 22:30
It's simply impossible for any ATI card - as it is right now with any drivers released ever - to HW accelerate in DXVA native mode CrowdRun_1080p50 to 147 fps average.

It's simply impossible because with my overclocked UVD2.2 at 710MHz I only get 71 fps average.

Check your CPU load to see that software decoding is involved (maybe software fallback)

Hrm you are correct. When I select DXVA2 copy back mode and test with graphstudionext, it properly works and gives me an avg of 52 fps.

When I select DXVA2 native mode, it seems to fall back to software mode and I verified that 147 fps is what I get when I set Lav Video to software mode.

Is there some limitation or bug with either software or is there another way to benchmark that I'm not aware of?

nevcairiel
18th February 2012, 22:49
Is there some limitation or bug with either software or is there another way to benchmark that I'm not aware of?

You need to use EVR as renderer if you want to benchmark DXVA playback. As an alternative do it with DXVAChecker

egur
18th February 2012, 23:35
@Nev, try using r41, I've improved overall performance in all cases and especially on low (and zero) queue depth. Using higher than 8 BTW, doesn't improve anymore.

Pat357
19th February 2012, 00:04
Nev,

I just updated my drivers to 290.36, no "greens" anymore !
Thanks for figuring this out.
I'd never have known that the drivers were the issues until you told me so.

This file plays very choppy in both DXVA and DXVA CB, but plays smooth with MPC build in DXVA.
In all 3 cases the LAV-spitter is used, so it's not a splitter issue.
I also tried the MPC build in MPEG-spliiter and got the same result.

http://www.mediafire.com/?3z15d95b7j0j3jm

PS : It's one off these files that produced "greens"" with the 285 WHQL driver.
In mean time I also tested LAV with the FPS1 files that were on my disk : no issues concerning the decoding, MT seems to work fine.
I'll test the MT better by creating a 60 FPS 1080p file with fraps and than decoding it.

Reino
19th February 2012, 00:23
- Improved Fraps decoding with EVRFor FPS1(yuvj420p) files could you automatically apply TV-levels with VMR-9 Renderless as well as you've done for EVR.
The only thing left for both renderers now is BT.709->BT.601 luma conversion and LAV can perfectly decode Fraps files in YV12 mode.Not implemented yet with 16:01 test build I see. It is possible for VMR-9 Renderless, I hope?

I guess you haven't had time to look at the SNOW issue, or have you?

Pat357
19th February 2012, 04:36
Here are some more detailed results from the FRAPS-MT version in LAV-video :
#Threads FPS
1 28,5 fps
2 56,0 fps
3 83,2 fps
4 108,6 fps
5 128,4 fps
6 141,8 fps
7 155,0 fps
8 167,9 fps
9 182,9 fps
10 197,1 fps
11 207,9 fps
12 211,2 fps
14 211,5 fps
16 211,9 fps

With low numbers of threads, the scaling is almost linear.
Above 12 threads, there is no improvement anymore, probably because my CPU has "only" 6+6 cores (6 real + 6 hyper-threading).
Well done Nev !!

Test system :
FRAPS file 2.4 GB, bitrate 130 Mbps, 1920x1080@10fps, 2min 39,4s
GraphstudioNext v0.4.9.0 (32bit , LAV 0.46 (latest posted by Nev)
Win7 Prof. x64 (all updates)
CPU : i7-970@3.7 Ghz with 12MB on die L3 cache
24 GB of 2000 MHz trip. channel DDR3
Areca 1222 RAID6 controller / 8x 2TB 7.2k WD HD
OCZ Vertex 3 240GB SSD

PS: while writing this, something else comes in my mind : tranfer speed !
To get 211 fps, you probably also need a very fast HD or a fast SSD.
The file is recorded at 10FPS, so to get 211 fps, you need to read it at 21x, this is 7.5s to read a 2.4 GB file = + 330 MB/s.
I guess a single HD or even 2 HD in RAID0 can't keep up with this.

CruNcher
19th February 2012, 07:51
Nev,

I just updated my drivers to 290.36, no "greens" anymore !
Thanks for figuring this out.
I'd never have known that the drivers were the issues until you told me so.

This file plays very choppy in both DXVA and DXVA CB, but plays smooth with MPC build in DXVA.
In all 3 cases the LAV-spitter is used, so it's not a splitter issue.
I also tried the MPC build in MPEG-spliiter and got the same result.

http://www.mediafire.com/?3z15d95b7j0j3jm

PS : It's one off these files that produced "greens"" with the 285 WHQL driver.
In mean time I also tested LAV with the FPS1 files that were on my disk : no issues concerning the decoding, MT seems to work fine.
I'll test the MT better by creating a 60 FPS 1080p file with fraps and than decoding it.

Must be a MBAFF decoding problem you also have that on Intel with Lavs DXVA works with CoreAVC DXVA and others

nevcairiel
19th February 2012, 09:29
Not implemented yet with 16:01 test build I see. It is possible for VMR-9 Renderless, I hope?

There is nothing to be done. All i changed was to assume that Fraps would be RGB, and do the initial connection from the decoder to the renderer in RGB. EVR is stupid and doesn't allow a reconnection, so it'll stay RGB. VMR is not stupid, and allows me to reconnect, so it'll switch to YV12.
This is working as intended.


I guess you haven't had time to look at the SNOW issue, or have you?
Thats not something i can fix, report the problem to ffmpeg/libav, the decoder is having the issue.


This file plays very choppy in both DXVA and DXVA CB, but plays smooth with MPC build in DXVA.
In all 3 cases the LAV-spitter is used, so it's not a splitter issue.
I also tried the MPC build in MPEG-spliiter and got the same result.

http://www.mediafire.com/?3z15d95b7j0j3jm


That file must be broken somehow, it complains about missing reference frames a lot.
Not sure why it causes this odd decoding behaviour, maybe it should be skipping some of the broken frames instead of trying to decode them. The HW decoder seems to "hang" on some frames for a short while

nevcairiel
19th February 2012, 09:35
@Nev, try using r41, I've improved overall performance in all cases and especially on low (and zero) queue depth. Using higher than 8 BTW, doesn't improve anymore.

Looks good here.
The difference between queue depth is very marginal now, and even on depth 0 the old samsung clip plays nearly as fast as on depth 16 before.

I'll run a full set of tests.

Aleksoid1978
19th February 2012, 10:15
That file must be broken somehow, it complains about missing reference frames a lot.
Not sure why it causes this odd decoding behaviour, maybe it should be skipping some of the broken frames instead of trying to decode them. The HW decoder seems to "hang" on some frames for a short while

http://aleksoid.tosei.ru/Test/Sample/Blind_Fury.m2ts - Also play very bad in software and DXVA with LAV. I think - it's a ffmpeg issue. Some times ago you fix ffmpeg to normal playback MBAFF H264.

nevcairiel
19th February 2012, 10:28
http://aleksoid.tosei.ru/Test/Sample/Blind_Fury.m2ts - Also play very bad in software and DXVA with LAV. I think - it's a ffmpeg issue. Some times ago you fix ffmpeg to normal playback MBAFF H264.

In Software it plays just fine for me.

egur
19th February 2012, 10:38
Looks good here.
The difference between queue depth is very marginal now, and even on depth 0 the old samsung clip plays nearly as fast as on depth 16 before.

I'll run a full set of tests.

Great. It wasn't an easy task :(
Aside from some very small layers of fat in the code, the trick was to lengthen the decode queues (no effect on latency - just how many frames the HW decoder can fill before it stalls), this helps performance when the decoder speed is very variable on a frame basic (as each frame can have very different bitrate). The other thing, which took most of my time to find, was the order of D3D surfaces sent to the decoder. Very weird as it should change nothing. I still don't fully understand why adding long output queues help in this case expect mandate a specific order of D3D frames.

Another performance enhancement would be to remove my dependency on PostThreadMessage for passing/queuing jobs for both decode and frame processing. VTune shows a lot of waiting is done there. I'll investigate this route soon.

Aleksoid1978
19th February 2012, 10:39
In Software it plays just fine for me.

Yes - my fall. Software & CUVID ok. I sorry for the misinformation

mrg155
19th February 2012, 11:26
Hi, couldn't find this specific questions asked before, apologies if I missed it:

I have ripped BDs in MKV. I tend to keep all English audio and PGS subtitle streams in the rip. I would like to set up LAV splitter such that the following happens:

1) If English audio then use default English subtitles but pass only those with forced flag

2) If non-English audio then pass full English subtitle track.

As far as I can see, the advanced selection mode allows you to automatically select a forced track but not to use the default track and pass only titles within it that have the forced flag?

Selecting the forced flag titles option in the "Blu-ray subtitles" section works perfectly for (e.g.) District 9. Presumably though with this setting enabled a foreign language film will get no English subtitles as these aren't usually marked with a forced flag?

Currently am having to extract forced titles as separate track in MakeMKV and then edit the header to mark the track as forced.

Any ideas if the advanced selection mode can be used to achieve the above?

Thanks

VipZ
19th February 2012, 11:27
http://aleksoid.tosei.ru/Test/Sample/Blind_Fury.m2ts - Also play very bad in software and DXVA with LAV. I think - it's a ffmpeg issue. Some times ago you fix ffmpeg to normal playback MBAFF H264.

This sample works fine in Software and DXVA2 Native + CB for me.

nevcairiel
19th February 2012, 11:28
This sample works fine in Software and DXVA2 Native + CB for me.

Maybe its just an NVIDIA thing.
Not to worry then, NVIDIA users should prefer cuvid anyway :)

Aleksoid1978
19th February 2012, 11:43
Maybe its just an NVIDIA thing.
Not to worry then, NVIDIA users should prefer cuvid anyway :)

But - MPC DXVA play fine. Then it's not a bug in the Nvidia driver.
Ati also have this bug on DXVA

Tacio
19th February 2012, 11:48
I have notebook with Core i5 (Sandy Bridge) and NVIDIA GT520M (VP5) inside. What is the most power efficient hardware decoder QuickSync or CUVID? Power efficiency is more preferably for me than speed.

nevcairiel
19th February 2012, 13:20
I have notebook with Core i5 (Sandy Bridge) and NVIDIA GT520M (VP5) inside. What is the most power efficient hardware decoder QuickSync or CUVID? Power efficiency is more preferably for me than speed.

Use QuickSync, it should be faster and more efficient.

CruNcher
19th February 2012, 13:24
Tacio also try to avoid any 3rd party renderer but fully make use of Intels Hardware chain, so avoid EVR-CP and MadVR for example, and use DXVA (wherever possible) all of this is combined is gonna save a lot of power (though its unavoidable that you also get more speed with this ;))

Tacio
19th February 2012, 14:14
Thanks, I thought about DXVA, but MadVR produces very good quality :) So I will use QuickSync.

nevcairiel
19th February 2012, 14:15
DXVA on Intel is a bad suggestion. Stick with QuickSync, the very minor overhead is irrelevant for a much smoother experience.

CruNcher
19th February 2012, 14:23
Nev what about a Quicksync mode without copy back it wont be the same as the current Native DXVA2 as it still going through Intels API wouldn't it, did you tried it and compared both ?

I guess this could be a very nice compromise if it fixes a lot of issues without needing to fix all of them in the DXVA2 part again, why doing it if Intel already did it (via the driver), also the overhead should be pretty much the same except those fixes ;)

The Seeker
19th February 2012, 14:44
I'm wanting to use only Media Player Classic and the LAV Filters. Once both are installed, should I disable everything under 'Internal Filters' within MPC?

Edit: D'oh! Just saw the 'Advanced MPC-HC Setup Guide' in the initial post. As you were.

NikosD
19th February 2012, 19:27
But - MPC DXVA play fine. Then it's not a bug in the Nvidia driver.
Ati also have this bug on DXVA

There is no bug on ATI's DXVA HW acceleration for that clip.

chros
19th February 2012, 21:14
I'm wanting to use only Media Player Classic and the LAV Filters. Once both are installed, should I disable everything under 'Internal Filters' within MPC?

Edit: D'oh! Just saw the 'Advanced MPC-HC Setup Guide' in the initial post. As you were.

No. Add the 'Lav Video decoder' to the 'External filters' and set it to 'prefer'.

egur
19th February 2012, 23:27
Nev what about a Quicksync mode without copy back it wont be the same as the current Native DXVA2 as it still going through Intels API wouldn't it, did you tried it and compared both ?

I guess this could be a very nice compromise if it fixes a lot of issues without needing to fix all of them in the DXVA2 part again, why doing it if Intel already did it (via the driver), also the overhead should be pretty much the same except those fixes ;)

Sure it possible, I've even conducted a pole a few weeks ago whether to implement this feature or start with HW deinterlacing. The latter won. Quality will be identical to what QS decoder offers and power/performance will be better.

Some limitations apply to pure DXVA2 decode:
* Decoder must connect to EVR (or compatible) for this to work.
* Renderer must be on the same GPU (no hybrid stuff).
* No filters between decoder and renderer.
* LAV decoder can't change the output frames (they are ref frames used by the decoder).

There are of course other complexities involved :(
Usually not worth the trouble (and limitations) unless there's a substantial gain in battery life over current QS decoder operation. I don't have these numbers.

NikosD
20th February 2012, 09:05
Sure it possible, I've even conducted a pole a few weeks ago whether to implement this feature or start with HW deinterlacing. The latter won. Quality will be identical to what QS decoder offers and power/performance will be better.

Some limitations apply to pure DXVA2 decode:
* Decoder must connect to EVR (or compatible) for this to work.
* Renderer must be on the same GPU (no hybrid stuff).
* No filters between decoder and renderer.
* LAV decoder can't change the output frames (they are ref frames used by the decoder).

There are of course other complexities involved :(
Usually not worth the trouble (and limitations) unless there's a substantial gain in battery life over current QS decoder operation. I don't have these numbers.

The limitations you describe are not really limitations.
They are "limitations".

Besides the meaningless use of madVR for HD files, which are true limitations ?

The scheme of direct connection between decoder and EVR compatible renderer is perfect for simple decoding without all the fanfare of useless filtering for HD content.

nevcairiel
20th February 2012, 09:11
Even HD content needs chroma upsampling, and if the latest generation of AMD cards and their drivers have shown us one thing - don't rely on the GPU to do it.
Not to mention that quite a lot of people still watch DVDs.

Anyway, the main point is that Intels GPU is so fast that the overhead from Erics implementation is so minimal that there is just no advantage in doing it any other way.
This way, you can use EVR if you want to, but someone else can also use madVR if they want to.

egur
20th February 2012, 09:22
Even HD content needs chroma upsampling, and if the latest generation of AMD cards and their drivers have shown us one thing - don't rely on the GPU to do it.
Not to mention that quite a lot of people still watch DVDs.

Anyway, the main point is that Intels GPU is so fast that the overhead from Erics implementation is so minimal that there is just no advantage in doing it any other way.
This way, you can use EVR if you want to, but someone else can also use madVR if they want to.

I completely agree.
BTW I saw a nice improvement in your bench scores (http://docs.google.com/spreadsheet/ccc?key=0Ajo8vvjNtaZ5dC1abjBSeVlmcnZXSjYwampfamk3ZWc#gid=0) using your latest build + QS 0.28.
If it's not too much trouble, can you post pure DXVA results as well (for reference)?
Does pure DXVA2 it even work in GraphStudioNext using NULL EVR?

jmone
20th February 2012, 09:25
I've not had the HW to try this (soon will)... what is the go with 3D BD playback in the direct show world these days or is it still only available from the commercial players?

The PJ has arrived. Is my assumption correct that the only option for 3d (yes I know it is a gimick) is the commercial players?

nevcairiel
20th February 2012, 09:26
If it's not too much trouble, can you post pure DXVA results as well (for reference)?
Does pure DXVA2 it even work in GraphStudioNext using NULL EVR?

I can benchmark DXVA results later, however benchmarking DXVA only really works with DXVAChecker, so the conditions may not be 100% the same. Also, a DXVA decoder may not be 100% optimized for full multi-threaded decoding, so i kind of expect performance to be lower.

The PJ has arrived. Is my assumption correct that the only option for 3d (yes I know it is a gimick) is the commercial players?

Thats right.

madshi
20th February 2012, 09:39
Is my assumption correct that the only option for 3d (yes I know it is a gimick) is the commercial players?
For now. 3D rendering is on the madVR to do list, but it might take a while until I get to that. When I get there, by that time a decoder might be available, too, eventually...

egur
20th February 2012, 09:46
3D (h264-MVC) is supported in SandyBridge via DXVA2 and has Media SDK support in IvyBridge. There's a code sample within the Media SDK 2012 on how to do this (IvyBridge). I'm not sure if future SNB drivers will support MVC via the Media SDK.

madshi
20th February 2012, 09:51
Yeah, there's also a pure software MVC decoder in the Intel Media SDK 3.0, IIRC. So I think the main problem is to have a 3D capable renderer. The decoder is less of a problem, thanks to Media SDK.

Pat357
20th February 2012, 13:41
Nev,

I noticed the DXVA does (sometimes?) not fallback to software in case of too high resolutions for the HW to handle :
Filter : LAV Video Decoder - CLSID : {EE30215D-164F-4A92-A4EB-9D4C13390F9F}

- Connected to:

CLSID: {FA10746C-9B63-4B6C-BC49-FC300EA5F256}
Filter: Enhanced Video Renderer (custom presenter)
Pin: EVR Input0

- Connection media type:

Video: DXVA 4096x2304 23.976fps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_NV12 {3231564E-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 14155776
cbFormat: 112

VIDEOINFOHEADER:
rcSource: (0,0)-(4096,2304)
rcTarget: (0,0)-(4096,2304)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
The playback stalls at the start of the video with a black screen.
DXVA-CB did correctly fall back.

Should the condition to fallback for dxva and dxva-cb not be about the same ? (with exclusion non-dxva capable render and maybe a few things)

nevcairiel
20th February 2012, 13:45
The problem is that native DXVA has to decide right away if a fallback is needed, and it cannot wait until the decoder is created. There currently is no resolution check in place because DXVA-CB didn't need it (it can always fall back).
I'll try to let it probe the hardware automatically, otherwise i'll just black list high resolution material until i can come up with a hardware white list which supports which.

nevcairiel
20th February 2012, 17:28
I added a quick check to deny DXVA2-native for anything above 1920x1200. I'll have to come up with a proper check probing hardware support later.

wanezhiling
20th February 2012, 17:32
nev, vp5 vp5~~~:cool:

nevcairiel
20th February 2012, 19:51
LAV Filters 0.47

LAV Audio
- Fixed seeking in COOK audio with the MPC-HC RealMedia splitter

LAV Video
- New DXVA2 "native" decoder (see release notes)
- Updated Intel QuickSync decoder and tweaked configuration (0.28, r41)
- Overall performance improvements
- Multi-threaded decoding for Fraps
- Fixed a regression that resulted in only single-threaded playback on certain H264 files
- Fixed a crash in the CUVID decoder introduced in 0.46 under certain circumstances


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.47.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.47.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.47-x64.zip)

This version includes a big ffmpeg update. Two of the libraries have been renamed, so you might want to check that no duplicates remain.

DXVA2 Native
This works like any other DXVA2 decoder, with the same limitations, and probably the same performance - but it completes the set of decoders available, and concludes the series of HW decoders.

It seems to work reasonably well with NVIDIA and ATI, but has some bugs with Intel. Sandy Bridge users are recommended to stick to the QuickSync decoder, and all previous Intel generations should probably stick with the Microsoft DXVA decoder.

Other changes
All other changes are of the usual kind, performance tweaks and bug fixes, yet another updated Intel decoder .. nothing breathtaking.

Now that DXVA2 development is concluded, i hope to be able to start on new features entirely.

Have fun.

DragonQ
20th February 2012, 20:19
Great work Nev, gonna try it now. Looking forward to some new features (*cough* audio mixer *cough*). ;)

fastplayer
20th February 2012, 20:38
Thanks a lot for 0.47, nev! :)

Shark007
20th February 2012, 20:44
LAV Filters 0.47

- Updated Intel QuickSync decoder and tweaked configuration (0.28, r41)

Although the zipfiles contain the updated Intel QuickSync decoder, the installer still contains an old version.

download source - http://code.google.com/p/lavfilters/downloads/detail?name=LAVFilters-0.47.exe
untested source - http://files.1f0.de/lavf/LAVFilters-0.47.exe

nevcairiel
20th February 2012, 20:51
The version should've been the same, just compiled earlier.
To make everyone happy, i repackaged it. :p

Shark007
20th February 2012, 20:54
The version should've been the same, just compiled earlier.
To make everyone happy, i repackaged it. :p

it contained .26 compiled on the 12th of Feb.
Thanks for the correction. :)

DragonQ
20th February 2012, 21:07
Hmm, I enabled DXVA2 Native on my laptop, it played fine for about 15 seconds then the screen turned off. Had to manually power it off. :(

Sebastiii
20th February 2012, 21:12
Big Thanks :)

cengizhan
20th February 2012, 22:11
dxva2-copy back works with 0.47, dxva2-native doesn't (cpu usage is higher than copy back mode).

win7
ati 6850 (catalyst 12.3)
mpc-hc 1.6.1.4087

lav splitter is active.

dukey
20th February 2012, 22:49
u need EVR for dxva2 native

cengizhan
20th February 2012, 23:15
u need EVR for dxva2 native

i have forgotten to mention. evr is already selected.

actually dxva2-native worked only for a very few files. mpc-hc dxva works for those files.

is mpc-hc's dxva decoder different than lav's ?

mastan
20th February 2012, 23:24
1) http://video.ch9.ms/ch9/5b39/56c5458a-3122-4597-a209-9ff1005b5b39/BuildingWindowsfortheARMProcessor_low_ch9.mp4
This video when being played using DXVA native or copy-back sometimes gives picture like this: http://img641.imageshack.us/img641/755/lavdxvabug.png (repeatable, always on 11th second for example).
None & CUVID - ok.
QuickSync - Not available.
Microsoft DTV-DVD Video Decoder - ok.

2) Can someone tell me, why QuickSync is not available(tried LAV & MediaConverter 7.5)? According to http://ark.intel.com/products/52224 it is present in CPU(specs below).

LAV Filter 0.47
Windows 7 Home Premium SP1 x64
Notebook ASUS U36SD:
Core i5-2410M
Geforce 520M (using Optimus, so primary is Intel GPU)
Latest stable drivers from Intel and Nvidia sites.

aufkrawall
20th February 2012, 23:48
I want a new Nvidia driver to test DXVA. :rolleyes:

Btw: Could it be that copy back isn't affected by the driver bug?

GollyJer
21st February 2012, 01:49
Thank you for the DXVA2 (native) update. It works great! No more need for Cyberlink.
For me, there are now only two missing features:
1) PCM bitstreaming (with this I could get rid of ReClock).
2) A tray icon to quickly display the current playback graph.

Thanks for all the truly amazing work on LAV. :thanks:

SoupRKnowva
21st February 2012, 04:31
Ordered Chapters maybe one of those whole new features? :D

roytam1
21st February 2012, 05:07
I added a quick check to deny DXVA2-native for anything above 1920x1200. I'll have to come up with a proper check probing hardware support later.

Itsn't AMD HD5xx0 supports QFHD(3840x2160) in DXVA2?

dead_screem
21st February 2012, 05:27
Ordered Chapters maybe one of those whole new features? :D

useless feature imo. I'm pulling for the mentioned/planned audio mixer personally.

mindbomb
21st February 2012, 05:57
Itsn't AMD HD5xx0 supports QFHD(3840x2160) in DXVA2?

i dont think so, the video decoder from the 5000 series was the same as the one from the 4000 series i thought.

ryrynz
21st February 2012, 06:15
QuickSync performance has skyrocketed with 0.47. That 23 minute 848x480 clip I benched with earlier now scores almost 2500 FPS.
I remember you discussing RAM performance earlier so I dropped my RAM speed from 2133 to 1333 and the FPS dropped 25% to 2000 FPS (Both tests done with at 9-11-9-28 timings)

Mangix
21st February 2012, 06:50
Thank you for the DXVA2 (native) update. It works great! No more need for Cyberlink.
For me, there are now only two missing features:
1) PCM bitstreaming (with this I could get rid of ReClock).
2) A tray icon to quickly display the current playback graph.

Thanks for all the truly amazing work on LAV. :thanks:

how the hell do you bitstream pcm? and what would be the point anyways?

mindbomb
21st February 2012, 07:43
give lav audio a dts-hd ma encoder and have all output as dts-hd ma?

that would allow you to bitstream pcm...in a sense.

nevcairiel
21st February 2012, 07:51
1) PCM bitstreaming (with this I could get rid of ReClock).

There is no such thing as "PCM bitstreaming".
If you mean what i think you mean, its also nothing an audio decoder can do, and needs to be done in the audio renderer - hence ReClock.

Itsn't AMD HD5xx0 supports QFHD(3840x2160) in DXVA2?
It doesn't. Only the 7000 series supposedly supports it, but apparently it doesn't work flawlessly there either. Easier to just black list it for now and later figure out which GPUs support it properly.

jakmal
21st February 2012, 08:08
It doesn't. Only the 7000 series supposedly supports it, but apparently it doesn't work flawlessly there either. Easier to just black list it for now and later figure out which GPUs support it properly.

Hendrik,

It would be nice for testing purposes if you leave it enabled right now for the GT520 at least.

Also, I am in touch with AMD about their 4K decode for the 77xx and higher GPUs (apparently, it works in their in-house drivers and is pending validation for public release), so I will keep everyone here updated about which Catalyst release comes with support for the 4K decode.

nevcairiel
21st February 2012, 08:10
You're free to test it with DXVA Copy Back, it has no such limitations.

pururin
21st February 2012, 08:15
Long time reading. First time posting. :p

Hi Nev, thx for all the magic work you've been doing. Much appreciated.


useless feature imo. I'm pulling for the mentioned/planned audio mixer personally.
I think it's not that useless, if LAV splitter has this and some nice tray icon.
Maybe everyone in the world won't need haali media splitter anymore.

But I agree about the audio mixer :D

I wonder if there will be audio channels swap feature in the future, my system heavily depends on this.

AJ73
21st February 2012, 08:52
Why do i have a FAQ? :)

Thank you for the advise :-)
What was confusing me is that the x64 version of GraphEdt does not have the same problem. Maybe you can add this to your FAQ.

Beside this thank you for the great work you are doing!

NikosD
21st February 2012, 10:05
Clip 3 (Basketball) has problems in benchmarking mode with DXVA checker.

It doesn't benchmark CPU and Copy-back.
Only native DXVA2 works.

Is there something you can do about it ?

NikosD
21st February 2012, 10:09
Also, I am in touch with AMD about their 4K decode for the 77xx and higher GPUs (apparently, it works in their in-house drivers and is pending validation for public release), so I will keep everyone here updated about which Catalyst release comes with support for the 4K decode.

Can you or AMD explain this ?

http://www.agile-news.com/news-323468-Photo:-no-fear-of-4K-x-2K!-Fire-whirlwind-2-HD6570-2G-Daniel-Edition-hardware-solution-2160p!.html

chros
21st February 2012, 10:36
I have a nvidia 9600m gt in my laptop with (maybe) a VP2 VPU. It only can accelerate h264 in dxva mode.
Lately I checked the VC1 and MPEG checkboxes at the CUVID part of the video decoder, and I can see that there's VPU usage during decoding (with nvidia inspector).
The question: what kind of acceleration is given by the decoder on a VP2 VPU using VC1 or MPEG CUVID? (full, idct, etc.)

And thanks for the decoders!

The Seeker
21st February 2012, 10:54
2) Can someone tell me, why QuickSync is not available(tried LAV & MediaConverter 7.5)? According to http://ark.intel.com/products/52224 it is present in CPU(specs below).

I wondered the same, as I have the same CPU (as seen in sig) yet QuickSync shows as unavailable for me too.

nevcairiel
21st February 2012, 11:39
I wondered the same, as I have the same CPU (as seen in sig) yet QuickSync shows as unavailable for me too.

Try reinstalling official drivers directly from Intel, maybe the drivers that came with your device didn't include the required parts (its a quite common occurance).

The Seeker
21st February 2012, 12:04
Try reinstalling official drivers directly from Intel, maybe the drivers that came with your device didn't include the required parts (its a quite common occurance).

Will do. Thanks for your help :D

pankov
21st February 2012, 12:09
Guys,
does anybody know if I have to use the Lucid Virtu software to support both an external video card and Intel's integrated one at the same time?
I'm currently using extended desktop to 3 displays (2 on the NVidia card and one on the Intel) and I use Lav Video decoder in QuickSync mode and I'd like to continue doing so.

CruNcher
21st February 2012, 12:42
@Nev
What is the difference here http://forum.doom9.org/showpost.php?p=1558451&postcount=785

Lav Video is also hick uping (randomly drops frames) if 1/4 of cores are fully utilized (SPP non multithreaded) and shows a zig zag pattern, decoding audio can't keep sync
No problem with MPC-HC and Microsofts Decoder

Lav Video = (extreme high jitter) ~8 fps (zig zag brake outs) 27%-30%
MPC-HC = (low jitter 1ms on the renderer) ~17 fps (steady utilization of 1/4 of cores in a whole) 25%

Lav Video Mpeg-2:

http://img11.imageshack.us/img11/3329/lavvideompeg2brakes.png

MPC-HC Mpeg-2:

http://img813.imageshack.us/img813/1003/mpchcmpeg2steady.png

First i thought it's the difference that MPC-HC by default outputs YV12 and ffdshow outputs NV12 though forcing YV12->NV12 doesn't change much.

roytam1
21st February 2012, 12:47
i dont think so, the video decoder from the 5000 series was the same as the one from the 4000 series i thought.

I don't know. My HD5570 in XP was detected 3840x2160 by DXVAChecker 2.7.0, it may be a misdetection.
http://i.imgur.com/qxEzGl.png (http://imgur.com/qxEzG)

pururin
21st February 2012, 13:12
Nev, I notice a problem.

When I open clips with QS active then if I open mpc-hc Options>External Filters>LAV Video Decoder properties page
the video becomes hang and convulsive while audio plays on just fine.

Even I stop playing before accessing that page when I get out and start playback again the vid simply convulses at the very first few frames.

This seems to happen only with QS being active. Version 0.45 get the same too(didn't test older ones).
Only tested with h264 stuffs(didn't have vc-1 or else now) with mkv and mp4. MadVR, EVR CP, EVR all suffer the same.

JFYI I have Intel snb with HD3000 gpu, using XhmikosR's latest mpc-hc build, Intel latest driver .2559, Win 7 32bit.

p.s. Any chance LAV audio will get a Swap channels feature? :thanks:

Xaurus
21st February 2012, 13:27
Hi all,

Does anyone know what could case random "hiccups" in 25p material? The refresh rate of the screen is 25.00xxx. I've also tried with 50.00xxx screen but same thing.
MadVR's CTRL+J screen doesn not show any dropped/delayed frames or presentation glitches. This was no different with Reclock or not.

With 23.976 material all is good...

Using Nvidia 290.36 and latest LAV 0.47 (same thing with 0.46, I doubt LAV is to blame here)

Thanks!

nevcairiel
21st February 2012, 13:40
Sounds like your TV just doesn't support 50Hz refresh natively, and trys to render it at 60Hz internally which just causes seemingly random hicups.
For the record, this is off-topic for this thread, please refrain from posting any general HTPC related questions here.

BatKnight
21st February 2012, 13:41
Latest Nvidia Geforce 295.73 WHQL drivers just released:

http://www.geforce.com/News/articles/nvidia-geforce-295-73-whql-drivers-released

Bat

njfoses
21st February 2012, 13:52
Latest Nvidia Geforce 295.73 WHQL drivers just released:

http://www.geforce.com/News/articles/nvidia-geforce-295-73-whql-drivers-released

Bat

Thanks, curious to see how well this driver behaves with lav and madvr.

SamuriHL
21st February 2012, 13:55
I'll let someone else test them before I go mess with my system again. :)

Sent from my Xoom using Tapatalk

Reino
21st February 2012, 14:16
6 Days ago I reported the following in the MPC-HC thread.
And here another one:

I noticed something weird when playing ogg-files (Vorbis audio of any kind!) with MPC-HC + LAV Splitter.
- Upon opening the Vorbis audio file there sometimes isn't audio for the first couple of seconds (which can take almost 10sec sometimes).
- Looping ALWAYS goes wrong.
1. When playback is repeated, during the first reiteration there's no audio at all for the whole length of the file, but the seekbar-slider (how do you call it?) is moving normal.
2. When the seekbar-slider is at the end, it stops, but playback is repeated WITH audio. Another reiteration.
3. The next reiteration the seekbar-slider is moving normal again, but there again is no audio...etc, etc, etc.
- This only applies to MPC-HC + LAV Splitter (+ whatever Vorbis audio decoder). MPC-HC + internal OGG Splitter, or Zoom Player + LAV Splitter doesn't have this issue.I was being told the problem would probably be LAV, although I didn't have the problem in Zoom Player for instance.
I've just installed LAV Filters 0.47 and I can say that the problem is mostly gone now (guess Aleksoid1978 was right after all), except that, when the first iteration starts, the first ˝sec or so of the Vorbis audio is cut off. But at least there's audio!

egur
21st February 2012, 14:37
Guys,
does anybody know if I have to use the Lucid Virtu software to support both an external video card and Intel's integrated one at the same time?
I'm currently using extended desktop to 3 displays (2 on the NVidia card and one on the Intel) and I use Lav Video decoder in QuickSync mode and I'd like to continue doing so.

You don't need Virtu unless you want to render the video on a display connected to the dGPU. Maybe some transcoding apps will need that too.
QS decoder will work if a display is connected to an iGPU or even if you extend your desktop to a disconnected display.
If you want to use Intel video processing (EVR only), it must be on the iGPU connected display.

See this post (http://forum.doom9.org/showthread.php?p=1532786#post1532786) for details on the setup.

nevcairiel
21st February 2012, 17:35
First i thought it's the difference that MPC-HC by default outputs YV12 and ffdshow outputs NV12 though forcing YV12->NV12 doesn't change much.

The difference is that MPC-HC uses libmpeg2, which is just a completely different decoder. Its a bit faster in some cases, but has other bugs and shortcomings instead

RBG
21st February 2012, 18:29
Regarding new Geforce 295.73 WHQL driver, the MPEG4 ASP acceleration is broken again, it worked totally fine on 285.62 WHQL, and on 295.73 I am getting black screen on some files. I guess I have no choice but to roll back to 285.62. :(

nevcairiel
21st February 2012, 18:37
If MPEG4-ASP is your only reason for that, you shot yourself in the foot. :p

aufkrawall
21st February 2012, 18:58
Regarding new Geforce 295.73 WHQL driver, the MPEG4 ASP acceleration is broken again, it worked totally fine on 285.62 WHQL, and on 295.73 I am getting black screen on some files. I guess I have no choice but to roll back to 285.62. :(
MPEG4 ASP works fine here with that driver and CUVID DXVA.

Edit: Got a GTX 570.

SamuriHL
21st February 2012, 19:09
What's the consensus on the new driver? Worth updating to?

chros
21st February 2012, 19:14
Regarding new Geforce 295.73 WHQL driver, the MPEG4 ASP acceleration is broken again, it worked totally fine on 285.62 WHQL, and on 295.73 I am getting black screen on some files. I guess I have no choice but to roll back to 285.62. :(
Here the new 295.73 driver is a big step using mpc-hc, lav-cuvid, madvr on my 9600M GT:
- the VPU usage (h264,vc1,mpeg) is around 20% less then the v285.62 !!! (i can see it with the help of nvidia inspector)

So, finally, I can watch a full hd content (1920*1080) on this old rig ! :) (Eg. the first couple of minutes of Defiance, without frame drops)

Ps: MPEG4-ASP doesn't work for me ... (and not with the old v285.62 driver)

nevcairiel
21st February 2012, 19:30
MPEG4 ASP works fine here with that driver and CUVID DXVA.

Edit: Got a GTX 570.

I have a 570 as well, and MPEG4-ASP isn't working for me.
Note that it doesn't break with every file (but alot of them), and of course its off by default.

But then again, i don't really care about HW decoding of MPEG4-ASP. :p

RBG
21st February 2012, 19:44
If MPEG4-ASP is your only reason for that, you shot yourself in the foot. :p

Well I am totally satisfied with 285.62 WHQL, except dxva(c/p) bugs, but I fill sad and angry that nvidia screwed fresh driver release.

MPEG4 ASP works fine here with that driver and CUVID DXVA.

Edit: Got a GTX 570.

I've got 470 gtx and I doubt there is any difference in VPU engine between 570. Also it's not like all MPEG4 ASP movies are not working at all, there are some files that playback fine and some that don't, I think you just haven't encountered that files yet.

By the way what do you mean by saying DXVA? MPEG4 ASP is only supported via CUVID.

chros
21st February 2012, 20:03
I've got 470 gtx and I doubt there is any difference in VPU engine between 570. Also it's not like all MPEG4 ASP movies are not working at all, there are some files that playback fine and some that don't, I think you just haven't encountered that files yet.
Can you upload a 2 minutes sample somewhere, which is working?
Thanks

aufkrawall
21st February 2012, 20:06
Also it's not like all MPEG4 ASP movies are not working at all, there are some files that playback fine and some that don't, I think you just haven't encountered that files yet.

True, I just checked an encoded sample with Handbrake/ffmpeg.
Not a huge problem, MPEG4 ASP should be completely replaced by H.264.
I don't see any reason to use it still.


By the way what do you mean by saying DXVA? MPEG4 ASP is only supported via CUVID.
I wrote "CUVID DXVA". ;)

DragonQ
21st February 2012, 20:12
I have a question about deinterlacing with DXVA2 native:

I see there are no deinterlacing options for DXVA2 native. However, if I use LAV DXVA2 along with MadVR in MPC-HC with deinterlacing OFF, I still get a properly deinterlaced image. What is doing the deinterlacing? Is LAV applying YADIF in this situation?

nevcairiel
21st February 2012, 20:15
I see there are no deinterlacing options for DXVA2 native. However, if I use LAV DXVA2 along with MadVR in MPC-HC with deinterlacing OFF, I still get a properly deinterlaced image. What is doing the deinterlacing? Is LAV applying YADIF in this situation?

DXVA2 native does not work with madVR, so it would be falling back to software decoding. If you have YADIF active, it would use it.

mark0077
21st February 2012, 20:46
Hi nev, Does lavvideo use wmv9 software decoder for wvc1?

I have been having trouble when using the software decoder built into lav video. I notice with process explorer, that in the "GPU Graph" tab, that the "System GPU Memory" tab increases by a few MB perhaps once a minute, constantly until it begins to eventually effect playback performance.

I can't reproduce when decoding h264, only WVC1 so far (testing with the dark knight blu-ray). I can also reproduce with ffdshow wmv9 decoder only so its not lav specific at all. All I'm mentioning it here for, is if lav video does use wmv9 as the vc-1 decoder in software, maybe you might like to know about this issue in case it might mean you'd like to look into it / or make any particular changes in lav video temporarily based on it.

nevcairiel
21st February 2012, 20:54
I use the avcodec decoder, so the issue must be something else.
GPU memory is also very unlikely to be influenced by a software decoder.

chros
21st February 2012, 21:12
@Nev: I have found something interesting things about the videocard power management feature (performace levels) when the player is paused or the playback is ended.

setup: MPC-HC r4040, LAVFilters 0.47, madvr 0.80, CoreAVC 3.0.1, Evr Custom, nvidia driver v295.73, geforce 9600m gt: which has 4 performace levels: p0 (max), p8, p10, p12 (min)

using a h264 sample:
- lav software decoder + evr or madvr : it can fall back to p12 (perfect :) )
- lav dxva2 native decoder or dxva2 copy back + evr : it can fall back only to p8 (but it's better than nothing)
- mpc-hc built-in dxva2 decoder + evr: it can fall back only to p8 too
- lav cuvid decoder + evr or madvr : it sticks to p0 (max) !
- coreavc + madvr : it sticks to p0 too

Can you do about it something?
Mostly, for me, the main problem is when the playback is ended cuvid decoder doesn't allow the driver to fall back into a lower power state...

Thank you!

Edit: I added coreavc and mpc internal dxva to the test.
So it seems that this behaviour is by driver design ... :( But who knows ... :)

chros
21st February 2012, 22:09
I have a nvidia 9600m gt in my laptop with (maybe) a VP2 VPU. It only can accelerate h264 in dxva mode.
Lately I checked the VC1 and MPEG checkboxes at the CUVID part of the video decoder, and I can see that there's VPU usage during decoding (with nvidia inspector).
The question: what kind of acceleration is given by the decoder on a VP2 VPU using VC1 or MPEG CUVID? (full, idct, etc.)
I figured out (with the help of mpc-hc evr custom renderer), that my geforce 9600m gt is doing IDCT to mpeg2 and vc-1 streams with the help of LAV CUVID. (So it has only a VP2 VPU.)

aufkrawall
21st February 2012, 22:53
@
Can you do about it something?
You can do something about it by yourself. :)
Or to be more precise, by using the multi display power saver (can be also used for single display) of the Nvidia Inspector:
http://www.3dcenter.org/artikel/nvidia-inspector-bringt-komfortables-multi-display-power-saving
Guide is only in German, unfortunately.

E.g. mine looks like this:
http://www.ld-host.de/uploads/thumbnails/20d4b0adacaff2e1b85eb7085213394f.png (http://www.ld-host.de/show/20d4b0adacaff2e1b85eb7085213394f.png)

It's also nice that it prevents the GPU to get into P0 state while surfing.

CruNcher
21st February 2012, 23:22
@Nev
nope libmpeg2 vs libavcodec cant be the cause for this strange peakings because they are also happening with Quicksync and Lav Video in this constellation it must be something else that causes the hicups (exact interval jumps in cpu utilization) deeper inside maybe the threading core.

06_taro
22nd February 2012, 00:19
@nev

Could you please make it possible to set merit of HW accelerate settings?

e.g.,
use DXVA2(native) whenever possible,
else if decoding by DXVA2 is still possible, but renderer is not EVR, or some other filters pin between LAV Video and EVR, switch to DXVA2(copy back),
otherwise(video cannot be decoded via DXVA2 at all), switch to software decoder.

dukey
22nd February 2012, 02:29
nevcairiel, I am getting a crash in my EVR custom presenter with DXVA and mpeg2 only. H264 appears to be fine.
The error is caused by

SafeRelease(&m_pDeviceManager);

m_pDeviceManager is of type IDirect3DDeviceManager9

My filter graph looks something like

filter name Default DirectSound Device
filter name Enhanced Video Renderer
filter name LAV Audio Decoder
filter name LAV Video Decoder

Using haali media splitter as source currently.

I've not had this problem with other codecs using DXVA eg CoreAVC or the MS digi tv codec.

GollyJer
22nd February 2012, 04:35
how the hell do you bitstream pcm? and what would be the point anyways?
There is no such thing as "PCM bitstreaming".
If you mean what i think you mean, its also nothing an audio decoder can do, and needs to be done in the audio renderer - hence ReClock.
give lav audio a dts-hd ma encoder and have all output as dts-hd ma? That would allow you to bitstream pcm...in a sense.
OK, I'm obvously a little confused here. I was under the impression that "bitstreaming" means passing the audio from the PC to the AV receiver "untouched". I wrote this post on getting bitstreaming audio to work in Windows 7 (http://www.gollyjer.com/2011/02/quick-guide-how-to-bitstream-audio-in.html) that many have found useful but it appears I lucked into PCM working correctly.

Here is what I understand about the source HD audio formats found on bluray movies.
DTS-HD MA (Compressed, lossless)
Dolby TrueHD (Compressed, lossless)
PCM (raw, unadulterated, lossless-because-there-ain't-nothin'-to-lose, uncompressed bits)

I want my PC to pass all audio through untouched to be completely managed by the receiver.
From what I understand, after further researching because of your comments, given a bit-exact copy of the audio stream the AV receiver will uncompress and then play DTS-HD and Dolby TrueHD audio, and simply play PCM audio.

After some testing tonight it dawned on my that WASAPI Exclusive is what causes PCM to truly passthrough to the receiver. I just tested the movie Kill Bill for example. Without WASAPI Exclusive the receiver only gets 2 Channel PCM and outputs Dolby PL2 Cinema. Using WASAPI Exclusive via ReClock it gets 3/2/.1 channel PCM and outputs multi-channel audio.

Here's what I don't get. Why does the audio decoder, i.e. - LAV, play a role in bitstreamimg compressed lossless formats but can't help with PCM passthrough? Why does the PC audio decoder come into play at all if the audio renderer can pass the audio through untouched?

mindbomb
22nd February 2012, 05:01
directsound - multiple audio sources can be played at the same time, only one user defined channel count/bit depth/frequency allowed for all of them
wasapi - only one audio source can be played on a given sound device at a time, any channel count/bit depth/frequency allowed, as long as the hardware supports it.

the reason wasapi did that for you is because you had directsound set to stereo. It is configurable if you go to control panel, sound, select your sound device, right click it and go to properties, and then go to advanced.

Also, I'm not 100% clear on this, since whenever I tell people this, they are incredulous, but bitstreaming is the transport of a compressed stream to an external decoder. So that is why it is impossible, since it is uncompressed.

RBG
22nd February 2012, 06:20
Can you upload a 2 minutes sample somewhere, which is working?
Thanks

Here you are.

This one is not working. (http://www.mediafire.com/?1yltwkyniual60v)

This one playbacks just fine on every nvidia driver (http://www.mediafire.com/?hk2n89anr4yke41)


I wrote "CUVID DXVA". ;)

I understand that DXVA is often used by many people as common noun for video acceleration, but still it sounds awkward as DXVA and CUVID are two different API.

nevcairiel
22nd February 2012, 08:07
Here's what I don't get. Why does the audio decoder, i.e. - LAV, play a role in bitstreamimg compressed lossless formats but can't help with PCM passthrough? Why does the PC audio decoder come into play at all if the audio renderer can pass the audio through untouched?

"Bitstreaming" usually refers to passing the compressed formats to an external decoder. Its also called SPDIF Passthrough (or maybe HDMI Passthrough).

Anyway, to do this, the audio needs to be in a certain format, specifically packed in a IEC 61937 format.
This is a special format with a few headers that identify which format is being send, and all that stuff. Someone has to take the compressed audio and format it in this manner - that is usually the audio decoder. The audio itself remains untouched, but the data stream needs to be modified to be able to bitstream it.

PCM on the other hand cannot be "bitstreamed" like that. IEC 61937 is only for compressed formats like AC3, DTS, DTS-HD and TrueHD.
PCM is PCM is PCM. All the decoder does is decode the audio to PCM, and send it to the renderer. There is nothing else it can possibly do.
The renderer then has to decide how it sends the audio to the hardware. Usually there are two options - shared or exclusive mode. In shared mode, it sends it through the Windows Mixer, mixed with all other audio sources, and then send to the hardware. This is not an "untouched" process (it may however be lossless, depending on the source and the "shared" output configuration). In exclusive mode, the audio renderer blocks the audio device, so that only it can send audio, and circumvents the Windows Mixer, so you can get "untouched" audio (assuming the audio renderer itself doesn't modify it)

Sadly the only usable Exclusive Mode renderer is right now ReClock, so you don't get around using it (unless you use a player which ships its own renderer)
MPC-HCs audio renderer supports exclusive mode, however the renderer lacks quite a lot of features and i would never recommend using it to anyone. It'll most likely cause audio glitches in many cases.

nevcairiel
22nd February 2012, 08:10
Can you do about it something?
Mostly, for me, the main problem is when the playback is ended cuvid decoder doesn't allow the driver to fall back into a lower power state...

Thank you!

Edit: I added coreavc and mpc internal dxva to the test.
So it seems that this behaviour is by driver design ... :( But who knows ... :)

Like you figured out by yourself, the driver controls this.
There are tools to override this, someone linked it above (NVIDIA Inspector with its Multi-Display Power Saver), but there is nothing that can be done automatically.

jmone
22nd February 2012, 10:03
"Bitstreaming" usually refers to Sadly the only usable Exclusive Mode renderer is right now ReClock, so you don't get around using it (unless you use a player which ships its own renderer)
MPC-HCs audio renderer supports exclusive mode, however the renderer lacks quite a lot of features and i would never recommend using it to anyone. It'll most likely cause audio glitches in many cases.

You also have heaps of options with JR's Media Center own Exclusive Mode renderer .... but you have ot use JR Media Center as the player.

NikosD
22nd February 2012, 10:37
I have updated my exchaustive survey comparing ALL LAV Video modes (DXVA2 copy-back, DXVA2 native, QuickSync) with ATI and Intel video HW processors, on my list of 10 H.264 clips, 1 VC-1 clip and 1 WMV3 clip.

Also I used other decoders for comparing different software DXVA implementations, like MS DS/MFT, CoreAVC, FFDShow.

LAV CB for Intel SHOULD BE IMMEDIATELY disabled, it makes QuickSync HW look slower than VP5!

Take a look at the benchmark results here:
http://forum.doom9.org/showthread.php?t=163110

I will update Nvidia results soon.

aufkrawall
22nd February 2012, 12:18
I understand that DXVA is often used by many people as common noun for video acceleration, but still it sounds awkward as DXVA and CUVID are two different API.
So, what would be the best naming then? :)
VPU-CUVID?

Has CUDA APIs to access the VPU or how does it work (not in detail ;) )?
Then just CUVID would be enough, at least if the card has a fitting VPU version.

bjd
22nd February 2012, 12:43
Sadly the only usable Exclusive Mode renderer is right now ReClock

Yes, but at least providing you set ReClock to "Slave reference clock to audio" and Media Adaptation is locked to the original speed and Mpc-Hc volume control is set at 100%, ReClock will display two magic words next to the Audio Renderer info - "(Bit Exact)".

To me it is as flexible as most people need it to be.

BetA13
22nd February 2012, 15:47
i have a big problem since 0.47....
CUVID was working perfect before with zero glitches..now its allmost unwatchable :(

I have a GTX460, q9550 @ 3.8Ghz and the 295.51 Drivers...

Here is a screen on what i mean..

CUVID:
http://www.abload.de/img/1vw64s.jpg

DXVA (native or CopyBack | same )
http://www.abload.de/img/4325ryvpy.jpg

i have no clue why this is now..i didnt change anything in my settings...I wanna use CUVID...Did something changed there?

greetz Beta

madshi
22nd February 2012, 15:56
FWIW, BetA13's decoder queue is too empty when using CUVID, so it seems the decoder isn't delivering frames fast enough, for whatever reason.

BetA13
22nd February 2012, 16:01
ahh ok...What does that mean madshi? is it my fault? do i have to change something or is something wrong with CUVID? sorry for the noob question but this happened to me now just when i thought i had it all figured out, hehe..

THX for help and answer madshi...Oh and by the way...Good job on MadVR, keep it up mate..i love it :)
Also Props to nevcairiel and thank u so much for the LAV Filters...its a great combo and really nice..MADVR + LAV = best quality ever :) keep it up guys...

greetz Beta

wanezhiling
22nd February 2012, 16:22
Hi nev, http://www.gokuai.com/f/78Jy98y7s07e0pF9
LAV Splitter 0.47 failed to get video parts.

The file is odd, mediainfo says its progressive but a interlaced one, and seems that only Haali could deal with well.

madshi
22nd February 2012, 16:31
ahh ok...What does that mean madshi?
It means CUVID is not decoding fast enough in your situation. I don't know the cause/reason.

BetA13
22nd February 2012, 16:35
It means CUVID is not decoding fast enough in your situation. I don't know the cause/reason.

hmmm, ok..
well gettin back to LAV video 0.46 fixed it again..so it must be something that changed in 0.47 i guess...

jmonier
22nd February 2012, 16:54
hmmm, ok..
well gettin back to LAV video 0.46 fixed it again..so it must be something that changed in 0.47 i guess...

FWIW, I've always (in any version) seen a problem like this in Windowed mode. It works fine for me in Exclusive mode.

Have you tried Exclusive mode? Is it in Windowed mode when you're using 0.46?

nevcairiel
22nd February 2012, 17:02
hmmm, ok..
well gettin back to LAV video 0.46 fixed it again..so it must be something that changed in 0.47 i guess...

Try another driver, there are known issues with the 295 driver.
For the record, nothing really changed in 0.47 with CUVID decoding.

BetA13
22nd February 2012, 17:05
Try another driver, there are known issues with the 295 driver.
For the record, nothing really changed in 0.47 with CUVID decoding.

i used exclusive mode also..

anyway..THX to nevcairiel for the tip..Dankeschön :)
Updated to the newest Driver (295.73 WHQL) and look at that..works like a charm again..Thanks nev ;)

:D

CUVID:
http://www.abload.de/img/sdvlkke6.jpg

decoder queue is also working fine again lol.
didnt know there was such an change in the drivers...

THX for the help guys...

:p

SamuriHL
22nd February 2012, 17:09
Nev, are there any issues with the released 295 driver?

nevcairiel
22nd February 2012, 17:12
Nev, are there any issues with the released 295 driver?

Seems to be fixed in the WHQL, as far as i can tell.

SamuriHL
22nd February 2012, 17:14
Seems to be fixed in the WHQL, as far as i can tell.

Alright, sweet. I'll probably update to it then. I had gone back a few versions but I'll be getting a game in a couple weeks that will perform much better with the WHQL driver.

Xaurus
22nd February 2012, 18:45
I have also been testing 295.73 and I am really happy with them, they did not have the memory leak from the previous beta and I am certain that there were fewer presentation glitches in the clips I tried.

SamuriHL
22nd February 2012, 18:45
That's great to hear. Thanks for the feedback!

Mosley
22nd February 2012, 23:17
I have also been testing 295.73 and I am really happy with them, they did not have the memory leak from the previous beta and I am certain that there were fewer presentation glitches in the clips I tried.

I confirm that also with ION GPU 295.75 work definitely better then previous official version. Moreover I'm very sadisfied with new LAV filters (0.47) working in DXVA mode. ;)

NikosD
23rd February 2012, 07:21
I've finished my benchmark survey.

All platforms included (ATI, Nvidia, Intel) and the main decoders:

Microsoft DirectShow,
Microsoft MediaFoundation,
LAV Video all modes (NVCUVID, QuickSync decoder, DXVA2 Copy-back, DXVA2 Native),
CoreAVC (NVCUVID, DXVA2),
FFDShow QuickSync decoder.

Results here:
http://forum.doom9.org/showthread.php?t=163110

Gleb Egorych
23rd February 2012, 07:24
Slow motion problem (http://forum.doom9.org/showthread.php?p=1534900#post1534900) was finally fixed in 295.73.

n3w813
23rd February 2012, 07:27
I'm seeing an issue bitstreaming DTSHD-MA audio from both MKV and full BR folder rip. Win7-32, Zoom Player, Nvidia HDMI, Elite SC-57 receiver.

The issue I encounter is when bitstreaming DTSHD-MA 5.1 track, my receiver detects the signal as DTS-HD MA but with only 5 channels, no subwoofer channel. All other formats bitstream perfectly fine with all channels (DTS 5.1, DD 5.1, TrueHD 5.1/7.1). I thought it was an issue with the latest 0.47 I installed but I retro installed the last 4 versions and all shows the same. Could it be something wrong with my receiver?

nevcairiel
23rd February 2012, 07:41
Must be something in your receiver. If the bitstreaming signal reaches your receiver and gets decoded, LAVs job is done. It has no influence on the contents of the signal or the decoding behaviour on the receiver.

nevcairiel
23rd February 2012, 12:07
Has CUDA APIs to access the VPU or how does it work (not in detail ;) )?
Then just CUVID would be enough, at least if the card has a fitting VPU version.

CUVID is the official name of the CUDA APIs to access the video decoder (all the APIs are named cuvidXXXX), so yes, just CUVID is enough.

@nev

Could you please make it possible to set merit of HW accelerate settings?

e.g.,
use DXVA2(native) whenever possible,
else if decoding by DXVA2 is still possible, but renderer is not EVR, or some other filters pin between LAV Video and EVR, switch to DXVA2(copy back),
otherwise(video cannot be decoded via DXVA2 at all), switch to software decoder.

This may be a possibility for the future, but not soon.

aufkrawall
23rd February 2012, 13:29
CUVID is the official name of the CUDA APIs to access the video decoder (all the APIs are named cuvidXXXX), so yes, just CUVID is enough.

Thanks for confirmation.

Redemption80
23rd February 2012, 13:42
Anyone tried the Quadro/Tesla 295.73 drivers, i used to find them noticeably better for HTPC applications.

New in Release 295.73:

•ODE Driver
◦The R295 drivers are the second ‘Optimal Drivers for Enterprise’, a release dedicated to relatively long term stability for ISV certification, OEMs, and Enterprise customers.
•Added Support for OpenGL 4.2 on the Quadro series cards and higher.•Added Support for CUDA 4.1
•Added support for the Open Computing Language (OpenCL) 1.1 in Quadro FX Series x700 and newer as well as the FX4600 and FX5600.•NVIDIA Mosaic
◦Added support for 8-display topologies that use higher resolution displays, such as 2560x1600
•NVIDIA WMI 2.4
◦Added functions to configure Mosaic topologies
◦Added function to control Vsync
◦Added function to set Edid
◦Added property to query GPU available memory
◦Added function to enable/disable the nView Desktop Manager, and property to get the current nView state.
•NVIDIA Control Panel Manage 3D Settings Page
◦Added Preferences tab which lets the user control the application profile notification feature.
◦Upon launch of a windowed 3D program, this feature causes a popup to appear notifying the user which workstation application profile was applied.
•Added GPUDirect for Video to support professional video applications.•256GB Virtual Space
◦OpenGL and CUDA users can now take full advantage of applications that utilize 256GB of system memory
•Digital Video Pipeline
◦Added new API’s for supporting low latency access to SDI video hardware
•Workstation application compatibility fixes. Please read the release notes for more information on product support, feature limitations, driver fixes and known compatibility issues.
•If you would like to be notified of upcoming drivers for Windows, please subscribe to the newsletter.
Existing Support:

http://www.nvidia.com/object/quadro-tesla-win7-winvista-64bit-295.73-whql-driver.html

Not being lazy, at work for another 10 hours

Xaurus
23rd February 2012, 13:55
Anyone tried the Quadro/Tesla 295.73 drivers, i used to find them noticeably better for HTPC applications.
Interesting.

It doesn't say that the regular 400-series are supported though. How does that work?

Redemption80
23rd February 2012, 13:59
Sorry, you will need to use a modified inf file with strings for other GPU's.

Extract the driver, then overwrite the existing inf with the new one, then run the installer.

http://www.mediafire.com/?7j1wcck1febbsj0

http://forums.guru3d.com/showthread.php?p=4252344#post4252344

I personally found they tend to be geared more towards stability and image quality, rather than speed and game optimisations.

Could be a placebo effect though lol.

aufkrawall
23rd February 2012, 17:11
I don't think that in this particular case there would be a huge difference since both drivers have exactly the same version -> the very same driver?

GollyJer
23rd February 2012, 17:40
I'm seeing an issue bitstreaming DTSHD-MA audio from both MKV and full BR folder rip. Win7-32, Zoom Player, Nvidia HDMI, Elite SC-57 receiver.

The issue I encounter is when bitstreaming DTSHD-MA 5.1 track, my receiver detects the signal as DTS-HD MA but with only 5 channels, no subwoofer channel. All other formats bitstream perfectly fine with all channels (DTS 5.1, DD 5.1, TrueHD 5.1/7.1). I thought it was an issue with the latest 0.47 I installed but I retro installed the last 4 versions and all shows the same. Could it be something wrong with my receiver?This may seem like a stupid question but have you tried powering off (completely unplugging) the receiver and powering it back on. I had the same problem a couple months ago and after pulling my hair out for a while that ended up being the solution. :rolleyes:

n3w813
23rd February 2012, 18:51
This may seem like a stupid question but have you tried powering off (completely unplugging) the receiver and powering it back on. I had the same problem a couple months ago and after pulling my hair out for a while that ended up being the solution. :rolleyes:

Not a stupid question at all...if it works when I try tonight. ;)

fairchild
23rd February 2012, 19:24
Hey Nev, I just came across a bug of some sort when using Lav Splitter with PotPlayer. Basically when Lav Splitter is doing the splitting, it doesn't send the proper identification flag to PotPlayer's skin system so that it can display the audio codec used. It only is affecting AAC it seems. You can refer to this post:

http://forum.doom9.org/showthread.php?t=164222

Not a major thing since I primarily use MPC-HC, but thought I'd point it out in case you want to fix it.

nevcairiel
23rd February 2012, 19:25
Hey Nev, I just came across a bug of some sort when using Lav Splitter with PotPlayer. Basically when Lav Splitter is doing the splitting, it doesn't send the proper identification flag to PotPlayer's skin system so that it can display the audio codec used. It only is affecting AAC it seems. You can refer to this post:

http://forum.doom9.org/showthread.php?t=164222

Not a major thing since I primarily use MPC-HC, but thought I'd point it out in case you want to fix it.

Since playback of AAC has always just worked perfectly, i'll put that down as a PotPlayer issue.
Actually, the media type for AAC is defined by Microsoft, so there really isn't any room to go wrong here.

Edit:
I just remembered something. If you use it in combination with LAV Audio, it might use another media type (for good reasons, though)... :)

fairchild
23rd February 2012, 20:45
Since playback of AAC has always just worked perfectly, i'll put that down as a PotPlayer issue.
Actually, the media type for AAC is defined by Microsoft, so there really isn't any room to go wrong here.

Edit:
I just remembered something. If you use it in combination with LAV Audio, it might use another media type (for good reasons, though)... :)

Yeah I dunno who's at fault, but it's definitely weird and only happens when Lav Splitter Source is doing the splitting. If I change it to the built-in MP4 splitter it passes through the audio codec information. I also tried different audio decoders with Lav Splitter (ffdshow audio, built-in), and always the information being passed is:

0x4441

When I use the built-in MP4 splitter it passes:

AAC(0xaac0)

RBG
23rd February 2012, 21:13
I personally found they tend to be geared more towards stability and image quality, rather than speed and game optimisations.

Could be a placebo effect though lol.

Trust me, that is just a common myth, that quadro drivers are stable because they are provided for professional usage. I myself have encountered several much more serious problems(power saving issues) with two different quadro cards than I have ever with GeForce series.

Mosu
23rd February 2012, 21:56
Hey,

I'm trying to fix an error/improve mkvmerge's handling of COOK audio. Unfortunately I haven't found a way to play back such files. Here's how it is:

A user has uploaded a sample RMVB file with RV40 video and COOK audio codecs. That file plays nicely in MPC-HC and LAVFilter (version from today... that should be 0.47). Everything is A-OK.

Remuxing said file to Matroska with mkvmerge's old way doesn't produce a playable file, but that's what I'm trying to fix. Ignoring this.

Remuxing said file to Matroska with ffmpeg (compiled from today's git) with "ffmpeg -i RMVB_with_cook_audio.rvmb -acodec copy -vcodec copy ffmpeg.mkv" works, but the file cannot be played by LAVFilters. Instead, MPC-HC uses its own internal Matroska splitters. Sound seems to be off. Using "LAVSplitter" in graphedit with ffmpeg.mkv results in an unspecified error, 0x80004005.

Interesting is that even ffplay.exe fails to play COOK in ffmpeg.mkv with an error that the codec's initialization data is missing -- but ffmpeg does create a CodecPrivate element for it. Of course it's possible that ffmpeg's Matroska demuxer passes CodecPrivate for COOK differently than its Matroska muxer does.

Before I upload said sample file (it's 500 MB) I'd like to ask:

1. Is COOK from Matroska supposed to work?
2. If so do you have a sample file that's known to play so that I can compare its results?
3. Do you need my sample file?

nevcairiel
23rd February 2012, 22:05
1. Is COOK from Matroska supposed to work?

No idea! I don't think i ever saw such a thing.


2. If so do you have a sample file that's known to play so that I can compare its results?

See 1. :)


3. Do you need my sample file?

I have some RMVBs here, i can try the ffmpeg way and see what happens.

Mosu
23rd February 2012, 22:23
I've dug some more into ffmpeg's source code (yes ffmpeg's, not LAVFilter's, but that shouldn't matter in this case), especially into libavformat/matroskadec.c. I'm pretty sure that there are two issues. First an explanation how RealAudio in Matroska has been stored in the past:

The CodecPrivate element contains a copy of the full RMVB audio property structure (e.g. real_audio_v5_props_t, see https://github.com/mbunkus/mkvtoolnix/blob/master/lib/librmff/librmff.h ) That structure contains certain common header fields for all of RealAudio's codec types, and it can also be followed by a codec-specific initialization data set. This is also part of Matroska's CodecPrivate element.

Now to libavformat's Matroska demuxer and muxer. The first problem is on the demuxing side: libavformat's Matroska demuxer does indeed try to parse the CodecPrivate element according to what I've written above, but not to the extent that it should. It does set several parameters like codec_framesize, sub_packet_size and other stuff from the real_audio_v5_props_t thingy, but it doesn't pass the codec initialization data as "extradata" (in libav* terms) down to the codec. See libavformat/matroskadec.c around lines 1613. In 1613 the "st->codec->extradata" is initialized from the local variable "extradata", but that local variable is not set above for "codec_id == CODEC_ID_COOK".

The second problem seems to be in libavformat's Matroska muxer. When you do a streamcopy like I've hinted at ('ffmpeg -i bla.rmvb -acodec copy out.mkv") then the Matroska muxer will write the codec extradata into Matroska's CodecPrivate element -- but only that codec extradata, not the full real_audio_v5_props_t structure and then the extradata.

Well. That's as far as I've come with studying the code. I'm not even sure it's worth pursuing, but users are pestering me about it ~~ http://forum.doom9.org/showthread.php?p=1551018#post1551018

DragonQ
23rd February 2012, 22:25
Just did a bit of a power consumption test on my HTPC using LAV in MediaPortal. Here's my results:

CUVID, 576i25: 61 W
CUVID, 1080i25: 65 W
DXVA2 Native, 576i25: 48 W (deinterlacing is poor)
DXVA2 Native, 1080i25: 54 W (playback is broken, picture freezes then catches up every second or two)

Unfortunately, I cannot force my GT 430 into the P8 power state (designed for video) using nVidia Inspector when using CUVID. If I do, 576i25 nearly plays back fine (80+% GPU usage and a few dropped frames) but it's nowhere near powerful enough for 1080i25. I'm not massively surprised by this since I assumed the P8 power state was more useful for the higher end cards, to stop them unnecessarily being in maximum power mode all the time. For a GT 430, it seems it has to be in full power mode when using CUVID.

Since DXVA2 playback is broken for me (and even if it wasn't, the deinterlacing isn't good enough), I guess I have no way of reducing the power usage :(. It's already fairly low but it would have been nice to reduce it anyway!

Midzuki
23rd February 2012, 23:14
@ Mosu:
I now this would be just a workaround, but how about forcing Cook Audio to be muxed as "A_MS/ACM" ? :confused:

FWIW, I only know the trick does work for ATRAC streams --- one year ago, the resulting MKVs played 100%-fine with both ffdshow and Mplayer. :cool:

Mosu
23rd February 2012, 23:16
mkvmerge doesn't support muxing as A_MS/ACM at all, and I'm not about to add it.

wanezhiling
24th February 2012, 05:04
Yeah I dunno who's at fault, but it's definitely weird and only happens when Lav Splitter Source is doing the splitting. If I change it to the built-in MP4 splitter it passes through the audio codec information. I also tried different audio decoders with Lav Splitter (ffdshow audio, built-in), and always the information being passed is:

0x4441

When I use the built-in MP4 splitter it passes:

AAC(0xaac0)

Its a workaround according to korean developer.
Use "an old PotPlayer + LAV Splitter" for AAC, cannot works..
No problem with built-in, Haali, AV Splitter.
I had exchanged 4 emails about this several momths ago, finally they found a workaround:0x4441

GollyJer
24th February 2012, 06:17
"Bitstreaming" usually refers to passing the compressed formats to an external decoder. Its also called SPDIF Passthrough (or maybe HDMI Passthrough).

Anyway, to do this, the audio needs to be in a certain format, specifically packed in a IEC 61937 format.
This is a special format with a few headers that identify which format is being send, and all that stuff. Someone has to take the compressed audio and format it in this manner - that is usually the audio decoder. The audio itself remains untouched, but the data stream needs to be modified to be able to bitstream it.

PCM on the other hand cannot be "bitstreamed" like that. IEC 61937 is only for compressed formats like AC3, DTS, DTS-HD and TrueHD.
PCM is PCM is PCM. All the decoder does is decode the audio to PCM, and send it to the renderer. There is nothing else it can possibly do.
The renderer then has to decide how it sends the audio to the hardware. Usually there are two options - shared or exclusive mode. In shared mode, it sends it through the Windows Mixer, mixed with all other audio sources, and then send to the hardware. This is not an "untouched" process (it may however be lossless, depending on the source and the "shared" output configuration). In exclusive mode, the audio renderer blocks the audio device, so that only it can send audio, and circumvents the Windows Mixer, so you can get "untouched" audio (assuming the audio renderer itself doesn't modify it)

Sadly the only usable Exclusive Mode renderer is right now ReClock, so you don't get around using it (unless you use a player which ships its own renderer)
MPC-HCs audio renderer supports exclusive mode, however the renderer lacks quite a lot of features and i would never recommend using it to anyone. It'll most likely cause audio glitches in many cases.This is awesome. I'm starting to understand better. Thanks.
Let me see if I can repeat what I'm learning.
If audio passes through the Windows Mixer it will be downsampled to the mixers default format. However, it will allow safe untouched passage to IEC 61937 formatted packets.
So...
To bit-exact, "bitstream", compressed audio the packets must in IEC 61937 format.
To bit-exact, "passthrough", uncompressed audio, aka PCM, WASAPI Exclusive must be used to bypass the Windows Mixer. This is because PCM can not physically be IEC 61937 formatted thus providing no way for safe passage through the Windows Mixer.

My first intuition was "Why aren't compressed formats already IEC 61937 formatted?" Pretty quickly I realized the error in that thinking as I sit and type on a laptop that has stereo speakers. The Windows Mixer has to downsample (I'm not sure downsample is the right term) in many situations. e.g.- A 5.1 movie playing on a 2.0 laptop.

But here's the part I still don't get... If PCM is PCM is PCM, what is the audio decoder decoding? Isn't it simply passing the bits as-is to the renderer which, if using WASAPI Exclusive mode, passes them as-is to the AV Receiver which converts them from digital to analog, then passes them to the amplifier which passes them to the speakers which passes them to our ears? :p

Thanks.

nevcairiel
24th February 2012, 06:28
But here's the part I still don't get... If PCM is PCM is PCM, what is the audio decoder decoding? Isn't it simply passing the bits as-is to the renderer which, if using WASAPI Exclusive mode, passes them as-is to the AV Receiver which converts them from digital to analog, then passes them to the amplifier which passes them to the speakers which passes them to our ears? :p

Most of the time audio doesn't start out as PCM, but rather as a compressed format.
In the cases where it does start out as PCM (like on a Blu-ray with a LPCM track), the audio decoder still has some small work to do. Blu-ray PCM is in a slightly different format then "normal" raw PCM. It contains some embedded headers with information about channel layout, sample rate and such things. The Audio Decoder has to extract that information and only send the PCM itself without the headers to the renderer.

BetA13
24th February 2012, 07:11
Sorry, you will need to use a modified inf file with strings for other GPU's.

Extract the driver, then overwrite the existing inf with the new one, then run the installer.

http://www.mediafire.com/?7j1wcck1febbsj0

http://forums.guru3d.com/showthread.php?p=4252344#post4252344

I personally found they tend to be geared more towards stability and image quality, rather than speed and game optimisations.

Could be a placebo effect though lol.



:D yoooo, nice to see u here also Redemption80 :)
its me BetA hehe...

THX for the Heads up..so they finally did an 295 series Quadro Driver...hmmm i must download hehe...

THX to S†v0r @ Guru3d for teh modded INF ;)

andybkma
24th February 2012, 11:15
Win 7 SP 1, Zoom Player 8.11 Max, LAV Filters .47

Need to ask this... am seeing a lot of dropped frames when decoding AVC/H264 content in fullscreen when using mVR as my renderer (FSE turned off) with either LAV Filters (CUVID turned on and available) or LAV CUVID decoder. All things being equal (haali splitter, audio decoder etc) when I select CoreAVC as my AVC decoder (CUVID turned on) I don't get all the dropped frames as reported by mVR. What could account for this disparity? I even rolled back to LAV Filters .46 and still all the dropped frames only with LAV Filters when CUVID is selected and turned on. Thanks for any advice

PS - With mVR FSE turned on I don't get all the dropped frames. But that doesn't explain why LAV Filters' CUVID would be doing this frame dropping with FSE turned off since CoreAVC doesn't do it. Note: LAV Filters and CoreAVC settings are the default ones.

DragonQ
24th February 2012, 11:17
Just did a bit of a power consumption test on my HTPC using LAV in MediaPortal. Here's my results:

CUVID, 576i25: 61 W
CUVID, 1080i25: 65 W
DXVA2 Native, 576i25: 48 W (deinterlacing is poor)
DXVA2 Native, 1080i25: 54 W (playback is broken, picture freezes then catches up every second or two)
...
Since DXVA2 playback is broken for me (and even if it wasn't, the deinterlacing isn't good enough), I guess I have no way of reducing the power usage :(. It's already fairly low but it would have been nice to reduce it anyway!
Hmm, someone on the MediaPortal forum just repeated this test and found that DXVA2 mode worked fine for him. He's using the same software, renderer (presumably, since there's only one option in Vista/7), decoder, GPU and channels as me!

What could be different in my setup that causes DXVA2 playback to be all over the place??

CruNcher
24th February 2012, 11:58
Lavs DXVA is a very early implementation depending on Hardware and different Bitstreams it might fail

Mpeg-2 seems pretty stable though :) except 1 issue so far on Intel which can force a crash

pururin
24th February 2012, 12:01
Nev, I notice a problem.

When I open any clips with QS active
then if I open mpc-hc Options>External Filters>LAV Video Decoder properties window
the video becomes hang and convulsive while audio plays on just fine.

Even I stop playback before accessing that window but when I get out and start playback again
the video simply keep repeating at the very first few frames over and over.

This seems to happen only with QS active. Version 0.45 get the same too(didn't test older ones).
Only tested with h264 stuffs(didn't have vc-1 or else now) with either mkv and mp4 container.
Tried with both haali and lav splitter. MadVR, EVR CP, EVR renderer all suffer the same.

JFYI I have Intel sandyb with HD3000 gpu, using XhmikosR's latest mpc-hc build, Intel latest driver .2559, Win 7 sp1 32bit.

p.s. Any chance LAV audio will get a Swap channels feature? :thanks:

It makes video freeze here, just by only access that Lav video property window. :(
(didn't even touch anything , just open that window as I described)

Anyone?

nevcairiel
24th February 2012, 14:03
It makes video freeze here, just by only access that Lav video property window. :(
(didn't even touch anything , just open that window as I described)

Anyone?

I don't know why you would start fiddling around with the external filter settings when you're trying to watch something, but in any case it might be fixed in the next version.


Hi nev, http://www.gokuai.com/f/78Jy98y7s07e0pF9
LAV Splitter 0.47 failed to get video parts.

The file is odd, mediainfo says its progressive but a interlaced one, and seems that only Haali could deal with well.
Fixed

aufkrawall
24th February 2012, 14:27
I've been told that Nvidia is aware of the MPEG-4 ASP bug of 295.73, so there may be a good chance that it gets fixed with one of the upcoming driver versions.

nevcairiel
24th February 2012, 14:58
LAV Filters 0.48

LAV Splitter
- Improved Video/Audio stream detection in some MPEG-TS files

LAV Video
- Fixed a potential crash with native DXVA2 when the software fallback was used


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.48.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.48.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.48-x64.zip)

Nothing big in this version, just a crash fix and some other minor changes that didn't even warrant a changelog entry.

Have a nice weekend.

dukey
24th February 2012, 14:59
Thanks nevcairiel, keep up the great work.

Midzuki
24th February 2012, 15:56
LAV Filters 0.48

LAV Splitter
- Improved Video/Audio stream detection in some MPEG-TS files

LAV Video
- Fixed a potential crash with native DXVA2 when the software fallback was used


...

Have a nice weekend.

Thanks :thanks: , BUT

on 2012-Feb-27 AT 00:00:00.000001 GMT...

You have been warned ;) :p :D

fastplayer
24th February 2012, 15:56
Have a nice weekend.
Thanks, you too! :)

wanezhiling
24th February 2012, 16:04
Fixed

:thanks:New 0.48, great work.

pururin
24th February 2012, 16:54
I don't know why you would start fiddling around with the external filter settings when you're trying to watch something, but in any case it might be fixed in the next version.


It's not fiddling around with the external filter settings (even real fiddling around filters still can't make any of this happen)
It's a way to open the 'lav video property page' (to config something like enable deinterlacing, etc.) and people doing like this isn't all that strange.

Say by just open a program's property page (in a way) to config something make it's functionality fail, isn't it strange?

Anyway, thx for taking this into account :)

nevcairiel
24th February 2012, 16:59
It's not fiddling around with the external filter settings (even real fiddling around filters still can't make any of this happen)
It's a way to open the 'lav video property page' (to config something like enable deinterlacing, etc.) and people doing like this isn't all that strange.

Say by just open a program's property page (in a way) to config something make it's functionality fail, isn't it strange?

Anyway, thx for taking this into account :)

The correct way would be to use the Play -> Filters menu and click LAV Video Decoder there, that way you directly access the one thats currently being used for playback. :p

wanezhiling
24th February 2012, 17:04
nev, since lav0.46 you recommended to use the installer, so what about lav 0.48 and later?

nevcairiel
24th February 2012, 17:06
nev, since lav0.46 you recommended to use the installer, so what about lav 0.48 and later?

"since 0.46" applys for anything later, too. :p
Why would that change again? The installer just works and ensures that LAV get setup properly. Use the zips and manually register the filters at your own risk.

pururin
24th February 2012, 17:23
The correct way would be to use the Play -> Filters menu and click LAV Video Decoder there, that way you directly access the one thats currently being used for playback. :p

Right. I'll tell guys/gals around me to avoid that problematic way, especially gals. :D
(some of them are quite inflexible when it comes to these things - read from how-to guides and then remember just that)


Keep up the good work! :thanks:

wanezhiling
24th February 2012, 17:26
"since 0.46" applys for anything later, too. :p
Why would that change again? The installer just works and ensures that LAV get setup properly. Use the zips and manually register the filters at your own risk.

For me I always use the installer, your answer is important for the members of Chinese PotPlayer forum, thanks nev.:D

fairchild
24th February 2012, 19:26
I just watched a blu-ray with the new 0.48 version and glad to report no problems. Whole movie ran with no dropped frames or glitches with setup in my sig. (used DXVA2 copy back) :thanks: Movie was Whiteout and it uses VC-1. (not the best movie but it was a blind buy)

cengizhan
24th February 2012, 20:15
Latest Lav filters stopped working with some dvb applications like dvbdream and smartdvb.

nevcairiel
24th February 2012, 20:37
Latest Lav filters stopped working with some dvb applications like dvbdream and smartdvb.

I tried SmartDVB, and it works fine.
I had to delete the LAV decoder from its built-in list and re-add it again, otherwise it wouldn't work, but thats failure in the application.

dukey
24th February 2012, 22:08
Have a feature request.
Add the IPinFlowControl interface to the audio output pin. To allow for dynamic reconnection.
http://msdn.microsoft.com/en-us/library/windows/desktop/dd390403%28v=vs.85%29.aspx

Disconnecting the audio render removes the 2.0 rate restriction .. so we can have uncapped fast forward speeds in DShow ;p You probably notice most directshow players are stuck at a maximum rate of 2.

Xaurus
24th February 2012, 22:30
nevcairiel,

There is something strange going on when I play The Pillars of the Earth bluray with CUVID.
Mediainfo says the file is 25.000 fps, progressive:
http://home.halden.net/mordor/mediainfo.png

So, CUVID is set to "aggressive deinterlacing" since I have a few DVDs still. Anyway, why does it seem to deinterlace (source filter says 50.000fps) this bluray?
Is actually some frames flagged as interlaced? I can see no reason otherwise nor do I know how to check. See screenshot:
http://home.halden.net/mordor/cuvid_decoding.png

This is with using software decoding (source filter says 25.000):
http://home.halden.net/mordor/software_decoding.png

I used mkvtools to make an unaltered (I hope) sample clip for you to check:
http://home.halden.net/mordor/tpote.zip


Software used: mpc-hc build 1.6.1.4090, madvr 0.80 and lavfilters 0.48.

nevcairiel
24th February 2012, 22:52
Is actually some frames flagged as interlaced? I can see no reason otherwise nor do I know how to check

I don't know where MediaInfo pulls its values from, but the H264 SPS does not specify that the content is pure progressive. In that case, aggressive deinterlacing will catch on and start deinterlacing everything.

For the record, i would recommend to not use 25Hz, and instead try to use 50Hz if your sceen allows for it, even for 25Hz content - it makes that problem magically go away and doesn't add any new ones.

Xaurus
24th February 2012, 23:22
I don't know where MediaInfo pulls its values from, but the H264 SPS does not specify that the content is pure progressive. In that case, aggressive deinterlacing will catch on and start deinterlacing everything.

For the record, i would recommend to not use 25Hz, and instead try to use 50Hz if your sceen allows for it, even for 25Hz content - it makes that problem magically go away and doesn't add any new ones.
Thanks, I'll use 50 instead of 25 for the screen, that's no problem.

Have you ever encountered this "problem" before with blurays?

nevcairiel
24th February 2012, 23:40
Oh its a Blu-ray source? I missed that in the previous post.
Blu-ray has no official profile for 25p, only 50i, so some people "fake" 25p by just putting progressive frames in there (called fake interlaced)

DragonQ
25th February 2012, 00:53
Yep, you need to use 25PsF (progressively segmented frames) on BD since there's no actual 25p support. Players should recognise this and output as progressive though, so for all intents and purposes 25p is supported by BD.

25PsF is used all the time on SD TV (576i25) for dramas, films, etc. BBC One HD and BBC HD gained the ability to transmit true 1080p25 with the encoder change a year or two ago.

chuuey
25th February 2012, 01:35
thanks for the new version, LAV rocks :D

Pat357
25th February 2012, 03:06
I have a very anoying problem with LAV-splitter together with CoreAVC decoder lately.

In MPC-HC, I set Lav-splitter-source + CoreAVC + Lav-audio as preferred, disable all internal MPC splitters and decoders.
When I try to open any container (MKV, MP4, MOV, M2TS with AVC1/H264 content, obviously), MPC-HC stalls and stops responding. I have to close it with the taskman.

I did the same test by setting file (async) + Lav-splitter + CoreAVC + Lav-Audio --> same results, MPC has to be closed by taskman.

However, if I don't use lav-splitter and enable the MPC internal splitters, the same H264 files open with no problems !

On top of that, in graphstudio, both LAV-splitter-source and Lav-splitter + file (async) work with CoreAVC !

I've tried uninstalling and reinstalling CoreAVC, but no avail.

I just installed LAV v0.48 and took a look in my registry :
for example the key for MKV :
[HKEY_CLASSES_ROOT\Wow6432Node\Media Type\Extensions\.mkv]
"Source Filter"="{B98D13E7-55DB-4385-A33D-09FD1BA26338}"
"Media Type"="{E436EB83-524F-11CE-9F53-0020AF0BA770}"
"SubType"="{1AC0BEBD-4D2B-45ad-BCEB-F2C41C5E3788}"

I'm very sure there used to be only the line "source Filter" for LAV-splitter-source like this :

[HKEY_CLASSES_ROOT\Wow6432Node\Media Type\Extensions\.mkv]
"Source Filter"="{B98D13E7-55DB-4385-A33D-09FD1BA26338}"


Is the "new" installer writing these lines to the reg ?
Why are the lines with "Media Type" and "SubType" needed ? They haven't been always there....
I looked them up : the first is "MEDIATYPE_Stream" and the second is MEDIASUBTYPE_Matroska .....

I don't know where it's going wrong : could be LAV-spliiter, MPC internal graph-builder, CoreAVC or even some other filter on my system..
Any idea how to track down the source of the problem ?
The problem is only there when LAV is installed, if I remove LAV, CoreAVC plays again with MPC-HC.

nevcairiel
25th February 2012, 07:35
Is the "new" installer writing these lines to the reg ?
Why are the lines with "Media Type" and "SubType" needed ? They haven't been always there....
I looked them up : the first is "MEDIATYPE_Stream" and the second is MEDIASUBTYPE_Matroska .....


Those lines are indeed new. They are not strictly required, but they do help some players to properly identify the source format. For MPC-HC, it doesn't make a bit of difference. I highly doubt those would cause your problems.

Considering everything works in GraphStudio, i would assume that MPC-HC is possibly loading some filter into the graph that doesn't play nice.
I assume you already tried clean reinstalls of all involved components? The splitter really hasn't changed much lately except a few harmless bug fixes.

Sebastiii
25th February 2012, 08:12
I would like to thanks you nev again from helping me with my Nvidia 9600GT (from my DEV pc).
In fact this card and surely old one need to set some option to make it work correctly at least for VC1i movies.
We need to uncheck YV12 and NV12 from LAV Video Decoder otherwise, video was slow and desync (tested on 290.36 and the latest 295.73 WHQL).
Now it run perfectly on this NVidia card.
We assume that old card need to do that or all card under VP4. see this on http://en.wikipedia.org/wiki/Nvidia_PureVideo.
Thanks again and thanks for 0.48 :)

cengizhan
25th February 2012, 09:43
I tried SmartDVB, and it works fine.
I had to delete the LAV decoder from its built-in list and re-add it again, otherwise it wouldn't work, but that's failure in the application.

i had tried that already. The thing is after changing channels a few times, smartdvb freezes and dvbdream crashes with avcodec-lav-54.dll.
both applications work ok with Microsoft dtv decoder.

Snowknight26
25th February 2012, 10:42
Small suggestion: 1080p60 H.264 content should not be allowed to be hardware accelerated on ATI/Intel GPUs. They can't handle it and make the GUI of the player extremely unresponsive.

NikosD
25th February 2012, 10:45
Small suggestion: 1080p60 H.264 content should not be allowed to be hardware accelerated on ATI/Intel GPUs. They can't handle it and make the GUI of the player extremely unresponsive.

Are you sure ?

Look at my signature's link.

madshi
25th February 2012, 10:57
Well, at least "copy back" DXVA for 60p content should probably be disabled on all ATI GPUs, except maybe for the new 7xxx series (not sure).

wanezhiling
25th February 2012, 11:20
Are you sure ?

Look at my signature's link.

NikosD, only your frankenstein card could reach 60fps in the world, you know that.

RBG
25th February 2012, 12:18
Small suggestion: 1080p60 H.264 content should not be allowed to be hardware accelerated on ATI/Intel GPUs. They can't handle it and make the GUI of the player extremely unresponsive.

Intel SB graphics can easily handle 60p material.

Well, at least "copy back" DXVA for 60p content should probably be disabled on all ATI GPUs, except maybe for the new 7xxx series (not sure).


It is better to leave decision to enable or disable any option to end-user.

madshi
25th February 2012, 12:37
It is better to leave decision to enable or disable any option to end-user.
Just imagine for a second that you had an AMD 6xxx (or older) GPU and wanted to use "DXVA copyback". Furthermore imagine you have both 24p and 60p videos. What will happen now? If you enable "DXVA copyback", 24p playback will be smooth, but 60p playback will stutter. That's not a good solution for the average user.

red5goahead
25th February 2012, 12:46
is it possibile to have a correct information about hw decoding.
I use Lav codec with Visualsubsync. due filter in chain and vmr9 under Vista is not possibile dvxa2 was active but that is the message.

Thanks a lot.

http://www.pchs.it/image-hosting/out.php/t7025_1.png (http://www.pchs.it/image-hosting/out.php/i7025_1.png)

nevcairiel
25th February 2012, 12:48
I use Lav codec with Visualsubsync. due filter in chain and vmr9 under Vista is not possibile dvxa2 was active but that is the message

DXVA2 Copy Back always works, it doesn't have the same limitations as native DXVA. The message is correct.

red5goahead
25th February 2012, 12:57
Ah ok. good to know.
another question I use lav codec without registration using CreateFilterFromFile to load the filter in the graph .
But it doesn't work the properties page . doesn't appear.
no problem if the filter is registrated. in the AX folder I copy all files including the dlls.

nevcairiel
25th February 2012, 13:18
Ah ok. good to know.
another question I use lav codec without registration using CreateFilterFromFile to load the filter in the graph .
But it doesn't work the properties page . doesn't appear.
no problem if the filter is registrated. in the AX folder I copy all files including the dlls.

Thats just how property pages work, they need to be registered.

noee
25th February 2012, 13:49
Well, at least "copy back" DXVA for 60p content should probably be disabled on all ATI GPUs, except maybe for the new 7xxx series (not sure).

Are you guys sure about this? I just tested Birds_1080p60fps.mp4 (from the link with the benches) in LAV, both DXVA2 CopyBack and Native, in jRiver Media Center with EVR and it works flawlessly with both and the GUI acts just normal. Using HD6570, CCC 12.2 pre-cert.

nevcairiel
25th February 2012, 13:54
In any case, if the GUI starts breaking because the decoder is too slow, its a bug in the player. :p

madshi
25th February 2012, 13:56
Are you guys sure about this? I just tested Birds_1080p60fps.mp4 (from the link with the benches) in LAV, both DXVA2 CopyBack and Native, in jRiver Media Center with EVR and it works flawlessly with both and the GUI acts just normal. Using HD6570, CCC 12.2 pre-cert.
Well, I've not tested it myself, tbh, but the reports I've read led me to believe it 60p DXVA copyback wouldn't work fast enough on 6xxx (and older) AMD GPUs. Maybe it depends on the GPU, OS, drivers, mainboard and what not, don't really know.

noee
25th February 2012, 14:07
Okay, yeah, there is a performance hit going on with the renderers and DXVA CopyBack vs. Native. I just tried in MPC-HC (later build) with EVR vanilla and again, flawless with both modes. Switched to madVR (for copyback) or EVR-CP and I get slideshows with CopyBAck mode. EVR-CP works fine too with Native mode. Same "birds" sample from above.

Mercury_22
25th February 2012, 14:09
Are you guys sure about this? I just tested Birds_1080p60fps.mp4 (from the link with the benches) in LAV, both DXVA2 CopyBack and Native, in jRiver Media Center with EVR and it works flawlessly with both and the GUI acts just normal. Using HD6570, CCC 12.2 pre-cert.

I've just tested that file too and it's the same here : working "flawlessly" with both native and CB :)

chros
25th February 2012, 15:04
I would like to thanks you nev again from helping me with my Nvidia 9600GT (from my DEV pc).
In fact this card and surely old one need to set some option to make it work correctly at least for VC1i movies.
We need to uncheck YV12 and NV12 from LAV Video Decoder otherwise, video was slow and desync (tested on 290.36 and the latest 295.73 WHQL).
Well, works for me on my 9600m gt with blrueray VC1, lavcuvid (only IDCT acceleration) and madvr (mobil gpu, which is far worser than the desktop 9600GT). MadVR reports NV12, 4:2:0.
What renderer are you using?

nevcairiel
25th February 2012, 15:05
That specific problem would most likely only occur with EVR - if it even occurs for anyone else. :p

NikosD
25th February 2012, 16:31
The new DXVA checker v2.8.0 (it's in beta) has fixed the problem with LAV Video and Basketball clip and it will support renderless VMR and EVR benchmark modes.

e-t172
25th February 2012, 18:36
I'm trying to watch a HD video file over HTTP over a DSL line. I know I have sufficient bandwidth to do that (more than 3x the bitrate of the video). I'm unable to get it working properly:

- By default, when opening a URL with DirectShow, it uses File Source (URL), which then gets attached to LAV Splitter. The video seems to play properly, but the displayed duration is completely wrong (fortunately, it keeps playing "past the end") and most importantly, I cannot seek.
- If I use LAV Splitter Source in GraphStudio and give it the URL, the video plays very slowly, as if the link was too slow. If I try to seek, GraphStudio freezes.

It would be great if LAV Splitter could play files over HTTP without issues. Also, I would like to be able to configure LAV Splitter so that it does massive buffering (e.g. 50 MB with 5 MB pre-buffer); this would greatly decrease the risk of buffer underruns when playing from a remote location, or even locally when the storage is under heavy load (e.g. playing video while copying files).

Also, does anyone know how to make LAV Splitter Source the default when opening URLs in MPC-HC?

nevcairiel
25th February 2012, 19:15
The File Source (URL) isn't great on seeking, so if you have any format that requires seeks to gather all information (like most formats do), you might end up with a limited subset of information, like wrong duration.
LAV itself didn't actually have http support yet, i guess Windows somehow emulated it when it tried to opened a file with the name of a URL.

I enabled http support (no https yet, need to fix the build system), and first tests look good.
http://files.1f0.de/lavf/LAVFilters-0.48-http.zip

You can use this reg file to force LAV as http source:
http://pastebin.com/XUT3AjZe

I'll have to check if there are better ways or if that one has side effects.

Regarding buffering, there already is good buffering in place, at about 1000 video frames. In MPC-HC, enable the "Statistics" panel to see the queue status (Ctrl+4)
I can probably think about increasing that in case of URL access, if its really required. On a Blu-ray sourced 1080p MKV, the buffer is around 110-120MB for those 1000 frames.

aufkrawall
25th February 2012, 19:49
I have a progressive VC-1 sample that doesn't work with VPU if I've chosen CUVID.
With DXVA it works. Unfortunately, it's ASF container and about 900 MB.
Another prog. VC-1 sample works with it.

What to do now?

nevcairiel
25th February 2012, 19:51
I suggest to sit on it, maybe something will hatch from it! :)
Anyhow, the CUVID decoder is a blackbox, can't look into it. Its all handled by the driver. (Try another one)
Are you sure its really VC-1 and not WMV3 in disguise?

aufkrawall
25th February 2012, 20:05
I suggest to sit on it, maybe something will hatch from it! :)

It might hurt to sit on WD Caviar Black HDDs, so I won't do this. :scared:


Anyhow, the CUVID decoder is a blackbox, can't look into it. Its all handled by the driver. (Try another one)
Are you sure its really VC-1 and not WMV3 in disguise?
Ah yes, MediaInfo says VC-1/WMV3.
But why should it work with DXVA and not CUVID?
It plays, but with CUVID there's no VPU usage.
Does CUVID not support WMV3 acceleration?

I found out that it's just Windows Movie Maker output, so here is a short sample (8,5 MB):
http://www.mediafire.com/?zpug3goyrj7fwnc

nevcairiel
25th February 2012, 20:12
The cuvid parser for some reason doesn't support wmv3, even though the hardware supports it.

aufkrawall
25th February 2012, 20:19
The cuvid parser for some reason doesn't support wmv3, even though the hardware supports it.
*sigh*

Do you still not plan to implement DXVA support for MPEG-4 ASP? :)

nevcairiel
25th February 2012, 20:22
I do not.

aufkrawall
25th February 2012, 20:24
I do not.
QuickSync does work with every DXVA capable format?

nevcairiel
25th February 2012, 20:26
QuickSync only supports H264, MPEG2 and VC1. Not WMV3 and not MPEG4-ASP. It may support WMV3 HW accel in the future, but right now it doesn't. Its up to Intels driver team.

aufkrawall
25th February 2012, 20:31
Alright, thanks.
Then I won't try it out and stick to CUVID.

e-t172
25th February 2012, 20:43
The File Source (URL) isn't great on seeking, so if you have any format that requires seeks to gather all information (like most formats do), you might end up with a limited subset of information, like wrong duration.
LAV itself didn't actually have http support yet, i guess Windows somehow emulated it when it tried to opened a file with the name of a URL.

I enabled http support (no https yet, need to fix the build system), and first tests look good.
http://files.1f0.de/lavf/LAVFilters-0.48-http.zip

Are you sure your build is correct? It tried it, but it didn't change anything.

Regarding buffering, there already is good buffering in place, at about 1000 video frames. In MPC-HC, enable the "Statistics" panel to see the queue status (Ctrl+4)
I can probably think about increasing that in case of URL access, if its really required. On a Blu-ray sourced 1080p MKV, the buffer is around 110-120MB for those 1000 frames.

Testing with LAV Splitter Source in your build, all buffers stay at 0 in the MPC-HC stats.

nevcairiel
25th February 2012, 21:05
Are you sure your build is correct? It tried it, but it didn't change anything.
Pretty sure. Works fine streaming some .ts file from my own web space, with proper duration and seeking and everything. Just applied the reg file, and it used LAV Splitter Source in MPC-HC for the http url. Like i said, https is no worky yet. Also, it will most likely not obey any proxy settings.

Are you sure you installed it correctly? :)

Weirdo
25th February 2012, 21:06
Thanks for the great updates! Is there a way to lock different LAV settings per application?

aufkrawall
25th February 2012, 21:22
Thanks for the great updates! Is there a way to lock different LAV settings per application?
Since there are only global settings available in the registry and nev doesn't want to make LAV store them in an ini, I don't think so.

e-t172
25th February 2012, 21:40
Pretty sure. Works fine streaming some .ts file from my own web space, with proper duration and seeking and everything. Just applied the reg file, and it used LAV Splitter Source in MPC-HC for the http url. Like i said, https is no worky yet. Also, it will most likely not obey any proxy settings.

Ah, now that you mention it, the duration bug is indeed fixed. The video is still extremely slow (completely unwatchable). Seeking works, but is very slow.

Here's some more context, maybe that will help understanding my issues:
- I'm streaming H.264/AC3 in Matroska, 1.4 GB for 44 minutes, average bitrate: 540 KB/s.
- Downloading the MKV from a browser yields approx. 1.5 MB/s. Round-trip time is 43 ms. Protocol is classic HTTP from Apache HTTP server.
- Again, File Source (URL) plays the file fast enough. Your HTTP build of LAV Splitter Source displays the right duration and is seekable, but everything is extremely slow.

But here's the catch: I fired up Wireshark to see what LAV was doing on the network and I got something interesting: I expected to see one long-lived HTTP request (or maybe several at the beginning) but I was shocked to see that LAV was instead sending approx. 10 HTTP requests per second! In fact, instead of just fetching the file as a stream, it seems to fetch exactly 16 KB of data at a time, and creates a new HTTP request each time it needs to get the next 16 KB, which is completely absurd since the request's offsets are sequential (I checked)…

Of course, this is incredibly inefficient since it puts heavy load on my webserver, makes my server's logs explode, and of course the extreme overhead of closing a TCP connection, opening a new one, and making a HTTP request for each 16KB chunk of data. With 1.5 MB/s it normally takes 10 milliseconds to download 16 KB. Reading the timings in Wireshark, it takes LAV Splitter 100 ms to fetch a 16 KB chunk (I'm surprised it isn't worse than that), which is equivalent to a 150 KB/s line… no wonder why it's so slow!

I get the feeling that Matroska might be the culprit here. Maybe the Matroska implementation isn't designed for a streaming scenario?

nevcairiel
25th February 2012, 21:54
The reason the file source works is that it buffers the whole file locally. But thats also the reason seeking fails, because it can only seek to parts it already has.

Anyhow, yes Matroska isn't all that great for this. It requires a lot of seeking back and forth, at least the way its implemented.

e-t172
25th February 2012, 22:03
Is there any hope it can be improved? Matroska seems to be designed (http://matroska.org/technical/streaming/index.html) for efficient streaming…

My point is, the current implementation doesn't even seek, it justs reads the file sequentially (I checked the offsets with Wireshark), but takes extra care to do it in the worst possible way. Just merging all those HTTP requests (or make them much bigger than 16 KB, say 10MB) would fix the issue.

RBG
25th February 2012, 22:14
Just imagine for a second that you had an AMD 6xxx (or older) GPU and wanted to use "DXVA copyback". Furthermore imagine you have both 24p and 60p videos. What will happen now? If you enable "DXVA copyback", 24p playback will be smooth, but 60p playback will stutter. That's not a good solution for the average user.

Can't agree here. The first reason, 60p vids are themselves relatively rare, so I doubt that average user will ever encounter them, guys who have 60p vids usually know the AMD hw decoding limitations. For vc-1 format software fallback on 60p content is useless due to poor optimization of software decoding in ffmpeg, even mine i7-2600 has not enouth power to decode vc-1 60p with LAV(SOFT), also there is a possibility that the end-user has slow cpu not capable of decoding even h.264 60p. The second reason, in fact there is a crooked way to force smooth playback of 60p on AMD hardware, though I have never tested it myself. The third reason, I hope someday AMD will fix their driver.

So I suggest, the best solution is to make some kind of check box to disable dxva(c/b) for 60p on ATI GPUs, or to write a hint(warning) for an average user, or just leave LAV as it is now.:D

noee
Mercury_22

If you want to test 60p playback capabilities of yours GPU try this (http://www.mediafire.com/?l2zwm5piwftkk3x).

nevcairiel
25th February 2012, 23:40
Is there any hope it can be improved? Matroska seems to be designed (http://matroska.org/technical/streaming/index.html) for efficient streaming…

My point is, the current implementation doesn't even seek, it justs reads the file sequentially (I checked the offsets with Wireshark), but takes extra care to do it in the worst possible way. Just merging all those HTTP requests (or make them much bigger than 16 KB, say 10MB) would fix the issue.

Try with this version:

http://files.1f0.de/lavf/LAVFilters-0.48-http2.zip

I hope i properly corrected all spots to now directly read the data and cache it instead of just reporting the position of the data to the caller. On first glance, it didn't seem like i introduced memory leaks or things of that sort, so here is hoping. ;)

The Seeker
25th February 2012, 23:41
Looking at the specs in my sig, what hardware decoder would you suggest I use? I'm guessing something that utilises my AMD card.

e-t172
26th February 2012, 00:06
Try with this version:

http://files.1f0.de/lavf/LAVFilters-0.48-http2.zip

I hope i properly corrected all spots to now directly read the data and cache it instead of just reporting the position of the data to the caller. On first glance, it didn't seem like i introduced memory leaks or things of that sort, so here is hoping. ;)

Absolutely perfect, thanks. My MKV now plays flawlessly. Wireshark shows some HTTP requests in the beginning (for metadata, I assume), then it's just one nice long TCP stream. Seeking works perfectly and is amazingly fast. This is really great, now I don't even have to download videos anymore when I'm away from home :)

A last feature request: it would be cool if LAV would ask for username/password if the URL is password protected (I'm talking about HTTP authentication). But that I can do without.

Prinz
26th February 2012, 00:37
Try with this version:

http://files.1f0.de/lavf/LAVFilters-0.48-http2.zip


I tested that version with my DVB-S-Receiver (HTTP Live-Stream). I can watch SD-TV Channels, but HDTV Channels only play for a few seconds.

With the File Source Filter and LAV Splitter all SD and HD Channels play ok. But the File Source Filter caches the Stream on HDD (IE-Cache) :rolleyes: So I'm stuck with VLC at the moment.

Mercury_22
26th February 2012, 08:38
....

noee
Mercury_22

If you want to test 60p playback capabilities of yours GPU try this (http://www.mediafire.com/?l2zwm5piwftkk3x).
It's playing smooth :)
http://imageshack.us/photo/my-images/20/capturehxb.png/

EDIT: just tested with madVR 0.81 and it's almost a slideshow :mad:

RBG
26th February 2012, 09:26
It's playing smooth :)
http://imageshack.us/photo/my-images/20/capturehxb.png/

EDIT: just tested with madVR 0.81 and it's almost a slideshow :mad:

That's interesting :), can you also test this vid with DXVA(native) and tell me gpu(shader clock, mem. clock) frequencies for both DXVA(native) and DXVA(C/B). Also if you're running any kind of benchmarking tools e.g. graph studio, dxvaChecker, please close it before testing.

nevcairiel
26th February 2012, 09:43
Its possible that the AMD driver somehow behaves differently if EVR is active. It wouldn't be the first time for AMD to do silly things like that. When benchmarking with GraphStudio, the best i saw out of a 6xxx series was 50fps or so.

VipZ
26th February 2012, 09:54
On that Avatar clip I get the following,
AMD 7970: 71avg (goes to UVD Clocks)
AMD 6570: 74avg (goes to full 3D clocks)

MadVR is also fine on my 7970 when playing but 6570 is a slideshow like everyone else is reporting

madshi
26th February 2012, 10:04
@VipZ, is that with "copyback"?

VipZ
26th February 2012, 10:19
@VipZ, is that with "copyback"?

Would have been useful to state that :) Yep its copyback.

I also see why the 7970 works while others don't. 6xxx series require full 3D clocks to decode that stream while 7970 only requires UVD (500 vs 925). When I use madVR as well my 7970 goes into full 3D clocks and the 1st few frames are decoded with UVD clocks and also a sideshow.

diizzy
26th February 2012, 12:35
Great work as always, I do have some video "regression" issues.
I have a few video files that are encoded using the infamous Project Mayo codec which are showing artifacts using LAV Filters. This also occurs with ffdshow unless you check "Padding bug" and "Edge" under libavcodec options (Decoder options). These settings doesn't seem to be available in LAV Video at all.

Also, are there any plans of including a channel mixer (useful if you have 2.0 and running a > 2.0 source) and possibly a normalizer (5.1+ gets really low if you just mix them) in LAV Audio?

//Danne

kasper93
26th February 2012, 13:29
@nevcairiel
Could you look at http://dl.dropbox.com/u/16282309/doom9/sample.vob I think it should not be detected as interlaced, but I guess you can't do much because it's marked interlaced?

nevcairiel
26th February 2012, 13:31
@nevcairiel
Could you look at http://dl.dropbox.com/u/16282309/doom9/sample.vob I think it should not be detected as interlaced, but I guess you can't do much because it's marked interlaced?

All the frames are marked as interlaced, its behaving exactly like it should be.

iSunrise
26th February 2012, 14:17
Also, are there any plans of including a channel mixer (useful if you have 2.0 and running a > 2.0 source) and possibly a normalizer (5.1+ gets really low if you just mix them) in LAV Audio?

//Danne
This has been requested by some and I guess that nevcairiel already is working on it. A normalizer would be a great addition, indeed.

noee
26th February 2012, 14:25
noee
Mercury_22

If you want to test 60p playback capabilities of yours GPU try this.

Cool clip. Just built LAV, just updated to madVR .81.

DXVA Native with EVR work flawless, slight pause when clip starts. (CPU idle freq/GPU at full clocks 650Mhz)
DXVA CB with EVR stutters for a few seconds, then playback goes smooth, clip plays fine. (CPU clocks up/GPU at full clocks 650Mhz)

DXVA CB with madVR stutters for about 5 seconds, then playback gets smooth, clip plays fine. (CPU clocks up/GPU at full clocks 650Mhz)

again, jRiver MC17, HD6570 (RO standard for EVR, ROHQ for madVR)

NikosD
26th February 2012, 14:45
If you want to test 60p playback capabilities of yours GPU try this (http://www.mediafire.com/?l2zwm5piwftkk3x).

Excellent clip to add to my benchmark collection.
It has both high bitrate and high frame rate.

6233638
26th February 2012, 16:48
Well this was unexpected. Lav Splitter isn't finding any audio tracks with the Eternal Sunshine of the Spotless Mind Blu-ray, whether I load up the index.bdmv or m2ts file.

The "MediaInfo" tab in MPC-HC's properties for it says there's a DTS-HD MA and AC3 track there, and if I block Lav Splitter/source from loading, it works.

Not sure how to get a sample of this to give you though.

nevcairiel
26th February 2012, 17:05
Well this was unexpected. Lav Splitter isn't finding any audio tracks with the Eternal Sunshine of the Spotless Mind Blu-ray, whether I load up the index.bdmv or m2ts file.

The "MediaInfo" tab in MPC-HC's properties for it says there's a DTS-HD MA and AC3 track there, and if I block Lav Splitter/source from loading, it works.

I ordered that movie from the UK, but it won't be here for another 2 weeks or so.

Anyway, the only case where i've ever seen such a problem before was with some rare releases of Avatar, but only with Subtitles there. Usually an indicator of the muxing of that disc gone wrong.
I always wanted to take the metadata from the BD playlists into account when finding streams, but sadly that isn't all that easy.

Maybe just cut the first 20MB off the m2ts and see if the problem persists.

6233638
26th February 2012, 17:08
I ordered that movie from the UK, but it won't be here for another 2 weeks or so.Well that's the disc I have too, so hopefully you'll be able to fix it from that if I can't get you a sample.

Maybe just cut the first 20MB off the m2ts and see if the problem persists.How would I go about doing this?

nevcairiel
26th February 2012, 17:14
How would I go about doing this?

DGSplit is usually an easy enough tool for binary splitting.

6233638
26th February 2012, 17:31
DGSplit is usually an easy enough tool for binary splitting.No audio when I use that. Weird.

mzso
26th February 2012, 18:21
Hi!
Is it possible to set LAV filters to prefer the TrueHD track? I have a file in which the first audio track is an AC3 track and the second is a TrueHD but no matter what I do always the AC3 plays when I start playback. Even after I set the TrueHD one as default.

nevcairiel
26th February 2012, 18:32
Hi!
Is it possible to set LAV filters to prefer the TrueHD track? I have a file in which the first audio track is an AC3 track and the second is a TrueHD but no matter what I do always the AC3 plays when I start playback. Even after I set the TrueHD one as default.

The logic is quite simple. It selects the stream with the highest number of channels and the "best" codec. So if they have the same number of channels, it should always go with TrueHD.

However, MKV "Default" flag will override this, and it'll go with the first stream it finds marked as "Default".

mzso
26th February 2012, 18:45
The logic is quite simple. It selects the stream with the highest number of channels and the "best" codec. So if they have the same number of channels, it should always go with TrueHD.

However, MKV "Default" flag will override this, and it'll go with the first stream it finds marked as "Default".

But it doesn't for some reason. Could the player be an issue?

nevcairiel
26th February 2012, 18:46
Sure, some players do their own stream selection.
Also, language is of course taken into account.

diizzy
26th February 2012, 19:20
@ nevcairiel
Do you want a sample of the issue?

//Danne

pankov
26th February 2012, 20:39
necairiel,
I'm trying to make Zoom Player play HTTP streams but I have issues. To be able to show to problem to the author I decided to build the graph in Graph Studio Next and show it to him but I'm not able to do it there too - I'm able to build the graph by selecting a "file", not URL for LAV Splitter Source but the graph doesn't play. At the same time everything works just fine when I use MPC-HC and just select "open file" and paste the URL (for example http://10.11.12.14:7522/upnp/channelstream/54.ts - this will play channel number 54 of my DVB Viewer's Recording Service). It does work with SD and HD channels both in MPEG2 and H264.
Do I have to do something special to be able to reproduce the same in Graph Studio (Next)?

nevcairiel
26th February 2012, 20:42
Usually you would just add LAV Splitter Source as a new filter, and give it the URL as file path. Note sure what the URL option does differently, never used it.

Note that this won't work on the release version, but only on the special http builds i posted earlier.

pankov
26th February 2012, 20:46
Thanks,
that's exactly what I'm doing and I do use the "....http2" version you posted yesterday. It works perfectly in MPC-HC but not in Graph Studio / Zoom Player.
it does show a "active movie window" with the correct resolution (1920x1080 for HD channels) and sometimes a few frames but it simply doesn't continue to play
:(

SamuriHL
26th February 2012, 20:47
nev, what are your current settings in madVR for your 450? I'm having a hard time getting it to work properly with the latest lav filters from source and 0.81.

nevcairiel
26th February 2012, 20:50
Thanks,
that's exactly what I'm doing and I do use the "....http2" version you posted yesterday. It works perfectly in MPC-HC but not in Graph Studio / Zoom Player.
it does show a "active movie window" with the correct resolution (1920x1080 for HD channels) and sometimes a few frames but it simply doesn't continue to play
:(

I just tried in GraphStudioNext, and it worked fine too.
Just created a new LAV Splitter Source, fed it with a URL, and then right clicked on both pins and selected "Render"

For the record, i tried with these URLs:
http://files.1f0.de/samples/20100812_1635_-_TVNorge_HD_-_Gossip_Girl.ts
http://files.1f0.de/samples/Test_clip_avc.1080i59.94.ac3.5.1.mkv


nev, what are your current settings in madVR for your 450? I'm having a hard time getting it to work properly with the latest lav filters from source and 0.81.
My 450 died some time ago (together with the systems SSD), i think some power spike did it. Got some cheapo AMD card in there right now for testing stuff.

SamuriHL
26th February 2012, 20:54
My 450 died some time ago (together with the systems SSD), i think some power spike did it. Got some cheapo AMD card in there right now for testing stuff.

Oh hell that sucks! Ok, I'll have to see if anyone in the madVR thread replies. Not sure what's happening but with CUVID I'm getting dropped frames randomly and the presentation glitches are all over the place. The queues aren't staying filled and sometimes drop so low that it's causing the issues. Very odd.

nevcairiel
26th February 2012, 20:55
The most important setting for me always was flushing, just no/no/no/flush&sleep would usually do away with most problems.

SamuriHL
26th February 2012, 20:56
I'll give that a shot. Thanks!

pankov
26th February 2012, 21:00
well,
these play ... sort of, because in the beginning it's all smooth but after a couple of seconds it changes to slideshow without sound ... but I guess this could be explained by slow connection which is very strange since when I download the file with my browser (Firefox) I get around 1MB/s (total download time 118 seconds for the Gossip Girl sample).
With my local stream though I have a gigabit connection (tops around 30MB/s) and everything plays smoothly in MPC or in DVBViewer itself. So I'm 100% sure that with my local test the bandwidth is not the issue.
Is there something I can do to find where is the problem? Any debug logging ... or something like this?

nevcairiel
26th February 2012, 21:02
(total download time 118 seconds for the Gossip Girl sample).

The file is only 64 seconds long, so it wouldn't run smooth. :p
If everything works fine in MPC-HC, and you only see LAV Splitter Source and not the File Source (URL) in there, then i don't know what to tell you. LAV works fine.

BTW, its right now only designed to work with seekable sources, so if whatever you're trying to run there is not a file but some kind of live stream, it may not work. I haven't tested it, and i really have no idea how to test it. :)

pankov
26th February 2012, 21:12
Yes,
I saw that too just after I posted my reply (sorry)
I'm happy that it works in MPC-HC - I just wanted to make it work in Graph Studio too so I can point both examples to bLight (the author of Zoom Player).
I guess I'll have to convince him only with MPC
;)
Thanks for your great work!

Mercury_22
26th February 2012, 21:36
That's interesting :), can you also test this vid with DXVA(native) and tell me gpu(shader clock, mem. clock) frequencies for both DXVA(native) and DXVA(C/B). Also if you're running any kind of benchmarking tools e.g. graph studio, dxvaChecker, please close it before testing.

Nothing else it's running (except a defrag :) ) http://imageshack.us/photo/my-images/844/dxvanative.png/

EDIT this is with my TV set at 60 Hz, with TV set at 59 HZ it's even "smoother" :)

P.S. one thing, which I didn't believe in until I bump into many times (when I was helping my friends set their HTPCs), is that the quality of the cables (HDMI, DVI, DP) does matter ! But I'm NOT talking about that "Gold Plated" marketing "gimmick"

Pat357
27th February 2012, 00:58
I have an issue with the "http-streaming" :
- In MPC-HC : <ctrl> + O -> enter
"http://files.1f0.de/samples/2010 ..Gossip_Girl.ts",
I always have "File Source" + LAV-splitter, not LAV-splitter-Source.

I have imported the reg-file with the http key to LAV-Splitter-source.. What is the magic to get rid of the File Source ??

In GraphStudio, I get a playing file using Lav-splitter-source, works very nice indeed !

Never mind : after re-importing the reg and do a reboot, everything works as it should.
Thanks!

Pat357
27th February 2012, 01:30
The most important setting for me always was flushing, just no/no/no/flush&sleep would usually do away with most problems.
I have this setting too for my GTX-570 when Madvr is in FSE.
Seems to work well.
Nev, did you also use this for windowed mode with your GTX-570 ?

Pat357
27th February 2012, 01:56
Nev,

A quick question about the buffers used in LAV :
In some files I have, MPC shows like 3 buffers (?) :
[0] 1000/xxxxx kB [1] 1000/yyyyy kB [2] 0/zzzzz

As I understood xxxxx is the buffer from compressed frames (input decoder), right ? Is yyyy the buffer for audio or so ? (values are much smaller, like 1000/1050 kB..
Following this reasoning, could zzzz be for subs or another audio stream ? (=wild guess:D)

Does LAV also have buffers on the output of the decoder(s) ?
I mean buffering decoded content to allow a more fluent flow to the rendering process in case of heavy bandwidth fluctuations ?
If so, about how much decoded frames are buffered ?
I'm just curious...:p

nevcairiel
27th February 2012, 08:16
I have this setting too for my GTX-570 when Madvr is in FSE.
Seems to work well.
Nev, did you also use this for windowed mode with your GTX-570 ?

I don't watch movies on the PC with my 570, so i never really did any extensive testing regarding playback stability.


A quick question about the buffers used in LAV :
In some files I have, MPC shows like 3 buffers (?) :
[0] 1000/xxxxx kB [1] 1000/yyyyy kB [2] 0/zzzzz

Those are the queues in LAV Splitter for the three output pins. The first number (1000) is the number of frames in the queue, the second number is the size of the queue in kB. Its somewhat unusual that both numbers would be 1000 exactly, though, because of different frame durations between audio and video.

As you guessed, first is video, second is audio and third is subtitles. Subtitles will usually always be empty because the subtitle renderers usually accept data as soon as its available and don't require me to queue it.


Does LAV also have buffers on the output of the decoder(s) ?
I mean buffering decoded content to allow a more fluent flow to the rendering process in case of heavy bandwidth fluctuations ?


The decoders do not perform any extra buffering, except if its required for the decoding process itself.

DragonQ
27th February 2012, 11:30
Video of DXVA2 Native mode not working with a BBC One HD stream using a GT 430. (http://www.youtube.com/watch?v=7Q96rwFuyjw&feature=youtu.be&hd=1) It only seems to affect BBC One HD and BBC HD, but not ITV1 HD or Channel 4 HD. This implies to me that it's something to do with MBAFF encoding (which I *think* is only used on the BBC's HD channels).

mylle
27th February 2012, 11:33
Hi Nev,

First of all. Thanks for the amazing job you are doing on the LAV splitter/decoder.

I am thinking about buying a new motherboard and cpu for my mediacenter. I am currently on an old core2duo and a gt430. I am running mediaportal and watching both h264mkvs, full blu-ray rips, TV in both sd and 720p and 1080i.

Would a SB motherboard and CPU be enough for me? An I3 just using quicksync?

What would you recommend?

Regards
Jacob

nevcairiel
27th February 2012, 17:28
This file plays very choppy in both DXVA and DXVA CB, but plays smooth with MPC build in DXVA.
In all 3 cases the LAV-spitter is used, so it's not a splitter issue.
I also tried the MPC build in MPEG-spliiter and got the same result.

http://www.mediafire.com/?3z15d95b7j0j3jm

http://aleksoid.tosei.ru/Test/Sample/Blind_Fury.m2ts - Also play very bad in software and DXVA with LAV. I think - it's a ffmpeg issue. Some times ago you fix ffmpeg to normal playback MBAFF H264.
Video of DXVA2 Native mode not working with a BBC One HD stream using a GT 430. (http://www.youtube.com/watch?v=7Q96rwFuyjw&feature=youtu.be&hd=1) It only seems to affect BBC One HD and BBC HD, but not ITV1 HD or Channel 4 HD. This implies to me that it's something to do with MBAFF encoding (which I *think* is only used on the BBC's HD channels).

I just fixed a MBAFF related problem, please try with this version. The two files above are fixed for me, good chance it also fixes your TV playback.

http://files.1f0.de/lavf/LAVFilters-0.48-9-g75f2110.zip

chros
27th February 2012, 19:23
I was just curious and tried this file: http://aleksoid.tosei.ru/Test/Sample/Blind_Fury.m2ts , but I can't get 16:9 ratio, I get 4:3 ...
Setup: MPC-HC + Lav source splitter + Lav Video decoder (CUVID, 'Use stream aspect ratio' is checked) + MadVR or EVR Custom Presenter .

DragonQ
27th February 2012, 19:38
I just fixed a MBAFF related problem, please try with this version. The two files above are fixed for me, good chance it also fixes your TV playback.

http://files.1f0.de/lavf/LAVFilters-0.48-9-g75f2110.zip
Thanks Nev, this fixes the problem shown in the YouTube video I linked to. :D

The only issue I have with DXVA2 in MediaPortal now is the piss-poor deinterlacing. It's not as bad as weave but it's clearly not the highest quality adaptive mode since there are combing artefacts a few times a minute (I NEVER see combing with CUVID). It's also being output at 25p instead of 50p.

I know you said it's up to the renderer and it isn't an issue you can fix but you know much more about this than I do so I must ask: can the MediaPortal devs change something in their EVR implementation to fix this?

nevcairiel
27th February 2012, 19:53
I was just curious and tried this file: http://aleksoid.tosei.ru/Test/Sample/Blind_Fury.m2ts , but I can't get 16:9 ratio, I get 4:3 ...
Setup: MPC-HC + Lav source splitter + Lav Video decoder (CUVID, 'Use stream aspect ratio' is checked) + MadVR or EVR Custom Presenter .

Must be something off at your end, the file contains proper aspect ratio information and works fine here.

Reino
27th February 2012, 20:45
I don't know if this has been asked before (search returned nothing), but is subtitle support for the decoder on your to-do-list, nevcairiel?

red5goahead
27th February 2012, 20:49
Do you know if is it avaiable a Delphi interface for the lav codecs?

aufkrawall
27th February 2012, 20:51
@nev

Could you please make it possible to set merit of HW accelerate settings?

e.g.,
use DXVA2(native) whenever possible,
else if decoding by DXVA2 is still possible, but renderer is not EVR, or some other filters pin between LAV Video and EVR, switch to DXVA2(copy back),
otherwise(video cannot be decoded via DXVA2 at all), switch to software decoder.
This is really a great idea.
It would make it possible to e.g. use CUDA for MPEG-4 and DXVA copy back for WMV3 while using madVR -> full potential of VPU utilized. :)

husmoaschta
27th February 2012, 20:59
Thanks Nev, this fixes the problem shown in the YouTube video I linked to. :D

The only issue I have with DXVA2 in MediaPortal now is the piss-poor deinterlacing. It's not as bad as weave but it's clearly not the highest quality adaptive mode since there are combing artefacts a few times a minute (I NEVER see combing with CUVID). It's also being output at 25p instead of 50p.

I know you said it's up to the renderer and it isn't an issue you can fix but you know much more about this than I do so I must ask: can the MediaPortal devs change something in their EVR implementation to fix this?

I get perfect deinterlacing in MP with DXVA2 native.
Be sure to disable YADIF and set output to NV12.

nevcairiel
27th February 2012, 21:14
I get perfect deinterlacing in MP with DXVA2 native.
Be sure to disable YADIF and set output to NV12.

Those settings make no difference for DXVA2 native decoding.

VipZ
27th February 2012, 21:20
Nev, HTTP streaming is working great for SHOUTcast streams and samples posted earlier in x86 but x64 doesn't seem to work.

I am assuming HKEY_CLASSES_ROOT\http is valid for both x86 and x64 applications.

husmoaschta
27th February 2012, 21:23
Those settings make no difference for DXVA2 native decoding.

But HW-deinterlacing is only available with NV12, isn't it?
And when I activate YADIF, I get that 25Hz-Output too, instead of 50Hz ...

nevcairiel
27th February 2012, 21:29
Nev, HTTP streaming is working great for SHOUTcast streams and samples posted earlier in x86 but x64 doesn't seem to work.

I am assuming HKEY_CLASSES_ROOT\http is valid for both x86 and x64 applications.

I forgot to add the protocols to the x64 compile script, corrected now.

And yes, those values should apply to both x86 and x64.

But HW-deinterlacing is only available with NV12, isn't it?
And when I activate YADIF, I get that 25Hz-Output too, instead of 50Hz ...

DXVA2 in "native" mode will always output NV12, and never use YADIF, there is no way around it. :)

I'll test what happens with YADIF active, maybe there is some bug that sets the interlaced flags wrong in that case.

Edit:
Found the problem, if YADIF was activate it was claiming to the renderer that it wasn't interlaced anymore - of course for DXVA2 native that wasn't true.

VipZ
27th February 2012, 21:35
Thanks

DragonQ
27th February 2012, 21:53
This is really a great idea.
It would make it possible to e.g. use CUDA for MPEG-4 and DXVA copy back for WMV3 while using madVR -> full potential of VPU utilized. :)

It'd also be great for setting DXVA2 Native as the main mode but falling back to CUVID (rather than software decoding) for files that DXVA2 cannot handle!

DXVA2 in "native" mode will always output NV12, and never use YADIF, there is no way around it. :)

I'll test what happens with YADIF active, maybe there is some bug that sets the interlaced flags wrong in that case.

Edit:
Found the problem, if YADIF was activate it was claiming to the renderer that it wasn't interlaced anymore - of course for DXVA2 native that wasn't true.

Aha, so that may be why the deinterlacing is cruddy - I had YADIF still ticked. Haven't got a chance to test it until tomorrow though! Will this be fixed in LAV 0.49? :D

I was just curious and tried this file: http://aleksoid.tosei.ru/Test/Sample/Blind_Fury.m2ts , but I can't get 16:9 ratio, I get 4:3 ...
Setup: MPC-HC + Lav source splitter + Lav Video decoder (CUVID, 'Use stream aspect ratio' is checked) + MadVR or EVR Custom Presenter .
Do you have "Use stream aspect ratio" ticked in LAV? Some HD programming appeared as 4:3 for me until I ticked this option (although admittedly it was 1440x1080i so probably not related to this problem).

glorp
27th February 2012, 21:59
DXVA2 in "native" mode will always output NV12, and never use YADIF, there is no way around it. :)
What do you consider the "proper" choice of options then for DXVA2 decoding with LAVVid? I can get NV12, RGB32 and UYVY to show up as the "mixer output" format in MPC-HC's OSD display depending on what color space options I enable when I'm playing 4:2:0 content. I;ve always been a little confused about which color space options matter in which case(s).
ED: It' an ATi card in case it matters.

nevcairiel
27th February 2012, 22:02
It'd also be great for setting DXVA2 Native as the main mode but falling back to CUVID (rather than software decoding) for files that DXVA2 cannot handle!

CUVID cannot handle anything that DXVA2 cannot handle, its the same hardware doing the decoding. There is right now only MPEG4-ASP which is just not implemented in DXVA2 yet.


Aha, so that may be why the deinterlacing is cruddy - I had YADIF still ticked. Haven't got a chance to test it until tomorrow though! Will this be fixed in LAV 0.49? :D

Already fixed. Stupid logic mistake. :)

What do you consider the "proper" choice of options then for DXVA2 decoding with LAVVid? I can get NV12, RGB32 and UYVY to show up as the "mixer output" format in MPC-HC's OSD display depending on what color space options I enable when I'm playing 4:2:0 content. I;ve always been a little confused about which color space options matter in which case(s).
ED: It' an ATi card in case it matters.

With DXVA2 "native" you really have no choice. It'll always output NV12 because thats just the format it decodes to, and the image never leaves the GPU, so it cannot be changed.

With DXVA2 "copy back" its really no different to software decoding. NV12 output is the "untouched" variant, which is probably good for most people.

RGB32 can be a good alternative to avoid bad chroma upsampling in the renderer, but usually disables renderer deinterlacing.

glorp
27th February 2012, 22:08
With DXVA2 "native" you really have no choice. It'll always output NV12 because thats just the format it decodes to, and the image never leaves the GPU, so it cannot be changed.

So why does MPC say I'm getting RGB32 if I turn off all the c-s options except RGB32? Is there an extra conversion ocurring somewhere? That's what confuses me. I can see that the card only does DXVA2 in NV12 from DVXChecker. I get that, just not what happens after and what options to set or whether they matter.

nevcairiel
27th February 2012, 22:13
So why does MPC say I'm getting RGB32 if I turn off all the c-s options except RGB32? Is there an extra conversion ocurring somewhere? That's what confuses me. I can see that the card only does DXVA2 in NV12 from DVXChecker. I get that, just not what happens after and what options to set or whether they matter.

Says NV12 for me when i do that.
http://images.gammatester.com/pics/25799f1d88d317516bcc3cd57607cdc3.png

DXVA2 "native" is active, everything but RGB unchecked - and it still outputs NV12.

aufkrawall
27th February 2012, 22:17
CUVID cannot handle anything that DXVA2 cannot handle, its the same hardware doing the decoding. There is right now only MPEG4-ASP which is just not implemented in DXVA2 yet.

It'd be really cool though if you made single codecs allocatable to single hardware decoders, maybe somewhen before next christmas. :D

glorp
27th February 2012, 22:25
Says NV12 for me when i do that.
http://images.gammatester.com/pics/25799f1d88d317516bcc3cd57607cdc3.png

DXVA2 "native" is active, everything but RGB unchecked - and it still outputs NV12.

Take a look:
http://www.mediafire.com/i/?k9pxp8g8m38ia10

http://www.mediafire.com/i/?k9pxp8g8m38ia10

nevcairiel
27th February 2012, 22:28
Take a look:
http://www.mediafire.com/i/?k9pxp8g8m38ia10

http://www.mediafire.com/i/?k9pxp8g8m38ia10

Your link doesn't work :(

glorp
27th February 2012, 22:31
Your link doesn't work :(

Stupid mediafire. Try this:
http://glorp.ultraseedbox.com/public/files/Capture1.jpg

nevcairiel
27th February 2012, 22:33
Stupid mediafire. Try this:
http://glorp.ultraseedbox.com/public/files/Capture1.jpg

I see.

I guess its some of your EVR-CP settings, most likely Force 10-bit Input or something. What that line describes it the output from the Mixer, not the output from the decoder, so who knows whats going on in there.
The Mixer will need to do some conversion to give you RGB32, but of course to output the image, it needs to be converted to RGB32 at some point anyway.

glorp
27th February 2012, 22:36
I see.

I guess its some of your EVR-CP settings, most likely Force 10-bit Input or something. What that line describes it the output from the Mixer, not the output from the decoder, so who knows whats going on in there.
The Mixer will need to do some conversion to give you RGB32, but of course to output the image, it needs to be converted to RGB32 at some point anyway.

OK. So best to enable NV12 ? It is the MPC renderer 10-bit input toggle that does that. Disabling it always outputs NV12. Enabling always gets RGB. Thanks nev. Learned something useful :p

Reino
28th February 2012, 00:12
Stupid mediafire.No, you made a typo: http://www.mediafire.com/i/?k9pxp8g8m38ia10 (http://www.mediafire.com/i/?k9pxp8g8m38ia10)

Thanks, I just realised that I was trying to test something that wasn't yet supported (SHOUTcast).
Don't think either of those things ever will be supported.Nev, HTTP streaming is working great for SHOUTcast streams...Did I miss something? :confused: Good news of course! :)
I did some quick tests in GraphStudioNext (MPC-HC's parsing capabilities are really bad. Perhaps you can convince MPC-HC devs to fix it.) and I can say SHOUTcast streams (mp3 and aac) seem to work fine. With Icecast streams (vorbis) on the other hand, LAV Splitter Source initially accepts the stream, connects to LAV Audio Decoder or FFDShow, but when you hit the play-button there's no audio. DC-Bass Source and DC-Bass Source Mod handle these perfectly. 2 quick links you can test:
http://ogg2.as34763.net:80/vc160.ogg
http://stream-sd.radioparadise.com:9000/rp_96.ogg

Btw, is subtitle support for LAV Video Decoder on your to-do-list?
Whereas MPC-HC has an internal subtitle renderer, a lot of other media players do not and you rely on VSFilter or FFDShow.

VipZ
28th February 2012, 00:29
http://ogg2.as34763.net:80/vc160.ogg
http://stream-sd.radioparadise.com:9000/rp_96.ogg


This plays fine for me. Yep since Nev added HTTP steaming support SHOUTcast works great. IMO it has now surpassed MPC and PotPlayers integrated filters, but sadly missing the info, but that's small vs breaking up streams. I did my testing in custom MPC build with all internal filters removed.

Nev, do you know the the state of UDP streaming within ffmpeg?

clsid
28th February 2012, 00:49
It works here with LAV Audio, but with ffdshow I just get silence.

Reino
28th February 2012, 02:02
Exactly! I think the issue I described about ogg-files a week ago (http://forum.doom9.org/showthread.php?p=1560106#post1560106), applies to ogg-streams as well. BUT only with LAV + FFDShow. MPC-HC Ogg Splitter + FFDShow is perfectly fine, as well as LAV Splitter + LAV Audio Decoder.
So either LAV Splitter or FFDShow Audio Decoder is to blame, but I can't tell... Most likely the issue here and that one are related.


I just noticed nevcairiel posting a reg-file (http://forum.doom9.org/showthread.php?p=1561178#post1561178) to force LAV as http source. At last, this seems to be the only way to enable proper SHOUT- and Ice-cast support in MPC-HC. With...
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\http]
;DC-Bass Source Mod
"Source Filter"="{ABE7B1D9-4B3E-4ACD-A0D1-92611D3A4492}"...this finally lets MPC-HC except DC-Bass Source (Mod) too! (but since the latter can handle audio only, that will get you into trouble in case you stream videos (http://forum.doom9.org/showthread.php?p=1561456#post1561456))
Zoom Player automatically recognizes DC-Bass Source (Mod)'s audio streaming capabilities ("Options", "System Overview"), which it doesn't with LAV Splitter Source, but I believe that's bLight's cup of tea. But with MPC-HC it seems [HKEY_CLASSES_ROOT\http] is the only place it's looking for for, not only SHOUTcast-, but all streaming- DS-filters. First I thought it was the MPC-HC SHOUTcast Source Filter (http://sourceforge.net/apps/trac/mpc-hc/ticket/1562), then MPC-HC's *.m3u and *.pls parsing capabilities, but now I think this could be the reason why streaming has been so miserable for so long.

clsid
28th February 2012, 04:12
That reg tweak is not really a good idea. You should set the source filter for individual file extensions like this:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\http\Extensions]
".ogg"="{B98D13E7-55DB-4385-A33D-09FD1BA26338}"

nevcairiel
28th February 2012, 07:37
Did I miss something? :confused: Good news of course! :)


If someone told me that Shoutcast is just a plain HTTP stream, my answer could've been more precise =p


Btw, is subtitle support for LAV Video Decoder on your to-do-list?
Whereas MPC-HC has an internal subtitle renderer, a lot of other media players do not and you rely on VSFilter or FFDShow.
http://code.google.com/p/lavfilters/issues/detail?id=137

Exactly! I think the issue I described about ogg-files a week ago (http://forum.doom9.org/showthread.php?p=1560106#post1560106)

The issue described there with the half second of missing audio was a bug in the vorbis decoder, which has been corrected in ffmpeg/libav now (not in 0.48, but in the test build i posted yesterday). If all you're seeing is a bit of missing audio, then ffdshow still needs to update their ffmpeg/libav. With anything else, i can't comment without knowing whats wrong. :) LAV doesn't do any extra tricks for Vorbis, so i don't see what could be wrong in LAV Splitter - i would vote for a bug in ffdshow or a missing libav update (or maybe its fixed in ffmpeg, and ffdshow uses libav)

That reg tweak is not really a good idea.
I never said it was a good idea, it was just the fastest way to test http streaming =p

Peekstra
28th February 2012, 08:50
Hi Nev, this file produces a crash in lavvideo with both MPC and Zoomplayer. The crash happens at 16:38.

Some info about the file:

Format/Info : Advanced Video Codec
Format profile : Baseline@L1.3
Format settings, CABAC : No
Format settings, ReFrames : 2 frames
Format settings, GOP : M=1, N=24
Codec ID : avc1
Codec ID/Info : Advanced Video Coding

and lavvideo is set to software decoding (the rest is set to defaults as far as I know).

http://www.mediafire.com/?94s0pu9222v50fy

thanks!

EDIT: I just played the sample with the Microsoft decoder (Win7) and it doesn't crash at that point.

Mangix
28th February 2012, 09:44
does LAV audio support ReplayGain for supported formats?

DragonQ
28th February 2012, 10:50
CUVID cannot handle anything that DXVA2 cannot handle, its the same hardware doing the decoding. There is right now only MPEG4-ASP which is just not implemented in DXVA2 yet.
What about MadVR? I thought it didn't support DXVA2 but did support CUVID? If that's the case, it'd be nice to use DXVA2 with EVR but fall back to CUVID when MadVR is being used.

Also, I've noticed that no mode is ever "active" in the main LAV Video Configuration window when using MediaPortal. I'm guessing it's because you need to do the equivalent of MPC-HC's Play -> Filters -> LAV to see it and MediaPortal doesn't have a way to do this (AFAIK). CUVID and DXVA2 are clearly being used when chosen due to the GPU usage in nVidia Inspector.

somy
28th February 2012, 11:44
It is correctly understood that:
1) In DXVA2 native mode, dithering is not possible and HW deinterlacing is possible in EVR renderer
2) In DXVA2 copy back mode, dithering is possible and HW deinterlacing is not possible in EVR renderer?
Thanks!

aufkrawall
28th February 2012, 12:47
What about MadVR? I thought it didn't support DXVA2 but did support CUVID?

Everything except of native DXVA2 works (CUVID, QuickSync and DXVA2 copy back).

egur
28th February 2012, 12:58
It is correctly understood that:
1) In DXVA2 native mode, dithering is not possible and HW deinterlacing is possible in EVR renderer
2) In DXVA2 copy back mode, dithering is possible and HW deinterlacing is not possible in EVR renderer?
Thanks!

1) Correct
2) EVR will deinterlace any interlaced source (DXVA or not) using HW. HW might need NV12 or YV12 formats to work. Deinterlacing always work in YUV colorspace.

somy
28th February 2012, 13:18
1) Correct
2) EVR will deinterlace any interlaced source (DXVA or not) using HW. HW might need NV12 or YV12 formats to work. Deinterlacing always work in YUV colorspace.

Thanks for the reply!
I'm an ATI user, and the EVR renderer does a pretty bad job converting YUV to RGB. It produces lots of banding due to the lack of proper dithering, so DXVA2 native isn't an option for me. On the other hand, if I let LAVF output RGB, EVR lose the possibility to do hardware deinterlacing as you said.
Is it possible to get both HW deinterlacing and banding-free image with ATI card?

RBG
28th February 2012, 13:32
It'd be really cool though if you made single codecs allocatable to single hardware decoders, maybe somewhen before next christmas. :D

Indeed, it is a very useful feature especially for hybrid systems and something similar is already implemented in PotPlayer, you can choose separate hw decoding api for every video format. It's a pity, that Nevcairiel has no interest in it. :(

wanezhiling
28th February 2012, 13:33
It'll be nice if native dxva2 can fall back to other modes(SW CUVID QS CB) as other pure dxva decoder(mpc-hc,potplayer,MS .etc) fallback to SW when madVR is being used.:)

Currently, "LAV DXVA2(native) + madVR", only get this (http://i.imgur.com/QT58u.png)..sigh..

nevcairiel
28th February 2012, 13:44
DXVA2(native) + madVR falls back to software decoding just fine for me.

Also, i doubt i said i have "no interest" in changing the way the configuration works, its just a complicated process, and right now i have other things to work on. Can't do everything at once. Feel free to submit a patch for review.

kasper93
28th February 2012, 17:10
LAV supports streaming now, so could you check this stream http://antywawamp3-02.eurozet.pl:8600/;stream.nsv ? Works fine with internal mpc-hc shoutcas filter

nevcairiel
28th February 2012, 17:38
LAV supports streaming now, so could you check this stream http://antywawamp3-02.eurozet.pl:8600/;stream.nsv ? Works fine with internal mpc-hc shoutcas filter

Thats not a "normal" HTTP stream, it contains weird format headers from the streaming server. Such things are most likely not supported.
I never claimed to support Shoutcast streaming, its really only meant to play files that sit on a http server. If it works for anything else - great.

kasper93
28th February 2012, 19:09
Ok, I see. Thanks for answer :)

nevcairiel
28th February 2012, 20:56
I distinctly remember some people complaining that they couldn't bitstream DTS-in-WAV.

Could you give this version a try? It works for me, but to be honest i forgot to test before the fix..... :)

http://files.1f0.de/lavf/LAVFilters-0.48-14-g9ce1413.zip

In theory, it should also improve decoding of DTS-in-WAV with the ArcSoft decoder installed.

Surfn
28th February 2012, 21:11
does lav dxva copy back + madvr work for mpeg-2, ive tried and it says available but i cant get it so its active. ati hd5670 and mpc-hc

nevcairiel
28th February 2012, 21:18
does lav dxva copy back + madvr work for mpeg-2, ive tried and it says available but i cant get it so its active. ati hd5670 and mpc-hc

The ATI 5000 series does not really support MPEG-2

Surfn
28th February 2012, 21:25
cheers nev, thanks for clarifying that

fairchild
28th February 2012, 21:50
The ATI 5000 series does not really support MPEG-2

Yeah, you can get MPEG2 GPU decoding working with DXVA2 but with IDCT, and Lav supports VLD decoding.

It's not that big of a deal as most DVD's can get decoded fine with software without too much power draw, but for the few MPEG2 encoded Blu-ray's, I guess it could be useful.

Surfn
28th February 2012, 21:59
dxva copy back + madvr for h.264 videos will be choppy for a few seconds and then freeze my computer. madvr and lav software decode is very smooth.

fairchild
28th February 2012, 22:12
dxva copy back + madvr for h.264 videos will be choppy for a few seconds and then freeze my computer. madvr and lav software decode is very smooth.

Probably your video card or system is not strong enough to both decode + use MadVR.

For instance I can use DXVA2 copy back + MadVR without problems on my HD 5830, but on my HD 5450 I can't and have to use software decoding. Not a big deal.

Surfn
28th February 2012, 22:28
cheers m8, ive a q6600 cpu and a sapphire 5670 passive cooled gpu. sofware decoding is really smooth

VipZ
28th February 2012, 23:05
I distinctly remember some people complaining that they couldn't bitstream DTS-in-WAV.

I am not sure if I am doing something wrong, I cant seem to get DTS-WAV working in both decoding or bitsteaming. I have tried in PotPlayer and MPC with and without .wav being set to LAV Source.

nevcairiel
28th February 2012, 23:11
I am not sure if I am doing something wrong, I cant seem to get DTS-WAV working in both decoding or bitsteaming. I have tried in PotPlayer and MPC with and without .wav being set to LAV Source.

Only works with LAV Splitter + LAV Audio, otherwise it should "just work", assuming file really starts with DTS-in-WAV and not some other garbage that makes it think its not DTS but in fact real WAV

VipZ
28th February 2012, 23:26
I figured the issue, I didn't set LAV Audio as preferred within MPC. Thought it would load automatically, guess I was wrong. This now works for decoding but bitstreaming crashes MPC for me now.

Also regarding HTTP streaming and possibly other protocol's as well in the x64 build still isn't working. When I remove --disable-network \ line from build_ff_x64.sh it works.

Reino
29th February 2012, 00:42
You should set the source filter for individual file extensions like this:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\http\Extensions]
".ogg"="{B98D13E7-55DB-4385-A33D-09FD1BA26338}"As long as "File Source (URL)" is the primary one, that won't work either. With LAV Splitter Source instead, it does kind of work, but far from perfect. It's a pity my code skills fall short here, because otherwise I would've looked for a way to copy Zoom Player's detection method. Although probably fine for http-streaming, for SHOUTcast I believe this is the wrong approach.

Btw, is subtitle support for LAV Video Decoder on your to-do-list?http://code.google.com/p/lavfilters/issues/detail?id=137Good luck with that! At least I know it's on your to-do-list. Thanks.

DTS-in-WAV:
Confirmed, only in WAV and not DTS-in-FLAC/WV/APE/TAK at the moment, or "garbage", as you seem to call it. :p

wanezhiling
29th February 2012, 08:34
Hi nev, http://www.gokuai.com/f/9y389n24xC05h9lf

MainConcept MP4 Demultiplexer + LAV Video Decoder (http://i.imgur.com/abVFL.png), ok.

LAV Splitter(Source) + LAV Video Decoder (http://i.imgur.com/oPWUI.png), failed.

nevcairiel
29th February 2012, 09:20
Another odd DV FourCC, eh.

Peekstra
29th February 2012, 09:30
Hi Nev, have you been able to reproduce the crash with the file I posted (post 9501)? Is there any more info which I can provide? Thanks!

Mercury_22
29th February 2012, 09:37
Problem with H264 i :
When using Native and I start playing the file NOT from the beginning this happens http://imageshack.us/photo/my-images/72/h264ilavnative.png/
But if I do a small seek or use CB or MPC-HC's decoder or when start playing from the beginning it's playing OK

Test_H264i (http://depositfiles.com/files/he4r31cmz)

Alexey1975
29th February 2012, 11:47
That's what I getting, if I try to use any colorspace, (but the RGB) in LAV Video Decoder (CUVID) with DVBViewer (v. 4.9).

http://saveimg.ru/show-image.php?id=0e748b74fc44649dc4cb2652e1f78316
http://saveimg.ru/show-image.php?id=5f71fa8122779c5d37932289a39f4b55

Such things happens with all versions of LAV Video Decoder (CUVID)(and LAV CUVID Decoder), since ForceWare 285.62 and later versions. Until it (eg ForceWare 285.38) all were ok!
Does anyone knows, what's the point here?

GTX560 Ti

Alexey1975
29th February 2012, 12:10
... By the way, with DXVA2(copy-back) the same thing!
But with DXVA2(native) it's ok (but with crappy quality of the image).

Pat357
29th February 2012, 15:14
That's what I getting, if I try to use any colorspace, (but the RGB) in LAV Video Decoder (CUVID) with DVBViewer (v. 4.9).

http://saveimg.ru/show-image.php?id=0e748b74fc44649dc4cb2652e1f78316
http://saveimg.ru/show-image.php?id=5f71fa8122779c5d37932289a39f4b55

Such things happens with all versions of LAV Video Decoder (CUVID)(and LAV CUVID Decoder), since ForceWare 285.62 and later versions. Until it (eg ForceWare 285.38) all were ok!
Does anyone knows, what's the point here?
GTX560 Ti
If it's h264 content, do you have the chance to test it with CoreAVC CUVID or PDVD HAM-mode?
Just to see it's LAV-specific or not...

Alexey1975
29th February 2012, 17:28
If it's h264 content, do you have the chance to test it with CoreAVC CUVID or PDVD HAM-mode?
Just to see it's LAV-specific or not...

So, here is the report:

1. Microsoft DTV-DVD Video Decoder - OK!
2. ArcSoft Video Decoder v. 2.28.480.134 (DXVA2 mode) - OK!
3. CoreAVC 3.0.1. build 8441 (CUDA mode) - FAIL!
(except RGB modes - exactly like LAV Video Decoder)

:( Weird things happening...

DragonQ
29th February 2012, 17:39
I noticed that with LAV 0.48, every hardware decoder is "not available" on my work PC. I assume this because the AMD Radeon HD 3400 is too crap, even with the latest drivers?

nevcairiel
29th February 2012, 17:40
I noticed that with LAV 0.48, every hardware decoder is "not available" on my work PC. I assume this because the AMD Radeon HD 3400 is too crap, even with the latest drivers?

The DXVA2 decoders should show as available on basically all systems that run Vista/7 (if they really end up working is another matter). XP is only supported by CUVID, all the others require Vista/7

Pat357
29th February 2012, 17:52
So, here is the report:

1. Microsoft DTV-DVD Video Decoder - OK!
2. ArcSoft Video Decoder v. 2.28.480.134 (DXVA2 mode) - OK!
3. CoreAVC 3.0.1. build 8441 (CUDA mode) - FAIL!
(except RGB modes - exactly like LAV Video Decoder)

:( Weird things happening...
Strange, I've never got a problem with CUVID on H264 with my GTX-570 : it plays everything even heavy H264 with ref16.
The only limitation is very high bitrate, but that's because the VP4 is too slow and not a limitation from CUVID.

Can you upload a sample too mediafire so I can test it ?

nevcairiel
29th February 2012, 18:05
Problem with H264 i :
When using Native and I start playing the file NOT from the beginning this happens http://imageshack.us/photo/my-images/72/h264ilavnative.png/
But if I do a small seek or use CB or MPC-HC's decoder or when start playing from the beginning it's playing OK

Test_H264i (http://depositfiles.com/files/he4r31cmz)

I cannot reproduce any such issue.
It also doesn't really make sense for one issue to exist for Native but not for CB, the decoding is the same.

Also, you really couldn't pick any slower file host, could you? =)

Mercury_22
29th February 2012, 18:49
I cannot reproduce any such issue.
It also doesn't really make sense for one issue to exist for Native but not for CB, the decoding is the same.

Also, you really couldn't pick any slower file host, could you? =)
With all that had happen' recently in the "file host" business :) I don't know anymore which is fast now cause all are slow for me
So at least for future reference which do you prefer ?:confused:
Also do you want me to reupload the file elsewhere?

nevcairiel
29th February 2012, 18:54
MediaFire is still somewhat decent. Its still slow, but acceptable.

Also, i finished the file already, otherwise i couldn't have commented on it, could it? :d

wanezhiling
29th February 2012, 19:10
nev, is it (http://www.gokuai.com/f/9y389n24xC05h9lf) slow for you?
You know for some reason almost all such sites are not accessible for me...so I pick a chinese one which I think is the fastest one for foreign friends.:o

nevcairiel
29th February 2012, 19:21
nev, is it (http://www.gokuai.com/f/9y389n24xC05h9lf) slow for you?
You know for some reason almost all such sites are not accessible for me...so I pick a chinese one which I think is the fastest one for foreign friends.:o

Its OK, although its all in chinese!
I also added the new FourCCs to LAV Video

wanezhiling
29th February 2012, 19:56
:oI have no choice because of national policy..

http://code.google.com/p/lavfilters/source/detail?r=7e8d7a6f7096757561b50d1febf5ecd735880ad0
:thanks:for your great work.

aufkrawall
29th February 2012, 20:41
MediaFire is still somewhat decent. Its still slow, but acceptable.

You can accelerate it with a download manager.

dansrfe
29th February 2012, 23:10
Is it possible for a Dolby ProLogic II option to be added to LAV Audio? This is primarily the only reason why I still use the ffdshow package because I can rest assured that all audio inputs are downmixed properly to 2.0/2.1 for my speaker setup and it sounds great as well.

Traps
29th February 2012, 23:20
Does anyone else have the problem with .SUP subtitles not displaying at all in fullscreen with LAV Splitter? Using LAV Video decoder and MadVR render with MPC HC, file is mkv with embedded .sup. Subtitles are displayed properly in windowed mode but they dissapear in fullscreen. With Haali splitter the subtitles are shown in fullscreen but they're stretched.

Pat357
1st March 2012, 00:48
I cannot reproduce any such issue.
It also doesn't really make sense for one issue to exist for Native but not for CB, the decoding is the same.

Yeah, but do you remember I reported problems with certain files in CB although they appeared to play perfect in native DXVA ?
Maybe 99.9 % everything is the same, but not 100% identical :p
This because some additional steps or required for one and not for the other.

Also, you really couldn't pick any slower file host, could you? =)
I started the download with 30 kb/s and gave up after 30min.:D
One, word : mediafire !
No waiting and not too slow

Thunderbolt8
1st March 2012, 01:24
if you use those file hosters rather frequently (to download) and can spend a few buck: try real-debrid and alikes

zero9999
1st March 2012, 02:58
Hi Nev,
first of all, thanks for all your work on this awesome filter package. It would be nice if there was support for the MKV cropping parameters (PixelCropBottom/Top/Left/Right), though i am not really sure if this can be easily communicated from the splitter to renderer/decoder (wherever the actual cropping would be done). As of now it works in none of the popular splitters, the only player that supports mkv cropping seems to be (surprisingly) VLC.

nevcairiel
1st March 2012, 07:15
Yeah, but do you remember I reported problems with certain files in CB although they appeared to play perfect in native DXVA ?

But thats the other way around, which makes much more sense to somehow introduce issues. But if native shows issues and CB works, something odd is up!

somy
1st March 2012, 09:45
Hi,

Is YADIF deinterlacing super CPU demanding?
With this option enabled, many HD TV channels get freezing periodically.
I'm running mediaportal with LAVF, and my hardware configuration is Q9300 and ATI HD5770 graphics card.
I tried both software and DXVA2 CB, and they show the same behavior......

Mercury_22
1st March 2012, 10:11
Yeah, but do you remember I reported problems with certain files in CB although they appeared to play perfect in native DXVA ?
Maybe 99.9 % everything is the same, but not 100% identical :p
This because some additional steps or required for one and not for the other.

I started the download with 30 kb/s and gave up after 30min.:D
One, word : mediafire !
No waiting and not too slow

Reuploaded to http://www.mediafire.com/?crk5xs8ckkptc74 :) for those who want to test it
remember to reproduce the problem you have to start playing the file NOT from the beginning using DXVA Native
e.g. In MPC-HC you have to enable "Remember File Position" start playing the file exit MPC-CH and start again

Reith
1st March 2012, 10:59
How do I use the QuickSync hardware decoder?

I have a Z68 motherboard, my CPU is an i5-2500k, my discrete GPU is an AMD Radeon HD 6970, I'm running LAV Filters 0.48 with MPC-HC and madVR on Windows 7 x64. I have the newest Intel HD graphics driver installed and the Lucid Logix Virtu control panel (do I need this thing?) along with the newest CCC drivers. When I try to select QuickSync in LAV Video, it still says "not available." Am I missing something?

I don't really need it, I was just curious to see how well it performs.

Alexey1975
1st March 2012, 11:37
Strange, I've never got a problem with CUVID on H264 with my GTX-570 : it plays everything even heavy H264 with ref16.
The only limitation is very high bitrate, but that's because the VP4 is too slow and not a limitation from CUVID.

So, and I have not had any problems with my GTX560 Ti, before something was changed in the nVidia ForceWare drivers.
nVidia ForceWare 285.62 driver and subsequent versions cause the aforementioned problem. That is, if you use earlier ForceWare (eg 285.38 or previous) – there is no any problem! Everything is OK!

In general, I had some experimenting and got the conclusion:
Thus, the above problem occurs only when watching HDTV with the DVB-card (no matter which software you are using). Play back the HD-content from HDD or etc. – cause no any problem (no matter which video driver is installed).
And that's what I think about it: LAV Video Codec, CoreAVC, etc. is not the cause of the issue.

The fact is (I think) that the new nVidia drivers has increased priority of using system bus resources for graphic card or the requested minimum of system bus bandwidth was increased for graphics. Because of this, with new video card drivers, there is a shortage the capacity of system bus bandwidth for the DVB-card stream. Perhaps there is a conflict video card driver and DVB-card (Omicom S2 rev.3) driver. As a consequence, there is a problem with HD-channels. While SD-channels continued to work more or less fine – for it there is the sufficient resources.
By the way, I'm not the only one in this situation with such a problem.

Anyway, the problem is not in the LAV Video Codec (rather a matter of nVidia driver programmers) – therefore the question is closed for this thread.
Thank you all for your attention.

DragonQ
1st March 2012, 12:31
Hmm that is strange. My HTPC has a GT 430 with the latest drivers and plays back HDTV fine using my BGT3630 (since Nev released that post-0.48 fix for MBAFF issues).

marsovac
1st March 2012, 12:48
I tried and managed to implement the necessary interfaces and use the filters in C#.

However there are small issues with the Filters themselves.

- On blurays the video is choppy (while CPU usage is not high)
- The IMediaSeeking does not support negative rate (playing backwards)

The first is maybe in progress as it is new, but the second is something that should be supported to enable fast forward and backward in players. As it is now without negative rate, there is no much need for a positive rate different than 1 (fast forward without backward does not make sense).
I'll attach a screenshot of what I mean - why positive rate change doesn't help without negative.

http://i1095.photobucket.com/albums/i468/marsinjo/player.jpg

However very nice project you have!
Keep up the good work!

Edit: Adding interfaces for C#, complete with FilterProvider which loads the COM through the ICLassFactory of the *.ax (without registration). Remove the '.txt' extension to make it a c# file.

wanezhiling
1st March 2012, 12:53
:) Did anyone find cuvid decoding not available on win8.

DragonQ
1st March 2012, 13:11
I was gonna try Windows 8 Server tonight but in a virtual machine. I doubt CUVID will work in a virtual machine regardless of the guest OS.

dukey
1st March 2012, 13:52
I tried and managed to implement the necessary interfaces and use the filters in C#.

However there are small issues with the Filters themselves.

- On blurays the video is choppy (while CPU usage is not high)
- The IMediaSeeking does not support negative rate (playing backwards)

The first is maybe in progress as it is new, but the second is something that should be supported to enable fast forward and backward in players. As it is now without negative rate, there is no much need for a positive rate different than 1 (fast forward without backward does not make sense).
I'll attach a screenshot of what I mean - why positive rate change doesn't help without negative.

http://i1095.photobucket.com/albums/i468/marsinjo/player.jpg

However very nice project you have!
Keep up the good work!

Edit: Adding interfaces for C#, complete with FilterProvider which loads the COM through the ICLassFactory of the *.ax (without registration). Remove the '.txt' extension to make it a c# file.

you'll find very few decoders will support a negative rate. You can play backwards on mpeg2/dvd under Vista/7 but not XP.

nevcairiel
1st March 2012, 14:08
Reverse playback of files is really not possible, because the codecs are not meant to decode backwards. The DVD Navigator implements this by decoding parts of the file in forward, and then playing the images in reverse, but thats not a concept a general purpose decoder can adopt. So no, will not happen.

Blu-rays also play just fine for me. "xxx playback is choppy" really doesn't contain any useful information though, you should specify with which source filter, which player, which decoder in LAV is active, which renderer, OS, hardware, which codecs in the file, etc...

italospain
1st March 2012, 16:31
Reverse playback of files is really not possible, because the codecs are not meant to decode backwards. The DVD Navigator implements this by decoding parts of the file in forward, and then playing the images in reverse, but thats not a concept a general purpose decoder can adopt. So no, will not happen.


would it be possible though the renderer (madVR) ?

i am missing this feature too.

it would be so cool.

marsovac
1st March 2012, 18:02
you'll find very few decoders will support a negative rate. You can play backwards on mpeg2/dvd under Vista/7 but not XP.

That's too bad...

Is there some way to simulate that that would not be ugly and error prone?

I am targeting onyl vista+ because i have a custom EVR presenter.

And the player uses only LAV with a custom built graph SplitterSource + Video + Audio + EVR.
(I'm not registering the COMs (using PInvoke to get IClassFactory and create the filters, so I'm not able to give you a screenshot of the graph in graphstudio, but believe it is only LAV since I'm programmatically connecting the Pins)

Edit:
Today It is working a bit better (seems almost fluent), so maybe it has something to do with the kernel/driver load.

More info about decoder etc...

About the video that goes a little faster a little slower (just a bit choppy, not very fluent):

General
ID : 0 (0x0)
Complete name : F:\BDMV\STREAM\00000.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 11.3 GiB
Duration : 42mn 45s
Overall bit rate : 37.9 Mbps
Maximum Overall bit rate : 48.0 Mbps

Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : MPEG Video
Format version : Version 2
Format profile : Main@High
Format settings, BVOP : Yes
Format settings, Matrix : Default
Format settings, GOP : M=3, N=12
Codec ID : 2
Duration : 42mn 34s
Bit rate mode : Variable
Bit rate : 32.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.644
Stream size : 9.96 GiB (88%)

Audio #1
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : 129
Duration : 42mn 44s
Bit rate mode : Constant
Bit rate : 640 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 196 MiB (2%)

Audio #2
ID : 4353 (0x1101)
Menu ID : 1 (0x1)
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA / Core
Muxing mode : Stream extension
Codec ID : 134
Duration : 42mn 43s
Bit rate mode : Variable
Bit rate : 1 576 Kbps / 1 510 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 96.0 KHz / 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossless / Lossy

Audio #3
ID : 4354 (0x1102)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : 129
Duration : 42mn 44s
Bit rate mode : Constant
Bit rate : 640 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 196 MiB (2%)

Text #1
ID : 4608 (0x1200)
Menu ID : 1 (0x1)
Format : PGS
Codec ID : 144

Text #2
ID : 4609 (0x1201)
Menu ID : 1 (0x1)
Format : PGS
Codec ID : 144

Text #3
ID : 4610 (0x1202)
Menu ID : 1 (0x1)
Format : PGS
Codec ID : 144

mastan
1st March 2012, 21:15
How do I use the QuickSync hardware decoder?

I have a Z68 motherboard, my CPU is an i5-2500k, my discrete GPU is an AMD Radeon HD 6970, I'm running LAV Filters 0.48 with MPC-HC and madVR on Windows 7 x64. I have the newest Intel HD graphics driver installed and the Lucid Logix Virtu control panel (do I need this thing?) along with the newest CCC drivers. When I try to select QuickSync in LAV Video, it still says "not available." Am I missing something?

I don't really need it, I was just curious to see how well it performs.

Which output your monitor is plugged to? If AMD's, force video player to use Intel in Virtu cp.
Also you should use latest graphics drivers from Intel site, not from windows update or mb manufacturer.

CruNcher
1st March 2012, 21:22
would it be possible though the renderer (madVR) ?

i am missing this feature too.

it would be so cool.


as nev said it's possible todo clever workarounds like ISVs use them in their frameworks but cool isn't usable for everyone and it takes time to implement such things which could be efficiently spend on other stuff like stability and support which are the key areas where no ISV can holdup with currently, though the source is open for a reason ;)

marsovac
1st March 2012, 23:15
as nev said it's possible todo clever workarounds like ISVs use them in their frameworks but cool isn't usable for everyone and it takes time to implement such things which could be efficiently spend on other stuff like stability and support which are the key areas where no ISV can holdup with currently, though the source is open for a reason ;)

Do you have tips on how that can be done. What to read and where to find general information to teach myself. I'm not deep into this stuff, so I don't know where to start. I have knowledge of C++ and COM programming but lack the specific knowledge.

Reith
2nd March 2012, 00:42
Which output your monitor is plugged to? If AMD's, force video player to use Intel in Virtu cp.
Also you should use latest graphics drivers from Intel site, not from windows update or mb manufacturer.
Yeah, my monitor is plugged into the AMD card.

How do I force the video player to use the Intel one? All I see in the Virtu control panel is an applications list. No way to do anything special with them after I add them. madVR said it failed to create a Direct3D device when I added MPC-HC to it.

Also, I did get the Intel drivers directly from their site.

mastan
2nd March 2012, 06:47
Yeah, my monitor is plugged into the AMD card.

How do I force the video player to use the Intel one? All I see in the Virtu control panel is an applications list. No way to do anything special with them after I add them. madVR said it failed to create a Direct3D device when I added MPC-HC to it.
Try some quick sync transcoding application instead to see if QS works at all, add it to application list in Virtu cp too.

It is possible that you can transcode videos using QS, but can't use it in player, since the latter one needs to output video to another video card.

6233638
2nd March 2012, 13:14
I can't seem to seek some .caf files when opened with LAV Splitter:

Sample (http://www.mediafire.com/?de0jga23yk04qez)

SamuriHL
2nd March 2012, 14:02
Hey, Nev, your code builds and runs on w8 cp quite nicely. :) I had to clean install my laptop which meant rebuilding my dev env. No problems at all.

Sent from my Xoom using Tapatalk

Xaurus
2nd March 2012, 14:41
nevcairiel or anyone else,

Why is lav splitter reporting a frame rate of 24.000 to madvr (CTRL+J) when mediainfo says it's 25.000 for this file?
Sample (http://home.halden.net/mordor/test_fps.zip).

nevcairiel
2nd March 2012, 15:25
nevcairiel or anyone else,

Why is lav splitter reporting a frame rate of 24.000 to madvr (CTRL+J) when mediainfo says it's 25.000 for this file?
Sample (http://home.halden.net/mordor/test_fps.zip).

Thats quite simple. The video stream thinks its 24 fps, and the matroska info claims its 25 fps - with one problem, Matroska doesn't actually contain a "FPS" info, its just a guess based on some other informations. A guess LAV does not trust, so it uses the information the video stream provides.
We've been over this before, thats just the way it works, and will remain to work.

Xaurus
2nd March 2012, 16:00
Thats quite simple. The video stream thinks its 24 fps, and the matroska info claims its 25 fps - with one problem, Matroska doesn't actually contain a "FPS" info, its just a guess based on some other informations. A guess LAV does not trust, so it uses the information the video stream provides.
We've been over this before, thats just the way it works, and will remain to work.
Okay, so you are saying that LAV is correct and that the stream is actually 24 fps.

This clip is unwatchable with my 23.976xx refresh rate setup (lots of dropped frames), but it's definitely watchable in 50.000xx fps. And with Nvidia I can't create a pure 24.000 resolution because it simply says that the resolution already exists (my 23.976 resolution).

Thanks.

nevcairiel
2nd March 2012, 16:02
Okay, so you are saying that LAV is correct and that the stream is actually 24 fps.

No, the stream is 25 fps.
All i'm saying is that LAV is behaving correctly, the file is just not 100% correct.

wanezhiling
2nd March 2012, 17:15
http://www.gokuai.com/f/wJ76h8iO3VHH0Bd6
nev, LAV Splitter(Source) failed.

nevcairiel
2nd March 2012, 17:39
http://www.gokuai.com/f/wJ76h8iO3VHH0Bd6
nev, LAV Splitter(Source) failed.

The file seems broken.
When i open it with Haali, it outputs 0 streams

pururin
2nd March 2012, 17:49
May I ask something regarding audio output, is converting between different audio bitdepths a lossy conversion at any case?

when up-convert, like 16->24 bit, is it some complex math recalculation (lossy)
or just adding zero bits, which is a lossless operation, like reclock does (it does says "bit exact" when 16->24 whilst 24->16 doesn't, am I correct that this means lossless?).

I don't know about converting to (32 bit)floating point though.

OTOH when down-convert, is it doing any dithering(+noise shaping maybe) or just simple rounding / truncating? (lossy anyway but differ in quality)

. . .
Is it a good idea to disable 16-bit int output, or even force 32-bit fp only, when connecting to ffdshow to do few post-processing like regain volume and mixer?
So that maybe it can help ffdshow to produce more accurate rounding by processing at higher bitdepth level, especially if it up-convert losslessy. ->> Is this worth doing?

Or is this totally irrelevent as ffdshow will up-converts by itself automatically when feels the need? :o
(a little question, is ffdshow converting quality about the same as LAV? They doing it quite the same way?)


BTW, this has been bugged me for a while, does swap channel filter doing any processing to the soundwave?
From what I understand it should be just remapping channels hence no need any pre-convert aforementioned.

Any advice/speculation is appreciated. Thanks!

wanezhiling
2nd March 2012, 17:51
The file seems broken.
When i open it with Haali, it outputs 0 streams
Thanks for reply.

Did you try MPC-HC, it seemed ok.:)

nevcairiel
2nd March 2012, 17:53
May I ask something regarding audio output, is converting between different audio bitdepths a lossy conversion at any case?

when up-convert, like 16->24 bit, is it some complex math recalculation (lossy)
or just adding zero bits, which is a lossless operation, like reclock does (it does says "bit exact" when 16->24 whilst 24->16 doesn't, am I correct that this means lossless?).

I don't know about converting to (32 bit)floating point though.

OTOH when down-convert, is it doing any dithering(+noise shaping maybe) or just simple rounding / truncating? (lossy anyway but differ in quality)



16->24 is just adding zeros.
24->16 in LAV is just a truncation. Its not meant to be high quality, its just a fallback operation in case its the only way you can get audio.

Anyway, i would suggest to just leave all formats activated in LAV, that way you avoid any unnecessary conversions. If ffdshow needs some converion, it should do it on its own.

oddball
2nd March 2012, 18:13
I have discovered a bug in LAV Audio decoder when decoding DTS that is encoded at 44.1Khz instead of 48Khz. I have a few audio DTS files that are like that and I mux them into MKV containers so I can play them back on my receiver. Now with LAV Audio filter it sends it out as bitstream audio and the light goes blue on my receiver indicating it is decoding DTS. However LAV seems to be upsampling it somehow to 48Khz. This results in everything being speeded up (squeaky voices etc). If I use ffdshow's inbuilt DTS passthru the receiever lights up blue and plays it at the correct pitch. Any idea why LAV Audio filter is speeding it up? I can only assume it's not actually bitstreaming but reencoding the audio 'on-the-fly' as surely this would not be possible if it was just passing through the bitstream signal?

pururin
2nd March 2012, 18:25
16->24 is just adding zeros.
24->16 in LAV is just a truncation. Its not meant to be high quality, its just a fallback operation in case its the only way you can get audio.

Anyway, i would suggest to just leave all formats activated in LAV, that way you avoid any unnecessary conversions. If ffdshow needs some converion, it should do it on its own.Thanks for the fast reply!

About this point. So 16->32 is adding (16 more) zeroes too? Am I correct this method is lossless?
I agree with the suggestion, though I'm not so sure whether ffdshow is trustable at these stuffs. :p

nevcairiel
2nd March 2012, 18:32
Thanks for reply.

Did you try MPC-HC, it seemed ok.:)

I made it ignore the problem in the file now, so the file may or may not work, its really just luck! :)

I have discovered a bug in LAV Audio decoder when decoding DTS that is encoded at 44.1Khz instead of 48Khz. I have a few audio DTS files that are like that and I mux them into MKV containers so I can play them back on my receiver. Now with LAV Audio filter it sends it out as bitstream audio and the light goes blue on my receiver indicating it is decoding DTS. However LAV seems to be upsampling it somehow to 48Khz. This results in everything being speeded up (squeaky voices etc). If I use ffdshow's inbuilt DTS passthru the receiever lights up blue and plays it at the correct pitch. Any idea why LAV Audio filter is speeding it up? I can only assume it's not actually bitstreaming but reencoding the audio 'on-the-fly' as surely this would not be possible if it was just passing through the bitstream signal?

Its not possible to reencode the audio on the fly because there is no DTS encoder.
Also, what makes you think i would ever code something to do that? o.O

You can do two things.
1) Try with this version: http://files.1f0.de/lavf/LAVFilters-0.48-14-g9ce1413.zip
2) If 1 doesn't help, give me a sample of such a file.

oddball
2nd March 2012, 18:47
That version just causes MPC-HC to crash. I've reinstalled .48 for now which works apart from the audio speedup issue. I will try and upload a test file for you to see. You need to have a DTS receiver though to hear this happening. Switching between LAV Audio and ffdshows DTS passthru should reveal it hopefully to you. If it plays at the same speed on both of those for you I really don't know what the issue is. The receiver lights up blue for DTS but one is higher pitched than the other which you would think is impossible yet it is happening here.

Pinout info just in case.
Input.
Filter : LAV Audio Decoder - CLSID : {E8E73B6B-4CB3-44A4-BE99-4F7BCB96E491}

- Connected to:

CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
Filter: LAV Splitter Source
Pin: Audio

- Connection media type:

Audio: DTS 44100Hz 6ch 1411kbps

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

WAVEFORMATEX:
wFormatTag: 0x2001
nChannels: 6
nSamplesPerSec: 44100
nAvgBytesPerSec: 176400
nBlockAlign: 12
wBitsPerSample: 16
cbSize: 0 (extra bytes)

pbFormat:
0000: 01 20 06 00 44 ac 00 00 10 b1 02 00 0c 00 10 00 . ..D¬...±......
0010: 00 00 ..


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

- Connected to:

CLSID: {18C16B08-6497-420E-AD14-22D21C2CEAB7}
Filter: Audio Switcher
Pin: Audio

- Connection media type:

Audio: 0x0092 48000Hz stereo 1536kbps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_PCM {00000001-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 18

WAVEFORMATEX:
wFormatTag: 0x0092
nChannels: 2
nSamplesPerSec: 48000
nAvgBytesPerSec: 192000
nBlockAlign: 4
wBitsPerSample: 16
cbSize: 0 (extra bytes)

pbFormat:
0000: 92 00 02 00 80 bb 00 00 00 ee 02 00 04 00 10 00 ’...€»...î......
0010: 00 00 ..

- Enumerated media type 0:

Set as the current media type



LAV Audio reports 44100 6 channel bitstreaming

Testfile.

http://www.mediafire.com/?2hc0vofdkmso2mp

wanezhiling
2nd March 2012, 18:47
I made it ignore the problem in the file now, so the file may or may not work, its really just luck! :)



https://code.google.com/p/lavfilters/source/detail?r=be067e7ebf0e9aac7d1301fea0ada9e9e84f3972
:)

oddball
2nd March 2012, 19:24
OK this is weird. If I turn off SPDIF bitstreaming and just let LAV Audio decode to 6 analog channels it plays at the correct pitch/speed. But if I tick the DTS bitstreaming so the receiver lights up blue it plays back speeded up. Using ffdshow DTS passthru it also lights up but plays correctly. Please note I have nothing in the MPC-HC chain like ReClock etc it's stripped down to bare LAV Audio and ffdshow audio as external filters. Everything else is pretty much defaults.

So what the heck is going on? I'm going to try my external soundcards SPDIF output and see if it plays any different. Strangely if I run SPDIF test it says my motherboards soundcard (Asus P5Q Deluxe with SoundMax ADI chipset) does not support DirectSound SPDIF. Even though it does work for most everything I have played through it.

Nope! Same issue on a totally different soundcard. I am now going to grab another player that supports LAV and try it just in case it's MPC doing something weird.

nevcairiel
2nd March 2012, 19:26
That version just causes MPC-HC to crash. I've reinstalled .48 for now which works apart from the audio speedup issue. I will try and upload a test file for you to see. You need to have a DTS receiver though to hear this happening. Switching between LAV Audio and ffdshows DTS passthru should reveal it hopefully to you. If it plays at the same speed on both of those for you I really don't know what the issue is. The receiver lights up blue for DTS but one is higher pitched than the other which you would think is impossible yet it is happening here.

You know whats funny, if i try to bitstream that with ffdshow, i don't get any audio at all and LAV sounds fine.
Just from the definition of how bitstreaming works, it either works or it doesn't, you really don't communicate any extra information over the link that specify sample rate or whatnot.

The sample rate is encoded in the bitstream, in the DTS headers. It really doesn't make any sense to output anything else.
It somehow sounds like your receiver is doing something odd, and ffdshow somehow does the same oddity. Since i cannot get ffdshow to successfully bitstream on that sample for me at all, it surely isn't working 100% correctly either. ;)



So what the heck is going on? I'm going to try my external soundcards SPDIF output and see if it plays any different. Strangely if I run SPDIF test it says my motherboards soundcard (Asus P5Q Deluxe with SoundMax ADI chipset) does not support DirectSound SPDIF. Even though it does work for most everything I have played through it.
What have you been playing it through, if not your soundcards SPDIF? o.o

Anyway, the player has no influence on this (as long as it doesn't do something incredibly stupid). You can try switching audio renderers, in MPC-HC switch between DirectSound renderer and the "normal" renderer, maybe it makes some difference.

oddball
2nd March 2012, 19:55
Have you checked you can get DTS passthru with ffdshow with normal movies? Anyhow I play it through SPDIF for DTS audio but I run multi-channel analog out for PAL speed down via ReClock. I can't understand why ffdshow plays DTS passthru for audio these files fine and LAV Audio doesn't. It's all a bit peculiar.

VipZ
2nd March 2012, 20:11
Testfile.

http://www.mediafire.com/?2hc0vofdkmso2mp

Regarding this file, normally I use use DTS-HD framing for all my DTS bitstreaming so that I get DTS-ES etc. I have noticed bitstreaming fails when this option is enabled but works when disabled.

Not sure how this relates to your issue though.

Nev, maybe DTS-HD framing should never be used even if ticked with 44.1khz DTS?

oddball
2nd March 2012, 20:28
That option has no effect on my issue just in case you are thinking it. Anyhow I am just going to continue using ffdshow to decode audio for now since it works for everything I throw at it. Plus it bypasses bitsreaming for AAC etc which allows me to use ReClock automagically for that type of content. I only posted this info in passing really to help you bugfix. But it might just be something odd with my setup.

marsovac
2nd March 2012, 21:57
Hi guys. Since I'm unable to find people to test a player I'm working on I thought that somebody from the forum would be willing to give it a check.

I'm not seeking for SQA, just some basic functionality check on different machines and OSes.

download player x86 (zip 6.31MB) (http://www.megafileupload.com/en/file/342967/MediaPoint-x86-zip.html)

download player x64 (zip 6.61MB) (http://www.megafileupload.com/en/file/342968/MediaPoint-x64-zip.html)

The requirements should be:
- .NET 3.5 (probably SP1)
- CRT runtime (VCredist 2010) (will add in future versions)

So please let me know which configuration fail to play a video file or even open the player.

The player is based on LAV Filters and does nothing to your registry (no COM registration and uses LAV with SetRuntime(true)).

Please do not report bugs or performance issues. This is just a proof of concept with fast written code to get the functionality and a debug build.

I'm only interested if it plays as a portable player without installing any filters on the machine. - and especially in which configurations it doesn't.

Thanks!

upv
3rd March 2012, 00:44
Does not work NVIDIA CUVID on Windows 8 CP

Pat357
3rd March 2012, 00:55
The file seems broken.
When i open it with Haali, it outputs 0 streams
I know it looks broken because the small file size, but it is not broken...
It plays fine with MPC-HC build in splitter + LAV video + Lav-audio.
It seems LAV-splitter stalls at the start.

Dam.. I must read faster..:D

Anyway FFplay plays this file without displaying any errors.
Maybe the FFMpeg guys fixed this already and we have to wait, or they came up with the same solution as you did.:D

SamuriHL
3rd March 2012, 01:13
Does not work NVIDIA CUVID on Windows 8 CP

nVidia will have to release a W8 CP driver. AMD already did. :D

dansrfe
3rd March 2012, 01:14
Are there any mixer options in LAV Audio such as a prologic downmix?

husmoaschta
3rd March 2012, 02:12
nVidia will have to release a W8 CP driver. AMD already did. :D

one week old:
http://www.geforce.com/Drivers/Results/41694

SamuriHL
3rd March 2012, 03:13
one week old:
http://www.geforce.com/Drivers/Results/41694

Nice. And do they work with CUDA? I would assume they must.

Mangix
3rd March 2012, 04:25
i was watching a .trp file (MPEG2 audio and video) and i got this error when seeking.

http://postimage.org/image/szchgtdzv/

nevcairiel
3rd March 2012, 07:46
I know it looks broken because the small file size, but it is not broken...

Yes it is broken.
The fact that everyone else just ignores the problem in the file doesn't make it go away. :p

e-t172
3rd March 2012, 08:50
About this point. So 16->32 is adding (16 more) zeroes too? Am I correct this method is lossless?

If you're talking about 32-bit IEEE float, converting to floating point is much more complicated than adding zeroes. However, if done correctly, 24 bit → 32 bit FP → 24 bit is lossless (bit-perfect). Of course most software will probably dither when converting back to integer, so it won't be bit-perfect, but the difference is absolutely negligible.

husmoaschta
3rd March 2012, 10:10
Nice. And do they work with CUDA? I would assume they must.

No clue. Trying to get sorted out the last issues with AMD and Win7 for the moment. Win8 is planned for next life ...

red5goahead
3rd March 2012, 11:16
Two questions:

1) Is there any possibility to have a simplified way to setup any parameter of a lav video, audio or splitter filter by code? I know there are interfaces for C in the documentation but fo example I would it with Delphi interfaces.

2) Is there any possibility to have a basic upscaling feature directly into the lav codec video?

:thanks:

ranpha
3rd March 2012, 12:37
A question, if the VC-1 format is unchecked in the 'Format' tab of LAV Video Decoder, will it also disable the VC-1 hardware acceleration features in DXVA/CUVID mode?

nevcairiel
3rd March 2012, 12:46
A question, if the VC-1 format is unchecked in the 'Format' tab of LAV Video Decoder, will it also disable the VC-1 hardware acceleration features in DXVA/CUVID mode?

If the format is unchecked, LAV will refuse any connection to a VC-1 movie.
I always wanted to try to build a "Only Hardware" kind of function, but its not as easy as it sounds.

pururin
3rd March 2012, 13:46
If the format is unchecked, LAV will refuse any connection to a VC-1 movie.
I always wanted to try to build a "Only Hardware" kind of function, but its not as easy as it sounds.
I heard that microsoft decoder is still faster at VC-1.
But not in case of lav HW accelerated VC-1 decoding?

pururin
3rd March 2012, 14:20
If you're talking about 32-bit IEEE float, converting to floating point is much more complicated than adding zeroes. However, if done correctly, 24 bit → 32 bit FP → 24 bit is lossless (bit-perfect). Of course most software will probably dither when converting back to integer, so it won't be bit-perfect, but the difference is absolutely negligible.

Oh, that's interesting. Isn't more complicate= more lossy? I have no idea about converting to float :confused:

How can I achieve that btw? Now I connect to ffdshow processor, does it do correctly going forth and back like u said?

nevcairiel
3rd March 2012, 14:42
Oh, that's interesting. Isn't more complicate= more lossy? I have no idea about converting to float :confused:

Float isn't all that complicated, but its more then just a shift.
16-bit Integer is defined as 32767 to -32768. Float is defined as 1.0 to -1.0

To Convert from int to float, this is done: (16-bit int as example)
float = int / 32768

16-bit and 24-bit Integer can be stored in float without losing any data.

e-t172
3rd March 2012, 15:38
How can I achieve that btw? Now I connect to ffdshow processor, does it do correctly going forth and back like u said?

The way I do it is this: everything works in 32-bit float in the entire chain until the very last step. This means I use ffdshow/LAV in 32-bit float mode only, same for Reclock, and output everything to DirectSound as 32-bit float. Then the Windows audio engine takes over (still in 32-bit float), does the necessary mixing and other adjustments, and finally dithers to 24-bit integer and sends the result to my sound card.

Using this configuration, there is *never* any conversion of audio sample format, except the necessary integer conversion at the sound card output stage.

nevcairiel
3rd March 2012, 15:52
Using this configuration, there is *never* any conversion of audio sample format, except the necessary integer conversion at the sound card output stage.

And the conversion to float at some point, at least for lossless codecs like TrueHD or FLAC that output integer.... :)

e-t172
3rd March 2012, 16:30
Yeah, but it's a int → float conversion, which should be lossless. Most float → int conversions aren't due to dithering.

pururin
3rd March 2012, 17:23
Float isn't all that complicated, but its more then just a shift.
16-bit Integer is defined as 32767 to -32768. Float is defined as 1.0 to -1.0

To Convert from int to float, this is done: (16-bit int as example)
float = int / 32768

16-bit and 24-bit Integer can be stored in float without losing any data.
I see. That's a lot easier than I thought. Thx nev!
But If you may(and boring enough atm)... What about 32-bit integer?
- - - - -

So it's *perfectly* fine to convert 16/24 bit integer to 32 float (lossless), but the downside is when down-converting back to integer, as most DACs accept 24 bit int.

What's the easy way and the hard-better way to get it back to integer?
no-dithering, some dithering, complex-dithering ?

From what I've observed, both LAV and ffdshow seem like don't consume cpu at all (sure it did, but show as 0 all the time)
when converting between formats whether float or int.

So I guess dithering isn't that hard or consumable.
Or there's no dithering apply? :eek: What it really does actually then?


The way I do it is this: everything works in 32-bit float... Then the Windows audio engine takes over... and finally dithers to 24-bit integer and sends the result to my sound card.


Thx mate :cool: This way the Windows mixer dithering it and everything include digital volume leveling.

But what about WASAPI exclusive mode like when using Reclock? Quite a number of people prefer bypassing the Windows mixer.
So in this case.. will have to trust Reclock in how it does the float → int conversion I guess.

Btw do you know whether DACs can do volume adjustment at hardware? Is there such a way?

iron2000
3rd March 2012, 17:56
Strange, I get 'Available' instead of 'Active' when watch most of the H264 mkv files.
Is it because I'm using Haali Media Splitter?
H264 is checked for HW decoding.

DragonQ
3rd March 2012, 19:24
Mine always says "available" in the main configuration window. If you're using MPC-HC, you have to go to Play -> Filters -> LAV Video Decoder to see the configuration window with one of the decoders "active".

nevcairiel
3rd March 2012, 19:42
So here i was, thinking about the VC-1 troubles with hardware decoders and the complexity in remembering to enable the decoder to utilize it.
A solution that only uses Hardware and never software was the first idea, but it doesn't really work all that well, with some decoders we just don't know early enough if the hardware can decode it.

Second idea, just implement a decoder based on Microsofts WMV DMO.
You know, this was much easier then i expected.

http://files.1f0.de/lavf/LAVFilters-0.48-26-gb6411b9.zip

- VC-1 decoding is now enabled by default, and uses the MS WMV9 DMO decoder
- You can turn the DMO decoder off on the "Formats" property page in case you want the ffmpeg decoder (new option at the bottom)

I did a quick benchmark on a 1080p VC-1 file (progressive):
- ffmpeg did around 68 fps
- MS DMO does 101 fps

So, its faster, it can decode interlaced content, sounds like a win-win. :)
This is the same decoder ffdshow uses when you select "WMV9", however its a completely separate implementation. Cleaner and more complete. :)

I appreciate any testing you can do. I'm sure there is still some issues in it.

The next question is, how do i enable it by default for everyone, considering the registry already contains the "off" setting from previous installs <.<

DragonQ
3rd March 2012, 19:47
Surely the installer can set the default to on for anyone using the installer to upgrade. Can't really help with testing this as I only have a few VC-1 files and none are interlaced.

fastplayer
3rd March 2012, 19:58
The next question is, how do i enable it by default for everyone, considering the registry already contains the "off" setting from previous installs <.<
This only applies to people that have already made changes in LAV, right? I'm pretty sure they can figure it out for themselves.

kalston
3rd March 2012, 20:08
But what about WASAPI exclusive mode like when using Reclock? Quite a number of people prefer bypassing the Windows mixer.
So in this case.. will have to trust Reclock in how it does the float → int conversion I guess.


Yes, nothing wrong with having Reclock do the float to int conversion.

nevcairiel
3rd March 2012, 20:13
This only applies to people that have already made changes in LAV, right? I'm pretty sure they can figure it out for themselves.

Anyone that ever did any change in the config, yes. Thats when it writes the settings.

e-t172
3rd March 2012, 20:27
So it's *perfectly* fine to convert 16/24 bit integer to 32 float (lossless), but the downside is when down-converting back to integer, as most DACs accept 24 bit int.

What's the easy way and the hard-better way to get it back to integer?
no-dithering, some dithering, complex-dithering ?

From what I've observed, both LAV and ffdshow seem like don't consume cpu at all (sure it did, but show as 0 all the time)
when converting between formats whether float or int.

So I guess dithering isn't that hard or consumable.
Or there's no dithering apply? :eek: What it really does actually then?

If by "hard" you mean "CPU-hungry", then you're right: nowadays, we have CPUs which can do that (and plenty other audio effects) in their sleep. Dithering a simple audio stream can be done so fast that it will probably not even be visible on the task manager. It's basically a non-issue.

madshi
3rd March 2012, 20:48
Second idea, just implement a decoder based on Microsofts WMV DMO.
You know, this was much easier then i expected.
Nice! May I suggest adding the following code (copy & paste from madVR):

// tell the MS VC-1 decoder to *not* deinterlace
HKEY hk1;
if (SUCCEEDED(RegOpenKeyExW(HKEY_CURRENT_USER, L"Software\\Microsoft\\Scrunch", 0, KEY_ALL_ACCESS, &hk1)))
{
if (RegQueryValueExW(hk1, L"Deinterlace.old", NULL, NULL, NULL, NULL) != ERROR_SUCCESS)
{
DWORD value = 1;
DWORD size = 4;
if (RegQueryValueExW(hk1, L"Deinterlace", NULL, NULL, (LPBYTE) &value, &size) == ERROR_SUCCESS)
RegSetValueExW(hk1, L"Deinterlace.old", 0, REG_DWORD, (LPBYTE) &value, 4);
value = 0;
RegSetValueExW(hk1, L"Deinterlace", 0, REG_DWORD, (LPBYTE) &value, 4);
}
RegCloseKey(hk1);
}
It's needed (at least on XP, not sure about win7) to make sure that the MS VC-1 decoder does not apply some stupid butt ugly and very slow field blended "deinterlacing" for interlaced material.

cengizhan
3rd March 2012, 20:49
nevcairiel,

You could make an exception for next version and reset wmv decoding to on with 0.49.

nevcairiel
3rd March 2012, 20:52
It's needed (at least on XP, not sure about win7) to make sure that the MS VC-1 decoder does not apply some stupid butt ugly and very slow field blended "deinterlacing" for interlaced material.

Are you sure that this doesn't only affect the DMO Wrapper filter that gets loaded by DirectShow?
At least on my Win7, the DMO that i load directly doesn't do any deinterlacing, and outputs interlaced flags and everything.

The DMO even has a property to programmatically enable/disable deinterlacing. I can try to enable that and see if something happens, and force that value to off.
( http://msdn.microsoft.com/en-us/library/windows/desktop/ff819311(v=vs.85).aspx )

Maybe you can test it on XP? :) I have no such system anymore.

Edit:
I enabled the property on the DMO, and boy is that ugly. :D
I would've noticed that before. ;)

I kept the code and force the setting to 0, but thats what it seemed to default to for me too.

madshi
3rd March 2012, 21:11
Are you sure that this doesn't only affect the DMO Wrapper filter that gets loaded by DirectShow?
At least on my Win7, the DMO that i load directly doesn't do any deinterlacing, and outputs interlaced flags and everything.

The DMO even has a property to programmatically enable/disable deinterlacing. I can try to enable that and see if something happens, and force that value to off.
( http://msdn.microsoft.com/en-us/library/windows/desktop/ff819311(v=vs.85).aspx )

Maybe you can test it on XP? :) I have no such system anymore.

Edit:
I enabled the property on the DMO, and boy is that ugly. :D
I would've noticed that before. ;)

I kept the code and force the setting to 0, but thats what it seemed to default to for me too.
I've just tested your beta build on XP and the registry value does affect your decoder implemention, too. If you want, you can upload another beta build with that DMO deinterlacing property set "off". If that works we can forget about the registry hack.

Edit: And in XP the ugly deinterlacing in *ON* by default (!!).

DragonQ
3rd March 2012, 21:18
With YADIF enabled in LAV you should see "50.000 fps (says source filter)" [in MadVR]. If you don't then you need to talk to nevcairiel.
I see 25.000 fps. :p

Minor cosmetic bug since it's definitely 50 fps.

nevcairiel
3rd March 2012, 21:21
I see 25.000 fps. :p

Minor cosmetic bug since it's definitely 50 fps.

Since most screens run at 50Hz and not 25Hz anyway, thats really just cosmetic, and fixing it would be somewhat annoying.

nevcairiel
3rd March 2012, 21:22
I've just tested your beta build on XP and the registry value does affect your decoder implemention, too. If you want, you can upload another beta build with that DMO deinterlacing property set "off". If that works we can forget about the registry hack.

Edit: And in XP the ugly deinterlacing in *ON* by default (!!).

Try this:
http://files.1f0.de/lavf/LAVVideo-0.48-28-g2b854b9.zip

Put ontop of the previous test version.

King Kong
3rd March 2012, 21:24
I've just a little question out of curiosity: if I mostly handle around with 1080p MKVs (AVC & VC-1) in conjunction w/ i7-2600K & AMD Radeon HD 6950 2GB should I regularly use the Software decoding mode still on or would it be better to switch to DXVA?

Regarding to a quick stress test with "Avatar" (by James Cameron) I hardly recognize any substantial increase neither in Software decoding mode nor in DXVA mode - it's always fluent in both so I'm thinking to leave it as it is (Software decoing mode) or will my electricity bill decrease if I decide to DXVA?

Well, the only drawback I've encountered so far: a test file of "Avatar" and "Devil May Cry" w/ 60 FPS plays smooth with Software decoding mode and stutters/unwatchable with DXVA.

What do you suggest to be best for my rig?
Thanks in advance!

madshi
3rd March 2012, 21:32
Since most screens run at 50Hz and not 25Hz anyway, thats really just cosmetic, and fixing it would be somewhat annoying.
It's not just cosmetic. There are some screens which support 25Hz and which may do intermediate frame interpolation to improve motion sharpness and smoothness. Also, madVR takes the movie framerate into account when deciding whether deinterlacing should be enabled or not. For 50p content deinterlacing is definitely disabled, for 25p/50i content maybe not.

Try this:
http://files.1f0.de/lavf/LAVVideo-0.48-28-g2b854b9.zip

Put ontop of the previous test version.
Sadly, it doesn't work, the registry value wins... :(

nevcairiel
3rd March 2012, 21:50
Sadly, it doesn't work, the registry value wins... :(

Stupid XP. On 7, even explicitly setting that value to 1 has no effect when i use the programmatic interface.
Guess i'll overwrite that setting as well now. We'll be doing the world a favor by disabling that in the registry for everyone. ;)

fairchild
3rd March 2012, 22:04
Quick test for you on my sig rig:

Lav old VC-1 95fps
Lav Microsoft WMV decoder VC-1 120fps
Lav DXVA2 CB 65fps

Test using null renderer + graphstudionext + twinpeak.1080.wmv (the 12.5Mbps version)

VipZ
3rd March 2012, 22:15
Awesome work on the addition of the WMV9 DMO, all my samples work perfectly with it including VC1 within EVO and that halo sample.


@King Kong, I would recommend software decoding, the 2600k is very efficient at it.

madshi
3rd March 2012, 22:45
Stupid XP. On 7, even explicitly setting that value to 1 has no effect when i use the programmatic interface.
Guess i'll overwrite that setting as well now. We'll be doing the world a favor by disabling that in the registry for everyone. ;)
I definitely agree. I don't see any situation where anybody could possibly want that ugly (and slow!) deinterlacing.

(It would be nice if you could use the same "Deinterlace.old" logic. Doing so would mean that only one of us will ever change that registry value on an XP installation, and afterwards it will never be changed (by us) again. So if the user insists on changing the registry value back manually, we won't override it for him again.)

aufkrawall
4th March 2012, 00:58
Hm, I'm using Windows 7 x64 but somehow the VC-1i sample is always deinterlaced, even if deinterlacing is disabled in LAV and madVR.
How to disable, if possible?

FlashGordon
4th March 2012, 01:57
The way I do it is this: everything works in 32-bit float in the entire chain until the very last step. This means I use ffdshow/LAV in 32-bit float mode only, same for Reclock, and output everything to DirectSound as 32-bit float. Then the Windows audio engine takes over (still in 32-bit float), does the necessary mixing and other adjustments, and finally dithers to 24-bit integer and sends the result to my sound card.

Using this configuration, there is *never* any conversion of audio sample format, except the necessary integer conversion at the sound card output stage.

The way I currently have it is: All output formats checked in LAV Audio. Everything except Dithering and Noise Shaping checked in Processing for ffdshow, and all output formats checked in Output for ffdshow. Then 24 int padded to 32 for Reclock using WASAPI. I notice that ffdshow will output Float when I play DVDs, but for some Blu-rays it will output Integer.

My question is, is it better to just uncheck everything BUT 32 Float in LAV Audio and ffdshow and have ReClock convert the float to 24 int padded at the end (similar to the way you're doing it), or is my current set-up fine? Like Nev said, some lossless codecs output integer and so there must be a conversion to float. So, I'm thinking that in my current set-up, LAV outputs Integer for blu-rays with lossless and then that is converted internally by ffdshow to 32float for downmixing and processing and downconverted back to integer for output? If not, then ffdshow is processing in integer, which is less precise, right?

I know Nev recommends having all output formats checked, but since I'm always going to be resampling the audio with ReClock and downmixing with ffdshow, I'm leaning towards your method and just using 32 float all the way to the end...

Pat357
4th March 2012, 02:30
Nev,

Can you have a look at this ?

http://www.mediafire.com/imgbnc.php/4ddea0ff3b24eeb744f86b42b5e58ce5d8e2ecf081c86e99b303a5645aee8d636g.jpg

It was posted before, but it's still there in the latest LAV git build be067e7.
I get this when I open my WMP in a certain directory : WMP crashes/closes itself because of this.
Does have something to do with building thumbs using LAV i suppose...

The strange thing is that every file in that specific directory plays fine ... maybe I get this because one or more files are not-seekable although playable ?


For some reason, I could not upload the .jpg image to attach it here : I always got the "This is not a valid image file.".
I tried .jpg , .png but no avail.

ryrynz
4th March 2012, 02:41
Nev, is there any chance of stereo to 6/7 expansion in LAV Audio?

nevcairiel
4th March 2012, 08:54
Nev,

Can you have a look at this ?

http://www.mediafire.com/imgbnc.php/4ddea0ff3b24eeb744f86b42b5e58ce5d8e2ecf081c86e99b303a5645aee8d636g.jpg

It was posted before, but it's still there in the latest LAV git build be067e7.

I removed the error message now, but if you can figure out which file causes it, i would still love to get my hands on a sample to try to fix seeking properly.

Nev, is there any chance of stereo to 6/7 expansion in LAV Audio?

If you're happy with just copying the audio to all the extra channels, sure.
Personally, for movies i think that sounds like crap and you should use something like DTS:NeoX or Dolby Pro Logic IIx (which LAV will not offer). For music it might be OK.

ryrynz
4th March 2012, 11:17
That would be great, I find stereo x7 mode on my receiver to generally sound better than any surround mode it has and having this option would mean I wouldn't need to determine if the video has stereo or 6 channel sound.
I can just keep it in surround mode and never bother with stereo x7 for videos :D

red5goahead
4th March 2012, 11:24
It would be awesome if "hardware decoder to use:" had a new option "automatic" that choose Dvxa (copy-back) as prefer option if avaiable for Ati Card and perhaps Cuda for the nvidia.
"automatic" could replace none option that is the default at this moment.

:thanks:

ryrynz
4th March 2012, 11:38
Standard software decoding is default when set to 'none' it's probably best that people who know what they want set that option accordingly.

red5goahead
4th March 2012, 13:19
Standard software decoding is default when set to 'none' it's probably best that people who know what they want set that option accordingly.

Using it as myself into an other free software an automatic option to set the best choice is better.

iron2000
4th March 2012, 15:03
Strange, I get 'Available' instead of 'Active' when watch most of the H264 mkv files.
Is it because I'm using Haali Media Splitter?
H264 is checked for HW decoding.

Ok, on further reading of the imouto.my guide it seems like only software decoding mode works for Hi10p videos.

sneaker_ger
4th March 2012, 18:27
Would it be possible for LAV to report the whole stream as interlaced to madVR if LAV is in software mode (with YADIF disabled) and the "Force Deinterlacing" option is ticked? Currently madVR says "deinterlacing off (says bitstream)".

nevcairiel
4th March 2012, 18:28
Would it be possible for LAV to report the whole stream as interlaced to madVR if LAV is in software mode (with YADIF disabled)? Currently madVR says "deinterlacing off (says bitstream)".

"says bitstream" means that madVR determined this on its own, "says upstream" means the decoder is reporting something.
For the record, LAV will always report a stream as interlaced unless it has absolute proof that its fully progressive (h264, mpeg2 and vc1 have such information in the header, for example)

sneaker_ger
4th March 2012, 18:34
Oh, I thought madVR would rely on info by LAV. Will bug madshi, then.

CruNcher
4th March 2012, 21:54
@Nev
Quicksync overrides the Use WMV9 Decoder DMO for WMV3 and VC-1 selection ?

also im really wondering why i get no DXVA for this VC-1 AP@L4 in .WMV

Video: WVC1 1920x1080 59.94fps 0kbps [Video]

Video
ID : 2
Format : VC-1
Codec ID : WVC1
Codec ID/Hint : Microsoft
Duration : 44mn 3s
Bit rate : 1 bps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 59.940 fps
Bit depth : 16 bits
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.000
Stream size : 330 Bytes (0%)

though not your fault it doesn't work with Microsofts Decoder also only Arcsoft and Cyberlinks VC-1 Decoder (Native Player) do it and only with AV Splitter or Potplayer with the VC-1 Adapter and other GUID ;)

Also your DXVA2 Native fails falling back to Libavcodec

Quicksync is the only way to Playback such .wmv files Accelerated somewhat ;)

ehh wait

Bit depth : 16 bits (that must be wrong)

nevcairiel
4th March 2012, 21:59
@Nev
Quicksync overrides the Use WMV9 Decoder DMO for WMV3 and VC-1 selection ?

Of course it does, QuickSync is a hardware decoder.

All Hardware decoders override the Software decoders.
You can turn off VC-1 under the Hardware Decoder configuration, and it'll use the software decoder then.

PS:
When reporting issues, sample file or i'll ignore you. :)

CruNcher
4th March 2012, 22:29
Of course it does, QuickSync is a hardware decoder.

All Hardware decoders override the Software decoders.
You can turn off VC-1 under the Hardware Decoder configuration, and it'll use the software decoder then.

PS:
When reporting issues, sample file or i'll ignore you. :)

Ah sorry yeah

http://www.mediafire.com/?ivjjwzmwztq

I created this with Expression Encoder i get it accelerated with Quicksync but DXVA fails only Arcsoft and Cyberlink DXVA it in their Players or Potplayer with their internal DXVA (IDCT mode, though not fully VLD) or tricking Arcsoft and Cyberlink with the VC-1 Adapter then it plays full acceleration VLD but currently it doesn't with the new Driver.

nevcairiel
4th March 2012, 22:49
Ah sorry yeah

http://www.mediafire.com/?ivjjwzmwztq

I created this with Expression Encoder i get it accelerated with Quicksync but DXVA fails only Arcsoft and Cyberlink DXVA it in their Players or Potplayer with their internal DXVA (IDCT mode)

Works just fine with LAV DXVA2 on my NVIDIA here.
Of course that doesn't work on Intel, their VC1 is just different, and how it works is not publicly available.

CruNcher
4th March 2012, 23:19
yup also this trick http://forum.doom9.org/showthread.php?p=1551696#post1551696 doesn't work currently @ least with the new 2639 driver :(

PS: Yep Arcsoft stopped working with the new Driver Cyberlink still works http://img535.imageshack.us/img535/6205/cyberlinkfullintelwmvvc.png
Though still no go in MPC-HC (won't connect http://img62.imageshack.us/img62/4116/failsmpchc.png , must be a bug) :(

Though converting it to .mkv and then using cyberlink works also nicely in MPC-HC see the ultrafast seeking example (wont work with lav/ffdshow quicksync/wmv decoder/libavcodec) :(

undo
5th March 2012, 10:51
I tried using LAV filters on my AMD E-350 (Radeon 6310) machine using mindbomb's setup guide. Everything's ok, except all the hardware decoding options are "not available". Am I doing something wrong or is this GPU not supported?

nevcairiel
5th March 2012, 10:52
I tried using LAV filters on my AMD E-350 (Radeon 6310) machine using mindbomb's setup guide. Everything's ok, except all the hardware decoding options are "not available". Am I doing something wrong or is this GPU not supported?

DXVA2 is only supported on Windows Vista/7, if you run XP, it'll show as not available.

madshi
5th March 2012, 10:55
FWIW, DXVAChecker claims that on my XPSP3 installation (Ati 3850) VC-1 DXVA2 decoding is supported, but h264 decoding is not.

RobertinoM
5th March 2012, 12:44
Hi there,
DXVA Checker claims that on my AMD Radeon HD 6310 nearly all DXVA1 and DXVA2 formats are supported .. but LAV 0.48 tells me on all options "not available"?????

I have XP SP3 all actual drivers... any hints?????

Regs Robertino

DragonQ
5th March 2012, 13:24
DXVA2 isn't available on Windows XP, as Nev said two posts above yours...

nevcairiel
5th March 2012, 13:36
If you want DXVA on Windows XP, LAV is not for you.

madshi
5th March 2012, 13:50
DXVA2 isn't available on Windows XP, as Nev said two posts above yours...
That is not true. DXVA2 works just fine on XP, if you install .NET 3.0. When nevcairiel really meant is: "DXVA2 is only supported by LAV Video Decoder on Windows Vista/7".

DragonQ
5th March 2012, 13:57
lol what I meant was:

DXVA2 Native/Copy-Back isn't available on Windows XP, as Nev said two posts above yours...

(implying LAV)

madshi
5th March 2012, 14:01
Ah, ok... :)

nevcairiel
5th March 2012, 14:08
I haven't seen any evidence that DXVA2 decoding actually works on XP. DXVAChecker isn't exactly proof.
Not that it really matters, i have no DXVA capable PC with XP on it to test and confirm, and i usually don't implement/enable features that i cannot test myself.

dead_screem
5th March 2012, 14:17
I haven't seen any evidence that DXVA2 decoding actually works on XP. DXVAChecker isn't exactly proof.

Yeah really. Under XP on my 9800GTX, it shows as DXVA1/2 for the partial acceleration modes (IDCT) but DXVA1 for the H.264 VLD. If it was checking the hardware and not careing about OS support, then a H.264 DXVA2 mode should show... but it doesn't.
It also shows all modes as supporting 4K resolution... but my 9800GTX is VP2/VDPAU A, and 4K decoding wasn't added until VP5/VDPAU D. So yeah, DXVAChecker can't exactly be trusted.

madshi
5th March 2012, 15:57
I haven't seen any evidence that DXVA2 decoding actually works on XP. DXVAChecker isn't exactly proof.
Not that it really matters, i have no DXVA capable PC with XP on it to test and confirm, and i usually don't implement/enable features that i cannot test myself.
This is not really important to me, but I do like to have things cleared up. So I just tested decoding an SD VC-1 sample with the ffdshow DXVA decoder with EVR Custom on my XP machine and it worked just fine, saying "Playing [DXVA]" in the MPC-HC status line. Also CPU was < 10% instead of 35% when using software decoding. Ok, I got corruption when trying to play a HD movie, but I guess that's probably a bug in ffdshow. Anyway, it generally seems to work just fine, and as far as I know, EVR Custom does not support DXVA1, so ist must be DXVA2.

DragonQ
5th March 2012, 17:09
This is not really important to me, but I do like to have things cleared up. So I just tested decoding an SD VC-1 sample with the ffdshow DXVA decoder with EVR Custom on my XP machine and it worked just fine, saying "Playing [DXVA]" in the MPC-HC status line. Also CPU was < 10% instead of 35% when using software decoding. Ok, I got corruption when trying to play a HD movie, but I guess that's probably a bug in ffdshow. Anyway, it generally seems to work just fine, and as far as I know, EVR Custom does not support DXVA1, so ist must be DXVA2.
According to Microsoft:

If the graphics drivers uses the older Windows XP Display Driver Model (XPDM), DXVA 2 API calls are converted to DXVA 1 DDI calls.

madshi
5th March 2012, 17:25
What happens behind the scenes is not important. Fact is that DXVA2 decoding + deinterlacing generally seems to work just fine in XP, from the view point of DirectShow decoders and renderers (provided that .NET 3.0 was installed).

CharlieCL
5th March 2012, 17:58
When I select Native DXVA2 in LAV Video Configuration, it worked fine in my program and faster. But when I selected Quick Sync or DXVA2 (Copy-Back) there were some troubles which caused the ActiveMovie window displayed. So what is the function of Native DXVA2? Is it compatible to Microsoft's DXVA2? In my testing Native DXVA2 and Nivada CUDA looks all called the hardware acceleration.

nevcairiel
5th March 2012, 18:04
Native DXVA2 is exactly the same as Microsofts DXVA2 or most other DXVA2 decoders, hence "native".

All other hardware decoders in LAV only use the hardware internally and to everyone else look like a software decoder.

RobertinoM
5th March 2012, 18:30
as on my old old old pc with XPsp3 and an AMD690G in version 0.46 I could check DXVA and it seemed to work for all my videos ... after upgrading to 0.47/0.48 it was impossible it was impossible to check and I had a bunch of vidoes not working.. ...

so you see why I am confused..

regs robertino

CharlieCL
5th March 2012, 18:35
Native DXVA2 is exactly the same as Microsofts DXVA2 or most other DXVA2 decoders, hence "native".
...


I can set prefer codec to Microsoft or LAV in Native DXVA2. LAV Decoder include a DXVA2 compatible decoder?

dead_screem
5th March 2012, 19:44
What happens behind the scenes is not important. Fact is that DXVA2 decoding + deinterlacing generally seems to work just fine in XP, from the view point of DirectShow decoders and renderers (provided that .NET 3.0 was installed).

not in my setup it doesn't. DXVA + EVR with MPC-HC and it falls back to software.

pururin
5th March 2012, 21:52
The way I currently have it is: All output formats checked in LAV Audio. Everything except Dithering and Noise Shaping checked in Processing for ffdshow...

My question is, is it better to just uncheck everything BUT 32 Float...
As far as I know, for quality, every processing done to the sound(even volume change) should be done in much higher bit depth for the precision
and then dither just once at the end when converting down to target bit depth.
Take a look at this http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=29963&view=findpost&p=259681

e.g. calculate with double precision float(64fp) : ReClock internal volume adjustment (like when you change the volume bar in mpc-hc with wasapi excl. mode), J.river media center (always, internally), etc.

single precision float(32fp) : many players such as foobar, lightweight music player AIMP, etc.
and even the not so preferable windows audio engine always work 32fp internally.

So, I'm thinking that in my current set-up, LAV outputs Integer for blu-rays with lossless and then that is converted internally by ffdshow to 32float for downmixing and processing and downconverted back to integer for output? If not, then ffdshow is processing in integer, which is less precise, right?

I know Nev recommends having all output formats checked, but since I'm always going to be resampling the audio with ReClock and downmixing with ffdshow, I'm leaning towards your method and just using 32 float all the way to the end
LAV automatically choose the bit depth in "as is" manner which IMHO is good for compatibility and bit exact output after decoding.

But in case you do post-processing, Nev suggested it should be ffdshow making decisions, but it seems that ffdshow don't quite automatically choose what's best for you.
From what I observe, mostly ffdshow tends to processing "as is" at the input bit depth level. Unlike those media players mentioned, these filters are quite manual as you can select the processing bit depth and also the output bit depth.

So, yes, it can be less precise. Especially if your source is 16 bit, mostly it'll just working at that level which is quite bad.
But since you watch only those stuffs and most blu-rays come with 24 bit audio I think, so it'll be ok (except you do TONs of post-processing).

(Btw, which resampler do you prefer? libsamplerate in ffdshow or libresample in ReClock? I heard that maybe libsamplerate is better)

Reino
5th March 2012, 22:46
not in my setup it doesn't. DXVA + EVR with MPC-HC and it falls back to software.If you tried a H.264 sample...it's only the case with VC-1:
So I just tested decoding an SD VC-1 sample...

dead_screem
5th March 2012, 23:40
If you tried a H.264 sample...it's only the case with VC-1:

I tried H.264, MPEG-2, AND VC-1. All fall back to software on my 9800GTX. Except, VC-1, which falls to the MS WMVideo Decoder DMO. And even that falls to software with VC-1. But since that is an XP decoder... I would expect it to be DXVA1 only anyway.
(DXVA is on by default on XP MS WMVideo Decoder DMO)

madshi
5th March 2012, 23:54
Well, what can I say. It works for me. Maybe your GPU driver doesn't support it. But anyway, I guess this discussion is moot since nevcairiel has already stated that he doesn't want to support DXVA2 in XP. So end of story. My last comment on this topic... :)

dukey
6th March 2012, 00:14
Technically there is no DXVA2 under XP. It's not supported in the drivers.

If the graphics drivers uses the older Windows XP Display Driver Model (XPDM), DXVA 2 API calls are converted to DXVA 1 DDI calls.

Pat357
6th March 2012, 00:34
PS: Yep Arcsoft stopped working with the new Driver Cyberlink still works http://img535.imageshack.us/img535/6205/cyberlinkfullintelwmvvc.png
Though still no go in MPC-HC (won't connect http://img62.imageshack.us/img62/4116/failsmpchc.png , must be a bug) :(
What splitter are you using ? ASF-reader, Lav, AV ?
The Graphbuilder in MPC does sometimes strange things : you can change the behavior in Options -> playback -> start-up --> use worker thread to construct the graph.. (uncheck it).
Maybe it works ... Can't test myself cause I don't own PDVD 12 (still on v11)

mbordas
6th March 2012, 01:29
sorry to change the subject...:)

I noticed that if I use dslibdvdnav in order to see dvd menus with mpc-hc, I get the Microsoft DTV-DVD Video decoder showing up in the filter list instead of Lav Video. If I add this to external filters and set it to block, I then get "Mpeg-2 Video Decoder (low merit)".

The workaround seems obvious, don't use dslibdvdnav. I'm just wondering why it's doing that.

FlashGordon
6th March 2012, 04:10
As far as I know, for quality, every processing done to the sound(even volume change) should be done in much higher bit depth for the precision
and then dither just once at the end when converting down to target bit depth.

I see. I just let Reclock do the final float to int conversion (32float --> 24 int padded to 32). Not sure if that dithers or if it is even necessary

LAV automatically choose the bit depth in "as is" manner which IMHO is good for compatibility and bit exact output after decoding.

But in case you do post-processing, Nev suggested it should be ffdshow making decisions, but it seems that ffdshow don't quite automatically choose what's best for you.
From what I observe, mostly ffdshow tends to processing "as is" at the input bit depth level. Unlike those media players mentioned, these filters are quite manual as you can select the processing bit depth and also the output bit depth.

So, yes, it can be less precise. Especially if your source is 16 bit, mostly it'll just working at that level which is quite bad.

Yeah, I noticed that ffdshow's output varied depending on the source, and sometimes I do get 16 bit output. For now I just have 32 bit float checked in LAV Audio and having it do the integer to float conversion in the first place for those type of sources

(Btw, which resampler do you prefer? libsamplerate in ffdshow or libresample in ReClock? I heard that maybe libsamplerate is better)

At the moment I have Reclock doing the resampling to 96kHz. I figure Reclock is going to end up resampling it again anyway for media adaptation so I guess it seemed redundant having ffdshow upsampling before Reclock resampled it again

nevcairiel
6th March 2012, 07:02
I noticed that if I use dslibdvdnav in order to see dvd menus with mpc-hc, I get the Microsoft DTV-DVD Video decoder showing up in the filter list instead of Lav Video. If I add this to external filters and set it to block, I then get "Mpeg-2 Video Decoder (low merit)".

The workaround seems obvious, don't use dslibdvdnav. I'm just wondering why it's doing that.

LAV Video does not support DVD Decoding yet, neither with the MS DVD Navigator nor with dslibdvdnav.

Mercury_22
6th March 2012, 08:40
LAV Video does not support DVD Decoding yet, neither with the MS DVD Navigator nor with dslibdvdnav.
Nev I'm doing some testing with the new dslibbluray (http://forum.doom9.org/showthread.php?t=164314) and native it's not working for mpeg2 but CB and SW it's working
So is this the same problem, as "LAV Video does not support DVD Decoding" ? or I'm missing something ?

P.S. Please, please :p add the tray icons, just show it when LAV it's used, cause I have no way to know if LAV it's used with the demo_player from dslibbluray, and any other dumb players :)

Trib
6th March 2012, 11:44
At the moment I have Reclock doing the resampling to 96kHz. I figure Reclock is going to end up resampling it again anyway for media adaptation so I guess it seemed redundant having ffdshow upsampling before Reclock resampled it again

I was wondering is there any benefit to resample say 48kHz to 96kHz like resampling the bit depth from say 16int to 24int?

Basically is it lossless to convert 48kHz 16-bit audio to be processed with LAV Audio as 48kHz 32-bit float and rendered as 96kHz 24-bit with say reclock?

nevcairiel
6th March 2012, 11:53
The reason for resampling to 96kHz is pretty simple. In theory it reduces the quality loss when using ReClocks main function, the resampling to match video rates. If you do it at 96kHz the impact on quality is (in theory) lower.
Converting the sample rate is probably not always lossless, but increasing it by a factor of 2 can probably be considered lossless.

Trib
6th March 2012, 14:28
The reason for resampling to 96kHz is pretty simple. In theory it reduces the quality loss when using ReClocks main function, the resampling to match video rates. If you do it at 96kHz the impact on quality is (in theory) lower.
Converting the sample rate is probably not always lossless, but increasing it by a factor of 2 can probably be considered lossless.

Thanks for the answer and for the awesome LAV Filters =)

pururin
6th March 2012, 14:48
At 24 bit int as target bit depth, dithering or not won't matter much.
Also ReClock developer did say that the float->int code in ReClock is correct.

->96kHz 24-bit in ReClock at last step, although theoretically not lossless, should be pretty much fine as nev said.

@FlashGordon
Your audio pipeline seems the best already.
Though few filters in ffdshow could force it back to 16 int, but you won't use those filters anyway. :p

Spooky_
6th March 2012, 14:51
Edit:
Found the problem, if YADIF was activate it was claiming to the renderer that it wasn't interlaced anymore - of course for DXVA2 native that wasn't true.thx, I recently tried to use only LAV in MediaPortal (with DXVA2 native) and was disappointed at first, that Deinterlacing was going "wrong" (i.e. only with 25 FPS output and strong motion blur, in my case). Thankfully it was only something so simple :). Watching any TV content worked great during my test.



A short technical question: is the software decoder of LAV in any way multi-threaded?

nevcairiel
6th March 2012, 15:43
A short technical question: is the software decoder of LAV in any way multi-threaded?

For many formats, including H264 and MPEG2, it is - but not for all formats.

nevcairiel
6th March 2012, 17:14
Lav Splitter isn't finding any audio tracks with the Eternal Sunshine of the Spotless Mind Blu-ray, whether I load up the index.bdmv or m2ts file.

The disc arrived, and this should be fixed in the next version (only if you run the bdmv/mpls, though)

nevcairiel
6th March 2012, 21:07
Here is a new test build, i consider this a release candidate. Its essentially feature complete for what i wanted to get into the next version, just hoping also relatively bug-free. ;)

http://files.1f0.de/lavf/LAVFilters-0.48-44-g4f49e3d.zip

The big thing in this release is of course the WMV9 DMO decoder for WMV3 and VC-1 content.
Otherwise, some fixes and optimizations, ffmpeg updates and whatnot.

I also removed the forced limitation of DXVA2 to only work on Vista/7 again, so if it works on XP for you, good for you. I cannot and will not support usage on XP, however.

If no issues crop up, this will be released at the end of the week.

fastplayer
6th March 2012, 21:15
FWIW, I haven't had any issues with my WMV3 progressive samples and the new DMO decoder. :)

VipZ
6th March 2012, 21:30
Here is a new test build, i consider this a release candidate. Its essentially feature complete for what i wanted to get into the next version, just hoping also relatively bug-free. ;)

Thanks for the update.

I found one bug for you :)

h264 seems to be broken (Software decode + DXVA), crashes in LAVVideo.ax in any MP4/MKV I open.

I have noticed that both ffmpeg now seemed to add WMA lossless properly and you started with adding some config for this. At present it still doesn't work, is code such as below missing the reason?
{ &MEDIASUBTYPE_WMAUDIOLOSSLESS, CODEC_ID_WMALL },

Thanks

madshi
6th March 2012, 21:31
I also removed the forced limitation of DXVA2 to only work on Vista/7 again, so if it works on XP for you, good for you. I cannot and will not support usage on XP, however.
I've just tried VC-1 DXVA2 decoding with your test build on my XPSP3 dev machine and it worked just fine in the first try for 3 different sample files (SD, HD interlaced, HD progressive). Unfortunately in the 2nd try the PC totally froze and I had to power cycle it off/on. Well, I know why I prefer software decoding... :D

Alexey1975
6th March 2012, 21:46
h264 seems to be broken (Software decode), crashes in LAVVideo.ax in any MP4/MKV ...

I confirm, CUVID mode - the same thing. :sly:

nevcairiel
6th March 2012, 22:34
h264 seems to be broken (Software decode + DXVA), crashes in LAVVideo.ax in any MP4/MKV I open.
I confirm, CUVID mode - the same thing. :sly:

Fixed.

I Uploaded a new build for testing:
http://files.1f0.de/lavf/LAVFilters-0.48-44-g4f49e3d.zip

Stupid bug, shouldn't code after a long day at work. :p

mindbomb
6th March 2012, 22:50
what happens if you have lav audio set to bitstream ac3, but not truehd, and you run into an m2ts with truehd with embedded ac3?
does it bitstream the ac3 or decode the truehd?

also, i love the addition of the new vc-1 decoder.

nevcairiel
6th March 2012, 22:52
what happens if you have lav audio set to bitstream ac3, but not truehd, and you run into an m2ts with truehd with embedded ac3?
does it bitstream the ac3 or decode the truehd?

LAV Splitter will always split such streams, so that there is a separate TrueHD stream and a separate AC3 stream. They do not reach the decoder still combined.
In fact, the decoder does not support playing such combined streams. LAV Audio requires the splitter to separate them.

So, due to the normal codec selection rules in LAV Splitter, the TrueHD track will be played (decoded), because it has a higher quality then AC3.

Sebastiii
6th March 2012, 23:10
Thanks for the new build :)

Kotik
6th March 2012, 23:37
Thanx for the build and for the constant time you invest into the project.

Keep up the good work.

hubblec4
6th March 2012, 23:46
how it looks with ordered chapter? Is this feature now available?

Midzuki
7th March 2012, 00:35
Regarding the wrapper for the M$ DMO decoder:

Graphstudio.exe - Application Error

The instruction at "0x029cb120" referenced memory at "0xffffffff". The memory could not be "read".

OS = Windows XP ( of course :) ), samples = MKVs with VC-1 ( of course :rolleyes: )

red5goahead
7th March 2012, 00:43
I'm starting to convert the header files in Delphi format.

A good features for the audio codec would allow to mute a specific audio channel.

ryrynz
7th March 2012, 01:00
how it looks with ordered chapter? Is this feature now available?

Not yet, it's on his todo list though.

aufkrawall
7th March 2012, 01:15
I've just tried VC-1 DXVA2 decoding with your test build on my XPSP3 dev machine and it worked just fine in the first try for 3 different sample files (SD, HD interlaced, HD progressive). Unfortunately in the 2nd try the PC totally froze and I had to power cycle it off/on. Well, I know why I prefer software decoding... :D
When did Windows XP not freeze while doing anything? :D


Stupid bug, shouldn't code after a long day at work. :p
Why? ;)
Concept of RCs seems to be working to me.
That just doesn't seem to stop codec pack creators to release a new version for every new LAV nightly. :(

nevcairiel
7th March 2012, 07:15
Regarding the wrapper for the M$ DMO decoder:

OS = Windows XP ( of course :) ), samples = MKVs with VC-1 ( of course :rolleyes: )

Does it happen with all files, or just the one?
If its only one file, a sample would be nice.

Also, which source filter?

DragonQ
7th March 2012, 12:02
I've just tried VC-1 DXVA2 decoding with your test build on my XPSP3 dev machine and it worked just fine in the first try for 3 different sample files (SD, HD interlaced, HD progressive). Unfortunately in the 2nd try the PC totally froze and I had to power cycle it off/on. Well, I know why I prefer software decoding... :D

DXVA2 doesn't work on XP for me with that latest test build (just falls back to software mode). Didn't expect it to though, so no loss. :p

Midzuki
7th March 2012, 15:30
Does it happen with all files, or just the one?
If its only one file, a sample would be nice.

Also, which source filter?

Source Filter = File (Async) ALWAYS :)

But regardless of the container (Matroska, AVI, ASF, TS) and/of the splitter used,
it seems the DMO-wrapper doesn't like
** VC-1 with non-aquare pixels ** http://forum.doom9.org/images/icons/icon3.gif

And the samples have always been in the same well-known place :p

https://skydrive.live.com/#cid=5ACF098E0EBAE8D5&id=5ACF098E0EBAE8D5!126

Esperado
7th March 2012, 15:48
As a photographer, i'm very involved in images quality. Using Intel QSync in LAV video filter, WMR9 renderer, sharpen in Intel graphics and a little Xsharpen added in post processing with FFDshow raw filter, i get a fantastic result with my I5-2500K CPU. (Tried quite everything)

With good HD (H.264) TV programs, images are sooo sharp, perspectives, reliefs and perception of the depth of field astonishing, without this "video game" non natural feeling i used to get with other decoders with enhanced sharpening. And no "sparkling" or over-lined sharpening effects neither.

De-interlacing is perfect and only limited by the latency of my screen. Stability and CPU usage problems forgotten.

Even in a non interesting program, it is a physical pleasure to look at the image's quality. Equal if not even better than my best digital post-processed photos.

Egur and nevcairiel, (and Intel) thank-you so much for your "state of the art" perfect work. I am very appreciative and grateful.

DragonQ
7th March 2012, 15:59
You desire the best image quality, yet you use VMR9? :p

nevcairiel
7th March 2012, 16:04
Source Filter = File (Async) ALWAYS :)

But regardless of the container (Matroska, AVI, ASF, TS) and/of the splitter used,
it seems the DMO-wrapper doesn't like
** VC-1 with non-aquare pixels ** http://forum.doom9.org/images/icons/icon3.gif

And the samples have always been in the same well-known place :p

https://skydrive.live.com/#cid=5ACF098E0EBAE8D5&id=5ACF098E0EBAE8D5!126

I tested all those samples, and they all play just fine.
I'll try to test on XP later, maybe it behaves differently there.

Looks like it needs WMP11 to function though, and my XP testing VM doesn't have it yet ...

Edit:
Nope, plays fine on XP too.

PS:
For a decoder, there really is no big difference between square or non-square pixels, the aspect ratio is applied after decoding by the renderer.

pururin
7th March 2012, 20:41
Thx for the new version. Testing now :)

aufkrawall
7th March 2012, 22:54
I'm not sure if I'd post the following in the AviSynth section, but I try it here first. :)
Using LAV Video Decoder via DirectShowSource works, but it doesn't use the GPU to decode, deinterlacing doesn't work neither. :(
CUVID is chosen as a decoder and it works when I play the file with MPC HC. With it also deinterlacing works (set to forced and enabled for every frame).

Can anyone tell me what to do to make AviSynth use CUVID decoding and HQ deinterlacing (60p)?

Midzuki
8th March 2012, 00:34
PS:
For a decoder, there really is no big difference between square or non-square pixels, the aspect ratio is applied after decoding by the renderer.

Regardless of the statement above, the VC-1 DMO-wrapper of LAV Video skrewz Graphstudio and WMP and MPC-HC on my XP machine :confused: :confused: :confused:

And considering ffdshow does not have this crash problem since r3978,
it's difficult to blame my pesky video card this time ;)

red5goahead
8th March 2012, 01:12
I wrote the Delphi translation of LAVVideoSettings.h.
If someone will be interested about I'll work on other H files. So far I need the interfaces for the video codec only.

Snowknight26
8th March 2012, 03:25
Just to resuggest, any chance of falling back to software decoding instead of native DXVA (when selected) for 1080p60 content on AMD cards? I've tested 5 different systems with different configurations (4850, 2x4870, 5850, 5950 and 6870 - drivers range from 11.9 to 12.2) and all of them exhibit the same behavior:

http://stfcc.org/pics/i/9e40e44b9b93e5647b2b177d729ebcf3_th.jpg (http://stfcc.org/pics/i/9e40e44b9b93e5647b2b177d729ebcf3.png)

The GPU can't handle it and the Windows GUI becomes unresponsive. Similarly, I tested a few Intel IGPs at work and they had showed the same behavior. I'll get back to you on the model number when I can.

aufkrawall
8th March 2012, 09:14
I've tested 5 different systems with different configurations (4850, 2x4870, 5850, 5950 and 6870 - drivers range from 11.9 to 12.2) and all of them exhibit the same behavior

I tested a few Intel IGPs at work and they had showed the same behavior. I'll get back to you on the model number when I can.
I think it's rather the fault of the graphics vendors.
If their hardware/driver combo can't deal with 60 fps, they shouldn't offer DXVA for it.

No problems with SB IGP or Radeon 7xxx. :)

nevcairiel
8th March 2012, 09:16
DXVA2 Native plays 60p content just fine on my Radeon 5670, with 11.12 i think. DXVA2 Copy Back is too slow, however.

Regardless of the statement above, the VC-1 DMO-wrapper of LAV Video skrewz Graphstudio and WMP and MPC-HC on my XP machine :confused: :confused: :confused:

And considering ffdshow does not have this crash problem since r3978,
it's difficult to blame my pesky video card this time ;)

Did you play the elementaries or the mkvs?
I found some odd problem with the elementarie files, but the mkvs all play fine so far. Still one thing to test, but it'll take a while.

Edit:
Found the reason for the crash. Its quite interesting that it didn't crash on Win7 for me before. o.O

I'll post a new build later.

asasadad_1
8th March 2012, 14:08
hi,nev
here (http://www.mediafire.com/?n0osi3hkaepbmla) is a mkv sample.
lav splitter+lav decoder,audio bad.
gabest mkv splitter+lav decoder,audio good.
halli splitter+lav decoder ,audio good.

BeNooL
8th March 2012, 16:05
Nev, would it be possible to get Teletext subtitle support (in .ts stream)?
VLC handles them but it is VLC...
Here is what is looks like: http://imgur.com/a/ZSRec

and here is a sample (32Mb) http://www.mediafire.com/?231beybf2cbzwmm

nevcairiel
8th March 2012, 16:33
The CodecPrivate element contains a copy of the full RMVB audio property structure (e.g. real_audio_v5_props_t, see https://github.com/mbunkus/mkvtoolnix/blob/master/lib/librmff/librmff.h ) That structure contains certain common header fields for all of RealAudio's codec types, and it can also be followed by a codec-specific initialization data set. This is also part of Matroska's CodecPrivate element.

@Mosu:

I think it should continue to function like this.
If libavformats demuxer is not handling this well, this is a bug and should be fixed. Its own matroska muxer doesn't write files that its own demuxer can process, so i consider that just broken and not to worry about it.

Doing some thinking, the full RealAudio header in the CodecPrivate is really the only way to handle this, because it does contain crucial information that is otherwise not available (for example, which deinterleaving algorithm to use). Not supplying the full block would basically mean the muxer would need to get rid of the interleaving, and i'm not sure thats something you would want to implement.

Sticking to the "old way" should also work with other popular demuxers (at least in the DirectShow world) like Haali or Gabest/MPC-HC.
I'll modify my demuxer to not do a any parsing and just output the CodecPrivate as-is, leaving it to the decoder to figure it out.

The beauty of that concept is that my demuxer/decoder combination could even process files written by avformats muxer. :)

@asasadad_1:
This will then also fix the sample you posted.

nevcairiel
8th March 2012, 17:11
Here is a new test build with a crash issue in the WMV9 decoder fixed and some other improvements:

http://files.1f0.de/lavf/LAVFilters-0.48-51-gb6bd197.zip

@Midzuki:
Try this version again. Should work fine now, hopefully. :rolleyes:

RNiK
8th March 2012, 17:22
You desire the best image quality, yet you use VMR9? :p
http://forum.doom9.org/showthread.php?p=1563781#post1563781

CharlieCL
8th March 2012, 17:34
I want to set DXVA2 Native as default settings how can I do that in C or setup by program?

Midzuki
8th March 2012, 17:49
Here is a new test build with a crash issue in the WMV9 decoder fixed and some other improvements:

http://files.1f0.de/lavf/LAVFilters-0.48-51-gb6bd197.zip

@Midzuki:
Try this version again. Should work fine now, hopefully. :rolleyes:

YesS$, this 0.49-pre-alpha :p build does not crash the players anymore :cool:

:thanks: :thanks: :thanks:

noee
8th March 2012, 19:36
I want to set DXVA2 Native as default settings how can I do that in C or setup by program?

Pretty straight-forward...

LAV Dev Info (http://code.google.com/p/lavfilters/source/browse/#git%2Fdeveloper_info)

pururin
8th March 2012, 19:42
YesS$, this 0.49-pre-alpha :p

0.48999... :D
Non issue so far for me.

LordX2
8th March 2012, 19:47
Hey guys - I use MPC-HC, FFDshow, and MadVR.

Using FFD Audio - I stream AC3 and DTS to my receiver via Optical.

What are the benefits to using LAV filters on top of what I am already using??

manma
8th March 2012, 19:49
This might be a stupid question, but I'm having a hard time getting the latest version of lav audio to get used by MPC-HC for ac3 audio. It seems to happen when bitstreaming is enabled. I don't remember this behavior in older versions, but that may have just been an oversight. Is this a bug or am I miss understanding something?

nevcairiel
8th March 2012, 19:52
This might be a stupid question, but I'm having a hard time getting the latest version of lav audio to get used by MPC-HC for ac3 audio. It seems to happen when bitstreaming is enabled. I don't remember this behavior in older versions, but that may have just been an oversight. Is this a bug or am I miss understanding something?

That usually means your audio renderer didn't accept the bistreaming format.
Make sure in the windows control panel under audio that your audio devices really are configured for bitstreaming (on SPDIF, you need to turn it explicitly on there)

Motenai Yoda
8th March 2012, 19:53
sorry but why lavfilters still don't support ffvhuff ???

manma
8th March 2012, 20:22
That usually means your audio renderer didn't accept the bistreaming format.
Make sure in the windows control panel under audio that your audio devices really are configured for bitstreaming (on SPDIF, you need to turn it explicitly on there)

Interesting. Anyways, that makes perfect sense now that I think about it. Is there any way to have lav audio turn off bitstreaming when my audio renderer won't accept it? I only need it when my laptop is plugged into my receiver anyways. I don't have any use for it when I'm using headphones or built in speakers (bleh).

nevcairiel
8th March 2012, 20:22
Interesting. Anyways, that makes perfect sense now that I think about it. Is there any way to have lav audio turn off bitstreaming when my audio renderer won't accept it? I only need it when my laptop is plugged into my receiver anyways. I don't have any use for it when I'm using headphones or built in speakers (bleh).

Its on the list of things to add, but not right now, no.

manma
8th March 2012, 20:26
Its on the list of things to add, but not right now, no.

The fact that my problem is even being acknowledged as legitimate is enough for me. Thanks for the hard work!

DragonQ
8th March 2012, 20:36
How does one know if LAV Splitter is being used? I have it set to "prefer" in MPC-HC but it's never in the filter list.

zero9999
8th March 2012, 21:14
How does one know if LAV Splitter is being used? I have it set to "prefer" in MPC-HC but it's never in the filter list.

It's not being displayed as "LAV Splitter" in the filters context menu, but as the full path of the file currently being played. Once you hit "Properties..." in its Submenu, the LAV Splitter properties should pop up.

DragonQ
8th March 2012, 21:31
Ah yes, thank you.

Snowknight26
9th March 2012, 00:51
DXVA2 Native plays 60p content just fine on my Radeon 5670, with 11.12 i think. DXVA2 Copy Back is too slow, however.


Even this (http://stfcc.org/misc/1080p60_H.264.mkv) sample (in native mode)? I know the GPUs can handle 1080i60, but I'm still dubious.

LordX2
9th March 2012, 01:43
So can anyone explain to me what LAV filters actually DO? And why they are superior to simply using FFDSHOW?

dukey
9th March 2012, 02:25
Well, FFDShow and LAV are based off of similar code bases, namely the work of ffmpeg. FFDshow has a lot of image processing functions and post processing filters etc, whilst LAV just focuses on decoding. FFDshow has subtitle decoding, LAV does not. LAV currently is probably more stable than FFDshow.

Snowknight26
9th March 2012, 02:32
Seeking in this (http://stfcc.org/misc/lavfilters_seek_corruption.vp6) sample causes corruption.

asasadad_1
9th March 2012, 02:35
@Mosu:

I think it should continue to function like this.
If libavformats demuxer is not handling this well, this is a bug and should be fixed. Its own matroska muxer doesn't write files that its own demuxer can process, so i consider that just broken and not to worry about it.

Doing some thinking, the full RealAudio header in the CodecPrivate is really the only way to handle this, because it does contain crucial information that is otherwise not available (for example, which deinterleaving algorithm to use). Not supplying the full block would basically mean the muxer would need to get rid of the interleaving, and i'm not sure thats something you would want to implement.

Sticking to the "old way" should also work with other popular demuxers (at least in the DirectShow world) like Haali or Gabest/MPC-HC.
I'll modify my demuxer to not do a any parsing and just output the CodecPrivate as-is, leaving it to the decoder to figure it out.

The beauty of that concept is that my demuxer/decoder combination could even process files written by avformats muxer. :)

@asasadad_1:
This will then also fix the sample you posted.

fixed, :thanks:

Pat357
9th March 2012, 03:53
Nev,

I found some files that cause problems :

1. The 2 short wav's don't give any sound when Lav-splitter + Lav-audio are used.
I'm very sure this files used to work (you fixed that, IIRC).
These WAV's Play file with FFplay, Mplayer2, Foobar, and in MPC w FFDshow.
Also, the wav's used to "loop" in MPC, this doesn't seem to work anymore.

2. The .TS file makes MPC-HC crash with lavsplitter-Lavvideo
If I just change the splitter (MPC-buildin) it plays fine.
Also plays fine with FFplay/Mplayer2.

http://www.mediafire.com/?nsq1wvwhdfav4vr

CharlieCL
9th March 2012, 04:03
This .m2ts file can not displayed correctly with LAV Video installed only. But after installed FFDShow there is no problem.
Below is the data info


General
ID : 1 (0x1)
Complete name : C:\Users\Public\Videos\Channel-002\_tsMuxeR__Wanted.2008.Blu-ray.REMUX.H264.1080P.DTS-HD.TSSplit.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 102 MiB
Duration : 33s 158ms
Overall bit rate : 25.7 Mbps
Maximum Overall bit rate : 35.5 Mbps

Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Format settings, GOP : M=2, N=26
Codec ID : 27
Duration : 32s 616ms
Bit rate mode : Variable
Bit rate : 20.7 Mbps
Maximum bit rate : 32.3 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.417
Stream size : 80.7 MiB (79%)
Color primaries : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics : BT.709-5, BT.1361
Matrix coefficients : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177

Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA / Core
Muxing mode : Stream extension
Codec ID : 134
Duration : 32s 853ms
Bit rate mode : Variable
Bit rate : 3 937 Kbps / 1 510 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossless / Lossy
Delay relative to video : 3ms
Language : English

nevcairiel
9th March 2012, 07:30
This .m2ts file can not displayed correctly with LAV Video installed only. But after installed FFDShow there is no problem.
Below is the data info

Without a sample file, i cannot do a thing.

Also:
- What does "not displayed correctly" mean?
- Which decoder in LAV Video are you trying to use? Software? Hardware (and which)?

nevcairiel
9th March 2012, 07:54
1. The 2 short wav's don't give any sound when Lav-splitter + Lav-audio are used.
I'm very sure this files used to work (you fixed that, IIRC).
These WAV's Play file with FFplay, Mplayer2, Foobar, and in MPC w FFDshow.
Also, the wav's used to "loop" in MPC, this doesn't seem to work anymore.

Should be fixed again in the future.


2. The .TS file makes MPC-HC crash with lavsplitter-Lavvideo
If I just change the splitter (MPC-buildin) it plays fine.
Also plays fine with FFplay/Mplayer2.

http://www.mediafire.com/?nsq1wvwhdfav4vr

I cannot reproduce any issues with that file. In fact, i tested with that file a lot of the last time because it had a decoding bug with DXVA2 (fixed by now). Funny how the same files always pop up again. :p
Did you try with the latest test version or 0.48 release? Try the test version if you didn't, thats what i'm working against.

Edit:
Now that i think about it, it seems related to the subtitles. MPC-HCs DVB Subtitle decoder is fairly buggy and crashes alot. If you have LAV configured for english subtitles, it'll enable them by default, causing a crash in MPC-HC.

wanezhiling
9th March 2012, 13:07
http://forums.nvidia.com/index.php?showtopic=224587
Forceware 296.17 for win8 CP, did anyone test it ? cuvid decoding available?:)

aufkrawall
9th March 2012, 14:37
http://forums.nvidia.com/index.php?showtopic=224587
Forceware 296.17 for win8 CP, did anyone test it ? cuvid decoding available?:)
CUVID works (why shouldn't it?), but MPEG-4 ASP is still partially broken.
Maybe the goal was just to have a new driver with WDDM 1.2 support.

wanezhiling
9th March 2012, 16:12
CUVID works (why shouldn't it?), but MPEG-4 ASP is still partially broken.
Maybe the goal was just to have a new driver with WDDM 1.2 support.

Well, you can make LAV CUVID active on win8 CP with 295.73 or previous drivers?

aufkrawall
9th March 2012, 16:22
Well, you can make LAV CUVID active on win8 CP with 295.73 or previous drivers?
I don't know, I just installed the driver on Windows 7.
So, CUVID doesn't work with 295.73 on Windows 8?

wanezhiling
9th March 2012, 16:39
http://forum.doom9.org/showpost.php?p=1562314&postcount=9556
:)

mastan
9th March 2012, 16:46
I don't know, I just installed the driver in Windows 7.
So, CUVID doesn't work with 295.73 on Windows 8?

No.
GPU-Z shows that only DirectCompute 5.0 is available.

wanezhiling
9th March 2012, 18:45
nev, LAV SW decoder and CUVID decoder(HQP unchecked) use the same deinterlacer(renderer deinterlacing)?

nevcairiel
9th March 2012, 18:51
nev, LAV SW decoder and CUVID decoder(HQP unchecked) use the same deinterlacer(renderer deinterlacing)?

The renderer probably always does the same as with High Quality processing enabled.

wanezhiling
9th March 2012, 19:07
I see, thanks.

How to make madVR take over the deinterlacing work in CUVID mode?

Pat357
9th March 2012, 19:53
I see, thanks.

How to make madVR take over the deinterlacing work in CUVID mode?
Just disable all interlacing in Lav-video : set the algorithm on "none (Weave)".
MadVR will now see an interlaced stream and should start it's internal interlacing.

Nev,
Can you explain the impact of the 3 options related to interlacing in Lav-video if I use MadVR ?

What does "force deinterlace" do when using madVR ?
The same question for "aggressive deinterlacing" and "tread as progessive"
It's currently very unclear to me how these options go along with MadVR's internal logic and the Madvr options to change deinterlacing behavior.

nevcairiel
9th March 2012, 19:55
Nev,
Can you explain the impact of the 3 options related to interlacing in Lav-video if I use MadVR ?

What does "force deinterlace" do when using madVR ?
The same question for "aggressive deinterlacing" and "tread as progessive"
It's currently very unclear to me how these options go along with MadVR's internal logic and the Madvr options to change deinterlacing behavior.

madVR seems to generally not trust what decoders say (apparently having access to the full encoded bitstream doesn't mean much), so those options will most likely not do anything with it.
You should rather ask madshi about those things. I know what they do, and you can easily see what they do with EVR, but what madVR does with the information the decoder provides, i don't know.

For the record:
- "Force Deinterlacing" sets interlace flags on all files and all frames, no matter what.
- "Aggressive Deinterlacing" sets interlaced flags on all frames when the file itself is marked interlaced (from the stream header or such)
- "Tread as Progressive" marks all frames as progressive, and never anything as interlaced.

madshi
9th March 2012, 20:32
Let me explain how things are from the view point of a video renderer. The renderer must deal with a wide number of decoders and they all behave differently. Some decoders always set interlaced flags, others never set interlaced flags, again others set them sometimes and sometimes not, depending on user configuration (and the user doesn't always know what he's doing), or depending on the weather or the configuration of the planets. There are typically 2 things that I've seen decoders do:

(1) Either the decoder sets the interlaced flags to 0. If that happens, madVR doesn't know if that is supposed to mean "this file is progressive", or if the decoder is not in the mood to share information, because 0 is also the non-initialized value used by all decoders which never properly fill in these values (like CoreAVC).

(2) Or the decoder sets the flags to "AMINTERLACE_DisplayModeBobOrWeave". Again, this information is more or less useless, because by definition is means "the stream could be totally progressive, or totally interlaced, or a mixture of both". In other words, by setting "AMINTERLACE_DisplayModeBobOrWeave", the decoder pretty much says: "I've no idea whether this file is interlaced or progressive or whatever".

Even though all of the above is quite bad, madVR *still* tries to behave identical to VMR/EVR, which means that if the interlace flags are set to 0, madVR will by default not activate deinterlacing, and if the flags are set to "AMINTERLACE_DisplayModeBobOrWeave", madVR will by default activate deinterlacing, but only after the first interlaced video frame is received. I don't consider this behaviour really alright, but since VMR/EVR are doing it this way, I'm trying to have madVR behave identical.

There is one thing that makes madVR's behaviour different from VMR/EVR: While VMR/EVR always blindly trust the decoder (and thus will stumble when decoders don't set the flags correctly, or not at all), madVR gets itself access to the video bitstream to make its own analyzation of whether deinterlacing is needed or not. If the video bitstream clearly says whether deinterlacing is necessary or not, madVR will value this information higher than the rather non-specific flags described above. I believe this is a good thing, and I challenge anyone to argue otherwise.

If LAV wants to force deinterlacing to on/off, it's easy enough to do that with madVR. There are interlace flags available for that, described by Microsoft, which madVR properly honors. "AMINTERLACE_DisplayModeBobOnly" asks for the whole video stream (every frame) to be deinterlaced, so that would be the correct flag to set to force the renderer to turn deinterlacing on. And "AMINTERLACE_DisplayModeWeaveOnly" asks for the whole video stream to not be deinterlaced, so that would be a good flag to set to force the renderer to turn deinterlacing off. If LAV used these flags, madVR would obey. madVR has supported these flags from the first version deinterlacing was introduced.

dukey
9th March 2012, 22:04
Guessing whether a stream is interlaced or not will always produce errors. I've often seen progressive content with interlaced fades or overlays etc. It's never ending, especially for videos like music videos. In the end the only safe thing to do is deinterlace everything marked as interlaced. My TV tries to be clever and guess what is interlaced, and I regularly see it mess up.

Asmodian
10th March 2012, 01:41
In the end the only safe thing to do is deinterlace everything marked as interlaced.

This isn't safe either, if you deinterlace progressive content you damage it and a lot of progressive content has some kind of interlaced flag set. You might not notice it but I do. IMO the only safe way is to set it yourself after examining the video (not very automatic :p).

If all (or most, some, only LAV :D) decoder(s) could output a standard set of flags that were specific (interlaced = yes, no, maybe) and that MadVR also understood it would be great!

We could then set MadVR to deinterlace only the "Yes", both "Yes" and "Maybe", or force deinterlace everything. If you enabled deinterlacing in LAV I assume it would set the interlaced flag to "No" so the renderer doesn't re-deinterlace?

Andy o
10th March 2012, 02:15
I'm wondering if anyone's using an AMD 7750 yet to see if it improves DXVA copyback performance with madVR? I could never get it to work well even with the 5770 and I'm scraping to get the best bang for buck GCN card I can.

mindbomb
10th March 2012, 05:10
question:

For a file that is being sequentially downloaded, lets say you have the first 10% of it. If you open it up, and try to play it, even if it finishes downloading before you hit the 10% mark, your video just freezes at the 10% mark.

Can anything be done about this?

nevcairiel
10th March 2012, 07:43
Even though all of the above is quite bad, madVR *still* tries to behave identical to VMR/EVR, which means that if the interlace flags are set to 0, madVR will by default not activate deinterlacing, and if the flags are set to "AMINTERLACE_DisplayModeBobOrWeave", madVR will by default activate deinterlacing, but only after the first interlaced video frame is received. I don't consider this behaviour really alright, but since VMR/EVR are doing it this way, I'm trying to have madVR behave identical.

Actually, madVR does not behave 100% like EVR here.
I have a file which is marked as interlaced, however the frame-flag is missing on some frames. EVR will not deinterlace the frames where this is missing, madVR will.
Even if the behaviour of deinterlacing the frames in this file is correct, extrapolating from that, any file which is mixed interlaced and progressive content, even the progressive frames will all be deinterlaced.

There is also no other set of flags i could set, AMINTERLACE_DisplayModeBobOrWeave is the only flag that allows mixed interlaced and progressive content.

Anyway, that seems to be the only case thats inconsistent.


If LAV wants to force deinterlacing to on/off, it's easy enough to do that with madVR. There are interlace flags available for that, described by Microsoft, which madVR properly honors. "AMINTERLACE_DisplayModeBobOnly" asks for the whole video stream (every frame) to be deinterlaced, so that would be the correct flag to set to force the renderer to turn deinterlacing on. And "AMINTERLACE_DisplayModeWeaveOnly" asks for the whole video stream to not be deinterlaced, so that would be a good flag to set to force the renderer to turn deinterlacing off. If LAV used these flags, madVR would obey. madVR has supported these flags from the first version deinterlacing was introduced.
AMINTERLACE_DisplayModeBobOnly doesn't work with madVR. I tried to set it, but the OSD still claims "deinterlacing off (says bitstream)". Note that BobOnly has the value 0, so if you check for it with a &, it wouldn't work. :p

Even though i don't agree with setting WeaveOnly for progressive (progressive is defined as the absence of flags), it seems to work.

madshi
10th March 2012, 08:41
Actually, madVR does not behave 100% like EVR here.
I have a file which is marked as interlaced, however the frame-flag is missing on some frames. EVR will not deinterlace the frames where this is missing, madVR will.
Even if the behaviour of deinterlacing the frames in this file is correct, extrapolating from that, any file which is mixed interlaced and progressive content, even the progressive frames will all be deinterlaced.
You're right. Older madVR builds still behaved the same as EVR there, but I recently changed that because otherwise "forcing" deinterlacing inside of madVR didn't work properly. Do you think I should change this back and find a different solution for the forcing?

There is also no other set of flags i could set, AMINTERLACE_DisplayModeBobOrWeave is the only flag that allows mixed interlaced and progressive content.
Yes, in normal mode, that's what LAV should use. But if LAV is configured to force deinterlacing on/off, "mixed" is not needed anymore. So in forced mode, you can use something other than AMINTERLACE_DisplayModeBobOrWeave.

AMINTERLACE_DisplayModeBobOnly doesn't work with madVR. I tried to set it, but the OSD still claims "deinterlacing off (says bitstream)". Note that BobOnly has the value 0, so if you check for it with a &, it wouldn't work. :p
Ooooops. Will fix that in the next build. Wasn't aware of that the value was 0.

Even though i don't agree with setting WeaveOnly for progressive (progressive is defined as the absence of flags), it seems to work.
What other flag combination would you suggest to indicate "progressive"? 0 would make sense, but unfortunately it's the same as "not initialized", so we can't really use that.

Skibicki
10th March 2012, 08:41
I use Lav Filters for mp3 in PotPlayer and this file did not play. It froze with the album art and showed up as mjpg in file info. Plays fine in WMP.

http://www.mediafire.com/download.php?251j501nbv8vjxx

PotPlayer 1.5.32338 x86
Lav Filters 0.48 1dc4df4

nevcairiel
10th March 2012, 08:51
Do you think I should change this back and find a different solution for the forcing?
Maybe at least an option to control this might be nice.


What other flag combination would you suggest to indicate "progressive"? 0 would make sense, but unfortunately it's the same as "not initialized", so we can't really use that.

If 0 is out, then thats the only flags that do seem to make sense.

I use Lav Filters for mp3 in PotPlayer and this file did not play. It froze with the album art and showed up as mjpg in file info. Plays fine in WMP.

Fixed

DragonQ
10th March 2012, 12:59
nevcairiel and madshi, this is nothing really to do with LAV Filters or MadVR but I figure you might know something about this:

In MKVMerge, is it preferable to set the Aspect Ratio or Display Width/Height? The combinations of LAV + EVR and LAV + MadVR both seem to work fine with either option but I'm just thinking about maximum portability of MKV files on other machines with other filters, decoders and renderers.

nevcairiel
10th March 2012, 13:40
MKV only has the Display Width/Height fields internally, so whatever you set, it'll end up in those fields.
If you want portability, i would recommend to make sure that the Aspect Ratio is also properly set in the video headers, at least H264, VC1 and MPEG2 have fields for that. A lot of players ignore the container values.

The SphereX
10th March 2012, 13:54
Hi there !!!

I got the following two problems with the "LAV Video Decoder":

1.) When playing HD movies in MPC-HC, that have been x-cropped (e. g. from 1920 to 1808), it results in a stuttering playback with asynchronous audio. However, when movies are y-cropped everything's fine.
2.) 50p Full-HD video from a "Panasonic HDC-SD909" camcorder is played back at only about 30-32 FPS.

Hopefully someone's got an idea of how to fix these problems, because until now I always have to reencode the two problematic formats to 1.) 1920x1080 and 2.) 720p @ 50 FPS to play them back flawlessly.

Motherboard: Zotac ION ITX D
Chipset: NVidia ION (video decoder is set to use "Nvidia Cuvid")
CPU: Intel Atom N330 Dual Core @ 1,6 GHz
Player: MPC-HC
Splitter: Haali Media Splitter
Renderer: VMR-7
OS: Windows XP Professional (SP3)

Greetz,
The SphereX

Carpo
10th March 2012, 14:00
you could try using lav splitter instead of haali

sneaker_ger
10th March 2012, 14:06
MKV only has the Display Width/Height fields internally, so whatever you set, it'll end up in those fields.
If you want portability, i would recommend to make sure that the Aspect Ratio is also properly set in the video headers, at least H264, VC1 and MPEG2 have fields for that. A lot of players ignore the container values.

Indeed. (Though the Matroska specs also allow other display width/heigth units than pixels, but mkvmerge does not write those.)
Also, if SAR is set in bitstream, mkvmerge will automatically read that info and set the container info accordingly.

nevcairiel
10th March 2012, 14:09
LAV Filters 0.49

LAV Splitter
- Improved MKV demuxing performance from slow sources (network streaming, etc)
- Improved stream detection on Blu-rays
- Improved support for RealAudio (COOK, SIPR, etc) in MKV
- Support for streaming from HTTP URLs

LAV Audio
- Improved support for DTS files with Little-Endian or 14B encodings

LAV Video
- New VC1/WMV3 decoder based on the Microsoft DMO Decoder (new default)
- Updated Intel QuickSync decoder (0.29, r44)
- Fixed decoding of some MBAFF H264 streams with DXVA2
- Improved Stream Aspect Ratio logic in the CUVID decoder for H264 streams
- Fixed Deinterlacing when DXVA2 Native is active in certain situations


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.49.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.49.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.49-x64.zip)

VC1/WMV3 DMO Decoder
In this version i implemented a new decoder for VC-1 and WMV3 content. Specifically, LAV Video can now directly access Microsofts decoder and use it for decoding directly.
This has the advantage that all the small bugs that Microsofts DirectShow version of the decoder has are hopefully being worked around, and that the software fallback in LAV can fully function in case Hardware decoding is not available.
This feature is similar to ffdshows "WMV9" option for VC-1 (however completely written from scratch)

To use this, you have to make sure VC-1 is enabled in the list of formats in LAVs configuration. It used to be off by default in earlier versions, so if you've opened the configuration before, it'll have written that default to the registry.
As of this version, VC-1 is now default on.

In case you want the ffmpeg decoder for VC-1 back, there is an option on the Formats options page.

HTTP Streaming
LAV Splitter can now directly read files from a HTTP server and does no longer have to go through the "File Source (URL)" to do this. This has some key advantages, specifically regarding seeking.
However, LAV is not setup to just magically open all HTTP URLs. This feature at this time is meant for player developers, so that they can use LAV to access HTTP sources directly.

HTTPS is not yet supported.

Other changes
The other changes are all not that big, small fixes and improvements for DXVA2, some splitter improvements, and the usual load of bugfixes that sometimes didn't even make the changelog.

nevcairiel
10th March 2012, 14:15
Motherboard: Zotac ION ITX D
Chipset: NVidia ION (video decoder is set to use "Nvidia Cuvid")
CPU: Intel Atom N330 Dual Core @ 1,6 GHz
Player: MPC-HC
Splitter: Haali Media Splitter
Renderer: VMR-7
OS: Windows XP Professional (SP3)


The ION/Atom platform seems to be too slow to use CUVID properly on many files, because it has an abysmal memory copy performance.
I would recommend to use a DXVA based decoder, however on XP you'll have to use MPC-HCs own DXVA decoders, as LAV Video will most likely not work.

I would also recommend VMR-9 instead of -7.

wanezhiling
10th March 2012, 14:41
Wow, LAV Filters 0.49! Update!:cool:

sneaker_ger
10th March 2012, 14:42
question:

For a file that is being sequentially downloaded, lets say you have the first 10% of it. If you open it up, and try to play it, even if it finishes downloading before you hit the 10% mark, your video just freezes at the 10% mark.

Can anything be done about this?

It works for me on Matroska files - or at least more often than not. Which format are you testing?

Budtz
10th March 2012, 14:42
Is it possible to use lav filters with apple trailers btw? so they open in mpc-hc in stead of the crappy quicktime?

sneaker_ger
10th March 2012, 14:45
It can open them if downloaded and I'm not sure if LAV is technically capable to directly stream them in principle, but apple blocks other players out by checking the HTTP User Agent for the string "quicktime" anyways.

Inspector.Gadget
10th March 2012, 15:53
Is it possible to use lav filters with apple trailers btw? so they open in mpc-hc in stead of the crappy quicktime?

You want the "MOV DL Tool", which is or was packed with Quicktime Alternative. That will allow you to get the trailers as actual files on your desktop, and then you can watch them in whatever player suits you (they are standard MPEG-4 AVC / AAC / container, so LAV Filters can certainly handle them).

Sebastiii
10th March 2012, 15:59
Nice WORK :)
Thank you again :)

Mercury_22
10th March 2012, 16:15
Why LAVSplitter's "Preferred Language" audio doesn't work in WMC & WMP but it works with MPC-HC, for mkv (= why is not ignoring the default track and use the language specified in the settings) ?
Possible same thing happens for BD (index.bdmv) / m2ts but since I can't be sure LAV it's used for this one (cause there's no tray icon when LAV it's used :) )...I'll say it only happens with mkvs (it's a clean win7 install with just LAVFilters (registered only) and MPC-HC)

Edit: do you need a sample ?

cremor
10th March 2012, 16:52
Thanks for the VC-1/WMV changes in the decoder!
One question though: Should we still use the Microsoft splitter for WMV? Because it's still disabled by default in the installer.

nevcairiel
10th March 2012, 16:52
One question though: Should we still use the Microsoft splitter for WMV? Because it's still disabled by default in the installer.

Yes you should.


Why LAVSplitter's "Preferred Language" audio doesn't work in WMC & WMP but it works with MPC-HC, for mkv (= why is not ignoring the default track and use the language specified in the settings) ?

WMP/WMC may be overriding the stream choices. Thats the only reason it wouldn't work. Nothing i can do.

mindbomb
10th March 2012, 16:59
It works for me on Matroska files - or at least more often than not. Which format are you testing?

mp4 files from youtube.

i'm manually downloading them and playing them rather than using the built in player. It would be great if I didn't have to wait for the whole file to finish first though.

dansrfe
10th March 2012, 18:06
Does LAV Video support 10bit H.264 decoding currently? I tried a 10bit file and it didn't work with LAV so I had to enable madVR's internal ffmpeg decoder.

EDIT: 10bit decoding works with LAV Video. My mistake.

nevcairiel
10th March 2012, 18:12
Does LAV Video support 10bit H.264 decoding currently? I tried a 10bit file and it didn't work with LAV so I had to enable madVR's internal ffmpeg decoder.

Works just fine here.

dansrfe
10th March 2012, 18:17
Also, if we're using madVR then the only choice is x86 for all LAV Filters right?

CharlieCL
10th March 2012, 20:03
Is this an optimized Lav Video settings?

select DXVA2 Native
disable RGB32/RGB24/YV12/YADIF

dansrfe
10th March 2012, 20:22
Is there a way to check what output audio bit depths my audio card supports? I'm very sure it's 16-bit but I'm not 100% sure.

Also, If I'm using ffdshow audio processor just to downmix the audio and LAV Audio for decoding, is it better to have LAV Audio send a 32-bit float stream to ffdshow audio processer and have ffdshow dither the bit depth to 16-bit or just deselect everything but 16-bit depth in LAV Audio and have ffdshow not touch the bit depth?

mindbomb
10th March 2012, 20:36
when doing post processing like mixing, make sure lav audio sends out the highest quality possible (the default setting)

dansrfe
10th March 2012, 20:48
when doing post processing like mixing, make sure lav audio sends out the highest quality possible (the default setting)

Awesome, thanks! I've checked all bit depth outputs in LAV Audio and ffdshow audio processor is outputting 16-bit after downmixing.

Now that I actually think about it I should have realized that LAV Audio should send out 32-bit float, if it does automatically, since that makes post-processing cleaner.

glorp
10th March 2012, 22:08
This (http://www.mediafire.com/?6mdc93575kd3zja) avi snip fails if the File Source (Async) filter is blocked and LAV Splitter Source is set to Preferred in MPC-HC external filters. Error in MPC is "Cannot render the file". MPC & filters are x64, LAV v0.49. It seems to play fine in GraphStudio but I suspect that's because it's failing back to File Source (Async) because when I unblock File Source (Async) in MPC it will also play. ?

egur
10th March 2012, 22:51
Weird LAV Splitter behavior in this file (http://www.wupload.com/file/2633462197) (old share by someone else, can re-share if there's problems).
Instead of sending the video stream to the decoder it sends an RGB image.
Haali sends an MPG2 stream (quite a broken stream BTW).
Setup:
ZoomPlayer 8.11, ffdshow 4371 (32 bit). LAV splitter 0.49, EVR.

* Doesn't matter which mpeg2 decoder is used within ffdshow.
* No splitter problems with LAV video decoder.
* Could not reproduce with LAV 0.48.
* Problem isn't deterministic. Sometimes it works - but mostly not.

nevcairiel
10th March 2012, 23:00
I have no idea what makes you think it outputs an RGB image.
Its MPEG-2, and it decodes more or less fine with LAV, its not even broken much.

The only thing the media type has in common with RGB is that biCompression is 0, but since MPEG-2 doesn't really have a official FourCC code, thats a perfectly valid setting.
The actual media sub type is the important part, not the value in biCompression. If ffdshow is relying on biCompression instead of looking at the media sub type, then its broken, not my fault. biCompression is not defined for MPEG-2.

PS:
MPEG-2 always was like this, no change in 0.49.

egur
10th March 2012, 23:30
I have no idea what makes you think it outputs an RGB image.
Its MPEG-2, and it decodes more or less fine with LAV, its not even broken much.

The only thing the media type has in common with RGB is that biCompression is 0, but since MPEG-2 doesn't really have a official FourCC code, thats a perfectly valid setting.
The actual media sub type is the important part, not the value in biCompression. If ffdshow is relying on biCompression instead of looking at the media sub type, then its broken, not my fault. biCompression is not defined for MPEG-2.

PS:
MPEG-2 always was like this, no change in 0.49.

The pin connection between LAV splitter (source) and ffdshow was RGB.
Didn't debug this yet but this but is what ZoomPlayer reported:
Major Type: Video - Sub Type: MPEG2_VIDEO Format: MPEGStreams RGB 720X576, 12 bits
Haali reported:
Major Type: Video - Sub Type: MPEG2_VIDEO Format: MPEGStreams MPG2 720X576, 0 bits

What I see when LAV splitter 0.49 is used, is a static image (not garbage) that doesn't appear on the video stream and I have no clue as to where it came from.
LAV 0.48 and older work fine w/o issues.

Can anyone else reproduce?

Maybe it's an ffdshow bug, but what changed between LAV 0.48-0.49?

CruNcher
11th March 2012, 00:25
@Nev
wow H.264 DXVA2 Native seems much more stable now on Intel :)
still 720p.mpg is crashing (Mpeg-2)

decodinerror.ts though shows heavy blocking on every frame but if you increase or decrease the speed the decoding problems are gone very strange

High 10, High 4:2:2, Predictive 4:4:4 fallback works also nicely as well as Mpeg-2 Studio 4:2:2 :)

nevcairiel
11th March 2012, 07:43
Didn't debug this yet but this but is what ZoomPlayer reported:
Major Type: Video - Sub Type: MPEG2_VIDEO Format: MPEGStreams RGB 720X576, 12 bits

The connection is clearly MPEG2.
Like i said, the Sub Type is the important part, everything else does not matter.
I don't know which tool you use to create that output. As it happens, the biCompression value for RGB is 0, and the one for MPEG-2 is as well, because it just doesn't have a FourCC.

CruNcher
11th March 2012, 09:15
@Nev
could you fallback to quicksync decoding for VC-1 AP Lx when DXVA2 native/copy back are active on Intel Quicksync supported systems instead of ffmpeg or wmv video decoder for the time being till you get DXVA2 VC-1 IDCT(Potplayer)/VLD(Arcsoft,Cyberlink) working :) or another checkbox like (use quicksync/dxva native/ copy back instead aside of the format selection dynamically changing depending on what you set as your main hardware decode mode)

Most flexible of course would be a entire selection system being able to chose per format and profile in case of VC-1 at least :)

BuckMaster
11th March 2012, 09:27
here is an error with potplayer, when i try to see the filter properties
http://img577.imageshack.us/img577/8659/potplayerlaverror.png

LAV 0.49 version

Update : I figured out what cause this issue, ... I forget to re-register over 0.48's .ax files

Budtz
11th March 2012, 09:41
Is there a way to control or check wether windows media player 12 is using lav? i also have ffdshow installed

ryrynz
11th March 2012, 10:41
here is an error with potplayer, when i try to see the filter properties
http://img577.imageshack.us/img577/8659/potplayerlaverror.png

LAV 0.49 version

Don't have that issue here. Potplayer 1.5.32007

Is there a way to control or check wether windows media player 12 is using lav? i also have ffdshow installed

I assume you mean LAV Video? One way to do it is to launch the LAV Video config and look at the 'Active Decoder'

CruNcher
11th March 2012, 11:03
CoreAVC DXVA, Lav Video DXVA and Potplayer DXVA fail with these x264 streams (same visual problem mostly gray blocking on specific frames, ref frames related, the more surprising would be that Arcsoft and Cyberlink found a way to compensate it without losing DXVA, or they use quicksync natively and Intels Driver MSDK fixes it) Cyberlink DXVA and Arcsofts DXVA implementation handle them on Intel without problems and fully accelerated :)

All of them Playback without issues with Cyberlinks and Arcsofts DXVA Decoder as well as Quicksync

http://www.mediafire.com/?scdzhe8e1gaxygh (gray blocking whole frames)
http://www.mediafire.com/?ucq118nxpnc4of7 (colored blocking part of frame then whole frames)
http://www.mediafire.com/?ykd7185z7j9db21 (practically every frame)
http://www.mediafire.com/?rld8gnlh52f03ud <- is a different decoding issue not ref frame related (Quicksync and Lav Video DXVA problem) plays flawless with Potplayer DXVA and CoreAVC DXVA
http://www.mediafire.com/?xr7ynkl2fg59g1c <- this is crazy it's a nvcuvenc h.264 transcode of the same mpeg-2 bitstream that brings the dxva2 native mpeg-2 down :P and it crashes also coincidence maybe though way to strange for one or this stream not important in which form triggers a bug in the MPC-HC render core but only with your DXVA2 Native ;)
http://www.mediafire.com/?sdqa98x8ig6msng <- fails with a green screen though arcsoft (black screen) and cyberlink (only decodes half of the stream) also have problems coreavc dxva plays it potplayer crashes in ntdll :P quicksync works
http://www.mediafire.com/?bji8i63j93skh2a <- sharing these Decoding problems on Blu-Ray Encodes with CoreAVC and Potplayers DXVA (Arcsoft and Cyberlink work)
http://www.mediafire.com/?wtku126e9k13z61 <- another blu-ray test in native m2ts same issue as above in .mkv

resolution, version and settings of different x264 streams showing the same decoding problem with DXVA decoding on both decoder

1280x720

x264 core 88 r1471 1144615

cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=10 / psy=0 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=0 / threads=1 / sliced_threads=0 / nr=0 / decimate=1 / mbaff=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=1 / wpredb=1 / wpredp=2 / keyint=350 / keyint_min=15 / scenecut=40 / intra_refresh=0 / rc_lookahead=250 / rc=2pass / mbtree=1 / bitrate=10000 / ratetol=10.0 / qcomp=0.00 / qpmin=6 / qpmax=51 / qpstep=6 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00



1280x720

x264 core 98 r1629 2e81ce1


cabac=1 / ref=9 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=esa / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=16 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=abr / mbtree=1 / bitrate=15000 / ratetol=2.0 / qcomp=0.60 / qpmin=10 / qpmax=40 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00


720x352

x264 core 104 r1713M c276662

cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=23.3 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00


1280x720

x264 core 112 r1834+3 ef18685

cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / fade_compensate=0.30 / psy_rd=0.40:0.10 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-3 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / fgo=5 / bframes=5 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:0.60


1280x720

x264 core 114 r1913+431 3ad9c33

cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / fade_compensate=0.80 / psy_rd=0.40:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / fgo=5 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=72 / rc=crf / mbtree=1 / crf=19.0 / qcomp=0.72 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:0.80


640x480

x264 core 115 r1947 b5a8ad7

cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=tesa / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=6 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=16.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

640x480

x264 core 115 r2008 4c552d8

cabac=1 / ref=16 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=0.80:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=300 / keyint_min=12 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=2:0.40





comparable ref frame sei settings but no decoding issues (most probably decision wasn't as aggressive, working inefficient @ that time)

640x480

x264 core 50 svn-557M

cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=6 / brdo=1 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / chroma_qp_offset=0 / slices=2 / nr=0 / decimate=1 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=0 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=1885 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30


720x360

x264 core 57 svn-712M

cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=esa / subme=7 / brdo=1 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=0 / mbaff=0 / bframes=16 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=2000 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.3:0.0

1280x720

x264 core 61 r920M 8c8acae

cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=tesa / subme=7 / brdo=1 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=16 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=300 / keyint_min=25 / scenecut=40(pre) / rc=crf / crf=19.0 / rceq='blurCplx^(1-qComp)' / qcomp=1.00 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 / aq=2:1.00


1920x1080

x264 core 67 r1120M 8544346

cabac=1 / ref=8 / deblock=1:1:-3 / analyse=0x3:0x2 / me=umh / subme=9 / psy_rd=0.8:0.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=1 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=6115 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00


720x1280

x264 core 98 r1649 c54c47d

cabac=1 / ref=8 / deblock=1:-3:-3 / analyse=0x3:0x113 / me=umh / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=0 / b_bias=0 / direct=1 / weightb=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=3999 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00

1280x720

x264 core 107 r1745 4785e8e

cabac=1 / ref=9 / deblock=1:0:0 / analyse=0x3:0x13 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=9 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=130 / rc=crf / mbtree=1 / crf=19.5 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:0.60

PS: Nev could you test all these samples on your current Intel Driver i used 2639 for testing DXVA2 playback and confirm or deconfirm the issues thx

aufkrawall
11th March 2012, 13:40
Hi nev,
for how long will you continue to wait until you implement AYUV -> YV24 conversion for better EVR compatibility?
Would you be so kind to explain to me why waiting is necessary? :)

:thanks:

Pat357
11th March 2012, 16:20
The connection is clearly MPEG2.
Like i said, the Sub Type is the important part, everything else does not matter.
I don't know which tool you use to create that output. As it happens, the biCompression value for RGB is 0, and the one for MPEG-2 is as well, because it just doesn't have a FourCC.

Nev,
Have you tried seeking in this file ?
After seeking, the playback continues (not always), but the image on screen doesn't update.
This also happens when seeking back to a place that did play ok before.

The image stall after seeking doesn't happen with the MPC build-in splitter.

PS : i'm using software decoding in LAV-video for all formats.

CruNcher
11th March 2012, 16:39
Nev is aware of the seeking issues but improving seeking is more a feature first playback has to be stable ;)

PS: Im going to check some of the issues above now in context of mpc-hc especialy this mpeg-2 bitstream that even crashes transcoded with nevs dxva2.

DragonQ
11th March 2012, 16:53
Does anyone know of any utility that will show me the GPU usage of the Intel IGP? Something similar to nVidia Inspector, for example.

Thanks!

Pat357
11th March 2012, 16:58
Hi nev,
for how long will you continue to wait until you implement AYUV -> YV24 conversion for better EVR compatibility?
Would you be so kind to explain to me why waiting is necessary? :)
:thanks:
I guess (nev mentioned this before) the reason for the waiting has to do with the bug concerning YV24 in all MadVR version except the more recent one.
MadVR showed showed the U and V reversed (U was V and V was U).
This means that if people didn't update their Madvr yet for whatever reason, would get completely wrong colors.

Mind you that EVR won't work at all with Y24, because it simply doesn't support this format.
Currently, only MadVR supports YV24.
A big plus is that AviSynth also supports YV24, while AYUV is not supported.

Pat357
11th March 2012, 17:14
Does anyone know of any utility that will show me the GPU usage of the Intel IGP? Something similar to nVidia Inspector, for example.

Have you tried the latest Sysinternals Process Explorer or GPU-Z (http://www.techpowerup.com/downloads/SysInfo/GPU-Z/ )?
I can't test it myself because my CPU has no IGP.

DragonQ
11th March 2012, 17:18
Does anyone know of any utility that will show me the GPU usage of the Intel IGP? Something similar to nVidia Inspector, for example.

Thanks!
Never mind, GPU-Z seems to work fine. Apparently IGP usage is 75-80% when playing a 1080i25 file, regardless of whether I'm using software or DXVA2 Native decoding. Shweet. :D

jmonier
11th March 2012, 17:28
Here is a vc1 interlaced file that has many dropped frames when yadif is also used:

http://www.mediafire.com/?154cw3dps2hnotc

It has no problem with ffdshow using wmv9 decoder and yadif (and no problem with LAV Video when yadif is not used)

The problem is not there with every file. Blaubart's "cheeze slices" VC-1 interlaced test file works fine with yadif.

nevcairiel
11th March 2012, 17:40
Make sure you don't use MPC-HCs MPEG-TS source filter, it doesn't output VC-1 with the correct timestamps, and the WMV9 decoder has no workaround for that yet.
With LAV or Haali for MPEG-TS splitting it should be fine.

Works fine for me, at least.

jmonier
11th March 2012, 17:57
Make sure you don't use MPC-HCs MPEG-TS source filter, it doesn't output VC-1 with the correct timestamps, and the WMV9 decoder has no workaround for that yet.
With LAV or Haali for MPEG-TS splitting it should be fine.

Works fine for me, at least.

In all cases, I'm using the LAV Splitter and ZoomPlayer. It happens with both TS and MKV. I get the same results on two different machines.

Have you actually looked at the dropped frame count (in madVR)? The clip by itself doesn't look too bad, although you can see jerky motion if you look closely.

nevcairiel
11th March 2012, 18:09
Have you actually looked at the dropped frame count (in madVR)? The clip by itself doesn't look too bad, although you can see jerky motion if you look closely.

Zero dropped frames here.

Are you sure some refresh rate switcher isnt taking you to 30Hz instead of 60?

Midzuki
11th March 2012, 18:27
...
A big plus is that AviSynth also supports YV24, while AYUV is not supported.

You mean Avisynth 2.6, which still is "alphaware" :) alright.

aufkrawall
11th March 2012, 22:36
I guess (nev mentioned this before) the reason for the waiting has to do with the bug concerning YV24 in all MadVR version except the more recent one.
MadVR showed showed the U and V reversed (U was V and V was U).
This means that if people didn't update their Madvr yet for whatever reason, would get completely wrong colors.

Thanks for the explanation.


Mind you that EVR won't work at all with Y24, because it simply doesn't support this format.
Currently, only MadVR supports YV24.
A big plus is that AviSynth also supports YV24, while AYUV is not supported.
EVR supports AYUV but not YV24?
For me it doesn't work great with AYUV, picture is a little too dark (doesn't happen with madVR).
I thought changing to YV24 would fix this. :(

Plutotype
11th March 2012, 23:38
Hi Nev,

I have reported this issue in the past, but seeking in a VC-1 video when WMV9 DMO decodeer causes the lipsync issue. FFmpeg VC-1 is fine in this regard. Nothing crucial, but worth to mention.
Thanks

Pluto

Pat357
12th March 2012, 00:43
http://www.mediafire.com/?xr7ynkl2fg59g1c <- this is crazy it's a nvcuvenc h.264 transcode of the same mpeg-2 bitstream that brings the dxva2 native mpeg-2 down :P and it crashes also coincidence maybe though way to strange for one or this stream not important in which form triggers a bug in the MPC-HC render core but only with your DXVA2 Native ;)
Interesting information, and especially much and detailed !
What do you mean by a " nvcuvenc h.264 transcode" ?
Did you use the LAV cuvid decoder to decode and x264 to re-encode ?
You talk about "nvcuvenc" : is this a separate application from Nvidia ?
I thought the CUVID API can only decode, because there is no hardware in NVidia cards to encode, only to decode video.

However, I believe I saw something similar a long time ago from Neuron2 : there was even a source called nvcuvenc IIRC, but I never got it working.

Pat357
12th March 2012, 01:01
You mean Avisynth 2.6, which still is "alphaware" :) alright.
Alphaware doesn't mean to much in this context : I use the sET v2.6 MT build (13.09.2011) and never got any problem with it.
It seems to be very stable for me....
Look at MPC-HC, FFDshow, Madvr, PotP, ... : we all like to use the latest versions for the added features, but it's basically also still in "alpha-stage" !
The latest "official" FFDshow is from 2007 IIRC, are you still using this ? :rolleyes:
What version of LAV are you using ? version 1.0 ?:p

Midzuki
12th March 2012, 01:51
What version of LAV are you using ? version 1.0 ?:p

0.49.
As for Avisynth itself, I keep using version 2.5.8 --- but probably it's the time to go thru the "upgrade" :rolleyes:

OK, you are right this time :stupid:

Pat357
12th March 2012, 02:02
Make sure you don't use MPC-HCs MPEG-TS source filter, it doesn't output VC-1 with the correct timestamps, and the WMV9 decoder has no workaround for that yet.
With LAV or Haali for MPEG-TS splitting it should be fine.

Nev,
Is this also for WMV 1-2 or 3 ?
Does the code to decode VC1 also work for WMV3 ?
The reason I ask is when WMV3 can be fully accelerated (DXVA output) is it using the same VC-1 decoder on the graphic card
or is there next to H264,MPEG2,VC1 and MP4-ASP another piece of hardware that does the WMV3 acceleration to DXVA ?
One should think, if it is possible with the same HW, it should be possible with the same software... no?

This has always puzzled me..

nevcairiel
12th March 2012, 07:50
EVR supports AYUV but not YV24?
For me it doesn't work great with AYUV, picture is a little too dark (doesn't happen with madVR).
I thought changing to YV24 would fix this. :(

Thats the whole point. EVRs AYUV support is terribly broken, which is why i want to turn AYUV off by default, but i needed a replacement for 4:4:4 first. I implemented YV24 already, but its not activated yet.

EVR doesn't support anything but AYUV for 4:4:4, so instead it'll then get RGB, which is much better for EVR anyway, and madVR will receive YV24.

Does the code to decode VC1 also work for WMV3 ?
The reason I ask is when WMV3 can be fully accelerated (DXVA output) is it using the same VC-1 decoder on the graphic card


The new decoder works for both VC-1 and WMV3. Its essentially the same codec. WMV3 is Simple and Main Profile, and VC-1 adds a new "Advanced Profile", but otherwise its the same codec.
Same goes for DXVA.

WMV1/2 are completely different and not supported by hardware, or the new decoder.

PS:
I don't think i've seen WMV3 in MPEG-TS, so the post you quoted doesn't apply anyway.

madshi
12th March 2012, 08:12
Maybe you could use a 10bit 4:4:4 FOURCC for the time being, instead of AYUV?

nevcairiel
12th March 2012, 08:19
Maybe you could use a 10bit 4:4:4 FOURCC for the time being, instead of AYUV?

I could, but i never liked the idea of converting 8 to 10 bit.
I also would need to write such a function first, because i don't trust swscale (which is the fallback for all conversions that i didn't implement manually)

I'll just enable YV24 in one of the upcoming builds, and make people either turn it off or upgrade madVR if they complain. ;)

madshi
12th March 2012, 08:27
Yes, that's fine with me.

e-t172
12th March 2012, 14:39
Is there a way to check what output audio bit depths my audio card supports? I'm very sure it's 16-bit but I'm not 100% sure.

On Windows 7, you can see the list of supported audio formats in the properties of the audio output, "Advanced" tab.

Also, If I'm using ffdshow audio processor just to downmix the audio and LAV Audio for decoding, is it better to have LAV Audio send a 32-bit float stream to ffdshow audio processer and have ffdshow dither the bit depth to 16-bit or just deselect everything but 16-bit depth in LAV Audio and have ffdshow not touch the bit depth?

If you're processing the audio stream (in your case downmixing), then it's better to keep the audio in 32-bit float until the very last step. It very probably won't make a audible difference, but at least you'd be on the safe side.

hoboX10
12th March 2012, 16:00
Hey, I have a problem with the LAV video decoder, other people may have this too.

If I enable NVIDIA CUVID Hardware Acceleration with the latest drivers (version 295.73) then any H264 playback will cause a Blue Screen upon loading the decoder.

I should say that this is with NVIDIA's Verde drivers (Mobile Graphics Drivers) and may not be an issue with their standard graphics drivers.

Thanks for reading.

jmonier
12th March 2012, 16:06
Zero dropped frames here.

Are you sure some refresh rate switcher isnt taking you to 30Hz instead of 60?

I'm not using any sort of refresh rate changer. I can see no indication that the refresh rate is changing and the display always says 60.

Remember that this clip works fine (no dropped frames) when the wmv9 decoder AND yadif is used in ffdshow. It's only in LAV Video that the same combination gives a problem.

Just to be absolutely sure that we're on the same page: You do have yadif on, don't you? It only has the dropped frames when yadif is used.

This clip is from a blu-ray that is a real test of vc1 interlaced. I find that it needs a really fast cpu to run smoothly with the wmv9 decoder. It's not the only one that is like that, but there are certainly others that don't have nearly the problems. I do have a i7-2600, though, and have never seen any problems with it and this blu-ray except with LAV Video with yadif enabled. I also don't see any indication that the cpu is maxed out when the problem occurs.

EDIT (ADDED):

I've tried several different settings in madVR (including no, no, no, fw(s)) with no change. Basically the madVR queues are always almost empty indicating that LAV Video is not able to keep up.

MORE INFO:

If I check "Treat as progressive", there are no dropped frames, but I can see (if I look carefully) that the picture is NOT de-interlaced. That certainly seems to point to something that is happening in your yadif implementation.

BetaBoy
12th March 2012, 16:28
CoreAVC DXVA, Lav Video DXVA and Potplayer DXVA fail with these x264 streams (same visual problem mostly gray blocking on specific frames, ref frames related, the more surprising would be that Arcsoft and Cyberlink found a way to compensate it without losing DXVA, or they use quicksync natively and Intels Driver MSDK fixes it) Cyberlink DXVA and Arcsofts DXVA implementation handle them on Intel without problems and fully accelerated :)


We are looking into it... thank you for sure a great report!

nevcairiel
12th March 2012, 18:38
I also don't see any indication that the cpu is maxed out when the problem occurs.


Neither the decoder nor YADIF are multithreaded, so maxed out would mean that one core is maxed out, which really isn't easy to see.

Can you benchmark it with GraphStudio, and see what you get?
Without YADIF, i get 61 fps on that clip, with YADIF in 50/60p mode around 70. I can see how there isn't a big margin.

Before anyone asks, YADIF doesn't make it faster, during the deinterlacing process the frames get doubled.

I can probably move YADIF processing into a worker thread somehow so that decoding can already resume while YADIF is working, or try to multi-thread YADIF itself (or both).

DragonQ
12th March 2012, 18:41
I assumed that YADIF processing was on a separate thread to the decoding anyway?

nevcairiel
12th March 2012, 18:44
I assumed that YADIF processing was on a separate thread to the decoding anyway?

You assumed wrong.
That isn't really all that trivial, because the decoder likes to re-use the same data buffer, so it need to wait until YADIF is done.

Changing that so that i can feed the decoder with its own buffer is kinda tricky.

nevcairiel
12th March 2012, 18:54
Try this version, it adds multi-threading support to YADIF itself, in a rather simple way using OpenMP.

http://files.1f0.de/lavf/LAVFilters-0.49-yadifmt.zip

Performance went from 70 to 90 fps for me.
If i can move processing into a worker thread, it can probably make the yadif process nearly transparent.

jmonier
12th March 2012, 19:31
Try this version, it adds multi-threading support to YADIF itself, in a rather simple way using OpenMP.

http://files.1f0.de/lavf/LAVFilters-0.49-yadifmt.zip

Performance went from 70 to 90 fps for me.
If i can move processing into a worker thread, it can probably make the yadif process nearly transparent.

This version makes things better but not good enough. It starts out with no dropped frames and the queues are filling up better but never fill up totally (as they do normally). After a few seconds, the dropped frames start to appear and continue to increase.

I can't help thinking that there's something here that's using more cpu than it should (especially since ffdshow works fine with the same components).

I haven't used GraphStudio before so I'll try to get setup and check with that as soon as I can.

nevcairiel
12th March 2012, 19:50
You aren't using RGB32 output in combination with YADIF, are you?

I have a 2600k myself, and it plays just fine. But it gets slow when i use RGB output.

PS:
GraphStudio doesn't need much setup, just run the tool and select "View -> Decoder Performance" in the menu. Make sure renderer is null renderer, select file and LAV Video as decoder, and go.

DragonQ
12th March 2012, 19:56
If you are using RGB32, definitely try turning that off cos it was certainly much slower in a few tests I did with LAV a while ago.

jmonier
12th March 2012, 20:24
I got GraphStudio running. All output formats were checked but I unchecked RGB32 and RGB24 just to be safe and there was no difference.

With the NEW build I get 45 fps without YADIF and 66 fps with. I have no idea why mine should be so much slower than yours although mine is the non-K version. I remember something about the K version allowing access to the on-chip video, but I don't know what difference that would make and I could be mistaken anyway. In any case, I have the P67 chipset so I wouldn't have access to on-chip video. At least we know what the difference is between your's and mine even if we don't know why it should be.

CORRECTION: These numbers are on my i7-950 test machine. I still don't think that it should be that much slower, however. Later this afternoon (evening for you?), I'll get numbers off the i7-2600 machine.

nevcairiel
12th March 2012, 20:42
For the record, i just benchmarked ffdshow on that VC-1 sample with wmv9 and YADIF, and i only get 63 fps (90 fps for LAV).

Maybe you don't have "Double Framerate" checked in ffdshows YADIF? (its off by default)
If thats the case, you can set LAV to 25/30p to get the same effect. It'll need only half the processing power that way.

I'm now working on moving YADIF onto a worker thread to see what happens. Will be a while though, Inter-Thread-Communication is always a headache.

PS:
Its already evening. :)

jmonier
12th March 2012, 22:49
"Double Framerate" in ffdshow WAS off, however I set it on and everything still worked OK even on my i7-950. It benchmarked at 45 fps either way, so apparently "Double Framerate" is not working (or is done at no cost somehow?). It's fairly recent (3964 Jan 3 2012), what version are you using?

I checked decoding on my i7-2600 and it was 53 fps with YADIF off and 60 with YADIF on using 0.49. It went up to 80 using 0.49-yadifmt. It works perfectly with that build - no dropped frames and queues full (or almost) at all times.

I think that we're on the same page now. It looks like your 2600K is about 10% faster than my 2600 (and that made all the difference). Maybe it's overclocked?

For anyone reading this, I should emphasize that, in my experience, many vc1 interlaced files will work fine even with the original 0.49 build, but others won't. I don't know how to tell in advance which is which, however. It is very dependent on cpu speed. The Microsoft wmv decoder (even outside LAV Video) will have trouble with some vc1 interlaced files with all but the fastest cpu's.

Pat357
12th March 2012, 22:50
I've tried several different settings in madVR (including no, no, no, fw(s)) with no change. Basically the madVR queues are always almost empty indicating that LAV Video is not able to keep up.

I just checked your clip and, yes, I do see what you see.

LAV CUVID + HW interlacing : plays smooth
LAV (WMO) + Madvr (deinterlacing) : smooth
LAV (WMO) + yadif :
the first half of the clip, I see no dropped frames.
However, I see the decoder queue going down. Normally it stays at 15-16 (complete filled).
The second half of the clip, I notice a very low decoder queue (6 and lower) and at 80% of the clip, it starts dropping frames.

My first thought was it 's because both the WMO decoder and LAV-yadif are not multi-threaded.
Without yadif, the WMO decoder tops on 105 fps on my system, so that would mean that yadif is taken *a lot* resources.

The ffdshow implementation of Yadif is however MT IIRC, that's probably the reason why it runs smoother with the DMO decoder.

To make it simple for now, just disable yadif and let Madvr or EVR do the de-interlacing : it's faster and will give a superior result compared to yadif.

Nev : is making yadif multi-threaded still on your to do list ?

dead_screem
12th March 2012, 23:26
Is it just me or is the "Use Stream Aspect Ratio" option in LAV Video broke? Even with it checked, it always uses the container AR. I would think with that option checked it should be ignoring the container AR (passed from the splitter), right?

Pat357
13th March 2012, 00:00
I think that we're on the same page now. It looks like your 2600K is about 10% faster than my 2600 (and that made all the difference). Maybe it's overclocked?

For anyone reading this, I should emphasize that, in my experience, many vc1 interlaced files will work fine even with the original 0.49 build, but others won't. I don't know how to tell in advance which is which, however. It is very dependent on cpu speed. The Microsoft wmv decoder (even outside LAV Video) will have trouble with some vc1 interlaced files with all but the fastest cpu's.
That's why it's nice to have HW accelerated video using your GPU.

Tested with GraphstudioNext :
CUVID + HW interlacing 50/60 : 138 fps
DXVA-CB (no deinterlacing) : 69 fps
DXVA-CB + yadif MT (LAV) : 137 fps

It seems that yadif MT on my system can keep up with 69 fps coming in from VP and outputting 2*69 = 138 fps.
In this combination there is no noticeable slowdown because of yadif mt anymore.
It seems in general if the HW-modes can handle the stream, they don't suffer from performance degradation with certain VC-1 files like the WMO does.

jmonier
13th March 2012, 00:00
I just checked your clip and, yes, I do see what you see.

My first thought was it 's because both the WMO decoder and LAV-yadif are not multi-threaded.
Without yadif, the WMO decoder tops on 105 fps on my system, so that would mean that yadif is taken *a lot* resources.

The ffdshow implementation of Yadif is however MT IIRC, that's probably the reason why it runs smoother with the DMO decoder.

To make it simple for now, just disable yadif and let Madvr or EVR do the de-interlacing : it's faster and will give a superior result compared to yadif.

Nev : is making yadif multi-threaded still on your to do list ?

A lot of what you say has been covered in posts subsequent to the one of mine that you replied to.

I'm fully aware of the value of the madVR de-interlacer. I use Zoomplayer and in order to use subtitles I need the de-interlacing done prior to the renderer so it's not an option for general use right now. I do use the wmv decoder directly to the madVR de-interlacer for vc1 right now since there is very little vc1 interlaced material and thus the subtitle problem is not a big one. I'd rather use LAV Video for everything, however, so that's why I was trying this solution.

Pat357
13th March 2012, 00:03
Is it just me or is the "Use Stream Aspect Ratio" option in LAV Video broke? Even with it checked, it always uses the container AR. I would think with that option checked it should be ignoring the container AR (passed from the splitter), right?
If the stream has an aspect ratio, it should take this one.
Even when that option is checked and the stream has no aspect ratio, then it has no choice then take the one from the container.

jmonier
13th March 2012, 00:07
That's why it's nice to have HW accelerated video using your GPU.


It's fine if Nvidia works for you. For reasons unrelated to video decoding, it doesn't work for me. DXVA on ATI/AMD is not as clean so I prefer software decoding.

Pat357
13th March 2012, 00:15
A lot of what you say has been covered in posts subsequent to the one of mine that you replied to.

I'm fully aware of the value of the madVR de-interlacer. I use Zoomplayer and in order to use subtitles I need the de-interlacing done prior to the renderer so it's not an option for general use right now. I do use the wmv decoder directly to the madVR de-interlacer for vc1 right now since there is very little vc1 interlaced material and thus the subtitle problem is not a big one. I'd rather use LAV Video for everything, however, so that's why I was trying this solution.
Is dxva-cb + yadiff or cuvid with HW deinterlacing not an option ?
Ah.. you must have a GPU with slow copy back : ATI ?
On Nvidia, you would have the above very fast options.

Edit : you were a tad faster then me :D

magic144
13th March 2012, 03:10
@dead_screem - I think it very much depends on the player and the settings therein...

which player are you using
I had to take the time to learn what all the settings in ZP did recently, and how they interacted with LAV re: AR.

dead_screem
13th March 2012, 04:03
@dead_screem - I think it very much depends on the player and the settings therein...

which player are you using
I had to take the time to learn what all the settings in ZP did recently, and how they interacted with LAV re: AR.

MPC-HC.

And player shouldnt matter, at all.

for instance a file can have two different aspect ratios stored, one in the container and the one in the video stream. If a file has for instance 16:9 aspect in the container and 4:3 in the video stream. LAV Splitter will pass the 16:9 aspect from the container to the video decoder, but LAV Video just passes on the 16:9 container aspect to the Renderer instead of ignoring it and passing 4:3 what was in the video stream to the renderer. I tested with MPEG-2 and H.264/MPEG-4 AVC.

Ofcourse LAV would have no way to determine which aspect in the file is correct, thats what I thouht this option was for. But it doesn't appear to do anything.

magic144
13th March 2012, 05:13
@dead_screem
hmm, I had the opposite experience with ZP...
I wanted to remux an h.264 stream so as to set a container AR to override the stream's AR (which had been wrongly encoded)
if I unchecked the LAV setting it would work, and if I checked it, it would further depend on some ZP-specific interpretation options...

on the other hand, I tried the newly remuxed file in MPC-HC and it just used the container's AR - using the built-in decoder

EDIT - just tried MPC-HC with LAV Video on my test clip - it seems to behave as you would want - i.e. if I check the LAV setting, the video is rendered at the stream AR, but if I uncheck it, it uses the container AR...

MPC-HC 1.6.0.4014, LAV 0.49, EVR...

dead_screem
13th March 2012, 05:27
EDIT - just tried MPC-HC with LAV Video on my test clip - it seems to behave as you would want - i.e. if I check the LAV setting, the video is rendered at the stream AR, but if I uncheck it, it uses the container AR...

MPC-HC 1.6.0.4014, LAV 0.49, EVR...

What format of video is your test clip? small enough to put online somewhere so I can test?

magic144
13th March 2012, 05:38
This is it (it's only 3MB):-
http://www.mediafire.com/download.php?yje5lzz1wqkqvun

the vid stream is 1024*720, but needs to be displayed at 16:9 AR...
(I set the container display options to 1280*720)

Midzuki
13th March 2012, 05:40
Hmmm, maybe LAV Video should just use the same technique as the DivX H264 Decoder 8.2.0.26 ---

--- instead of a checkbox, a drop-down list. :p

dead_screem
13th March 2012, 05:55
Aha. The option DOES appear to work but LAV is using the "wrong" stream aspect.

the video stream info from media info from your file

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Muxing mode : Header stripping
Codec ID : V_MPEG4/ISO/AVC
Duration : 10s 0ms
Bit rate : 2 075 Kbps
Nominal bit rate : 2 200 Kbps
Width : 1 024 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Original display aspect ratio : 1.422
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.113
Stream size : 2.47 MiB (90%)
Writing library : x264 core 107 r1745 4785e8e
Encoding settings : cabac=1 / ref=4 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=4 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=2200 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Default : Yes
Forced : No

Notice it has "Display aspect ratio" and "Original display aspect ratio" LAV Video is using the "Original display aspect ratio" from the stream instead of "Display aspect ratio" like it should.

My files (MPEG-2 and H.264) don't have a "Original display aspect ratio" field. but just a normal "Display aspect ratio" field only, so LAV Video must be thinking my files have no AR in the stream. And just fyi, 1 file I have is 720x480 with 16:9 aspect in the MPEG container but 2.35:1 "Display aspect ratio" in the MPEG-2 stream. I have another H.264 which has something weird as the aspect in the TS container like 15:11 but 4:3 as the "Display aspect ratio" in the stream. neither have a "Original display aspect ratio" field in the stream.

the "Original display aspect ratio" field in my limited experience, I almost never see set. And the few times I have seen it, its always been set to 1:1 like it is here. and the real aspect is at "Display aspect ratio"

magic144
13th March 2012, 06:02
Well, I'm no expert, I'll have to leave it to nev (or some other informed personage) to comment further.
:)

nevcairiel
13th March 2012, 07:16
Notice it has "Display aspect ratio" and "Original display aspect ratio" LAV Video is using the "Original display aspect ratio" from the stream instead of "Display aspect ratio" like it should.

My files (MPEG-2 and H.264) don't have a "Original display aspect ratio" field. but just a normal "Display aspect ratio" field only, so LAV Video must be thinking my files have no AR in the stream. And just fyi, 1 file I have is 720x480 with 16:9 aspect in the MPEG container but 2.35:1 "Display aspect ratio" in the MPEG-2 stream. I have another H.264 which has something weird as the aspect in the TS container like 15:11 but 4:3 as the "Display aspect ratio" in the stream. neither have a "Original display aspect ratio" field in the stream.

the "Original display aspect ratio" field in my limited experience, I almost never see set. And the few times I have seen it, its always been set to 1:1 like it is here. and the real aspect is at "Display aspect ratio"

Blame MediaInfo for confusing display of information.
If both fields are listed by MediaInfo, then "Display Aspect Ratio" is the Container AR, and "Original display aspect ratio" is the Bitstream AR. LAV Video does the right thing to use the Original display aspect ratio if you have Stream AR enabled. The Bitstream only ever contains one value, not two (or maybe zero)

If only one field is listed, your bet is as good as mine which field MediaInfo read there.
For the record, MPEG containers (ts/mpg) do NOT have a container AR, so any AR you see there is from the stream itself.

LAV Video does (mostly) the right thing. There is one known small glitch with the CUVID decoder when there is no stream AR at all, it assumes the resolution matches the AR. If you have a sample that has the correct AR with software decoding but wrong with CUVID, then give me a sample so i can fix it.

In my experience, Stream AR is only useful with MPEG TS files, for MKV or other containers with their own AR fields, alot of people neglect writing the proper AR into the Bitstream fields.
I've been pondering adding an option to LAV Splitter to overwrite the Bitstream AR with the Container AR for such formats (like Haali does), for one to help decoders that have no option to turn Bitstream AR off, and additionally to avoid having to flip that switch all the time.

dead_screem
13th March 2012, 08:02
Blame MediaInfo for confusing display of information.
If both fields are listed by MediaInfo, then "Display Aspect Ratio" is the Container AR, and "Original display aspect ratio" is the Bitstream AR. LAV Video does the right thing to use the Original display aspect ratio if you have Stream AR enabled. The Bitstream only ever contains one value, not two (or maybe zero)

If only one field is listed, your bet is as good as mine which field MediaInfo read there.
For the record, MPEG containers (ts/mpg) do NOT have a container AR, so any AR you see there is from the stream itself.

LAV Video does (mostly) the right thing. There is one known small glitch with the CUVID decoder when there is no stream AR at all, it assumes the resolution matches the AR. If you have a sample that has the correct AR with software decoding but wrong with CUVID, then give me a sample so i can fix it.

In my experience, Stream AR is only useful with MPEG TS files, for MKV or other containers with their own AR fields, alot of people neglect writing the proper AR into the Bitstream fields.
I've been pondering adding an option to LAV Splitter to overwrite the Bitstream AR with the Container AR for such formats (like Haali does), for one to help decoders that have no option to turn Bitstream AR off, and additionally to avoid having to flip that switch all the time.

http://www.4shared.com/video/NLQL0ENA/HALCALI.html
here is a MPEG-2 file, container AR is 16:9 (which is correct) stream AR is 2.35:1, which is wrong in this example but LAV Video never uses it no matter if the option is checked or unchecked. I can't seem to find any of my MPEG-2 files where the stream is right and container is wrong(I know I have some, but I have lots and lots, too many to sort through) I also can't find a H.264 TS that had this problem except the one I mentioned previously, which is a sample someone posted to this thread already, so you should already have it "538000Mhz.ts", container AR is 15:11 and stream AR is 4:3 and 4:3 never gets used by LAV, either with AR option checked or unchecked. I can reup that ts if you dont have it anymore.

nevcairiel
13th March 2012, 08:04
http://www.4shared.com/video/NLQL0ENA/HALCALI.html
here is a MPEG-2 file, container AR is 16:9 (which is correct) stream AR is 2.35:1, which is wrong in this example but LAV Video never uses it no matter if the option is checked or unchecked. I can't seem to find any of my MPEG-2 files where the stream is right and container is wrong(I know I have some, but I have lots and lots, too many to sort through) I also can't find a H.264 TS that had this problem except the one I mentioned previously, which is a sample someone posted to this thread already, so you should already have it "538000Mhz.ts", container AR is 15:11 and stream AR is 4:3 and 4:3 never gets used by LAV, either with AR option checked or unchecked. I can reup that ts if you dont have it anymore.

TS and MPG files do NOT have a Container AR. Its just not possible, they have no header to encode such things into.
I don't know how MediaInfo determines that value, but its clearly invalid. Don't trust MediaInfo unconditionally. The AR of that file is 16:9, and its clearly stated like that in the MPEG-2 Headers (the video stream headers, not the container)

dead_screem
13th March 2012, 08:12
TS and MPG files do NOT have a Container AR. Its just not possible, they have no header to encode such things into.

my mistake then. by all means educate me. the mpg i posted is 720x480 and correct aspect should be 16:9, which LAV splitter gets right. And turning the aspect ratio on/off and its always 16:9. Media info says the stream AR is 2.35:1.

MPC-HC's own decoder (libmpeg2) has a Use stream AR option, with it off it gets 16:9 (passed from the splitter, LAV and MPC-HC own TS splitter is the same) but with it on it gets 2.35:1 like what media info says. But LAV Video still gets 16:9 from stream AR. what is going on then?

edit
http://www.4shared.com/file/1RSRE8i1/538000Mhz.html
I cant find any of my h264 ts that had problems, but whatever. here is the other file I mentioned, LAV says 15:11 but mediainfo says 4:3... 4:3 is what it should be... but of course 15:11 (1.36) and 4:3 (1.33) are close enough that pepole wouldnt notice.

nevcairiel
13th March 2012, 09:28
MPEG-2 video is a bit special because its header information has the information in some odd ways, and ffmpeg has quite a few workarounds to rather match real-world files instead of strict specs. Its possible that libmpeg2 just strictly follows the spec and therefor ends up with a wrong AR.
Unless you can find a file that actually shows wrong behavior, there isn't anything to do for me.

Note that this depends on which codec is used, so H264 and MPEG-2 might be completely different beasts.

Edit:
The second file specifiys a aspect ratio index of "2", which according to the H264 spec is a SAR of 12:11*, which translates to a PAR of 15:11 on your videos resolution. Working as intended.
Like i said, don't take MediaInfo as an authoritative source for everything. It may be interpreting or mis-representing data.

* This particular AR seems to be meant for 4:3 PAL signals with horizontal overscan, at least according to the spec, which would explain why its being stretched to a slightly bit wider then 4:3

BetaBoy
13th March 2012, 10:37
CoreAVC DXVA, Lav Video DXVA and Potplayer DXVA fail with these x264 streams (same visual problem mostly gray blocking on specific frames, ref frames related, the more surprising would be that Arcsoft and Cyberlink found a way to compensate it without losing DXVA, or they use quicksync natively and Intels Driver MSDK fixes it) Cyberlink DXVA and Arcsofts DXVA implementation handle them on Intel without problems and fully accelerated :)

All of them Playback without issues with Cyberlinks and Arcsofts DXVA Decoder as well as Quicksync

http://www.mediafire.com/?scdzhe8e1gaxygh (gray blocking whole frames)
http://www.mediafire.com/?ucq118nxpnc4of7 (colored blocking part of frame then whole frames)
http://www.mediafire.com/?ykd7185z7j9db21 (practically every frame)
http://www.mediafire.com/?rld8gnlh52f03ud <- is a different decoding issue not ref frame related (Quicksync and Lav Video DXVA problem) plays flawless with Potplayer DXVA and CoreAVC DXVA
http://www.mediafire.com/?xr7ynkl2fg59g1c <- this is crazy it's a nvcuvenc h.264 transcode of the same mpeg-2 bitstream that brings the dxva2 native mpeg-2 down :P and it crashes also coincidence maybe though way to strange for one or this stream not important in which form triggers a bug in the MPC-HC render core but only with your DXVA2 Native ;)
http://www.mediafire.com/?sdqa98x8ig6msng <- fails with a green screen though arcsoft (black screen) and cyberlink (only decodes half of the stream) also have problems coreavc dxva plays it potplayer crashes in ntdll :P quicksync works
http://www.mediafire.com/?bji8i63j93skh2a <- sharing these Decoding problems on Blu-Ray Encodes with CoreAVC and Potplayers DXVA (Arcsoft and Cyberlink work)
http://www.mediafire.com/?wtku126e9k13z61 <- another blu-ray test in native m2ts same issue as above in .mkv

resolution, version and settings of different x264 streams showing the same decoding problem with DXVA decoding on both decoder

1280x720

x264 core 88 r1471 1144615

cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=10 / psy=0 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=0 / threads=1 / sliced_threads=0 / nr=0 / decimate=1 / mbaff=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=1 / wpredb=1 / wpredp=2 / keyint=350 / keyint_min=15 / scenecut=40 / intra_refresh=0 / rc_lookahead=250 / rc=2pass / mbtree=1 / bitrate=10000 / ratetol=10.0 / qcomp=0.00 / qpmin=6 / qpmax=51 / qpstep=6 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00



1280x720

x264 core 98 r1629 2e81ce1


cabac=1 / ref=9 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=esa / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=16 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=abr / mbtree=1 / bitrate=15000 / ratetol=2.0 / qcomp=0.60 / qpmin=10 / qpmax=40 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00


720x352

x264 core 104 r1713M c276662

cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=23.3 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00


1280x720

x264 core 112 r1834+3 ef18685

cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / fade_compensate=0.30 / psy_rd=0.40:0.10 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-3 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / fgo=5 / bframes=5 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:0.60


1280x720

x264 core 114 r1913+431 3ad9c33

cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / fade_compensate=0.80 / psy_rd=0.40:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / fgo=5 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=72 / rc=crf / mbtree=1 / crf=19.0 / qcomp=0.72 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:0.80


640x480

x264 core 115 r1947 b5a8ad7

cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=tesa / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=6 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=16.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

640x480

x264 core 115 r2008 4c552d8

cabac=1 / ref=16 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=0.80:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=300 / keyint_min=12 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=2:0.40





comparable ref frame sei settings but no decoding issues (most probably decision wasn't as aggressive, working inefficient @ that time)

640x480

x264 core 50 svn-557M

cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=6 / brdo=1 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / chroma_qp_offset=0 / slices=2 / nr=0 / decimate=1 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=0 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=1885 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30


720x360

x264 core 57 svn-712M

cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=esa / subme=7 / brdo=1 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=0 / mbaff=0 / bframes=16 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=2000 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.3:0.0

1280x720

x264 core 61 r920M 8c8acae

cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=tesa / subme=7 / brdo=1 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=16 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=300 / keyint_min=25 / scenecut=40(pre) / rc=crf / crf=19.0 / rceq='blurCplx^(1-qComp)' / qcomp=1.00 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 / aq=2:1.00


1920x1080

x264 core 67 r1120M 8544346

cabac=1 / ref=8 / deblock=1:1:-3 / analyse=0x3:0x2 / me=umh / subme=9 / psy_rd=0.8:0.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=1 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=6115 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00


720x1280

x264 core 98 r1649 c54c47d

cabac=1 / ref=8 / deblock=1:-3:-3 / analyse=0x3:0x113 / me=umh / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=0 / b_bias=0 / direct=1 / weightb=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=3999 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00

1280x720

x264 core 107 r1745 4785e8e

cabac=1 / ref=9 / deblock=1:0:0 / analyse=0x3:0x13 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=9 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=130 / rc=crf / mbtree=1 / crf=19.5 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:0.60

PS: Nev could you test all these samples on your current Intel Driver i used 2639 for testing DXVA2 playback and confirm or deconfirm the issues thx
All the clips play fine with CoreAVC 3.1, however the 720p-cuda.mkv has the errors encoded into the stream itself.

SeeMoreDigital
13th March 2012, 10:43
I don't know how MediaInfo determines that value, but its clearly invalid. Don't trust MediaInfo unconditionally. The AR of that file is 16:9, and its clearly stated like that in the MPEG-2 Headers (the video stream headers, not the container)MediaInfo probably took the AR information from the "Sequence Display Extension"... on this occasion.

DragonQ
13th March 2012, 10:57
FWIW, when I first installed MediaPortal and got it playing TV from my tuner card, I had to enable "Use stream aspect ratio" in LAV to get the 1440x1080 HD channels to correctly display as 16:9. When it was unticked, they'd playback at square aspect ratio (4:3). That was a long time ago though (late November IIRC) so I have no idea if that's still the case.

Mercury_22
13th March 2012, 11:36
Nev can you please help with a compatibility issue with TrueHD:
I'm trying to play my "The Fifth Element" (remastered) BD with "dslibbluray" (http://forum.doom9.org/showthread.php?t=164314) but when the main movie starts the playback it's very "choppy" and I'm getting this error in "dslibbluray" [truehd @ 0003d5a0] mlpparse: Parity check failed.
[truehd @ 0003d5a0] Lossless check failed - expected f3, calculated b7.
But if I use FFD the playback it's smooth with no error in dslibbluray
Also when using native I can't play the mpeg2 parts in the same BD but with CB and SW it's working

It will be nice if you could take a look cause I don't want to go back to FFD :) :thanks:

P.S. more here http://forum.doom9.org/showthread.php?p=1564937#post1564937

EDIT: WOW you're fast :)

EDIT 2 forgot to mention MPC-HC with native it's playing fine the same files

nevcairiel
13th March 2012, 11:53
It will be nice if you could take a look cause I don't want to go back to FFD :) :thanks:

That filter is pre-alpha, if you use it and it doesn't work, its not my fault, complain to the author.
I will not waste my time with it.

mindbomb
13th March 2012, 14:46
so, if i use the mpc hc "save image" function while using lav video forced to output rgb32, the resulting png will be from the rgb?

CruNcher
13th March 2012, 15:19
All the clips play fine with CoreAVC 3.1, however the 720p-cuda.mkv has the errors encoded into the stream itself.

jup that's known the stream is buggy even as the Mpeg-2 version , still it's the x264 benchmark stream, this stream is crazy as i said with Nev DXVA2 as both this transcode and the original Mpeg-2 this H.264 was transcoded from crash it or Intels Driver, good news Dan for CoreAVC 3.1 (also getting all the ref frames problems under control like Arcsoft and Cyberlink did) especially for the stream that even Arcsoft and Cyberlink fail on though CoreAVC 3.0.1 already plays it without problems on Intel :)

RBG
13th March 2012, 18:19
Has anybody tested new nvidia driver 296.10, is mpeg-4 asp still broken?

hoboX10
13th March 2012, 18:27
Has anybody tested new nvidia driver 296.10, is mpeg-4 asp still broken?

ASP? Do you mean AVC? I made a post about 2 pages back that got completely ignored, I assume because it's already a known issue, about me getting a bluescreen whenever I play back H264 video with NVIDIA CUVID on with the latest 295 drivers. I'm assuming you are talking about the same problem and meant mpeg4-avc.

sagematt
13th March 2012, 18:56
LAV Filters no longer detects that my CPU supports QuickSync (Core i7-2630QM, H67), this is on version 0.49, it says "Not Available" at all times. On LAV Filters 0.46 it works just fine. I tried using 0.49 with IntelQuickSyncDecoder.dll from 0.46, but it still won't detect/enable QuickSync. Any ideas?

RBG
13th March 2012, 19:00
ASP? Do you mean AVC? I made a post about 2 pages back that got completely ignored, I assume because it's already a known issue, about me getting a bluescreen whenever I play back H264 video with NVIDIA CUVID on with the latest 295 drivers. I'm assuming you are talking about the same problem and meant mpeg4-avc.

No I mean exactly MPEG-4 ASP (http://en.wikipedia.org/wiki/MPEG-4_Part_2), some driver versions work with it just fine some not.

By the way, what is wrong with h.264, what hardware do you have?

SeeMoreDigital
13th March 2012, 19:23
Has anybody tested new nvidia driver 296.10, is mpeg-4 asp still broken?Really... When placed in which container?

nevcairiel
13th March 2012, 21:17
Here is a new version with yet improved YADIF multi-threading.

In addition to multi-threading YADIF itself, i moved it onto a worker thread, so decoding and deinterlacing can run in parallel.

http://files.1f0.de/lavf/LAVFilters-0.49-yadifmt2.zip

Because its quite some effort to make the decoders output buffers thread-safe, i only did this for the WMV9 decoder for this version. So when testing, keep in mind that this is only effective for VC-1 interlaced samples.
I do plan to do this at least for the avcodec software decoder and the DXVA2-CB decoder as well, and maybe the CUVID decoder. QuickSync is not possible right now because i cannot modify its buffer allocation, but its also not required because the decoder runs extremely fast.

Performance on the sample by jmonier is now 110 fps for me with YADIF 50/60p output. Up from originally 70 with 0.49 release.

sneaker_ger
13th March 2012, 21:23
80 fps now on Core i7-860.

jmonier
13th March 2012, 21:52
It's now 81 fps on my i7-950 (up from 66 on the previous build). Plays perfectly now - no dropped frames (as you would expect).

98 fps on the i7-2600 (consistent with your results).

hoboX10
13th March 2012, 22:22
No I mean exactly MPEG-4 ASP (http://en.wikipedia.org/wiki/MPEG-4_Part_2), some driver versions work with it just fine some not.

By the way, what is wrong with h.264, what hardware do you have?

It's my laptop, with an Nvidia Geforce 310M.

Here's my original post for you to read:
Hey, I have a problem with the LAV video decoder, other people may have this too.

If I enable NVIDIA CUVID Hardware Acceleration with the latest drivers (version 295.73) then any H264 playback will cause a Blue Screen upon loading the decoder.

I should say that this is with NVIDIA's Verde drivers (Mobile Graphics Drivers) and may not be an issue with their standard graphics drivers.

Thanks for reading.

I know it's the drivers because I reinstalled the older drivers again (version 285.62) and NVIDIA CUVID works perfectly again.

aufkrawall
14th March 2012, 00:18
EVR doesn't support anything but AYUV for 4:4:4, so instead it'll then get RGB, which is much better for EVR anyway, and madVR will receive YV24.

Is there any kind of dithering when converting YUV 4:4:4 to RGB?

nevcairiel
14th March 2012, 07:40
Is there any kind of dithering when converting YUV 4:4:4 to RGB?

There is always dithering when converting YUV to RGB.

egur
14th March 2012, 09:48
LAV Filters no longer detects that my CPU supports QuickSync (Core i7-2630QM, H67), this is on version 0.49, it says "Not Available" at all times. On LAV Filters 0.46 it works just fine. I tried using 0.49 with IntelQuickSyncDecoder.dll from 0.46, but it still won't detect/enable QuickSync. Any ideas?

In 0.46 QS worked in SW emulation mode. This mode was cancelled later on. 0.49 will only work if HW is available and supports the specific codec/profile.
Does it happen for all files or just specific ones?
Do you have a discrete GPU in your laptop?
What driver, OS, splitter and player are you using?

Pat357
14th March 2012, 12:27
Is there any kind of dithering when converting YUV 4:4:4 to RGB?

If you consider without dithering, the YUV 4:4:4 to RGB is also not lossless, is it ?

RBG
14th March 2012, 13:31
Really... When placed in which container?

I think there is no actual dependence on container.

You can try some samples from my previous post (http://forum.doom9.org/showthread.php?p=1560280#post1560280), both are in mkv container, on 295.73 whql I was able to playback one of them with CUVID acceleration, on 285.62 whql both of them play fine. That's why I asked if somebody had already tested mpeg-4 acceleration on 296.10 whql.

Peter_Pan
14th March 2012, 17:15
I think there is no actual dependence on container.

You can try some samples from my previous post (http://forum.doom9.org/showthread.php?p=1560280#post1560280), both are in mkv container, on 295.73 whql I was able to playback one of them with CUVID acceleration, on 285.62 whql both of them play fine. That's why I asked if somebody had already tested mpeg-4 acceleration on 296.10 whql.
I tried both samples on a WinXP-SP3-Machine with LAV 0.49, latest NVIDIA 296.10 WHQL and latest MePo (MediaPortal).
The first one, which did play for you with all NVIDIA drivers, did play from start to end, the second one did not; just got a black screen. After pushing the stop button on my remote i got back into the MePo GUI. So thats that. ;)

aufkrawall
14th March 2012, 17:30
If you consider without dithering, the YUV 4:4:4 to RGB is also not lossless, is it ?
AFAIK it's not lossless anyway due to "rounding errors" etc.

SeeMoreDigital
14th March 2012, 17:37
I think there is no actual dependence on container.

You can try some samples from my previous post (http://forum.doom9.org/showthread.php?p=1560280#post1560280), both are in mkv container, on 295.73 whql I was able to playback one of them with CUVID acceleration, on 285.62 whql both of them play fine. That's why I asked if somebody had already tested mpeg-4 acceleration on 296.10 whql.
Well, from what I can see, your "This one is not working" .MKV file is corrupted in some way. Indeed, try de-muxing and re-muxing the streams!

kasper93
14th March 2012, 17:54
@nevcairiel
Is it difficult to make detection of changes in stream aspect ratio? For example this one http://dl.dropbox.com/u/16282309/LAV/AR.2.ts at beginning it is 4:3 and than it's 16:9. When I play it with LAV video freeze on AR change, but If I load file at time where is 4:3 it play fine. It fail to change AR automatically on playback. Is it possible to make? Thanks in advance.

EDIT: I have changed sample to shorter one.

nevcairiel
14th March 2012, 18:20
@nevcairiel
Is it difficult to make detection of changes in stream aspect ratio? For example this one http://dl.dropbox.com/u/16282309/LAV/AR.2.ts at beginning it is 4:3 and than it's 16:9. When I play it with LAV video freeze on AR change, but If I load file at time where is 4:3 it play fine. It fail to change AR automatically on playback. Is it possible to make? Thanks in advance.

Should be fixed in the next version.

RBG
14th March 2012, 19:11
The first one, which did play for you with all NVIDIA drivers, did play from start to end, the second one did not; just got a black screen. After pushing the stop button on my remote i got back into the MePo GUI. So thats that. ;)

Then I guess MPEG-4 ASP is still broken, because I can play both files absolutely fine with hardware acceleration on 285.62. ;)

Well, from what I can see, your "This one is not working" .MKV file is corrupted in some way. Indeed, try de-muxing and re-muxing the streams!

It is not corrupted. It is CUVID problem, or should I say nvidia driver problem, and nevcairiel knows (http://forum.doom9.org/showthread.php?p=1560170#post1560170) about it.

Midzuki
14th March 2012, 19:26
@nevcairiel
Is it difficult to make detection of changes in stream aspect ratio? For example this one http://dl.dropbox.com/u/16282309/LAV/AR.2.ts at beginning it is 4:3 and than it's 16:9. When I play it with LAV video freeze on AR change, but If I load file at time where is 4:3 it play fine. It fail to change AR automatically on playback. Is it possible to make? Thanks in advance.

EDIT: I have changed sample to shorter one.
Should be fixed in the next version.

Hmmm, no problems for LAV Video with that file over here,
even when I used AV Splitter :devil: instead of LAV's :confused: :confused: :confused: :confused: :confused:

kasper93
14th March 2012, 19:42
Should be fixed in the next version.:thanks:
Hmmm, no problems for LAV Video with that file over here,
even when I used AV Splitter :devil: instead of LAV's :confused: :confused: :confused: :confused: :confused: Check if you are using LAV Video Decoder. It has nothing to do with splitter. For now it works fine with Microsoft DTV-DVD Video Decoder. FFDshow crash whole player on AR change point :scared: Anyway it's fixed in LAV and thanks for that :)

Midzuki
14th March 2012, 20:08
Check if you are using LAV Video Decoder. It has nothing to do with splitter.

As I had said:

...
Hmmm, no problems for LAV Video with that file over here,

:rolleyes: :D

nevcairiel
14th March 2012, 20:09
Its only a problem if you use multi-threaded decoding and the software decoder.

CruNcher
14th March 2012, 20:48
@Midzuki
It doesn't change the AR like it should with the panorama scene, the decoder freezes @ that point ;)

Hmm Nev couldn't you by default enable to read the AR from the stream when parsing .ts streams and ignoring the actual Lav Video setting ? also with Quicksync the AR change seems to be ignored but works for DXVA2 Native.

Midzuki
14th March 2012, 20:53
Thanks and thanks :) for the overdue clarifications :thanks:

nevcairiel
14th March 2012, 21:27
That file must've been somehow especially broken, i have quite a bunch of other H264 files where the AR change works just fine (in all decoders).
In this file, CUVID only picks it up when i seek (for some odd reason), and QuickSync never picks it up.

sagematt
14th March 2012, 22:33
In 0.46 QS worked in SW emulation mode. This mode was cancelled later on. 0.49 will only work if HW is available and supports the specific codec/profile.
Does it happen for all files or just specific ones?

All files, apparently.
At all times (even while not playing a file) LAV Video says that QuickSync is not available. While playing a file it keeps showing that, and Active Decoder is set to avcodec.

Do you have a discrete GPU in your laptop?

Dell XPS L502x, Nvidia Geforce GT 525M, Intel HD 3000 (Core i7-2630QM).

What driver, OS, splitter and player are you using?

Nvidia driver: Just upgraded to Verde 296.10 before. Was using 285.62 before, with the same results.
Intel driver: 8.15.10.2342. Dell still hasn't upgraded to a later driver (2509 is the latest).
Splitter: I get the same results with both Haali Media Splitter and LAV Splitter 0.49.
OS: Windows 7 Home Premium x64

Pat357
14th March 2012, 22:39
That file must've been somehow especially broken, i have quite a bunch of other H264 files where the AR change works just fine (in all decoders).
In this file, CUVID only picks it up when i seek (for some odd reason), and QuickSync never picks it up.

CUVID indeed picks up the AR-change on seeking, but it seems only sometimes.
I really had to seek a lot before it picked it up.
Does it always change AR for you on the first seek ?

CruNcher
14th March 2012, 22:39
That file must've been somehow especially broken, i have quite a bunch of other H264 files where the AR change works just fine (in all decoders).
In this file, CUVID only picks it up when i seek (for some odd reason), and QuickSync never picks it up.

you can already visually see that it is somehow exactly @ the switch point Cyberlink and Arcsoft get the AR change CoreAVC seems also to miss it ;)

SeeMoreDigital
14th March 2012, 22:53
Then I guess MPEG-4 ASP is still broken, because I can play both files absolutely fine with hardware acceleration on 285.62. ;)

It is not corrupted. It is CUVID problem, or should I say nvidia driver problem, and nevcairiel knows (http://forum.doom9.org/showthread.php?p=1560170#post1560170) about it.If it's of any interest. The MPEG-4 Part-2 .MKV file that does not work contains "packed bit-stream". The MPEG-4 Part-2 .MKV file that works okay does not contain "packed bit-stream"...

CruNcher
14th March 2012, 23:05
@Nev
this seems to be a ffmpeg issue

ffplay = fail
avplay = ok
vlc 2.1 git = ok
mirillis Hard/soft = ok
CoreAVC 3.0.1 = fail
Cyberlink = ok
Arcsoft = ok
Potplayer DXVA = ok
Potplayer FFMpeg Decoder Type 2 = fail
Lav Video = fail
Lav Video Quicksync = fail
Lav Video DXVA2 Native = ok

kasper93
14th March 2012, 23:42
That file must've been somehow especially broken, i have quite a bunch of other H264 files where the AR change works just fine (in all decoders).
It was recorded from DVB-T broadcast from Polish and I noticed earlier that there is something strange about it. For example I was trying to cut stream with Video ReDo and didn't work as it should.. Anyway there is a official forum about that DVB-T broadcast and no one complain on any technical issue.

mindbomb
15th March 2012, 02:53
what is dxva copyback performance based on?

hardware video decoder version?

cause on further expection, I don't think uvd 2.0 is fast enough for this for 1080p video. Testing with a radeon 4870.
The present queue in madvr is struggling to keep above 0.

nevcairiel
15th March 2012, 07:31
@Nev
this seems to be a ffmpeg issue


Of course it was, but i already fixed it. Read what i write. :p

what is dxva copyback performance based on?

Its mostly memory copy performance.

From what i've seen and heard so far, it seems fine for 24p/25p/50i/60i material on 4000 series and above cards. Some cards seem to also be able to handle 50p and 60p.
Starting with the 7000 series, the speed has increased again and 50p and 60p are fine across the board.

You can easily test this by running a benchmark, if your card behaves anything like the others, it should be around 50 fps.
This may also be highly driver dependent, and maybe some other factors that are not known yet. :p

PS:
The present queue being 0 means your GPU is bottle-necked somewhere. If the decoder queue remains full, the decoder is running fast enough.
It may be possible that the combination of the memory copys and madVRs GPU shaders is too much.

JEskandari
15th March 2012, 08:42
I have a Question and Wonder if somebody can help me
I use LAVFilters for codecs and also I use EVR
I have converted some file in to MP4 format using MediaCoder.
This is what Media Info Shows when about the files
General
Complete name : C:\Encoded\Three Kingdoms 2010\Written\Three Kingdoms ep 62 ~ Xu Chu duels Ma Chao.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 273 MiB
Duration : 46mn 32s
Overall bit rate mode : Variable
Overall bit rate : 819 Kbps
Encoded date : UTC 2012-03-02 23:14:04
Tagged date : UTC 2012-03-02 23:14:04

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 12 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 46mn 32s
Bit rate : 756 Kbps
Maximum bit rate : 3 256 Kbps
Width : 720 pixels
Height : 400 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.088
Stream size : 252 MiB (92%)
Writing library : x264 core 120 r2120 0c7dab9
Encoding settings : cabac=1 / ref=12 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=6 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=756 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=2:1.00
Encoded date : UTC 2012-03-02 23:14:04
Tagged date : UTC 2012-03-02 23:14:37

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : HE-AACv2 / HE-AAC / LC
Codec ID : 40
Duration : 46mn 32s
Bit rate mode : Variable
Bit rate : 56.0 Kbps
Maximum bit rate : 64.0 Kbps
Channel(s) : 2 channels / 1 channel / 1 channel
Channel positions : Front: L R / Front: C / Front: C
Sampling rate : 48.0 KHz / 48.0 KHz / 24.0 KHz
Compression mode : Lossy
Stream size : 18.6 MiB (7%)
Encoded date : UTC 2012-03-02 23:14:37
Tagged date : UTC 2012-03-02 23:14:37


I have no problem playing back the files using Mediaplayer Classic -
HomeCinema when I config Lav Video to use Intel QuickSync or CPU
but when I use DXVA2-native or DXVA2 - Copy Back I get these Artifact
I wonder If anybody can help me and tell which of the setting I used
while encoding medias may caused such Artifacts
http://www.mojoimage.com/free-image-hosting-th-10/9558Three-Kingdoms-ep-42-Battle-of-Red-Cliff-2-.jpg (http://www.mojoimage.com/free-image-hosting-view-10.php?id=9558Three-Kingdoms-ep-42-Battle-of-Red-Cliff-2-.jpg) Click Image to Enlarge Free Image Hosting (http://www.mojoimage.com/)
thanks

Surfn
15th March 2012, 12:38
what is dxva copyback performance based on?

hardware video decoder version?

cause on further expection, I don't think uvd 2.0 is fast enough for this for 1080p video. Testing with a radeon 4870.
The present queue in madvr is struggling to keep above 0.

i seem to struggle in the way using copyback for 1080p using ati 5670 1gb gddr5. no probs in software or dxva2 native

aufkrawall
15th March 2012, 14:54
I have a problem with a DVD remux: DXVA doesn't work with that MPEG2 interlaced, neither copy back nor native. CUVID works.

Kotik
15th March 2012, 15:36
Hello,

Got myself a new HTPC with the following config:

i3 2105
ATI 6450
Asrock H67M-ITX

I got primary VGA over BIOS set to PCIE BUT MultiMonitor option set to "Enable", this way on windows 7 my main vga is ATI and the Intel HD VGA is preset over device manager.

So far good, now to the point :)

If i plug the DVI cable over the intel vga LAV Video reports that QuickSync is "Available" and i am able to use it. The issue arise when i plug the cable over the ATI vga then the QuickSync option turns into "Not Available" so i am unable to use it :(

What i would like to know is if it is possible to use QuickSync while my main vga is ATI and the Intel HD vga is present over device manager.

My idea was to use QuickSync for the video decoding and ATI for the Deinterlacing/EVR part since ATI is able to provide me with a nice 23.976.

Thanx in advance.

DragonQ
15th March 2012, 16:33
What i would like to know is if it is possible to use QuickSync while my main vga is ATI and the Intel HD vga is present over device manager.

Yes but you need Lucid Virtu (http://www.lucidlogix.com/driverdownloads-virtu.html).

Kotik
15th March 2012, 16:57
I did install the latest version but QuickSync still is not available if my main VGA is ATI, only becomes available if Intel is the main one although Virtu reports that it is running.

Any ideas?

I know we are completely offtopic here, sorry Nev.

STaRGaZeR
15th March 2012, 17:01
You don't need Virtu at all. See here (http://forum.doom9.org/showpost.php?p=1532786&postcount=186), the fake screen method will do just what you want. Works like a charm.

Pat357
15th March 2012, 17:22
Nev,

About changing AR in middle of the stream (like the file posted) :
- it works now with software mt decoding (good job btw :thanks:)
- CUVID mode still fails : is there anything that you could do to make this work ?
Because CUVID in CoreAVC is working, I suppose the problem lies not in behind the CUVID API,
but in missing and/or wrong data send to the API.

Kotik
15th March 2012, 17:42
You don't need Virtu at all. See here (http://forum.doom9.org/showpost.php?p=1532786&postcount=186), the fake screen method will do just what you want. Works like a charm.

WOW :)

Thanks that did the trick:)

Currently LAV Video reports that QuickSync is "Available" and "Active" during a video playback and EVR reports that Render Device is ATI Radeon 6450!!!

Am i right when i assume that Deinterlacing is done by ATI atm?

Now that i got this working, may i ask if this is generaly a suggested way of watching 1080p or at least is it any better than DXVA CB? I need DXVA CB cause i am gonna apply postprocessing.

nevcairiel
15th March 2012, 17:48
- CUVID mode still fails : is there anything that you could do to make this work ?
Because CUVID in CoreAVC is working, I suppose the problem lies not in behind the CUVID API,
but in missing and/or wrong data send to the API.

That file is somhow broken, its not a "standard" sample for H264 AR changes.
Anyway, i send the full bitstream to the CUVID decoder, there is nothing else i could send, so there is nothing "missing".

CoreAVC most likely use their own bitstream parsing instead of using NVIDIAs full CUVID parser for that.

Its possible to add that kind of parsing as well, of course, but for now it has a veeeeeeeeeeeeery low priority.

CruNcher
15th March 2012, 17:56
WOW :)

Thanks that did the trick:)

Currently LAV Video reports that QuickSync is "Available" and "Active" during a video playback and EVR reports that Render Device is ATI Radeon 6450!!!

Am i right when i assume that Deinterlacing is done by ATI atm?

Now that i got this working, may i ask if this is generaly a suggested way of watching 1080p or at least is it any better than DXVA CB? I need DXVA CB cause i am gonna apply postprocessing.

Nobody benched the difference between Virtu and this way yet :) also how different things will work and how they will work together is mostly uknown i would say when doing such things for most also taking things like Aero into account and different stuff running @ different times on the surfaces and what that causes :D in terms of Performance also how for example is specific software reacting to this like capture things :)
In the playback case you have the Asic which sends the data to the CPU/GPU which sends it to the discreet GPU and back to the renderer of course that is implying overhead then compared when you do it in 1 straight way but the Asic is so fast that it might be usefull @ all, especialy if you start to mix different things together on both sides in a efficient way (managing different tasks) :D :)

Kotik
15th March 2012, 18:04
Well the main reason behind that is the fact that DXVA CB with an ATI vga is not something generaly suggested. So i thought QuickSync is then the next best thing considering that i want to apply postprocessing.

nevcairiel
15th March 2012, 18:05
Using QuickSync for decoding and then your dedicated card for display is certainly fine. I would probably also consider software decoding if you have a beefy CPU.

Note that post-processing on interlaced material is not a good idea (unless the first step of that post-processing is deinterlacing)

Kotik
15th March 2012, 18:32
Well my cpu (i3 2105) meter sits @ 7% with DXVA Native and @ 10% with QuickSync on a 1080p H264 video. So thats not a huge diference if u ask me:)

What is funny though is that now i have to keep an eye for shitty drivers by both ATI and Intel:) That sounds interesting, hehe

mindbomb
15th March 2012, 18:58
From what i've seen and heard so far, it seems fine for 24p/25p/50i/60i material on 4000 series and above cards. Some cards seem to also be able to handle 50p and 60p.
Starting with the 7000 series, the speed has increased again and 50p and 60p are fine across the board.


This was 1080p24. Latest official catalyst drivers.
I'm thinking that dxva copyback requires at least uvd 2.2.
"The UVD 2.2 features a re-designed local memory interface" - wikipedia

so that would explain poor performance on the 4850 and 4870, which have uvd 2.0.

nevcairiel
15th March 2012, 19:13
If it doesn't work for you, don't use it. :)
Nothing i can do.

I still stick by my opinion that the renderer queue doesn't indicate a too slow decoder directly.
Check the decoder queue, if thats empty its obvious.

mindbomb
15th March 2012, 22:53
Yea, it's not a big deal, I can manage without hardware acceleration on that computer anyway. It's just that I have been recommending people with amd graphics cards to try out dxva copyback with madvr, but perhaps I should add a warning for people with older cards.

Another thing, with the latest stable nvidia drivers, there is occassional artifacts with vc-1 for vp2 hardware in cuvid.
I assume it is all driver related, so is there one that anyone can recommend?

edit: i found that I had to go back all the way to forceware 275. Someone tell nvidia to fix it in their newer drivers!

FlashGordon
16th March 2012, 00:59
Nev, I have an anamorphic PAL DVD that isn't displayed with the correct AR when LAV splitter and LAV video are used. If I open the full DVD (MS DVD navigator is used) and use libmpeg2 as decoder the AR is correct. If I open either a VOB or the corresponding .IFO, I get the wrong AR with LAV. "Use Stream AR" is checked in LAV Video. Is this expected behavior considering LAV can't access the VIDEO_TS.IFO at the moment?

Pat357
16th March 2012, 02:58
I have a problem with a DVD remux: DXVA doesn't work with that MPEG2 interlaced, neither copy back nor native. CUVID works.
A sample would probably help, I guess.

Edit : what renderer are you using ? (EVR, EVR-CP, MadVR, VMR9, ...)

magic144
16th March 2012, 03:31
@Flash, it's possible that the VIDEO_TS.ifo contains some info that is needed to correctly render the AR of the feature.

also, I was under the impression that LAV wasn't (yet) supposed to work with DVD Video...?

oddball
16th March 2012, 03:39
Any chance of adding RIFF WAVE DTS audio support? Let me clarify that by adding that it is RIFF WAVEfmt in the header. Same goes for some AC3 files I have.

EDIT: Nevermind. I've decided to use bsconvert on them all. BTW that speedup on one particular DTS file still exists. If I bitstream with ffdshow it plays at the correct speed so something in the path of LAV Audio filter does something weird to the stream inccorectly flagging it as 48Khz methinks so the receiever tries to decode it as such.

All very odd. If I can find a way to split the file I will send you a chunk to playback for yourself.

nevcairiel
16th March 2012, 07:27
Like i explained before, when bitstreaming the decoder does not flag a file as anything. Its all in the DTS headers themself. I also explained that when i used ffdshow on that file, i got no playback, but with LAV it was fine. So something is odd in your receiver that somehow combined with ffdshows oddnes makes for working audio again. :d

zmaster
16th March 2012, 11:37
Hello!
Sorry, if has already been reported about it.

When I use the path Programs - LAV Filters - LAV audio Configuration, the window looks like this - http://firepic.org/images/2012-03/16/az9v6wde1s34.png Settings are not available.
When I use the filters manager in the player (to open LAV Audio Decoder settings) - have no problem's - http://firepic.org/images/2012-03/16/gpvm92s293bp.png

WinXP SP3 x86, LAV Filters v0.49, WinXP default theme.

nevcairiel
16th March 2012, 11:38
I tried to reproduce this problem on Windows XP, and everything is fine for me. Cannot reproduce, cannot fix.

roytam1
16th March 2012, 12:17
I tried to reproduce this problem on Windows XP, and everything is fine for me. Cannot reproduce, cannot fix.

rundll32 in localized version of Windows XP will use localized font height, which leads to incomplete showing the property page.

nevcairiel
16th March 2012, 12:28
rundll32 in localized version of Windows XP will use localized font height, which leads to incomplete showing the property page.

If you looked at the screenshot, you would know that this is not the problem. The screen is generally way too small and not just a little bit smaller.
Also, last report i got about this claimed that LAV Video didn't have this problem.

aufkrawall
16th March 2012, 13:15
A sample would probably help, I guess.

Edit : what renderer are you using ? (EVR, EVR-CP, MadVR, VMR9, ...)
Since I tried also DXVA native, I also tried EVR-CP.
The renderer doesn't matter, it's just a decoder issue.

How to provide a sample?
It's a DVD remux, a bit too big to upload.

nevcairiel
16th March 2012, 13:35
Cut a small sample using some tool like DGSplit, check if the problem persists. Should preferably be at least 10 seconds of playback, maybe 20-30MB in size.

zmaster
16th March 2012, 14:03
...last report i got about this claimed that LAV Video didn't have this problem.Yes, the LAV Video Configuration (Programs - LAV Filters - LAV Video Configuration) is displayed correctly.

DragonQ
16th March 2012, 15:46
What he means is that the last person to have a similar problem was having it with the LAV Audio Configuration window (I think) but the LAV Video Configuration window was fine. For you, it's the other way around.

zmaster
16th March 2012, 16:36
Hmm...
I'm trying to say that I have no problems with the «LAV Video Configuration» (and «LAV Splitter Configuration») windows. The my problem only with the «LAV Audio Configuration» window.

MasterNobody
16th March 2012, 17:39
Hmm...
I'm trying to say that I have no problems with the «LAV Video Configuration» (and «LAV Splitter Configuration») windows. The my problem only with the «LAV Audio Configuration» window.
So same as for me. And that was also on Russian Windows XP SP3.

P.S. At work with Russian Windows 7 all is OK.

nevcairiel
16th March 2012, 19:31
Here is a new build that requires some testing to ensure there are no regressions:

http://files.1f0.de/lavf/LAVFilters-0.49-15-g7a6833a.zip

The big change is that i moved all the actual decoding onto a worker thread. This has the advantage that the decoder can continue working while another thread is performing the final changes to the image (like RGB conversion and whatnot).

For now, only the WMV DMO decoder and DXVA2-CB take full advantage of this (and may have gotten a bit more faster again)
The reason only the these decoder uses this properly is because it was much simpler for them because i can freely manage the memory buffers. ;)

The important part is that the behavior should not have changed from 0.49 release to this version. If something is broken that worked in the release version, i need to fix it, so let me know.

CruNcher
16th March 2012, 20:58
There is a major difference :(

MPC-HC trunk (using SPP fast to pressure 1 core fully)

Lav Video DXVA-CB LAVFilters-0.49-yadifmt2.zip = http://img21.imageshack.us/img21/3412/lavvideodxvacbevrbasicn.png
Lav Video DXVA-CB LAVFilters-0.49-15-g7a6833a.zip = http://img24.imageshack.us/img24/3412/lavvideodxvacbevrbasicn.png

also the peaking in the non cb decoder avcodec is still their, and the extreme stucks , heavy decoding drop outs and unsync :( not such issues in this setup http://img40.imageshack.us/img40/8521/mpchc4148andtester4075.png

ForceX
16th March 2012, 21:21
When used with madVR, seeking forward then backward when using CUVID sets all the queues to 0 and makes it impossible to play. Seems to happens with DXVA CB but less frequently.

nevcairiel
16th March 2012, 21:22
Seeking will always set the queues to zero, thats just how seeking works.

Mercury_22
16th March 2012, 21:29
Nev is there a "Pan-scan" feature in FFmpeg that you didn't implemented yet in LAVVideo, but exist in FFD ?[vc1 @ 24383a00] Pan-scan not implemented. Update your FFmpeg version to the new
est one from Git. If the problem still occurs, it means that your file has a fea
ture which has not been implemented.
[vc1 @ 24383a00] get_buffer() failed (-1 0 00000000)

CruNcher
16th March 2012, 21:32
The DXVA-CB decoding overhead is @ 50% now before it was @ 25% something is wrong it doubled @ decoding
native DXVA2 @ Mpeg-2 Decoding is still awesome :) though still the 720p MTV stream crashes

aufkrawall
16th March 2012, 21:36
Seeking in general is bad with this build - often video playback stalls (DXVA CB).

But it fixes the problem with MPEG2.

CruNcher
16th March 2012, 21:42
aufkrawall wouldn't surprise with the higher overhead + the load @ the seek it goes boom ;)

ForceX
16th March 2012, 21:55
Seeking will always set the queues to zero, thats just how seeking works.

I meant it stays at 0 and doesn't play. I thought it might be related to the "Delay playback until render queue is full" option being enabled but it isn't. Trying to seek more or stopping doesn't start playback in MPC-HC.

nevcairiel
16th March 2012, 21:56
Nev is there a "Pan-scan" feature in FFmpeg that you didn't implemented yet in LAVVideo, but exist in FFD ?

ffmpeg/libav do not support Pan-Scan in VC-1, so neither does ffdshow. That message is just a warning, nothing more.
Personally, i have never seen a file that used Pan-Scan, so its more likely that the frame header is broken.

nevcairiel
16th March 2012, 22:09
Here is a new build that fixes the extra cpu load, had one wait condition the wrong way around =p

http://files.1f0.de/lavf/LAVFilters-0.49-17-gd8878bb.zip

nevcairiel
16th March 2012, 22:23
Thats normal, the splitter creates one thread for every pin, and all other filters sit on that thread by default. If ffdshow uses a very expensive filter, it should create a worker thread for that, if it doesn't do that, it'll possibly bottle-neck the decoder.

CruNcher
16th March 2012, 22:30
yep just saw it thouhg it doesn't seem to affect Gabest Decoder @ all @ least there are no massive drop outs though the strangest is that it keeps sync to the audio which lav video is losing also the FPS isn't changing @ the ffdshow osd with lav video but stays @ 23.999 fps with Gabest Decoder it changes continuously (Render FPS) see screenshots :)

nevcairiel
16th March 2012, 22:36
The Gabest decoder implements IQualityControl, with which the renderer can tell the decoder to drop frames to keep sync.
I didn't bother to implement that, because if your system is too slow, you're screwed anyway.

aufkrawall
16th March 2012, 22:37
aufkrawall wouldn't surprise with the higher overhead + the load @ the seek it goes boom ;)
Seems you were right, seeking seems to be fine again with the new build. :)

nevcairiel
16th March 2012, 22:38
There is a bug with madVR and DXVA2-CB that causes playback to break sometimes in the test build, but i don't know why. Suddenly madVR stops accepting frames. I put the question to madshi, see what he can figure out.

Edit:
Nevermind, found the bug, was my fault afterall. :p

Boltron
16th March 2012, 23:09
I am having seeking issues with LAVFilters-0.49-17-gd8878bb. Win7 x64 but using all x86 versions. Latest MPC-HC 1.6.1.4150 (happened with slightly older version also). Tested with 3 MKVs all V_MPEG4/ISO/AVC at 23.976 with bitrates from 8-32Mb/sec and DTS/AC3 audio. Using MPC-HC with LAV Splitter/Video/Audio and madVR in Windowed mode with ATI 5670.

Seeking mostly works fine however playback will hang intermittently. Seems to happen more often on 60 sec jumps and not so often on Chapter jumps. It may work fine 10 times in a row but it does hang/freeze. I have no problems with the proper 0.49 version. Playback just stops/freezes, MPC-HC still responsive though, I can click on menu commands. CPU is idle, disk is fine.

nevcairiel
16th March 2012, 23:11
Last for today, this fixes seeking with madVR again:

http://files.1f0.de/lavf/LAVFilters-0.49-19-gd92f96a.zip

Should now hopefully be back to 0.49 behavior, if not better sometimes.

Boltron
16th March 2012, 23:54
With LAVFilters-0.49-19-gd92f96a, my seeking issues are... gone :)

noee
17th March 2012, 01:23
Solid. fwiw, DXVA2_CB is now faster than WMVDmo on VC1 stuff on AMD HD6570/Athlon II. No seeking/playback issues at all with jRiver ROHQ...

CruNcher
17th March 2012, 03:18
The Gabest decoder implements IQualityControl, with which the renderer can tell the decoder to drop frames to keep sync.
I didn't bother to implement that, because if your system is too slow, you're screwed anyway.

Ahh that would explain the difference of Microsofts and Gabest Decoder compared to the others i guess in this scenario, keeping a rather acceptable Playback experience under extreme Pressure :)

Microsoft
Gabest
Cyberlink
Arcsoft

seem to implement it with Gabest (MPC-HC default) and Microsoft showing the best Performance results (latency)

Last for today, this fixes seeking with madVR again:

http://files.1f0.de/lavf/LAVFilters-0.49-19-gd92f96a.zip

Should now hopefully be back to 0.49 behavior, if not better sometimes.


Nice gain it beats Quicksync for Mpeg-2 in both Memory and utilization @ Playback :)

btw i found that this strange peaking @ decoding is only visible with Multithreading @ auto when Multithreading @ 1 (disabled) there is no peaking

The slightly stuck @ Rendering can be experienced with Lav Video under Pressure every 4 seconds
With a Decoder implementing IqualityControl the Experience is much better as the drop outs aren't in such a repeated pattern and it keeps sync :)

CruNcher
17th March 2012, 04:57
Here is a test result :)

Current MPC-HC (user default) = http://img828.imageshack.us/img828/5317/mpchcgabestiquality.png
MPC-HC Lav Video (avcodec) = http://img252.imageshack.us/img252/604/mpchclavvideonoiquality.png
MPC-HC Microsoft DTV = http://img703.imageshack.us/img703/9927/microsoftdtviquality.png

The Playback Stability experience with Gabest Decoder is much much better, keeping the Sync and overall playback no real deceiving drop outs
Microsofts Decoder has some really visual perceivable drop outs, though not as heavy as Lav Video :(

nevcairiel
17th March 2012, 08:08
Found broken playback on this Youtube FLV. http://www.mediafire.com/download.php?2sn8917ki3bftaz


Seems to play just fine in the latest version.

Gleb Egorych
17th March 2012, 10:35
nevcairiel, tried 0.49-19, stop-resume hang bug in Zoom Player appeared again.

nevcairiel
17th March 2012, 11:40
nevcairiel, tried 0.49-19, stop-resume hang bug in Zoom Player appeared again.

I cannot reproduce any problems.
Also, assuming that i remember every bug that was reported over the last year or so is kinda pushing it. Details, exact reproduction steps, or no cookies.

(Not to mention that Zoom Players filter configuration is insanely stupid, i had to turn off its smart play to even get it to use LAV, it ignored any other configuration. Simpler configuration to just force one decoder is too much to ask, eh.)

Gleb Egorych
17th March 2012, 12:29
nevcairiel, sorry,
play a file with LAV Audio decoder loaded (I tried TS with mp2 audio). Press and hold "S" key in Zoom Player (Stop->Resume->Stop in cycle). After a few seconds (actual period varies from time to time) ZP hangs. LAV 0.49 is OK.

nevcairiel
17th March 2012, 12:32
The audio decoder was not touched one bit since 0.49.

I also tried that, with both LAV Video and LAV Audio loaded, and everything was fine.

Gleb Egorych
17th March 2012, 12:42
nevcairiel,
maybe it's video decoder this time. I'll do more tests and report back. At the moment I can say that I had updated complete LAV codec set and experienced several hangs.

ryrynz
17th March 2012, 12:49
Nev, your latest build is preventing MPC from playing the next file in folder.

nevcairiel
17th March 2012, 12:54
Nev, your latest build is preventing MPC from playing the next file in folder.

Works for me.
Either manually hitting the hotkey assigned to that, or using the option to automatically switch to the next file on end of playback.

@Anyone:
If you have video issues, *ALWAYS* mention which decoder is configured in LAV Video, also, if you can, try with another one first!

nevcairiel
17th March 2012, 13:12
Here is a new build.
It shouldn't really fix anything, but since i couldn't reproduce any of the problems, i want to make sure everyone is on the exact same version.

http://files.1f0.de/lavf/LAVFilters-0.49-23-g13aed9d.zip

Remember to report which decoder is configured in LAV Video if you have any problems, also which renderer is used might help.
If you report a rather "generic" problem, please test first if it happens on more then one file, and if you use a hardware decoder test if it also happens with software.
If its one specific file, provide a sample.

Reports like "X is broken" are mostly useless. People have different descriptions of "broken", so please be specific about the problem, as well as about how exactly to reproduce it.

ryrynz
17th March 2012, 13:15
It's only happening with QuickSync, MPC hangs and won't remove itself from memory unless forced in Task Manager. 0.49 and nightly lavf-my120314-644f7ca are working fine.

Tried your new build, same deal with that too.

LAVFilters-0.49-yadifmt2 is working fine, apologies for the short report, it's 1am in the morning I had hoped a one line report would be enough, haha, guess it almost never is, oh well.

nevcairiel
17th March 2012, 13:33
I found one possible problem, maybe you are still awake enough to try this version.

http://files.1f0.de/lavf/LAVFilters-0.49-24-g1116cb4.zip

I had one other freeze with madVR, but from the stack traces it looked like a madVR problem, because on my end everything looked fine.

I'll try to reproduce it and confirm and get a freeze report to madshi.

ryrynz
17th March 2012, 13:39
Legend, that's fixed it, time for bed. :D

kostasoft
17th March 2012, 15:01
Dear Sirs!

At this moment LAVsplitter (entering in the the LavFilters), processing only one video stream simultaneously. The current version of the splitter shows all video streams, but allows only to switch between them and handle only one.
I would like if LAVsplitter will allow to process in the filtergraph two video streams at the same time. Two video streams can be placed in such containers: avi, mkv, wmv.

Could you please provide that possibility? Thank you in advance!

Links to videos with two video streams:
avi (http://kostasoft.com/downloads/3d-avi.avi)
mkv (http://kostasoft.com/downloads/Metro_dualstream.mkv)
wmv (http://kostasoft.com/downloads/DualStream.wmv)

Gleb Egorych
17th March 2012, 16:13
nevcairiel,
Here is a sample (http://www.mediafire.com/?f8ibyd5ypr19rb9). I play it in ZP with the latest Haali splitter (1.11.288), LAV Video in CUDA mode and LAV Audio 0.49-24. After a few seconds holding "S" pressed the player hangs.

nevcairiel
17th March 2012, 17:37
Did i mention that i really dislike complex thread interaction? I still think its worth it in the long run, however.

So, try this version:
http://files.1f0.de/lavf/LAVFilters-0.49-25-g9b88bb9.zip

It fixes another deadlock in the decoder thread for me, hopefully without breaking anything else. :)

Gleb Egorych
17th March 2012, 17:57
So, try this version:
http://files.1f0.de/lavf/LAVFilters-0.49-25-g9b88bb9.zip

Didn't fix the hang for me. Still reproducable on the file I posted before.

nevcairiel
17th March 2012, 18:08
Then you're out of luck, i managed to reproduce a problem once, and now its fixed. :p

madshi
17th March 2012, 18:15
If the freeze is inside of LAV Filters, maybe it would help to provide a PDB file in a test build, so the madVR freeze report might include the LAV Filter internal stack traces? Just a thought...

nevcairiel
17th March 2012, 18:31
I suppose.
Here is a build with its pdb files
http://files.1f0.de/lavf/LAVFilters-0.49-25-g9b88bb9+pdb.zip

Here is the link to the madVR Trace Tool
http://madshi.net/madTraceProcess.zip

Cause the freeze, run it, select the zplayer.exe process, and pastebin the output somewhere.
Only works if you use madVR as a renderer.

I still did fix one hang that i reproduced in ZP, didn't find any more. I've also been analyzing the code, and i don't see what condition could otherwise cause a deadlock now.

Gleb Egorych
17th March 2012, 20:39
madTraceProcess log (http://pastebin.com/MJa5LNsJ) of hung Zoom Player.

cengizhan
17th March 2012, 20:40
I also had several freezes with latest mpc-hc, lav and madvr while seeking forward. Will try with LAVFilters-0.49-9b88bb9.

nevcairiel
17th March 2012, 20:48
madTraceProcess log (http://pastebin.com/MJa5LNsJ) of hung Zoom Player.

I see not one thread in there that is doing anything in LAV.

Considering i cannot even figure out how to configure ZP to use LAV without turning off its "smart play", i suggest you start over with a factory-reset version of ZP and then try to replicate the issue, and once you can, tell me the config exactly.
Alternatively, maybe ZP can somehow export its config, so i can import it?

Edit:
I finally managed to convinced it to use LAV in Smart Play mode, but still no problem here.

madshi
17th March 2012, 23:00
I see not one thread in there that is doing anything in LAV.
I'm seeing two interesting things:

(1) One thread callstack looks like this:

thread $df0:
75f9ee32 +5d GDI32.dll D3DKMTSignalSynchronizationObject
0923c642 +32 nvcuvid.dll cuvidMapVideoFrame
0922a8a0 +20 nvcuvid.dll cuvidParseVideoData
I think this is likely an LAV Video Decoder related thread, don't you agree? But somehow the callstack doesn't contain any LAV Video Decoder related callstack items. That makes me think that the PDB file somehow didn't work.

@Gleb Egorych, can you confirm that you had a "LAVVideo.pdb" file in the same directory as "LAVVideo.ax" when creating the freeze report? And you do have a "dbghelp.dll" file in the madVR directory, correct?

(2) ZP's main thread seems to be stuck here:

77638cd3 +16a33 ntdll.dll RtlEnterCriticalSection
005192a2 +0000e zplayer.exe BaseClass 6911 +11 TBCCritSec.Lock
005204dc +000a4 zplayer.exe DSFilter 1602 +30 TDCDSPFilter.Stop
00675681 +00025 zplayer.exe mainunit 4125 +5 TMainForm.dsMediaControlStop
00679722 +00332 zplayer.exe mainunit 5905 +86 TMainForm.StopMovie
006587fa +00076 zplayer.exe mainunit 124 +16 TMainForm.StopButtonClick

Another ZP thread is here at the same time:

thread $40c: <priority:1>
77638cd3 +16a33 ntdll.dll RtlEnterCriticalSection
005192a2 +0000e zplayer.exe BaseClass 6911 +11 TBCCritSec.Lock
00520cf8 +00014 zplayer.exe DSFilter 2099 +2 TDCDSPFilter.CheckInputType
00518d5b +0001b zplayer.exe BaseClass 6705 +2 TBCTransformInputPin.CheckMediaType
005189cd +001b9 zplayer.exe BaseClass 5870 +46 TBCBaseInputPin.Receive
00519169 +00041 zplayer.exe BaseClass 6840 +5 TBCTransformInputPin.Receive
0051db3b +000d3 zplayer.exe DSFilter 391 +21 TDCDSPFilterInputPin.Receive
My interpretation of this is that the main thread is trying to react to a press on the ZP "stop" button, while the ZP DSP filter is busy receiving data. Both try to enter the same critical section at the same time while it might even already be in use by a 3rd thread. I think DSP is audio related, though?

nevcairiel
17th March 2012, 23:17
(1) One thread callstack looks like this:

thread $df0:
75f9ee32 +5d GDI32.dll D3DKMTSignalSynchronizationObject
0923c642 +32 nvcuvid.dll cuvidMapVideoFrame
0922a8a0 +20 nvcuvid.dll cuvidParseVideoData
I think this is likely an LAV Video Decoder related thread, don't you agree? But somehow the callstack doesn't contain any LAV Video Decoder related callstack items. That makes me think that the PDB file somehow didn't work.

Ah, i somehow missed that one. Thanks for looking

cuvidParseVideoData is a NVIDIA function i call, which in turn calls a callback function of LAV, in which i then call cuvidMapVideoFrame (which basically is the LockRect of CUVID)
This would indicate the decoder is still working just fine, and is not deadlocked somewhere (except if that function somehow hangs, but never seen that happen and wouldn't even know why/how). This is called directly from my decoder worker thread, and if that thread is working and processing a frame, then everything else is still running.


My interpretation of this is that the main thread is trying to react to a press on the ZP "stop" button, while the ZP DSP filter is busy receiving data. Both try to enter the same critical section at the same time while it might even already be in use by a 3rd thread. I think DSP is audio related, though?

I agree with your interpretation.
Both the main thread and some other thread try to enter the same critical section, but that also means something else has to hold that one right now.

But DSP is audio indeed, so its rather unlikely to be related to my latest changes (not knowing ZP itself, not ruling anything out)

madshi
17th March 2012, 23:26
cuvidParseVideoData is a NVIDIA function i call, which in turn calls a callback function of LAV, in which i then call cuvidMapVideoFrame (which basically is the LockRect of CUVID)
This would indicate the decoder is still working just fine, and is not deadlocked somewhere (except if that function somehow hangs, but never seen that happen and wouldn't even know why/how). This is called directly from my decoder worker thread, and if that thread is working and processing a frame, then everything else is still running.
Yeah, but the thing that confuses me is that there's no trace whatsoever of LAVVideo.ax in the stack trace. Which would make sense only if either the LAV PDB files are missing or if the dbghlp.dll is missing in the madVR folder. If I do a test freeze report on my PC with LAV Video decoding, I see plenty of LAV Video callstack items (when using your test build with the PDB files). Though, I can't do a freeze report exactly when the graph is stopped. Maybe that's a special situation. Still, I would expect to at least see *some* LAV related stack items in the freeze report somewhere, if both PDB files and dbghlp.dll are there.

I agree with your interpretation.
Both the main thread and some other thread try to enter the same critical section, but that also means something else has to hold that one right now.

But DSP is audio indeed, so its rather unlikely to be related to my latest changes (not knowing ZP itself, not ruling anything out)
Yeah, it does seem to be audio related. But that could be just the final phase of the freeze. It's possible that something else made ZP end up in that situation. In any case I find it suspicious that the main thread is hanging in the "StopButtonClick" event handler. That's a clear indication that the problem occurs as a direct consequence of ZP trying to stop the playback. Did something change in LAV somewhere (splitter, video or audio) in regards to the graph being stopped?

nevcairiel
17th March 2012, 23:33
Did something change in LAV somewhere (splitter, video or audio) in regards to the graph being stopped?

Audio and Splitter haven't changed at all since the release version, which he reported to work fine (short of a ffmpeg update)
The only change i did was to move the video decoding onto a worker thread, and i had some synchronization issues between the main processing thread (the one from the splitter) and that worker thread at first, but those seem to all be worked out.

Stopping in ZP doesn't even do anything special with the decoder, it just seeks to 0, so i get the usual seeking events (BeginFlush/EndFlush and NewSegment)
What i do find interesting though, why would the video decoder still have data to process while the player is stopping the graph (and frozen at that). Shouldn't the Graph stop the splitter first so that no new data is arriving? (He is using Haali, so i cannot say how it really works for it)

On the other hand, why would the Main Thread try to stop a single filter? But maybe some stack trace lines are missing there too from a DirectShow internal dll?
In any case, LAV does not seem to be directly involved in the freeze, and the main thread even looks like its supposed to do what it does.

-------------

Does anyone else still have some Freeze/Hang issues with the latest test version? Here is the link again for reference:
http://files.1f0.de/lavf/LAVFilters-0.49-25-g9b88bb9+pdb.zip

I included some debug symbols, so if it does hang and you happen to use madVR, you can get a better freeze report using its new tools.

suanm
18th March 2012, 02:31
i have not tested the last lav 0.49 verson yet,but the old lav 0.48 version works very perfectly with madvr 0.54 version (i dislike 0.55 version or newer ) on my pc(xp+sp3 or win7 x86).i didn't find any of frozen filter, screen or player during playback,pausing blayback or stopping playback

CruNcher
18th March 2012, 07:08
nev i still have that crash issue with Mainconcepts Decoder (on close,stop playback, drag and drop while playing) and Lavsplitter framework, not sure if it happens with Madvr too but if thats the way to trace whats going on ofcourse i gonna try it ;)


PS: Actually wait i guess its fixed somehow, might be one of the recent lock fixes, yep seems really fixed tried multiple drag and drop operations no crash anymore :D :) , of course their are distortion issues with the Frame Accurate Seeking, so i have force it to seek on I frames only. Nope it's still crashing but it can hold up much more Drag and Drop operations now before it crashes @ some sample :)

Gleb Egorych
18th March 2012, 07:41
@Gleb Egorych, can you confirm that you had a "LAVVideo.pdb" file in the same directory as "LAVVideo.ax" when creating the freeze report? And you do have a "dbghelp.dll" file in the madVR directory, correct?
Yes.

I think DSP is audio related, though?
Yes.

Considering i cannot even figure out how to configure ZP to use LAV without turning off its "smart play", i suggest you start over with a factory-reset version of ZP and then try to replicate the issue, and once you can, tell me the config exactly.
Alternatively, maybe ZP can somehow export its config, so i can import it?
Here are my settings (http://pastebin.com/fgXHhFuK). Paste them in zplayer.local file and place it in zplayer.exe dir. I use Zoom Player 8.1.1 (http://dl.zoomplayer.com/zp811max.exe) with this hotfix (http://t.inmatrix.com/zplayer811p1max.rar).

Hangs with some previous LAV versions were exposed by ZP internal DSP and stream switching filter. When you press "S" key Zoom Player stops the graph and sometimes it hangs on this action.

I reproduced the hang without LAV Video in the graph, only Haali splitter, ffdshow video decoder and LAV Audio. Log (http://pastebin.com/pZPim5Xv).

madshi
18th March 2012, 07:49
Ah, @Gleb, so this has nothing to do with nevcairiel's recent changes at all? The bug was there in some older LAV versions, too? Hmmmmm... And you're sure that it only occurs with LAV Audio and with no other audio decoder? According to the freeze report it more looks like a ZP bug to me. But if it is, it should probably occur with other audio decoders, as well.

Sorry for the stupid question, but just to be safe: You have the LAV PDB files in the path "C:\Program Files (x86)\codecs\LAV", correct? You didn't actually copy them to "C:\Program Files\codecs\LAV" instead of "C:\Program Files (x86)\codecs\LAV"?

CruNcher
18th March 2012, 07:55
Perfect it crashes fast away with MadVR on Drag and Drop :) with Mainconcepts Decoder :D tried Lav Video no crash, i try to trace it :)

Here the report http://www.mediafire.com/?cmc46mv5otdvj59

the crash isn't as fast with EVR basic but it comes after some time only with Lav Splitter though


PS: Im 100% sure the Internal MPC-HC .ts splitter never triggers this MPC-HC crash Internal .ts/Lav Audio with Mainconcepts Decoder it's only Lav Splitter/Lav Audio ;)

nevcairiel
18th March 2012, 08:04
I reproduced the hang without LAV Video in the graph, only Haali splitter, ffdshow video decoder and LAV Audio. Log (http://pastebin.com/pZPim5Xv).

That doesn't make any sense whatsoever. Specifically the part where you say 0.49 release works.
LAV Audio was not changed one single bit. The first versions you reported the problem on (0.49-19) didn't even have an ffmpeg update, i only did that later on.

Are you absolutely sure that 0.49 release works?
Maybe you should ask Blight to look into it, he can properly see where all the ZP threads are stuck, and then contact me directly if he sees something.
I remember being in contact with him about this problem before, but he confirmed it was fixed, and i never changed anything to change that.

Gleb Egorych
18th March 2012, 08:05
Ah, @Gleb, so this has nothing to do with nevcairiel's recent changes at all? The bug was there in some older LAV versions, too? Hmmmmm... And you're sure that it only occurs with LAV Audio and with no other audio decoder? According to the freeze report it more looks like a ZP bug to me. But if it is, it should probably occur with other audio decoders, as well.
It was present for some time, the it was fixed (in 0.27, not sure). Then there were made some changes and it reappeared in in some 0.3x beta version and was fastly fixed by nevcairiel. No bug in 0.49 release, it only presents in recent betas.

Sorry for the stupid question, but just to be safe: You have the LAV PDB files in the path "C:\Program Files (x86)\codecs\LAV", correct? You didn't actually copy them to "C:\Program Files\codecs\LAV" instead of "C:\Program Files (x86)\codecs\LAV"?
Yes, I paste with replace the entire archive in the same directory, "C:\Program Files (x86)\codecs\LAV".

Gleb Egorych
18th March 2012, 08:11
Are you absolutely sure that 0.49 release works?
I used 0.49 for a week and haven't faced the problem. At the same time ZP with 0.49-xx hung the same day I installed the update. I'll 0.49 release further.

I'll report the bug to Blight too.

Gleb Egorych
18th March 2012, 11:43
nevcairiel,
after some testing I can say that 0.49 and 0.48 are affected by the hang too. Need some time to find the last working version.

nevcairiel
18th March 2012, 11:54
nevcairiel,
after some testing I can say that 0.49 and 0.48 are affected by the hang too. Need some time to find the last working version.

Can you confirm that it works with for example ffdshow first?
Nothing major changed really in LAV for quite a while.

I still think that DSP filter is having the issue here.
The hang you got with 0.49-19 during normal playback was probably video related, which i fixed. Now that you do intensive testing, it may be related to something completely different.

roytam1
18th March 2012, 13:29
@nev:
since rev 21a7ead LAV splitter stalls the system for ~1 minute with this MP4 sample, which only stalls for 0.5~2 seconds before. (OS: XP SP3)

Sample:
http://roy.orz.hm/samples/Nisemonogatari_10_Yokoku_480p.mp4

nevcairiel
18th March 2012, 13:31
@nev:
since rev 21a7ead LAV splitter stalls the system for ~1 minute with this MP4 sample, which only stalls for 0.5~2 seconds before. (OS: XP SP3)

Sample:
http://roy.orz.hm/samples/Nisemonogatari_10_Yokoku_480p.mp4

That file starts to play immediately for me. No Stalling or anything.

fastplayer
18th March 2012, 13:40
That file starts to play immediately for me. No Stalling or anything.
Confirmed on both XP SP3 and Win7-32bit.

roytam1
18th March 2012, 13:44
That file starts to play immediately for me. No Stalling or anything.

Forgot to mention: LAV Splitter connects to MPC-HC's internal Video Decoder(DXVA1) / MPCVideoDec.ax(DXVA1) r4153.
Disabling DXVA in MPC-HC Video Decoder or using LAV Video have no problem.

nevcairiel
18th March 2012, 13:55
Play fine for me with MPC-HC DXVA2 or Software, cannot test DXVA1.
In any case, seems more like a bug in the decoder.

Like i explained before, nothing really changed in the splitter, except some minor ffmpeg fixes.

dead_screem
18th March 2012, 16:37
Play fine for me with MPC-HC DXVA2 or Software, cannot test DXVA1.
In any case, seems more like a bug in the decoder.

Like i explained before, nothing really changed in the splitter, except some minor ffmpeg fixes.

Notice that file has an audio blip at start? I'm guessing there is a video "blip" as well, probly caused by poor file cutting.
On my XP SP3 machine with 9800GTX and MPC-HC DXVA1 that file doesnt hang, but I get bad blocking for the first ~12 seconds of the file. LAV Video Cuvid ofcourse not affected.

Edit: MPC-HC MP4 Source filter and its the same. so if this is fixable its a MPC-HC DXVA decoder bug most likely.

RedDwarf1
18th March 2012, 18:31
Is there any way to tell whether hardware acceleration is active when playing a video?
Looking at GPU-z does suggest that it is because of the video engine load and CPU usage also suggests that it is, but 15 ref frame 1080p hardware acceleration doesn't seem likely.

sneaker_ger
18th March 2012, 18:36
1080p with 16 ref frames is easily possible for most ATI and Nvidia Cards (don't know about Intel).
Open the filter settings while playing a file and it will tell you which decoder is currently in use.

Anima123
18th March 2012, 21:17
Did you guys happened to have the experience of DXVA2 copy back mode has a green strip on top of the video with some 720p h264 videos while DXVA2 native mode works correctly?

mpc-hc latest version
NV3100 Video card with laptop Thinkpad T410
LAV latest stable version

nevcairiel
18th March 2012, 22:11
Did you guys happened to have the experience of DXVA2 copy back mode has a green strip on top of the video with some 720p h264 videos while DXVA2 native mode works correctly?

I have not seen it, but if you have a file that shows the problem, please cut a small piece out of it (10-20MB, use a tool like DGSplit), and upload it to Mediafire (and post the link, of course)

fairchild
18th March 2012, 22:51
nevcairiel, I've come accross a couple of blu-ray discs that for some reason cannot find the audio tracks. The discs both have 2 audio tracks, both being 5.1 Dolby Digital (one in Swedish, and one in English) the movies are: The Girl who Played with Fire and The Girl who Kicked the Hornets Nest. Lav Splitter loads, as does Lav Video and MadVR, but no audio filters load up.

Using the latest MPC-HC 4153 with the latest Lav Filters 0.49 release version.

If you need any other information please let me know. (the discs are the US or North American releases)

Blight
18th March 2012, 23:13
gleb:
I failed to reproduce the freeze issue, pressing "S" for over 10 seconds and different positions in the sample file.
I used LAV, both 0.49 and the latest beta linked by nev here.
LAV was used as splitter and audio/video decoder, MadVR (0.82.5) as video renderer.
You can help debug if the issue is related to ZP's DSP filter by disabling the filter in the options (Adv. Options / Playback Audio - Enable Internal Equalizer ...)

nev:
ZP has detailed error dialogs which explain why Smart Play fails (Adv. Options / Playback / Smart Play / Settings - Show smart play graph creation errors).
Or if the dialogs are annoying, you can have their output saved to a file instead (same options dialog area).
When smart play fails to build the graph, ZP lets directshow build its own graph, only replacing the audio and video renderers per user selection.

MSL_DK
19th March 2012, 11:07
I have a request I would like if we see the line Title: instead of language: in MPC-HC. The reason is that you can have several subtitles with the same language and it's pretty hard to know which one viewing when you view the language:

Can you maybe make it so that both the title and language appear?

eg:

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1h 43mn
Bit rate mode : Variable
Bit rate : 25.8 Mbps
Maximum bit rate : 31.5 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.518
Stream size : 18.6 GiB (80%)
Title : Toy Story 3
Default : Yes
Forced : No
Color primaries : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics : BT.709-5, BT.1361
Matrix coefficients : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177

Audio #1
ID : 2
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA / Core
Codec ID : A_DTS
Duration : 1h 43mn
Bit rate mode : Variable
Bit rate : 2 506 Kbps / 1 510 Kbps
Channel(s) : 8 channels / 6 channels
Channel positions : Front: L C R, Side: L R, Back: L R, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossless / Lossy
Title : Engelsk DTS 7.1 HD-MA
Language : English
Default : No
Forced : No

Audio #2
ID : 3
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA / Core
Codec ID : A_DTS
Duration : 1h 43mn
Bit rate mode : Variable
Bit rate : 2 848 Kbps / 1 510 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossless / Lossy
Title : Engelsk DTS 5.1 HD-MA
Language : English
Default : No
Forced : No

Audio #3
ID : 4
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : A_AC3
Duration : 1h 43mn
Bit rate mode : Constant
Bit rate : 640 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 472 MiB (2%)
Title : Dansk AC3 5.1
Language : Danish
Default : Yes
Forced : No

Text #1
ID : 5
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Title : Dansk tale
Language : Danish
Default : No
Forced : No

Text #2
ID : 6
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Title : Dansk PGS
Language : Danish
Default : No
Forced : No

Text #3
ID : 7
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : The same subtitle format used on BDs/HD-DVDs
Title : Dansk tale
Language : Danish
Default : Yes
Forced : No

Menu
00:00:00.000 : en:00:00:00.000
00:04:53.543 : en:00:04:53.543
00:06:20.255 : en:00:06:20.255
00:11:37.405 : en:00:11:37.405
00:15:17.166 : en:00:15:17.166
00:18:34.196 : en:00:18:34.196
00:19:23.871 : en:00:19:23.871
00:26:17.117 : en:00:26:17.117
00:28:59.404 : en:00:28:59.404
00:31:47.822 : en:00:31:47.822
00:33:22.333 : en:00:33:22.333
00:35:50.064 : en:00:35:50.064
00:37:30.123 : en:00:37:30.123
00:40:11.325 : en:00:40:11.325
00:41:12.637 : en:00:41:12.637
00:43:37.490 : en:00:43:37.490
00:44:49.270 : en:00:44:49.270
00:48:19.521 : en:00:48:19.521
00:52:28.061 : en:00:52:28.061
00:53:51.895 : en:00:53:51.895
00:57:11.970 : en:00:57:11.970
00:58:20.705 : en:00:58:20.705
01:01:09.999 : en:01:01:09.999
01:02:06.639 : en:01:02:06.639
01:02:57.023 : en:01:02:57.023
01:06:35.032 : en:01:06:35.032
01:11:21.735 : en:01:11:21.735
01:15:57.261 : en:01:15:57.261
01:17:35.817 : en:01:17:35.817
01:19:43.195 : en:01:19:43.195
01:23:01.935 : en:01:23:01.935
01:24:59.594 : en:01:24:59.594
01:28:15.582 : en:01:28:15.582
01:34:18.277 : en:01:34:18.277

nevcairiel
19th March 2012, 12:13
I have a request I would like if we see the line Title: instead of language: in MPC-HC. The reason is that you can have several subtitles with the same language and it's pretty hard to know which one viewing when you view the language:

Can you maybe make it so that both the title and language appear?


It already does that.
If you use in MPC-HC the Navigate -> Subtitle Language menu, or the Play -> Filters -> LAV menu, it'll show stream titles and the language.

MSL_DK
19th March 2012, 12:37
Yes but not here :-)

I use the remote to switch subtitles

http://img580.imageshack.us/img580/441/38292669.jpg (http://imageshack.us/photo/my-images/580/38292669.jpg/)

madshi
19th March 2012, 13:30
I think that's the MPC-HC OSD display. Maybe MPC-HC doesn't show the full information from IAMStreamSelect?

nevcairiel
19th March 2012, 16:12
Indeed. Thats MPC-HCs doing, request the feature there.

There is also ITrackInfo which can be used to get only the title and/or language without all the codec information from IAMStreamSelect

Anima123
19th March 2012, 16:50
I have not seen it, but if you have a file that shows the problem, please cut a small piece out of it (10-20MB, use a tool like DGSplit), and upload it to Mediafire (and post the link, of course)

Sent with a private message.

nevcairiel
19th March 2012, 17:03
Sent with a private message.

Thanks.
However, i do not see any problems with that file. Plays just fine with DXVA2-CB for me, no green strip or anything.

Anima123
19th March 2012, 17:18
Thanks.
However, i do not see any problems with that file. Plays just fine with DXVA2-CB for me, no green strip or anything.

Does it indicate that it's GPU or driver related issue?