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

e-t172
11th September 2013, 23:43
Technically wrong? Then why are there such modes on many receivers?

For the same reasons such receivers support things like 192 kHz: because people ask for it. It doesn't mean that they're right. I would rather have people spend their time developing features that actually improve audio quality, or lower costs.

ryrynz
12th September 2013, 01:43
For the same reasons such receivers support things like 192 kHz: because people ask for it. It doesn't mean that they're right. I would rather have people spend their time developing features that actually improve audio quality, or lower costs.

There is no right and wrong when it comes to the sound stage. It's whatever sounds "good" to you.

SamuriHL
12th September 2013, 05:02
I'd like to congratulate nevcairiel on his new role and wish him continued success with the LAV Filters. The world will be a better place.

Did I miss something?

Carved in blood by a wakizashi...

Nachbar
12th September 2013, 05:17
Nev, some time ago I requested the option of providing stereo sound duplication for surround speakers and you agreed to look into it.
Is it possible to see this implemented sometime soon? It would save time checking if video is stereo output and if it is switching the receiver
into 7 channel stereo mode and then having to switch it back for 6 channel AAC, Dolby etc, thanks.

I would suggest using reclock as the audio renderer and having it use the wasapi exclusive output with set matching speaker configuration set. Then it will send only stereo (and not stereo inside of a 5.1 or whatever your setup is). Your receiver should automatically use dolby pro logic to upmix it. For my pioneer receiver it has a panorama option that does this found deep in the advanced audio options while the sound is playing on dolby prologic 2 music mode.

You could also alternatively use ffdshow's audio filter as its mixing option has the ability to upmix into whatever speaker setup you want.

andyvt
12th September 2013, 11:13
Did I miss something?


Jim was probably referring to this (http://yabb.jriver.com/interact/index.php?topic=83481.0).

filler56789
12th September 2013, 12:05
Jim was probably referring to this (http://yabb.jriver.com/interact/index.php?topic=83481.0).

Not "probably", but *surely*
( I did read his original, unedited post ;) )

( and oh BTW, that T-shirt in that pic is exceedingly trollish :p )

jmone
12th September 2013, 12:13
As a JRiver user I'm thrilled that nevcairiel is bringing his talents as part of the MC dev team! Happy Days!

NanoBot
12th September 2013, 12:15
Hi,

Nev, some time ago I requested the option of providing stereo sound duplication for surround speakers and you agreed to look into it. Is it possible to see this implemented sometime soon? It would save time checking if video is stereo output and if it is switching the receiver
into 7 channel stereo mode and then having to switch it back for 6 channel AAC, Dolby etc, thanks.

Even I already noticed nevcairiels comment that this feature is not high priority on his list, I would like to second this feature request and I also would like to extend it.

I am in a similiar situation like ryrynz:

My pc is connected to my av amp through the HDMI output of my NVidia card. When I am watching movies with multichannel audio, e.g. multichannel flac, I have to configure the HDMI output to 5.1 channels. But when I am watching a movie with stereo and perhaps prologic audio, I have to switch the HDMI output back to 2 channels, because the av amp can only be switched to "double stereo" or "prologic II movie" when it is feeded with 2 channel LPCM signals.

From my point of view the optimal situation would be that the LAV audio decoder could optionally convert a stereo signal either to "double stereo" or decode it using the prologic matrix by itself. In that case the HDMI output could be configured once and only as 5.1, regardless of the movie I want actually to watch.

And congratulations to the new job, Nevacariel.


C.U. NanoBot

nevcairiel
12th September 2013, 12:21
My pc is connected to my av amp through the HDMI output of my NVidia card. When I am watching movies with multichannel audio, e.g. multichannel flac, I have to configure the HDMI output to 5.1 channels. But when I am watching a movie with stereo and perhaps prologic audio, I have to switch the HDMI output back to 2 channels, because the av amp can only be switched to "double stereo" or "prologic II movie" when it is feeded with 2 channel LPCM signals.

You should simply use WASAPI exclusive mode output, it'll automatically reconfigure the HDMI output to the appropriate amount of channels then, and the receiver can do its thing. This worked beautifully for me for years.
A generic audio renderer that can do this is ReClock, and if you don't want ReClocks other (primary) function of adjusting the audio, you can also turn that off and use it as a pure WASAPI renderer.

Many players offer their own audio renderer though, some of which come with native WASAPI support as well.

ryrynz
12th September 2013, 12:58
In that case the HDMI output could be configured once and only as 5.1, regardless of the movie I want actually to watch.


Same deal here, PC software is much more flexible. I don't like to have to muck around with settings for each video I want to watch.

I jumped into ffdshow's mixer and set it up to do this, the sound is quite different though. I think finding the similar values for each channel to produce the same effect as my receiver might take a bit of time.

SamuriHL
12th September 2013, 13:09
Jim was probably referring to this (http://yabb.jriver.com/interact/index.php?topic=83481.0).

Yea I went and found it after I posted here. Great news!

Carved in blood by a wakizashi...

NanoBot
12th September 2013, 13:43
You should simply use WASAPI exclusive mode output, it'll automatically reconfigure the HDMI output to the appropriate amount of channels then, and the receiver can do its thing. This worked beautifully for me for years. A generic audio renderer that can do this is ReClock, and if you don't want ReClocks other (primary) function of adjusting the audio, you can also turn that off and use it as a pure WASAPI renderer. Many players offer their own audio renderer though, some of which come with native WASAPI support as well.

I am using MPC-HC and just installed ReClock. And now everything works like it should, the speaker configuration of the HDMI connection is automaticly adjusted to the number of channel available.

:thanks:

e-t172
12th September 2013, 21:15
There is no right and wrong when it comes to the sound stage. It's whatever sounds "good" to you.

I disagree. It's not whatever sounds good to you, it's whatever is the most true to the source. It's an audio reproduction system, not an audio "pleasure" system or whatever. When you're playing stereo audio over rear speakers you're damaging audio fidelity, hence it goes against the purpose of an audio reproduction system.

clsid
12th September 2013, 22:02
Let me guess, you are also using some gold-plated pixie dust sprinkled Monster audio cables?

e-t172
12th September 2013, 22:47
Quite the opposite. My cables cost Ģ5 each, I'm using a Ģ50 sound card, and my output is set to 48 kHz. I'm spending money where it actually makes a difference: the speakers. When I read reviews for audio hardware I always skip any subjective impressions and only use the measurements (if there any...). I will not listen to any argument that is not backed either by objective measurements/specifications or by documented double-blind tests. Which means that I stay very much away from "idiophile" equipment like $1000 cables, tube amplifiers, or vinyl players. I regularly verify the performance of my system by measuring frequency response and non-linear distortion using a measurement microphone. My favorite reading is the AES journal, not Stereophile.

The people you've mistaken me for are referred to as "subjectivist" audiophiles (I like the term "idiophile (http://wathifi.tumblr.com/)", since, by definition, they don't make rational choices). I, on the other hand, am in the "objectivist" camp. Here's a good summary of the differences. (http://nwavguy.blogspot.co.uk/2012/04/what-we-hear.html)

Redemption80
13th September 2013, 02:03
That is a horribly cold and depressing way to treat audio.

Music, and to a lesser degree movie soundtracks are all about getting pleasure from sound, if listening to something the way your "supposed" to is unpleasant then what is the point.

It's like DRC or other late night modes, i dislike anything like that but a higher dynamic range can sound horrible to many people, so they prefer to enable it even if it's not accurate.
Same thing with watching a movie with headphones or on stereo speakers, it might be wrong but many prefer it.

I can't say i would like the feature that ryrynz is asking for as whenever i have tried that on a receiver it has always sounded fake and horrible, but DPII upmixing would be more suited as many, if not most movies with a 2.0 soundtrack tend to have some sort of matrix encoding.

I understand this is not simple though.

dansrfe
13th September 2013, 02:39
You know, this is exactly the same kind of debate that happens when people prefer their display to output higher color temperatures (more blue) knowing that everything being shown through it is going to be inaccurate.

I used to be in the same camp till I calibrated to the standard color temperature and after a few days I got used to it and now I realize that everything I had been seeing was many shades bluer.

Moral of the story, the standard or correct practices may seem alien at first, but our eyes and ears constantly adjust to whatever we see and hear so that it sounds and looks "right". When you compare the calibrated result after a period of time, the "non-calibrated" setup will seem worse.

ryrynz
13th September 2013, 09:23
I disagree. It's not whatever sounds good to you, it's whatever is the most true to the source. It's an audio reproduction system, not an audio "pleasure" system or whatever. When you're playing stereo audio over rear speakers you're damaging audio fidelity, hence it goes against the purpose of an audio reproduction system.

Then I guess we should just completely ignore Dolby Prologic and DTS Neo then, both could be viewed as a complete waste of time and effort, the fact that some people prefer those rather than playing in stereo not worth mentioning because stereo is the only true way to play 2 channel sources. Maybe Nev should remove those Matrix encoding options from LAV too as it's either the intended way or the highway. :p

DragonQ
13th September 2013, 11:07
I can see why some people might prefer to route stereo to all of their speakers, it gives an impression closer to that of headphone listening for a start. I don't do it because my surround speakers are average compared to my front speakers.

The only time I use any kind of signal processing on my AVR is Dolby Pro Logic II when using my Wii and that's only because in their infinite wisdom Nintendo decided to only allow the console to output audio via stereo cables, despite some games supporting surround sound. As long as the game supports Dolby Pro Logic II, once the receiver decodes it, I get true surround sound (although the encoding is a lossy process of course). I wouldn't use it for a game that only supported stereo.

e-t172
13th September 2013, 15:07
Music, and to a lesser degree movie soundtracks are all about getting pleasure from sound, if listening to something the way your "supposed" to is unpleasant then what is the point.

I 100% agree with you. However, when I play something through a neutral system and I hear something I don't like, I blame the music, not the audio system. By definition, if the system is neutral, then it's not its fault if the sound is bad: it's just reproducing what we tell it to reproduce. Shoot the message, not the messenger.

It's like DRC or other late night modes, i dislike anything like that but a higher dynamic range can sound horrible to many people, so they prefer to enable it even if it's not accurate.
Same thing with watching a movie with headphones or on stereo speakers, it might be wrong but many prefer it.

These options are often used for purely practical reasons, which is 100% fine by me. Just don't pretend you're improving audio quality by using them.

Moral of the story, the standard or correct practices may seem alien at first, but our eyes and ears constantly adjust to whatever we see and hear so that it sounds and looks "right". When you compare the calibrated result after a period of time, the "non-calibrated" setup will seem worse.

I believe you're referring to chromatic adaptation (http://en.wikipedia.org/wiki/Chromatic_adaptation) (which doesn't cover every situation, by the way). There is no evidence that I know of that something similar applies to audio.

Then I guess we should just completely ignore Dolby Prologic and DTS Neo then

AFAIK, Dolby Pro Logic and DTS Neo are meant to use information that has been put there in the production chain, so they do reproduce what's specified in the source.

I can see why some people might prefer to route stereo to all of their speakers, it gives an impression closer to that of headphone listening for a start.

That's not what the research shows (http://www.innerfidelity.com/content/harman-researchers-make-important-headway-understanding-headphone-response):

The underlying premise or hypothesis was quite simple: since stereo recordings are optimized to sound good through loudspeakers in a room, they will only sound good through headphones that simulate the response of a loudspeaker system in a room. This study provides empirical evidence that this premise is well grounded.

DragonQ
13th September 2013, 15:34
That's not what the research shows (http://www.innerfidelity.com/content/harman-researchers-make-important-headway-understanding-headphone-response):

The underlying premise or hypothesis was quite simple: since stereo recordings are optimized to sound good through loudspeakers in a room, they will only sound good through headphones that simulate the response of a loudspeaker system in a room. This study provides empirical evidence that this premise is well grounded.

Well that's interesting. Is that only true of higher end headphones though? I mean, I don't think my el-cheapo earphones sound like my speakers in terms of soundstage.

e-t172
13th September 2013, 16:28
Well that's the goal, at least. Of course cheaper headphones might sit farther than this ideal, but that's why they're cheap, I guess.

dansrfe
13th September 2013, 17:55
So, the conclusion is that audio/video systems must faithfully reproduce the given content and anything that may seem wrong or incorrect is the fault of the audio source which should be fixed by software if necessary.

I agree.

Tom Keller
13th September 2013, 19:12
LAV Video Decoder + LAV Splitter + MPC-HC 1.7.0 are having some strange problems together... at least on my system:

I have 2 displays (monitor & tv) and use madVR for most of the time. When playing a file from the playlist on display 1 (monitor) and switch to fullscreen on display 2 (tv), after the playback of the current file the player closes itself WITHOUT playing the following files from the playlist. Sometimes the player closes itself too, after manually switching from one file on the playlist to another, even with other video renderers (like Haali or EVR Cust.). So i assumed: this is not directly related to the video renderer itself.

I did some testing... and it seemed like this is only happening, while using the internal LAV Video Decoder. There are no such problems with ffdshow or CoreAVC as video decoders. And it's the same with the external LAV Video Decoder (tested: 0.58.0 - 0.58.2). Even more strangely: with PRE-1.7.0-mpc-hc-versions everything works fine. But every mpc-hc version since the first v1.7.0 behaves like that.

So i did some more testing with different media splitters: no problem with Haali Media Splitter in combination with the LAV Video Decoder! Could that be? Is there's some weird problem in combining LAV Video Decoder + LAV Splitter + MPC-HC 1.7.0???

Devrim
13th September 2013, 19:13
In the second post it says

Q: Can LAV Audio decode DTS-HD?
A: Kind of. On its own, it cannot. But, LAV Audio supports using the ArcSoft DTS decoder, which allows decoding of full DTS-HD. Just drop the "dtsdecoderdll.dll" from the TMT3/5 Codecs directory into LAV Audio's directory, and enjoy. NOTE: This only works on 32-bit!

Is this still the same for LAV Audio?

sneaker_ger
13th September 2013, 19:21
Yes, it's still true.

ryrynz
14th September 2013, 05:33
AFAIK, Dolby Pro Logic and DTS Neo are meant to use information that has been put there in the production chain, so they do reproduce what's specified in the source.


That was the primary purpose behind it, but that still leaves people with the option of applying these matrix decoding algorithms to stereo sources. Read up on any audiophile forum and you'll find many people prefer using these technologies to "enhance" their sound stage from standard two channel sources, in fact there were high end devices such as the Lexicon CP3 (http://www.lexicon.com/Products/Details/168) which was highly regarded as doing an excellent job on "recreating the original recording space".

Anyway, I find stereo sound is too focused to sound natural. I have a 7.1 setup and it sounds better when they're all active but only when it's set up right. When I set up 7 channel stereo via ffdshow with all channels set to full volume it sounded pretty bad.

Well that's interesting. Is that only true of higher end headphones though? I mean, I don't think my el-cheapo earphones sound like my speakers in terms of soundstage.

I don't think any headphones could ever sound like floor speakers in terms of sound stage.

mecedo
16th September 2013, 08:31
I've found one problem. If LavAudio is used with Reclock (checked option: "Use AC3 Encoding") then audio is very loud and distorted. I don't know if it's problem with Reclock or LavAudio so I posted this bug in Reclock forum too. But with another audio decoder problem doesn't exist so I think this is problem with LavAudio.

And I've observed that using "Apply DRC on formats that support it" prevents distortions but it's not solution.

Devrim
18th September 2013, 15:14
Will LAV Filters ever support these subs?

Text #1
ID : 33 (0x21)-1
Menu ID : 1 (0x1)
Format : EIA-708
Muxing mode : A/53 / DTVCC Transport
Muxing mode, more info : Muxed in Video #1
Duration : 51mn 38s
Bit rate mode : Constant
Stream size : 0.00 Byte (0%)

Text #2
ID : 33 (0x21)-2
Menu ID : 1 (0x1)
Format : EIA-708
Muxing mode : A/53 / DTVCC Transport
Muxing mode, more info : Muxed in Video #1
Duration : 51mn 38s
Bit rate mode : Constant
Stream size : 0.00 Byte (0%)


Or is it not possible

shpitz
18th September 2013, 22:05
Anyway, I find stereo sound is too focused to sound natural. I have a 7.1 setup and it sounds better when they're all active but only when it's set up right. When I set up 7 channel stereo via ffdshow with all channels set to full volume it sounded pretty bad.

I prefer listening to LP via Phono input of the receiver using Studio-Mix DSP mode. Music I play with WinAMP using Maiko WASAPI output plugin in exclusive mode, stereo in Studio-Mix, SACD/DVD-A rips as multichannel PCM (flac) using THX Music DSP in the receiver. There's a quick guide here (http://www.head-fi.org/t/588677/a-short-audiophile-guide-to-winamp-w-maiko-wasapi).
In the receiver, I turn on Audyssey in Music mode and turn on Dynamic EQ, sounds incredible.

On the video side, I use MPC-BE to play MKV remuxes that I create from BD's, you can see how to configure it here: AVSForum (http://www.avsforum.com/t/1091403/edid-override-thread/2850#post_23732151).
This gives me 24Hz output with bitstreaming for all formats, plays flawlessly.
For 3D movies, I use TotalMedia Theatre to play the ISO's.
I have a 7.2 setup.

iSunrise
18th September 2013, 23:22
Hi, I have a question:

If I play a blu-ray movie by manually opening a m2ts container file that is in itīs original directory "...\BDMV\STREAM", LAV Splitter is able to read all audio and subtitle language streams with itīs corresponding languages shown in the filter section of MPC-HC or PotPlayer, like this:

http://abload.de/thumb/lav_splitter_audio_stydoks.png (http://abload.de/image.php?img=lav_splitter_audio_stydoks.png)

However, when I move out the same file into another directory and play it, LAV Splitter suddenly isnīt able to read the languages. It still shows all the streams and subtitles, but misses the language information. It looks like this:

http://abload.de/thumb/lav_splitter_audio_stg5jtb.png (http://abload.de/image.php?img=lav_splitter_audio_stg5jtb.png)

I am a bit puzzled by this. How and where does LAV Splitter (Source) get this info in this case and why doesnīt it work when I move the file somewhere else? Since, judging by that, this info doesnīt seem to be embedded into the m2ts itself?

nevcairiel
19th September 2013, 06:32
The info is in the Blu-ray playlist files, which are obviously not available anymore if you move the m2ts.

iSunrise
19th September 2013, 08:01
The info is in the Blu-ray playlist files, which are obviously not available anymore if you move the m2ts.
Thanks, so LAV is always searching for the corresponding MPLS automatically when you leave the blu-ray structure intact. Thatīs rather clever, never thought that LAV Splitter could do that on itīs own.

Thanks for clearing that up. LAV surprises me every day I use it.

sebas_led
19th September 2013, 14:46
New AMD Catalyst™ Driver 13.9:
http://support.amd.com/us/kbarticles/Pages/AMDCatalyst13-9WINReleaseNotes.aspx

Download center:
http://support.amd.com/us/gpudownload/Pages/index.aspx

nevcairiel
19th September 2013, 14:48
This is not a driver announcement thread, please don't do that.

FreeFall
19th September 2013, 15:29
nevcairiel,

Playback stalls with this Blu-ray Disc sample using MPC-HC. At around 2 min during the roll of the credits it only happens when played back from its playlist file (00004.mpls). Playback will resume after about a minute and play normally.

The Disc uses two streams one for the episode and one for the credits both the m2ts files playback fine on their own.

H264 / DTS-HD 2.0
http://www.sendspace.com/file/4uwhhe

The video plays without any problems using MPC-BE or it's splitter in combination with LAV Video / Audio decoders.


Subtitle lines at 33 and 39 sec are delayed with Madvr or EVR using internal(Madvr) or xy-VSfilter(EVR) sub renderers, EVR-CP seems fine for some reason.

H264 / LPCM 2.0
http://www.sendspace.com/file/ub3gpg

Tested the same as above using MPC-BE's internal splitter in combination with LAV Audio / Video without any problems.


Thanks.

nevcairiel
19th September 2013, 15:52
I assume you tested with the 0.58.2 release, because the first issue should already be fixed in Git, and a quick test shows it works like expected. :)

Not sure about the second one, if it works with the internal subtitle renderer with EVR-CP, the splitter must deliver the subtitles in time and with the proper timestamps, so its unlikely to be an issue there.
How much delay do you actually see there? Can't be more then a second or so.

FreeFall
19th September 2013, 16:13
That's right 0.85.2 and MPC-HC build 1.7.0.7833, I'll wait for an updated build. I'm not sure about the timing problem either, it's a short delay 1-2 seconds and only affects Madvr and EVR with MPC-HC, doesn't happen with MPC-BE's splitter for some reason.

Thanks for testing.

sdancer75
19th September 2013, 17:00
Can I use external subtitle files like *..srt ?

Regards,

clsid
19th September 2013, 17:39
LAV Filters does nothing with (external) subtitles. It only handles DVD subtitles, because that is needed for rendering DVD menu overlays.

For subtitles you need to install xy-VSFilter, or use the internal subtitle functionality of MPC-HC (or similar advanced players).

hubblec4
21st September 2013, 21:48
Hi nev

i found a bug for mkv ordered chapters.

i muxed this chapter.xml with mmg and LAVsplitter shows wrong chaptertimes and duration is too short.

the video plays fine with AVSplitter. right timestamps and duration.

it seems lavsplitter set the starttime of a chapter to the endtime of the next chapter.

the second chapter is missing in LAVsplitter.

i hope its not a big bug.

nevcairiel
22nd September 2013, 06:17
it seems lavsplitter set the starttime of a chapter to the endtime of the next chapter.


Thats how ordered chapters are supposed to work.
You take the individual chapters and play them one after another, so when the first chapter ends, the second one starts immediately - the start of the second chapter is at the end of the first chapter.

The first chapter is 01:38 long, it plays from 00:00 to 01:38
The second chapter is 07:41 long, it plays from 01:38 to 09:19
etc.

Any content which is not part of the chapters is skipped, which means the duration of the movie gets shorter if the chapters define it that way.

I see nothing wrong with the behaviour of LAV Splitter and this XML file.
The second chapter is skipped because it has the same start and end time, so there is no content in the chapter.

If you disable ordered chapters in the XML, LAV would behave the same way as AV Splitter. But with ordered chapters, the behaviour is correct.
Are you sure you really want ordered chapters? :) Ordered chapters define a fixed timeline how the movie is to be played, they can skip parts of the movie, or repeat parts, or re-order parts, they define a complete virtual timeline for the movie which can be completely different to the file played from start to back.

whurlston
22nd September 2013, 06:49
From the looks of it, the xml has the start time of the second chapter wrong. It looks like it should be 00:01:38.473000000

sneaker_ger
22nd September 2013, 10:36
Is anyone running EMET (http://www.microsoft.com/emet) successfully with LAV? MPC-HC recently got a work-around for a problem that made it impossible to run it with EMET, but it still crashes (http://forum.doom9.org/showpost.php?p=1644726&postcount=799) for me. When uninstalling LAV and using Haali + MS decoders instead, the crash does not occur.

hubblec4
22nd September 2013, 12:30
ok nev

i think your are right.
I'm confused, Haali shows other timestamps too. 3 different splitters and 3 different results ....mmh

the second chapter is a test, i would to know what happens when starttime = endtime. i know there is no duration for this chapter.
the chapter will be ignored by LAV (and thats the right behaviour?). so the bug is at AVSplitter and Haali?

nevcairiel
22nd September 2013, 12:32
There isn't exactly a full specification how to handle every special case, but if a chapter has zero duration, its currently not taken into account for ordered chapters in LAV.

hubblec4
22nd September 2013, 12:44
ok it make sense to skip chapters with zero duration.

Haali added a playtime(starttime stamp) from the second chapter to the virtuell timeline. i think thats not correct.

so LAV work best at the moment.

damn, no splitter in the world avalible that work correct for all situations.

gilic
22nd September 2013, 13:38
Is anyone running EMET (http://www.microsoft.com/emet) successfully with LAV? MPC-HC recently got a work-around for a problem that made it impossible to run it with EMET, but it still crashes (http://forum.doom9.org/showpost.php?p=1644726&postcount=799) for me. When uninstalling LAV and using Haali + MS decoders instead, the crash does not occur.

I've been using the beta of EMET4 without problems.

edit: I checked the settings and only SEHOP is unticked for the MPC-HC process.

sneaker_ger
22nd September 2013, 13:49
That does not seem to do it for me, running EMET 4 final.

mecedo
23rd September 2013, 08:26
Maybe the problem is that LavAudio ignores "Dialog Normalization" metadata in AC3 stream? When "SPDiF Passtrough" is used then volume is set properly. But when LAV Audio decodes AC3 stream then there's no difference in volume between these two samples:
https://hotfile.com/dl/246928760/b15029f/1_Without_dialog_normalization.ac3.html
https://hotfile.com/dl/246929630/9b462d2/2_With_dialog_normalization.ac3.html

I've found one problem. If LavAudio is used with Reclock (checked option: "Use AC3 Encoding") then audio is very loud and distorted. I don't know if it's problem with Reclock or LavAudio so I posted this bug in Reclock forum too. But with another audio decoder problem doesn't exist so I think this is problem with LavAudio.

And I've observed that using "Apply DRC on formats that support it" prevents distortions but it's not solution.

Armada
23rd September 2013, 22:17
I've been using the beta of EMET4 without problems.

edit: I checked the settings and only SEHOP is unticked for the MPC-HC process.
So what is your filter graph like? Can you turn off EMET, play a file and show me the contents of the Play > Filters menu?

sneaker_ger
23rd September 2013, 23:14
Actually, the latest LAV from 23-09-2013 CCCP experimental (http://www.cccp-project.net/beta/do_not_touch_this/Combined-Community-Codec-Pack-BETA-2013-09-23.exe) seems to fix it. (It also adds colorimetry signaling for e.g. EVR, if anyone wants to test.) I suppose any latest git version would have done the trick? Or could this be compiling related?

Owyn
23rd September 2013, 23:16
Just a newb question:
Should I enable LAV Splitter in MPC HC? I enabled LAV video\audio decoders for 10bit video to work, but why do I need LAV splitter there? I tried with it and without it and didn't notice anything different playing an .mkv video file + external audio .mka one.

gilic
23rd September 2013, 23:29
Actually, the latest LAV from 23-09-2013 CCCP experimental (http://www.cccp-project.net/beta/do_not_touch_this/Combined-Community-Codec-Pack-BETA-2013-09-23.exe) seems to fix it. (It also adds colorimetry signaling for e.g. EVR, if anyone wants to test.) I suppose any latest git version would have done the trick?

Well I was already using the latest MPC-HC nightly build.
@Armada Are you still interested in my filter graph? Just now pondering how to actually turn off EMET again...

Mangix
24th September 2013, 03:44
I'm pretty sure that EMET is not intended for specific use-case applications like MPC-HC. General use-case things like browsers are more valuable. Although Google Chrome has problems with EMET'S EAF mitigation.

sneaker_ger
24th September 2013, 08:46
I don't really want to discuss what EMET is "intended for", but media players are regularly affected by security holes and are regularly used for playing non-self-created contents as well so it can make sense to enable it for them. The only reason Microsoft has not enabled this by default is for compatibility reasons. This is my last post on the usefulness of EMET for players, not least because it is off-topic in this thread.

sneaker_ger
24th September 2013, 08:58
Well I was already using the latest MPC-HC nightly build.

The internal version of LAV included in the MPC-HC 7851 nightly crashes for me as well. Are these based on the latest git or on the latest stable release? Does anyone have a link to a build of the latest git if they aren't based on those?

/edit:
Ok, I found roytam's builds (http://roy.orz.hm/lavf-w32-nightlies/) and they crash as well. I asked the CCCP guys what could be the cause and where we can find the source.

nevcairiel
24th September 2013, 09:07
Not absolutely the latest, but close (build last night for testing)
http://files.1f0.de/lavf/LAVFilters-0.58.2-73-g4eb76e7.zip

The only difference might be that CCCP builds with VS2010 and MPC-HC builds with VS2012, on the other hand, 0.58.2 release was also build with VS2010

sneaker_ger
24th September 2013, 09:42
That one also crashes.

sneaker_ger
24th September 2013, 10:45
Nothing special on their side it seems:
I think TheRyuu had EMET installed and MPC-HC started crashing for him, but that got (more or less) fixed on MPC-HC's side. The new hooking library and how it was used in MPC-HC made it herp a derp. We've not had any LAV related EMET crashes here at the CCCP so far.

The only other change is what came with the 2013-09-17 beta that makes LAV clean up after itself a bit better (tray icons etc.), otherwise the "external as internal" stuff would crash if LAV's tray icon was enabled because MPC-HC was so quick to kill/unload the library. As far as compilation goes, LAV is still built with VS2010. MPC-HC actually uses VS2012 U3 now as its build.bat is used.

The source code, as always, is available on my github repository (https://github.com/jeeb/lavfilters/releases/tag/2013-09-23-beta).

sneaker_ger
25th September 2013, 16:22
The CCCP 2013-09-05 BETA (which seems to use the vanilla git) does not crash as well. Currently testing on GraphStudioNext to rule out MPC-HC. GSN crashes as soon as I add LAV (does not matter which filter). Guess there got to be a difference concerning the compilation after all. :confused:

JEEB
25th September 2013, 17:25
The CCCP 2013-09-05 BETA (which seems to use the vanilla git) does not crash as well. Currently testing on GraphStudioNext to rule out MPC-HC. GSN crashes as soon as I add LAV (does not matter which filter). Guess there got to be a difference concerning the compilation after all. :confused:
Uhh, no. In any case we do at the very least have differing defaults and possibly some other changes depending on what gets merged upstream. So not fully vanilla (link (https://github.com/jeeb/lavfilters/commits/2013-09-05-beta)).

Other than those changes, I really don't know what could affect EMET going bonkers on vanilla compared to my compiles, I really don't do anything special other than build ffmpeg with an older GCC 4.7.3-based toolchain, and compile LAV with an up-to-date VS2010.

sneaker_ger
25th September 2013, 17:47
Uhh, no. In any case we do at the very least have differing defaults and possibly some other changes depending on what gets merged upstream. So not fully vanilla (link (https://github.com/jeeb/lavfilters/commits/2013-09-05-beta)).
My bad. I saw the oldest CCCP patch in the 9-23 git (https://github.com/jeeb/lavfilters/commits/2013-09-23-beta) being titled with "Sep 14, 2013" and missed some patches actually being way older than that.

nevcairiel
25th September 2013, 21:32
Public Service Announcement

I'll be on vacation for the next three and a half weeks, and hopefully not look here at all in that period. :p
There won't be any code changes, and no responses. But before anyone starts wondering if LAV died because of the inactivity, it didn't, and after the vacation I will also have more time again to pick up the remaining topics and push out a release again.

ThurstonX
25th September 2013, 23:12
Public Service Announcement

I'll be on vacation for the next three and a half weeks, and hopefully not look here at all in that period. :p
There won't be any code changes, and no responses. But before anyone starts wondering if LAV died because of the inactivity, it didn't, and after the vacation I will also have more time again to pick up the remaining topics and push out a release again.

Have a great time, nev!

Cheers

jkauff
26th September 2013, 00:32
Have a very restful and refreshing vacation. Stay away from Minnesota, though. :)

JarrettH
26th September 2013, 03:57
Where are you staying? :D

nevcairiel
26th September 2013, 08:37
I'll be in Australia, Melbourne and Sydney, and some places in between.

Carpo
26th September 2013, 10:39
pulled the latest git, and when trying to build LAVFilters I am getting this issue -

Error 23 error C1083: Cannot open include file: 'libavutil/avconfig.h': No such file or directory c:\lavfilters\ffmpeg\libavutil\common.h 39 1 Demuxers

now unless I am blind I cannot see that file there, nor is it there in MPC-HC, is this file from another place? WindowsSDK??

I believe I have everything installed that I need, as I had the same things in place before I re-installed.

andyvt
26th September 2013, 10:41
pulled the latest git, and when trying to build LAVFilters I am getting this issue -

Error 23 error C1083: Cannot open include file: 'libavutil/avconfig.h': No such file or directory c:\lavfilters\ffmpeg\libavutil\common.h 39 1 Demuxers

now unless I am blind I cannot see that file there, nor is it there in MPC-HC, is this file from another place? WindowsSDK??

I believe I have everything installed that I need, as I had the same things in place before I re-installed.

IIRC, these files are generated during the ffmpeg build process. Make sure you execute build.bat (and setup the GCC environment) before trying to build LAV in VS.

Carpo
26th September 2013, 10:49
GCC is fine as MPC-HC and laf built fine, running build.bat now and the file is there, learn something new everyday :D

andyvt
26th September 2013, 10:52
What is strange is that the files build okay when I built MPC-HC........:angry:

I will give gcc another go, I'm sure I set it the same as before, will triple check

Depending on how your PC is setup you may want to create a custom build.bat.

Mine has


@set PATH=%MINGW32%\bin;%MINGW64%\bin;%MSYS%\bin;%PATH%


right after


call "%VS100COMNTOOLS%vsvars32.bat"

Carpo
26th September 2013, 11:16
thanks, will give it a try in a bit, coffee is much needed first :D

clsid
26th September 2013, 23:43
Uhh, no. In any case we do at the very least have differing defaults and possibly some other changes depending on what gets merged upstream. So not fully vanilla (link (https://github.com/jeeb/lavfilters/commits/2013-09-05-beta)).

Other than those changes, I really don't know what could affect EMET going bonkers on vanilla compared to my compiles, I really don't do anything special other than build ffmpeg with an older GCC 4.7.3-based toolchain, and compile LAV with an up-to-date VS2010.I can confirm crash with official 0.58.2 build. The exploit that EMET detects is SimExecFlow.

Compiling latest git with GCC 4.7.3 gives a working build.

GraphStudioNext works fine with any build, so the problem might be related to the mhook change in MPC-HC.

dlmh
27th September 2013, 14:21
Is it possible to somehow change the color and/or transparency of the subtitles? I'm asking because my plasma screen is showing a bad case of image burn-in cause by subtitles. Maybe making them a little bit less opaque and white will lessen the effect.

detmek
27th September 2013, 14:54
LAV Filters does not show subtitles. It is player's feature. So, change that in your player.

dlmh
27th September 2013, 15:48
LAV Filters does not show subtitles. It is player's feature. So, change that in your player.

Thanks. I'm using XBMC and remembered changing the settings for subtitles didn't change anything when used with DSPlayer and LAV Splitter/video. Thought this had to do with the internal renderer being bypassed.

Asmodian
27th September 2013, 19:59
Maybe you have xy-VSFilter installed and is being used by XBMC to render subtitles?

mindbomb
28th September 2013, 04:59
heads up, the new intel atom has full bitstream hardware decoding of vp8.

shpitz
28th September 2013, 07:30
Probably, a sample would still help to support it eventually.

Sorry about the late response, but here's a sample that doesn't rotate:
VID_20130928_012143.mp4 (http://www39.zippyshare.com/v/28485654/file.html)

Here's the MediaInfo detail about it:
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L4.1
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=29
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 16s 625ms
Source duration : 16s 640ms
Bit rate : 15.1 Mbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Rotation : 90°
Frame rate mode : Variable
Frame rate : 30.000 fps
Minimum frame rate : 20.979 fps
Maximum frame rate : 30.040 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.547
Stream size : 30.0 MiB (97%)
Source stream size : 30.0 MiB (97%)
Title : VideoHandle
Language : English
Encoded date : UTC 2013-09-28 06:22:01
Tagged date : UTC 2013-09-28 06:22:01
mdhd_Duration : 16625

Note the entry for 'Rotation' of '90°'. A file that doesn't need rotation does not have the 'Rotation' flag at all.

I'm on latest LAV (v0.85.2) using MPC-BE with LAV splitter/audio/video.

wanezhiling
28th September 2013, 09:30
Confirmed.
Mpc-be and PotPlayer support embedded rotation info

octal9
29th September 2013, 13:07
Thanks. I'm using XBMC and remembered changing the settings for subtitles didn't change anything when used with DSPlayer and LAV Splitter/video. Thought this had to do with the internal renderer being bypassed.
try using xysubfilter with madvr renderer - can set up sub editing on the fly via xysubfilter and set up global default subs to yr. liking (or just edit sub transparency of existing subs), including transparency, font, size, color, etc...

dandy
30th September 2013, 15:30
hi
first of all - thank you for lav

I have an old machine with a pinacle pctvsat card
for the card I have to build the ds filter chain manually
simplefied
- source filters (card specific and transform)
- mpeg2 demultiplixer (ms)
- audio and video decoder
- renderers

for the mpeg2 demultiplexer I create output pins for sd and hd:
H264VideoFormat : array[0..87] of Byte=(
$00, $00, $00, $00, // .hdr.rcSource.left = 0x00000000
$00, $00, $00, $00, // .hdr.rcSource.top = 0x00000000
$00, $00, $00, $00, // .hdr.rcSource.right = 0x00000000
$00, $00, $00, $00, // .hdr.rcSource.bottom = 0x00000000
$00, $00, $00, $00, // .hdr.rcTarget.left = 0x00000000
$00, $00, $00, $00, // .hdr.rcTarget.top = 0x00000000
$00, $00, $00, $00, // .hdr.rcTarget.right = 0x00000000
$00, $00, $00, $00, // .hdr.rcTarget.bottom = 0x00000000
$00, $00, $00, $00, // .hdr.dwBitRate = 0x00000000
$00, $00, $00, $00, // .hdr.dwBitErrorRate = 0x00000000
$00, $00, $00, $00, $00, $00, $00, $00, // .hdr.AvgTimePerFrame = 0x0000000000000000
$1C, $00, $00, $00, // .hdr.bmiHeader.biSize = 0x00000028
$80, $07, $00, $00, // .hdr.bmiHeader.biWidth = 1920
$38, $04, $00, $00, // .hdr.bmiHeader.biHeight = 1080
$00, $00, // .hdr.bmiHeader.biPlanes = 0x0000
$18, $00, // .hdr.bmiHeader.biBitCount = 0x0000
$41, $56, $43, $31, // .hdr.bmiHeader.biCompression = "AVC1"
$00, $00, $00, $00, // .hdr.bmiHeader.biSizeImage = 0x00000000
$00, $00, $00, $00, // .hdr.bmiHeader.biXPelsPerMeter = 0x00000000
$00, $00, $00, $00, // .hdr.bmiHeader.biYPelsPerMeter = 0x00000000
$00, $00, $00, $00, // .hdr.bmiHeader.biClrUsed = 0x00000000
$00, $00, $00, $00 // .hdr.bmiHeader.biClrImportant = 0x00000000
);
Mpeg2ProgramVideo : array[0..217] of Byte=(
$00, $00, $00, $00, //00 .hdr.rcSource.left = $00000000
$00, $00, $00, $00, //04 .hdr.rcSource.top = $00000000
$D0, $02, $00, $00, //08 .hdr.rcSource.right = $000002d0 //720
$40, $02, $00, $00, //0c .hdr.rcSource.bottom = $00000240 //576
$00, $00, $00, $00, //10 .hdr.rcTarget.left = $00000000
$00, $00, $00, $00, //14 .hdr.rcTarget.top = $00000000
$D0, $02, $00, $00, //18 .hdr.rcTarget.right = $000002d0 //720
$40, $02, $00, $00, //1c .hdr.rcTarget.bottom = $00000240// 576
$00, $09, $3D, $00, //20 .hdr.dwBitRate = $003d0900
$00, $00, $00, $00, //24 .hdr.dwBitErrorRate = $00000000
$80, $1A, $06, $00, $00, $00, $00, $00, //28 .hdr.AvgTimePerFrame = $0000000000051763 ->1000000/ 40000 = 25fps
$00, $00, $00, $00, //2c .hdr.dwInterlaceFlags = $00000000
$00, $00, $00, $00, //30 .hdr.dwCopyProtectFlags = $00000000
$04, $00, $00, $00, //34 .hdr.dwPictAspectRatioX = $00000004
$03, $00, $00, $00, //38 .hdr.dwPictAspectRatioY = $00000003
$00, $00, $00, $00, //3c .hdr.dwReserved1 = $00000000
$00, $00, $00, $00, //40 .hdr.dwReserved2 = $00000000
$28, $00, $00, $00, //44 .hdr.bmiHeader.biSize = $00000028
$D0, $02, $00, $00, //48 .hdr.bmiHeader.biWidth = $000002d0 //720
$40, $02, $00, $00, //4c .hdr.bmiHeader.biHeight = $00000240 //576
$00, $00, //50 .hdr.bmiHeader.biPlanes = $0000
$00, $00, //54 .hdr.bmiHeader.biBitCount = $0000
$00, $00, $00, $00, //58 .hdr.bmiHeader.biCompression = $00000000
$00, $00, $00, $00, //5c .hdr.bmiHeader.biSizeImage = $00000000
$D0, $07, $00, $00, //60 .hdr.bmiHeader.biXPelsPerMeter = $000007d0
$27, $CF, $00, $00, //64 .hdr.bmiHeader.biYPelsPerMeter = $0000cf27
$00, $00, $00, $00, //68 .hdr.bmiHeader.biClrUsed = $00000000
$00, $00, $00, $00, //6c .hdr.bmiHeader.biClrImportant = $00000000
$98, $F4, $06, $00, //70 .dwStartTimeCode = $0006f498
$00, $00, $00, $00, //74 .cbSequenceHeader = $00000000
$02, $00, $00, $00, //78 .dwProfile = $00000002
$02, $00, $00, $00, //7c .dwLevel = $00000002
$00, $00, $00, $00, //80 .Flags = $00000000
$00, $00, $01, $B3, $2D, $01, $E0, $24,
$09, $C4, $23, $81, $10, $11, $11, $12,
$12, $12, $13, $13, $13, $13, $14, $14,
$14, $14, $14, $15, $15, $15, $15, $15,
$15, $16, $16, $16, $16, $16, $16, $16,
$17, $17, $17, $17, $17, $17, $17, $17,
$18, $18, $18, $19, $18, $18, $18, $19,
$1A, $1A, $1A, $1A, $19, $1B, $1B, $1B,
$1B, $1B, $1C, $1C, $1C, $1C, $1E, $1E,
$1E, $1F, $1F, $21, $00, $00, $01, $B5,
$14, $82, $00, $01, $00, $00 );

with ffdshow (old version - rev2547_20081228 / newer don't work) for SD and with CoreAVC for HD all is working well

now: lav is connecting to the demultiplexer (sd or hd output pin) allright - but there is no picture

I don't know if this is of any interest for other people, but perhaps it's easy to fix
and I do want to use lav for viewing tv!

thank you

clsid
30th September 2013, 17:30
So rev2583 (http://sourceforge.net/projects/ffdshow-tryout/files/SVN%20builds%20by%20clsid/very%20old%20builds/ffdshow_rev2583_20090105_clsid.exe/download) is broken? Have you tried both libavcodec and libmpeg2?

dandy
30th September 2013, 20:35
@clsid
thank you for your reply
I've tested some of your old builds and can now say (live mpeg2 ts from BBC One)
- rev3572_20100913 works ok with both libavcodec and libmpeg2 (libmpeg2 seems smoother)
- rev3611_20101006 doesn't work (both libavcodec and libmpeg2 / ffdshow doesn't connect to the Microsoft mpeg2-demultiplexer)
nothing else is changed during the tests
latest build - same as 3611
I don't remember why I kept rev2547

with lav the graph builds ok but no picture

NikosD
1st October 2013, 07:41
Using latest official LAV 0.58.2 and an old laptop with Intel iGPU 945GM (mobile 945 express chipset), I found out that LAV doesn't support it in DXVA mode.

MPEG-2 is the only HW accelerated codec exposed by that chipset (MPEG2_VLD) and it's working fine with PotPlayer in DXVA mode.

LAV says it's available in DXVA mode but never goes "in use".
LAV decodes MPEG-2 in software (fall back) if you select DXVA.

I tried all of my MPEG-2 clips (progressive and interlaced)

wanezhiling
1st October 2013, 09:16
MPEG-2 is the only HW accelerated codec exposed by that chipset (MPEG2_VLD)

http://download.intel.com/products/graphics/intel_graphics_guide.pdf
http://i.imgur.com/LPdr0no.png
GMA 950 only supports MPEG2_MC...


Could you post a screenshot of dxva checker?

NikosD
1st October 2013, 10:46
13752

Maybe your post is more accurate than mine.

I can't blame DXVA Checker, probably an Intel's driver error.
I'm using driver version 8.15.10.1930 (latest).

Probably the driver tricks LAV Video decoder too, because LAV says DXVA available in properties.

I have to say though, that during playback PotPlayer info says DXVA_VLD not some other partial acceleration.

CPU utilization is more than usual for VLD decoding, but because it's a rather slow platform, I can't say for sure if it's a partial or full acceleration during PotPlayer's playback.

For now, I'm staying with the impression of tricky drivers, exposing something that the chipset can't support.

wanezhiling
1st October 2013, 13:45
Driver error i think. should only support MC not VLD.

oddball
1st October 2013, 15:31
I cannot play this clip.

http://pdl.warnerbros.com/wbmovies/gravity/trailer2/GRAVITY_TRAILER_5-2k.mov

It comes out red and black in MPC-HC using LAV.

EDIT: Nevermind it's MadVR that's causing it.

sneaker_ger
1st October 2013, 15:53
JFYI that clip is ProRes (10 Bit, 4:2:2) and I have no problem with LAV + madVR playing it with P210 output.

/edit:
http://forum.doom9.org/showthread.php?p=1646239#post1646239 (v210 broken, not sure if LAV or madVR fault)

Aleksoid1978
2nd October 2013, 01:50
Driver error i think. should only support MC not VLD.

Intel 950 support MPEG2_VLD DXVA2 mode.
I work with it's chipset some times ago, and MPC-BE must support this.

sdancer75
2nd October 2013, 19:25
Hi,

I added a new simple Interface (IFileOffset.h) like below.

static const IID IID_IFileOffset = { 0xF9A5586A, 0xEFC5, 0x4b46, { 0x99, 0x18, 0x03, 0xA7, 0x8B, 0x71, 0x5B, 0x81 } };


[uuid("F9A5586A-EFC5-4b46-9918-03A78B715B81")]
interface IFileOffset : public IUnknown {
virtual STDMETHODIMP SetFileOffset(ULONGLONG offset)= 0;
virtual STDMETHODIMP GetFileOffset(ULONGLONG *offset)= 0;
};

I changed the CLAVSplitterSource, declaring and implementing the above two virtual methods.


[uuid("B98D13E7-55DB-4385-A33D-09FD1BA26338")]
class CLAVSplitterSource : public CLAVSplitter , public IFileOffset
{
public:
// construct only via class factory
CLAVSplitterSource(LPUNKNOWN pUnk, HRESULT* phr);
virtual ~CLAVSplitterSource();


// IUnknown
DECLARE_IUNKNOWN;
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv);


//IFileOffset
STDMETHODIMP SetFileOffset(ULONGLONG offset);
STDMETHODIMP GetFileOffset(ULONGLONG *offset);



};




Testing the filter with the code below, it fails quering IID_IFileOffset with E_NOINTERFACE error.

hr = CoCreateInstance(CLSID_LAVSplitterSource, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**) &ppF);
if (SUCCEEDED(hr))
{
hr = pGraph->AddFilter(ppF, L"LAV Splitter Source");

hr = ppF->QueryInterface(IID_IFileOffset,(void **)&pFileOffset);
if (FAILED(hr))
{
printf("ERROR - Could not obtain the File Offset interface.");
ppF->Release(); // Clean up after ourselves
ppF = NULL;
return 0;

}
}

What seems to be the problem here ?

sebas_led
2nd October 2013, 22:05
You have to implement:
[code]
CLAVSplitterSource::QueryInterface(... clsid , void **pObject) {
if (clsid == IID_IFileOffset) {
... //
}
}
[code]

sdancer75
3rd October 2013, 10:06
You have to implement:
[code]
CLAVSplitterSource::QueryInterface(... clsid , void **pObject) {
if (clsid == IID_IFileOffset) {
... //
}
}
[code]

Yes you have right... I forgot it :-)

molitar
3rd October 2013, 17:08
I don't know why there is not a good boost on LAV Audio. I have to use both LAV and ffdshow as I can increase low audio with ffdshow by setting it to all unsupported and than use volume boost. It's ridiculous I have to use both but when all the different encoding being used by the different fansub groups it's the only way to have decent audio. LAV Audio needs a feature to boost ALL audio! And too boost it alot I have to run usually at 9db and if you know anything about db that is 100% gain for ever 3db so I am boosting 300%. If I do not do this than all other audio is too loud for my normal pc usage like a simple beep becomes a blare! So effectively increasing ffdshow audio boost let's me keep my pc audio at a comfortable level for everything else.

So basically the only way I have found for a good solution so far is CCCP with ffdshow.

e-t172
3rd October 2013, 17:27
I don't know why there is not a good boost on LAV Audio. I have to use both LAV and ffdshow as I can increase low audio with ffdshow by setting it to all unsupported and than use volume boost. It's ridiculous I have to use both but when all the different encoding being used by the different fansub groups it's the only way to have decent audio. LAV Audio needs a feature to boost ALL audio!

Having a feature to boost audio (with clipping if need be) would indeed be useful as a stopgap solution for people with low-gain audio systems.

And too boost it alot I have to run usually at 9db and if you know anything about db that is 100% gain for ever 3db so I am boosting 300%.

Not quite. When talking about voltage and digital samples 6dB = x2 (100%). 9dB is x2.8 gain. You arrive at the correct number because you made a mistake in the calculation (if 3dB were 100% gain, then 9dB would be 400%, not 300%, because dB is a logarithmic scale).

If I do not do this than all other audio is too loud for my normal pc usage like a simple beep becomes a blare! So effectively increasing ffdshow audio boost let's me keep my pc audio at a comfortable level for everything else.

That's normal and expected. Most videos have very high dynamic range (average level is typically -20 dBFS) and that's A Very Good ThingĐŪ™ when it comes to audio quality. To fix your issues you should reduce the volume of other applications, not boost and clip your video player's output, as it might significantly affect audio quality.

Thunderbolt8
3rd October 2013, 22:29
whats the difference of using LAV stuff as internal filters of mpc-hc or using it as external filter? how can I be sure when I want to use the external filters that the internal LAV filter settings wont override or interfere?

Soukyuu
4th October 2013, 13:00
One difference I know of is that the internal filters can only be used by the player they're built into. So if you only plan to use LAV for playback in that player, you don't need to install the external one.

Thunderbolt8
4th October 2013, 16:44
ok but how do I know if inbuilt LAV is active in mpc-hc or one of their own internal codecs? what are the rules of priority here?

the_weirdo
4th October 2013, 17:37
ok but how do I know if inbuilt LAV is active in mpc-hc or one of their own internal codecs? what are the rules of priority here?

You can tell internal filters or external filters are being used by looking at Filters list, internal filters have "(internal)" suffix in their name.

From what I see, it seems MPC-HC will use internal filters if they're enabled, unless external filters are set as prefer in External Filters options (EDIT: it seems this is not always true). If internal filters are disabled then MPC-HC will use external filters.

michkrol
4th October 2013, 17:45
ok but how do I know if inbuilt LAV is active in mpc-hc or one of their own internal codecs? what are the rules of priority here?

With version 1.7.0, MPC-HC has old internal filters replaced with LAVFilters.

To my understanding priority goes like that:
- priorities set in external filters in options
- if internal filters are enabled, use them
- use external filters
- if no external filters are available for this file, use internal version of LAVFilters

You can view filters used by right clicking on video and selecting Filters sub-menu. The LAVFilters are indicated by (internal), if internal version is used.

Thunderbolt8
4th October 2013, 18:13
does decoding DTS-HD MA still work with the internal LAV filters? I guess I need the 32-bit version of MPC-HC then and drop the dtsdecode.dll in the LAVFilters subdirectory?

Boltron
4th October 2013, 19:05
I suspect it might be better to drop dtsdecoderdll.dll into SysWOW64 to ensure it's found.

dansrfe
4th October 2013, 19:22
I dropped it into the x86 directory in LAVFilters and LAV found it.

jmone
4th October 2013, 21:45
Either folder works

Lich King
5th October 2013, 18:20
Either folder works

Yeah, sure it works.. does it have x64 version..??

mindbomb
5th October 2013, 22:24
if you select intel quicksync in lav video, is hardware acceleration for dvds checked by default?
cause, afaik, quicksync doesnt work properly with dvd video.

jkauff
5th October 2013, 23:38
if you select intel quicksync in lav video, is hardware acceleration for dvds checked by default?
cause, afaik, quicksync doesnt work properly with dvd video.
I generally use software decoding in LAV, but I use QS occasionally and I don't remember ever having a problem with DVD files or discs. Can you be more specific?

mindbomb
6th October 2013, 00:47
idk, someone told me their dvd was stuttering a lot when they were using quicksync as opposed to copyback, and also, the quicksync decoder thread states dvd playback isnt working.

ryrynz
6th October 2013, 02:04
DVD playback with quicksync is not supported, not enabled by default and yes it stutters. Use software decoding.

jkauff
7th October 2013, 01:55
DVD playback with quicksync is not supported, not enabled by default and yes it stutters. Use software decoding.
Well, not for me. I have DVD enabled and get no stuttering playing either from disc or from my hard drive. I have an IB HD4000. Maybe it's system-dependent?

I don't know about it not being supported.

This is all in latest nightly of MPC-HC, BTW.

ryrynz
7th October 2013, 07:05
Well, not for me. I have DVD enabled and get no stuttering playing either from disc or from my hard drive. I have an IB HD4000. Maybe it's system-dependent?

I don't know about it not being supported.

This is all in latest nightly of MPC-HC, BTW.

I have an HD 4000 also, if it works for you then great..
The author of the Quicksync decoder Eric Gur isn't interested in looking into why this occurs (I've asked him) He has said it's not supported.
Use at your own risk.

THX-UltraII
7th October 2013, 11:35
I'm using LAV filters with MPC-BE. I want to use only external subtitles for my movies because that way I can change the position of the subtitles if I am correct.

I play mostly Blu-Ray folder (BDMV/CERTIFICATE) movies. I can manually add a .srt by dragging and dropping that .srt to the MPC-BE window of the movie that is playing. But I m wondering if there is a way to automatically load external subtitles (.srt) when the movie starts running.

jkauff
7th October 2013, 17:22
I have an HD 4000 also, if it works for you then great..
The author of the Quicksync decoder Eric Gur isn't interested in looking into why this occurs (I've asked him) He has said it's not supported.
Use at your own risk.
If Eric says it's not supported, that's good enough for me. I don't normally use it anyway, I only use QS decoding when I want to watch a movie and Handbrake is eating up all my CPU resources doing an encode.

Cheesegeezer
14th October 2013, 12:18
A feature request If I may.

Could you implement resampling of audio upto AC3 5.1, similar to the way FFDshow does this?

Many Thanks

kypec
14th October 2013, 13:35
A feature request If I may.

Could you implement resampling of audio upto AC3 5.1, similar to the way FFDshow does this?

Many Thanks

You're confusing resampling (change of sampling frequency e.g. 44.1kHz -> 48kHz) with reencoding (change of audio format e.g. DTS 5.1 -> DD alias AC3 5.1).

michkrol
14th October 2013, 14:39
A feature request If I may.

Could you implement resampling of audio upto AC3 5.1, similar to the way FFDshow does this?

Many Thanks

As mentioned by kypec, you want re-encoding, possibly with up-mixing (stereo to 5.1, for example).
The developer is on a well deserved break right now (post), so don't expect any answer soon (check back in 2-3 weeks?).

somy
15th October 2013, 08:33
Hi,

I have a question regarding how LAV audio decoder fallback to decode HD audio track when it's configured to passthrough them to AVR. In my setup I have both a HDMI connection to AVR and a pair of analogue PC speakers. The passthrough of all audio formats to AVR works perfectly fine, however I experience different behaviours when I play videos in different containers with HD audio tracks using my PC speakers:

MKV files containing HD audio track seems to fallback to SW decoding mode and output sound to my analogue speakers without any problem.
TS and M2TS containing HD audio track doesn't produce any sound. In MPC-HC it says it cannot connect to next pin (don't know what it means though).


When LAVF is configured to passthrough and only analogue speakers are connected, why for MKV it outputs sound but not TS/M2TS?
Any help is appreciated!

Qaq
15th October 2013, 09:28
TS and M2TS containing HD audio track doesn't produce any sound. In MPC-HC it says it cannot connect to next pin (don't know what it means though).
Perhaps different source filter (not LAV) is used.
1. go MPC - Internal Filters and make sure TS and M2TS sourse filters are disabled.
2. add LAV Splitter in External filters, set Prefer.
3. click on LAV Splitter, make sure TS and M2TS are enabled.
4. start some TS and M2TS, make sure LAV Splitter is used (MPC - Filters).

somy
15th October 2013, 09:54
Perhaps different source filter (not LAV) is used.
1. go MPC - Internal Filters and make sure TS and M2TS sourse filters are disabled.
2. add LAV Splitter in External filters, set Prefer.
3. click on LAV Splitter, make sure TS and M2TS are enabled.
4. start some TS and M2TS, make sure LAV Splitter is used (MPC - Filters).

Hi,
Thanks for the help!
I'm pretty sure LAV splitter is used. I can reproduce it in MediaPortal, and I can see the LAV splitter icon in the system tray during the playback.
Occasionally I got an error msg saying FFMpeg is crashed, and MePo is crashed afterwards. In other cases the TS files is just played without sound.

hoborg
15th October 2013, 09:57
Hi,
Thanks for the help!
I'm pretty sure LAV splitter is used. I can reproduce it in MediaPortal, and I can see the LAV splitter icon in the system tray during the playback.
Occasionally I got an error msg saying FFMpeg is crashed, and MePo is crashed afterwards. In other cases the TS files is just played without sound.

Hi.
MePo using its own TS splitter for TS files. You cannot disable it. But you can rename *.TS file to *.M2TS.

Good way for testing filters is to use GraphStudioNext.

somy
15th October 2013, 10:23
Hi.
MePo using its own TS splitter for TS files. You cannot disable it. But you can rename *.TS file to *.M2TS.

Good way for testing filters is to use GraphStudioNext.
Thank you for your input!
The newer versions (1.4.0+) support other source filters than the default TSReader for local TS files, I found it yesterday actually. Please see the WIKI below:
http://wiki.team-mediaportal.com/1_MEDIAPORTAL_1/0_What's_New/1.4.x/2_Config_Tool_Changes/Video_codecs_for_.ts_playback_in_Videos

Anyways, I have tried to change to file forth and back between .ts and .m2ts, it gives me the same issue (no analogue sound when passthrough is configured). It is a rather a large file, is there any way I can make a sample of the file and upload here?

Venom_IL
15th October 2013, 23:00
The installer prompts me to select the following:
LAV splitter
LAV Audio
LAV Video

I am assuming I need all three to enjoy playback of all video types ?

Also, there are both x86 and x64 versions to each, do I need both?

I'm running Windows 8.1 Enterprise (x64)

Thanks :o

Asmodian
15th October 2013, 23:52
LAV splitter handles containers, such as AVI, MP4, MKV
LAV audio handles audio, such as MP3, AC3, DTS
LAV video handles video, such as MPEG2, VC1, H.264

You need a splitter that can handle your container, an audio decoder that can handle your audio, and a video decoder that can handle your video. You do not need to use LAV for all three if you have a preferred filter to handle any of them. It is recommended to use LAV for all three.

You do not need both 32 and 64 bit versions but you might as well install both, 32 bit is used by 32 bit players (almost all) and 64 bit by 64 bit players (rare).

Venom_IL
16th October 2013, 08:09
@Asmodian - Thank you so much for the great explanation! :)

prijatelj.v
16th October 2013, 12:52
if using LAV Filters (including LAV Splitter,LAV Video and LAV Audio) full 32 + 64 bit. is there a need haali splitter for Windows 8.1 (64 bit.).
What else is needed to WMP 12 retired srt subtitles - (VobSub 2.23 or other) ?

Also,I was wondering what kind of cooperation (compatibility) LAV Filters for Subtitle Workshop (6.0), Virtual Dub and MeGUI with regard to ffdshow + haali splitter ?

sneaker_ger
16th October 2013, 18:28
LAV does not feature VfW, so it cannot be used by VirtualDub in the same way ffdshow can. It shouldn't make much if any difference for MeGUI which only uses DirectShow and even that only as a fallback AFAIK. I don't know about Subtitle Workshop.

If you want to use it in WMP you may need to override the windows filters because it does not feature the same hack Haali uses. (http://www.videohelp.com/tools/Preferred-Filter-Tweaker)
For subtitle rendering I'd recommend the xy-vsfilter fork (http://code.google.com/p/xy-vsfilter/).

prijatelj.v
17th October 2013, 10:34
thanks for your advice and suggestions...

Raylan Givens
18th October 2013, 17:44
You're confusing resampling (change of sampling frequency e.g. 44.1kHz -> 48kHz) with reencoding (change of audio format e.g. DTS 5.1 -> DD alias AC3 5.1).

MPC HC 1.68 has the best 5.1 upmix... It does exactly what Flash do now. It gives you uniform 5.1 sound coming from all speakers. I consider this generally the best method, since stupid 5.1 effect like Pro Logic II for instance, giving talking only from the Centre Speaker and effects from all other ain't the best...

Will LAV do the same later? Is it broken or something currently? I can't get any 5.1. Fortunately I can downmix native 5.1 to Stereo in order to let the sound chip do the mix.

e-t172
18th October 2013, 20:03
MPC HC 1.68 has the best 5.1 upmix... It does exactly what Flash do now. It gives you uniform 5.1 sound coming from all speakers. I consider this generally the best method

…as long as you don't care about accuracy, that is. Stereo was never meant to be played back over rear speakers. It's also against current standards such as ITU-R BS.775 (http://www.itu.int/rec/R-REC-BS.775/) which explicitly forbids it (§2.1: "When there is no surround signal in a programme, surround loudspeakers should not be activated."). The proper way to play back stereo is to play back stereo. Doing it any other way is shooting yourself in the foot.

The fact that Flash does it without providing any means of disabling this stupid behavior is especially annoying (https://bugbase.adobe.com/index.cfm?event=bug&id=3289908) and that's the reason why I had to create an ugly hack (https://docs.google.com/file/d/0B4SHVPm2DfK5OHo3Z29SSWJycWc/edit?usp=sharing) to force Flash to output stereo correctly.

since stupid 5.1 effect like Pro Logic II for instance, giving talking only from the Centre Speaker and effects from all other ain't the best...

That's nonetheless better than a simple upmix, since that's how 5.1 movies are usually mixed.

Will LAV do the same later? Is it broken or something currently? I can't get any 5.1. Fortunately I can downmix native 5.1 to Stereo in order to let the sound chip do the mix.

Wait... so if I understand this sentence correctly, you're downmixing native 5.1 to stereo and then re-upmix it to 5.1? Really?

mbordas
18th October 2013, 22:58
since mpc-hc 1.7.0 now uses LAVFilters, I removed the standalone version. But now reclock no longer reports bit exact when using wasapi exclusive with a lossless audio track? (yes I moved dtsdecoderdll to the LAVFilters directory under mpc-hc)

Can anybody confirm?

Raylan Givens
18th October 2013, 23:22
Wait... so if I understand this sentence correctly, you're downmixing native 5.1 to stereo and then re-upmix it to 5.1? Really?

Yes, I donwmix native 5.1 to stereo, but actually I don't re-upmix to 5.1. It's simple copy, like Stereo x2 but includes the center speaker ( CMSS3d Surround 50% ).

Even the Microsoft's 'Speaker Fill' for Realtek's chip does better job, because it produces talking from Center, FL and FR, not just center. My 5.1 setup ain't the best out there and I live in a flat. I can't get the full experience and in high volume. So by doing so at least I get better, kinda more full sound than just hearing 90% of the time only the center speaker playing. Some times when I have an action movie with 24bit DTS sound, I let it in native 5.1 form.

Take an example... Currently I'm watching House MD and it's 12 o'clock midnight... What good can do if I let it in native 5.1?

e-t172
19th October 2013, 00:12
http://3.bp.blogspot.com/-knpCsUjX1L8/UJWlCxN8lhI/AAAAAAAAGWk/_ODNnh5BR_4/s640/facepalm-captain-picard.jpg

Yes, I donwmix native 5.1 to stereo, but actually I don't re-upmix to 5.1. It's simple copy, like Stereo x2 but includes the center speaker ( CMSS3d Surround 50% ).

Seriously? Sorry, I must admit, that boggles my mind. Converting from native 5.1 to downmixed stereo that is then expanded again to 5.1, that's just so mind-numbingly horrific and pointless that I can't find the words. I've seen a lot of people do very depressing things with audio, but your setup just wins it all. It almost makes me wonder if you're trying to troll me.

Even the Microsoft's 'Speaker Fill' for Realtek's chip does better job, because it produces talking from Center, FL and FR, not just center.

You mean it does a better job at producing 5.1 from native 5.1 that you downmixed on purpose in the first place? Oh well, I don't know. In fact, I really, really don't want to know.

My 5.1 setup ain't the best out there and I live in a flat. I can't get the full experience and in high volume.

What does this has to do with anything? Perceived loudness does not significantly depend on where the sound is coming from.

So by doing so at least I get better, kinda more full sound than just hearing 90% of the time only the center speaker playing.

You're supposed to hear the center speaker 90% of the time. That's how movies are mixed, and it makes sense since most sound is supposed to come from the screen where the image is. You do not get better sound by downmixing and then expanding, quite the opposite: you're losing information, removing subtle ambiance effects, and losing spatial accuracy. And that last sentence just made me feel like Captain Obvious.

Some times when I have an action movie with 24bit DTS sound, I let it in native 5.1 form.

What does "24bit DTS" has to do with anything? The audio encoding format has absolutely no bearing whatsoever over anything you or I said.

Take an example... Currently I'm watching House MD and it's 12 o'clock midnight... What good can do if I let it in native 5.1?

Again, why does loudness has anything to do with using native 5.1 over expanded stereo? If you think it's too loud or too quiet, then the solution isn't nonsensical mixing/routing setups, the solution is your volume control. And if that's impractical due to the movie being too dynamic, then it's time to use the DRC features of LAV and possibly your AV receiver, which are designed for this specific use case.

Alternatively, you could also use a good pair of headphones: that's much cheaper, less noisy, provides the "more full" sound that you seem to seek and you can set the volume however loud you want without disturbing any neighbours. You can't really get good 5.1 from headphones though, but you showed multiple times by your statements that you don't care at all about that, so that should be just right for you.

STaRGaZeR
19th October 2013, 00:15
…as long as you don't care about accuracy, that is. Stereo was never meant to be played back over rear speakers. It's also against current standards such as ITU-R BS.775 (http://www.itu.int/rec/R-REC-BS.775/) which explicitly forbids it (§2.1: "When there is no surround signal in a programme, surround loudspeakers should not be activated."). The proper way to play back stereo is to play back stereo. Doing it any other way is shooting yourself in the foot.

The fact that Flash does it without providing any means of disabling this stupid behavior is especially annoying (https://bugbase.adobe.com/index.cfm?event=bug&id=3289908) and that's the reason why I had to create an ugly hack (https://docs.google.com/file/d/0B4SHVPm2DfK5OHo3Z29SSWJycWc/edit?usp=sharing) to force Flash to output stereo correctly.



That's nonetheless better than a simple upmix, since that's how 5.1 movies are usually mixed.



Wait... so if I understand this sentence correctly, you're downmixing native 5.1 to stereo and then re-upmix it to 5.1? Really?

Seriously, drop it already. We know stereo is stereo, and 5.1 is 5.1. We want to play it however sounds best to us, not like a guide tells us. There is no need to convince anybody otherwise in every single post related the subject.

I personally think that 5.1 sucks. The effect is totally not like reality and it just sounds wrong. In a theater, where the center and front speakers are behind the huge screen, the sound is well positioned, at the same scale compared to what you're seeing on the huge screen. The sound "fills the theater" even with a simple conversation. But in a living room with tiny, shitty, badly positioned and hugely separated speakers movies sound like crap, with almost the entire freaking movie coming out the center speaker. You like it? Awesome, I don't, that's why I downmix it to 4.1 with a custom matrix to something close to duplicated stereo, so I can get theater like feeling and inmersion.

Yes, I donwmix native 5.1 to stereo, but actually I don't re-upmix to 5.1. It's simple copy, like Stereo x2 but includes the center speaker ( CMSS3d Surround 50% ).

Exactly my configuration. I let CMSS take over everything outside of MPC-HC, but when playing movies I prefer to use a custom matrix in ffdshow, being very close to what CMSS outputs.

e-t172
19th October 2013, 00:52
We want to play it however sounds best to us, not like a guide tells us.

In other words you're deciding based on subjective preference as opposed to objective accuracy. Fine, have it your way. That being said, I would be curious to know if you're applying the same principle to the picture. After all, who needs colorimeters and standards like Rec.709 when only subjective eye impression counts, right?

I personally think that 5.1 sucks. [...] But in a living room with tiny, shitty, badly positioned and hugely separated speakers movies sound like crap, with almost the entire freaking movie coming out the center speaker.

So what you're really saying is not "5.1 sucks" but "my own, personal, 5.1 system happens to suck".

There's a nice diagram in figure 1 of ITU-R BS.775 (http://www.itu.int/rec/R-REC-BS.775-3-201208-I/en) that describes the standard layout of a 5.1 system, complete with distances and angles, so you have no excuse for "badly positioned and hugely separated speakers", it's all up to you to fix that (that also applies to "tiny and shitty" as well, assuming of course you have the budget). That's the reference home movie releases are mastered to. If you think that sucks, then I guess the mixing/mastering engineers who produce these soundtracks (and do a stellar job at it, in my opinion, especially if we compare it to how popular music is mastered) would beg to differ.

Exactly my configuration. I let CMSS take over everything outside of MPC-HC, but when playing movies I prefer to use a custom matrix in ffdshow, being very close to what CMSS outputs.

Wait. You're saying that you have a 5.1 system as well (or 4.1 if I understand you correctly), but like Raylan Givens you're downmixing 5.1 to stereo and then expanding it again to 5.1? I'm asking that because it's quite possible to use a custom matrix that converts directly from 5.1 to 4.1 without significant loss of spatial information, in which case it makes much more sense. Downmixing to stereo absolutely does not.

Asmodian
19th October 2013, 02:10
I remember a "5.1" system at a friends house where the rear speakers were off center and on the floor (carpet) under an end table and the center speaker was next to the display and closer to one of the front speakers. The room acoustics were amazingly terrible, with real 5.1 the ambient sound from one of the rears was dominant (I was almost sitting on it when on the couch). It would definitely have been better to downmix to mono and output the same audio from all of the speakers.

The thing is, with the quality of the speakers and their placement, asking someone to do software work to improve your audio quality isn't the right place to start, imo.

Sadly I suspect the majority of 5.1 systems installed would benefit from a simple stereo upmix but they would also benefit from being replaced with a halfway decent 2.0 system. Since the bad 5.1 systems already exist maybe software help is worth the work it would require after all.

ontherocks
19th October 2013, 16:07
Is it possible to configure LAV with windows media player (Win7 64bit)? If so, how?

sneaker_ger
19th October 2013, 18:47
Yes, use this tool:
http://forum.doom9.org/showthread.php?t=146910
http://www.videohelp.com/tools/Preferred-Filter-Tweaker

ontherocks
20th October 2013, 07:56
Yes, use this tool:
http://forum.doom9.org/showthread.php?t=146910
http://www.videohelp.com/tools/Preferred-Filter-Tweaker
Thanks for this useful info. :thanks:
I looked at the settings of this tweaker. Is it possible to use LAV for bit streaming HD audio?

NikosD
20th October 2013, 09:05
PotPlayer v1.5.40766 got H.265 support yesterday.

Is it time for LAV video too ?

nevcairiel
20th October 2013, 09:08
Both H.265/HEVC and VP9 support will be in the next version.

NikosD
20th October 2013, 09:13
Nice...and very fast answer :)

Trying latest PotPlayer with just 5 samples of H.265, doesn't seem to work.
Probably still, no real support.

I'm sure Nev will be more careful when he will announce "H.265 support".

wanezhiling
20th October 2013, 09:51
PotPlayer is a FFmpeg based player, so "How H.265 support is" just depend on FFmpeg.

Selur
20th October 2013, 11:34
latest FFmpeg (ffplay) does support decoding of HEVC, if '-strict -2' is set.

Mercury_22
20th October 2013, 15:59
Hi Nev! R U back? Cause I have a bug with some ts (mpeg2) files to report ( Lav splitter reports a duration of a ~13min on a ~ 45min file and can't search beyond that time while MPC-BE's splitter and even Micro$oft's = WMP have NO problem with the same file(s)) and I was waiting for your return

roytam1
21st October 2013, 01:44
PotPlayer v1.5.40766 got H.265 support yesterday.

Is it time for LAV video too ?

VP9/HEVC are in git now, feel free to try my new nightly builds. ;)

NikosD
21st October 2013, 08:32
It works for some (.ts container) it doesn't work for some others like:

http://www.elecard.com/assets/files/other/clips/surfing.265
http://www.elecard.com/assets/files/other/clips/Sintel_272p_logo.265

nevcairiel
21st October 2013, 08:45
You need to enable "rawvideo" in LAV Splitter if you want to be able to open raw files like this. Note that such files have no timestamps, so pure playback is most likely not going to be 100% smooth, they are only meant as intermediates before muxing into a real container.

NikosD
21st October 2013, 13:10
Didn't work for me.
I tried it using DXVA Checker's "Play Mode".

Maybe a "real" player has better chance with those raw video H.265 files.

filler56789
21st October 2013, 14:35
Testing the latest build by roytam1, here go my initial findings, re..... H.265/HEVC:

the TS demuxer connects fine with the ( ŋinfamous? :) ) Lentoid decoder;

however, LAV Source Filter refuses connecting not only to the Lentoid decoder, but also to MPC's Matroska Muxer and to M$'s Avi Mux :confused:

also, the HEVC Source Filter from Strongene cannot connect to the FFmpeg-based decoder...

so the question is,
ŋ who is right and who is wrong ? :confused:

nevcairiel
21st October 2013, 14:42
Don't even start muxing HEVC in AVI, its just going to end badly. :P

filler56789
21st October 2013, 14:52
So I guess the right answer is, *both are wrong* :p

clsid
21st October 2013, 15:48
This HEVC sample shows corruption after seeking:
http://www.elecard.com/assets/files/other/clips/bbb_360p_c.ts

Raw streams play fine here, even with "rawvideo" disabled. Of course seeking doesn't work due to absence of duration metadata.

filler56789
21st October 2013, 16:03
so the question is,
ŋ who is right and who is wrong ?
Just in order to make things as clear as possible:

the output pin of LAV Source says:

subtype = {43564548-0000-0010-8000-00AA00389B71}
formattype = FORMAT_MPEG2_VIDEO

and the output pin of the Strongene HEVC Source Filter says:

subtype = {30314D48-0000-0010-8000-00AA00389B71}
formattype = FORMAT_VideoInfo

wanezhiling
21st October 2013, 16:24
http://pan.baidu.com/s/1GHmUT
http://i1.tietuku.com/14hzpktcy.png

Google Chrome works fine.:)

nevcairiel
21st October 2013, 17:02
Please use another file host, i'm not waiting 1 hour to download a 5mb file. baidu is just horrible.

wanezhiling
21st October 2013, 17:08
:o Sorry..

http://www.sendspace.com/file/u1lece

Carpo
21st October 2013, 20:30
Has anyone managed to build lavfilters with VS 2013?

leeperry
22nd October 2013, 13:29
Hi nev, sorry to bother but is it me or there's no way of getting hardware deinterlacing with an AMD GPU on XP using LAV?

:thanks:

nevcairiel
22nd October 2013, 13:30
Use VMR-9, that'll give you hardware deinterlacing on XP.
And while there are ways to implement hardware deinterlacing before the renderer, last i tried it was extremely slow on AMD (< 10 fps), because of their architecture - not to mention that XP wouldn't even support it since its DXVA2.

leeperry
22nd October 2013, 13:38
Thanks for the swift reply.

Yeah, apparently upgrading to W7/W8 still wouldn't provide me with hardware deinterlacing using LAV. This said, I should be able to use DXVA2 copyback for H264/VC1/MPEG2 decoding, is it as flawless as CUVID or would that be a hit & miss?

And sorry for asking again but are all deinterlacers equal when running in double frame rate mode? LAV with CUVID made it so easy that I never tried to document myself and if YADIF or CUVID look the same in 50/60p then I'll be fine.

nevcairiel
22nd October 2013, 13:39
Deinterlacers can be quite different depending on their algorithm.

In my experience, DXVA2 Copy-Back usually works better then CUVID even.

leeperry
22nd October 2013, 14:04
I was hoping that differences would only be obvious in identical frame rate mode but not nearly as visible in dual frame rate mode.....so I guess nvidia do make for a better choice within a HTPC environment after all.

OK, sounds good! At least upgrading my OS would provide me with hardware decoding and I got this 2GB HD7850 for so cheap that I can't complain :)

wanezhiling
22nd October 2013, 15:05
And while there are ways to implement hardware deinterlacing before the renderer, last i tried it was extremely slow on AMD (< 10 fps), because of their architecture
:eek::eek::eek:
Which card? GCN HD7750?

leeperry
22nd October 2013, 19:22
so anyway, while that 8800GS is still fit in my HTPC I just compared a 720*576@25i DVD movie deinterlaced to 50p@50Hz with CUVID & YADIF, using those settings: http://thumbnails108.imagebam.com/28333/246bb4283324159.jpg (http://www.imagebam.com/image/246bb4283324159)

It's pretty hard to catch identical frames but I got one(mVR's dithering was disabled):

CUVID: http://thumbnails107.imagebam.com/28333/49017e283324947.jpg (http://www.imagebam.com/image/49017e283324947)

YADIF: http://thumbnails101.imagebam.com/28333/560bda283324213.jpg (http://www.imagebam.com/image/560bda283324213)

I might very well have not set LAV optimally or maybe CUVID works better on 29.97fps video content but still, I can't really say that -subjectively speaking- one looks better than the other while watching the movie. Neither of them looks like genuine 25p for that matter as they both suffer from jaggies, if anything I think I prefer the "softer" look of YADIF :o

No remorse moving to the red side of the force :devil:

madshi
22nd October 2013, 19:42
Both look bad to me. Why don't you simply force madVR into film mode for such content? Unless it's native video content? But if it's a movie, then that's unlikely...

leeperry
22nd October 2013, 20:05
Good point, I forgot that mVR can also deinterlace but that would take place after Reclock so inverse-palspeedup to 24/48p might be problematic and that was with a worst case scenario 50i DVD movie when CUVID usually looks great on 29.97@59.94 video content...I'm not sure if mVR can do double frame rate, more test to run I guess but still no remorse getting a HD7850 which was the original intent of all my questions :)

madshi
22nd October 2013, 20:46
You don't want double frame rate for movies. For 60i content that would just burn the 3:2 pulldown judder in. Of course native video content is a totally different topic. For native video content comparing YADIF vs. hardware deinterlacing makes much more sense.

DragonQ
22nd October 2013, 20:49
so anyway, while that 8800GS is still fit in my HTPC I just compared a 720*576@50i DVD movie deinterlaced to 50p@50Hz with CUVID & YADIF, using those settings: http://thumbnails108.imagebam.com/28333/246bb4283324159.jpg (http://www.imagebam.com/image/246bb4283324159)

It's pretty hard to catch identical frames but I got one(mVR's dithering was disabled):

CUVID: http://thumbnails107.imagebam.com/28333/49017e283324947.jpg (http://www.imagebam.com/image/49017e283324947)

YADIF: http://thumbnails101.imagebam.com/28333/560bda283324213.jpg (http://www.imagebam.com/image/560bda283324213)

I might very well have not set LAV optimally or maybe CUVID works better on 29.97fps video content but still, I can't really say that -subjectively speaking- one looks better than the other while watching the movie. Neither of them looks like genuine 25p for that matter as they both suffer from jaggies, if anything I think I prefer the "softer" look of YADIF :o

No remorse moving to the red side of the force :devil:
Do you have a sample? The 8800GS is pretty old so the deinterlacing algorithm may not be the best. My GT 430 detects "fake interlaced" content (25p encoded as 25i, as is often the case with broadcast TV) and deinterlaces properly (weave) even when set to 50p/60p mode. I never have to force film mode for PAL-region content.

Also, do you have High Quality Processing disabled on purpose? That might be related, no idea.

leeperry
22nd October 2013, 23:51
Sure: sample.mkv (https://mega.co.nz/#!z9532ACJ!bwoLsiiPZOEklijxDOceAV1LGThodQX6MjBxGEM6RIU)

If you could make a screenshots comparison of those blinking rooftops around 10" between mVR, YADIF and CUVID that'd be fantastic :cool:

Oh yah, I forgot about that option but it gives me instant BSOD's on XP...I guess that would help on any newer OS but 29.97@59.94 looks great, nothing like this jaggies feast.

The only real-world cases when I need deinterlacing are PAL DVD movies and 29.97@59.94 video content that magically turns in 60 actual fps, too good to be true :)

THX-UltraII
23rd October 2013, 07:20
Guys,

Just switched from a Intel HD2000 Graphics to the AMD HD7950. I see that I have 2 option for hardware decoding, NATIVE or COPY-BACK.

What is the difference between them?

Devrim
23rd October 2013, 08:54
Anyone here who makes daily LAV Filters builds with updated ffmpeg?

sneaker_ger
23rd October 2013, 09:21
I'm trying to play HEVC-in-MP4 using MPC-HC but LAV Splitter Source can't find a suitable connector for HVC1. If I manually build the graph in GraphEdit it works just fine. Anything I should look out for?

nevcairiel
23rd October 2013, 09:24
Make sure you re-register LAV Video, only then DirectShow learns about new types being added for automatic connection.

sneaker_ger
23rd October 2013, 09:27
Thx, that did the trick.

MokrySedeS
23rd October 2013, 10:44
Sure: sample.mkv (https://mega.co.nz/#!z9532ACJ!bwoLsiiPZOEklijxDOceAV1LGThodQX6MjBxGEM6RIU)

If you could make a screenshots comparison of those blinking rooftops around 10" between mVR, YADIF and CUVID that'd be fantastic :cool:

I can do that for you:

DXVA2 (copy-back) + YADIF 50p/60p (Video)
http://thumbnails108.imagebam.com/28342/9f7f35283411152.jpg (http://www.imagebam.com/image/9f7f35283411152) & http://thumbnails108.imagebam.com/28342/60ba1c283411214.jpg (http://www.imagebam.com/image/60ba1c283411214)

CUVID 50p/60p (Video)
http://thumbnails102.imagebam.com/28342/64ec6f283411280.jpg (http://www.imagebam.com/image/64ec6f283411280) & http://thumbnails101.imagebam.com/28342/851b98283411381.jpg (http://www.imagebam.com/image/851b98283411381)

DXVA2 (copy-back) + madVR (Video)
http://thumbnails104.imagebam.com/28342/e22d7a283411466.jpg (http://www.imagebam.com/image/e22d7a283411466) & http://thumbnails106.imagebam.com/28342/ae9e44283411531.jpg (http://www.imagebam.com/image/ae9e44283411531)

DXVA2 (copy-back) + madVR (Film)
http://thumbnails102.imagebam.com/28342/34e563283411639.jpg (http://www.imagebam.com/image/34e563283411639)


GTX 650 Ti

madshi
23rd October 2013, 11:09
Interesting sample. Seems NVidia's IVTC utterly fails on this one. Shame on NVidia. FWIW, my Intel HD4000 produces identical quality to madVR's forced film mode here, but of course without decimation.

You guys go have IVTC enabled in the NVidia control panel?

leeperry
23rd October 2013, 11:15
oh cool, :thanks:

mVR leads the way as usual, what a surprise.

I do have IVTC enabled in the nvidia drivers but LAV would appear to override it when you select 50/60p.

Now to try a video 29.97fps sample :devil:

nevcairiel
23rd October 2013, 11:17
Now madVR just needs to figure out film mode on its own, its pretty annoying if you have to activate it yourself... :)

madshi
23rd October 2013, 11:24
Now madVR just needs to figure out film mode on its own, its pretty annoying if you have to activate it yourself... :)
Yes, absolutely. It's one of the many many things on my to do list... :D One key problem is that the current algorithm runs on the CPU, but I'd really like it to run on the GPU. But that's not (efficiently) possible with pixel shaders. I'll need to use CUDA/OpenCL for that. And that's not easy, especially because accessing things like NV12 with CUDA/OpenCL is troublesome. E.g. AMD still doesn't support D3D9 / OpenCL interop at all. CUDA still doesn't support accessing NV12 D3D9 surfaces etc etc. Loads of problems, and I might have to write 3 different solutions for AMD, NVidia and Intel... :(

leeperry
23rd October 2013, 11:30
What's the big deal with running it on the CPU? You made clear that you're using PS as much as possible because it works on all graphic cards but if deinterlacing is the opposite, then be it? It's not like mVR is a CPU hog ;)

madshi
23rd October 2013, 11:38
The big deal is that there isn't just film mode vs video mode. There's also mixed content. And there's film mode with video mode overlays. The current film mode is just a "first try" algorithm. I plan to improve it, make it per block or pixel instead of per frame. And then add my own video mode deint algorithm as well. Doing all that via CPU is not impossible, but it would cost a lot of performance and a lot of time (writing SSE2 code is time consuming). For video mode deint I'd also need good scaling/interpolation algorithms (e.g. Jinc) and that simply wouldn't perform well on the CPU. Furthermore even the current simple film mode is limited in that it only supports certain pixel formats. Moving everything to the GPU makes more sense. But it does come with its own problems (see my previous post). I will look into the whole deinterlacing/IVTC topic again some time in the future, but there are several other things I plan to do first.

Anyway, this is OT here, so let's leave it as that for now.

THX-UltraII
23rd October 2013, 11:39
What's the big deal with running it on the CPU? You made clear that you're using PS as much as possible because it works on all graphic cards but if deinterlacing is the opposite, then be it? It's not like mVR is a CPU hog ;)

post deleted

MokrySedeS
23rd October 2013, 12:01
You guys go have IVTC enabled in the NVidia control panel?

Actually I had it disabled, sorry about that.

DXVA2 (copy-back) + madVR (Video) + "Use inverse telecine" enabled in drivers
2x http://thumbnails106.imagebam.com/28343/8ee632283421722.jpg (http://www.imagebam.com/image/8ee632283421722)

CUVID 50p/60p (Video) + "Use inverse telecine" enabled in drivers
2x http://thumbnails106.imagebam.com/28343/a6dd4f283421974.jpg (http://www.imagebam.com/image/a6dd4f283421974)

CUVID 25p/30p (Film) + "Use inverse telecine" enabled in drivers
1x http://thumbnails108.imagebam.com/28343/ee24dd283422622.jpg (http://www.imagebam.com/image/ee24dd283422622)

DragonQ
23rd October 2013, 12:03
Haven't got time to test on my nVidia cards but the Intel HD 4000 in my laptop does automatic IVTC correctly in Video Mode (http://www.aotplaza.com/Files/HTPC/Screengrabs/IVTC/Screenshot%202013-10-23%2011.57.41.png).

Note that if you seek, it'll sometimes be jaggy but when you start playing it (or step frames), it'll correctly IVTC. Probably the same for most cards.

Niyawa
23rd October 2013, 13:25
Can I ask you guys for some help? I've been trying to understand why this happens but search didn't give me anything useful (http://haruhichan.com/forum/showthread.php?7545-KCP-Kawaii-Codec-Pack&p=26106&viewfull=1#post26106).

Apparently, the audio in LAV Splitter is not being allocated as it should. He gets 2 LAV Splitter entries when playing a video, one with English, and other with french audio stream. At first I thought it was compatibility issue with codec pack but apparently it isn't either. Now I believe it might be an issue with the .mkv metadata but I can't confirm this. Has anyone seen anything similar? This is my first time dealing with anything like that. It's especially hard when I can't reproduce it either.

STaRGaZeR
23rd October 2013, 13:27
Comparing IVTC with deinterlacing and saying IVTC looks better is kinda pointless TBH.

nevcairiel
23rd October 2013, 14:04
Can I ask you guys for some help? I've been trying to understand why this happens but search didn't give me anything useful (http://haruhichan.com/forum/showthread.php?7545-KCP-Kawaii-Codec-Pack&p=26106&viewfull=1#post26106).

Apparently, the audio in LAV Splitter is not being allocated as it should. He gets 2 LAV Splitter entries when playing a video, one with English, and other with french audio stream. At first I thought it was compatibility issue with codec pack but apparently it isn't either. Now I believe it might be an issue with the .mkv metadata but I can't confirm this. Has anyone seen anything similar? This is my first time dealing with anything like that. It's especially hard when I can't reproduce it either.

If he has a second external audio file, it'll load a second source filter for it, thats just how its working.

JEEB
23rd October 2013, 14:14
Also, if the problem is that multiple audio tracks are sounding at the same time, welcome to the reason why MPC(-*) have something called the Audio Switcher ;) .

If such a thing is not in the middle of the chain, all active tracks get sent to the audio renderer and you get nice cacophony.

Niyawa
23rd October 2013, 14:27
If he has a second external audio file, it'll load a second source filter for it, thats just how its working.
Ohh. I admit I didn't know about that. But in that case why does it load "separately"? Can't LAV merge them together in the same window UI or is that a software limitation/design choice?

If such a thing is not in the middle of the chain, all active tracks get sent to the audio renderer and you get nice cacophony.
Haha! No problems with that. He only has issues when selecting an default audio stream, nothing else.

nevcairiel
23rd October 2013, 14:30
LAV does not load the second audio file, thats the player doing. LAV only ever loads one file, it doesn't combine multiple.

Niyawa
23rd October 2013, 14:32
LAV does not load the second audio file, thats the player doing. LAV only ever loads one file, it doesn't combine multiple.
Yes yes apologies for my bad wording. Thank you very much.

DragonQ
23rd October 2013, 16:37
Comparing IVTC with deinterlacing and saying IVTC looks better is kinda pointless TBH.
What? We were talking about whether IVTC correctly kicks in when the GPU is told to perform normal deinterlacing. Apparently it doesn't work on some GPUs (meaning you need to force film mode to get proper ITVC) but does on others.

Nothing to do with which looks better.

STaRGaZeR
23rd October 2013, 19:33
My bad, it looked like leeperry was comparing quality between the screenshots posted.

leeperry
23rd October 2013, 20:34
I don't have much NTSC DVD material but here's another nasty PAL sample: sample2.mkv (https://mega.co.nz/#!HtgAzZ7K!c8OIEjFDgv9qrU9L-MxM2XGvNug2tWbaExxIQ8LHEAg)

It's video 25i that magically turns into 50p but I can't run CUVID in HQ mode so if you guys wouldn't mind running tests again please? It needs a "double expanded" TV conversion in mVR.

From my limited testing, YADIF looks best on my system.

DragonQ
23rd October 2013, 22:17
I don't have much NTSC DVD material but here's another nasty PAL sample: sample2.mkv (https://mega.co.nz/#!HtgAzZ7K!c8OIEjFDgv9qrU9L-MxM2XGvNug2tWbaExxIQ8LHEAg)

It's video 25i that magically turns into 50p but I can't run CUVID in HQ mode so if you guys wouldn't mind running tests again please? It needs a "double expanded" TV conversion in mVR.

Hmm? All 25i material turns into 50p once properly deinterlaced, it certainly isn't magic. :p

leeperry
24th October 2013, 00:22
I'm always amazed by how video footage turns into 50/60 actual fps, it's all pure magic to me to get twice more fps at the cost of a few jaggies here & there :)

Some ppl claim that 72fps is the proven limit to completely fool the human brain and 29.97@59.94 sped up to 72 does look hell smooth to me.

Either way, from what I see using real-world content CUVID deinterlacing would appear to be entirely replaceable.

MokrySedeS
24th October 2013, 00:33
I don't have much NTSC DVD material but here's another nasty PAL sample: sample2.mkv (https://mega.co.nz/#!HtgAzZ7K!c8OIEjFDgv9qrU9L-MxM2XGvNug2tWbaExxIQ8LHEAg)

It's video 25i that magically turns into 50p but I can't run CUVID in HQ mode so if you guys wouldn't mind running tests again please? It needs a "double expanded" TV conversion in mVR.

From my limited testing, YADIF looks best on my system.

DXVA2 (copy-back) + YADIF 50p/60p (Video)
http://thumbnails104.imagebam.com/28352/1bbdec283517292.jpg (http://www.imagebam.com/image/1bbdec283517292)

CUVID 50p/60p (Video)
http://thumbnails102.imagebam.com/28352/4c3bed283517351.jpg (http://www.imagebam.com/image/4c3bed283517351)

DXVA2 (copy-back) + madVR (Video)
http://thumbnails108.imagebam.com/28352/9c8092283517394.jpg (http://www.imagebam.com/image/9c8092283517394)

GTX 650 Ti


Deinterlacing in madVR results in a slight stretching and detail loss... Is it a bug?

wanezhiling
24th October 2013, 04:58
http://www.sendspace.com/file/tegmfo

broken image with sw decoding (http://i1.tietuku.com/s1y8ydpc3.png), works fine in dxva mode.

Edit: Its FFmpeg's bug.:)

Soukyuu
24th October 2013, 15:01
I'm having troubles with .SFD video files. These are essentially MPEG files with MPEG1 video and CRI ADX (ADPCM variant). Video plays fine, but there is no audio stream. FFMPEG/libav can play .adx fine (though not mux it into .mpeg :(), so I guess something is missing from LAV/MPC-HC?

edit: actually, turns out that file didn't have audio :x

Another problem though: I have an .sfd file (https://dl.dropboxusercontent.com/u/19330332/AT2_OP1D.SFD) that has MPEG video and two audio streams: one .adx (seen and played by MPC-HC/LAV) and one AC3 (not detected by MPC-HC/LAV, but I know it's there and mediainfo sees it too).

itsonlyjustincase
25th October 2013, 12:09
@Nev and @Egur

In Lav filters directory i can see "IntelQuickSyncDecoder.dll". This file is the same that we can find in ffdshow folder. Then in ffdshow codec choice, for H264, we can select IntelQuickSync.

Could you provide the same .dll for CUVID or DVXA2 ? A kind of "CuvidDecoder.dll" that we could put in ffdshow. This would allow me to use cuvid in ffdshow..........

nevcairiel
25th October 2013, 12:35
Thats not how it works, you can't just put a file into ffdshow and add new functionality like that.
ffdshow is dead, it won't get any new features, unless some developer finds interest in it again - which is highly unlikely.

itsonlyjustincase
25th October 2013, 13:11
Thats not how it works, you can't just put a file into ffdshow and add new functionality like that.
ffdshow is dead, it won't get any new features, unless some developer finds interest in it again - which is highly unlikely.

And i guess Lav will remain just a decoder and never a renderer with post-processing option...........

I put an auction on codeur.com so that someone add a resizing function in lav. He asks me 300 euros to do it which i find a bit expensive :( but it seems i have no other choice if i want to keep being a VJ (video jockey) on PC

itsonlyjustincase
25th October 2013, 13:12
Another coder took me 60 euros to implement the DXVA2 code of VLC in ffdshow for H264. But it seemed more complicated than it appears so he cancelled

madshi
25th October 2013, 14:15
Just had a situation with a movie where LAV Splitter by default selected a stereo AC3 English track instead of the mono DTS-HD MA English track. I guess the default track is chosen by which track has the highest number of channels? Often mono channels are encoded as stereo when using AC3, though. Also for rather old movies a commentary track might be stereo while the main track is mono. So in the case of mono / stereo I'd rather suggest to select by lossless / lossy.

THX-UltraII
25th October 2013, 14:22
What is the actual difference between using COPY-BACK and NATIVE on AMD CPUs? I use the HD7950 since yesterday and all I do is 1080p blu-ray content. There are 4 options to use but I don t know which one to pick:

1. DXVA COPY-BACK
2. DXVA NATIVE
3. madVRs own hardware decoding
4. NO hw decoding in madVR of LAV (and let the CPU do it?)

DragonQ
25th October 2013, 14:25
Just had a situation with a movie where LAV Splitter by default selected a stereo AC3 English track instead of the mono DTS-HD MA English track. I guess the default track is chosen by which track has the highest number of channels? Often mono channels are encoded as stereo when using AC3, though. Also for rather old movies a commentary track might be stereo while the main track is mono. So in the case of mono / stereo I'd rather suggest to select by lossless / lossy.
Do you have "Prefer Audio Stream with the Highest Quality" ticked in LAV Splitter Configuration?

madshi
25th October 2013, 14:42
Yes, I have.

nevcairiel
25th October 2013, 15:42
Yes, channels outweigh any other factors right now. I suppose i can make it handle mono and stereo equally, since it seems unlikely to have both with different content, i guess.

madshi
25th October 2013, 15:47
If there are mono and stereo tracks available, I'd still pick the stereo track, if all else is equal, so I wouldn't treat them completely identical. Imagine there being both a mono and stereo TrueHD track. I think we would want the stereo track to be chosen in that situation. However, I'd say track quality should have priority over channel count, when comparing mono and stereo tracks. Just my personal opinion, of course.

detmek
25th October 2013, 17:42
What is the actual difference between using COPY-BACK and NATIVE on AMD CPUs? I use the HD7950 since yesterday and all I do is 1080p blu-ray content. There are 4 options to use but I don t know which one to pick:

1. DXVA COPY-BACK
2. DXVA NATIVE
3. madVRs own hardware decoding
4. NO hw decoding in madVR of LAV (and let the CPU do it?)

If you don't know, go with software decoding, option 4. It is most stable and most compatible.

BTW, madVR's own decoding is software decoding.

James Freeman
26th October 2013, 13:53
Is there any way to show the bitrate of the video?

I know ffdshow can, but I want to use Lav Filter with MPC-HC.

detmek
26th October 2013, 14:39
No, LAV Filters does not have that option. Or any other OSD options.

James Freeman
26th October 2013, 14:41
Thanks.

Any way to use Lav Video Filter, and show the bitrate with MPC?
Any plugins?

detmek
26th October 2013, 14:55
IFAIK there aren't any plugins for MPC. Your only option is FFDShow if you use MPC. I don't know about other players if those have ability to show OSD info you want. I only use MPC-HC and MPC-BE.

NikosD
27th October 2013, 09:47
Didn't work for me.
I tried it using DXVA Checker's "Play Mode".

Maybe a "real" player has better chance with those raw video H.265 files.

PotPlayer fixed HEVC problems and can work now with HEVC .ts files.

With the help of nightly build LAV splitter I can play raw video (.265 extension) even without enabling it in LAV Splitter properties.

jkauff
27th October 2013, 13:50
PotPlayer fixed HEVC problems and can work now with HEVC .ts files.

With the help of the git compilation of LAV splitter can play raw video (.265 extension) even without enabling it in LAV Splitter properties.
MPC-HC latest nightlies can play HEVC with default settings. Just load the file and play.

leeperry
28th October 2013, 09:24
BTW, my mobo can run two PCI-E graphic cards but the second port is only 4X IIRC. Could I run a cheap nvidia in there(possibly passive), use it for CUDA decoding/deinterlacing and outputting to the HD7850? :p

nevcairiel
28th October 2013, 09:30
BTW, my mobo can run two PCI-E graphic cards but the second port is only 4X IIRC. Could I run a cheap nvidia in there(possibly passive), use it for CUDA decoding/deinterlacing and outputting to the HD7850? :p

You can, note however hat the HQ deint mode only works if the NVIDIA card has a screen connected. Decoding and non-HQ deint also work without a screen.

Note that on XP mixing two GPUs from different vendors is not something thats usually going to work very well, so unless you upgraded now, i would expect pain. :)

itsonlyjustincase
28th October 2013, 11:09
@Nev

I finally managed to find what was triggering the size bug in my Serato Video software. It's when i was going from 16:9 AR to another one like 1:2. That is why even after recompressing 720x480 to 640x360 then testing both 16:9 and 1:2 videos i still had problems. All the clips just have to be 16:9 (like most of the new ones) and it's ok.

So i just had to make an Handbrake Quicksync version profile that doesn't impact too much input quality, and apply a resizing. It's working like a charm now with Lav video decoder CUVID.

Question : My goal is to have the best performance with Lav video. As i'm mixing 2 clips at the same time (2 lav video decoder instance) and in real-time with effects, which settings should i put ? Currently i'm using CUVID with no hardware/software deinterlacing (the boxes for hardware deinterlacing and yadif are not ticked).

nevcairiel
28th October 2013, 11:10
If your content is not interlaced, then it doesn't matter. If its interlaced, you might benefit from HW deinterlacing more then software.

leeperry
28th October 2013, 14:21
You can, note however hat the HQ deint mode only works if the NVIDIA card has a screen connected. Decoding and non-HQ deint also work without a screen.)
OK, thanks for the blitz reply!

It's a real bummer that you couldn't get the AMD drivers to provide proper deinterlacing in LAV, did you try whining to their tech support at all? They should definitely care about LAV which has become the de facto package for HTPC use :)

itsonlyjustincase
28th October 2013, 15:58
If your content is not interlaced, then it doesn't matter. If its interlaced, you might benefit from HW deinterlacing more then software.

Thanks

leeperry
28th October 2013, 19:35
Funnily enough, what CoreAVC calls "hardware deinterlacing" boils down to passing the flag to the VR.....one less thing to worry about I guess.

filler56789
29th October 2013, 10:12
HEVC striking again :)

Testing build 017101645a24...

AVI demuxer's output pin:
subtype {43564548-0000-0010-8000-00AA00389B71}

TS demuxer's output pin:
subtype {43564548-0000-0010-8000-00AA00389B71}

MKV demuxer's output pin:
subtype {31435648-0000-0010-8000-00AA00389B71},

even when the MKV file uses V_MS/VFW/FOURCC

nevcairiel
29th October 2013, 10:13
Your point?
MKV and MP4 use another format for HEVC then TS does, and only you know what evilness went into the AVI.

Also, using V_MS/VFW/FOURCC for HEVC in MKV is likely to break many things, so don't. There is an official way of muxing it.

filler56789
29th October 2013, 10:18
Your point?
MKV and MP4 use another format for HEVC then TS does, and only you know what evilness went into the AVI.

I may be wrong since I am no expert, but I assumed both HEVC-in-AVI and HEVC-in-TS use the Annex B thing :confused:

Also, using V_MS/VFW/FOURCC for HEVC in MKV is likely to break many things,

Example?

nevcairiel
29th October 2013, 10:20
The same things that H.264 muxing using that mode breaks, most likely bad timestamps at the very least, resulting in non-smooth playback.
There is no advantage in doing that, so anyone that does it just shoots themself in the foot.

filler56789
29th October 2013, 10:31
Thanks for the clarification :)

axlt2002
29th October 2013, 10:47
Hi guys,

I'm attaching to this discussion since actually I'm in the setup phase of MediaPortal and having some questions related to the LAV audio settings.

My speaker system is 4.0 (two front speakers and two rear speakers) where:

- The two front speakers encompass also a subwoofer (I'm using a Focal Little Bird system); therefore I'm just using the "analog output front speakers" of the mother board
- The two rear speakers are connected through an audio wireless sender to the "rear speakers analog output" of the mother board

I will then of course need the LAV Audio mixer to correctly listen the 5.1 movies audio on my 4.0 system. The settings I would try are the following:

- Center Mix Level = 0.71 (in order to have the center channel splitted on the two front speakers)
- Sorround Mix Level = 0 (having the two rear speakers, I suppose that I don't need to put any value here)
- LFE Mix Level = ?!?!? (if I will put e.g. 0.71, will be the LFE splitted ONLY on the two front channels OR between the 4 speakers?; the basic idea is to have the LFE channel sent to the front speaker only, having it amplified in the Focal Little Bird system, but I don't know how to achieve this...).

Thanks in advance for any clarification! :)

nevcairiel
29th October 2013, 10:50
The sub is always only mixed into the front channels, not any others.

It should work the way you want it, then.

betaking
29th October 2013, 11:09
mpc-hc git can not use TortoiseGit download submodule "qsdecoder"
in 1fo.de is ad4c50072dedfbd1cf5939a9317782b2f4d3e051
but on https://github.com/Underground78/lavfilters
is qsdecoder @ d7678f1
nevcairel can help?

Rinzler
29th October 2013, 14:31
Hi. I've just installed new MPC-HC 1.7.0 with your internal LAV filters and figure out that I can't open DV AVI files. It's very sad because I use MPC for a long time. It worked fine with last build MPC-HC.1.6.8. Can you add support for this files? I work with Canopus Edius and don't want to install other players or codec packs.

nevcairiel
29th October 2013, 14:32
Many DV files I've tried work just fine - if you have one specifically which doesn't work, can you provide a sample file?

axlt2002
29th October 2013, 16:37
The sub is always only mixed into the front channels, not any others.

It should work the way you want it, then.

First of all, thanks for your answer!

Being more practical, and just to summarize, I will go for:

- Center Mix Level = 0.71
- Sorround Mix Level = 0
- LFE Mix Level = 0

having set 4.0 in the speakers configuration?

Thanks again!

nevcairiel
29th October 2013, 16:37
If you want the LFE to be mixed, you should not set it to 0. Otherwise, its fine.

Raylan Givens
29th October 2013, 16:54
nev, is it possible in the future to give us an option for 5.1 mixing exactly as in version 1.68 works? I'm talking about simple copy... Like Stereo x2 but center speaker included.

Incidentally, right now I can't get any 5.1 mix of stereo files... Is it bugged or something?

Rinzler
30th October 2013, 01:15
Many DV files I've tried work just fine - if you have one specifically which doesn't work, can you provide a sample file?

Ok. Where better to download the files?

wanezhiling
30th October 2013, 07:29
http://url.cn/S3gwub
This is a broken file, its real duration is 2min31sec, but timer jump[00:00:37 -> 00:02:03] is invalid, so LAV splitter shows 1min05sec duration.
Mpc-be shows full 2min31sec. :)

nevcairiel
30th October 2013, 09:43
If its a broken file, what am i supposed to do with it? Broken files are broken.
You are free to ask ffmpeg to improve it, but files with timestamp gaps don't work very well, and I have better things to fix. :)

Also, 2min31s in a 650MB video? Seriously?

Aleksoid1978
30th October 2013, 09:59
If its a broken file, what am i supposed to do with it? Broken files are broken.
You are free to ask ffmpeg to improve it, but files with timestamp gaps don't work very well, and I have better things to fix. :)

Also, 2min31s in a 650MB video? Seriously?

File is normal playback from 00:00:00 to 00:02:31.
About big size - ~80Mb bitrate :)

Warlock
30th October 2013, 13:16
PotPlayer fixed HEVC problems and can work now with HEVC .ts files.

With the help of nightly build LAV splitter I can play raw video (.265 extension) even without enabling it in LAV Splitter properties.

In addition to Korean language, the original version of PotPlayer has some other language, such as English, for example?

Aleksoid1978
30th October 2013, 13:37
LAV Splitter bad demux/playback RAW H.265 files.
http://i.imgur.com/hFtaqYw.png

nevcairiel
30th October 2013, 13:38
raw files don't have timestamps, and they are not meant for playback. This is to be expected, and i don't care. :)
The same thing probably happens with h264 raw files.

Edit:
Actually, this should be improved now, even without timestamps there was a small thing i could fix.
But the general statement stands, raw files are not ideal for playback.

littleD
30th October 2013, 14:27
I was testing free hevc/h.265 decoders since ffmpeg added decoding and demuxing for this format. I used dxva checker for benchmarking and i see lav decoding filter do not use full cpu power, it underutilises my cpu resources. It use 75% sometimes 50% cpu thus gets lower benchmark fps, comparing to based also on ffmpeg standalone MPC VideoDec from MPC-HC BE project 1.2.1.0.6632 that use 80% or 84%. Maybe that because the latter is compiled with vs2013 helps multithreading? Dont know if that is bug but i tested three samples in ts mkv and mp4 container and results repeat. MPC video decoder BE filter has higher min. FPS that means lower chance of lost frames/glitches.

nevcairiel
30th October 2013, 14:29
Which version did you test? Multi-threading in LAV was improved recently, specifically Monday evening, so not even two days ago.
I see consistent use of 80-90% CPU with that version on a 1080p clip i tested (The Tears of Steel clip from DivX), 170 fps on my system.

Rinzler
30th October 2013, 14:29
nevcairiel, here is the link (http://www.filefactory.com/file/1zp6t5ldp1wn/Canopus_DV_AVI.avi) to DV video.
It worked fine with MPC-HC.1.6.8 if AVI filter in Source filters was used.

littleD
30th October 2013, 14:34
Which version did you test? Multi-threading in LAV was improved recently, specifically Monday evening, so not even two days ago.
I see consistent use of 80-90% CPU with that version on a 1080p clip i tested, 170 fps on my system.
I tested a filter dated 25.10.2013 or slighty older. I might redo tests especially with Tears of steels, that was main concern.

nevcairiel
30th October 2013, 14:41
nevcairiel, here is the link (http://www.filefactory.com/file/1zp6t5ldp1wn/Canopus_DV_AVI.avi) to DV video.
It worked fine with MPC-HC.1.6.8 if AVI filter in Source filters was used.

Thanks for the sample, its fixed for the next version.
MPC-HC should update soon'ish as well, and you can grab a nightly build to play these files again.

Rinzler
30th October 2013, 14:48
Thanks for the sample, its fixed for the next version.
MPC-HC should update soon'ish as well, and you can grab a nightly build to play these files again.

Nightly build? You mean this http://nightly.mpc-hc.org ?

nevcairiel
30th October 2013, 14:49
Nightly build? You mean this http://nightly.mpc-hc.org ?

Yes, but it will be a few days until the fix shows up in those versions.

Rinzler
30th October 2013, 14:57
Thank you

Rinzler
30th October 2013, 15:38
One more question about Hardware Acceleration. This is what i have
http://puu.sh/53MKw.png

Which decoder is better to use or may be better not use hardware decoder at all? Is it true that hardware acceleration technologies gives lower video quality than decoding by CPU?

nevcairiel
30th October 2013, 15:40
The quality is the same.
If your CPU is fast enough, i would usually recommend to use no hardware decoder at all, because its less error prone and more flexible - otherwise, i would suggest DXVA2 (copy-back) for NVIDIA/AMD or QuickSync if you have a Intel GPU in a Sandy/Ivy/Haswell CPU.

Rinzler
30th October 2013, 15:50
The quality is the same.
If your CPU is fast enough, i would usually recommend to use no hardware decoder at all, because its less error prone and more flexible - otherwise, i would suggest DXVA2 (copy-back) for NVIDIA/AMD or QuickSync if you have a Intel GPU in a Sandy/Ivy/Haswell CPU.

I don't have discrete graphics card, only integrated video HD 4000 in my Intel i5-3570K which is pretty fast.

nevcairiel
30th October 2013, 15:57
So either none or QuickSync then, i would probably use none with that CPU.

Rinzler
30th October 2013, 17:08
I don't know where to ask, may be you can clarify. Which renderer better to use with LAV filters?
http://puu.sh/53R0z.png

clsid
30th October 2013, 19:01
Which version did you test? Multi-threading in LAV was improved recently, specifically Monday evening, so not even two days ago.
I see consistent use of 80-90% CPU with that version on a 1080p clip i tested (The Tears of Steel clip from DivX), 170 fps on my system.
I also get low CPU usage in GraphStudioNext performance test. Around 25% with the ToS 720p sample. Here is screenshot with 8 threads:
http://oi43.tinypic.com/2ylqxee.jpg

8 threads: 131.7 fps
12 threads: 135,3 fps
16 threads: 153,0 fps

I would expect gains to decrease with more threads, but instead it increases.

nevcairiel
30th October 2013, 19:09
You must be doing something wrong.
I get proper CPU usage, see here: http://i.imgur.com/W2LhZbk.png

Always above 80, most of the time even 90%.

clsid
30th October 2013, 19:29
It is better with latest git, around 60% with 720p, 80% with 1080p, and 100% with 4k. Apparently I forgot to install my previous build, lol, my mistake.
4k plays smoothly now ;)

e-t172
30th October 2013, 19:30
Which renderer better to use with LAV filters?

madVR is the best by far, but is probably harder to configure optimally.

By the way, the choice of renderer has nothing to do with the choice of demuxer/decoder, as they are usually interchangeable.

TheElix
31st October 2013, 09:38
nevcairiel, do you have plans for MVC support? The need to use other players except MPC-HC (with madVR) burns me inside.

nevcairiel
31st October 2013, 09:39
If you write a MVC decoder for ffmpeg, I'll support it. :)

TheElix
31st October 2013, 12:23
Thanks for the tip. :)

Soukyuu
31st October 2013, 13:12
I have an .sfd file (https://dl.dropboxusercontent.com/u/19330332/AT2_OP1D.SFD) that has MPEG video and two audio streams: one .adx (seen and played by MPC-HC/LAV) and one AC3 (not detected by MPC-HC/LAV, but I know it's there and mediainfo sees it too).Any feedback on this?

nevcairiel
31st October 2013, 16:08
Any feedback on this?

I downloaded the file and will check it when i get a chance. First tests show that it mis-identifies the second track as adx as well, which results it in discarding it because it thinks its invalid (since its not valid adx)
Not sure when I'll get to it, hopefully on the weekend.

Thunderbolt8
31st October 2013, 18:51
Thanks for the sample, its fixed for the next version.
MPC-HC should update soon'ish as well, and you can grab a nightly build to play these files again.could you please release a new official update?

nevcairiel
31st October 2013, 23:20
Releases will be released when i think its ready.
It shouldn't be much longer now, though.

littleD
1st November 2013, 00:43
Which version did you test? Multi-threading in LAV was improved recently, specifically Monday evening, so not even two days ago.
I see consistent use of 80-90% CPU with that version on a 1080p clip i tested (The Tears of Steel clip from DivX), 170 fps on my system.Works well now, thank you.
Edit
It's all good other that than my laptop runs 35fps (32bit decoder) oh well ;)

Rinzler
1st November 2013, 05:59
Can't make MPC-HC 1.7.0 use DXVA in Windows XP. Just installed previous version MPC-HC 1.6.8 and it works fine. Is this a bug?

vivan
1st November 2013, 06:04
Windows XP doesn't support DXVA2.
Read MPC-HC changelog - http://mpc-hc.org/changelog/

Rinzler
1st November 2013, 06:10
oh my mistake

leeperry
1st November 2013, 09:26
Hi again nev, is there any way to set the "input buffer size" in your splitter like in Haali's?

I've scored a cheap 4X Liteon BD reader, the darn thing starts at 1X and ends at 4X. I've updated its firmware and yet LAV usually stutters at the beginning of my remuxed BD movies, I've set a high input buffer size in HMS and that seems to do the trick, it would be great if I could do the same in LAV :)

I read other customers feedback complaining that it's not fast enough to read BD movies so I guess PDVD & other commercial players might also suffer from the same issue.

:thanks:

DragonQ
1st November 2013, 11:04
I've scored a cheap 4X Liteon BD reader, the darn thing starts at 1X and ends at 4X.
An interesting choice by the manufacturer considering 2x is the minimum required for reading BD-ROMs correctly in all scenarios.

leeperry
1st November 2013, 11:57
Well, cheap is cheap: http://www.hotukdeals.com/deals/21-85-delivered-blu-ray-internal-drive-liteon-ihos104-06-4x-bd-rom-from-mymemory-1539984 :D
It's dead silent with FLAC compilations and 720p movies but yeah, it takes a little while to reach 2X: http://thumbnails106.imagebam.com/28534/acdfb1285331962.jpg (http://www.imagebam.com/image/acdfb1285331962)

Forcing 65MB cache in HMS would appear to do the trick nicely on untouched remuxed BD's, and at least the drive is still silent :)

Ver Greeneyes
1st November 2013, 15:52
Now that the LAV filters are built into MPC-HC, is there any advantage or disadvantage to using the internal version over standalone? For the renderer I use madVR.

wanezhiling
1st November 2013, 16:19
No difference.

clsid
1st November 2013, 18:44
The standalone LAV Filters support more formats. However, the internal one is more than sufficient for the majority of people. The difference is mostly all kinds of rare and exotic formats.

Ver Greeneyes
1st November 2013, 21:31
Formats as in codecs? Why is there a difference? (not that I'm particularly worried about it, just curious)

kasper93
1st November 2013, 21:53
The standalone LAV Filters support more formats. However, the internal one is more than sufficient for the majority of people. The difference is mostly all kinds of rare and exotic formats.

Internal LAV supports all formats. Exotic formats are in low merit mode, but they are supported.

Why is there a difference?

It's mostly problem with current mpc-hc ui. We don't have space for very long formats list. But there is planned some work on this.

sneaker_ger
2nd November 2013, 13:08
(quoting here since I don't think it's related to HEVC in mkv specifically)
2160p works in realtime with LAV on my system. Note that the LAV built into MPC-HC is a bit older and doesn't have the latest version of the HEVC decoder yet.
I'm only reaching ~11.4 fps with that sample (http://forum.doom9.org/showthread.php?p=1651083#post1651083) on my Core i7-860 and roytam's 11-1-2013 nightly. Is that still based on an old ffmpeg or is my CPU that outdated? CPU usage is >90% with all the latest builds.

Soukyuu
2nd November 2013, 13:25
I downloaded the file and will check it when i get a chance. First tests show that it mis-identifies the second track as adx as well, which results it in discarding it because it thinks its invalid (since its not valid adx)
Not sure when I'll get to it, hopefully on the weekend.Thanks for the reply. I have a suspicion that the .sfd format writes an .adx header for all streams, including the .ac3 one. Or maybe something like [adx-header][actual adx stream][adx-header][ac3-header][actual ac3 stream].

nevcairiel
2nd November 2013, 13:27
I'm only reaching ~11.4 fps with that sample (http://forum.doom9.org/showthread.php?p=1651083#post1651083) on my Core i7-860 and roytam's 11-1-2013 nightly. Is that still based on an old ffmpeg or is my CPU that outdated? CPU usage is >90% with all the latest builds.

On that particular sample i get around 23 fps, not quite fast enough, but close, however its also relatively complex compared to other 2160p samples i have, which play faster.
I amended my post slightly to express the dependency on sample complexity :p

sneaker_ger
2nd November 2013, 13:34
Well, the sample is around 30 Mbit/s which I think we would be looking at for some kind of 4k Blu-Ray. Let's hope we'll see more optimizations until then.

filler56789
2nd November 2013, 13:40
Hopefully not-so-OT :o , but now the evil :D Strongene Lentoid Decoder is compatible with the MKV and MP4 demuxers of LAV Splitter, and besides, now it (finally) can be used in Graphstudio's performance test as well :)

NikosD
2nd November 2013, 21:30
I think that decoder is H.265 only.

Is it faster than LAV Video decoder or divx H.265 ?
Have you done any tests ?

nevcairiel
2nd November 2013, 21:51
Please keep discussions of other software to a more appropriate place. I believe it has a thread somewhere on the forum.

James Freeman
3rd November 2013, 16:17
Is there any way to make it possible that LAV Video will show the decoded (Input) Bitrate in Kbps ?

If not, please make this an option to view the decoded bitrate.

Thanks.

I'm only reaching ~11.4 fps with that sample on my Core i7-860 and roytam's 11-1-2013 nightly. Is that still based on an old ffmpeg or is my CPU that outdated? CPU usage is >90% with all the latest builds.

I got 20fps with i7 3770K 4.5Ghz.

I don't think UHD needs 30Mbps too eliminate visible artifacts compared to HD, 10-15Mbps will be enough (especially with HEVC).

I think the studios can shove 3 Hours, 35Mbps, H.264, in a 50GB disc.
Lets wait and see what they can do with UHD, H.265, and 100GB disc.

Bitrate/Size Calculator: http://www.dr-lex.be/info-stuff/videocalc.html

nevcairiel
3rd November 2013, 17:00
LAV Filters 0.59

LAV Splitter
- Support for demuxing H.265/HEVC and VP9
- Improvements for H.264 in AVI or as raw video streams
- Improved stream detection in files which start with a few seconds audio before the video
- Improved timestamp handling when demuxing seamless branching Blu-rays, fixes a few hicups/freezes mid-stream

LAV Video
- Support for decoding H.265/HEVC and VP9
- Accept H.264 from the MainConcept demuxer
- Added support for DV Video from Canopus cameras

LAV Audio
- Fixed playback issues on a few DTS and DTS-HD tracks


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

Its been quite a while since the last release, however the changes still look relatively short - and well, yes they are.
I was on vacation, on various business trips and generally very busy. However I hope that development will pick up again in the coming month.

Anyhow, the big thing in this version is of course support for HEVC. While its certainly not perfect yet, it is relatively fast on 1080p content already.
Please do not bother to report HEVC files which do not play, instead report them to FFmpeg directly, since they are still actively working on the HEVC decoder. Many older files from early versions of the encoders may also be invalid, and therefor not play properly.

Other then that, a bunch of fixes and improvements, some named in the changelog, some internal or too small to make the log.

Another maybe note-worthy change is that i moved to Visual Studio 2012 and GCC 4.8.2 with this build.
I have even considered moving to VS 2013 in the near future, LAV already builds just fine with it, and I like the improvements Microsoft made - just for anyone curios what I use to build official versions.

Anyway, have fun!

Thunderbolt8
3rd November 2013, 17:16
I have a question regarding playing games & video playback using multiple monitors:

I play dota on my laptop at 1080p and also like to watch twitch.tv streams (720p resolution in this case) on my second screen (1280x1024) alongside. my aim is to find a way of playback of the twitch stream which results in least decrease of fps in the game (dota running on the nvidia card, the stream/vlc/mpc atm with the intel hd 4600).

when only playing dota, then my fps varies about 35-45. when using VLC to play the twitch stream (using the normal browser via adobe plugin is definately slower) then I get the least decrease of fps do far with usually still being around 33-39 fps

when I now try to achieve this or better with mpc & lavfilters for video decoding I dont seem to be able to get better results than VLC does. regarding video decoder settings, selecting no hardware acceleration at all does still offer the best results with fps of ~29-35 ( (also with v0.59). its gets a bit worse with dxva2 copy back and is worst when using quicksync. from what Ive heard, the more load is on the intel HD alongside the nvidia, the more it could slow down the nvidia because of copying stuff to video ram or something like that?

as for the renderer, madvr wont work at all as the intelHD gpu is way too slow for that. VMR9 renderless does provide slightly better results than EVR.

still as said, I dont know what VLC does, which renderers or decoders it uses to achieve a better result than mpc & LAV. would anyone know what settings I could try with mpc & lav for improvement?

STaRGaZeR
3rd November 2013, 19:10
It's nice to see that the x64 version is faster now, I remember it being a bit slower before. Around 5% faster with H.264 and 8,5% faster with that H.265 2160p sample.

mindbomb
3rd November 2013, 21:00
would anyone know what settings I could try with mpc & lav for improvement?

enhanced video renderer (the regular one, not custom) with dxva native decoding should be virtually equivalent to not playing anything at all.
you can also try madvr with dxva image scaling, bilinear chroma scaling.

Thunderbolt8
3rd November 2013, 22:52
enhanced video renderer (the regular one, not custom) with dxva native decoding should be virtually equivalent to not playing anything at all.
you can also try madvr with dxva image scaling, bilinear chroma scaling.tried it, fps rate is ~26-34 then. so VLC is still faster.

andybkma
4th November 2013, 03:55
Greets, thanks for new .59 update. After updating, the very first mp4 file (AVC;AAC) I played started in pause mode and had no sound. Sound would try to stutter every 30 seconds as if it was trying to play but failing so mostly the video was just silent with the occasional sound burst. Reverting back to 58.1 the files played with no problems. So am assuming that this new mp4 AVC/AAC problem with version .59 will be reported by other users soon. If not, I will losslessly cut out a sample out post it up. Cheers

mindbomb
4th November 2013, 04:50
tried it, fps rate is ~26-34 then. so VLC is still faster.

do you think it might be an issue with power settings? that is, vlc is using the cpu, thus preventing throttling, leading to increased performance?
cause i dont think anything can impact the system less than evr and dxva native.
also, check to make sure dxva native is actually being used in lav video, it may not be compatible with a filter you are using or something.

nevcairiel
4th November 2013, 06:52
Greets, thanks for new .59 update. After updating, the very first mp4 file (AVC;AAC) I played started in pause mode and had no sound. Sound would try to stutter every 30 seconds as if it was trying to play but failing so mostly the video was just silent with the occasional sound burst. Reverting back to 58.1 the files played with no problems. So am assuming that this new mp4 AVC/AAC problem with version .59 will be reported by other users soon. If not, I will losslessly cut out a sample out post it up. Cheers

So far you seem to be alone. I also tested a variety of files and couldn't reproduce any issues here.
MPC-HC has also been using a version close to 0.59 for a while in nightly builds, and i haven't heard anything from them, either.

Blight
4th November 2013, 11:30
LAV Splitter
- Support for demuxing H.265/HEVC and VP9

LAV Video
- Support for decoding H.265/HEVC and VP9
- Accept H.264 from the MainConcept demuxer


Hi Nev,
What are the new SUBTYPEs associated with H265/VP9 and possibly the update for "MainConcept h.264 demuxer" ?

nevcairiel
4th November 2013, 11:33
HEVC uses the FourCCs 'HEVC' and 'HVC1', VP9 uses 'VP90', the new H.264 type is {D2D71CB-243F-45E3-B2D8-5FD7967EC09B}

DragonQ
4th November 2013, 11:55
Another maybe note-worthy change is that i moved to Visual Studio 2012 and GCC 4.8.2 with this build.
I have even considered moving to VS 2013 in the near future, LAV already builds just fine with it, and I like the improvements Microsoft made - just for anyone curios what I use to build official versions.
I'm going to move to VS 2013 this week. The Asynchronous Debugging feature in particular looks really useful - just the other day I had to move some code out of a background thread and into the main UI thread just to debug it.

sneaker_ger
4th November 2013, 12:22
[B]Another maybe note-worthy change is that i moved to Visual Studio 2012 and GCC 4.8.2 with this build.
Just for the record: crashes with EMET.

nevcairiel
4th November 2013, 12:23
Just for the record: I don't care. :)
EMET is known to cause instability, and I would never recommend using it to anyone.

sneaker_ger
4th November 2013, 12:43
I know. Which gcc did you use for the 0.58.2 release?

nevcairiel
4th November 2013, 13:09
Probably still 4.7.3, not sure when exactly i switched everything over to 4.8

Carpo
4th November 2013, 13:34
building now :D

andybkma
4th November 2013, 14:20
So far you seem to be alone. I also tested a variety of files and couldn't reproduce any issues here.
MPC-HC has also been using a version close to 0.59 for a while in nightly builds, and i haven't heard anything from them, either.

nev, here is the first 10 seconds of one of the mp4 AAC files that won't play sound with LAV .59. The clip plays fine with LAV .58.1 and also with PotPlayer using its own internal filters. Cheers for your help :-) If you need another sample, pls let me know...

http://depositfiles.com/files/0hllxnd7z

nevcairiel
4th November 2013, 14:55
nev, here is the first 10 seconds of one of the mp4 AAC files that won't play sound with LAV .59. The clip plays fine with LAV .58.1 and also with PotPlayer using its own internal filters. Cheers for your help :-) If you need another sample, pls let me know...

http://depositfiles.com/files/0hllxnd7z

I can reproduce the problem, the AAC decoder freaks out and claims all sorts of brokenness in the file. I'll have to dig deeper, i guess.

filler56789
4th November 2013, 15:06
FWIW, demuxing with ffmpeg and remuxing with L-Smash made LAV Audio "understand" the pesky file.

P.S.: Remuxed file @ http://www.mediafire.com/download/qj084sle8cn9x1q/0059-with-sound.mp4

nevcairiel
4th November 2013, 16:27
I found the issue, it was not in the AAC decoder but the MOV/MP4 demuxer which slightly broke the AAC stream (which i guess L-Smash managed to fix again).
Its fixed in LAV and i also sent a patch to ffmpeg for inclusion.

I'll wait a few more hours for any other potential reports and then release a bugfix version.

Thunderbolt8
4th November 2013, 18:32
do you think it might be an issue with power settings? that is, vlc is using the cpu, thus preventing throttling, leading to increased performance?
cause i dont think anything can impact the system less than evr and dxva native.
also, check to make sure dxva native is actually being used in lav video, it may not be compatible with a filter you are using or something.throttling of the CPU or the GPU? from what I noticed, CPU seems to be at ~50% max according to windows 8.1 task manager.

im not using other filters than LAV splitter, audio and video atm.

LeChuck
4th November 2013, 19:58
LAV Filters 0.59

LAV Audio
- Fixed playback issues on a few DTS and DTS-HD tracks



Problem with audio going silent on DTS-HRA tracks is fixed.

Thank you!

nevcairiel
4th November 2013, 21:46
LAV Filters 0.59.1

LAV Splitter
- Fixed a regression when demuxing AAC audio from MP4/MOV files


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

In case you missed 0.59, it was posted here (http://forum.doom9.org/showthread.php?p=1651262#post1651262).

This version only includes a small regression fix, surprisingly the only one that showed up after more then 24 hours in the wild, i fully expected more issues after such a long time between releases and many changes in FFmpeg.

Anyway, take care!

Reino
4th November 2013, 22:24
Nev, what are your thoughts on post1632484 & post1633682?

nevcairiel
4th November 2013, 22:37
Embedded Cue Sheet support is planned for a future version. The hover info should be fairly easy to do, I'll try to remember on a rainy day.

James Freeman
4th November 2013, 23:21
nevcairiel,

Are you taking the "Show Video Bitrate" into consideration?

FreeFall
5th November 2013, 03:17
nevcairiel,

Playback stalls with this Blu-ray Disc sample using MPC-HC. At around 2 min during the roll of the credits it only happens when played back from its playlist file (00004.mpls). Playback will resume after about a minute and play normally.

The Disc uses two streams one for the episode and one for the credits both the m2ts files playback fine on their own.

H264 / DTS-HD 2.0
http://www.sendspace.com/file/4uwhhe

The video plays without any problems using MPC-BE or it's splitter in combination with LAV Video / Audio decoders.


Subtitle lines at 33 and 39 sec are delayed with Madvr or EVR using internal(Madvr) or xy-VSfilter(EVR) sub renderers, EVR-CP seems fine for some reason.

H264 / LPCM 2.0
http://www.sendspace.com/file/ub3gpg

Tested the same as above using MPC-BE's internal splitter in combination with LAV Audio / Video without any problems.


Thanks.

nevcairiel,

When you have time could you take a look at these samples again, still having the same problems with 0.59.1, both play without any problems using mpc-be's splitter with LAV Video / Audio decoders.

Thanks.

nevcairiel
5th November 2013, 07:13
Are you taking the "Show Video Bitrate" into consideration?

Its unlikely for such a feature to be implemented.

nevcairiel
5th November 2013, 09:43
When you have time could you take a look at these samples again, still having the same problems with 0.59.1, both play without any problems using mpc-be's splitter with LAV Video / Audio decoders.

It seems like the first sample is broken slightly, at the end of the first clip it contains a broken DTS frame (possibly cut badly), and the credits don't contain any audio at all, which makes it go a bit crazy. Transitioning from audio to no audio is a bit problematic in DirectShow as it is, adding the broken audio frame on top doesn't improve the situation, sadly.

I'll see if i can do something.

FreeFall
5th November 2013, 11:28
I used Dgsplit to cut the sample from the original Blu-ray and left the credits untouched, the original disc has the same problem during playback every time the credits roll at the end of each episode.

The Blu-ray is a region A disc from Sentai Filmworks, Dusk Maiden of Amnesia (Anime), All of their discs seem to be authored the same way, episode + credits without audio. I have a few other titles from them and they all have the same problem during playback with LAV splitter.


Thanks.

James Freeman
5th November 2013, 11:42
Its unlikely for such a feature to be implemented.

Is there any other way?
Besides "Bitrate Viewer" software.
I also don't want to use ffdshow.

nevcairiel
5th November 2013, 12:01
I used Dgsplit to cut the sample from the original Blu-ray and left the credits untouched, the original disc has the same problem during playback every time the credits roll at the end of each episode.

Well, here is how it is.
As far as i can see, the problem is quite simple - it happens once LAV hits the end of the file, with approximately 700 frames in its own buffer, or around 29 seconds (at 24p) before the movie ends.

At that point, LAV queues a End-of-Stream event on all pins (Video, Audio, Subtitle) - but because there is no Audio anymore, there is no queue to attach it to, so the End-of-Stream is sent to the audio decoder and audio renderer immediately. And once the audio renderer receives End-of-Stream, it stops playback, until some magic makes it go again after a while, i didn't quite figure this out yet, the audio renderer probably just stops its reference clock which makes this a bit complicated.

I wonder if I should rewrite this logic, so that the EOS is only delivered once all pins received their EOS, so that this situation doesn't happen.
I'll think about it a bit, and see if I can come up with a good solution.

Edit:
There seems to be more going on then i initially anticipated. I think you'll have to live with this problem for the time being, DirectShow is just quite limited when it comes to suddenly disappearing audio. Could try switching audio renderer, i suppose.

FreeFall
5th November 2013, 15:57
No problem I'll just use mpc-be's internal splitter to playback those disc's until you can come up with a solution, thanks for your hard work.

clsid
5th November 2013, 16:29
Perhaps generate and insert silent audio until the video reaches EOS?

nevcairiel
5th November 2013, 16:33
Can't generate silent DTS-HD :P

clsid
5th November 2013, 17:01
My bad. I was assuming PCM output instead of bitstreaming.
Dump an (almost) silent sample from an existing stream and re-use that instead? Just theoretically speaking, not suggesting you actually do that kind of hacky trickery :P

nevcairiel
5th November 2013, 20:40
I implemented a work around that seems to work on the sample I got, although it feels kinda specific to this one case (one clip without audio at the end of the title), but at least it should be minimally invasive and hopefully not cause troubles.
Its generally a bad situation when one stream stops sending data in the middle of playback, both for DirectShow and FFmpeg. I considerd letting these files be broken, who cares that it stops during the credits, but this may hopefully work.

kolak
5th November 2013, 21:11
Does anyone know how well does Intel HD 5000 decode 4K AVC streams? Will it cope with 200Mbit one?

NikosD
5th November 2013, 21:35
Is there any other way?
Besides "Bitrate Viewer" software.
I also don't want to use ffdshow.


Use a capable player like MPC-HC or PotPlayer.
Both can show stats with the info you want.

mindbomb
5th November 2013, 22:31
Does anyone know how well does Intel HD 5000 decode 4K AVC streams? Will it cope with 200Mbit one?

idk, but the hardware decoder on haswell is the same as on ivy bridge, right?

kolak
5th November 2013, 22:37
No- as far as I understand Haswell one is new, better and optimized for 4K from the beginning.

Thunderbolt8
5th November 2013, 23:17
Well, here is how it is.
As far as i can see, the problem is quite simple - it happens once LAV hits the end of the file, with approximately 700 frames in its own buffer, or around 29 seconds (at 24p) before the movie ends.

At that point, LAV queues a End-of-Stream event on all pins (Video, Audio, Subtitle) - but because there is no Audio anymore, there is no queue to attach it to, so the End-of-Stream is sent to the audio decoder and audio renderer immediately. And once the audio renderer receives End-of-Stream, it stops playback, until some magic makes it go again after a while, i didn't quite figure this out yet, the audio renderer probably just stops its reference clock which makes this a bit complicated.

I wonder if I should rewrite this logic, so that the EOS is only delivered once all pins received their EOS, so that this situation doesn't happen.
I'll think about it a bit, and see if I can come up with a good solution.

Edit:
There seems to be more going on then i initially anticipated. I think you'll have to live with this problem for the time being, DirectShow is just quite limited when it comes to suddenly disappearing audio. Could try switching audio renderer, i suppose.perhaps this problem does also relate to this (https://code.google.com/p/lavfilters/issues/detail?id=70&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary%20Modified) one I reported 2 years ago?

James Freeman
6th November 2013, 11:44
Use a capable player like MPC-HC or PotPlayer.
Both can show stats with the info you want. (Video Bitrate)

I use MPC-HC, Lav Filters, MadVR.
I don't see any way to show Video Bitrate.
I know ffdshow can show bitrate, but I want to use LAV.

Thanks.

filler56789
6th November 2013, 11:57
I use MPC-HC, Lav Filters, MadVR.
I don't see any way to show Video Bitrate.
I know ffdshow can show bitrate, but I want to use LAV.

JMO, but a "normal" media player (OR the filters it may use) should not be used as a bitrate viewer. SFAIK, there are professional tools to do that kind of job.

James Freeman
6th November 2013, 12:24
JMO, but a "normal" media player (OR the filters it may use) should not be used as a bitrate viewer. SFAIK, there are professional tools to do that kind of job.

Can anyone give me a straightforward answer.

How can I see the video Bitrate?

The software/method should include HEVC.

wanezhiling
6th November 2013, 12:59
Use PotPlayer: http://i1.tietuku.com/dy4xzwru3.png

FreeFall
6th November 2013, 14:15
nevcairiel,

I just tested roytam1's latest nightly build 2013-Nov-06 from here:

http://roy.orz.hm/lavf-w32-nightlies/ roytam1

The good news is the problem with the original disc the sample was taken from is fixed but now all other disc's from Sentai Filmworks that use the same structure (episode + credits without audio) don't play properly. The problem is after you start playback nothing happens, the disc reads for about 5-6 min and then just plays the credits. It seems like it tries to cache everything before starting and gets mixed up.

Thanks for looking into this I know it's not an easy problem to fix.

nevcairiel
6th November 2013, 14:25
I may know why, and if thats it, it should be fixed.

FreeFall
6th November 2013, 14:39
Thanks again, If you could upload the new build when it's ready I'll test it out. I don't have any knowledge of programming myself so I don't know how hard it is to complie my own builds, I'll have to look into it.

nevcairiel
6th November 2013, 18:51
Here is a test build:
http://files.1f0.de/lavf/LAVFilters-0.59.1-9-gdecc7bc.zip

NikosD
6th November 2013, 20:13
Can anyone give me a straightforward answer.

How can I see the video Bitrate?

The software/method should include HEVC.

My friend you make things harder than they really are.

LAV Video doesn't support bitrate statistics.
Don't use LAV Video if you want to see the bitrate. It's that simple.

MPC-HC latest version 1.7.0 and up uses LAV filters, so if you press the stats menu (Ctrl+4) during playback you won't see bitrate because LAV video doesn't support it, as I said before.

MPC-HC v1.6.8 and before with default internal filters (not LAV filters) , supports bitrate stats, but it doesn't support H.265.
You need v1.7.0 to play H.265 files.

So, if you want to see bitrate statistics with H.265 video files, use PotPlayer and press the tab key during playback.

Reino
6th November 2013, 21:23
So James Freeman, your options are:
- MPC-HC/BE, Properties (Shift+F10) -> Details-tab
- MPC-HC/BE, Properties (Shift+F10) -> MediaInfo-tab
- MPC-BE's internal source/splitter filters to see a 'live' bitrate with "Statistics" (Ctrl+4)
- FFDShow
As Nev won't implement an OSD, FFDShow is the only way to see a 'live' bitrate in combination with LAV Splitter. Tough luck.

nevcairiel
6th November 2013, 22:46
Are we done with the off-topic now?
Thanks.

FreeFall
7th November 2013, 01:08
The new build fixed things, all the problem discs playback smoothly without any hiccups now.

Cheers.

wanezhiling
7th November 2013, 09:15
http://url.cn/SVoaPr
Open the clip and seek it immediately (within 1s), then image is broken...
Happens in dxva2n mode. :)

nevcairiel
7th November 2013, 09:51
Should be fixed.

wanezhiling
7th November 2013, 10:10
;) Great!

CoreAVC(sw/dxva/cuda), ffdshow(sw/dxva), mpc-be(sw/dxva) and PotPlayer(sw/dxva) have this issue.

FreeFall
7th November 2013, 10:24
nevcairiel,

I tried this sample again using mpc-be nightly 1.2.1.0.3701.x86 and the LAV build you posted. The subtiles at 33 and 39 sec are delayed by about 1.5 - 2.0 seconds depending on the renderer used EVR-CP or MadVR.

H264 / LPCM 2.0
http://www.sendspace.com/file/ub3gpg

I watched a few episodes from the original and saw the same problem again about 1/4 of the way through the 3rd episode, slightly longer delay. The only thing I can think of is it might be a similar problem to the one you fixed a while ago, timing problems with TrueHD audio and subtitles.

No problems using mpc-be's splitter with LAV Audio / Video.

If you could take a look at it when you have time and let me know what you think, subtitle renderer or splitter problem?


Thanks.

nevcairiel
7th November 2013, 12:03
If you could take a look at it when you have time and let me know what you think, subtitle renderer or splitter problem?

The only thing i can tell you for certain is that the subtitles are sent out consistently 5-6 seconds before the video.
Staying with your example times, that means the subtitles for second 33 are sent to the subtitle renderer 6 seconds earlier, when the video is still at second 27-28. So there is plenty of time for the subtitle renderer to receive and process the subtitles. And i can also see them having the correct timestamps, as expected.

Why it would show delayed, i really cannot answer.

FreeFall
7th November 2013, 12:44
Would the delay more likely be caused by a problem with the subtitle renderer, should I create a ticket on mpc-hc's bug tracker?

nevcairiel
7th November 2013, 13:18
I tried to do some hacking, and offset the timestamps of all subtitles by 5 seconds, so they would show up much earlier.
For some funny reason it worked for most subtitles, except the problematic ones, they still show up at *exactly* the same time. I really have no clue how their presentation time is determined.

Sounds like something the subtitle renderer developers might want to look into, how it happens.
It does seem like it fails at presenting the previous subtitle until it gets the next one, but that still does not necessarily explain the full situation.

A brief look at the PGS subtitle code in MPC-HC/BE, it seems like they should handle the DISPLAY_SEGMENT to actually show the subtitle, and not wait for the next one like it seems they are doing.
I could work around the issue by further increasing the frame queue in LAV, but its not a fix, just a work around (which has some negative downsides as well), so I'm not going to (my guess is that MPC-BEs splitter has a longer queue to work around this issue)

FreeFall
7th November 2013, 13:30
How did you fix the subtitle timing problems with TrueHD audio, could this be a similar problem?

nevcairiel
7th November 2013, 13:34
The problem could indeed be the same, and I didn't fully understand it back then.
TrueHD caused some misbehavior in LAV that made it artificially limit its queue size to a very low amount, so the timing problem would be far more obvious. After fixing that problem, queues returned to their normal size, and timings seemed alright, so I didn't bother looking further.

But the underlying problem was probably the same, and should be fixed in the subtitle renderers. They should not wait for the next subtitle to draw the current one, because it could come much later in the stream.

FreeFall
7th November 2013, 13:43
Thanks, I'll create a ticket on mpc-hc's bug tracker with the sample and information gathered from your testing.

FreeFall
7th November 2013, 15:23
nevcairiel,

Here is the report, #3691 PGS Subtitle timing problems with TrueHD / LPCM audio
https://trac.mpc-hc.org/ticket/3691#tickethttp://

Thanks

LordX2
8th November 2013, 19:57
Hey guys - I am having a subtitle issue - and I hope its a simple one!

I am using: MPC-HC, madvr, and LAV Filters.

I see embedded subtitles on some MKVs, but not all. In fact I see them on maybe 10-20% and DONT see them on the rest.

When I right click in MPC-HC it shows the subtitles are available and that they are selected. But I see nothing.

I checked under LAV splitter settings - and Deliver only Forced subtitles is NOT checked - so it should use all subtitles.

I am stumped.

Guest
8th November 2013, 20:18
I see embedded subtitles on some MKVs, but not all. In fact I see them on maybe 10-20% and DONT see them on the rest. How did you make the MKVs that work versus those that don't?

LordX2
8th November 2013, 21:21
I did not make the MKV files so I am not sure what subtitle 'formatting' they may have.

Is there a way to check this on the MKVs I already have?

LordX2
8th November 2013, 21:38
Ok I found Mediainfo to look at the two different MKV Files.

Looks like the one that WORKS uses English, UTF-8 Subs.

The ones that do NOT work use: English, PGS subs.

Edit - I do not have Directvobsub or anything like that - just MPC-HC, madvr, LAV Filters

TheBlackRock
8th November 2013, 21:42
Hello I have been testing the LAV Video decoder on a Windows 7 machine with a GeForce GTX 680 graphics card. I have built a graph in GraphStudio to play an h.264 file. I have NVIDIA CUVID selected as the hardware acceleration mode, but when I play the file it appears as if hardware acceleration is not active (as shown in the attached screen shot). It was my understanding that the Decoder Properties dialog should have the word "Active" next to the hardware decoder drop down if hardware acceleration is actually being used. I get the same results when testing with an AMD 7970 card. Please let me know how I can get hardware acceleration to be active. Any help would be greatly appreciated. Thanks.

Guest
8th November 2013, 22:31
I did not make the MKV files so I am not sure what subtitle 'formatting' they may have. Please read and follow our forum rules, specifically rule 6. Your crossposts also violate forum rules.

@all

No help to be given on this issue.

NikosD
9th November 2013, 09:41
I've done some tests today with 3 different H.265 clips, regarding SW decoding performance of H.265 decoder.

System 1: Laptop Core2Duo T5500@1.66 MHz
System 2: Desktop Core2Duo E7400@2.83 GHz

Win 8 x64 - LAV filters 0.59.1 - DXVA checker 3.0 for both systems.

The results were very strange.

For some unknown reason a C2D@1.66GHz seems to perform very close to a C2D@2.83GHz.

CPU utilization (both cores used) was the same about 80% - 90% for both systems.

Desktop performance was ONLY 11% - 25% faster than laptop.

It should be at least 80% faster due to faster clock and internal architecture.

michkrol
9th November 2013, 09:43
Hello I have been testing the LAV Video decoder on a Windows 7 machine with a GeForce GTX 680 graphics card. I have built a graph in GraphStudio to play an h.264 file. I have NVIDIA CUVID selected as the hardware acceleration mode, but when I play the file it appears as if hardware acceleration is not active (as shown in the attached screen shot). It was my understanding that the Decoder Properties dialog should have the word "Active" next to the hardware decoder drop down if hardware acceleration is actually being used. I get the same results when testing with an AMD 7970 card. Please let me know how I can get hardware acceleration to be active. Any help would be greatly appreciated. Thanks.

Have you tried playing it in a video player like MPC-HC, it might be GraphStudio not working correctly.
Try using DXVA-copyback/-native instead of CUVID.
It's also possible this file is incompatible with CUVID/DXVA - not all h264 files are supported. A sample file I've found that works with DXVA:
http://xhmikosr.1f0.de/samples/Big_Buck_Bunny/Big_Buck_Bunny_480p_x264.mkv
If you're not a gamer, get newest DirectX (you need 9.0c updates even if you have dx10 installed): http://www.microsoft.com/en-us/download/details.aspx?id=35
Normally I'd say try updating your drivers, but I've heard there are problems with newest Nvidia drivers, so try using a little older version?

sneaker_ger
9th November 2013, 17:14
I've done some tests today with 3 different H.265 clips, regarding SW decoding performance of H.265 decoder.

System 1: Laptop Core2Duo T5500@1.66 MHz
System 2: Desktop Core2Duo E7400@2.83 GHz

Win 8 x64 - LAV filters 0.59.1 - DXVA checker 3.0 for both systems.

The results were very strange.

For some unknown reason a C2D@1.66GHz seems to perform very close to a C2D@2.83GHz.

CPU utilization (both cores used) was the same about 80% - 90% for both systems.

Desktop performance was ONLY 11% - 25% faster than laptop.

It should be at least 80% faster due to faster clock and internal architecture.

I would recommend GraphStudioNext (http://code.google.com/p/graph-studio-next/) for performance tests. Build a graph like that:
LAV Splitter Source->LAV Video Decoder->Time Measure Filter->Null Renderer
Then click "View"->"Performance test", select number of wanted passes (more passes=less error) and click "Start".

NikosD
9th November 2013, 17:26
I know the app you suggest - it's a well known program - but dxva checker is very accurate too.

It's not a problem of the benchmark tool.

I tried PotPlayer too and I got same results, very slight performance increase with the faster system.

I'm sure it's a decoder problem, but a very odd one.

beter
9th November 2013, 22:29
I have an old TV record, it is in MPEG-TS format(trp), with MPEG-2, AC3x2 and 2 DVB subtitles.
The two DVB subtitles are split out with the former MPC-HC's internal splitter(current internal splitter of MPC-BE), but not with LAV splitter.
Is it a bug, or my former set-top box recorded it in a non standard way?

http://www.sendspace.com/file/2colg5

michkrol
9th November 2013, 22:36
I've done some tests today with 3 different H.265 clips, regarding SW decoding performance of H.265 decoder. (...)

Intrigued by your findings I did some quick tests of my own and can't confirm your results.
The performance scales (almost) perfectly linear for me with frequency and cores count.
Tested on my desktop (4 Ivy Bridge cores @ 4GHz) vs my netbook (2 Ivy Bridge cores @1,5GHz). Simple math gives me (4*4)/(2*1,5)=5,33 and the results show about 5,1 times the performance, so it matches well.
I've done the tests with GraphStudioNext. Will try some more files with DXVA Checker, when I get more time.

NikosD
10th November 2013, 10:24
I would recommend GraphStudioNext (http://code.google.com/p/graph-studio-next/) for performance tests.

Intrigued by your findings I did some quick tests of my own and can't confirm your results.


Well guys, you were right!
You convinced me to try GraphStudioNext and I confirmed a reasonable increase of performance (around 65%) of desktop system compared to laptop.

BUT HERE COMES THE INTERESTING THING!

I was right too!

Checking out once again DXVA Checker, I found out same kind of performance like GraphStudioNext!

What has changed ? Only one difference.
In order for GraphStudioNext to work, I had to put LAV video to Software mode (Hardware Decoder to use: None)
The software fallback is the problem.

I did the test again with DXVA native.
Here are the results for a test video sample:

Desktop/ Laptop 78fps/ 47fps GSNext (Null+SoftLAV)
Desktop/ Laptop 72fps/ 45fps DXVAChecker (EVR+SoftLAV)
Desktop/ Laptop 58fps/ 45fps DXVAChecker (EVR+DXVAn)

I think this is a MAJOR PERFORMANCE bug, affecting probably MPC-HC v1.7.0 and up (I used v1.7.0.190 by XhmikosR which is using LAV filters 0.59.1) and also PotPlayer.

Because I have low performance with both players using desktop and HEVC decoding, compared to laptop (same kind of low performance as shown above with DXVA Checker software fallback)

For some reason the software fall back of HEVC decoder of FFMpeg (or LAV Video/ PotPlayer) causes a major performance drop with my signature system.

Why the laptop configuration is not affected ?
Probably because it doesn't support full DXVA acceleration at all.

nevcairiel
10th November 2013, 10:32
There is no HW support for HEVC and therefor there is no software fallback. LAV behaves 100% the same no matter what you configure when playing HEVC.

NikosD
10th November 2013, 10:35
OK.

But then, how could you explain the performance drop of HEVC decoding from 72fps to 58fps, by just selecting DXVAn in Hardware Decoder to use selection ?

nevcairiel
10th November 2013, 10:37
Your system is damaged.
I get the same performance no matter what i configure.

NikosD
10th November 2013, 10:43
:eek:

Yes it could be.
But the only thing I do that could affect that matter, is driver upgrading.

I always choose "Clean install", but who knows.

If someone could run a DXVA Checker HEVC decoding test with LAV Video in Software mode and then in DXVAn mode, he would make me do a clean install of Win 8.1, a lot faster than I had in mind :D

P.S
You added the last sentence...Probably I have to do a format.
Did you try with an Nvidia card ?

andybkma
10th November 2013, 11:14
nev, greetings, I have a vc-1 bug report. I have many wmv vc-1 vids such as this that will play with hardware acceleration CUVID but not with the wmv9 dmo software decoding in LAV (the fallback decoder if unchecking VC-1 under hardware decoding). I just get a green screen or a black screen. Using LAV 59.1 & the wmv LAV Splitter. Any other info needed please let me know. Thanks.... ;-)

http://depositfiles.com/files/za7f10j73

filler56789
10th November 2013, 11:38
nev, greetings, I have a vc-1 bug report. I have many wmv vc-1 vids such as this that will play with hardware acceleration CUVID but not with the wmv9 dmo software decoding in LAV (the fallback decoder if unchecking VC-1 under hardware decoding). I just get a green screen or a black screen. Using LAV 59.1 & the wmv LAV Splitter. Any other info needed please let me know. Thanks.... ;-)

http://depositfiles.com/files/za7f10j73

That file plays OK here, with both LAV Video and the M$ DMO decoder. However I couldn't help noticing the uncommon&obsolete Fourcc "WMVA".

andybkma
10th November 2013, 12:24
That file plays OK here, with both LAV Video and the M$ DMO decoder. However I couldn't help noticing the uncommon&obsolete Fourcc "WMVA".

Hmmm very odd. As soon as I deselect VC-1 HW decoding, the file(s) just give me a blank screen. Didn't matter if I used mVR or EVR as the renderer either. Happens with both my media players, Zoom & POT with LAV set up as the wmv splitter and decoders for both A/V with these files. Odd that it should work for you. I am on Win7 SP1, 64 bit but LAV 32bit

nevcairiel
10th November 2013, 12:24
nev, greetings, I have a vc-1 bug report. I have many wmv vc-1 vids such as this that will play with hardware acceleration CUVID but not with the wmv9 dmo software decoding in LAV (the fallback decoder if unchecking VC-1 under hardware decoding). I just get a green screen or a black screen. Using LAV 59.1 & the wmv LAV Splitter. Any other info needed please let me know. Thanks.... ;-)

http://depositfiles.com/files/za7f10j73

The question you have to ask yourself is usually, does it work with WM ASF Reader + WMVideo DMO.

If not, then MS decoder is not compatible with that file. This may also depend on the version of Windows, since its a MS decoder.

andybkma
10th November 2013, 13:09
The question you have to ask yourself is usually, does it work with WM ASF Reader + WMVideo DMO.

If not, then MS decoder is not compatible with that file. This may also depend on the version of Windows, since its a MS decoder.

Yes, the video plays with ASF Reader as the splitter and the WMVideo DMO as the decoder: (Note: The below is with both Nvidia and HD4000)

ASF Reader & WMVideo DMO = YES good
LAV Splitter & WMV Video DMO = YES good
ASF Reader & LAV Decoder (nonHW) = NO blank screen
LAV Splitter & LAV Decoder (nonHW) = NO blank screen

Something on my system, nev? The sample I provided worked for you?

beter
10th November 2013, 13:45
Yes, the video plays with ASF Reader as the splitter and the WMVideo DMO as the decoder: (Note: The below is with both Nvidia and HD4000)

ASF Reader & WMVideo DMO = YES good
LAV Splitter & WMV Video DMO = YES good
ASF Reader & LAV Decoder (nonHW) = NO blank screen
LAV Splitter & LAV Decoder (nonHW) = NO blank screen

Something on my system, nev? The sample I provided worked for you?

try to disable this when you use LAV to decode VC-1:
http://i.imgur.com/Q1bgTe2.png

andybkma
10th November 2013, 14:00
try to disable this when you use LAV to decode VC-1:


Thanks, now it shows avcodec as the active decoder instead of WMV9 DMO and the vid plays fine. But wouldn't a problem still lie somewhere with the LAV video decoder WMV9 DMO since the M$ WMV Video DMO decoder can play it?

wanezhiling
10th November 2013, 15:22
Maybe LAV's wmv9 dmo decoder is something different to MS offical decoder.

nevcairiel
10th November 2013, 15:24
Fixed in Git. WMVA was not passed-through properly.
WMVA should be pretty similar to VC-1, however the DMO decoder seems to want me to tell it when its WMVA or it refuse to work. :)

andybkma
10th November 2013, 16:01
Fixed in Git. WMVA was not passed-through properly.
WMVA should be pretty similar to VC-1, however the DMO decoder seems to want me to tell it when its WMVA or it refuse to work. :)

Thank you kindly :-)

NikosD
10th November 2013, 20:14
I found a more consistent system and solved all of my problems :p

It's been a long time since my last CPU decoding tests, so I had forgotten the performance drop due to the renderer.

The performance drop is not due to LAV settings or different benchmark tools.

I did again the tests with H.265 samples and EVR/ EVR renderless with both GSNext and DXVA Checker.

The performance drop was the same for both tools using a renderer (EVR). And it was a big one.

But the same goes for H.264 too, for CPU decoding.

HW acceleration of H.264 has almost same performance with or without EVR.

Sorry for bothering you. :rolleyes: (waiting for my next GPU with HW acceleration of H.265)

EDIT:
Still unexplainable why the laptop is not affected by EVR/ Null renderer and has no performance drop between those two conditions.
Exactly the same performance with or without EVR renderer.

Are my two both desktop systems damaged and have a performance drop using EVR renderer with both H.264 and HEVC CPU decoders ?

boyumeow
11th November 2013, 05:43
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Rotation : 90°


Hello to anyone or nev, just wonder, according to mediainfo there is the Rotation, and should LAV filters be able to decode and implement it, or should the media player be doing it?
Thanks for whoever could understand and answer me :thanks:.

wanezhiling
11th November 2013, 08:45
LAV splitter doesn't support embedded rotation info yet.

littleD
11th November 2013, 12:10
I found a more consistent system and solved all of my problems :p

It's been a long time since my last CPU decoding tests, so I had forgotten the performance drop due to the renderer.

The performance drop is not due to LAV settings or different benchmark tools.

I did again the tests with H.265 samples and EVR/ EVR renderless with both GSNext and DXVA Checker.

The performance drop was the same for both tools using a renderer (EVR). And it was a big one.

But the same goes for H.264 too, for CPU decoding.

HW acceleration of H.264 has almost same performance with or without EVR.

Sorry for bothering you. :rolleyes: (waiting for my next GPU with HW acceleration of H.265)

EDIT:
Still unexplainable why the laptop is not affected by EVR/ Null renderer and has no performance drop between those two conditions.
Exactly the same performance with or without EVR renderer.

Are my two both desktop systems damaged and have a performance drop using EVR renderer with both H.264 and HEVC CPU decoders ?
I made one software video decoding test on win8 and saw no difference to win7. But after actualization to win8.1 things changed. On this system i get higher FPS'es in software video benchmarks. I deduct it is because better multithreading support (higher cpu utilization overall in tests). Evr and decoding pipeline is likely to be better in this sytem too. Make sure of having latest drivers with highest Wddm version number.
64 bit also gives noticable advantage, no craches so far when using lav/mp-hc in 64 bit but get higher performance on all systems

NikosD
11th November 2013, 12:34
Interesting. ..
The laptop tested has Win 8.1 not 8.

It sounds unbelievable to be that the reason of high performance.

The drivers are Win 7 only, it's a very old laptop.
The drivers of desktop system are shown to the signature.

The most important difference between my Win 8.1 laptop system and Win 8 desktop systems is not CPU utilization.

It's the non existent performance penalty of using EVR compared to null renderer.

Is this a unique feature of Win 8.1 or my Win 8 desktops are damaged dropping performance a lot, using EVR ?

Everything tested was 32bit except 64bit OS

littleD
11th November 2013, 13:49
I didn't test EVR overhead on win8 unfortunately. But there is a nice clip on this forum bf1.mp4 120fps in h254 format. I can't get it into synchronize on win7 playing in MPC-HC. Red and green line are far away even OSD shows (almost) 120 fps during decoding. On win8.1 i get perfect synchronzing means two lines red and green parallel close to each other (custom presenter 64 bit as well). This is what i believe is EVR improved in 8.1. It might do some work on GPU or have lower latencies somewhere maybe. It is interesting for me too.

NikosD
11th November 2013, 17:27
bf1.mp4 and bf.mp4 are really great great findings!

I only had one easy 120fps H.264 clip (only 480p120@2.5Mbps) but those two 1080p120@10Mbps and 30Mbps clips are awesome!

Two major surprises.

1) Using LAV Video CPU decoding to benchmark the 10Mbps clip, my Win 8 Desktop C2D@2.83GHz and my Win 8.1 Laptop C2D@1.66GHz have almost same performance using EVR according to DXVA Checker!

With EVR renderless I got almost double score with desktop system.

2) My VP5 of signature system is faster in 30Mbps clip than in 10Mbps clip!

131fps for 30Mbps L5.1 H.264 clip

126fps for 10Mbps L4.0 H.264 clip

In real playback with PotPlayer, it needs 95% of VPU power for 30Mbps clip and 99% utilization for 10Mbps clip (sometimes it can't even keep up - it goes up to 117-118fps)

Aleksoid1978
12th November 2013, 02:52
nevcairiel

Latest build from git - crash in LAVVideo.ax on H.264 + DXVA Native on seeking. Any H.264 material.

nevcairiel
12th November 2013, 06:43
Works just fine for me, no crashes here.

Aleksoid1978
12th November 2013, 06:48
Works just fine for me, no crashes here.

Crash on MPEG-TS with MPC-BE Splitter.

nevcairiel
12th November 2013, 07:26
How is that any H.264 material if its only on MPEG-TS? :D

I found the reason, should be fixed.

Aleksoid1978
12th November 2013, 07:29
How is that any H.264 material if its only on MPEG-TS? :D


Sorry - my bad test. ;)

Qotscha
12th November 2013, 21:56
Couple of questions considering http live streaming with encryption:

1. Have I understood correctly that HTTP live streams with AES-128 encryption can not be played with LAV Splitter currently?

2. I can play such streams with ffplay and reading this (https://trac.ffmpeg.org/ticket/2008) and this (https://github.com/xbmc/xbmc/pull/3193) I have understood that ffmpeg should be built with GnuTLS for these streams to work. So should encrypted HLS work with LAV too, if I do so?

3. What should I do to compile ffmpeg with GnuTLS. I think this (ftp://ftp.gnutls.org/gcrypt/gnutls/w32/) together with gnutls.pc file from here (http://mirrors.xbmc.org/build-deps/win32/mingw-msys/gnutls-3.2.3-mingw32.zip) are what I need, but where should I put these for --enable-gnutls options to work. To MSYS folder, to thirdparty folder?

4. Instead of trying to do something too complicated for my limited skills, should I just wait for nevcairiel to add support for encrypted HLS possibly with customizable http-user-agent in near future? ;)

Edit: Why I ask this? Currently I watch quite a lot encrypted HTTP live streams from one specific streaming service using VLC. It would be nice, if I could use MPC-HC instead, and for that I would need a custom build of LAV Splitter with different user-agent (which I, BTW, have managed to change :p) and with decryption capability. (To be specific, I can use MPC-HC if I use VLC to decrypt and stream to MPC-HC but that is not very elegant solution.)

turbojet
13th November 2013, 01:29
When using lav video decoders with dss2 it only gives about 60 fps while ffm2svideosource gives 250 fps. Is the lav video decoder multi-threaded?

handaimaoh
13th November 2013, 01:58
When using lav video decoders with dss2 it only gives about 60 fps while ffm2svideosource gives 250 fps. Is the lav video decoder multi-threaded?

Of course it is.

turbojet
13th November 2013, 08:05
Culprit is single threaded dss2, setmtmode(3) with lavcodec gets it up in ffms2 range but it doesn't speed up encoding.

sneaker_ger
13th November 2013, 08:41
Should AviSynth's internal threading really have any influence on the LAV threading?

turbojet
13th November 2013, 09:52
Oh nevermind PEBKAC. It was stuck on cuvid, it's only about 5% slower than ffms2 when setup right through avisynth.

In order to switch between lav and cuvid from a command line is changing HKCU\Software\LAV\Video\HWAccel from 0 to 1 all that's needed? Is there a better way to do it?

NikosD
13th November 2013, 20:26
After a lot of testing I think I'm going to need the help of nevcairiel or some other developer to interpret my results.

The most amazing result of my testing is that there is no CPU decoding/playback!

In realworld, playback with a renderer (not null renderer) is a CPU/GPU thing even when you select CPU decoder and not HW acceleration.

For example H.264/H.265 CPU/EVR decoding with the iGPU of a SandyBridge as primary, is a lot slower than the exact CPU/EVR decoding with a faster discrete card as primary - with all the other parameters kept same.

This is unexplainable to me.

Also ATI card system had almost no performance penalty between EVR/EVR renderless, compared to a big performance penalty of Nvidia systems.

One explanation could be that there were no driver updates for ATI system compared to Nvidia system.

But even that, it's a drawback for the "clean" installation of upgrading Nvidia drivers.

I think there is room for optimization for the CPU playback scheme, not only in the core CPU decoding but also in CPU/ renderer system.

It's possible that OS and drivers of GPU could affect a lot the performance of CPU decoding, too.

Aleksoid1978
14th November 2013, 02:44
Nevcairiel
LAV Video + NV12 output + VMR7(w) + VMR Mixing mode + YUV Mixing - wrong color at ouptut.
LAV:
http://i.imgur.com/QrSswRA.png
MPC_BE:
http://i.imgur.com/rnvzWZM.png

itsonlyjustincase
14th November 2013, 13:05
For example H.264/H.265 CPU/EVR decoding with the iGPU of a SandyBridge as primary, is a lot slower than the exact CPU/EVR decoding with a faster discrete card as primary - with all the other parameters kept same.

This is unexplainable to me.



iGPU was using QuickSync ? Cause iGPU with DXVA is nothing in terms of performance compared to QuickSync so it is surprising

nevcairiel
14th November 2013, 13:53
Nevcairiel
LAV Video + NV12 output + VMR7(w) + VMR Mixing mode + YUV Mixing - wrong color at ouptut.

I know whats wrong, and I have a fix, just need to test a bit more.

NikosD
14th November 2013, 16:37
iGPU was using QuickSync ? Cause iGPU with DXVA is nothing in terms of performance compared to QuickSync so it is surprising

I didn't test hardware acceleration.
Not DXVA, not QuickSync.

I did several tests with CPU (software decoders only) for both H.265 & H.264.

The unexplainable for me, is that CPU decoders when using a renderer (as always during playback) are dependent by the GPU (hardware, drivers, OS) and have huge performance differences for the same CPU decoder, with different GPU.

So, it seems that there is no such thing as "CPU decoding" in real life playback.
It is always a CPU/GPU thing, even if you choose "software" decoding.

michkrol
14th November 2013, 19:48
The unexplainable for me, is that CPU decoders when using a renderer (as always during playback) are dependent by the GPU (hardware, drivers, OS) and have huge performance differences for the same CPU decoder, with different GPU.
The renderers are used obviously for rendering the video and aren't designed for displaying frames faster than the movie's framerate, especially faster than your display's refresh rate, since obviously it's pointless from the perspective of watching the movie.
The renderer uses the GPU to diplay the video, so it's limited by its capabilities, such as memory bandwidth, which you can't overcome.

So, it seems that there is no such thing as "CPU decoding" in real life playback.
It is always a CPU/GPU thing, even if you choose "software" decoding.
Rendering the decoded frame(s) on a display is not part of decoding, it's next step in playback. You can for example send the decoded frames to an encoder to transcode them to another format.

Since we've concluded that LAVFilters' H265 decoder works correctly and performance scales with frequency and cores count, I think we should stop going further off-topic or continue in a separate thread ;)

NikosD
14th November 2013, 21:06
The renderers are used obviously for rendering the video and aren't designed for displaying frames faster than the movie's framerate, especially faster than your display's refresh rate, since obviously it's pointless from the perspective of watching the movie.


This is definitely not true.
During benchmarking both CPU decoders and HW decoders can go many times faster than both movie's frame rate and refresh rate like 500fps


Since we've concluded that LAVFilters' H265 decoder works correctly and performance scales with frequency and cores count, I think we should stop going further off-topic or continue in a separate thread ;)

I'm not sure that this true "it works correctly", because all of my problems started when I a C2D@2.83 performed only 15% faster than a C2D@1.66 during playback.

Of course I don't know what nevcairiel can do about that, so I'll come back when I'll have a clean Nvidia win 8.1 system.
I'll do my tests again and if I find something interesting, I'll write again.

roytam1
15th November 2013, 02:23
Nevcairiel
LAV Video + NV12 output + VMR7(w) + VMR Mixing mode + YUV Mixing - wrong color at ouptut.
LAV:
http://i.imgur.com/QrSswRA.png
MPC_BE:
http://i.imgur.com/rnvzWZM.png

I know whats wrong, and I have a fix, just need to test a bit more.

Alright I built that branch. :)
http://roy.orz.hm/lavf-w32-nightlies/lavf-my131115-vmr7mix-866679a.7z

itsonlyjustincase
15th November 2013, 02:55
This is definitely not true.
During benchmarking both CPU decoders and HW decoders can go many times faster than both movie's frame rate and refresh rate like 500fps



I'm not sure that this true "it works correctly", because all of my problems started when I a C2D@2.83 performed only 15% faster than a C2D@1.66 during playback.

Of course I don't know what nevcairiel can do about that, so I'll come back when I'll have a clean Nvidia win 8.1 system.
I'll do my tests again and if I find something interesting, I'll write again.

Using intel hd 4000 without QuickSync is meaningless. You have to use optimization made for video otherwise it's understandable it wouldn't give good results.

Intel QuickSync beat EVERYTHING in terms of video encoding/decoding

Vasilich
15th November 2013, 03:09
The renderers are used obviously for rendering the video and aren't designed for displaying frames faster than the movie's framerate, especially faster than your display's refresh rate, since obviously it's pointless from the perspective of watching the movie.

This is definitely not true.
During benchmarking both CPU decoders and HW decoders can go many times faster than both movie's frame rate and refresh rate like 500fps.
mickrol talked about renderers, and you talk about decoders. Surely decoder doesn't know where decoded content will be rendered, so it has no limitations in speed. But renderer's task is to render, so it knows everything about refresh rate of the display. And it really makes no sense to render (not decode!) faster than the display can show it

NikosD
15th November 2013, 07:54
mickrol talked about renderers, and you talk about decoders. And it really makes no sense to render (not decode!) faster than the display can show it

What I wrote about decoders is true for renderers too.

In benchmark mode with EVR for example, you can go as high as your platform can go like 1000fps.
There are no limitations.

littleD
15th November 2013, 19:19
I didn't test hardware acceleration.
The unexplainable for me, is that CPU decoders when using a renderer (as always during playback) are dependent by the GPU (hardware, drivers, OS) and have huge performance differences for the same CPU decoder, with different GPU.Sorry for continuing offtop (it should really go to other thread), but i think statement above is obvious for me. There was always some EVR renderer overhead in benchmarks iifc everyone told about on this forum (I am long time reader heh). Evr is close to GPu this means it uses GPU logic for sure. Some decoders like LAv filters or ffdshow can be forced or automated to change colorspace or/and range levels on the fly before it goes to renderer. This means less work for gpu, and little more to CPU. But still there might be some limitations on texture uploading, drivers performance and featutes (like picture enhancements ON or OFF) that can be various among GPU vendors. Check out MadVR test, it might be old and no relevance, but clearly shows difference between gpus. NikosD, you noticed improvements in win8.1 over the win8, this means win 8.1 have some better EVR performance deep in system not dependent on drivers, as u said previously u use some legacy drivers on old rig.
I have checked WDDM 1.3 new features and there might be or not amazing shows off but im sure there are underlying improvements. I might be wrong with better multithreading support, i checked other single thread? decoders (xvid in LAV) and it shows improvement too in win 8.1. Improvement like higher/better cpu utilization. I'm not an expert, maybe some devs could say more what OS improvements are from win 7 to 8.1

tzr916
16th November 2013, 03:59
I had to downgrade to v58.2 because v59.1 is not deinterlacing properly. In fact it seems like it's not deinterlacing at all, no matter what Hardware/Software Acceleration option I try. I use Zoom Player with EVR to play US cable Tv shows (1080i mpeg2 wtv). A lot of it is badly flagged 29/59 material (easy to spot the jaggies on channel logos, etc). It looks fine using v58.2 (CUVID, AdaptiveHW, HQ, YADIF) but seems like there is something really wrong with v59.1

nevcairiel
16th November 2013, 06:53
Both YADIF and CUVID deinterlacing work just fine for me, and nothing really changed in those areas either, nothing at all really.
Please provide a sample to reproduce the issue.

balkerman
16th November 2013, 14:51
Thanks for Lav!

I use mpc-hc, lav, madvr and reclock.

I have an issue which occurs in 59.1 but not in 58.2, have downgraded back.

It has occurred on a few files. At the same point each time the file is played the sound glitches and sends static to random speakers in my surround sound setup. If i disable auto av sync it doesn't occur but av losses sync at that same point. Also it doesn't occur if i bypass reclock. Also if pause and replay after the glitch it fixes itself. The files are mkv, x264 with dts.

Hope this makes sense?

nevcairiel
16th November 2013, 15:03
You need to provide a sample file, or there is nothing i can do.
Ideally cut a small part of the file around the area that glitches. You can do time-based segments with mkvmerge, for example.

balkerman
17th November 2013, 00:57
Thanks for Lav!

I use mpc-hc, lav, madvr and reclock.

I have an issue which occurs in 59.1 but not in 58.2, have downgraded back.

It has occurred on a few files. At the same point each time the file is played the sound glitches and sends static to random speakers in my surround sound setup. If i disable auto av sync it doesn't occur but av losses sync at that same point. Also it doesn't occur if i bypass reclock. Also if pause and replay after the glitch it fixes itself. The files are mkv, x264 with dts.

Hope this makes sense?

Thanks for the mkvmerge tip, that made the process rather easy.
I have uploaded a sample of the file, the glitch occurs at about 11 seconds in.

https://drive.google.com/file/d/0Bx81dX3o2NZYYUoxU1k3d2V3aUE/edit?usp=sharing

Zip: https://drive.google.com/file/d/0Bx81dX3o2NZYcDNLQnJHc0tTRlE/edit?usp=sharing

Megalith
17th November 2013, 02:03
There seems to be a minor bug with video files that carry PCM 5.1 as the default stream; the LAV audio filter doesn't kick in until the audio stream is changed via the LAV splitter.

nevcairiel
17th November 2013, 07:09
There seems to be a minor bug with video files that carry PCM 5.1 as the default stream; the LAV audio filter doesn't kick in until the audio stream is changed via the LAV splitter.

PCM doesnt require a decoder, so thats expected.

Thanks for the mkvmerge tip, that made the process rather easy.
I have uploaded a sample of the file, the glitch occurs at about 11 seconds in.

https://drive.google.com/file/d/0Bx81dX3o2NZYYUoxU1k3d2V3aUE/edit?usp=sharing

Zip: https://drive.google.com/file/d/0Bx81dX3o2NZYcDNLQnJHc0tTRlE/edit?usp=sharing

Thanks for the sample, i found the issue and fixed it. :)

balkerman
17th November 2013, 12:41
Thanks for the sample, i found the issue and fixed it. :)

Glad i could contribute. Appreciate you having looked into it.

Thanks!

tzr916
17th November 2013, 17:24
I had to downgrade to v58.2 because v59.1 is not deinterlacing properly. In fact it seems like it's not deinterlacing at all, no matter what Hardware/Software Acceleration option I try. I use Zoom Player with EVR to play US cable Tv shows (1080i mpeg2 wtv). A lot of it is badly flagged 29/59 material (easy to spot the jaggies on channel logos, etc). It looks fine using v58.2 (CUVID, AdaptiveHW, HQ, YADIF) but seems like there is something really wrong with v59.1

Both YADIF and CUVID deinterlacing work just fine for me, and nothing really changed in those areas either, nothing at all really.
Please provide a sample to reproduce the issue.

Here is a wtv clip (https://drive.google.com/file/d/0B82GqdDf8HSyWlhRVTlxV0ZvSWM/edit?usp=sharing). Focus on the channel logo. I see jaggies (and other stuff) on my HTPC and laptop (both nvidia gpus).

v59.1-
http://imageshack.us/a/img541/8881/dn3a.jpg


v58.2-
http://imageshack.us/a/img201/7753/2foh.jpg

nevcairiel
17th November 2013, 17:34
Thanks for the sample, I'll have a look!

Mercury_22
17th November 2013, 17:46
@ Nev any chance you can make LAV work with a BD playlist (mpls) in which the audio format is changing (from AC3 5.1 to DTS-MA 5.1) after first m2ts from the playlist ?

e.g a playlist in which the first m2ts has an [eng] AC3 5.1 and a [fra] AC3 5.1 audio tracks and all the other m2ts files from the playlist have [eng] DTSMA 5.1 and [fra] AC3 5.1


P.S. Sorry but a sample is too big to upload

nevcairiel
17th November 2013, 17:50
Something like that doesnt really fit into the overall design right now, so not really going to happen any time soon.
Which BD is authored like this? I've never seen one.

Mercury_22
17th November 2013, 18:04
Something like that doesnt really fit into the overall design right now, so not really going to happen any time soon.
Which BD is authored like this? I've never seen one.

I've sent you a PM

nevcairiel
17th November 2013, 19:01
Here is a wtv clip (https://drive.google.com/file/d/0B82GqdDf8HSyWlhRVTlxV0ZvSWM/edit?usp=sharing). Focus on the channel logo. I see jaggies (and other stuff) on my HTPC and laptop (both nvidia gpus).

I dont see these issues in MPC-HC, so I tried ZoomPlayer.
However, while I see the problem in ZoomPlayer, ZP does not use LAV Video.

How do i get ZP to use LAV for these files? Its filter configuration is a mess. Its set to use LAV for MPEG2, but apparently it does not.

I assume you double checked that LAV Video is actually in use?

omarank
17th November 2013, 19:35
Thanks for the mkvmerge tip, that made the process rather easy.
I have uploaded a sample of the file, the glitch occurs at about 11 seconds in.

https://drive.google.com/file/d/0Bx8...it?usp=sharing

Zip: https://drive.google.com/file/d/0Bx8...it?usp=sharing


Thanks for the sample, i found the issue and fixed it. :)

I have observed this (perhaps similar) problem in multiple videos with DTS-MA track. I discovered a way of fixing this problem by applying a low pass-filter of 120 Hz in the LFE channel. I was under this impression that in Arcsoft dll they didn't low pass the LFE channel after decoding. This workaround works perfectly for all files with DTS streams, including the sample shared by Balkerman. Now that you have managed to find out the real cause of the problem, could you please indicate if this was actually related to LFE channel only?

nevcairiel
17th November 2013, 19:39
It has nothing to do with the decoded audio or LFE at all. It was just a bug in the parsing of the DTS stream.

For the record, at least DTS HD MA is decoded completely lossless with the arcsoft decoder. What once went in comes out again.

tzr916
17th November 2013, 20:09
I dont see these issues in MPC-HC, so I tried ZoomPlayer.
However, while I see the problem in ZoomPlayer, ZP does not use LAV Video.

How do i get ZP to use LAV for these files? Its filter configuration is a mess. Its set to use LAV for MPEG2, but apparently it does not.

I assume you double checked that LAV Video is actually in use?

Oops forgot to mention that ZP does have to be configured to use LAV for WTV. It's pretty simple and works great for me:

http://forum.inmatrix.com/index.php?showtopic=13624

NikosD
17th November 2013, 20:54
I've just finished testing LAV CPU H.265 decoder with EVR and Win 8.1 clean signature system.

The results were once again disaster for Nvidia and H.265 bbb_720p_c.ts clip:

C2D@2.83GHz - 69fps (EVR) - 97fps (EVR renderless) - Nvidia GT 610 - Win 8.1
C2D@1.66GHz - 56fps (EVR) - 59fps (EVR renderless) - Intel i945GM - Win 8.1

This is simply UNACCEPTABLE for Nvidia hardware.

There is only one chance that my system is the problem, but I doubt so.
My PCI-E speed is only x4 and PCI-E v1.1, but I don't think this is a bottleneck.

If the above results can be confirmed by other users, then Nvidia GPUs - at least the low cost models for HTPC - SHOULD BE AVOIDED for software decoding.

Use HW acceleration only with them.

nevcairiel
17th November 2013, 21:00
610 is the crappiest GPU you could ever buy, it should be avoided no matter what for.

NikosD
17th November 2013, 21:06
I got the same results using Win 8 and GT 430 and I thought it was an OS problem.
Obviously it wasn't.

I start to believe that something is not going so well in Nvidia HW (at least the low cost).

Maybe in other thread, other users can report the performance loss using software decoder and EVR renderer for various GPUs.

ATI 5750 has no problem at all.

nevcairiel
17th November 2013, 21:10
Any speed you get over the display refresh does not matter at all, anyway.

Anyway, this is off-topic, please stop the discussion now.
If you want to measure decoder performance, you should take any other factors out of the test environment.

NikosD
17th November 2013, 21:25
Of course it matters and it matters A LOT.

Because for easy clips you go over the refresh rate, but this is not the matter.

The problem is the HUGE performance drop of "pure" software decoding when using a renderer (playback situation).

So, in a more difficult clip, for example 1080p H.265 you can't even play it in realtime with a C2D@2.83GHz, although based on "pure" software decoding of the same CPU you should!

So if you have for example an ATI 5750 you can playback the clip in realtime with software decoding and if you have a GT 430 card, you can't play it in realtime using software decoding.

This is hilarious!

The CPU/GPU communication using the renderer eats 40% of the CPU decoding with Nvidia cards.

This is a HUGE problem for not so powerful CPU systems, playing tough clips.

I don't think you can do anything about it, but I should mention it because you propose many times CPU decoding over HW decoding and this is not good for Nvidia cards and low CPUs.

I stop the off-topic.

omarank
18th November 2013, 06:08
It has nothing to do with the decoded audio or LFE at all. It was just a bug in the parsing of the DTS stream.

For the record, at least DTS HD MA is decoded completely lossless with the arcsoft decoder. What once went in comes out again.

Ok. I am a bit surprised though, as to why Balkerman’s sample and the problematic files which I have play perfectly with the LPF applied to the LFE channel. I am sharing a sample of a problematic file with DTS-MA track. Could you please check if this sample too exhibits the problem due to the bug in the parsing of the DTS-MA stream?

Below is a link to the sample. One way of reproducing the problem is to enable mixing to stereo in LAV audio decoder and set LFE Mix Level to 2.24.

http://www.mediafire.com/?1cptip2ubtecye1

nevcairiel
18th November 2013, 11:12
Ok. I am a bit surprised though, as to why Balkerman’s sample and the problematic files which I have play perfectly with the LPF applied to the LFE channel. I am sharing a sample of a problematic file with DTS-MA track. Could you please check if this sample too exhibits the problem due to the bug in the parsing of the DTS-MA stream?

Below is a link to the sample. One way of reproducing the problem is to enable mixing to stereo in LAV audio decoder and set LFE Mix Level to 2.24.

http://www.mediafire.com/?1cptip2ubtecye1

That sample does not show the bug I just fixed.

One thing i noticed is that this stream seem to have high individual channel volume, so when you downmix to stereo, especially with LFE at such a high level, it'll cause the audio to clip, or LAVs clipping protection to engage. After stereo downmix the overall volume spiked to over 250% without clipping protection (without LFE its "only" at 160%)

Your issue seems completely unrelated. The issue in question would only cause that some audio blocks would be missing, and/or could be corrupted during playback. Missing blocks can cause a small gap in the audio which can produce an audible glitch when LAV corrects A/V sync.

I don't see how your thing is related at all. Quite possibly your low-pass mitigated the audible glitch somehow.

luke823
18th November 2013, 16:32
Hello all,
If you're interested to look at a new application built around LAV filters, please take a look at Media Browser Theater:

http://forum.doom9.org/showthread.php?p=1653975

nevcairiel
18th November 2013, 17:10
Oops forgot to mention that ZP does have to be configured to use LAV for WTV. It's pretty simple and works great for me:

http://forum.inmatrix.com/index.php?showtopic=13624

I still have issues reproducing the issue in your specific setup.

Can you confirm:
- You are using CUVID
- You have CUVID HW Adaptive Deinterlacing ON
- Its actually using LAV Splitter + LAV Video :D

The only time i see a similar looking issue is when i actually turn LAVs deinterlacing off, and deinterlacing is handed off to the renderer. Most renderers dont deal very well with such content.
I can also see it much more obvious if i use Microsofts decoder.

Once CUVID deinterlacing is active, or even YADIF is active (although cuvid looks a bit sharper, still), the issue goes away here.

tzr916
18th November 2013, 18:20
I still have issues reproducing the issue in your specific setup.

Can you confirm:
- You are using CUVID
- You have CUVID HW Adaptive Deinterlacing ON
- Its actually using LAV Splitter + LAV Video :D

The only time i see a similar looking issue is when i actually turn LAVs deinterlacing off, and deinterlacing is handed off to the renderer. Most renderers dont deal very well with such content.
I can also see it much more obvious if i use Microsofts decoder.

Once CUVID deinterlacing is active, or even YADIF is active (although cuvid looks a bit sharper, still), the issue goes away here.

Do you happen to know what renderer were you using in Zoom Player?

I am sure LAV Video is in use but I will test v59.1 again.

In the mean time, can you speculate on what is "wrong" with this clip? Why most renderers and the MS decoder cannot handle "them" properly?

nevcairiel
18th November 2013, 18:24
In the mean time, can you speculate on what is "wrong" with this clip? Why most renderers and the MS decoder cannot handle "them" properly?

Its simply soft-telecined. Its not really broken either.
The way soft telecine is done is that every other frame is marked as interlaced and repeat, and the frames in between are marked as progressive.

Because of this marking, bad deinterlacers get confused, and don't realize its actually a progressive/soft-telecined video and they dont need to do anything.

I have toyed with the idea before to try to detect soft-TC and just drop the telecine flags, to avoid such confusions on the renderers side, but its sadly not as simple as that.

PS:
I use the default renderer, EVR i guess.

DragonQ
18th November 2013, 18:55
Soft telecining is not something I've really come across because most things I watch are from PAL-region sources, but isn't soft-telecining really common on NTSC DVDs? If so, it seems rather crap that most deinterlacers can't handle it properly. I have noticed some occasional repeated/missing/dodgy frames on some videos derived from US HDTV sources that have been converted to 23.976p...is this likely to be because whatever software was used to reverse the telecining wasn't handling the flags 100% correctly?

tzr916
18th November 2013, 19:12
Its simply soft-telecined. Its not really broken either.
The way soft telecine is done is that every other frame is marked as interlaced and repeat, and the frames in between are marked as progressive...

Thanks. I was wondering why such a large amount of my content ends up marked this way? Is the defect introduced by my local cable provider? Is it the channel/broadcaster? Is it the the actual production of the content? Does it depend if the content was shot on film or on digital video?

A little more info- I never see the problem on the major networks (ABC, NBC, CBS, FOX). It comes and goes on most but not all of the other cable channels. I can't figure any pattern to it, one show will have it then the next won't (even on the same channel). It's bad in movies on channels like AMC, Syfy, USA, TNT, LIFE, LMN, HBO and in one hour shows on ID, TLC, DISC, SCIENCE, etc.

madshi
18th November 2013, 19:41
NTSC/ATSC content (both DVDs and broadcasts) is often partially soft-telecined and partially hard-telecined (jumping around between both variations in the middle of the movie). Add to that bad edits, video overlays and stuff, and it can be non-trivial to deinterlace that properly. In theory DXVA deinterlacing is supposed to be able to deal with this sort of stuff correctly, if you have IVTC activated in the GPU drivers. In real life it often works, but not always, depending on content, GPU hardware and GPU drivers. The most reliably method to play such content back is to use madVR's forced film mode. But that is not very comfortable because you have to manually enable it for film content and disable it for video content. So there is no perfect solution atm... :(

nevcairiel
18th November 2013, 19:49
Thanks. I was wondering why such a large amount of my content ends up marked this way? Is the defect introduced by my local cable provider? Is it the channel/broadcaster? Is it the the actual production of the content? Does it depend if the content was shot on film or on digital video?

Its not a "defect" as such, its just a way some channels seem to process their content, while many other channels prefer hard-telecine if they have to reach 29.97 fps.

e-t172
18th November 2013, 20:08
For the record, at least DTS HD MA is decoded completely lossless with the arcsoft decoder. What once went in comes out again.

According to Genelec (http://www.genelec.com/faq/multichannel/101-what-is-the-lfe-1-channel/), this is not how you're supposed to decode DTS-HD:

In the DTS-HD codec only [DTS-HD Master Audio™ (lossless) and DTS-HD High Resolution Audio™ (lossy)] the DTS-HD decoder applies a low-pass filter at 100 Hz (-3 dB) with a 60 dB/octave roll-off onto the LFE channel.

I've yet to find an official reference on this, however. DTS specs are not publicly readable, so I guess we'll never know.

tzr916
18th November 2013, 21:43
Its not a "defect" as such, its just a way some channels seem to process their content, while many other channels prefer hard-telecine if they have to reach 29.97 fps.
Is it possible to overcome the picture jaggies (and other visible defects) when playing soft telecine content using the MS decoder (WMC)? I've tried three different GPU's (2 nvidia, 1 AMD)

Why can consumer boxes like Tivo handle soft telecine content perfectly but PC's cannot? I had a Tivo with this same cable service for 6 months and NEVER saw this issue. I immediately noticed the picture issues after building my HTPC and using WMC.

JEEB
18th November 2013, 22:09
I've yet to find an official reference on this, however. DTS specs are not publicly readable, so I guess we'll never know.
Scroll down this (http://wiki.multimedia.cx/index.php?title=Mirrored_Files) page ;) . DTS wanted to get into broadcasting and it thus had to release a spec of sorts. It does have a lot of things under "get a license and grab the reference implementation from us", though.

nevcairiel
18th November 2013, 22:20
Is it possible to overcome the picture jaggies (and other visible defects) when playing soft telecine content using the MS decoder (WMC)? I've tried three different GPU's (2 nvidia, 1 AMD)

Probably not so easily, no.
I don't think you can change much about the TV playback chain in WMC, so not much you can do there sadly.

madshi
18th November 2013, 22:27
Why can consumer boxes like Tivo handle soft telecine content perfectly but PC's cannot?
Consumer electronics works quite differently: The decoder always outputs 60i, and then there's a deinterlacer after that. So whether content is soft-telecined or hard-telecined makes no difference there. This is both good and bad. It's "good" because soft-telecined content can't confuse the deinterlacer. But it's "bad" because crucial information is getting lost. Soft-telecined content is actually much easier to deinterlace properly, if you know what you're doing. So in theory, the PC should have an advantage. A PC based deinterlacer has more information available than a consumer electronics deinterlacer. So it should be possible to build a superior deinterlacing implementation for PCs (or at least one with similar quality).

One thing LAV could do is to (optionally) manually convert soft-telecined content into hard-telecined content. But I'm not sure if that's a good idea.

ddjmagic
18th November 2013, 22:34
nevcairiel - I hope you don't mind, but I thought I would respond here instead of inside the MB thread. Thanks.

I've asked multiple times, but nevcairiel hasn't been interested in adding that feature to LAV so I doubt it will ever happen there (I think hes too 'proud' because Slysoft can find the playlist better than LAV) anyway thanks for the answers - I definitely will be trying the various MB apps out, they look promising :)

I would implement it, if they actually exported the information on all discs, and not just those discs with that special copy protection (that name i forgot), which is apparently never used in europe and as such i never had a disc with it.

That's the whole point, Screenpass protected discs are the only discs (pretty much) where there is no logical way to determine the correct playlist (without reading the menu's)
Plus if needed the user could manually add the playlist themselves to the 'disc.inf' file, making playlist selection 100% correct every time (I've done this a few times on folder rips)

There are plenty of European discs with this protection, although perhaps none in Germany.

Regardless, I'm sure this would be a pretty easy feature for you to add, and would be an excellent addition to the already wealth of features LAV has.
I'd be grateful if you would consider adding it, as I doubt Slysoft will add the info for every disc :)

e-t172
18th November 2013, 22:57
Scroll down this (http://wiki.multimedia.cx/index.php?title=Mirrored_Files) page ;) . DTS wanted to get into broadcasting and it thus had to release a spec of sorts. It does have a lot of things under "get a license and grab the reference implementation from us", though.

Yeah, but nothing on DTS-HD MA, which apparently handles LFE differently than the other modes. I guess that's why we still don't have an open source DTS-HD MA decoder.

nevcairiel
18th November 2013, 22:58
Yeah, but nothing on DTS-HD MA, which apparently handles LFE differently than the other modes. I guess that's why we still don't have an open source DTS-HD MA decoder.

There is stuff in there about the XLL extension, which really is all that DTS-HD MA is about. MA or HRA are just marketing names for the different DTS-HD extensions, with MA being XLL for lossless, and HRA usually a combination of XBR, (X)XCH, X96.
It might be possible to implement it from this, last i heard, just no-one bothered to do it because its not a trivial task. FFmpeg supports XBR and XXCH at least from the DTS-HD HRA extension set.

tzr916
19th November 2013, 01:44
Probably not so easily, no.
I don't think you can change much about the TV playback chain in WMC, so not much you can do there sadly.
Ya, I been down that road. Shark07 lets you do it but there's too many side effects- audio sync, stutter, crashing, no copy flagged channels/content.

Happy to say that I have re-tested v59.1 on the HTPC and it is working fine. Sorry for the false alarm :thanks:

bitcores
19th November 2013, 02:22
Recently upgraded to 0.59.1 and it has started causing Explorer to crash quite frequently (I have it set so that LAV provides thumbnails for mkv). Dropped back to 0.58.2 which seems to be fine. Running Windows 7 64bit, so the 64bit filters are being used for this, and here is the problem details from the Reliability Monitor, if it helps at all.
Source
Windows Explorer

Summary
Stopped working

Date
‎19/‎11/‎2013 00:11

Status
Not reported

Description
Faulting Application Path: C:\Windows\explorer.exe

Problem signature
Problem Event Name: APPCRASH
Application Name: explorer.exe
Application Version: 6.1.7601.17567
Application Timestamp: 4d672ee4
Fault Module Name: LAVVideo.ax
Fault Module Version: 0.59.1.0
Fault Module Timestamp: 527805e3
Exception Code: c0000005
Exception Offset: 00000000000020b6
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 5129
Additional Information 1: c160
Additional Information 2: c160cbddac89c1720f8b8aa4500ca794
Additional Information 3: 4d1e
Additional Information 4: 4d1e0aa01d642f0fdb3c50a17abade74

nevcairiel
19th November 2013, 08:08
Recently upgraded to 0.59.1 and it has started causing Explorer to crash quite frequently (I have it set so that LAV provides thumbnails for mkv). Dropped back to 0.58.2 which seems to be fine. Running Windows 7 64bit, so the 64bit filters are being used for this, and here is the problem details from the Reliability Monitor, if it helps at all.


Can you provide some more information?

Which tool do you use for integrating LAV into explorer? Since LAV alone cannot do it.

Does it happen on a specific file? Just any files?

STaRGaZeR
19th November 2013, 09:49
I have toyed with the idea before to try to detect soft-TC and just drop the telecine flags, to avoid such confusions on the renderers side, but its sadly not as simple as that.

ffdshow has an option like this and it worked really good last time I used it. It's called "Detect soft telecine and average frame durations", under the "Decoder options" tab.

bitcores
19th November 2013, 09:54
Can you provide some more information?

Which tool do you use for integrating LAV into explorer? Since LAV alone cannot do it.

Does it happen on a specific file? Just any files?

The tool I used in Codec Tweak Tool, it has been a while since I did it (the tweak persists through updates so you don't have to redo it) but I believe it was just changing the source filter for .MKV to LAV Splitter and then in the thumbnail settings checking the Matrosaka boxes.

There doesn't seem to be specific files it occurs on, the only files I am testing it on are MKV with h.264 8bit or 10bit. The first time it occurred I was sorting the files into relative directories but I seem to be able to force it by quickly clicking between files so it could have something to do with receiving too many requests before it fulfills the first one, I am not sure.

This is the error box it throws up before explorer crashes, but it doesn't look helpful.
http://i.imgur.com/qCHQuLV.png

omarank
19th November 2013, 10:40
That sample does not show the bug I just fixed.

One thing i noticed is that this stream seem to have high individual channel volume, so when you downmix to stereo, especially with LFE at such a high level, it'll cause the audio to clip, or LAVs clipping protection to engage. After stereo downmix the overall volume spiked to over 250% without clipping protection (without LFE its "only" at 160%)

Your issue seems completely unrelated. The issue in question would only cause that some audio blocks would be missing, and/or could be corrupted during playback. Missing blocks can cause a small gap in the audio which can produce an audible glitch when LAV corrects A/V sync.

I don't see how your thing is related at all. Quite possibly your low-pass mitigated the audible glitch somehow.

I enable clipping protection in LAV, when I let it do mixing. Normally I use JRiver MC for any audio processing, and clip protection is enabled by default in its DSP. I thought that clip protection will take care of any possibility of clipping.

JRiver adds 10 dB boost to LFE before downmixing to stereo, and the equivalent level of LFE mix in LAV audio is 2.24. So, it's not a very high level and is as per one of the standards. Now, if there is no issue in the file except for the high average volume level in all channels, I think there should be some way of playing it without applying any low pass filter to LFE such that there are no audible glitches. Can you suggest something?

nevcairiel
19th November 2013, 10:56
I think there should be some way of playing it without applying any low pass filter to LFE such that there are no audible glitches. Can you suggest something?

I hear no glitches in that sample, or see any evidence of any problems actually.

Note that 2.24 is too high, because volume behaves differently for LFE. It was explained earlier here: http://forum.doom9.org/showthread.php?p=1612036

Even listening with headphones, its extremely bass heavy on LAVs downmix with a 2.24 factor.

The tool I used in Codec Tweak Tool, it has been a while since I did it (the tweak persists through updates so you don't have to redo it) but I believe it was just changing the source filter for .MKV to LAV Splitter and then in the thumbnail settings checking the Matrosaka boxes

Did you install the full K-Lite codec pack? I believe it includes additional components that makes this work.

bitcores
19th November 2013, 11:03
Did you install the full K-Lite codec pack? I believe it includes additional components that makes this work.

No, all my player components are installed separately.

nevcairiel
19th November 2013, 11:04
The Codec Tweak Tool has the Thumbnail option disabled for me, so something must be missing that makes this work.
Maybe you installed the Icaros tool, or something like that?

If i can't replicate your setup, trying to figure out where it crashes might end up hard.

bitcores
19th November 2013, 12:59
The Codec Tweak Tool has the Thumbnail option disabled for me, so something must be missing that makes this work.
Maybe you installed the Icaros tool, or something like that?

If i can't replicate your setup, trying to figure out where it crashes might end up hard.

Which Windows are you running? I found the button greyed out on my Windows 8 laptop but on my Windows 7 desktop it isn't disabled.

I am positive I didn't use the Icaros tool to install it, it appears that Icaros now comes with avcodec to do thumbnail generation, with the way it is set up on my Windows 7 PC you can see in Process Hacker that LAVSplitter.ax and LAVVideo.ax are loaded as modules by explorer.exe for the thumbnail generation.

nevcairiel
19th November 2013, 13:01
Which Windows are you running? I found the button greyed out on my Windows 8 laptop but on my Windows 7 desktop it isn't disabled.

I am positive I didn't use the Icaros tool to install it, it appears that Icaros now comes with avcodec to do thumbnail generation, with the way it is set up on my Windows 7 PC you can see in Process Hacker that LAVSplitter.ax and LAVVideo.ax are loaded as modules by explorer.exe for the thumbnail generation.

This was on Windows 8.1 actually, i guess its possible that its disabled here. I still have a 7 box for testing at home, I'll try there.

And yeah, i noticed that recent version of Icaros don't use DirectShow anymore. Oh well.

Sarasa
19th November 2013, 13:24
I have the same problem with 0.59.1 & 0.59, if MKV and/or FLV thumbnail is active Explorer crash

With the 0.58.2 version, explorer don't crash

Carpo
19th November 2013, 13:47
Which Windows are you running? I found the button greyed out on my Windows 8 laptop but on my Windows 7 desktop it isn't disabled.

I am positive I didn't use the Icaros tool to install it, it appears that Icaros now comes with avcodec to do thumbnail generation, with the way it is set up on my Windows 7 PC you can see in Process Hacker that LAVSplitter.ax and LAVVideo.ax are loaded as modules by explorer.exe for the thumbnail generation.

You will require icaros thumb nailer in order for the option to appear in The Codec Tweak Tool


http://www.videohelp.com/tools/Icaros

I have had to use this on Windows 7 8 and 8.1 in order to get thumbnails, as it uses its own version of ffmpeg/Lav to make the thumbs

clsid
19th November 2013, 16:20
He is using the old legacy MS thumbnailer. Here is a reg tweak for it:Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.flv\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}]
@="{c5a40261-cd64-4ccf-84cb-c394da41d590}"

Icaros works much better. That uses FFmpeg directly and does not depend on DirectShow.

ThurstonX
19th November 2013, 16:45
I hope you don't mind a fairly OT question, but you're the smartest guys in the room, and this is my last hope for an answer. I've been reading the posts a couple pages back about soft telecine, and mixed soft and hard sources. For TV I have Comcast into a Ceton InfiniTV 4 (and thus WMC; 64-bit Win7), with a Radeon HD 5670 (1 GB GDDR 5, passive). Playback is generally flawless, but with a lot of HD premium channel movies the following happens:

Movie plays for a few minutes, then WMC appears to crash, the desktop appears, then 1-2 seconds later, WMC resumes at the point in the movie where it "crashed." With movies that exhibit this problem, it continues, and usually WMC will crash completely, if I let the movie run.

I've never seen this on any other HD channel (99.9% of what I watch). Is it possible that the 5670 set to "Use automatic setting" for deinterlacing ("Vector adaptive" appears below the slider, so I assume that's preferred, if possible), plus checking the "Pulldown Detection" option, is causing this? No other "Video Quality" options are checked, and the only other option that might be relevant is "Enforce Smooth Video Playback" under Global Video Quality.

If it's a driver issue, not much I can do. I run the latest beta, generally. Any point in uninstalling all other video-related apps (MPC-HC, LAV, madVR, reClock)? I don't really use them on that PC. Too bad it's not possible to use LAV + madVR for TV watching :D

It's really the strangest problem. Thanks for indulging, and for any answers. No need to clog the thread, unless it's somehow related. PM me, as you see fit.

Cheers.

clsid
19th November 2013, 17:02
Go to the Event Viewer in the Windows Control Panel. See if there is an entry in the application log for the crash. The "faulting module" tells you in which component the crash occurred.

nevcairiel
19th November 2013, 18:35
Recently upgraded to 0.59.1 and it has started causing Explorer to crash quite frequently (I have it set so that LAV provides thumbnails for mkv).

I have the same problem with 0.59.1 & 0.59, if MKV and/or FLV thumbnail is active Explorer crash


I may have an idea why it crashed.
Can you test with this version? Just replace the files from 0.59.1

32-bit: http://files.1f0.de/lavf/LAVFilters-0.59.1-32-gfd21671.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.59.1-32-gfd21671-x64.zip

Let me know if it helps!

Sarasa
19th November 2013, 19:08
sorry... seem it was my connection...

Zip downloaded

MKV Thumbnail no more crash

FLV Thumbnail no more crash

nevcairiel
19th November 2013, 19:09
It helps if you actually upload the files instead of just creating them. :cool:

Should work now.

bitcores
19th November 2013, 19:20
I may have an idea why it crashed.
Can you test with this version? Just replace the files from 0.59.1

32-bit: http://files.1f0.de/lavf/LAVFilters-0.59.1-32-gfd21671.zip
64-bit: http://files.1f0.de/lavf/LAVFilters-0.59.1-32-gfd21671-x64.zip

Let me know if it helps!

This seems to have fixed the crash for me as well.

Sarasa
19th November 2013, 19:28
lol, my connection had hiccup at that moment too, thought it was my fault :D


Tested doing thumbnail with every video test I have MP4, FLV, MKV, MPG, AVI, WMV

and it doesn't crash anymore :thanks:

ThurstonX
19th November 2013, 22:39
Go to the Event Viewer in the Windows Control Panel. See if there is an entry in the application log for the crash. The "faulting module" tells you in which component the crash occurred.

Thanks! If it happens again, I'll be sure to check it.

nev, thanks for allowing the OT post. I won't clutter the thread in the future.

e-t172
20th November 2013, 00:20
JRiver adds 10 dB boost to LFE before downmixing to stereo, and the equivalent level of LFE mix in LAV audio is 2.24

Not quite. LFE should be 10 dB louder than any of the main channels (as per BS.775 (http://www.itu.int/rec/R-REC-BS.775/)). When downmixing to stereo, the correct way to do this is to add +10dB, and then -6dB because the signal is played on both speakers. The result is +4dB = 1.59. If you use 2.24 (+10dB) you will actually end up with +16dB instead of +10dB because it's produced on two channels instead of one. As a result, the LFE channel will be much louder than it should be.

omarank
20th November 2013, 06:03
Not quite. LFE should be 10 dB louder than any of the main channels (as per BS.775 (http://www.itu.int/rec/R-REC-BS.775/)). When downmixing to stereo, the correct way to do this is to add +10dB, and then -6dB because the signal is played on both speakers. The result is +4dB = 1.59. If you use 2.24 (+10dB) you will actually end up with +16dB instead of +10dB because it's produced on two channels instead of one. As a result, the LFE channel will be much louder than it should be.

Yes, Nevcairiel in his reply above gave a link to an earlier post of yours where you explained this really well. Now I add 4 dB boost to LFE before adding it to L and R (I did some calculations and found that LFE Mix Level should actually be 1.5811, which corresponds to about 3.98 dB).

As you explained in that post that the low frequencies add up coherently and higher frequencies add up incoherently, I was thinking that while adding the center channel to L and R, we should not just lower it by 3 dB; instead we should also apply a low shelf filter which lowers the low frequencies of the center channel further by 3 dB, so that there is a net drop of 6 dB in the low frequencies and 3dB in the high frequencies of the center channel. Now when we add the center channel to L and R, all the frequencies should add up to about 0 dB. What do you say?

Kurtnoise
20th November 2013, 09:17
@Nev : I didn't look at the code but does the vp9 decoder support both profiles (http://git.chromium.org/gitweb/?p=webm/libvpx.git;a=blobdiff;f=vp9/encoder/vp9_bitstream.c;h=aea9fb6b17dea67529b08e37e4a03cfae6754652;hp=9e0713ad31f3c04a93be55632e32cd3fbea1866f;hb=229f9a5f0942a7902bceb0d6a4149e17c9293447;hpb=8c6bff6c0c819b68c8d24c82b0935e79924f063d) or only the 1st one ?

nevcairiel
20th November 2013, 09:19
Only profile 0 is official and stable, the VP9 decoder only supports that. Profile 1 is still changing, last i heard, and the bitstream is not stable yet.

Kurtnoise
20th November 2013, 09:21
ok, thank you.

STaRGaZeR
20th November 2013, 12:28
Nev, I just noticed an issue present at least since 0.57, v0.56.2 is unaffected.

Sample: http://www.mediafire.com/?gh61pf1mje7feky

0.57:

http://thumbnails107.imagebam.com/29004/711c3f290036698.jpg (http://www.imagebam.com/image/711c3f290036698)

0.59:

http://thumbnails107.imagebam.com/29004/dc960d290036710.jpg (http://www.imagebam.com/image/dc960d290036710)

The stutter changes between versions, but it's always there. v0.56.2 doesn't have any stutter. Notice how they are located just after scene changes, most likely I(DR) frames. Source is european Star Wars BD release.

nevcairiel
20th November 2013, 13:33
The stutter changes between versions, but it's always there. v0.56.2 doesn't have any stutter. Notice how they are located just after scene changes, most likely I(DR) frames. Source is european Star Wars BD release.

For some reason the ffmpeg decoder does a self re-init there, as if stream parameters change.
I'll have to dig deeper which settings it thinks actually change. On a first glance it seems to switch to an interlaced coding mode, somehow.

Edit:
It seems i was right, it claims that this one IDR there is interlaced coded, must be broken SEI messages in the stream.
The one interlaced frame makes it reconnect the renderer in interlaced mode, which makes it hiccup slightly.

Not sure it can be fixed really, ffmpeg says there is a picture timing SEI that says interlaced.
Without looking at the stats graph, i was unable to see any issues anyway.

I'll see if i can reproduce the difference in different ffmpeg versions and try to find out when it occured.

nevcairiel
20th November 2013, 15:45
For the record, I dont think there would be any glitch with madVR, EVR suffers from this, but what is LAV to do. It doesn't know if the new parameters are important for playback or just a fluke or not important.

STaRGaZeR
20th November 2013, 21:13
Thanks for looking into it. I find stange that the original stream has that SEI information, sounds super weird, even more so when older versions of FFmpeg apparently didn't find it.

I did notice the hiccup when watching the movie, then confirmed it with the graph. Happens at least 3 times in that sample. Funny stuff, the video just freezes up after each hiccup if you let the sample loop endlessly in MPC-HC.

e-t172
20th November 2013, 21:25
As you explained in that post that the low frequencies add up coherently and higher frequencies add up incoherently, I was thinking that while adding the center channel to L and R, we should not just lower it by 3 dB; instead we should also apply a low shelf filter which lowers the low frequencies of the center channel further by 3 dB, so that there is a net drop of 6 dB in the low frequencies and 3dB in the high frequencies of the center channel. Now when we add the center channel to L and R, all the frequencies should add up to about 0 dB. What do you say?

That's theoretically correct. In practice however, the characteristics of the acoustic sum of both channels (i.e. whether it's +6dB, +3dB, or in a transition band) are extremely dependent on installation-specific factors (speaker polar response, room reflections, speaker distance, etc.) so trying to come up with even a remotely accurate compensation filter is doomed to fail. I find it preferable to just follow the ITU recommendation and just use +3dB, at least this way it's standardized and the material is (hopefully) tested for this configuration.

That being said, it's not a bad idea. I might try it some time, I have measurements so I know how to shape the filter.

Strato
21st November 2013, 18:53
It seems i was right, it claims that this one IDR there is interlaced coded, must be broken SEI messages in the stream.
The one interlaced frame makes it reconnect the renderer in interlaced mode, which makes it hiccup slightly.

Not sure it can be fixed really, ffmpeg says there is a picture timing SEI that says interlaced.
.

This is a standard trick to reduce the byte size of an I/IDR frame. You code the top field as an I (Intra), and the bottom field as P, predicted from the preceding I. The P field will usually be quite small.

junh1024
22nd November 2013, 00:55
RE: downmixing to 2ch, -3dB for center into L & R is correct.

For LFE downmixing into L&R (stereo),I suggest not including it at all. Since:

- boosting by whatever dB could lead to clipping
- there should be something equivalent in L&R (if they're doing it right, and if they're doing it wrong by lowpassing the L&R into LFE)
- possible phase issues may arise if downmixing LFE into L&R since the LFE may be lowpassed by IIR (not FIR) filters

e-t172
22nd November 2013, 20:19
- boosting by whatever dB could lead to clipping

Well, yeah. Any downmixing can lead to clipping if you don't normalize. Nothing new under the sun.

- there should be something equivalent in L&R (if they're doing it right, and if they're doing it wrong by lowpassing the L&R into LFE)

That's mostly right, but why pass on the extra low frequency effects if your system can handle the additional bass output? LFE exists for a reason.

- possible phase issues may arise if downmixing LFE into L&R since the LFE may be lowpassed by IIR (not FIR) filters

No. Not unless someone screwed badly during production. It would create issues in all bass-managed systems (not just downmixing) because it would interfere with summing on the subwoofer output. LFE and L/R are supposed to be incoherent, and they're not, well, that's a problem with the source, not the system.

The real reason why you wouldn't want to downmix LFE is if your system is not good at handling loud bass content (most stereo systems are in this category). If you downmix LFE in this case you are likely to end up with considerable distortion because of overloading the speakers. You don't want that.

NAFANJA
23rd November 2013, 06:36
Hi need help, i have megui, avisynth 5.8, k-lite codec pack mega pack, when i create avs script with mkv file with subtitle (embded, forced) and encoder it with megui, subtitle don't add to video. If right click on Lav Splitter tray icon subtitle is check, also if play avs script in MPC-HC subtitle don't load? but if start only source video in MPC-HC subtitle load good, where is problem?

Script
DirectShowSource("D:\Anime\ep1.mkv",23.976,convertfps=true).ResampleAudio(44100)

If add plugin Vsfilter - .TextSub() subtitle show and work correctly, but i need that embded sub in mkv work good too.

vosya
23rd November 2013, 10:34
f4679f3 - the latest version, which works for me with RGB32 output to Overlay Mixer in Windows XP SP3+. Playback in Daum PotPlayer with the newest versions of LAV Filters shows a black screen only.

nevcairiel
23rd November 2013, 10:38
f4679f3 - the latest version, which works for me with RGB32 output to Overlay Mixer in Windows XP SP3+. Playback in Daum PotPlayer with the newest versions of LAV Filters shows a black screen only.

Should hopefully be fixed again.

michkrol
23rd November 2013, 10:47
Hi need help, i have megui, avisynth 5.8, k-lite codec pack mega pack, when i create avs script with mkv file with subtitle (embded, forced) and encoder it with megui, subtitle don't add to video. If right click on Lav Splitter tray icon subtitle is check, also if play avs script in MPC-HC subtitle don't load? but if start only source video in MPC-HC subtitle load good, where is problem?

Script
DirectShowSource("D:\Anime\ep1.mkv",23.976,convertfps=true).ResampleAudio(44100)

If add plugin Vsfilter - .TextSub() subtitle show and work correctly, but i need that embded sub in mkv work good too.

Not sure I understand correctly, but you probably need to encode the video and audio with MeGUI and later add subs with MKVToolNix (mkvmergeGUI) to the resulting *.mkv file. Google has thousands of tutorials for transcoding videos and remuxing files to *.mkv adding subs.
Please note this has nothing to do with LAVFilters whatsoever, so creating a separate thread would be desirable.

NAFANJA
23rd November 2013, 15:11
Not sure I understand correctly, but you probably need to encode the video and audio with MeGUI and later add subs with MKVToolNix (mkvmergeGUI) to the resulting *.mkv file. Google has thousands of tutorials for transcoding videos and remuxing files to *.mkv adding subs.
Please note this has nothing to do with LAVFilters whatsoever, so creating a separate thread would be desirable.

I need creat from soft sub hard sub, to watch vidoe with subs on other device.

Raylan Givens
25th November 2013, 00:08
Mate, did you start building LAV with MSVC 2013 like MPC-HC? If not, do you intend to?

Incidentally, I was wondering -kinda irrelevant- if both are built with MSVC 2013, do we need the redistributables or they're included in the packages or we don't need 'em at all?

Just in case and for your information, there's now 2012 update 4 and the new 2013 redistributables:

http://i4.minus.com/ibpJyplFnmltM0.png

turbojet
25th November 2013, 00:41
Is 64 bit mpeg2's avcodec not multithreaded in 59.1? Getting really low cpu usage.

nevcairiel
25th November 2013, 10:45
Mate, did you start building LAV with MSVC 2013 like MPC-HC? If not, do you intend to?

I used it for testing occasionally, i may switch to it for the next release, not decided yet. 0.59.1 is built with VS2012 U4.


Incidentally, I was wondering -kinda irrelevant- if both are built with MSVC 2013, do we need the redistributables or they're included in the packages or we don't need 'em at all?

You never need to install any redistributable runtime for LAV Filters, they are statically included in the LAV build.

Is 64 bit mpeg2's avcodec not multithreaded in 59.1? Getting really low cpu usage.

MT is sadly a bit broken in 64-bit 0.59.1, due to a problem in the pthreads library used for the build. I already corrected the issue in my build environment, so that future builds should be working properly again.
32-bit is fine though.

wanezhiling
25th November 2013, 15:55
Hi nev would you add wmvp/wvp2 support?
http://url.cn/MuKngw
http://url.cn/VaOmdL

clsid
25th November 2013, 16:05
Has the pthread issue already been fixed in your 2013-11-18 build of mingw? Was the older 4.7.3 build affected as well?

nevcairiel
25th November 2013, 16:06
Has the pthread issue already been fixed in your 2013-11-18 build of mingw? Was the older 4.7.3 build affected as well?

Only my first 4.8.2 package suffered from the issue, which i've taken down and replaced with a new version (r10). The fix is also noted in the changelog at http://files.1f0.de/mingw/

nevcairiel
25th November 2013, 21:14
Hi nev would you add wmvp/wvp2 support?
http://url.cn/MuKngw
http://url.cn/VaOmdL

Done.

turbojet
26th November 2013, 06:05
MT is sadly a bit broken in 64-bit 0.59.1, due to a problem in the pthreads library used for the build. I already corrected the issue in my build environment, so that future builds should be working properly again.
32-bit is fine though.

Thanks, I'll have to remember that next time I test avisynth x64

Aleksoid1978
26th November 2013, 07:39
nevcairiel
Hi. I try open .MKV file use LAVSplitter, that partially (~12%) downloaded from torrent.
Torrent download is configured to continuously since the beginning of the file(see a screen)
http://i.imgur.com/AvoXB7X.png

Try to seek before 12% of file(when data is exists) :)
P.S. MPC-BE seek is ok.

http://aleksoid.voserver.net/Sample/MKV/Partially/daa-x264fall-1080p.rar

nevcairiel
26th November 2013, 11:50
Seeking in MKVs without a index works, but its just extremely slow the first time. Wait for a few seconds, and it will finish seeking. A second seek is then fast.
This is not going to change much, since you can't arbitrarily seek in a MKV without manually building up a seeking index first.

I can probably speed those seeks up by increasing the index steps from 10mb to something else, though. 10mb was choosen in a time when video was still much lower bitrate.

wanezhiling
26th November 2013, 17:34
LAV splitter outputs "H264" FourCC for all MPEG-TS/AVI AVC1 files? (http://i1.tietuku.com/6ewauludd.png)

Is this intentional? :)

nevcairiel
26th November 2013, 17:36
MPEG-TS is always H264, AVI can be both H264 or AVC1. It automatically detects the right mode.

So yes, its intentional. It helps to reduce CPU usage, if you want to output AVC1 from MPEG-TS, you need to convert it, which uses CPU.

wanezhiling
26th November 2013, 17:43
Thanks, That explains why some commercial solutions like MainConcept do same thing.

Niyawa
26th November 2013, 23:03
Hey nev, I have one question which searching never found me an answer.

There is a specific encode, this one (http://bakabt.me/details.php?id=141941), which after episode 51 always stutter. Apparently it's related to LAV not being able to handle WMV9 correctly (this is what I get no matter where I go) so I'd like your input on the issue. What really happens and why the video/audio stutters when those files are played? I always believed it was an isolated encode issue.

filler56789
27th November 2013, 01:34
Hey nev, I have one question which searching never found me an answer.

There is a specific encode, this one (http://bakabt.me/details.php?id=141941), which after episode 51 always stutter. Apparently it's related to LAV not being able to handle WMV9 correctly (this is what I get no matter where I go) so I'd like your input on the issue. What really happens and why the video/audio stutters when those files are played? I always believed it was an isolated encode issue.

That's an interesting problem, and apparently it's related to the audio part :confused: If I open one of the "problematic" MKVs in Graphstudio, yes, stuttering happens, BUT if I remove the audio from the graph, then there is no stuttering, and when the audio is re-added to the graph, the playback remains "stutter-free" :confused:

nevcairiel
27th November 2013, 06:58
filler56789 is right, its the audio stream which is the problem. The video is handled perfectly.
Whoever decided to go with WMAv2 audio is just a bad person! :)

Anyhow, the audio is muxed weirdly, plus that wma doesnt really belong in MKV.

In my tests it looks like that when you use LAV Audio, you'll get a much better result. wma is disabled by default in LAV Audio, but if you turn it on and let it take over, you get mostly smooth playback of these files. With the MS decoder, its stuttering like mad.

Dstruct
27th November 2013, 15:24
Hints
- When running on Windows XP, its recommended to turn the "Use HQ DXVA processing" setting off, its not fully supported on XP and might cause image corruption.

Is this still true? If so, this option should be greyed out/disabled on XP systems (so users can't enable it)!

MPC-HC 1.7.1 with internal LAV

Raylan Givens
27th November 2013, 15:39
I used it for testing occasionally, i may switch to it for the next release, not decided yet. 0.59.1 is built with VS2012 U4.

Nice, mate... For the sake of consistency, it would be great to give us the the next update built with MSVC2013; like MPC-HC. I heard there are useful improvements, but I've no idea in what field and if it's relevant to LAV. Nevertheless, I don't think it's gonna hurt.

clsid
28th November 2013, 00:15
Don't expect any (performance) improvements. Most changes in MSVC2013 are in the development environment. Also, most performance critical parts of LAV Filters are either in FFmpeg, which is compiled with GCC, or are written in intrinsics. So there is not much that can be improved by MSVC.

@nev
Those anime videos play smoothly with Haali splitter. Perhaps you can imitate how Haali is handling the WMA audio?

filler56789
28th November 2013, 00:55
@nev
Those anime videos play smoothly with Haali splitter.
Well-spotted, those encodes are "very-old" already, and were created when there was no such thing as LAV Splitter :)
Perhaps you can imitate how Haali is handling the WMA audio?

FWIW --- those MKVs are handled fine by Mplayer (and by VLC too, according to the page linked in Niyawa's post).

wanezhiling
28th November 2013, 16:23
http://url.cn/V2XQwI
No picture, openjpeg library seems fine.

nevcairiel
28th November 2013, 16:32
Test with ffmpeg, and report it there if it also happens. Its their bug.

annovif
28th November 2013, 18:43
Hi Nevcairiel , i use with great satisfaction your Lav audio-splitter that are incredible. I don't use Lav video because i prefer Coreavc. The fact is that in my lcos projector it has much more sharpness . Yesterday i tried Lav video and changed from Random dithering in Ordered dithering and i've seen that the sharpness situation was much better, but Coreavc has another time more sharpness. Can you add a voice "no dithering" like coreavc? I think that the difference that i see are there. If you have another idea......

Thank you very much and congratulations for your wonderful work, Fabio

sneaker_ger
28th November 2013, 19:00
Hi Nevcairiel , i use with great satisfaction your Lav audio-splitter that are incredible. I don't use Lav video because i prefer Coreavc. The fact is that in my lcos projector it has much more sharpness . Yesterday i tried Lav video and changed from Random dithering in Ordered dithering and i've seen that the sharpness situation was much better, but Coreavc has another time more sharpness. Can you add a voice "no dithering" like coreavc? I think that the difference that i see are there. If you have another idea......
There is no quality difference between CoreAVC and LAV decoding. Both decode according to the H.264 standard and their output is bit-identical. You can test it with proper testing methods (your eyes aren't). Dithering is only used when a conversion has to happen because the renderer does not accept the direct decoder output (decoding 10 Bit H.264 but renderer only accepts 8 Bit) - this is not the case for 99% of content. In these cases you definitely don't want to turn dither off, it can lead to artifacts.

Anima123
28th November 2013, 21:14
nevcairiel, I have some video encoded as double-framerate, probably due to the using a kind of double-framerate deinterlacer before encoding. These files get me into trouble since I am using a 2010 laptop which is quite not fast enough for it.

I wonder if you can add an option to output 1/2 decimated frames from LAV video decoder, so that I can play it with nowadays old hardwares.

sneaker_ger
28th November 2013, 21:35
You can't just not decode every other frame because common codecs use inter-frame techniques to increase the compression, i.e. a frame needs data from the decoded preceding frame. Some frames can be dropped under certain conditions but it will probably not be practical enough no implement anything like that.

Are you using software or hardware decoding? Try switching between them.

Anima123
28th November 2013, 21:53
I prefer software decoding as nav suggested. It's not the decoding power not enough, it's that my gpu cannot handle framerate like that. It should be nice to trigger that option only if 1/2 decimated framerate is close to standard framerate.

sneaker_ger
28th November 2013, 22:01
Putting aside your feature request your problem sounds very strange for a 2010 laptop. What kind of GPU does it have? Input and output resolutions? Renderer? Framerate? Is it trying to deinterlace (try forcing deinterlacing off in LAV Video)?

Anima123
28th November 2013, 22:17
It's a laptop for office use, with a crappy nV 3100 card. The LED resolution is 1440x900, with madVR, no deinterlace, and the source is 720p, the framerate is 59.940.

DragonQ
29th November 2013, 00:50
Make sure Windows Power Options are set correctly, i.e. video is set for max performance and frame rate isn't reduced to 40p or anything like that.

mindbomb
29th November 2013, 04:25
i have a question about pgs subs with forced captions in matroska.
enable automatic forced subs is on by default, right? so the forced parts always get played, regardless of whether the sub track has the default flag?

nevcairiel
29th November 2013, 16:51
There is a specific encode, this one (http://bakabt.me/details.php?id=141941), which after episode 51 always stutter. Apparently it's related to LAV not being able to handle WMV9 correctly (this is what I get no matter where I go) so I'd like your input on the issue. What really happens and why the video/audio stutters when those files are played? I always believed it was an isolated encode issue.


@nev
Those anime videos play smoothly with Haali splitter. Perhaps you can imitate how Haali is handling the WMA audio?

I found the reason for that, and it should be fixed in the next version.

clsid
29th November 2013, 18:48
Thanks

sneaker_ger
29th November 2013, 21:40
Their muxing might be considered b0rked in general if they don't have a standard duration elements for the audio tracks despite grouping frames unless I'm missing something here.

nevcairiel
29th November 2013, 21:42
The real issue was ffmpegs magic to try to compute timestamps for the audio was rather broken, so instead of simply having an occasional frame without a timestamp, you would get rather broken timestamps...

sneaker_ger
29th November 2013, 21:54
Well, the timestamps are broken as I see it. The muxing went wrong. That doesn't mean players can't be clever and correct that on-the-fly, of course. Because of the jitter in most mkv files something like that has to be done anyways. (But you know that better than me...)

annovif
30th November 2013, 11:53
ok sneaker_ger, thank you for your explanation, but I think if I could enable or disable dithering, after I could choose the situation that I like the most.

Thank you, Fabio

Soukyuu
1st December 2013, 15:14
I downloaded the file and will check it when i get a chance. First tests show that it mis-identifies the second track as adx as well, which results it in discarding it because it thinks its invalid (since its not valid adx)
Not sure when I'll get to it, hopefully on the weekend.nevcariel, I reported this to the FFMPEG devs and they fixed the demuxing of ac3 out of .sfd files now. Just tried the latest git and it works fine, i'm getting both the m1v, the adx and the ac3 out of the sfd as it's supposed to.

I noticed some more strange behavior when playing those .sfd files with the latest stable mpc-hc: the adx audio seems to be playing fine, however if I try to seek the file, the audio disappears. The video plays fine until the next seek, then it just hangs at that position. Pressing stop -> play hangs as well. I'm not sure if it's an MPC-HC related but or a LAV bug though.

nevcairiel
1st December 2013, 22:22
nevcariel, I reported this to the FFMPEG devs and they fixed the demuxing of ac3 out of .sfd files now. Just tried the latest git and it works fine, i'm getting both the m1v, the adx and the ac3 out of the sfd as it's supposed to.

I noticed some more strange behavior when playing those .sfd files with the latest stable mpc-hc: the adx audio seems to be playing fine, however if I try to seek the file, the audio disappears. The video plays fine until the next seek, then it just hangs at that position. Pressing stop -> play hangs as well. I'm not sure if it's an MPC-HC related but or a LAV bug though.

I saw the fix, I'll update soon.

I tested seeking in the sample you provided, and while the audio does indeed vanish on seek, the video seems to work properly here. But I'll test again after I've updated to the latest version with the AC3 fix, and see if something changed, and try to find out where the audio goes.
Not sure the format was designed for seeking in mind. AFAIK, its some game format? They don't usually seek.

Soukyuu
2nd December 2013, 16:18
The format is actually just mpeg1/2 (depending on the version) video that allows muxing CRI's ADPCM (adx) as audio, from what I gathered. I don't know if they did any modifications apart form that. There is some info about the format here (http://forum.xentax.com/viewtopic.php?f=10&t=3084), though I don't know how correct it is. If it doesn't support seeking, that's fine, however why would play -> stop -> play not work? MPC-HC seeking to file start instead of reopening?

wanezhiling
3rd December 2013, 12:19
Hi nev would LAV splitter add Strongene FourCCs (HM6.2/9.1/10.0/11.0/12.0)? So that we do not need their special "FLVSplitter.ax" anymore. :)

JEEB
3rd December 2013, 12:53
wanezhiling, have some reasons for not hacking in support for these FLV mappings:

They are hacks on top of Adobe's container, completely unofficial. If Adobe ever considers using these IDs they will collide.
As far as I remember, those contain multiple ways of derping HEVC when muxing/demuxing.
At least three of them seem to note a HM version that is not compatible with the final specification.

There are more or less officially settled ways of muxing HEVC into containers. By supporting a 100% unofficial hack, or well -- multiple of them, you are letting people use it and think it is alright. It is not. Now, give me one good reason why people should add support to these hacks.

If Adobe ever makes an official mapping for HEVC, feel free to have it implemented over at libavformat, of course.

hubblec4
4th December 2013, 11:30
hi nev

is this right that LAV filters not support this ChapterElement?

<ChapterProcessData format="ascii">GotoAndPlay(452202188);</ChapterProcessData>

and when not is it possible to implement this?

Niyawa
5th December 2013, 00:20
The real issue was ffmpegs magic to try to compute timestamps for the audio was rather broken, so instead of simply having an occasional frame without a timestamp, you would get rather broken timestamps...
Thanks for the replies everyone. Now I get a better idea that I should definetively avoid old encodes. Anyway, thank you very much for the fix, it was kinda irritating when people said that it worked perfectly in VLC but not in LAV, now I can get that back to 'em.

iSunrise
5th December 2013, 16:12
@nevcairiel:
Can you add RTMP-support to the splitter filter? I am asking, since ffmpeg seems to already have good support for it (they even introduced seeking support recently) and LAV also supports RTP and RTSP already.

fluffy01
5th December 2013, 17:56
I have a 38mpbs h.264 AVC 1080i 10-bit 4:2:2 video, that when I play it using LAV Video, the picture stutters like crazy and I get loads of frame drops. According to madVR, the decoder queue just wont fill up, and it stays at 0-1 all the time.

I have tried different combinations of renderers and splitters, and no matter what I try, as long as I am using LAV Video, it is stuttering like crazy. CPU usage is only around 45%, so I can't figure out why it is doing it.

I even tried remuxing the video, just to make sure, that it wasn't due to a bad mux, but it didn't help.

If I use ffdshow as decoder, there is no problem at all, and the video is fluid. Still using LAV Splitter, LAV Audio and madVR, and no problems at all.

So my best guess is that there is some kind of bug in LAV Video, causing this problem.

I can cut you a sample and put it on my FTP-server, if you need a sample.

Guest
5th December 2013, 18:07
Tell us about your source material (what is it and where did it come from) and, yes, post a small unprocessed source sample.

fluffy01
5th December 2013, 18:12
It's from a sat feed of a sports entertainment show.

I will cut you a sample shortly, if you want, and PM you login details to my FTP server.

Guest
5th December 2013, 18:27
It's from a sat feed of a sports entertainment show. Where did you get it?

I will cut you a sample shortly, if you want, and PM you login details to my FTP server. Post the link here. Please don't send me a PM about it.

fluffy01
5th December 2013, 20:24
Where did you get it?
I got it from the satellite dish. I think it was a test broadcast, as they usually don't broadcast in that format.
Post the link here. Please don't send me a PM about it.
I am not posting login credentials to my personal FTP publicly. My FTP would get swamped.

And I mostly intended for Nev to get a login since he is the main dev and the person most likely to be able to debug and fix any issues.

nevcairiel
5th December 2013, 20:25
You can send me the link, I'll look at it when i have some time.

fluffy01
5th December 2013, 21:35
You can send me the link, I'll look at it when i have some time.
Done.

If it helps, the first sample I made didn't have the problem, so apparently it is not all 10 bit 4:2:2 AVC that are suffering.

nevcairiel
5th December 2013, 21:47
If it helps, the first sample I made didn't have the problem, so apparently it is not all 10 bit 4:2:2 AVC that are suffering.

I got the file, and it seems to be running (mostly) smoothly here.
Are you sure the video isn't overloading something in your hardware?

4:2:2 10-bit has a rather high memory bandwidth requirement.
What does madVR say as format? If everything is ideal, it should be "h264, 10 bit, 4:2:2 -> P210, 10 bit, 4:2:2"

I can imagine that ffdshow for example does not deliver native 10-bit content and instead converts to 8-bit, which would result in lower memory bandwidth and possibly avoid the problem. You could check by comparing this line between LAV and ffdshow.
You can als try to disable 4:2:2 10-bit formats in LAV and see if it improves.

For the record, i can kinda reproduce the issue if i play it on my Intel iGPU. Its not as extreme as you describe, but its not perfect smooth either. On my NVIDIA it seems to run fine.

fluffy01
5th December 2013, 22:07
According to madVR, both LAV and ffdshow delivered the video in P210 format. Also in ffdshow's info box, it said that it was outputting P210.

My GFX card is a Geforce GTX 670, so it should be plenty powerful.
Also, I can software decode and play 4K videos without any issues, so I don't think there should be bandwidth issues either.

But maybe it's just some issue on my PC and it's not affecting anybody else.

But I can't test it on my other computers, as they are not powerful enough to decode the video.

nevcairiel
5th December 2013, 22:17
I think it might just be your CPU hitting its limit.
I tried to benchmark the clip, and it doesn't go above 20% CPU usage here. Some interlaced clips sadly have this issue that the current ffmpeg decoder cannot multi-thread properly, so it ends up using 2 threads at max - so in a benchmark i can barely get 35 fps out of it on my system, which for a 29.97 fps clip is not really all that much headroom.

I can try to talk to the ffmpeg developers if something can be improved here, though.

fluffy01
5th December 2013, 22:44
My CPU is a Intel Ivy Bridge quad core i5-3450, and it runs at about 45% avg. load on both LAV and ffdshow when playing that clip.

One thing I have noticed, is that when I start playing the clip, all madVR buffers are full, and then the decoder queue drains to 0-1 over about 15 secs, after which the stuttering begins.

I have a CPU queue at 12 atm, and if I increase that, then it takes longer before the stuttering begins, but it does stutter after the queue is emptied.

I just tested. With a CPU queue of 12 and a GPU queue of 8 and 4 frames presented in advance, I get around 450 dropped frames for that 1 minute sample, and 0 dropped frames from the start until the queue runs out.

nevcairiel
5th December 2013, 22:54
Yeah the CPU is just slightly too slow, I guess. I have a i7-4770k, and like i said it can barely get 35 fps out of it, so your CPU staying just below 30 seems likely.
ffdshows version of ffmpeg is about 1.5 years old, so maybe a bug was fixed in the meantime that made it a few percents slower (checking everything works properly sadly also makes stuff slightly slower sometimes), but its impossible to say what the difference really is.

Like i said, I'll talk to the ffmpeg developers to check if they can improve the multi-threading capability, so that the file can actually make use of all your CPU cores, and not just run at 1.8 cores... :)

fluffy01
6th December 2013, 07:06
Ok. I just find it counter intuitive that the CPU is too slow, when it is only running at 45% usage.

nevcairiel
6th December 2013, 08:23
Well, like i said, it doesn't multi-thread well, so in this case on a quadcore that means one core is at 100% load, and one core is only at about 80% (and 2 are idle), giving a grand total of 45%.
The way this interlaced sample is encoded doesn't let it multi-thread better right now, and it can't use more cores, but this is something that can hopefully be improved.

fluffy01
6th December 2013, 08:51
Ahh ok. That makes more sense. I just assumed that LAV was automatically making use of all the cores and that the multi-threading worked well there.
That's why I was so puzzled over the lack of power.
But if the threading problem is in ffmpeg, I guess that would explain my problems.

Thanks for the effort and the quick reply.

If you need a bigger sample for any reason, let me know.

fluffy01
6th December 2013, 15:36
Btw. Sorry if I seemed a little daft by not understanding what you pointed out already in the 2nd answer. I somehow misread what you said about threading in ffmpeg, and didn't put two and two together...

I guess I was a bit tired last evening after a hard day at work.

So thanks for the patience and for spelling it out to me two more times before I finally realized what you were writing :)

nevcairiel
6th December 2013, 15:47
No worries. :)

The good news is that we've found where the speed went down, it was a change in the H264 decoder in March '13, which would explain why ffdshow is still faster, since its ffmpeg decoder is from Aug '12.
Just needs a fix now. :)

fluffy01
6th December 2013, 16:14
Cool! That is awesome news :)

Is it related to the 10 bit, 4:2:2 or the interlaced part of the video? Or maybe a combination? Not that it is important, I'm just curious :)

nevcairiel
7th December 2013, 08:56
Is it related to the 10 bit, 4:2:2 or the interlaced part of the video? Or maybe a combination? Not that it is important, I'm just curious :)

It was related to the clip being interlaced. The error correction didn't work properly on interlaced clips and thought there were errors when there actually weren't any, blocking the decoding.

Anyhow, the issue has been fixed, and with 4 threads the performance increased by about 60% for me (from 33 fps to 53 fps)
Sadly it still doesn't multi-thread ideally, so the CPU usage may still not reach 100%, but it should hopefully play properly.

Here is a test build:
http://files.1f0.de/lavf/LAVFilters-0.59.1-52-g0b90b46.zip

fluffy01
7th December 2013, 10:11
That was fast :)

It works now. It plays the clip flawlessly now :)

CPU increased to about 48% now, so I guess it was just a couple of percent too slow before, and now it has enough power :)

Awesome job! Thanks.

Thunderbolt8
8th December 2013, 13:31
would it be possible to upload the small sample somewhere public?

Bandito
9th December 2013, 13:56
Is it normal for the temperature of my graphics card to go up by 15-20 degrees when I'm watching something on MPC even though I have "Hardware decoder to use" set to None in LAV video options? I don't even have to be playing the video. If I have it paused the temperature still increases by 15 degrees.

sneaker_ger
9th December 2013, 14:11
Probably has something to do with the interaction of the OS'/GPU's power management and the renderer, not with LAV. Some cards go into low power state when using DXVA, so not using the graphics card for decoding can have the counter-intuitive effect of actually raising its power usage.

michkrol
9th December 2013, 16:39
Is it normal for the temperature of my graphics card to go up by 15-20 degrees when I'm watching something on MPC even though I have "Hardware decoder to use" set to None in LAV video options? I don't even have to be playing the video. If I have it paused the temperature still increases by 15 degrees.

The GPU is used for displaying the video (obviously) and scaling the picture, which can use lots of power. If you're on madVR check with bilinear set for all scaling, just to be sure.
It's normal for the GPU to get hotter, but 15 degrees at pause is a little to much.
As mentioned by sneaker_ger might have to do with power profile or the renderer, so check the core frequency at pause with GPU-Z (or similar) and perhaps check with another renderer/media player. Make sure you're not running a web browser or some other software that uses the GPU in background.
And yes, it's not LAVFilters-dependant.

vood007
9th December 2013, 16:50
Is it normal for the temperature of my graphics card to go up by 15-20 degrees when I'm watching something on MPC even though I have "Hardware decoder to use" set to None in LAV video options? I don't even have to be playing the video. If I have it paused the temperature still increases by 15 degrees.

If you have a Nvidia card get "Nvidia Inspector" and use its "MultiDisplay Powersaver" to force your card into the low power profile whenever possible and only go to higher mode when necessary. http://orbmu2k.de/tools/nvidia-inspector-tool

Eliminateur
10th December 2013, 04:27
nev, wanted to ask you something that's been going around my mind for quite some time:
ŋHow does LAV filter deal with deblocking?, specially compared to old ffdshow "disable deblocking" / "disable deblocking when safe".
is LAV deblocking always?

wanezhiling
10th December 2013, 05:42
Always.
LAV will never add some feature/option to hurt quality.

Bandito
10th December 2013, 14:03
Probably has something to do with the interaction of the OS'/GPU's power management and the renderer, not with LAV. Some cards go into low power state when using DXVA, so not using the graphics card for decoding can have the counter-intuitive effect of actually raising its power usage.
I've tested it using CUVID and the temp actually goes higher by like 5 degrees.


The GPU is used for displaying the video (obviously) and scaling the picture, which can use lots of power. If you're on madVR check with bilinear set for all scaling, just to be sure.
It's normal for the GPU to get hotter, but 15 degrees at pause is a little to much.
As mentioned by sneaker_ger might have to do with power profile or the renderer, so check the core frequency at pause with GPU-Z (or similar) and perhaps check with another renderer/media player. Make sure you're not running a web browser or some other software that uses the GPU in background.
And yes, it's not LAVFilters-dependant.
You mean I should use Bilinear for chroma upscaling and image up/downscaling? I had it set to Jinc 3 taps for chroma and image upscaling and Catmull-Rom for image downscaling.
I typically do have my browser open at all times. I will check the core freq. with GPU-Z.

If you have a Nvidia card get "Nvidia Inspector" and use its "MultiDisplay Powersaver" to force your card into the low power profile whenever possible and only go to higher mode when necessary. http://orbmu2k.de/tools/nvidia-inspector-tool
Ok thanks for this suggestion.

nevcairiel
10th December 2013, 14:06
I've tested it using CUVID and the temp actually goes higher by like 5 degrees

CUVID is special, it always forces the GPU into maximum performance mode.

Try DXVA2 Native as the least CPU/GPU intensive option.

michkrol
10th December 2013, 14:12
You mean I should use Bilinear for chroma upscaling and image up/downscaling?

Sorry, phrased it wrong. Test your temps with bilinear and your current settings, so you know it's high because of GPU usage. It probably is while using Jinc3. The GPU-Z will also allow you to check the GPU usage with different renderer's settings, while you're at it.

If you still have problems after trying every suggestion, consider creating a separate forum thread as we're going more and more offtopic.

iSunrise
10th December 2013, 17:46
nev, did you see my question here:
http://forum.doom9.org/showthread.php?p=1656716#post1656716

Just wondering, since usually youīre pretty fast answering these requests. Thanks.

NikosD
10th December 2013, 18:04
Nevcairiel,

Haswell QS now supports VC1_VLD2010 which can decode VC-1 progressive in DXVA native mode.

I found a lot of problems with LAV Video 0.59.1 using that decoder.

WMVideo MFT and PotPlayer built-in have no problem decoding VC-1 progressive and WMV3 in DXVA native mode.

VC-1 interlaced, still has problems even using that new VC-1 mode.

Can you fix them (ideally both) ?

nevcairiel
10th December 2013, 19:50
Can you add RTMP-support to the splitter filter?

Network protocols are stupid. I would rather remove support for the ones i have.
In any case, RTMP is even more stupid then the others, so it may not happen anytime soon.


Haswell QS now supports VC1_VLD2010 which can decode VC-1 progressive in DXVA native mode.


"Supports". All i get is crashes deep in Intels driver. They need to learn to write code that doesn't crash. I'm not going to waste my time on this.
Its already turned off for the next LAV version so that no-one can accidantelly crash their PC on intels broken driver.

Use the QuickSync decoder on Intel, problem solved.

NikosD
10th December 2013, 20:00
"Supports". All i get is crashes deep in Intels driver. They need to learn to write code that doesn't crash. I'm not going to waste my time on this.


On signature system and drivers both WMVideo MFT decoder and PotPlayer's built-in codecs have no problem playing in DXVA native VC-1/WMV3 clips.

Usually if something is supported by PotPlayer's built-in codecs, LAV video also supports it because both are based on ffmpeg.

Why not VC1_VLD2010 mode ?

nevcairiel
10th December 2013, 20:07
How do you know potplayer doesn't use the Intel MediaSDK for DXVA?
I could tell you if they had a standalone decoder, but they don't, you have to use their weirdo player, so i cannot tell anything about the decoder.

That they violate the GPL and don't provide the source code for their ffmpeg does not help, either.

NikosD
10th December 2013, 20:16
How do you know potplayer doesn't use the Intel MediaSDK for DXVA?


That's an easy answer for me.
Because PotPlayer supports both modes - DXVA native and QuickSync decoder (using MediaSDK)

When you enable DXVA native the CPU utilization goes down.
If you use QS mode, the CPU goes up.


I could tell you if they had a standalone decoder, but they don't, you have to use their weirdo player, so i cannot tell anything about the decoder.


Their player is unique and very useful for me - it even supports partial acceleration for older GPUs and DXVA1 for Windows XP.



That they violate the GPL and don't provide the source code for their ffmpeg does not help, either.

True but...

And what about WMvideo MFT ?

nevcairiel
10th December 2013, 20:16
That's an easy answer for me.
Because PotPlayer supports both modes - DXVA native and QuickSync decoder (using MediaSDK)

You can implement dxva native with the Media SDK as well, its not a big deal.

NikosD
10th December 2013, 20:18
But no one else has done it yet ;)

Will you ?

I'm not sure it's that, Intel GPA monitor is not working on signature system.

nevcairiel
10th December 2013, 20:19
Why would I? Just for VC-1?
Its a dying codec, usually with only average bitrates, which work just fine in software, or with QuickSync. There is no use. I don't get paid for this, so I do what i think is useful to me and the users, and this is not. Its just time spent for nothing.

Also, CyberLinks decoder in PowerDVD uses DXVA Native with the Media SDK.

NikosD
10th December 2013, 20:25
Sure, it's your software.

But I think PotPlayer is free too.

Anyway, personally I use LAV Video only in DXVA Checker for testing and benchmarking reasons.

The last 3 years my main playback software is PotPlayer and I don't see that changing soon.

Cybercrap program is not free, like PotPlayer.

Yes there are people nowadays that they pay for crap software like that!

iSunrise
10th December 2013, 21:58
Network protocols are stupid. I would rather remove support for the ones i have.
In any case, RTMP is even more stupid then the others, so it may not happen anytime soon.
Can you define stupid? You mean like the way they work? Well, I just thought that RTMP still seems to be (apart from HLS) widely used a lot and thereīs a lot of websites where you can directly stream with a mediaplayer, instead of having a webbrowser open, just for streaming. Not sure why you even added RTP and RTSP in the first place, I never came across an application that uses it, so feel free to remove it.

If RTMP-support is not worth your time, I guess weīd have to rely on the native support of PotPlayer etc. then.

nevcairiel
10th December 2013, 23:04
Yes RTMP i stupid because of the way it works.
Most streams you can't just open a rtmp://server/ URL, noo, it has to send 20 different metadata attributes or it won't work. Its a terrible protocol. No wonder, its of Flash origins.

DragonQ
11th December 2013, 00:00
Yep, it annoys me that MediaPortal uses it for multi-seat environments. You can have a perfect setup with loads of spare bandwidth and no CPU usage and it'll still have discontinuities every now and then. If they sorted out the fact that UNC paths don't work properly when resuming from sleep I could stop using it. >_>

Asmodian
11th December 2013, 00:36
Sure, it's your software.

But I think PotPlayer is free too.

Anyway, personally I use LAV Video only in DXVA Checker for testing and benchmarking reasons.

The last 3 years my main playback software is PotPlayer and I don't see that changing soon.

Wow, are you really saying GPL doesn't matter to you when asking for help from a respected GPL developer? Projects like PotPlayer make developers not want to develop using open source licenses; that is bad. Free does not equal open source. People seem to think the constant improvement to ffmpeg is a given. :mad:

sorry for the rant :o

maneash
11th December 2013, 01:12
I have a question regarding a flv I recorded via rtmpdump - and I wonder if this is the same question as the one with the rtmp support because I don't know exactly what was meant with rtmp support. (Sorry if this may sound totally dumb to you).

I have a rtmpdump'ed flv with speex/h264. I use KMPlayer which has it's own flv splitter or Gabest (http://sourceforge.net/projects/guliverkli/) filter for flv - both make the file perfectly seekable but they both won't give sound.
I tried LAVFilters which gave perfect sound but made the video no longer seekable - you cannot jump in the video.

So is this the question you already answered and you won't fix?

Thanks (&Sorry if it's the same).

Anakunda
11th December 2013, 10:01
Hiyas, how do I force using LAV Audio Decoder for playback of Opus track? In playback info for PotPlayer I see the filter path from LAV Splitter Source (1) to LAV Video Decoder (2) and video Codec/Transform (3) which is something obscure to me but for sure not LAV Audio Decoder. The pitty on that is that splitter is used for matroska correctly, but seems not to control decoders self but rather the player (PotPlayer) which doesn't yet recognize this audio format. So the question would be if I can control audio filter out of player, perhaps on system or splitter level (in CodecTweakTool I verify lavaudio.ax is registered and enabled, but no see where I can setup the decoder priority.

nevcairiel
11th December 2013, 10:03
If the player has its own way of controlling which decoders get used for playback, you'll have to to ask the players developers how to force another codec. I'm afraid in such a case there is nothing that can be realistically done from the filter level.

Anakunda
11th December 2013, 10:12
I'm afraid of that. Can you verify that PotPlayer doesnot control, and what is the Video Codec/Transform thing? I suppose that by some setting lavaudio.ax can substitute generic VideoTransform filter.

wanezhiling
11th December 2013, 10:59
Video Codec/Transform is PotPlayer's internal video codec(decoder/encoder) & internal video post-processing filter.
When you use internal video decoder, Video Codec/Transform means deocder & pp filter both.
When you use external video decoder like LAV, Video Codec/Transform means pp filter only. You'd better disable internal video/audio pp filters if you use external video/audio decoders. http://i1.tietuku.com/lyv2kpmgm.png


how do I force using LAV Audio Decoder for playback of Opus track?
You can't, because PotPlayer doesn't offer an interface for this format. http://i1.tietuku.com/xjg6ohkxn.png

NikosD
11th December 2013, 12:30
Nevcairiel,

testing VC-1 1080p60fps clip (40Mbps) I got these results:

1) LAV Video 0.59.1 Avg fps: 175 fps Avg CPU utilization: 53%
(Using QS decoder: VC1_VLD_2_ClearVideo)

2) WMVideo MFT Avg fps: 219 fps Avg CPU utilization: 2%
(Using VC1_VLD2010)

Both decoders have perfect image without artifacts.

Maybe Microsoft developers used DXVA through MediaSDK.

Anakunda
11th December 2013, 12:30
I understand already, thanks for explaining.

NikosD
11th December 2013, 12:55
Why would I? Just for VC-1?
Its a dying codec, usually with only average bitrates, which work just fine in software, or with QuickSync. There is no use. I don't get paid for this, so I do what i think is useful to me and the users, and this is not. Its just time spent for nothing.

Also, CyberLinks decoder in PowerDVD uses DXVA Native with the Media SDK.

You can implement dxva native with the Media SDK as well, its not a big deal.


My last post and reply about this issue, is your own answer in my thread EXACTLY 4 months ago .

There is only documentation missing how to do it, but that doesn't mean its not possible. Could also try to reverse engineer from the Media SDK, but thats annoying work.
The Hardware supports it, its only software thats missing.

Even then, you don't need to manually implement it, you can use the Media SDK and use it as a native DXVA decoder. Someone just needs to do it.
I believe some of the commercial decoders implement it (most likely using the MSDK in exactly this way), Cyberlink or ArcSoft, i forgot which one, maybe both? Its a Blu-ray format, so they usually try to support it on new hardware.

Apparently you have to decide if it's a big deal or not.

dukey
11th December 2013, 17:03
VC1 is used a fair bit for bluray, maybe not necessarily for main titles, for for all the intros etc

nevcairiel
11th December 2013, 22:31
I decided to spend another hour or so on the topic, and i actually found one reason for failure, and fixed it. The white flashing observed in some videos is now gone and it plays properly. However, I'm still seeing crashes with other files, so we'll see if i can get it stable enough.

NikosD
11th December 2013, 22:58
That's good news.

I get more artifacts than white flashes.
You can try also WMV3 clips besides VC-1.

nevcairiel
11th December 2013, 23:14
If these artifacts are white or at least very bright, then it was probably the same issue.

Anyhow, maybe i can also figure out the crash issue, then it would be good to enable again.

NikosD
11th December 2013, 23:17
Right.

The artifacts are indeed like white squares.

NikosD
12th December 2013, 10:24
Anyhow, maybe i can also figure out the crash issue, then it would be good to enable again.

Can you upload the new version in order to test it ?

nevcairiel
12th December 2013, 12:26
Here is a test build:
http://files.1f0.de/lavf/LAVFilters-0.59.1-58-gea5125d.zip

I still have one sample that shows a bit of corruption, will need to look at it closer.

Kay Diefenthal
12th December 2013, 12:40
I hope that you dont want remove rtp rtsp protocol Support from LAV Directshow

this is required for 2 of my Projects
ArgusTV MediaCenter Client and SatIp Rtsp Sample

NikosD
12th December 2013, 17:05
Here is a test build:
http://files.1f0.de/lavf/LAVFilters-0.59.1-58-gea5125d.zip

I still have one sample that shows a bit of corruption, will need to look at it closer.

After a lot of tests I can say that your test build is crash proof.

I only managed to crash it with one clip - a VC-1 interlaced clip called MC.ts (with Beyoncé).

Do you have it or you want me to upload it ?
I think I got the link from this thread.

With the difficult VC-1 1080p60fps clip from here 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

I have a frozen image at the beginning of the clip.
But that behavior with that clip I have it also with LAV Video and Nvidia VP4/VP5 and other hardware.
I think you should take a look of that freeze in general.

I got many artifacts with various WMV HD clips like the ones from this page:
http://homepage.ntlworld.com/shaun.zoe/projects/hdtv.htm

Try for example:
Speed_1080, http://download.microsoft.com/download/f/d/5/fd5bdd21-f1ac-426a-adf1-d3d105b448d3/Speed_1080.exe
To the Limit 1080p, http://download.microsoft.com/download/6/1/c/61ca6316-a44f-46ef-9e8c-074c3dd813c0/To_The_Limit_1080.exe

They are not executables, just self-archived.

The decoding speed is amazing (about 50% faster than WMVideo MFT) and it's the only decoder that works with DXVA VC-1 interlaced.

nevcairiel
12th December 2013, 19:22
Here is another one:
http://files.1f0.de/lavf/LAVFilters-0.59.1-59-g0e20811.zip

I fixed the crash in MC.ts, and i think 2 other causes of video corruption. The samples I have seem to play pretty much perfect now.
The fozen image as you call it is still there, but thats independent of the DXVA decoder here, it happens with others for me as well.

NikosD
12th December 2013, 19:58
OK.
Now the decoder is "uncrashable" and MC.ts plays perfect.

I have only one file "halo2_WMV9" clip with heavy video corruption.

All the others VC-1/WMV3 clips have no artifacts.

But, all of the clips that previously had artifacts and now they don't, they are very slow starters - I mean you have to wait even 4 seconds to start playing clip.
You can hear the audio but the picture is just a still image.

Also those clips when you seek the file, have the same above behavior.
You have to wait 1 to 2 seconds in order to see the image changing while the audio is decoded in real-time.

If you fix that you are close to perfection.

nevcairiel
12th December 2013, 20:04
The new delay was a bug, I fixed it already. Can you share the clip with corruption?

NikosD
12th December 2013, 20:12
Sure.
http://speedy.sh/J7ByC/halo2-wmp9-WMV3-audio0x162.wmv

nevcairiel
12th December 2013, 20:17
This video doesn't seem to work on any GPU. I think it may use an incompatible coding (very old version of the wmv3 standard, not VC1 compatible), that only works with the software decoder.
Maybe i can detect it and automatically fallback to software, instead of failing decoding.

NikosD
12th December 2013, 20:22
Windows Media Player plays it fine in HW.

Update 1:
The above statement is wrong.
WMP plays it fine is SW

Update 2:
Can you upload your last test build with delay problem fixed ?

nevcairiel
12th December 2013, 22:08
Latest is here:
http://files.1f0.de/lavf/LAVFilters-0.59.1-60-g01a1f7c.zip

NikosD
12th December 2013, 22:22
Sorry but nothing really changed.

It has exactly the same behavior as the previous one.

nevcairiel
12th December 2013, 22:24
I get the delay with 59, and not with 60. There must be something wrong on your end. :)

NikosD
12th December 2013, 22:28
Have you tried any WMV HD ?

In some VC-1 files the stuttering has gone, but for example at the VC-1 1080p60fps hasn't.

The delay still exists at the beginning and at the seeking of many VC-1 files and a little more with WMV HD files.

nevcairiel
12th December 2013, 22:37
It would only fix the new delay introduced by the test build, your VC-1 file that also has the dealy with the release version on nvidia remains unchanged.
I tried the WMV HD files you mentioned, Speed and To The Limit, and both have a significant delay with the 59 build, and open instantly with 60, so i call it fixed.

NikosD
12th December 2013, 23:00
This clip doesn't start decoding:
http://download.microsoft.com/download/1/5/0/15092c6c-5af1-4208-b5e2-54af6f1009a4/T2_1080.exe

This clip has artifacts:
http://speedy.sh/rG92z/FlightSimX-720p60-51-15Mbps.wmv

This clip has green screens at the beginning:
http://www.techpowerup.com/downloads/530/hd-dvd-demo-1080p-vc-1-ddplus-5-1/mirrors

In those two clips "Speed" and "To The Limit", if you seek randomly do they start decoding instantly ?

Are you sure the 60 version is really the one uploaded and not 59 ?
Maybe we are testing different versions.

nevcairiel
13th December 2013, 17:49
Looks like most of these issues are only in native mode, while Copy-Back works fine, and i've been testing with copy-back because thats easier for me (main screen is nvidia, not Intel)
Wonder if i can do something about it, weird that it only happens with one mode.

Edit:
Its because of the Microsoft WM ASF Reader, it causes an additional reconnect at start of decoding. With LAV Splitter handling WMV, it doesn't happen. But I'll see if i can improve something.
Using LAV Splitter also fixes the video delay with the Devil May Cry 1080p60 clip.

Anyhow, I'll check if i can avoid the full decoder re-init in that case, because all it seems to update is the aspect ratio.

NikosD
13th December 2013, 18:05
All of my trials were in native mode.

It's clear now why we had so different results.

Native mode is faster and energy efficient.
I think if someone wants a copy-back method, there is QS decoder.

Anyway, it would be very useful if you can fix native mode.

nevcairiel
13th December 2013, 18:07
You can fix it yourself, and block the WM ASF Reader, and use LAV Splitter instead for wmv/asf. :)
I'll still check if there is something i can do without risking new issues, however.

NikosD
13th December 2013, 18:11
Try to put LAV Splitter as default splitter for WMV/ASF automatically with the installation of LAV Splitter in the next LAV filters version.

nevcairiel
13th December 2013, 18:12
I just did that, actually.

dansrfe
14th December 2013, 02:07
Is there a rough estimate on the decoding speed difference of using CUVID on a GTX 670 and an 3770K @ 3.5Ghz? Also, does overclocking GPU speed considerably increase the decoding speed with respect to overclocking the CPU?

nevcairiel
14th December 2013, 07:25
Overclocking the GPU does not change decoding speed at all.
NVIDIAs decoder is limited to a maximum of 120fps at 1080p, both software decoding and Intels HW decoder are much faster then this (2x-3x at least)

NikosD
14th December 2013, 07:48
Is there a rough estimate on the decoding speed difference of using CUVID on a GTX 670 and an 3770K @ 3.5Ghz?


If you mean comparing a HW decoder VP5 of GTX 670 with a CPU decoder of 3770K you can have a rough estimate of decoding speed difference looking at my signature link (the results are a bit old).
Actually I compared VP5 with SandyBridge Core-i5@3.1GHz (with Turbo goes up to 3.4GHz) with VP5 and other CPU and HW decoders.


Also, does overclocking GPU speed considerably increase the decoding speed with respect to overclocking the CPU?

Overclocking the GPU does not change decoding speed at all.


Overclocking GPU affects the decoding speed a lot
For example, take a look of the results of UVD2.2 with the default speed and then overclocked at my signature link.
There is definitely a significant speed increase.

If you overclock iGPU of modern Intel processors with QuickSync HW (SandyBridge and later), then the decoding performance raises proportionally with the clock.
So a 50% iGPU overclock will lead to a 50% faster QuickSync decoder.

NVIDIAs decoder is limited to a maximum of 120fps at 1080p, both software decoding and Intels HW decoder are much faster then this (2x-3x at least)

I haven't tried to overclock an Nvidia GPU, but I'm sure that if you manage it you will see decoding benefits.

VP5 can go a lot more than 120fps with 1080p clips, as it is without even overclocking.

nevcairiel
14th December 2013, 07:58
At least on NVIDIA the decoding speed is completely independent of the actual GPU speed. I can downlock the GPU and speed doesn't decrease (as long as I don't go too low to limit it somewhere else).
And no, VP5 cannot do much more then 120 fps at 1080p. Maybe 140 if you're lucky, but thats not "much" more. Intel can do over 300, up to 500 on some clips.

You always claim yourself that decoding doesn't use the EUs, so why would overclocking the EUs change decoding speed suddenly?
Wouldn't my HD4600 decode much faster then your Pentium HD then, because its a faster and higher clocked GPU in the first place?

Heck, GPUs dont even run at maximum clock when decoding video. AMD artificially downclocks when DXVA2 decoding is active.

NikosD
14th December 2013, 08:39
And no, VP5 cannot do much more then 120 fps at 1080p. Maybe 140 if you're lucky, but thats not "much" more. Intel can do over 300, up to 500 on some clips.


Download my second signature link, I have an Excel spreadsheet I made recently for myself and decided to give it in public.

For MPEG-2 1080p files, VP5 can go a lot more than 120fps, even the hardest MPEG-2 like the one tested in the Excel.

Also for H.264 1080p low bandwidth files can go more than 120fps.


You always claim yourself that decoding doesn't use the EUs, so why would overclocking the EUs change decoding speed suddenly?
Wouldn't my HD4600 decode much faster then your Pentium HD then, because its a faster and higher clocked GPU in the first place?


You seem to confuse some things.
HW decoding of Intel iGPU is done after SandyBridge by QuickSync ASIC - most of it - with little help of EUs.

So when you overclock the Intel iGPU, the QuickSync ASIC is overclocked too, because it has the same clock as the iGPU.
That's the reason that the iGPU overclocking, helps so much in the decoding speed of QuickSync.

For your HD4600 with a clock of 1.2GHz or 1.25GHz, I'm not sure which one you have, you will be faster than my iGPU GT1 at 1.1GHz only by that margin of the clock.

I have challenged you to publish your DXVA native results for 1080p & 4K H.264 clips in order to compare them with mine.


Heck, GPUs dont even run at maximum clock when decoding video. AMD artificially downclocks when DXVA2 decoding is active.

Intel iGPU and Nvidia GPUs, go in maximum clock when DXVA native is active and the load needs it.

AMD UVD artificially locks UVD decoding to a lower than maximum clock, for reasons that are known only to them.

nevcairiel
14th December 2013, 08:45
For MPEG-2 1080p files, VP5 can go a lot more than 120fps, even the hardest MPEG-2 like the one tested in the Excel.

Also for H.264 1080p low bandwidth files can go more than 120fps

H264 is of much more interest then MPEG2, and what all my performance numbers refer to. Even extremely low-bandwidth clips won't be significantly faster, like i said, maybe ~140.

The main point remains that Intel is 2x-3x as fast as NVIDIA, which was his main question.
Similar, I also only answered his specific question about OC, since NVIDIA does not increase in speed when OCing the GPU, and he asked about a 670 GTX, not every GPU on the planet.

You need to stop thinking in absolutes, and consider the context.

NikosD
14th December 2013, 08:52
Two questions:

1) Can you measure your HD 4600 with some of my 1080p H.264 clips and publicly available 4K clips in DXVA native ?

2) When are you going to release the fixed VC-1/WMV3 decoder ?

If someone has an IvyBridge, I would definitely like to see the comparison with Haswell in DXVA native 1080p and 4K, because I suspect that IvyBridge QS2 is faster than Haswell QS3!


You need to stop thinking in absolutes, and consider the context


I don't think in absolutes, I think in general context.

NikosD
14th December 2013, 15:32
H264 is of much more interest then MPEG2, and what all my performance numbers refer to. Even extremely low-bandwidth clips won't be significantly faster, like i said, maybe ~140.


I take this phrase as an opportunity to explain further something that most CPU developers confuse and to unveil some secrets of HW architecture.

In software decoding where only CPU is involved in decoding various codecs, in various resolutions and bandwidths, all of the previous 3 parameters are significant because:

1)A decoding algorithm can be multi-threaded or not, can be optimized with various SSEx instructions or not etc.

2) Also bandwidth - the Mbps parameter - is significant, because the larger the bandwidth the harder for CPU to decode the clip.

3) Resolution for CPU is the least important factor for decoding performance as you can see in performance Excel table.

On the other hand, HW decoding in special ASICs (called UVD, VPx, QuickSync) is almost exclusively constrained by resolution.

If you see the performance tables for every HW decoder out there, for every codec and bandwidth (from the easier WMV3 or MPEG-2 to the harder H.264) and for every bandwidth (from few Mbps up to 300Mbps) the performance is almost the same, for the same resolution for each HW decoder, unless you hit first a different ceiling.

Take for example QS3.
The decoding performance for H.264 and MPEG-2, for clips between 2Mbps up to 100Mbps in 1080p resolution is almost the same.

Same rule apply for 720p, 2160p etc

If you change the resolution from 1080p to 720p or from 1080p to 2160p for example, the decoding performance changes a whole scale, for every codec and for every bandwidth.

Also you can see the same behavior for QS1, VP5,VP4, UVD but not on the same level, because they hit some performance ceilings (bandwidth limited) earlier than the resolution constrain.

The above explanation doesn't mean that HW decoders are limited to a specific number of fps.

It is just the decoding performance that is limited due to internal hardware architecture reasons for a given resolution.

If you increase the clock of the HW engine, it is obvious that you increase the upper decoding limit for given resolution, although not proportionally for every HW decoder.

So the main performance constrain for HW decoding is resolution and not codec, or bandwidth, but not artificially.

Software decoding is affected by algorithm optimizations and bandwidth a lot more.

I hope it's clear now.

NikosD
15th December 2013, 13:32
Nevcairiel,

I don't know if it's a limitation of Microsoft's DXVA copy-back or LAV Video, but both QS3 and VP5 can't play H.264 in huge resolutions.

DXVA native works fine for both HW decoders.

Sample here:
http://speedy.sh/Tm7BR/4080x4080-VP5.mkv

nevcairiel
15th December 2013, 13:37
speedy share requires a download manager, which is usually adware or at worst spyware, not going to download that.

NikosD
15th December 2013, 13:43
I didn't know.

Tell me a suitable server to upload it.

nevcairiel
15th December 2013, 13:46
http://www.datafilehost.com/ is usually OK.

I should really finish my own sample file uploading page, maybe I'll do that over the holidays.

NikosD
15th December 2013, 13:55
That would help to have every sample available to everyone in an easy way.

datafilehost has no progress bar.

Sample:
http://www.datafilehost.com/d/e8cfcb8c

nevcairiel
15th December 2013, 14:42
DXVA2 Copy back on NVIDIA or Intel works just fine here.
On NVIDIA seems a bit too slow, but i get proper images. On Intel it runs perfectly fluid.

QuickSync decoder has some image corruption, who knows whats up with that.

NikosD
15th December 2013, 16:44
On my system copy-back with Intel falls back to software and of course is with no image corruption.

So the problem with Intel is that is not HW accelerated - it falls back to software.
Maybe you didn't notice.

The problem with Nvidia is that although it gets HW acceleration, the images are green at the beginning and then go normal and then again have artifacts and distortion.

For QS decoder, Eric is looking into it.

nevcairiel
15th December 2013, 16:45
I made sure that Intel actually uses the GPU, and NVIDIA also has no corruption here.

NikosD
15th December 2013, 16:50
What is your method to be sure that Intel QS HW is used ?

nevcairiel
15th December 2013, 16:53
LAV Video tells you which decoder it uses, and that absolutely can't be wrong, also CPU usage.
Or, use GPU-Z, while it doesn't have a GPU Video Load, i can see the power usage go up 2W and the temperature increase by ~6°C. If i use software decoding, that doesn't happen.

NikosD
15th December 2013, 17:33
Maybe another way is to push it to the limit by benchmarking it with DXVA Checker in both modes - Software and DXVA-CB.

From the framerate and CPU usage we could have a clear sign.

With my system using both modes (software decoding and DXVA-CB) I get the same CPU utilization and same performance.

Also with VP5 I tried to take a screenshot of the green screen image, but I only got a black screen.
I tried it with DXVA Checker and standalone LAV Filters 0.59.1.

Using MPC-HC with built-in LAV Video 0.59.1.35 everything is fine with VP5.

Maybe you are using a newer version of stand-alone filters than the one posted at the first page ?

Xaurus
15th December 2013, 18:06
nev,

It's been a long while since I played any interlaced material, but I am watching some old stuff now. I am using CUVID and adaptive deinterlacing (50/60), but from what I read from Ctrl+J in madvr the frame rate is the same as the video itself (25 fps).
I thought I remembered that the frame rate would be doubled with this type of deinterlacing, but maybe I am remembering it wrong?

nevcairiel
15th December 2013, 18:08
That depends on the DVD, and madVRs frame rate display also doesn't update in realtime, it only shows the info it got during start of playback, not what actually happens.

v0lt
15th December 2013, 18:13
http://media.xiph.org/video/derf/y4m/akiyo_cif.y4m - normally
http://media.xiph.org/video/derf/y4m/akiyo_qcif.y4m - crash

DragonQ
15th December 2013, 20:45
nev,

It's been a long while since I played any interlaced material, but I am watching some old stuff now. I am using CUVID and adaptive deinterlacing (50/60), but from what I read from Ctrl+J in madvr the frame rate is the same as the video itself (25 fps).
I thought I remembered that the frame rate would be doubled with this type of deinterlacing, but maybe I am remembering it wrong?
MadVR's frame rate indicator doesn't reflect playback after deinterlacing is done. In fairness, a 1080i/25 clip is "25 frames per second", it's just that the frames are split into interlaced fields. Once deinterlacing is done you get 50 frames per second but that doesn't make the source video 50 fps. I honestly don't know which way of indicating it would be best.

Also, it should be painfully obvious if deinterlacing is being done correctly. Not only do you lose any combing artefacts but the frame rate doubles, resulting in much smoother motion. This assumes the video is actually interlaced to start with and not just progressive video labelled as interlaced (common with TV recordings).

vivan
15th December 2013, 21:18
http://i.imgur.com/fukpIBk.png
http://i.imgur.com/S0ev5Q8.png
Same with CUVID

DragonQ
15th December 2013, 22:40
http://i.imgur.com/fukpIBk.png
http://i.imgur.com/S0ev5Q8.png
Same with CUVID
CUVID/QS are different because the deinterlacing is done by LAV Video Decoder, whereas with other decoders MadVR has to sort it out (although in the end it's always hardware deinterlacing). In the latter case, you should find it says "25 fps".

Mangix
16th December 2013, 03:04
Ignore this post

nevcairiel
16th December 2013, 14:16
Just as a general information, as of today, compiling LAV Filters requires Visual Studio 2013, as I've started to use C++11 features which are not available in VS2012.
Please don't even bother complaining, I have thought about this decision for a while now, and I'll stick with it. As the only developer its my decision and mine alone.

While its only in one function as of today, and could be written differently to avoid this requirement, I do not want to have to think about this, and instead write code easier and more productively.

nautilus7
16th December 2013, 15:31
Hi, I am not an experienced programmer, but I would like to know (just out of curiosity) which C++11 features do you use now. Thanks.

nevcairiel
16th December 2013, 15:54
Initialization Lists, for-each loops, the improved "auto" keyword, and a few smaller things here and there. A couple more things that i would like to use, and will probably move to in the future, like direct class member initialization, more lambda functions.

DragonQ
16th December 2013, 16:47
Just as a general information, as of today, compiling LAV Filters requires Visual Studio 2013, as I've started to use C++11 features which are not available in VS2012.
Please don't even bother complaining, I have thought about this decision for a while now, and I'll stick with it. As the only developer its my decision and mine alone.

While its only in one function as of today, and could be written differently to avoid this requirement, I do not want to have to think about this, and instead write code easier and more productively.
Express editions of Visual Studio have been free for ages anyway so people who want to use your code can upgrade easily.

.NET has had For Each loops for ages, I'm amazed C++ hasn't had them until C++11!

noee
16th December 2013, 19:50
Just as a general information, as of today, compiling LAV Filters requires Visual Studio 2013, as I've started to use C++11 features which are not available in VS2012.
Please don't even bother complaining.....

Does Build.bat need to change to reflect the new requirement?{fake patch}
-call "%VS110COMNTOOLS%vsvars32.bat"
+call "%VS130COMNTOOLS%vsvars32.bat"

nevcairiel
16th December 2013, 20:48
Its 120, because 2013 is version 12.0, but otherwise yes. I'll push that change shortly.

Mercury_22
16th December 2013, 20:50
Does Build.bat need to change to reflect the new requirement?{fake patch}
-call "%VS110COMNTOOLS%vsvars32.bat"
+call "%VS130COMNTOOLS%vsvars32.bat"


Except it's %VS120COMNTOOLS%vsvars32.bat :)

EDIT: Nev beat me to it :)

nevcairiel
16th December 2013, 22:51
http://media.xiph.org/video/derf/y4m/akiyo_cif.y4m - normally
http://media.xiph.org/video/derf/y4m/akiyo_qcif.y4m - crash

Fixed, thanks.

roytam1
17th December 2013, 01:48
Express editions of Visual Studio have been free for ages anyway so people who want to use your code can upgrade easily.

.NET has had For Each loops for ages, I'm amazed C++ hasn't had them until C++11!

XP host can't compile LAV now, since newer versions of VS won't install on XP.

roytam1
17th December 2013, 01:55
Just as a general information, as of today, compiling LAV Filters requires Visual Studio 2013, as I've started to use C++11 features which are not available in VS2012.
Please don't even bother complaining, I have thought about this decision for a while now, and I'll stick with it. As the only developer its my decision and mine alone.

While its only in one function as of today, and could be written differently to avoid this requirement, I do not want to have to think about this, and instead write code easier and more productively.

yeah, trying to compile with VS2010 gets many of errors:
4>d:\lavfsplitter\common\dsutillite\BaseDSPropPage.h(40): error C2864: 'CBaseDSPropPage::m_hHint' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\PopupMenu.h(34): error C2864: 'CPopupMenu::m_hMenu' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\PopupMenu.h(35): error C2864: 'CPopupMenu::order' : only static const integral data members can be initialized within a class
4>CueSheet.cpp(29): error C2332: 'enum' : missing tag name
4>CueSheet.cpp(29): error C2236: unexpected 'class' 'ParserState'. Did you forget a ';'?
4>CueSheet.cpp(29): error C3381: 'ParserState' : assembly access specifiers are only available in code compiled with a /clr option
4>CueSheet.cpp(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
4>CueSheet.cpp(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
4>CueSheet.cpp(31): error C2143: syntax error : missing ';' before '}'
4>CueSheet.cpp(31): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
4>CueSheet.cpp(100): error C2039: 'GLOBAL' : is not a member of 'ParserState'
4> CueSheet.cpp(29) : see declaration of 'ParserState'
4>CueSheet.cpp(100): error C2065: 'GLOBAL' : undeclared identifier
4>CueSheet.cpp(107): error C2450: switch expression of type 'ParserState' is illegal
4> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
4>CueSheet.cpp(108): error C2039: 'GLOBAL' : is not a member of 'ParserState'
4> CueSheet.cpp(29) : see declaration of 'ParserState'
4>CueSheet.cpp(108): error C2065: 'GLOBAL' : undeclared identifier
4>CueSheet.cpp(108): error C2051: case expression not constant
4>CueSheet.cpp(114): error C2039: 'FILE' : is not a member of 'ParserState'
4> CueSheet.cpp(29) : see declaration of 'ParserState'
4>CueSheet.cpp(114): error C2275: 'FILE' : illegal use of this type as an expression
4> d:\Microsoft Visual Studio 10.0\VC\include\wchar.h(65) : see declaration of 'FILE'
4>CueSheet.cpp(117): error C2039: 'FILE' : is not a member of 'ParserState'
4> CueSheet.cpp(29) : see declaration of 'ParserState'
4>CueSheet.cpp(117): error C2275: 'FILE' : illegal use of this type as an expression
4> d:\Microsoft Visual Studio 10.0\VC\include\wchar.h(65) : see declaration of 'FILE'
4>CueSheet.cpp(117): error C2051: case expression not constant
4>CueSheet.cpp(118): error C2039: 'TRACK' : is not a member of 'ParserState'
4> CueSheet.cpp(29) : see declaration of 'ParserState'
4>CueSheet.cpp(118): error C2065: 'TRACK' : undeclared identifier
4>CueSheet.cpp(118): error C2051: case expression not constant
4>CueSheet.cpp(120): error C2039: 'TRACK' : is not a member of 'ParserState'
4> CueSheet.cpp(29) : see declaration of 'ParserState'
4>CueSheet.cpp(120): error C2065: 'TRACK' : undeclared identifier
4>CueSheet.cpp(122): error C2601: 'track' : local function definitions are illegal
4> CueSheet.cpp(119): this line contains a '{' which has not yet been matched
4>CueSheet.cpp(122): error C2668: 'std::to_string' : ambiguous call to overloaded function
4> d:\Microsoft Visual Studio 10.0\VC\include\string(688): could be 'std::string std::to_string(long double)'
4> d:\Microsoft Visual Studio 10.0\VC\include\string(680): or 'std::string std::to_string(_ULonglong)'
4> d:\Microsoft Visual Studio 10.0\VC\include\string(672): or 'std::string std::to_string(_Longlong)'
4> while trying to match the argument list '(int)'
4>CueSheet.cpp(122): error C2143: syntax error : missing ';' before '}'
4>CueSheet.cpp(123): error C2065: 'm_Tracks' : undeclared identifier
4>CueSheet.cpp(123): error C2228: left of '.push_back' must have class/struct/union
4> type is ''unknown-type''
4>CueSheet.cpp(123): error C2065: 'track' : undeclared identifier
4>CueSheet.cpp(124): error C2065: 'state' : undeclared identifier
4>CueSheet.cpp(124): error C2039: 'TRACK' : is not a member of 'ParserState'
4> CueSheet.cpp(29) : see declaration of 'ParserState'
4>CueSheet.cpp(124): error C2065: 'TRACK' : undeclared identifier
4>CueSheet.cpp(125): error C2065: 'word' : undeclared identifier
4>CueSheet.cpp(126): error C2065: 'm_Tracks' : undeclared identifier
4>CueSheet.cpp(126): error C2228: left of '.back' must have class/struct/union
4> type is ''unknown-type''
4>CueSheet.cpp(126): error C2228: left of '.Title' must have class/struct/union
4>CueSheet.cpp(126): error C2065: 'line' : undeclared identifier
4>CueSheet.cpp(127): error C2065: 'word' : undeclared identifier
4>CueSheet.cpp(128): error C2065: 'm_Tracks' : undeclared identifier
4>CueSheet.cpp(128): error C2228: left of '.back' must have class/struct/union
4> type is ''unknown-type''
4>CueSheet.cpp(128): error C2228: left of '.Time' must have class/struct/union
4>CueSheet.cpp(128): error C2065: 'line' : undeclared identifier
4>CueSheet.cpp(130): error C2065: 'word' : undeclared identifier
4>CueSheet.cpp(134): fatal error C1903: unable to recover from previous error(s); stopping compilation
4> ByteParser.cpp
4>d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(54): error C2473: 'm_evSetupFinished' : looks like a function definition, but there is no parameter list.
4>d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(54): error C2059: syntax error : 'constant'
4>d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(54): error C2143: syntax error : missing ';' before '}'
4>d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(54): error C2238: unexpected token(s) preceding ';'
4>d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(65): error C2059: syntax error : '}'
4>d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(65): error C2143: syntax error : missing ';' before '}'
4>d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(65): error C2059: syntax error : '}'
4>d:\lavfsplitter\common\dsutillite\BaseDSPropPage.h(40): error C2864: 'CBaseDSPropPage::m_hHint' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\ByteParser.h(63): error C2864: 'CByteParser::m_gbCtx' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\ByteParser.h(65): error C2864: 'CByteParser::m_pData' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\ByteParser.h(66): error C2864: 'CByteParser::m_pEnd' : only static const integral data members can be initialized within a class
4>BaseTrayIcon.cpp(60): error C2614: 'CBaseTrayIcon' : illegal member initialization: 'm_resIcon' is not a base or member
4>BaseTrayIcon.cpp(60): error C2614: 'CBaseTrayIcon' : illegal member initialization: 'm_wszName' is not a base or member
4>BaseTrayIcon.cpp(211): error C2039: 'm_NotifyIconData' : is not a member of 'CBaseTrayIcon'
4> d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(25) : see declaration of 'CBaseTrayIcon'
4>BaseTrayIcon.cpp(223): error C2039: 'm_bPropPageOpen' : is not a member of 'CBaseTrayIcon'
4> d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(25) : see declaration of 'CBaseTrayIcon'
4>BaseTrayIcon.cpp(226): error C2039: 'm_hWnd' : is not a member of 'CBaseTrayIcon'
4> d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(25) : see declaration of 'CBaseTrayIcon'
4>BaseTrayIcon.cpp(231): error C2039: 'm_bPropPageOpen' : is not a member of 'CBaseTrayIcon'
4> d:\lavfsplitter\common\dsutillite\BaseTrayIcon.h(25) : see declaration of 'CBaseTrayIcon'
4>d:\lavfsplitter\common\dsutillite\FontInstaller.h(28): error C2864: 'CFontInstaller::pAddFontMemResourceEx' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\FontInstaller.h(29): error C2864: 'CFontInstaller::pRemoveFontMemResourceEx' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(46): error C2864: 'CH264Nalu::forbidden_bit' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(47): error C2864: 'CH264Nalu::nal_reference_idc' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(48): error C2864: 'CH264Nalu::nal_unit_type' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(50): error C2864: 'CH264Nalu::m_nNALStartPos' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(51): error C2864: 'CH264Nalu::m_nNALDataPos' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(53): error C2864: 'CH264Nalu::m_pBuffer' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(54): error C2864: 'CH264Nalu::m_nCurPos' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(55): error C2864: 'CH264Nalu::m_nNextRTP' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(56): error C2864: 'CH264Nalu::m_nSize' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\H264Nalu.h(57): error C2864: 'CH264Nalu::m_nNALSize' : only static const integral data members can be initialized within a class
4>d:\lavfsplitter\common\dsutillite\registry.h(50): error C2864: 'CRegistry::m_key' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(45): error C2864: 'Packet::StreamId' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(46): error C2864: 'Packet::bDiscontinuity' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(47): error C2864: 'Packet::bSyncPoint' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(48): error C2864: 'Packet::bPosition' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(50): error C2864: 'Packet::rtStart' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(51): error C2864: 'Packet::rtStop' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(53): error C2864: 'Packet::pmt' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(60): error C2864: 'Packet::dwFlags' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(63): error C2864: 'Packet::m_DataSize' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(64): error C2864: 'Packet::m_Data' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(65): error C2864: 'Packet::m_Buf' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\BaseDemuxer.h(141): error C2864: 'CBaseDemuxer::m_pLock' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(45): error C2864: 'Packet::StreamId' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(46): error C2864: 'Packet::bDiscontinuity' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(47): error C2864: 'Packet::bSyncPoint' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(48): error C2864: 'Packet::bPosition' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(50): error C2864: 'Packet::rtStart' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(51): error C2864: 'Packet::rtStop' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(53): error C2864: 'Packet::pmt' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(60): error C2864: 'Packet::dwFlags' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(63): error C2864: 'Packet::m_DataSize' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(64): error C2864: 'Packet::m_Data' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\Packet.h(65): error C2864: 'Packet::m_Buf' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\BaseDemuxer.h(141): error C2864: 'CBaseDemuxer::m_pLock' : only static const integral data members can be initialized within a class
5>D:\lavfsplitter\common\DSUtilLite\FontInstaller.h(28): error C2864: 'CFontInstaller::pAddFontMemResourceEx' : only static const integral data members can be initialized within a class
5>D:\lavfsplitter\common\DSUtilLite\FontInstaller.h(29): error C2864: 'CFontInstaller::pRemoveFontMemResourceEx' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\LAVFDemuxer.h(162): error C2864: 'CLAVFDemuxer::m_avFormat' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\LAVFDemuxer.h(163): error C2864: 'CLAVFDemuxer::m_pszInputFormat' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\LAVFDemuxer.h(165): error C2864: 'CLAVFDemuxer::m_bMatroska' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\LAVFDemuxer.h(166): error C2864: 'CLAVFDemuxer::m_bOgg' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\LAVFDemuxer.h(167): error C2864: 'CLAVFDemuxer::m_bAVI' : only static const integral data members can be initialized within a class
5>d:\lavfsplitter\demuxer\demuxers\LAVFDemuxer.h(168): error C2864: 'CLAVFDemuxer::m_bMPEGTS' : only static const integral data members can be initialized within a class
...

DragonQ
17th December 2013, 01:57
XP host can't compile LAV now, since newer versions of VS won't install on XP.
Cry me a river. :sly:

nevcairiel
17th December 2013, 07:42
I don't care if people still use XP, its their decision, and even if I personally wouldn't touch XP with a 10ft pole anymore, in the ends its their choice.
However, I won't let a 12 year old OS stand in the way of progress. :)

QQ
17th December 2013, 08:00
Hello,

how can I set network/input buffer on LAV Splitter? I have a wide bandwidth connection which isn't very stable, and would like to increase the buffer size..

wanezhiling
17th December 2013, 08:14
http://www.sendspace.com/file/kxx361
Latest git.
Playback is not smooth for some reasons (I guess that problem is in LAV V?)

nevcairiel
17th December 2013, 08:40
The file is just screwed up. It doesn't have a FPS, it doesn't have proper timestamps, what is it supposed to use to make playback smooth?

mkvtoolnix does NOT support RV40 in MKV correctly. In fact, I don't know of any tool that does.
Better encourage people to stop creating those files.

PS:
If you use a header editor to set the default duration to the appropriate FPS, it should probably play better.

wanezhiling
17th December 2013, 08:45
Hmm.. Real codec seems fine.
Well Broken files are broken. :)

wanezhiling
17th December 2013, 09:14
http://www.sendspace.com/file/p57vav
Can't seek, mpc-be seems fine.

nevcairiel
17th December 2013, 09:29
http://www.sendspace.com/file/p57vav
Can't seek, mpc-be seems fine.

That MP4 seems to have only one keyframe marked in its index, and seeking requires keyframes, so it seeks always to the first frame in the file.

While its possible that there are actually more keyframes that would allow seeking, in a MP4 they need to be marked in its index, or seeking becomes hard.

wanezhiling
17th December 2013, 09:32
Thanks for explanation.
Another thing about HEVC in mp4: lav s can't connect mpc video decoder (MPC-BE) and PotPlayer's video decoder.

NikosD
17th December 2013, 10:10
Nevcairiel,

I tried latest nightly build by roytam1 here (http://roy.orz.hm/lavf-w32-nightlies/) and I'm amazed by the progress you have made.

There is no slow start for any clip and there is no audio playing with frozen image.
There is only one clip with artifacts.

I have only 3 points:

1) During VC-1 seeking the image still pauses for a sec, with no audio playing and then starts again synchronized with audio.

I mean is not instant seeking.

If you do the seeking a lot of times, then it becomes instant.

In WMV3 clips, it is less obvious.


2) This clip still has a few artifacts in both DXVA native and CB:

http://www.sendspace.com/file/2ho9i9

3) The H.264 4080p file still is not recognized as HW accelerated in DXVA-CB using DXVA Checker (it doesn't select any suitable Decoder Device) and uses as much CPU as possible.

In order to check it with DXVA Checker, you have to force close Microsoft DTV-DVD video decoder (or disable DXVA acceleration for that decoder), because it can't handle that file and stalls DXVA Checker.

If you press the force close button, the app goes on and you can test DXVA-CB with LAV Video.

betaking
17th December 2013, 14:57
can not complier lavvideo.ax by last git 273b52e5ab5d0fb249419513487a45ef6baafa44

Asmodian
17th December 2013, 20:29
Just as a general information, as of today, compiling LAV Filters requires Visual Studio 2013, as I've started to use C++11 features which are not available in VS2012.
Please don't even bother complaining, I have thought about this decision for a while now, and I'll stick with it. As the only developer its my decision and mine alone.

While its only in one function as of today, and could be written differently to avoid this requirement, I do not want to have to think about this, and instead write code easier and more productively.

Maybe this is why?

clsid
17th December 2013, 21:51
The file is just screwed up. It doesn't have a FPS, it doesn't have proper timestamps, what is it supposed to use to make playback smooth?

mkvtoolnix does NOT support RV40 in MKV correctly. In fact, I don't know of any tool that does.
Better encourage people to stop creating those files.

PS:
If you use a header editor to set the default duration to the appropriate FPS, it should probably play better.Haali splitter has an option called "Force fake 25 fps in media type". If I enable that then the video plays smoothly at 23.976 fps.

noee
17th December 2013, 22:27
FYI, folks who want to use "express", you'll have to copy the /VC/atlmfc folder from a prev version...

You can then build it from the IDE. I don't think express has a command line build option.

nevcairiel
17th December 2013, 23:47
Haali splitter has an option called "Force fake 25 fps in media type". If I enable that then the video plays smoothly at 23.976 fps.

Probably not entirely smoothly, but 25 is close enough to not notice.
Anyway, its a hack for a broken file, might as well just get mkvtoolnix and add a defaultduration to the file.

andyvt
18th December 2013, 00:13
Just as a general information, as of today, compiling LAV Filters requires Visual Studio 2013, as I've started to use C++11 features which are not available in VS2012.
Please don't even bother complaining, I have thought about this decision for a while now, and I'll stick with it. As the only developer its my decision and mine alone.

While its only in one function as of today, and could be written differently to avoid this requirement, I do not want to have to think about this, and instead write code easier and more productively.

Are you going to start building ffmpeg with VS2013?

ryrynz
18th December 2013, 00:34
That's what the notes say, minimum requirement is VS2013. Oops that's LAV not FFmpeg.

nevcairiel
18th December 2013, 08:32
Are you going to start building ffmpeg with VS2013?

No, ffmpeg is build with GCC, and will remain that way. VS builds are simply quite a bit slower.
I made a speed comparison a while ago: https://docs.google.com/spreadsheet/ccc?key=0Ajo8vvjNtaZ5dFhqZ3BZQXZ0SW55RHdaWVctWmFxTnc&usp=sharing

clsid
18th December 2013, 18:29
Are there any downsides to overriding AvgTimePerFrame with a guessed value whenever it is zero?

Changing
avgFrameDuration = vih2->AvgTimePerFrame;
to
avgFrameDuration = vih2->AvgTimePerFrame ? vih2->AvgTimePerFrame : 400000;
in CLAVVideo::ReconnectOutput improves playback of the posted sample. Not perfect, but better than current behavior for those who don't know how to remux a file.

NikosD
18th December 2013, 21:47
No, ffmpeg is build with GCC, and will remain that way. VS builds are simply quite a bit slower.
I made a speed comparison a while ago: https://docs.google.com/spreadsheet/ccc?key=0Ajo8vvjNtaZ5dFhqZ3BZQXZ0SW55RHdaWVctWmFxTnc&usp=sharing

Any particular reason you don't use Intel compiler ?

I had used it 3-4 years ago and it was the fastest compiler out there.

nevcairiel
18th December 2013, 22:44
Any particular reason you don't use Intel compiler ?

I had used it 3-4 years ago and it was the fastest compiler out there.

GCC is faster for FFmpeg, and ICC is generally buggy because of too aggressive optimizations. Speed is no problem, as long as it doesn't need to work correctly. ;)
Also, ICC costs a lot of money.

wanezhiling
19th December 2013, 16:03
how do I force using LAV Audio Decoder for playback of Opus track?
http://i1.tietuku.com/dtft7aarm.png
FYI

NikosD
20th December 2013, 11:55
Eventually it seems that my old dog ATi Radeon 5750 card has the same performance between DXVA native and DXVA CB.

On a new platform with a PCI Express 2.0 x16 speed, you can't tell a performance difference between the 2 modes (except a minor CPU utilization and a small GPU load for copy-back of course).

But the average FPS are the same.

The bottleneck was my old platform with the PCI Express 1.1 x4 speed and not the card itself.

The ATi 5000 series even after four years, remain impressive cards and they were certainly ahead of their time.

STaRGaZeR
21st December 2013, 17:46
Nev, I just compiled myself a build with VS2013 to test it out, and I'm seeing something weird here. Every time I open some MKV files there is a stutter 1-2 seconds into the file. If you stop and replay it, it's gone. Put MPC-HC in repeat forever and it's also gone. Only the first time you open it. Can't remember seeing this in eairlier versions. Sample below. Tested with EVR, EVR Custom and Video Renderer, same result.

https://www.mediafire.com/?wa9gma1a0s6oasg

nevcairiel
21st December 2013, 18:05
Nev, I just compiled myself a build with VS2013 to test it out, and I'm seeing something weird here. Every time I open some MKV files there is a stutter 1-2 seconds into the file. If you stop and replay it, it's gone. Put MPC-HC in repeat forever and it's also gone. Only the first time you open it. Can't remember seeing this in eairlier versions. Sample below. Tested with EVR, EVR Custom and Video Renderer, same result.

https://www.mediafire.com/?wa9gma1a0s6oasg

Fixed, it was caused by a change in timestamp handling in LAV Audio that didn't consider one special case when dealing with PCM audio, but its fine again now.

Thanks for reporting!

STaRGaZeR
21st December 2013, 20:14
Fixed, it was caused by a change in timestamp handling in LAV Audio that didn't consider one special case when dealing with PCM audio, but its fine again now.

Thanks for reporting!

Fixed! Indeed, all of them had PCM audio inside. However, I'm still seeing kind of slow seeking on H.264+PCM mkv files (remuxed BDs). Audio seeks instantly, but video freezes for some time until it resumes playback. Not in all seeks though. I've tested previous versions and 0.59 was quite a bit faster here.

Happy holidays!

mindbomb
22nd December 2013, 00:38
I'm glad the issue is fixed, but I'm wondering why you didn't convert the pcm to flac? It gives you smaller sizes and better compatibility.

Soukyuu
22nd December 2013, 13:05
Size, yes, but compatibility? PCM is just a raw format, virtually anything can decode that. FLAC however, requires a decoder that decodes to PCM anyway.
That aside, I imagine the sample was ripped from a DVD/BD, with PCM kept to demonstrate the issue.

STaRGaZeR
22nd December 2013, 14:54
These are mostly stereo tracks, compared to video they are very small (~270MB for each 25 minutes), I guess that's why they are PCM in the first place. FLAC will certainly reduce that, but not worth the hassle.

I have a few PCM 5.1 BDs (Pirates of the Caribbean, Black Hawk Down) where the size is significant, but AFAIK there aren't many BDs out there with 5.1 PCM tracks.

Stanislav Mikhailenko
25th December 2013, 13:06
Hi,
i've the file https://dl.dropboxusercontent.com/u/9992211/trimmed.mp4 that is played by ffdshow, Microsoft DTV, Elecard AVC video decoder, MPC Video Decoder fine,
but with LAV Video decoder (LAV Filters 0.59.1 )there is colors distortion in the middle while playing

Could you please check it?

XinHong
25th December 2013, 13:58
Nev,

I can not read this file (http://6p6fvr.1fichier.com/) (6.3 MB). With MPC-HC and MPC-BE the file opens but don't start, timestamp remains 00:00:00.

Video codec is AVC but I don't know the encoder because it's not shown in MediaInfo.

I can read it with mplayer, this is the log:

Playing sample.mkv.
ID_VIDEO_ID=0
ID_VID_0_NAME=Vostfr
[mkv] Track ID 1: video (V_MPEG4/ISO/AVC) "Vostfr", -vid 0
ID_AUDIO_ID=0
ID_AID_0_NAME=Japonais
ID_AID_0_LANG=jpn
[mkv] Track ID 2: audio (A_AAC) "Japonais", -aid 0, -alang jpn
[mkv] Will play video track 1.
Matroska file format detected.
VIDEO: [avc1] 1280x720 24bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s)
ID_FILENAME=sample.mkv
ID_DEMUXER=mkv
ID_VIDEO_FORMAT=avc1
ID_VIDEO_BITRATE=0
ID_VIDEO_WIDTH=1280
ID_VIDEO_HEIGHT=720
ID_VIDEO_FPS=23.976
ID_VIDEO_ASPECT=1.7778
ID_AUDIO_FORMAT=MP4A
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=2
ID_LENGTH=60.95
ID_SEEKABLE=1
ID_CHAPTERS=0
[ass] auto-open
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
ID_VIDEO_CODEC=ffh264
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
[ass] Init
[ass] Updating font cache
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
ID_AUDIO_BITRATE=128000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=2
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [dsound] 48000Hz 2ch s16le (2 bytes per sample)
ID_AUDIO_CODEC=faad
[Mixer] No hardware mixing, inserting volume filter.
Starting playback...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
ID_VIDEO_ASPECT=1.7778
VO: [direct3d] 1280x720 => 1280x720 Planar YV12
ID_VIDEO_TRACK=1
ID_AUDIO_TRACK=0

===== PAUSE =====
ID_PAUSED


Thanks

Sylt
25th December 2013, 15:41
Hello Nev,

can you please add Support for Voxware MetaSound Audio Codec? FFMPEG support this codec already.

Sample Video 1 (http://www.landeck-tirol.com/feuerwehr/media/video/2004_brand-pfunds.asf)

Sample Video 2 (http://www.landeck-tirol.com/feuerwehr/media/video/2004_brand-eisenbahnbruecke-landeck.asf)

nevcairiel
25th December 2013, 20:31
Hi,
i've the file https://dl.dropboxusercontent.com/u/9992211/trimmed.mp4 that is played by ffdshow, Microsoft DTV, Elecard AVC video decoder, MPC Video Decoder fine,
but with LAV Video decoder (LAV Filters 0.59.1 )there is colors distortion in the middle while playing

Could you please check it?

Should hopefully be fixed.


I can not read this file (http://6p6fvr.1fichier.com/) (6.3 MB). With MPC-HC and MPC-BE the file opens but don't start, timestamp remains 00:00:00.

The file violates the H.264 spec, it has several values in its headers which are out of range for the spec, which cause the decoder to reject reading it.

Can't really fix files that violate the codec spec, sorry.
mplayer probably uses a much older decoder, which doesn't have these validation checks yet. But i looked it up, and the checks where added to prevent infinite loops and other exploits on malformed/malicious files.


can you please add Support for Voxware MetaSound Audio Codec? FFMPEG support this codec already

I added support, however playback isn't entirely flawless it seems. Not sure why it doesn't work properly.
If you use LAV Splitter to read the ASF files, it works better, though.

omarank
26th December 2013, 06:38
When LAV video's mjpeg decoder is active, apparently it outputs in TV color levels and flags the output with PC color levels. I have seen this problem of incorrect levels with DCP samples and still image files which activate the mjpeg decoder.

NikosD
26th December 2013, 08:25
Nevcairiel,

I did some tests with your HW decoder and I think you should make some changes.

You artificially cut any clip above 1920 width or 1080 height, when both VP4 and UVD can go further.

In order to help you I can tell you that:

1) H.264 DXVA width limit is:

For VP4 -> 2032 x 720
For UVD -> 2064 x 720

2) H.264 DXVA height limit is:

For VP4 -> 1280 x 1632
For UVD -> 1280 x 2304

3) H.264 DXVA Square limit is:

For VP4 -> 1440 x 1440
For UVD -> 2048 x 2048

nevcairiel
26th December 2013, 10:09
You artificially cut any clip above 1920 width or 1080 height, when both VP4 and UVD can go further.


There are no artificial limits, it asks the hardware if a resolution is supported.
Just make sure to tic all the resolution check boxes in the configuration, anything above 1920x1080 counts as UHD regarding the configuration.

When LAV video's mjpeg decoder is active, apparently it outputs in TV color levels and flags the output with PC color levels. I have seen this problem of incorrect levels with DCP samples and still image files which activate the mjpeg decoder.

JPEG is typically always full-range content, its even commonly called JPEG-Color-Range and MPEG-Color-Range, for PC/Full and TV/Limited respectively.
In any case, jpegs can also carry metadata that say which color range it is, if its not supposed to be full-range, this metadata should be present.

NikosD
26th December 2013, 10:13
I did that, I checked UHD and nothing changed.

It falls back to software for every clip above 1920x1080, for both UVD and VP4.

nevcairiel
26th December 2013, 10:16
I did that, I checked UHD and nothing changed.

It falls back to software for every clip above 1920x1080, for both UVD and VP4.

Then your hardware refuses to decode those resolutions, at least with VP4.

AMD is currently limited to Full-HD, because their crappy driver is broken with UHD decoding, and those special resolutions are too rare to worry about them. Not spending time on fixing broken AMD messes, either.

NikosD
26th December 2013, 10:29
But with the same drivers, PotPlayer doesn't refuse to accelerate in HW those resolutions, at least for AMD.

If you actually leave it to the driver to choose if a resolution can be HW accelerated or not, then it should be accelerated judging by PotPlayer that can do it.

That's why I said you artificially cut the resolutions above 1920 x 1080.

You said the same thing about crappy drivers for Intel's VC1_VLD2010 support, but it was proved by yourself that you were completely wrong.

You , had to update your VC-1 decoder to the new standard of VC-1 (2010) in order to be DXVA VC1_VLD2010 compatible.

I think the same goes for AMD 2k x 2k support.

You have to update your decoder, not AMD.

Of course, I don't doubt that every driver release is not completely consistent with previous drivers and a lot of times they break things.

But this is not the case, as VC1_VLD2010 was not the case.

The work has to be done by your side and you have to stop complaining every time because you have things to do and not the others.

You always blame the other developers, like a little kid.

But I don't doubt that you are a talented developer.

nevcairiel
26th December 2013, 10:37
I blame AMD drivers, because they are crap. They claim they support 4K decoding, and output a corrupted mess, so anything above Full-HD is disabled.
I know that i could enable 2k x 2k decoding, but i don't want to. Feel free to use something else.

NikosD
26th December 2013, 10:45
so anything above Full-HD is disabled.


After three posts we finaly say same thing, everything above Full HD is artificially disabled by you.


I know that i could enable 2k x 2k decoding, but i don't want to. Feel free to use something else.

The last months AMD has disabled 4K decoding, so you won't get corrupted images by enabling more than 1920 x 1080 decoding.

Also, I gave you specific secure limits that you can enable without messing the picture for sure.

If you leave it to the driver, you can go safe.

I like LAV filters and I will use it, even if you don't fix it.

wanezhiling
26th December 2013, 11:58
I think LAV will remove the limit if AMD really support 4K decoding one day, like current NVIDIA VP5 & Intel IVB/HAS do at least.
Its meaningless to open those special resolutions 2064 x 720, 1280 x 2304, 2048 x 2048... for AMD.

NikosD
26th December 2013, 12:40
Leave it to the driver, unless you have a good reason not to do so.

wanezhiling
26th December 2013, 12:56
Leave it to the driver, its dangerous.
The latest legacy driver for HD2000-4000 still enables 4K.

And even for HD5000 above, many people are still using a very old driver, did you consider that?

NikosD
26th December 2013, 16:51
I tested my old ATI Radeon 3650 (UVD+) under Win XP SP3 with legacy drivers.

I used latest MPC-HC standalone filters before the integration of LAV filters which is v1.6.9.7503 of 30-06-2013

This ancient card with ancient drivers under an ancient OS managed to HW accelerate a lot of clips over full HD and under the 2k x 2k restriction, through DXVA1.

Anything else ?

wanezhiling
26th December 2013, 17:19
I've got BSOD many times on ATI myself, so I'd rather keep Full HD limitation.
If you care 2k x 2k, feel free to use something else, cuz LAV author doesn't care (I agree with him).

NikosD
26th December 2013, 17:23
Are you his lawyer or something ?

How old are u ? 18 ?

Waisting my time with kids...

wanezhiling
26th December 2013, 17:38
Hope nev open 2k for AMD,for you, you could wait for that day.

Same here, I won't waste my time with you any more, you are always so overbearing.

Boltron
26th December 2013, 17:45
It's obvious who the kid is here. Learn some manners why don't you.

avih
26th December 2013, 18:59
Keep it on topic, please. Thank you.

STaRGaZeR
26th December 2013, 19:14
Hardware acceleration is serious business :D

ryrynz
26th December 2013, 20:26
Why not just put a temporary option in until things mature and just disable it by default for HW acceleration above Full HD, then everyone gets what they want.

omarank
27th December 2013, 11:25
JPEG is typically always full-range content, its even commonly called JPEG-Color-Range and MPEG-Color-Range, for PC/Full and TV/Limited respectively.
In any case, jpegs can also carry metadata that say which color range it is, if its not supposed to be full-range, this metadata should be present.

Can you please check the JPEG file from the link below? It has TV levels, but I guess that information is not there in the metadata. However, any image viewer is able to display it with the correct levels. I wish LAV video could also retrieve the levels info the same way the image viewers do it.

https://www.mediafire.com/?m8l8l1hfamtg54c

Raylan Givens
27th December 2013, 18:54
Is a possibilitiy the D3D fullscreen stuck on MPC-HC to be 'cause of the LAV on AMD cards? I can't seem to be able to find the answer. MPC 1.71 x64 and all nightlies beyond, official AMD 13.12 ( and all betas before ) on Win 8.1 x64

It's very irritating...

wanezhiling
28th December 2013, 05:12
http://www.sendspace.com/file/82nl8w
http://www.sendspace.com/file/sohhvv
http://www.sendspace.com/file/zluul6

With LAV, one audio track (http://i1.tietuku.com/aahwlq1ih.png)
With mpc, two audio track (http://i1.tietuku.com/hhw5jgzkd.png)

DragonQ
28th December 2013, 16:24
Nev, I can't watch live TV (SD .TS files) over a VPN using MPC-HC despite having plenty of bandwidth, even though the same streams work mostly fine when using RTSP. Basically I just get stuttering and break-ups for no apparent reason, with the Task Manager sometimes showing a slight reduction in network throughput. There are no apparent problems server-side (no tuner, file writing, or streaming issues in log files). I suspect it's to do with LAV Splitter's cache/buffer settings. Would it be possible to make this an option in the Configuration window?

NikosD
30th December 2013, 09:44
This clip crashes completely LAV Video:
http://www.sendspace.com/file/b6uxc4

This clip has a lot of artifacts:
http://www.sendspace.com/file/7o6usa

Signature system DXVAn

nevcairiel
30th December 2013, 16:26
This clip crashes completely LAV Video:
http://www.sendspace.com/file/b6uxc4

Doesn't crash for me.


This clip has a lot of artifacts:
http://www.sendspace.com/file/7o6usa


Seems like the resolution is too high. My NVIDIA refuses HW accel for this clip, and the MFT refuses HW Accel for this clip.

Intels driver should probably refuse as well.
I could blacklist high resolutions, but didn't you say i should let the driver decide? :)

NikosD
30th December 2013, 16:56
I'm going to be a little strict with you, because a lot of people take your words literally and don't check by themselves if they are truly accurate.

Doesn't crash for me.



Yes it does crash on you.
Because I wrote you to my previous post that I tested the first clip with DXVA native which crashes LAV Video and MPC-HC which has LAV Video inside.

It doesn't crash DXVA CB and it doesn't crash QS decoder.
But it does crash LAV Video DXVAn.

OK?


Seems like the resolution is too high. My NVIDIA refuses HW accel for this clip, and the MFT refuses HW Accel for this clip.

Intels driver should probably refuse as well.
I could blacklist high resolutions, but didn't you say i should let the driver decide? :)

The second clip I uploaded is a 3D VC-1 clip of 2x1440 = 2880 x 1080 resolution.

NVIDIA drivers during enumeration report that they only HW accelerate up to 1920 x 1080 for VC-1, so for Nvidia HW it falls back to software decoding, exactly as drivers say.

Intel drivers report that accelerate 4K even for VC-1.
And they actually accelerate in HW perfectly the above VC-1 2880 x 1080 clip, but in QS decoder.

So again Intel drivers are fully accurate.

In DXVAn and DXVA CB, FFMpeg based decoders have artifacts.

OK ?

nevcairiel
30th December 2013, 17:00
Yes it does crash on you.
Because I wrote you to my previous post that I tested the first clip with DXVA native which crashes LAV Video and MPC-HC which has LAV Video inside.

It doesn't crash DXVA CB and it doesn't crash QS decoder.
But it does crash LAV Video DXVAn.


So you are going to tell me that my PC is crashing, when i can actually see LAV and MPC-HC play the file just perfectly right here, on my screen?
You must be psychic, or something!

Or maybe you should learn how to report a bug then.
"It crashes" is not a proper bug report.

All i can do is run the sample on my PC, and if it doesn't crash here, there is nothing i can do.

Go provide a crash dump.

OK ?

NikosD
30th December 2013, 17:06
All i can do is run the sample on my PC, and if it doesn't crash here, there is nothing i can do.


What is it that you don't understand ?

If you actually try to playback even with latest MPC-HC player or latest LAV video decoder both set up with DXVA native, it immediately crashes both systems.

You have to set up and try with DXVA native from the beginning and not change between decoding modes, exactly as I wrote to you at my first post.

If you don't understand plain English, there is nothing else I can do for you.

If I'm psychic then you are a moron or something.

avih
30th December 2013, 17:26
Guys, please keep it on topic, and there's no need to get personal. thank you.

DragonQ
30th December 2013, 17:46
This clip crashes completely LAV Video:
http://www.sendspace.com/file/b6uxc4

Even downloading the file is a mission. Use a proper file host.

Doesn't crash for me using MPC-HC & LAV Filters in DXVA2 Native mode. Maybe you should stop telling people what they see on their machines?

Sarasa
30th December 2013, 17:58
This clip crashes completely LAV Video:
http://www.sendspace.com/file/b6uxc4
Tested the clip and... Don't crash here either

Tested using MPCHC 1.7.1.271 (X64) / LAV Filter 0.59.1.96

Test-720p cuda.mkv

CUVID (cuvid) > no crash
DXVA2CB (dxva2cb) > no crash
DXVA2N (avcodec) > no crash

clsid
30th December 2013, 19:29
Yesterdays DXVA fix solves the crash here.

Sebastiii
30th December 2013, 20:14
I would like to thanks Nevcariel to provide a fix on DXVA native :)
So Thanks again.

truexfan81
31st December 2013, 09:12
Tested the clip and... Don't crash here either

Tested using MPCHC 1.7.1.271 (X64) / LAV Filter 0.59.1.96

Test-720p cuda.mkv

CUVID (cuvid) > no crash
DXVA2CB (dxva2cb) > no crash
DXVA2N (avcodec) > no crash

"DXVA2N (avcodec) > no crash "

if it says "avcodec" it is using sw decoding and of course does not crash ;)

"that is all i have to say about that" - Forest Gump

LigH
31st December 2013, 11:10
Then maybe it is not a completely DXVA compliant stream, which was detected and led to the software mode fallback?

And what is so bad about software decoding? Is the CPU consumption crucial?

cge
1st January 2014, 14:30
Hi,
I've setup an advanced rule in LAV Splitter in order to get the desirated subtitles according to the selected audio stream.
My issue is that works very well when I start playing a mkv but not when I switch audio stream to another language from LAV tray while playing, nothing change for subtitles.
What I'm doing wrong ?
Regards
Christophe

nevcairiel
1st January 2014, 14:32
The selection is only for the initial stream selection, it is not meant to update the subtitles when you switch audio, and its doubtful it ever will.

cge
1st January 2014, 14:43
Ok too bad, that will be a useful feature !

filler56789
2nd January 2014, 02:51
Semi-OT... :o

Last build from XhmikosR = 2013/June/29

Last build from roytam1 = 2013/December/16

So, where can we get fresh builds of LAV Filters now? :confused:

ryrynz
2nd January 2014, 03:04
Was wondering this myself, I'm guessing a new release isn't that far off though.

Other options for grabbing the latest LAV filters when Roytam's builds aren't up to date is from MPC-HC (copying them across after install, currently on 30a903b)
or installing CCCP Beta (currently on 7238fbc)

Right now using MPC-HC's "built in" LAV filters will give you the latest version currently available for download (Dec 24th)

wanezhiling
2nd January 2014, 03:40
He (http://forum.doom9.org/showpost.php?p=1657113&postcount=1022) keeps on compiling ffdshow/LAV/MPC-HC (http://pan.baidu.com/share/link?uk=2214911777&shareid=497331#dir/path=%2F%E8%87%AA%E7%BC%96%E8%AF%91%E8%BD%AF%E4%BB%B6).

filler56789
2nd January 2014, 04:25
ryrynz and wanezhiling: thanks for the replies, and

MANY thanks to betaking :) :) :)

manolito
2nd January 2014, 22:40
I am quite new to the LAV filters. But since ffdshow is obviously no longer developped, I am looking into replacing ffdshow and Haali completely with the LAV filter package.

There are several applications who insist that ffdshow and Haali should be used. BD-RB by jdobbs is an example, MultiAVCHD is another one. And most imporantly the ffms2 documentation states that for decoding Ogg and MPEG streams the Haali splitter must be installed.

Is this still true today, or can the LAV splitter replace Haali completely?

And I had no success in using the LAV audio filters in AVStoDVD decoding an MPEG2 file with MPEG audio (mp2). MP2 decoding was enabled in the LAV settings, but I did not get any audio in AVStoDVD. The ffdshow audio filters worked. Any ideas?
//EDIT// Please disregard this. The source file was broken.

Cheers
manolito



P.S.
I made a similar post in the AviSynth section after I noticed that ffdshow could not decode files with a non-mod4 width correctly, but LAV filter could. I hope you don't consider this as crossposting...:o

Razoola
4th January 2014, 13:04
I have a little issue with the audio decoder. When you have a stereo source that's mixed using LAV to output 5.1, how do you get it to work so the sub woofer also works or is that not possible?

mindbomb
5th January 2014, 04:59
that's not possible. check the option "don't mix stereo sources" to prevent mono and stereo from being affected by the mixer.

Lighto
5th January 2014, 06:07
Not sure if this is a LAV Splitter issue or otherwise.

When I use MPC-HC to playback a .avs with a DirectShowSource script and right click to select the subtitle from the LAV Splitter tray icon, the subtitle does not show up in the player but the tray icon shows that the subtitle is already selected.

If I do the same thing with Haali the subtitle shows up just fine in MPC-HC.

I have avisynth 2.5.8 installed.

vomanci
5th January 2014, 09:22
I have a little issue with the audio decoder. When you have a stereo source that's mixed using LAV to output 5.1, how do you get it to work so the sub woofer also works or is that not possible?

In MPC-HC you have to check "Enabled built in switcher" -> "Enable custon chanel mapping" -> 6 channels, then at the low freq. check 1 to 6 so low freq is sent from to subwoofer from all sources.
In PotPlayer just check LFE in Audio.
You must keep LAV Audio mixer to 5.1 to work.
Or use fffdShow in raw as a sound processor after LAV.

Mangix
5th January 2014, 11:59
Feature Request: Add option to prefer 2 channel audio instead of 5.1 or above.

detmek
5th January 2014, 12:52
You have built-in mixer to downmix to stereo or upmix mono to stereo.

Ignore that. I misunderstood your post.

Reino
5th January 2014, 15:51
When I use MPC-HC to playback a .avs with a DirectShowSource script and right click to select the subtitle from the LAV Splitter tray icon, the subtitle does not show up in the player but the tray icon shows that the subtitle is already selected.I assume your DirectShowSource() loads the LAV Video Decoder, but since LAV by itself can't render subs, it's indeed a LAV "issue". With FFDShow this works fine.

JMGNYC
5th January 2014, 22:42
I'm using LAV with MPC-HC 1.7.1. I have a number of .m4v files with the first track being english AAC 2.0 and the second track being english AC3 5.1. In other words, standard Apple format for both iOS and PC.

I've noticed that LAV used to pick the AC3 5.1 first all the time. Now it seems to be defaulting to the AAC 2.0 track. I can switch to the AC3 5.1 track and it plays fine.

Is there any way to get this set back up to always select the AC3 5.1 track as the default track (rather than the AAC 2.0 track) with MPC-HC/LAV?

Thanks.

nevcairiel
5th January 2014, 22:44
LAV Splitter has an option "Prefer Audio Stream with Highest Quality", if that one is checked, it should pick the 5.1 stream.
If that does not work, its most likely that your player is overriding the stream choice for some reason.

Lighto
6th January 2014, 00:19
I assume your DirectShowSource() loads the LAV Video Decoder, but since LAV by itself can't render subs, it's indeed a LAV "issue". With FFDShow this works fine.

It should be Media Splitter related rather than Video Decoder. I was able to use Haali with LAV Video Decoder for the video stream and vsfilter for the subs.

Is it safe to assume the LAV Splitter is unable to load vsfilter in DSS and therefore unable to render subs in DSS?

nevcairiel
6th January 2014, 00:19
LAV Splitter doesn't load anything. DSS would need to load it.

JMGNYC
6th January 2014, 02:03
LAV Splitter has an option "Prefer Audio Stream with Highest Quality", if that one is checked, it should pick the 5.1 stream.
If that does not work, its most likely that your player is overriding the stream choice for some reason.

I do have that checked. I guess I'll check with the MPC-HC guys to see if it's them.

dansrfe
6th January 2014, 04:28
I think there's a bug with playing music files via a playlist file when MPC-HC is minimized to the tray. When the next file loads, there's no audio but the player's progress bar keeps moving on the next song as if it's playing. This is using the LAV splitter and decoder.

michkrol
6th January 2014, 18:51
I do have that checked. I guess I'll check with the MPC-HC guys to see if it's them.

Just a random thought, aren't you unknowingly using MPC-HC's internal LAVFilters? They do have separate settings. Check in Play -> Filters menu, they would have "(internal)" after their names.
Also check Options -> Playback, there's "Default track preference" section, especially "Allow overriding external splitter choice" should be disabled.

I think there's a bug with playing music files via a playlist file when MPC-HC is minimized to the tray. When the next file loads, there's no audio but the player's progress bar keeps moving on the next song as if it's playing. This is using the LAV splitter and decoder.

Works correctly here with nightly MPC-HC v1.7.1.289 and both official LAVFilters v0.59.1 and MPC's internal LAVFilters v0.59.1.102. Download at nightly.mpc-hc.org perhaps something got fixed along the way in MPC-HC or LAV, if you have unofficial build. If you have the newest versions, it must be difference between our configs.

clsid
6th January 2014, 21:09
The changelog of libbluray mentions new function "bd_get_main_title". Could that be useful for LAV Splitter, or is its implementation using a similar heuristic method as LAV already does?

nevcairiel
6th January 2014, 21:12
Its exactly the same, just the longest track.

JMGNYC
6th January 2014, 23:31
Just a random thought, aren't you unknowingly using MPC-HC's internal LAVFilters? They do have separate settings. Check in Play -> Filters menu, they would have "(internal)" after their names.
Also check Options -> Playback, there's "Default track preference" section, especially "Allow overriding external splitter choice" should be disabled.


Yes, that is all unchecked. In fact, I can force the AC3 5.1 track to play but forcing it to play track 02 using those settings, but there seems to be no way to have MPC-HC using LAV to just play the track with the most channels.

It's one of 2 bugs IMO:

1. LAV splitter is selecting the 2.0 AAC over the 5.1 AC3

or more likely

2. MPC-HC is ignoring that splitter's choice and just playing the first track.

kasper93
7th January 2014, 02:30
> 1. LAV splitter is selecting the 2.0 AAC over the 5.1 AC3

Isn't this 2.0 track marked as "default" or something?

nevcairiel
7th January 2014, 08:39
He said it was mp4/m4v files, those don't have a default flag.

JMGNYC
8th January 2014, 22:06
A little more info on this.

I couldn't figure out how to fix it, so I uninstalled mpc-hc 1.7.1. Re-installed mpc-hc 1.6.4 and lav .57. It works fine picking the 5.1 track over the 2.0 track. Upgraded again to mpc-hc 1.7.1 one. Broke again. Although turning off all source and transform filters in mpc-hc got it working again. So, right now audio is fine but I'm having subtitle problems. I've got a DVD rip in .mkv. Subtitles are automatically shown even though they're not forced and it's english audio, english subtitles. However, in a .m4v spanish audio film, no subtitles automatically load even though there is an english track. I've set LAV splitter to Advanced eng:eng|f;eng: off;*:eng which I think should work right.

I'm seriously thinking mpc-hc 1.7.1 is a mess and I should go back to an earlier version that doesn't include LAV.

kasper93
9th January 2014, 04:02
He said it was mp4/m4v files, those don't have a default flag.

Latest LAV seems to mark first track as default for .mp4. Wasn't the case in <= 58.2.

So, right now audio is fine but I'm having subtitle problems.

First of all update your crap to latest version and double check your settings. Maybe you set it for external LAV and internal is being used? Anyway upload a sample and once we can reproduce the problem there will be fix for that :) But I'm pretty sure everything is working fine.

Snowknight26
9th January 2014, 21:52
The splitter doesn't seem to auto-generate any forced subtitles for this stream (http://stfcc.org/misc/lav forced pgs.mkv), even though there are 339 subtitles flagged as forced.

nevcairiel
10th January 2014, 09:39
The splitter doesn't seem to auto-generate any forced subtitles for this stream (http://stfcc.org/misc/lav forced pgs.mkv), even though there are 339 subtitles flagged as forced.

Should be fixed, the problem was that there was no audio stream in this file, which it relied on to select the subtitle track - but i fixed it to also work without audio.

DarkSpace
10th January 2014, 11:20
Talking about forced subtitle streams, is it possible to expose all tracks' forced subtitles as substreams instead of only the currently selected stream's? At least to me, the current behavior seems kind of strange...

Snowknight26
10th January 2014, 15:34
Should be fixed, the problem was that there was no audio stream in this file, which it relied on to select the subtitle track - but i fixed it to also work without audio.

Actually, the issue was present even with an audio stream. I simply removed the audio and changed the video to make uploading a sample easier.

nevcairiel
10th January 2014, 15:36
All i know is that i fixed your sample, I can't speak for your real file. :p

Snowknight26
10th January 2014, 15:39
All i know is that i fixed your sample, I can't speak for your real file. :p

Stick an audio track in there and see why auto-generated forced subs don't appear? :p

JMGNYC
10th January 2014, 16:05
Latest LAV seems to mark first track as default for .mp4. Wasn't the case in <= 58.2.



First of all update your crap to latest version and double check your settings. Maybe you set it for external LAV and internal is being used? Anyway upload a sample and once we can reproduce the problem there will be fix for that :) But I'm pretty sure everything is working fine.

So, after a good deal of testing, here's what I found. First I uninstalled everything and ran CCleaner. Then installed the latest versions. Configured LAV.

I've found what breaks the audio selection is having the MP4/MOV Source Filter on. Turning it off and the correct 5.1 track is chosen over the 2.0 track. Subtitle problems got fixed at the same time.

Could someone give me a quick 101 explanation of how the Source Filters and Transform Filters interact with LAV? Should they all be turned off? What are they actually doing?

michkrol
10th January 2014, 16:54
Could someone give me a quick 101 explanation of how the Source Filters and Transform Filters interact with LAV? Should they all be turned off? What are they actually doing?

They don't interact with each other. (Of course except when used together for playback.)

Think of this as kind of having two separate codecs installations - normal LAV and internal LAV, with the internal only usable by MPC-HC.
Only one (etiher internal or external) gets used for given task, so you can use for example external LAV as splitter and internal as video and audio decoder.
As mentioned already, they have separate settings, so on the options page with internal filters click "Splitter" under "Internal LAV Filters settings" and configure it properly to get exactly same behavior as external LAVFilters. Check under Play -> Filters menu, to see which filters are active. If using internal filters, you get for example "LAV Splitter Source (internal)", also you get quick access to setting from there.

As for which one to use, it's up to you. Having internal filters in MPC-HC is mainly for it to work out of the box, also it's always one thing less to keep updated. There should be no functional differences between internal and external version, assuming they are close in version.

kasper93
10th January 2014, 16:55
I've found what breaks the audio selection is having the MP4/MOV Source Filter on. Turning it off and the correct 5.1 track is chosen over the 2.0 track. Subtitle problems got fixed at the same time.

I suspect you're using old LAV filters version. With latest version it should not work. Bug is already fixed and will be in the next release.

Could someone give me a quick 101 explanation of how the Source Filters and Transform Filters interact with LAV? Should they all be turned off? What are they actually doing?

Those are internal filters shipped with MPC-HC which now are LAV Filters so you don't have to install external version anymore. I recommend you to turn them on.

nevcairiel
10th January 2014, 17:30
Stick an audio track in there and see why auto-generated forced subs don't appear? :p

You can try with this recent test version yourself:

x86: http://files.1f0.de/lavf/LAVFilters-0.59.1-109-g22c2744.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.59.1-109-g22c2744-x64.zip

I consider this a release candidate, and my plan is to release a final version later this weekend, unless some serious errors show up that need handling first.

Snowknight26
10th January 2014, 18:09
Works now, thanks!

davidsama
10th January 2014, 19:36
http://betanews.com/2014/01/10/google-fixes-a-thousand-bugs-in-ffmpeg/

hoborg
10th January 2014, 19:58
Hi.
Nev, is there a chance to make LAV video decoder working better with MS demultiplexer?
I have only MPEG-2 Live TV here, and channel change is really slow, the same is seeking in recordings. Sometime the screen get pixelated or even froze.
The PDVD 13 decoder works fine, but i have really bad deinterlacing on some channels and the Microsoft DTV-DVD Video Decoder have worse picture comparing to LAV or PDVD.

nevcairiel
10th January 2014, 20:08
If you give me sample files and instructions how to reproduce without actual Live TV, i can have a look.
Otherwise, chances are slim.

hoborg
10th January 2014, 20:35
If you give me sample files and instructions how to reproduce without actual Live TV, i can have a look.
Otherwise, chances are slim.

I doubt you can reproduce slow channel change without TV tuner :/
To reproduce seeking issue - i believe you have some mpeg2 .TS recording sample files, just try to play them in Next PVR - http://www.nextpvr.com/. Setup nPVR is easy, just go to settings and set LAVF for audio/video decoding.

I will try to cut some of my .TS recording and upload it somewhere, but the recordings are so big...

Deathless
10th January 2014, 21:45
Again, I'm having problems with DXVA decoding. All I get is a green screen using MPC-HC + LAV Filters.

GPU: ATI HD 4800
Driver version: 13.9
DXVA Checker: http://i1176.photobucket.com/albums/x338/Deathless11/others/th_DXVAChecker_zpseb291637.png (http://s1176.photobucket.com/user/Deathless11/media/others/DXVAChecker_zpseb291637.png.html)

NOTE: Have installed DirectX.

DXVA native is not working, nor DXVA copy-back.

Don't know how to solve this problem. Thank you!

JMGNYC
10th January 2014, 23:43
I suspect you're using old LAV filters version. With latest version it should not work. Bug is already fixed and will be in the next release.

I've got version 59.1.26. Definitely using internal version judging by what the Filters menu says.


Those are internal filters shipped with MPC-HC which now are LAV Filters so you don't have to install external version anymore. I recommend you to turn them on.

Done. Less is more IMO so that makes me happy.

DragonQ
11th January 2014, 02:09
Those are internal filters shipped with MPC-HC which now are LAV Filters so you don't have to install external version anymore. I recommend you to turn them on.
Would MPC's version of LAV Filters be accessible to other applications? Also, don't you use the latest nightlies for LAV Filters? Would generally prefer to use release versions myself.

andybkma
11th January 2014, 02:20
x86: http://files.1f0.de/lavf/LAVFilters-0.59.1-109-g22c2744.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.59.1-109-g22c2744-x64.zip

I consider this a release candidate, and my plan is to release a final version later this weekend, unless some serious errors show up that need handling first.

Hello, nev. Bug report: Using your new release candidate (and previous versions), I have VC-1 files that are blurred when I have the VC-1 "Codecs for Hardware Decoding" option checked (using cuvid). With it unchecked (using avcodec or wmv9 dmo) it plays fine. Just hoping you could look at the prob when you get a chance. Cheers

10sec sample file: http://depositfiles.com/files/vu8uwcf8o

Follow up notes: Problem occurs with either LAV or WMReader as the splitter and cuvid as the decoder. The file plays fine with quicksync as the hardware decoder. So I am assuming the problem should lie solely with the cuvid decoder. Cheers again

nevcairiel
11th January 2014, 10:15
Nothing in the cuvid decoder changed for a looooong time. Maybe its a NVIDIA driver update? Did you maybe turn on noise reduction in the nvidia driver? :)
How does it look when you use DXVA2?

Edit:
I can actually reproduce the problem.
Do you know if it ever worked before? CUVID has really not changed for quite a long time now.

I would suggest to test a couple older NVIDIA drivers. If i find the time, i may do the same.

starla
11th January 2014, 10:52
Nev, is there a chance to make LAV video decoder working better with MS demultiplexer?

MS demuxer is not the best TS demuxer (it has few nasty issues that I cannot remember anymore in detail). That is reason why many HTPC applications that use live tv implement their own demuxers.

andybkma
11th January 2014, 11:41
Edit:
I can actually reproduce the problem.
Do you know if it ever worked before? CUVID has really not changed for quite a long time now.

I would suggest to test a couple older NVIDIA drivers. If i find the time, i may do the same.

Honestly I have always had VC-1 hardware decoding turned off so I don't know if those files worked. But only recently have turned it back on since you have been fixing many VC-1 bugs in the past months (also one that I reported two months ago) so I just happened to turn it back on recently thinking that all VC-1 should be good now.

Side note question: What is considered "better" for software decoding wmv files if I have the VC-1 hardware decoding turned off? avcodec or wmv9 dmo? Cheers

nevcairiel
11th January 2014, 12:28
The wmv9 dmo works for all files and depending on your OS is also significantly faster, they keep improving its speed. With Windows 8 it made a real performance jump.

nekromantik
11th January 2014, 12:41
Im using the latest version of LAV filters from CCCP.
Im using MPC-HC BE but when I play any AC3 file I get no sound and the video is speeded up. However if I play using HDMI out it works fine. Im on a Win 7 i5 Laptop.

I also notice MPC never uses LAV audio for ac3 even though I selected it in LAV settings. Instead it uses Microsoft DTV-DVD Decoder.

Any help?

nevcairiel
11th January 2014, 17:46
If its not using LAV Audio, then its not a LAV Audio problem. You should ask the player developers.
Note that if you have set LAV Audio to output AC3 Bitstreaming, and your audio output does not support bitstreaming, it'll refuse playback, and something else will take over.

Stereodude
11th January 2014, 18:48
Is there any way to change how LAV handles ATSC transport streams (.TS) that have been edited? For example, I start out with a 60 minute TV show and remove the commercials (with hdtvtompeg2) I get roughly 42-44 minutes of content. However the original transport file timestamps persist so the LAV filters show the file as being 60 minutes (minor annoyance). So, when played back in MPC-HC (using the built in LAV filters or external ones) there are effectively periods of time on the seek bar with no content. My gripe is that the playback position indicator on the seek bar doesn't move to indicate where the content really is relative to the "60 minute" timeline. This happens if the file is played normally with no seeking, or if you move the playback position on the seek bar into one of the gaps.

Audio and video playback is fine and stays in sync (no several minute periods of silence with a black screen like some filters do), but it would be nice if either the playback position indicator jumped to the true position of playback on the 60 minute seek bar (effectively jumping over the gaps where the commercials were), or if the splitter was able to determine the true duration of the content in the file (subtracting out the content gaps) allowing the indicated playback position on seek bar to be correct against the true playback length of the file.

Hopefully my explanation / request makes sense. I can provide sample .TS files if you like.

nevcairiel
11th January 2014, 19:02
The only way to determine the true length is to read the entire file once to find all the gaps in the timeline, which is just a very slow process.
Your editing application should probably simply re-write timestamps instead. Many of those editors do.

Stereodude
11th January 2014, 19:15
The only way to determine the true length is to read the entire file once to find all the gaps in the timeline, which is just a very slow process.Okay, so if we throw that option out, how is the playback position determined / reported from the splitter?
Your editing application should probably simply re-write timestamps instead. Many of those editors do.Perhaps, but I'm only aware of two free .TS editors. hdtvtompeg2 and AVIdemux. AVIdemux is much slower (has to index the file first) and tedious to use compared to hdtvtompeg2, but it does rewrite the timestamps. FWIW, the annoyance factor of using AVIdemux is larger than living with the playback position quirkiness on the seek bar.

DragonQ
11th January 2014, 19:29
Okay, so if we throw that option out, how is the playback position determined / reported from the splitter?
Perhaps, but I'm only aware of two free .TS editors. hdtvtompeg2 and AVIdemux. AVIdemux is much slower (has to index the file first) and tedious to use compared to hdtvtompeg2, but it does rewrite the timestamps. FWIW, the annoyance factor of using AVIdemux is larger than living with the playback position quirkiness on the seek bar.
I use TS-Doctor. Not free but worth it IMO. Cuts at key frame boundaries are seamless when using MediaPortal's splitter (TSReader) but not LAV Splitter, unfortunately.

Stereodude
11th January 2014, 19:47
I use TS-Doctor. Not free but worth it IMO. Cuts at key frame boundaries are seamless when using MediaPortal's splitter (TSReader) but not LAV Splitter, unfortunately.I get slight pauses at the cuts with LAV on files edited by hdtvtompeg2. I presume this is due to the way it keeps A/V synchronization. I've never found a splitter that keeps proper A/V sync without having slight hiccups in the video frame rate around edit points. I try to edit on a black screen keeping the fade out before the commercials and fade in after the commercials to minimize the visibility of the edit. Unfortunately some of the networks have moved to a 1 second keyframe interval which makes this harder to do.

nevcairiel
11th January 2014, 19:59
Okay, so if we throw that option out, how is the playback position determined / reported from the splitter?

Thats not something the splitter does, really. Its inherent to DirectShow, it simply goes linear from 0 to end. If the duration is wrong and there are gaps, it'll not match up, but its not easy to change how DirectShow works.

Cuts at key frame boundaries are seamless when using MediaPortal's splitter (TSReader) but not LAV Splitter, unfortunately.

If you can give me a sample file where this is rather obvious, i could have a look why its happening, and possibly fix it.

nekromantik
11th January 2014, 22:22
If its not using LAV Audio, then its not a LAV Audio problem. You should ask the player developers.
Note that if you have set LAV Audio to output AC3 Bitstreaming, and your audio output does not support bitstreaming, it'll refuse playback, and something else will take over.

I got LAV to work but still same issue. It bit streams via HDMI fine but I get no audio when playing back without laptop connected to TV.

DragonQ
12th January 2014, 00:11
I get slight pauses at the cuts with LAV on files edited by hdtvtompeg2. I presume this is due to the way it keeps A/V synchronization. I've never found a splitter that keeps proper A/V sync without having slight hiccups in the video frame rate around edit points. I try to edit on a black screen keeping the fade out before the commercials and fade in after the commercials to minimize the visibility of the edit. Unfortunately some of the networks have moved to a 1 second keyframe interval which makes this harder to do.
Key frames on most recordings of mine (UK TV) are pretty erratic, presumably due to very modern and efficient encoders being used, which adjust the need for keyframes appropriately as part of statistical multiplexing across transponders/multiplexes. Sometimes there can be a few in a second, other times there can be 5 seconds without one, depending on content. The latter case can sometimes make cutting out adverts particularly difficult.

If you can give me a sample file where this is rather obvious, i could have a look why its happening, and possibly fix it.
I'm pretty sure I've sent you a sample before but sure, I'll find one that definitely works fine in MediaPortal and send it to you.

It's always pretty obvious though. What happens is the video freezes at the boundary for a second or two, then there's flashes where it goes all blocky (looks like some blocks update and others don't), then it goes back to normal.

P.J
12th January 2014, 00:21
How is it possible? :helpful:
Video file Format: ProRes 1080p

MPC-HC x64:
http://t.imgbox.com/adqsyZY8.jpg (http://imgbox.com/adqsyZY8)

MPC-HC x86:
http://t.imgbox.com/acrveIcN.jpg (http://imgbox.com/acrveIcN)

Leader
12th January 2014, 02:49
Hi nevcairiel, found the problem in LAV Splitter, which likely occurred after a change in e53b442dca13 "Use a media type from the real subtitle streams for the "No Subtitles" Ping". When you run the video files through LAV Splitter (File Source (Async) -> LAV Splitter) player can not open any video files, because the splitter is stuck at checking for the subtitle tracks. I use "Light Alloy" media player, which manifests itself exactly this bug.

Algorithm playback bug:

1. Register with the system LAV Splitter from your last test assembly:
x86: http://files.1f0.de/lavf/LAVFilters-...9-g22c2744.zip
2. Open Light Alloy
3. Options -> Codecs
4. Turn Off the internal splitters
5. Open the video file

nevcairiel
12th January 2014, 09:45
Files play fine for me in LightAlloy. The splitter doesn't get stuck.

wanezhiling
12th January 2014, 11:15
How is it possible? :helpful:
Video file Format: ProRes 1080p

MPC-HC x64:
http://t.imgbox.com/adqsyZY8.jpg (http://imgbox.com/adqsyZY8)

MPC-HC x86:
http://t.imgbox.com/acrveIcN.jpg (http://imgbox.com/acrveIcN)

LAV 64 has magic.:p

nevcairiel
12th January 2014, 11:23
My guess is some of the optimizations for ProRes are only available on 64-bit, which accounts for such a huge difference.

wanezhiling
12th January 2014, 11:47
So if people don't use madVR/ReClock etc, 64-bit DS player is a better choice?

nevcairiel
12th January 2014, 12:12
Doesn't really matter that much, these extreme differences are rather rare, and not many people will be playing ProRes for example.

Leader
12th January 2014, 15:09
Files play fine for me in LightAlloy. The splitter doesn't get stuck.

Nevcairiel, you what version of Light Alloy checked my problem?
Please, reproduce the problem in the latest version of Light Alloy 4.7.7. RC-3:
http://www.light-alloy.ru/forum/ru_beta_test_v4_7/light_alloy_v4_7_7_build_923_rc_3/.
The algorithm is the same.

P.S. I attach a screenshot.

wanezhiling
12th January 2014, 16:36
I tested on offical Light Alloy 4.7.6, same result.

http://i1.tietuku.com/febxngzk3.png
Could not play any files.

Revert to build before e53b442, works fine.

nevcairiel
12th January 2014, 16:43
LAV Filters 0.60

LAV Splitter
- Improved playback of a few Blu-ray discs, avoids a hiccup at clip change
- Support for reading embedded Cue Sheets from audio files as chapters
- Added support for reporting the stream bitrate through IBitrateInfo (for MPC-HC et al.)
- Additional metadata from the source file is exported through IPropertyBag (including "ROTATION" for video orientation information)
- Fixed demuxing of MKV files with huge SSA/ASS format blocks (> 1MB)
- Fixed playback of certain MPEG4 ASP streams in MKV to be smooth

LAV Video
- Added support for VC-1/WMV3 DXVA2 decoding on recent Intel GPUs (Ivy Bridge/Haswell, needs recent drivers)
- Fixed a crash when stopping playback or seeking on AMD when using DXVA2 Native
- Fixed playback of WMVA videos in software mode
- Fixed a few issues with output of odd-height videos when converting to various pixel formats
- Fixed a few corner cases when reporting the video range to madVR
- Fixed a crash when playing raw video files with unaligned width (non mod16)

LAV Audio
- The version of the DTS DLL decoder is now checked, and versions before 1.1.0.0 are blocked (since they do not work)
- Fixed an issue with DTS parsing which could result in occasional audio stutter
- Improved support for Opus audio pre-skip


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

Its been a few month since the last major release, and due to the holidays everything has been moving quite slow.
There is still some features I wanted to work on, but I decided to postpone them to the next version instead.

Lets go through a few important notices:

Cleanup

In this version I did my spring-cleaning early, and cleaned up (read: remove) a bunch of old custom solutions to certain problems, in favor of FFmpegs solutions.
In most cases this should not pose any problems, and it makes the maintenance of my code easier in the future. But be warned that it may as well be possible that my cleanup efforts may result in issues which may need fixing later.

VC-1/WMV3 DXVA on Intel GPUs

Intel finally started to support proper decode acceleration of VC-1 through DXVA2. This is only available for Ivy Bridge and Haswell, and only with recent drivers.
Before, it was only possible to achieve this through the QuickSync decoder, but now DXVA2 Native and Copy-Back can also use it.

In general it works pretty flawlessly, however there is still a known issue with image corruption on a few rare samples, which I was unable to clearly pinpoint and fix yet, but it'll be handled in a future release once the issue can be identified.

More stuff

There are a bunch of other changes which don't need explaining, many crash fixes and compatibility fixes with media files, a few new features.

Please report any regressions in this version, so that they can hopefully be fixed (even if some of the things needs to be fixed in FFmpeg, see "Cleanup").
As always, report any issues in as great detail as possible, so that I can reproduce them faster, and if possible at all, with a sample file as well.

Have fun, and have a nice Sunday!

nevcairiel
12th January 2014, 16:55
Nevcairiel, you what version of Light Alloy checked my problem?

I tested with 4.7.6

In any case, the only thing that actually changed since 0.59 is the media type of that pin, if that causes LightAlloy to fail playback entirely, its a player problem.

Note that I also changed the media type of the "No subtitles" pin again after your post, since it was causing other issues when special ASS subtitles were present, so i suggest you try with 0.60 again.

wanezhiling
12th January 2014, 17:03
Same with 0.60: http://i1.tietuku.com/ffmpmgmq4.png

nevcairiel
12th January 2014, 17:03
All i can say is, works for me.
I have installed LAV from its installer, disabled all internal source filters in LightAlloy, and files play just fine.

wanezhiling
12th January 2014, 17:13
That's odd, maybe because of different OS system?
Leader should be using WinXP rus and Im using Win7 chs.

nevcairiel
12th January 2014, 17:15
Does it happen on all files, or only on files which actually have subtitles?

wanezhiling
12th January 2014, 17:17
All files, avi mkv ts mpg rmvb... with sub or without sub.
Really odd..

nevcairiel
12th January 2014, 17:18
Then its absolutely not related to that change. If you have a file without subs, then clearly a change that only changes the subtitle mediatype won't affect it at all.

In any case, LA plays stuff just fine here.
I tested on Windows 7 and Windows 8.1, no XP anymore to test.

wanezhiling
12th January 2014, 17:31
I tested with his (http://roy.orz.hm/lavf-w32-nightlies/) last build 210f2d6 (13/12/16), and works fine on all files: http://i1.tietuku.com/stqjkz4wm.png

nev could you provide two builds: e53b442dca13 (https://code.google.com/p/lavfilters/source/detail?r=e53b442dca13c69bb2fbca1cd12f86f1961781b8) and 273b52e5ab5d (https://code.google.com/p/lavfilters/source/detail?r=273b52e5ab5d0fb249419513487a45ef6baafa44), then let me test.

DragonQ
12th January 2014, 17:41
What's "WMVA video"?

nevcairiel
12th January 2014, 17:43
nev could you provide two builds: e53b442dca13 (https://code.google.com/p/lavfilters/source/detail?r=e53b442dca13c69bb2fbca1cd12f86f1961781b8) and 273b52e5ab5d (https://code.google.com/p/lavfilters/source/detail?r=273b52e5ab5d0fb249419513487a45ef6baafa44), then let me test.

http://files.1f0.de/tmp/LAVSplitter-e53b442.zip
http://files.1f0.de/tmp/LAVSplitter-273b52e.zip

By the way, still works in other players for you, doesn't it?

What's "WMVA video"?

WMVA is what Microsoft named VC-1 before it became a official video standard by the SMTPE. (WMV Advanced)
It has some minor differences in some areas.

Kinjal
12th January 2014, 17:46
nevcairiel
I found the spot where Light Alloy failed to open files when LAV 0.60 is used.

BeginEnumFilters(m_pGB, pEF, pBF);
{
if (CComQIPtr<IPropertyBag> pPB = pBF) {
CComVariant var;
m_logger->LOG_INFO(_T("IPropertyBag found, reading ROTATION data..."));
if (SUCCEEDED(pPB->Read(CComBSTR(_T("ROTATION")), &var, NULL))) { <--- here.

If I comment this line, LAV works fine. Why it is fails - I didn't figured out yet... doesn't work for ones, but work fine for others. And no problem with LAV 0.59.

nevcairiel
12th January 2014, 17:50
0.59 didn't have IPropertyBag yet. :)

I'm slightly confused by your code though.
http://msdn.microsoft.com/en-us/library/aa768197(v=vs.85).aspx

The Read method takes a LPCOLESTR, which is a "const WCHAR*", and not a BSTR. This may cause the issues here.

wanezhiling
12th January 2014, 17:57
http://files.1f0.de/tmp/LAVSplitter-e53b442.zip
http://files.1f0.de/tmp/LAVSplitter-273b52e.zip

http://i1.tietuku.com/raljyymxr.png
http://i1.tietuku.com/79qfjvdb3.png
Works fine with both :o
Hmmm... which change led to this issue.. I have no idea now..


By the way, still works in other players for you, doesn't it?

Yes, works in mpc-be/mpc-hc/potplayer etc.

zallen
12th January 2014, 18:12
0.60 appeared on off.page for download. LAV Splitter 0.60 does`t connect for Light Alloy 4.7.7 .
LAV Audio 0.60 connect but on Hi10P does`t working without LA int. audio switcher, nevertheless it worked in 59.1 .

:devil:

Kinjal
12th January 2014, 18:14
nevcairiel
>The Read method takes a LPCOLESTR, which is a "const WCHAR*", and not a BSTR. This may cause the issues here.
Nope. Problem was laying in other spot...
CComVariable var; => CComVariable var(""); -- and issue has been fixed. :) At least for me.

nevcairiel
12th January 2014, 18:16
Weird. Oh well. As long as it works, i guess!

nevcairiel
12th January 2014, 18:40
http://i1.tietuku.com/raljyymxr.png
http://i1.tietuku.com/79qfjvdb3.png
Works fine with both :o
Hmmm... which change led to this issue.. I have no idea now..

Can you try this version?
http://files.1f0.de/tmp/LAVSplitter-cc752b5.zip

I added some safety checks to try to fix it on my end for unfixed versions of LightAlloy as well.

wanezhiling
12th January 2014, 18:49
Can you try this version?
http://files.1f0.de/tmp/LAVSplitter-cc752b5.zip

I added some safety checks to try to fix it on my end for unfixed versions of LightAlloy as well.

Works now! :D

http://i1.tietuku.com/qsqr5ak1p.png

zallen
12th January 2014, 19:39
nevcairiel rebuild lav splitter and Vortex at the same time rebuild Light Alloy. Now works lav filters first version. :)

http://img542.imageshack.us/img542/3578/gee5.jpg (http://img809.imageshack.us/img809/1534/af4e.jpg)

PetitDragon
12th January 2014, 19:48
Nine Muse "works" for me too.:D

DragonQ
12th January 2014, 19:49
If you can give me a sample file where this is rather obvious, i could have a look why its happening, and possibly fix it.

Here's a sample. (http://www.aotplaza.com/Files/HTPC/Samples/Edit%20Weirdness%20-%20Sample%20(1080i).mkv) At the edit boundary (00:08) you can see the frame freeze and then the channel logo and graphics at the top half of the screen flash on and off for a bit before going back to normal when using LAV Splitter/Video/Audio in MPC-HC. The effect seems a bit different depending on whether I'm using EVR-CP or MadVR but it's there with both.

When playing the file in MediaPortal (using MediaPortal's TSReader & LAV Video/Audio), the edit is clean.

EDIT: Using DXVA2 Native by the way but I don't think it matters.

zallen
12th January 2014, 20:25
Can you try this version?
http://files.1f0.de/tmp/LAVSplitter-cc752b5.zip

LAV Splitter updated without problems clings to LA 4.7.7 RC

nevcairiel
12th January 2014, 20:39
Here's a sample. (http://www.aotplaza.com/Files/HTPC/Samples/Edit%20Weirdness%20-%20Sample%20(1080i).mkv) At the edit boundary (00:08) you can see the frame freeze and then the channel logo and graphics at the top half of the screen flash on and off for a bit before going back to normal when using LAV Splitter/Video/Audio in MPC-HC.

I can tell you why this happens (because there is no IDR frame to seperate the two scenes, so they get mixed up), but i can't fix it, because you muxed it into a MKV. TS files get a bit of special handling, where it might be able to detect it. MKVs, not so much.

DragonQ
12th January 2014, 20:47
I can tell you why this happens (because there is no IDR frame to seperate the two scenes, so they get mixed up), but i can't fix it, because you muxed it into a MKV. TS files get a bit of special handling, where it might be able to detect it. MKVs, not so much.
I remux most recordings to MKV mainly to save space, except for when it causes problems (A/V synch being out or duration being wrong being the two most common ones).

It must be possible to fix because it works using other software, but are you saying that there's no way to fix it in LAV because of how it's coded? MediaPortal is open source; perhaps it's possible to figure out how that handles it and why it works? Could it be something to do with the player rather than splitter/codecs?

nevcairiel
12th January 2014, 21:25
You said their TS reader makes it work, a TS reader can read MKV files? :p

TS files have a bit more information specific to broadcast, which is quite possibly lost when remuxing.
The MKV is read 1:1 as it was encoded, so if it doesn't play properly, its obviously muxed wrong. MKVs don't carry any metadata to signal if there was a stream break, while TS files may.

So no, I can't fix it if its in a MKV.

DragonQ
12th January 2014, 21:55
You said their TS reader makes it work, a TS reader can read MKV files? :p

TS files have a bit more information specific to broadcast, which is quite possibly lost when remuxing.
The MKV is read 1:1 as it was encoded, so if it doesn't play properly, its obviously muxed wrong. MKVs don't carry any metadata to signal if there was a stream break, while TS files may.

So no, I can't fix it if its in a MKV.
The "MediaPortal File Reader" uses a file called TSReader.ax, so I assumed it just read all files in MediaPortal. After doing some digging it looks like it's actually using LAV Splitter...in which case, LAV Splitter does seem to handle the edit fine in that application. Perhaps it's just MPC-HC that handles it incorrectly?

nevcairiel
12th January 2014, 22:01
If i use EVR-CP in MPC-HC, I also don't really see the effect. It freezes briefly, but if you don't know that its there, you wouldn't notice.
With normal EVR, you see the flashing effect.

DragonQ
12th January 2014, 22:41
If i use EVR-CP in MPC-HC, I also don't really see the effect. It freezes briefly, but if you don't know that its there, you wouldn't notice.
With normal EVR, you see the flashing effect.
Agreed but this happens to be a sample where barely anything changes in the video when the cut happens. The effect can be majorly obvious with other material.

Would you agree that the problem is worst with MadVR?

romulous
13th January 2014, 02:27
Hi Nev,

Thanks for the new version.

LAV Filters 0.60

- Additional metadata from the source file is exported through IPropertyBag (including "ROTATION" for video orientation information)



Does this mean that the video will be decoded in the correct orientation, or is support still required in the renderer (ie we're still waiting on madshi)?

Thanks!

nevcairiel
13th January 2014, 08:45
All it does is allow the player to read the metadata, anything else is up to the player.

Reino
13th January 2014, 18:08
LAV Splitter
- Support for reading embedded Cue Sheets from audio files as chaptersThanks a lot for this!
But could you please put the TRACK <ID> in front of <TITLE>? Like this: 01. Track-title, 02. Track-title, etc.

Furthermore, navigating the cue-entries goes really smooth for FLAC and APE, but not for WV, TAK and MKA. It's not as bad as MPC-BE's TAK Source Filter initially used to be, but the audio is still off. For a sample see PM from 5 sept 2013.

nevcairiel
13th January 2014, 18:10
Many of the sample files I had included a number in their title, and it would look rather ugly if the ID is prepended, which is why I didn't do it. But I'm open to change that, i guess. On the other hand, do normal chapters get their index added?

Regarding seeking, FFmpeg is not designed for perfect seeking in files without timestamps. I won't be able to fix that without completely re-designing how such files are handled. So its not going to happen anytime soon.

Sebastiii
13th January 2014, 20:46
Thanks for new version :)

Reino
13th January 2014, 23:37
Many of the sample files I had included a number in their title... On the other hand, do normal chapters get their index added?Imo you should treat mkv-chapters and cue-sheet entries differently.
I take it you mean all samples, because TRACK ## is an essential command in a cue-sheet (https://en.wikipedia.org/wiki/Cue_sheet_%28computing%29#Essential_commands). This is what I suggested earlier in the MPC-BE thread:
Next,... at the moment "PERFORMER" (Artist) is always shown (for WavPack and FLAC as well) in the Navigate-menu as; 01. Artist-1 - Audiotrack_Titel-1. For...
REM GENRE Classical
PERFORMER "Various Artists"
TITLE "Album_name"
FILE "Sample.tak" WAVE
TRACK 01 AUDIO
TITLE "Audiotrack_Title-1"
PERFORMER "Artist-1"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "Audiotrack_Title-2"
PERFORMER "Artist-2"
INDEX 01 09:13:38
TRACK 03 AUDIO
TITLE "Audiotrack_Title-3"
PERFORMER "Artist-3"
INDEX 01 15:16:38...that's perfectly fine, but for most cases...
REM GENRE Rock
PERFORMER "Artist-X"
TITLE "Album-Y"
FILE "Sample.tak" WAVE
TRACK 01 AUDIO
TITLE "Audiotrack_Title-1"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "Audiotrack_Title-2"
INDEX 01 01:24:03
TRACK 03 AUDIO
TITLE "Audiotrack_Title-3"
INDEX 01 06:16:73...where there's only 1 artist, I'd say omit "PERFORMER"; 01. Audiotrack_Titel-1.
So, if TRACK PERFORMER "" exists, Navigate-menu entry: 01. <PERFORMER> - <TITLE>, else 01. <TITLE>.What do you say?
LAV Source being able to read cover-art would be awsome too btw! :p

Regarding seeking, FFmpeg is not designed for perfect seeking in files without timestamps.Why reinvent the wheel when MPC-BE devs have already done that? With their source filter, at least with WV and TAK, it's all smooth.

I just made a donation btw, because I really appreciate all your time and work you put into this project! Thanks a lot!

romulous
14th January 2014, 12:47
Hi nev,

I don't make use of the bitstreaming feature of LAV, but I understand from someone that does bitstream their audio that unlike AC3 Filter, LAV does not support automatic fallback to non-bitstreaming if bitstreaming is not supported by the audio renderer (that is, LAV Audio does not work if bitstream is enabled but the audio renderer does not support it). Is this something that could be added to LAV, to make it behave like AC3 Filter? Or is there a reason why LAV does not already do this?

Regards,

romulous

nevcairiel
14th January 2014, 13:02
I take it you mean all samples, because TRACK ## is an essential command in a cue-sheet (https://en.wikipedia.org/wiki/Cue_sheet_%28computing%29#Essential_commands). This is what I suggested earlier in the MPC-BE thread:
What do you say?

I suppose i can change it to do it that way. I don't care much myself, I don't play music with LAV.


LAV Source being able to read cover-art would be awsome too btw! :p

It can actually read the cover art, but it doesn't tell anyone about it. Should it make it a fake video stream, or export through some metadata? I don't know.

LAV does not support automatic fallback to non-bitstreaming if bitstreaming is not supported by the audio renderer (that is, LAV Audio does not work if bitstream is enabled but the audio renderer does not support it).

I tried to do that at some point in the past, but it failed rather weirdly with some players, so i moved trying again to the distant future.
The user should know if his sound system can do bitstreaming and only turn it on when he can use it, tbh. :)

romulous
14th January 2014, 14:36
Ok, thanks for the answer nev.

romulous

DarkSpace
14th January 2014, 14:50
Thanks for the new version!

However, reading chapters from FLAC files with embedded CUE sheets doesn't appear to work any different than it did before: I get the chapters just fine, but they aren't named, and the CUE sheet does specify Titles. However, it seems to work for others, e.g. CoRoNe is even able to propose a different naming scheme. So, do I just create my FLACs the wrong way (flac.exe -8 --cuesheet "Cuesheet.cue" "infile.wav" -o "outfile.flac") or do you need a sample?
If I'm creating the files the wrong way, what is the correct way to create them?

sebas_led
14th January 2014, 14:50
It can actually read the cover art, but it doesn't tell anyone about it. Should it make it a fake video stream, or export through some metadata? I don't know.

Yes, a 'fake' video will be good to have. With options to define fps, size, and space color if possible :)

nevcairiel
14th January 2014, 14:52
Thanks for the new version!

However, reading chapters from FLAC files with embedded CUE sheets doesn't appear to work any different than it did before: I get the chapters just fine, but they aren't named, and the CUE sheet does specify Titles. However, it seems to work for others, e.g. CoRoNe is even able to propose a different naming scheme. So, do I just create my FLACs the wrong way (flac.exe -8 --cuesheet "Cuesheet.cue" "infile.wav" -o "outfile.flac") or do you need a sample?
If I'm creating the files the wrong way, what is the correct way to create them?

This only works on files which have a normal cuesheet in a "CUESHEET" metadata. I don't know how FLAC stores them, but it may be different if you create them like that.
I have a few FLAC files where it works, though.

Yes, a 'fake' video will be good to have. With options to define fps, size, and space color if possible :)

Its compressed images, they have a fixed size and codec, can't change that.

DarkSpace
14th January 2014, 14:57
This only works on files which have a normal cuesheet in a "CUESHEET" metadata. I don't know how FLAC stores them, but it may be different if you create them like that.
I have a few FLAC files where it works, though.
Wow, that was rather fast!
Might a sample file help? (How much do you need for a sample? Do you need the entire file, or would e.g. 10 Minutes be enough?)

sebas_led
14th January 2014, 15:21
Its compressed images, they have a fixed size and codec, can't change that.

You're right. I was thinking on .MP3, .OGG and .FLAC so the player can show the 'cover art' as a video.

nevcairiel
14th January 2014, 17:06
Wow, that was rather fast!
Might a sample file help? (How much do you need for a sample? Do you need the entire file, or would e.g. 10 Minutes be enough?)

Small sample may help, that information is usually in the file header, so it can be short-ish.

DarkSpace
14th January 2014, 19:20
Thanks. I prepared a small sample here (http://www.sendspace.com/file/33mhau). If you need the cuesheet as well, just tell me, please.

nevcairiel
14th January 2014, 19:26
Thanks. I prepared a small sample here (http://www.sendspace.com/file/33mhau). If you need the cuesheet as well, just tell me, please.

Turns out the "native" FLAC CUE SHEET doesn't have any string information. Its just the time with an optional identifier number.

See also here:
http://xiph.org/flac/faq.html#general__no_cuesheet_tags

You can however store "VORBIS COMMENT" metadata in FLAC, and if you store one with the key "CUESHEET" and the full cue sheet as text value, LAV will parse it. No idea how to create such files though.

nevcairiel
14th January 2014, 19:47
LAV Filters 0.60.1

LAV Splitter
- Fixed a crash when opening MPEG-2 files with Stereo3D Metadata
- Improved the format of the chapter names created from embedded cue sheets
- Fixed an incompatibility in the IPropertyBag metadata interface with a few players


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

In case you missed the release of LAV Filters 0.60, the release notes are here (http://forum.doom9.org/showthread.php?p=1661777#post1661777).

This version just fixes a few small issues and adds one improvement.
Nothing to get overly excited about.

Other than those changes in this version, 0.60 has been relatively smooth so far, no huge complaints or crashes, despite my cleanup efforts.

Have fun with this version!

DarkSpace
14th January 2014, 20:39
Turns out the "native" FLAC CUE SHEET doesn't have any string information. Its just the time with an optional identifier number.

See also here:
http://xiph.org/flac/faq.html#general__no_cuesheet_tags

You can however store "VORBIS COMMENT" metadata in FLAC, and if you store one with the key "CUESHEET" and the full cue sheet as text value, LAV will parse it. No idea how to create such files though.
Thanks for looking into this. That means I Did It Wrong(tm), and I'll have to find out how to do it correctly.

Edit: Thanks to your link (it didn't even occur to me that something other than the full cuesheet might be stored in the flac file, but I only read the command line switches' documentation), I found a starting point and now it works. Great work!

Reino
14th January 2014, 23:48
Adding cuesheet to FLAC's own cuesheet metadata block:
flac.exe --cuesheet="image.cue"
metaflac.exe --import-cuesheet-from="image.cue"

Adding cuesheet as tag:
foobar2000
Mp3Tag
metaflac.exe --set-tag-from-file="CUESHEET=image.cue"


Thanks for the quick chapter-name-format-improvement! Looks a lot better.
It can actually read the cover art, but it doesn't tell anyone about it. Should it make it a fake video stream, or export through some metadata? I don't know.I don't know how MPC-BE devs did it, but without a video decoder or even a video renderer they managed to make it show cover-art.

I take it MPC-BE's TAK Source Filter, just like yours, is based on ffmpeg's revers-engineered version. Can't you 'borrow' their code for accurate time-seeking?

DarkSpace
15th January 2014, 01:06
Adding cuesheet to FLAC's own cuesheet metadata block:
flac.exe --cuesheet="image.cue"
metaflac.exe --import-cuesheet-from="image.cue"

Adding cuesheet as tag:
foobar2000
Mp3Tag
metaflac.exe --set-tag-from-file="CUESHEET=image.cue"
Thank you, that makes things a lot easier! So far, I inserted the cuesheet tag into the flac files after creation using mp3tag, but your way enables me to add them during creation also:
flac.exe --tag-from-file="CUESHEET"="image.cue"
Also, now that I do see the filenames ;) I agree with you that adding the track number in front of the title seems like a good idea.
Thanks for the help nev and CoRoNe!

(I'm still going to specify --cuesheet also, because the way I understand it, that option also sets seekpoints at the chapter boundaries.)

Aleksoid1978
15th January 2014, 05:15
I tried to do that at some point in the past, but it failed rather weirdly with some players, so i moved trying again to the distant future.
The user should know if his sound system can do bitstreaming and only turn it on when he can use it, tbh. :)

I do it in MPC-BE's Audio Decoder. I do not know about some players - but it's work with MPC-BE/MPC-HC.
This is very handy indeed :)

P.S. All you need - to find in the graph AudioRenderer, that's connect after LAV Audio Decoder, even through intermediate filters.

bin_ch
15th January 2014, 09:01
Actually it will if you specify favorite subtitle languages. If you don't specify sub languages then it indeed won't.
Hi,

Is this statement still supposed to stand true with recent versions?
It seems some change made between 0.58.2 and 0.59 changed this behavior.
Up to 0.58.2, the splitter works as described above, but starting with 0.59, the first subtitle track in an .mkv file gets selected even if none of them are flagged as default nor forced, and there are no preferred languages specified. Subtitle Selection Mode is set to Default.
I am wondering is this change intentional.

PPPPark
16th January 2014, 15:02
HI~

I've encountered jerky playback on almost all RealMedia files with latest 0.60.1 build.

PS: works fine with 0.59.

Qotscha
16th January 2014, 18:48
The user should know if his sound system can do bitstreaming and only turn it on when he can use it, tbh. :)

This is problematic if audio output that supports bitstreaming is used only occasionally. For example, if you watch some videos on your monitor using desktop speakers but watch movies with your big screen home theater system using bitstreaming to AV receiver.

Aleksoid1978
17th January 2014, 06:18
Hi nevcairiel
LAV Video(software mode) + MPC-BE's MPEGSplitter - gray screen after seeking on this sample http://aleksoid.voserver.net/Sample/H264/L5.2/jerky_playback_Level_5.2.ts
DXVA mode work fine.

Here MPC-BE - http://aleksoid.voserver.net/MPC-BE/mpc-be.exe_4262.7z

Andy o
17th January 2014, 10:02
ArcSoft TotalMedia Theatre 6.0.1.123 released.

dtsdecoderdll.dll v1.1.0.9 !!! :D

Old news, but since I don't think anybody said it, this one still doesn't fix 6.0 streams. The rear channel doesn't play. Which means that if you ever run into a DTS-HD 6.0 track, you're probably better off using the dca decoder and getting the ES 6.0 core track.

DragonQ
17th January 2014, 12:37
So what are the differences, if any? I assume there's no official changelog, unless the changelog for TMT itself gives us a clue?

Also, is the only reason that DTS-HD isn't decodable via ffmpeg yet just because it hasn't been "figured out", or are there other legal reasons? I'm sure there's plenty of codecs included in ffmpeg that require a licence but no-one enforces it so it doesn't matter.

smallflightlessbird
17th January 2014, 22:01
This may not be the place for such a simple question, but I'm trying to install the latest LAV update, and I can't figure out whether I've got the x64 or the x86 version installed already. Is there a way to determine that, before I proceed? Thanks for your help.

DragonQ
17th January 2014, 22:44
This may not be the place for such a simple question, but I'm trying to install the latest LAV update, and I can't figure out whether I've got the x64 or the x86 version installed already. Is there a way to determine that, before I proceed? Thanks for your help.
If you used the installer you should have both. No reason not to have both.

DragonQ
18th January 2014, 17:04
Can anyone confirm whether they get audible clicks and pops in this sample (http://www.aotplaza.com/Files/HTPC/Samples/DTS-HD%20MA%20Pops%20-%20Sample.mkv) when using dtsdecoderdll please? It's 7.1 DTS-HD MA and I get clicks and pops all over the place when using v1.1.0.8 or v1.1.0.9 of the dll with LAV Audio 0.60.1 (no matter whether I have mixing enabled or not). Works fine using the in-built DTS decoder. The most obvious glitch is dead centre at 00:02.

Apologies for the large file size.

P.J
18th January 2014, 19:37
My guess is some of the optimizations for ProRes are only available on 64-bit, which accounts for such a huge difference.

Here's Quicktime 7 x86 player that uses the same resource like LAV x64:

http://thumbnails109.imagebam.com/30221/473f2f302204746.jpg (http://www.imagebam.com/image/473f2f302204746)

But LAV x86 uses twice more CPU usage ~65% :confused:

michkrol
18th January 2014, 22:34
Here's Quicktime 7 x86 player that uses the same resource like LAV x64:
(IMG)
But LAV x86 uses twice more CPU usage ~65% :confused:

I've checked some files in ProRes format in ffplay and the difference between 32 and 64 bit is there, so you might want to bring it to ffmpeg's developers' attention as it's always better to get things patched upstream.

That said this format is not really popular (and not intended) for actual playback, but as intermediate used in video editing. Personally I don't see a problem as long as it plays in real-time without a problem and would rather see developers investing time in common formats' support and new features.

nevcairiel
18th January 2014, 22:50
Like I explained before, and I just checked to confirm, all the optimizations for ProRes are only available in 64-bit. Most likely because their complexity is too high, and they need more registers then 32-bit can offer, so it was written only for 64-bit.
This is a common trend as codecs get more and more complex, and their optimized functions need more then the 7 gp registers or 8 SIMD registers that 32-bit mode is limited to (in contrast to 15 gp and 16 SIMD in 64-bit). For example, many of the VP9 SIMD improvements commited to FFmepg over the last weeks are also only 64-bit for the same reason - they need more registers.

Just accept it as it is. Or use 64-bit.

jkauff
19th January 2014, 09:46
Just accept it as it is. Or use 64-bit.
The only problem with going 64-bit is you have to leave madVR behind. That's the only reason I'm still 32-bit.

turbojet
19th January 2014, 10:18
Can anyone confirm whether they get audible clicks and pops in this sample (http://www.aotplaza.com/Files/HTPC/Samples/DTS-HD%20MA%20Pops%20-%20Sample.mkv) when using dtsdecoderdll please? It's 7.1 DTS-HD MA and I get clicks and pops all over the place when using v1.1.0.8 or v1.1.0.9 of the dll with LAV Audio 0.60.1 (no matter whether I have mixing enabled or not). Works fine using the in-built DTS decoder. The most obvious glitch is dead centre at 00:02.

Apologies for the large file size.

Sounds fine here with 1.1.0.9. TMT not installed.

cyberbeing
19th January 2014, 10:55
All versions of LAV Splitter seem to hang MPC-HC if you have a MKV with a chapter specified with a start timecode beyond the end of the file, and you have more than one file in your playlist.

When using Haali splitter, MPC-HC only fails to automatically proceed to the next file in the playlist, but doesn't hang.

nevcairiel
19th January 2014, 12:05
LAV doesn't use chapters for playback (unless you're talking about ordered chapters), so there must be a MPC-HC thing involved.

bugmen0t
19th January 2014, 12:47
Hi,

Is this statement still supposed to stand true with recent versions?
It seems some change made between 0.58.2 and 0.59 changed this behavior.
Up to 0.58.2, the splitter works as described above, but starting with 0.59, the first subtitle track in an .mkv file gets selected even if none of them are flagged as default nor forced, and there are no preferred languages specified. Subtitle Selection Mode is set to Default.
I am wondering is this change intentional.
For me the subtitle track is initially selected correctly but switches to the first one a few seconds later.

nevcairiel
19th January 2014, 12:47
Thats a player then, LAV doesn't change anything ever by itself after the initial selection.

Plutotype
19th January 2014, 13:21
Hi Nev,
Does MPC-HC store now also all LAVfilters ( splitter, video, audio ) settings in its own .ini file?
Thanks

nevcairiel
19th January 2014, 13:29
I develop LAV Filters, not MPC-HC.
Its certainly possible for a player to completely control the configuration of LAV, i build it that way, but if it stores it completely in its own config, ask the developers that built it!

DragonQ
19th January 2014, 13:39
Sounds fine here with 1.1.0.9. TMT not installed.
Hmm how strange. It happens for me in both MPC-HC and MediaPortal on two different machines. Did you test using LAV Splitter & LAV Video too?

Plutotype
19th January 2014, 13:49
I develop LAV Filters, not MPC-HC.
Its certainly possible for a player to completely control the configuration of LAV, i build it that way, but if it stores it completely in its own config, ask the developers that built it!

Tested couple of settings from all three inbuilt filters, MPC-HC stores the settings from LAV components as well. Its a nice feature for all unexperienced users - you can pre-configure the MPC-HC inclusive LAV filters and share the mpc-hc.ini file with them.

nevcairiel
19th January 2014, 13:50
Can anyone confirm whether they get audible clicks and pops in this sample (http://www.aotplaza.com/Files/HTPC/Samples/DTS-HD%20MA%20Pops%20-%20Sample.mkv) when using dtsdecoderdll please? It's 7.1 DTS-HD MA and I get clicks and pops all over the place when using v1.1.0.8 or v1.1.0.9 of the dll with LAV Audio 0.60.1 (no matter whether I have mixing enabled or not). Works fine using the in-built DTS decoder. The most obvious glitch is dead centre at 00:02.


It looks like there is one HD frame missing (one audio frame only has the core frame), and the decoder gets confused by that and fails to decode this one frame, so 10ms of audio are missing.
I checked my mkv version of this movie (directly copied from BD with MakeMKV), and its fine. So something must've gone wrong somewhere. :)

Of course the avcodec decoder doesn't notice such a missing HD frame, since it can't decode them!

cyberbeing
19th January 2014, 14:23
LAV doesn't use chapters for playback (unless you're talking about ordered chapters), so there must be a MPC-HC thing involved.

Just normal chapters.

It probably is the fault of MPC-based chapter/playlist handling, as the same issue also occurs with MPC-BE when using LAV Splitter, but not with it's internal MKV Splitter.

The question remains as to why only LAV Splitter seems to trigger a deadlock when MPC most likely attempts to load/read/seekto that last bogus chapter. I did notice that the LAV Splitter Tray icon will seek beyond the valid timeline (i.e. 00:31/00:30 with 00:31 chapter) when such a chapter is selected and the video is paused, while the Haali Splitter Tray Icon by comparison seeks to the last valid timecode (i.e. 00:30/00:30 with 00:31 chapter), instead of the invalid timecode in the chapter file. Could be unrelated, but strange none the less.

nevcairiel
19th January 2014, 14:27
When LAV tries to seek a MKV to after its duration, it'll probably seek to the last frame in the file and then immediately return EndOfStream, which would cause the player to enter pause state.
Seems all to be working as designed from that description.

The reason it allows such seeks is for growing files, it may actually have chapter information for the whole file, but at the time of playback start only a part was downloaded already, so the duration is wrong.
No reason not to allow the chapter jump, in case more data was downloaded now. It'll fail gracefully and just cause an EOF event if it doesn't have such data.

DragonQ
19th January 2014, 14:45
It looks like there is one HD frame missing (one audio frame only has the core frame), and the decoder gets confused by that and fails to decode this one frame, so 10ms of audio are missing.
I checked my mkv version of this movie (directly copied from BD with MakeMKV), and its fine. So something must've gone wrong somewhere. :)

Of course the avcodec decoder doesn't notice such a missing HD frame, since it can't decode them!
Only one frame in the whole sample? I get clicks and pops all through the film and a few times even in that sample.

I do have other rips that have 7.1 DTS-HD MA tracks though and they're all fine. I guess for now I'll just use the core DTS until I can be bothered to rerip it.

nevcairiel
19th January 2014, 14:45
Probably for all the places where it happens.

P.J
19th January 2014, 14:50
Like I explained before, and I just checked to confirm, all the optimizations for ProRes are only available in 64-bit. Most likely because their complexity is too high, and they need more registers then 32-bit can offer, so it was written only for 64-bit.
This is a common trend as codecs get more and more complex, and their optimized functions need more then the 7 gp registers or 8 SIMD registers that 32-bit mode is limited to (in contrast to 15 gp and 16 SIMD in 64-bit). For example, many of the VP9 SIMD improvements commited to FFmepg over the last weeks are also only 64-bit for the same reason - they need more registers.

Just accept it as it is. Or use 64-bit.

First lemme thank you very much for reply :thanks:

Yes, you're right but I just wonder why Quicktime can play ProRes with less CPU usage while it's working in 32bit mode :confused:

turbojet
20th January 2014, 06:29
Hmm how strange. It happens for me in both MPC-HC and MediaPortal on two different machines. Did you test using LAV Splitter & LAV Video too?

Yes but I didn't have normalization on and the background noise was drowning out the problem. After turning on normalization I can hear 4 pops with dtsdecoderdll. There's something wrong at 0:03 for dts core decoders too here.

SUPERBIF
20th January 2014, 12:10
A quick question:

Are there any disadvantages by updating LAV filters? Can the picture quality change?

wanezhiling
20th January 2014, 12:30
Why you ask this?
LAV filters decrease image quality on your system?

LigH
20th January 2014, 12:38
There will never be a guarantee that all decoders will work bug-free at any time. But in general, it will be very improbable that a low-quality feature will ever be implemented. Decoding will usually be rather "exact", and displaying the result will be a matter of the following renderer, after LAV filters did their job.

ryrynz
20th January 2014, 13:05
Just following previous posts with more direct responses to Superbif's questions.


Are there any disadvantages by updating LAV filters?

Generally none, any regressions are taken care of by Nevcairiel in short order, I would always upgrade to the latest version.


Can the picture quality change?


If everything is as it should be, there should never be any regressions in picture quality, things can sometimes improve though.

SUPERBIF
20th January 2014, 13:15
Just following previous posts with more direct responses to Superbif's questions.



Generally none, any regressions are taken care of by Nevcairiel in short order, I would always upgrade to the latest version.



If everything is as it should be, there should never be any regressions in picture quality, things can sometimes improve though.

Thanks for the quick answers:)
Regarding the picture quality I updated, and thought the picture was not as sharp as v. 49 something, but it's just my eyes I'm sure now, so thanks for confirming.

Stereodude
21st January 2014, 04:59
Should DXVA2 native and copy back behave differently on the same file MPEG-2 video stream on a HD 7790 with the 13.12 Catalyst drivers? Software decoding and DXVA2 copy back behave the same way reporting a 33.37ms movie frame interval and IVTC works (within madVR). DXVA2 native reports back a 16.68ms movie frame interval and IVTC doesn't work (within madVR).

I can only guess that the output from LAV to the downstream video chain is not the same. This is the integrated LAV version in MPC-HC 1.71.

Sparktank
21st January 2014, 05:54
Can anyone confirm whether they get audible clicks and pops in this sample (http://www.aotplaza.com/Files/HTPC/Samples/DTS-HD%20MA%20Pops%20-%20Sample.mkv) when using dtsdecoderdll please? It's 7.1 DTS-HD MA and I get clicks and pops all over the place when using v1.1.0.8 or v1.1.0.9 of the dll with LAV Audio 0.60.1 (no matter whether I have mixing enabled or not). Works fine using the in-built DTS decoder. The most obvious glitch is dead centre at 00:02.

Using: 1.1.0.1.
I hear a popping noise at the said time when the scene switches to the guard.

There are other noises here and there, but it's always random. I replayed the clip and the noises weren't in the same spot except for the pop at the scene change with the guard.

I noticed you used the "Jan 8" build for MKVtoolnix 6.7.0 (x64).
I've noticed that not all remuxes using the x64 build are 100% clean but that's for further investigation to be brought up in the MKVtoolnix thread (with reproductive evidence).

If you try remuxing from the source again using the x86 build (or maybe a pre-build of x64), it will remux cleanly (or stick with whatever MakeMKV creates).
If you try to remux the damaged file, you'll only remux the damages.

But yes, I've experiences weird noise defects using ArcSoft/LAV but it seems limited to only x64 remuxes.

huhn
21st January 2014, 07:53
Should DXVA2 native and copy back behave differently on the same file MPEG-2 video stream on a HD 7790 with the 13.12 Catalyst drivers? Software decoding and DXVA2 copy back behave the same way reporting a 33.37ms movie frame interval and IVTC works (within madVR). DXVA2 native reports back a 16.68ms movie frame interval and IVTC doesn't work (within madVR).

I can only guess that the output from LAV to the downstream video chain is not the same. This is the integrated LAV version in MPC-HC 1.71.

you can't use madvr ivtc with dxva native. ivtc runs on the cpu and need the decoded frames, but with dxva native they are already on the gpu and not copy back so madvr uses your gpu deinterlacer.

madshi
21st January 2014, 10:28
you can't use madvr ivtc with dxva native. ivtc runs on the cpu and need the decoded frames, but with dxva native they are already on the gpu and not copy back so madvr uses your gpu deinterlacer.
That is correct. The madVR IVTC algoritm currently doesn't support native DXVA2 decoding, unfortunately. Not LAV's fault.

Stereodude
21st January 2014, 13:25
you can't use madvr ivtc with dxva native. ivtc runs on the cpu and need the decoded frames, but with dxva native they are already on the gpu and not copy back so madvr uses your gpu deinterlacer.I see...

Thanks for the explanation.

jkauff
21st January 2014, 14:17
That is correct. The madVR IVTC algoritm currently doesn't support native DXVA2 decoding, unfortunately. Not LAV's fault.
Yet another good reason to use LAV software decoding, if possible.

andyvt
21st January 2014, 14:22
Yet another good reason to use LAV software decoding, if possible.

Or a method that copies the surface back to system memory.

huhn
21st January 2014, 15:04
Yet another good reason to use LAV software decoding, if possible.

but dxva copy back works fine too. it's not like you can't use dxva.

Stereodude
21st January 2014, 18:20
but dxva copy back works fine too. it's not like you can't use dxva.Well, it seems like copy back takes longer so you have less rendering time for madVR's scaling/processing and then can get dropped frames. Or at least that was my quick observation last night when testing.

sgraves66
21st January 2014, 21:08
i have a minor issue that, to date, i haven't been able to solve. i'm building a custom graph with lav filters (0.60.1), madvr (0.86.11) and, when applicable, xy-VSFilter. the first time i start any video after a reboot, and only after a reboot, there's a tremendous amount of lag, stuttering, and audio is out-of-sync. my application fails to respond while this settles, so whatever is happening is also blocking the main ui thread. it takes 30 seconds or so to flesh-out. pausing playback, and waiting a few seconds seems to help.

after this, as long as i don't reboot, the problem never surfaces again, even after restarting the application. i'm inclined to think it's a file sharing issue as i've run out of viable options from the application side. i was curious to know if anyone else has experienced this. i suspected it could also be an issue with xy-VSFilter, but same results with or without the filter added. attached is the graph.

http://i41.tinypic.com/2n99k53.png

clsid
21st January 2014, 22:12
Monitor system activity with ProcessMonitor utility. Maybe some other program (like a virus scanner) is also accessing the file.

sgraves66
22nd January 2014, 03:41
Monitor system activity with ProcessMonitor utility. Maybe some other program (like a virus scanner) is also accessing the file.

Thanks for the suggestion. It's been an issue for 2 years now on all of my htpc's and I never bothered to revisit until today. It's definitly not a madVR or LAV bug, just annoying. My gut tells me it's a drive pooling issue that coincides with initial smb connect and not related to something local to the box or app. Virus/malware scanners have been ruled-out. I really just wanted to see if this may be a known or reported issue.

I used to pre-read portions of files prior to playback to allow time for sleeping drives to spin-up. Prevented some unexpected crashes. May add this back in to see if it helps. I had forgotten about this and, for some odd reason, your comment brought it back.

DragonQ
22nd January 2014, 11:46
Using: 1.1.0.1.
I hear a popping noise at the said time when the scene switches to the guard.

There are other noises here and there, but it's always random. I replayed the clip and the noises weren't in the same spot except for the pop at the scene change with the guard.

I noticed you used the "Jan 8" build for MKVtoolnix 6.7.0 (x64).
I've noticed that not all remuxes using the x64 build are 100% clean but that's for further investigation to be brought up in the MKVtoolnix thread (with reproductive evidence).

If you try remuxing from the source again using the x86 build (or maybe a pre-build of x64), it will remux cleanly (or stick with whatever MakeMKV creates).
If you try to remux the damaged file, you'll only remux the damages.

But yes, I've experiences weird noise defects using ArcSoft/LAV but it seems limited to only x64 remuxes.

Thanks for the investigation. I don't think the MKVToolnix issue is related; the original MKV I made was using a much older version and that also has the clicks & pops. It's only because I had to make a cut that the sample uses the most recent version of MKVToolnix.

Funnily enough, I'm not using MKVToolnix much at the moment because the BBC apparently changed their encoder settings slightly in late 2013 (on satellite at least) and now recordings of their HD channels don't mux correctly using either ffmpeg or MKVToolnix (possibly to do with "packed B frames" but I don't even know what that is). Mosu will hopefully look into this in a couple of weeks. For now, Haali's MKV muxer works fine.

Deihmos
22nd January 2014, 23:50
I have a video with 3 audio tracks and I have lav set to default to eng but it stiil goes to French when using lav audio decoder. The french audio is marked default and forced.

If I use ffdshow as the audio decoder it correctly selects eng audio.

Anyone know this is happening?

Soukyuu
23rd January 2014, 00:07
I would suspect it's because of the forced flag, which basically means "whatever the settings, play this one". ffdshow probably didn't respect the flag, that's all.

Deihmos
23rd January 2014, 02:09
I would suspect it's because of the forced flag, which basically means "whatever the settings, play this one". ffdshow probably didn't respect the flag, that's all.

I did some testing an removed the force flag and even the default flag and it still played the french audio. All audio streams are DTS and are the same quality.

I also set Lav to prefer Spanish and it selected that track then it changed right back to the first track. Couple videos it selected the commentary track. All these work fine when using ffdshow as the audio decoder.

nevcairiel
23rd January 2014, 08:38
LAV Audio does not influence the stream selection at all. It does not have a single line of code to influence anything, it just decodes whatever the splitter offers.

If the splitter does not select the track like it should based on its configuration, then in general it is your player which overrides its choice. Many players are trying to be too smart for their own good these days. LAVs stream selection still works perfectly.

cyberbeing
23rd January 2014, 14:53
LAV Video 0.55+ software decoding is showing fullframe corruption during a small segment of an old circa 2010 8-bit video encoded with x264 r1677.

ffmpeg ffplay 2014-01-23 git-e6d1c66 also shows this corruption, and reports the following error "Invalid mix of idr and non-idr slices", so it would seem a ffmpeg update you did after LAV Video 0.54.1 which broke this.


ffmpeg ffplay 2012-11-25 git-26c531c = no corruption or error message

ffmpeg ffplay 2012-12-26 git-ceee440 = corruption

libav avplay 2014-01-23 v10_alpha2-41-gcff480e = no corruption or error message

From the above, it would seem this regression only occurred in FFMPEG but not Libav.

nevcairiel
23rd January 2014, 14:54
Since you already determined its a FFmpeg issue, how about reporting it there? :)
Might be this issue, though: https://trac.ffmpeg.org/ticket/3131

cyberbeing
23rd January 2014, 15:15
Thanks for pointing out that ticket. It does seems like the same issue, especially considering the ffmpeg git-7973a075 commit mentioned was on 2012-12-16. Unfortunately, the video I saw this problem with isn't particularly suitable for posting publicly. Guess I'll just need to wait for ffmpeg to address this.

filler56789
23rd January 2014, 16:53
Might be this issue, though: https://trac.ffmpeg.org/ticket/3131

PERHAPS that's actually a multiplexing issue :confused:

I demuxed the sample file with mp4creator and remuxed it with L-Smash --- and now, no corrupted frames anymore :)

cyberbeing
23rd January 2014, 17:57
I can confirm this. If I demux the raw h264 from my own mp4 sample which has this problem and mux it into a mkv with mkvmerge the corruption goes away.

mp4 = corruption
mp4 -> mkv = corruption
mp4 -> demuxed raw h264 -> mkv = no corruption
mp4 -> mkv -> demuxed raw h264 -> mkv = no corruption

ffmpeg must not be handling strange mp4 h264 data properly or something.

Also interestingly with the original problem mp4:

LAV Video + LAV Splitter = Corruption
LAV Video + Haali Splitter = Corruption
LAV Video + MPC-BE MP4 Splitter = Corruption
LAV Video + Intel Media Codecs MP4 Splitter = No Corruption

So while this may actually be a container issue, it seems it probably needs to be fixed in ffmpeg at both the splitter and decoder stage for maximum compatibility.

Deihmos
23rd January 2014, 20:00
LAV Audio does not influence the stream selection at all. It does not have a single line of code to influence anything, it just decodes whatever the splitter offers.

If the splitter does not select the track like it should based on its configuration, then in general it is your player which overrides its choice. Many players are trying to be too smart for their own good these days. LAVs stream selection still works perfectly.

Oh I see I didn't know that. I am using windows media center. If I use ffdshow the stream selection works perfect. I guess I'll just use that instead for audio.

Sent from my HTC One using Tapatalk

mcnauge
24th January 2014, 17:48
Hello,

First, thanks for the great product!

My question/issue is that I checked with graphstudio to ensure I had everything setup correctly, and the DVD mkv movies are passing through lav audio and lav video. However, the blue-ray mkv movies are going through lav audio only...the video is going through Microsoft DTV-DVD Video Decorder.

Is this correct? I can se the DVDs are hardware accelerated when I click on the properties of LAV Video Decoder so I can only assume that the Microsoft decoder is software only.

Thanks,
Erik

nevcairiel
24th January 2014, 17:51
GraphStudio always uses the Windows' preferred filters, and unless you used one of those tools to override this, the Microsoft decoder is always the preferred H.264 decoder.
More important would be what happens in your player, tbh.

MPC-HC for example overrides this.

mcnauge
24th January 2014, 18:11
Thanks,

Is there a way to determine whether lav filters is the active decoder? for example, if I play a movie in MediaBrowser Theater or VLC or whatever, can I open something that shows it is actually using lav...and more importantly that's its using my NVIDIA CUVID hardware acceleration? (I checked the system tray icons and they don't show up at all, with various players and movies)

Thanks again,
Erik

nevcairiel
24th January 2014, 18:22
If you enable the system tray options in the LAV config, then the icons will show up when LAV is used - if they don't show up, its not used.
Note that VLC is not a DirectShow player, and therefor cannot use LAV.

mcnauge
24th January 2014, 18:31
Ahh, thanks for answering my newb questions.

The system tray is showing up when I play within MediaBrowser Theater...just under the green arrow of xy-vsfilter in the system tray.

Its all working perfectly now!

Thanks again!

huhn
25th January 2014, 12:25
is it possible that lavfilter can map the audio channel wrong?
some times on 2 stereo sources the two back channels are used.
it sounds like the 2 front channels are treated as back channels sometimes only 1 of them...
happens with lav stereo mixing setting soundcard input at 2-8 channels. is a asus essence stx with hardware mixer (even under windows 7) analog stereo output only.
it happens really rarely but it's pretty obvious when it happens.

nevcairiel
25th January 2014, 12:37
It can't map it "wrong", but its certainly possible for a file to indicate its two channels are supposed to go into the back channels or something stupid like that.
Then its your files fault.

huhn
25th January 2014, 14:46
reopening the file fix that so the file can't be wrong. leaves a driver problem?

i only got this problem when a file was running and i selected a new one. this problem is rarely so doesn't mean that much.

edit: got the problem right now changing the input layout in the sound card diver fix it, still wondering why this never happens in games and flashplayer.

Stereodude
26th January 2014, 00:12
Why do subtitles force themselves on when playing blu-ray discs in MPC-HC 1.71 with the included LAV filters? I changed the splitter preference to forced only, but that did not help.

mcnauge
26th January 2014, 01:10
One more question about the system tray I icons if I may.

Neither the video or audio systems trays present themselves when playing a movie. However, while the movie is playing if I open the configuartion windows and uncheck/check the show is system tray box then They both both up until I stop the movie and play another...then I have to go uncheck/check/apply again.

This is using mediabrowser theater and is being used and shows an active decoder while playing the movie.

I'm not sure what is causing that behaviour? Any ideas?

Thanks again

wanezhiling
27th January 2014, 08:18
http://h265encoding.com/downloads/bigBuckBunny_h265_360p.ts

Image is broken when seeking:http://i.imgur.com/RORTiLJ.png

nevcairiel
27th January 2014, 08:21
H.265 is still in the development stages, and such things will be corrected over time. No priority.

JEEB
27th January 2014, 09:46
http://h265encoding.com/downloads/bigBuckBunny_h265_360p.ts

Image is broken when seeking:http://i.imgur.com/RORTiLJ.png
Now, let's begin with the fact that the file lacks profile information, which means it was most probably encoded with an old HM version or something similar (this is out-of-spec btw, profile and level flags should always be there and set).

After we get done with that, the stream seems to use open gop (CRA [Clean Random Access] instead of IDR), and has three skippable leading pictures after IRAPs. Those seem to get skipped fine as far as I can see. Parameter sets are muxed only in the beginning, not sure if this exactly correct regarding seeking where you're supposed to be able to initialize decoding as-is :P (it surely does kill the primary use case of MPEG-TS, though).

Anyways, looking at the ffmpeg log from "ffmpeg -ss 00:06:00.00 -i bigBuckBunny_h265_360p.ts -f null -", I notice the decoder does not find the PPS or refs needed to decode. Not going to waste time on checking if the file works with the parameter sets muxed in at every IRAP, but I wouldn't be surprised if that fixes it. That said, I'm surprised it recovers at all. You can open up an issue with the file on the FFmpeg bug tracker if the current HEAD ffmpeg still outputs the same errors, but I recommend you also note in the issue that the file is not spec-compliant regarding the parameter sets at least, so it wouldn't be surprising if there were other problems with the stream if one looks closer.

Aleksoid1978
27th January 2014, 12:47
H.265 is still in the development stages, and such things will be corrected over time. No priority.

I think bug in hevc parser. Because with MPC-BE's MPEGSplitter - there is no image broken.

Stereodude
27th January 2014, 14:34
Thats a player then, LAV doesn't change anything ever by itself after the initial selection.Why doesn't the splitter honor the flags in the .mkv? If no subtitle tracks are flagged as forced or default=yes, it seems it should not pick any of them when the splitter is set to "default"?

nevcairiel
27th January 2014, 14:35
That depends if you configured subtitle languages. If you set preferred subtitle languages, then it will select tracks with that language.

Stereodude
27th January 2014, 14:58
That depends if you configured subtitle languages. If you set preferred subtitle languages, then it will select tracks with that language.With MPC-HC 1.7.2 (x86) and the integrated LAV filters (.60.1.5) I get English subtitles from .mkv files even though they're not flagged at forced or default=yes. The splitter is set to default and I have no preferred language. It basically does the same thing when playing back blu-ray discs too.

nevcairiel
27th January 2014, 15:32
All I can tell you is that MPC-HC is overriding LAVs choice. If you register an external LAV Splitter, it'll function as I designed LAV to function.
Anything else, you should take up with the MPC-HC developers.

cyberbeing
27th January 2014, 16:17
even though they're not flagged at forced or default=yes

I'm not seeing any issue with subtitle tracks flagged as "default=no" using LAV + MPC-HC 1.7.2.

You most likely forgot to disable the 'Playback -> Allow overriding external splitter choice' option in MPC-HC.

nevcairiel
27th January 2014, 16:19
Note that internal LAV does not count as "external splitter", so I suppose it can behave differently.

Stereodude
27th January 2014, 17:14
Is there a known issue with SD MPEG-2 (DVD) decoding with the QuickSync engine in LAV with Haswell HD4600? I get really choppy output if I use QuickSync for it. Software and CUVID decoding work fine. HD MPEG-2 decoding seems fine.

nevcairiel
27th January 2014, 17:23
Actual DVDs (from disc or as full VIDEO_TS copy), or rips?
The QuickSync decoder doesn't work perfectly with actualy DVD playback because of the Microsoft DVD Navigator and some of its limitations.

Stereodude
27th January 2014, 19:35
Actual DVDs (from disc or as full VIDEO_TS copy), or rips?
The QuickSync decoder doesn't work perfectly with actualy DVD playback because of the Microsoft DVD Navigator and some of its limitations.Actual DVDs, not sure about rips. I haven't tried them. The video playback is very choppy like a very inconsistent framerate with a pile of dropped frames, but madVR (or EVR) say it's not dropping any frames.

nevcairiel
27th January 2014, 19:59
I intentionally added a checkbox to disable HW acceleration with DVDs, since DVD playback, especially with menus, can be rather picky, so it can generally be wiser to simply do it in software, and software decoding of a SD DVD is such an easy task that its usually nothing to worry about.

mindbomb
27th January 2014, 21:33
With MPC-HC 1.7.2 (x86) and the integrated LAV filters (.60.1.5) I get English subtitles from .mkv files even though they're not flagged at forced or default=yes. The splitter is set to default and I have no preferred language. It basically does the same thing when playing back blu-ray discs too.


like cyberbeing, I also am not seeing that issue, though I'm using 1.7.1.

Stereodude
27th January 2014, 22:38
like cyberbeing, I also am not seeing that issue, though I'm using 1.7.1.1.7.1 did a similar thing for me. I'll check the setting cyberbeing mentioned when I get home later. FWIW, 1.7.1 was actually worse where even picking the forced setting in the splitter still hade them turned on. With 1.7.2 forced in the splitter leaves them off.

Stereodude
27th January 2014, 22:39
I intentionally added a checkbox to disable HW acceleration with DVDs, since DVD playback, especially with menus, can be rather picky, so it can generally be wiser to simply do it in software, and software decoding of a SD DVD is such an easy task that its usually nothing to worry about.I'll do a little more testing later today and see if I can narrow down the issue a little more.

Stereodude
28th January 2014, 01:20
All I can tell you is that MPC-HC is overriding LAVs choice. If you register an external LAV Splitter, it'll function as I designed LAV to function.You're correct. The external version works as you say and as I'd expect. The internal one does not. I posted in the MPC-HC thread reporting the issue.

You most likely forgot to disable the 'Playback -> Allow overriding external splitter choice' option in MPC-HC.Nope, this box is not checked.

I'll do a little more testing later today and see if I can narrow down the issue a little more.Playing back a .VOB file generated from the DVD does the same thing (choppy playback). Putting the same video and audio stream into a .mkv works fine using QuickSync decoding. HW adaptive deinterlacing was turned off (turning it on generally disables QuickSync and switches to SW decoding). I noticed that VOB file playback uses the LAV splitter, whereas playing the DVD uses the DVD Navigator, but both stutter. It also doesn't occur on all mpeg-2 videos. Some of the previews on a 2nd test disc play fine, but other titles and the main title doesn't. FWIW, internal and external LAV filters behave the same way.

My guess is that there's a problem HW decoding MPEG-2 streams that use soft pulldown using QuickSync. The video from the .VOB reports to the downstream filters that it's not interlaced. The output frames from the HW decoder are progressive with none repeated, but it reports a frame interval of 33.37ms. So, the 23.976fps decoded frames are displayed at 29.97fps and the last frame of every 5 frame sequence is held the extra time hence the stutter. On the other hand the video stream in the .mkv reports to the downstream filters that it's interlaced the IVTC routine in madVR kicks in.

Stereodude
28th January 2014, 02:00
You most likely forgot to disable the 'Playback -> Allow overriding external splitter choice' option in MPC-HC.It turns out the issue is caused by the "Auto-load subtitles" option in the main Playback section of the options. Unchecking that box causes the internal filters to behave identically to the external ones with regards to subtitles.

NikosD
30th January 2014, 09:17
Hi.

I have some problems playing those files with DXVAn and Intel HW using LAV Video.

MPEG-2

Artifacts - Green stripe
http://www.sendspace.com/file/jm10xo - QS plays fine

Doesn't start decoding (MPC-HC is OK)
ftp://helpedia.com/pub/multimedia/x264/testvideos/2010%20-%2009%20-%20DXVA%20benchmarks%20-%20Avivo%20vs%20PureVideo%20vs%20Clear%20Video/test-g1-1.mpg

VC-1/WMV3

Every HW decoder has heavy artifacts, but QS is perfect with external LAV
MPC-HC refuses to decode it in QS!
http://www.sendspace.com/file/aep5vn

I put again this 2880 x 1080 VC-1 file, because I didn't get it from the first time, if it's a drivers problem or LAV.
QS plays fine.
http://www.sendspace.com/file/7o6usa

I put again this file too, because it's broken again with green images at the beginning.
You have fixed it in the past, but it's broken again. Check MPC-HC too.
http://www.techpowerup.com/downloads/530/hd-dvd-demo-1080p-vc-1-ddplus-5-1/mirrors

Qotscha
30th January 2014, 13:32
Yle (http://en.wikipedia.org/wiki/Yle) just started broadcasting all their channels in HD which is great. The problem, however, is that I can't seek in my NDVR recording of those channels with LAV Splitter. Whenever I try to seek, playback starts from the beginning.

It doesn't matter if I play the file via http or download it first. However, if I cut a small chunk from the end of the file (or don't download it entirely with wget), seeking works. With VLC or Haali Splitter seeking works fine.

I'll PM you, nevcairiel, a download link of one recording with broken seeking in case you want to take a look.

nevcairiel
30th January 2014, 14:04
The good news is that your problem seems to have solved itself after I updated ffmpeg to the latest version! So hooray!

Here is a version for you to test as well:
http://files.1f0.de/lavf/LAVFilters-0.60.1-8-g67e7ed1.zip

Selur
30th January 2014, 14:25
Just installed a new system and I was wondering why I still installed ffdshow and after some testing I realized why:
a. the Dolby Decoder option
b. the AC3 (S/PDIF encode mode)
are there any plans to add one or both of these options to LAVFilters?

nevcairiel
30th January 2014, 14:59
No plans. Its a audio decoder primarily, with only rudimentary processing. Not building advanced processing or encoding features.

DragonQ
30th January 2014, 15:43
People still re-encode to AC3? HDMI's been around for years. :p

artins90
30th January 2014, 19:00
Guys what are the correct settings to downmix 7.1 to stereo? No matter what I change in the settings stereo is always louder than 7.1 and in 7.1 the volume of the voices is way too low. These are my current settings
http://imgur.com/Nw81pgw,Fv7kiFa#0
http://imgur.com/Nw81pgw,Fv7kiFa#1

mindbomb
30th January 2014, 19:38
if you check normalize matrix and uncheck clipping protection, you should get the same low volume that you get from downmixing through windows.

nevcairiel
30th January 2014, 20:08
Dont use normalize matrix and instead use clip protection if you want at least somewhat similar levels.

Qotscha
30th January 2014, 20:40
The good news is that your problem seems to have solved itself after I updated ffmpeg to the latest version! So hooray!

Here is a version for you to test as well:
http://files.1f0.de/lavf/LAVFilters-0.60.1-8-g67e7ed1.zip

Thanks. This fixed the problem for some files but not all. I sent you a download link to another file.

Coldblackice
31st January 2014, 05:14
So what's the consensus -- should we still update/install the external LAV filters, or merely use the built-in ones? Are they equivalently the same, or does one work/feature better than the other?

Are there any precautions to take with having both around at the same time? (i.e., should we clean off the externals before using/installing the built-in ones)

JarrettH
31st January 2014, 05:39
I prefer using LAV built-in. MPC comes with it, so why have a separate installation

NikosD
31st January 2014, 08:44
Some new artifacts and problems with DXVAn and Intel HW using LAV Video and MPC-HC.

H.264

Heavy artifacts and green distorted images at the beginning
http://www.sendspace.com/file/9p8xa0

It plays fine, but if seek you loose video/ audio sync. The image freezes but you can here the audio decoding
http://www.sendspace.com/file/b6uxc4

octal9
31st January 2014, 09:27
So what's the consensus -- should we still update/install the external LAV filters, or merely use the built-in ones? Are they equivalently the same, or does one work/feature better than the other?

Are there any precautions to take with having both around at the same time? (i.e., should we clean off the externals before using/installing the built-in ones)from what i've heard, xhmikosr, the guy who does nightly builds of mpc-hc uses the most up to date lav's (latest off the git).....however if yr. using mpc-be, potplayer, etc. that's a different story - i keep standalone lav's for use with those players....

Soukyuu
31st January 2014, 13:07
I imagine you would also need the standalone version if you want to use it with something like MEGui/AVS.

NikosD
31st January 2014, 16:17
@Nev

Have you managed to check any of the clips uploaded ?

Thanks

nevcairiel
31st January 2014, 16:35
I will not have time to look into DXVA things for a while, other things take priority for now.

Artifacts at the beginning of a file are just a sign of a bad cut, missing reference frames. Nothing to really worry about.
I can probably make those artifacts black instead of green without much effort, would that make it better? :D

DragonQ
31st January 2014, 17:08
Heh, those kind of artefacts at the start of cut files appear as grey for me. Although, as before, they play artefact-free in MediaPortal.

NikosD
31st January 2014, 17:47
I will not have time to look into DXVA things for a while, other things take priority for now.

Artifacts at the beginning of a file are just a sign of a bad cut, missing reference frames. Nothing to really worry about.
I can probably make those artifacts black instead of green without much effort, would that make it better? :D

Yes, it would be better, for example that is exactly what you did with the VC-1 demo file with 0.59.1.x, but at the next version of LAV Video, green images appeared again.

The green stripe of the first MPEG-2 file during the whole clip, what is it ?

Also the second MPEG-2 file, doesn't start decoding and I think this has nothing to do with DXVA.

And the WMV3 clip with the bikini girls, it's unplayable in HW even by AMD and Nvidia, only QS manages to decode it. It must be something with FFMpeg, I think.

One last clip H.264 interlaced:
http://www.sendspace.com/file/fzekte

With Haswell plays fine with Sandybridge was playing fine with 0.59.1 version, but now has green images for several seconds with 0.60.1 - only for Sandy.
Haswell still decodes it just fine with 0.60.1!

In CPU decoding of that interlaced clip, using default interlaced options, only 2 cores of a quad-core Core i5 - 2400 were used.
In playback and benchmarking mode (in order to push the CPU more)

I tried several other iH.264 interlaced clips and the behavior was the same. 2 cores out of 4.
To be more exact, 50% utilization of a quad-core Core i5.

Strange.

Heh, those kind of artefacts at the start of cut files appear as grey for me. Although, as before, they play artefact-free in MediaPortal.

Yes, it happens that too, sometimes - I don't remember the clips, most of them are green to me.

Mercury_22
31st January 2014, 17:48
It's just me or after last ffmpeg update / fix the x64 ffmpeg won't build ?

nevcairiel
31st January 2014, 18:32
Must be you, mine compiles just fine.

Mercury_22
31st January 2014, 19:08
Must be you, mine compiles just fine.

Can you please help me ? I'm always getting ...Creating library libavresample/avresample-lav.lib and object libavresample/av
resample-lav.exp
C:\MSYS\mingw\bin\x86_64-w64-mingw32-strip.exe: unable to rename 'libavcodec/avc
odec-lav-55.dll'; reason: File exists
Press any key to continue . . .
I'm on a new / "clean" clone and using VS2013 UP1 and GCC 4.8.2. thought I don't think it matters

P.S. The only thing that it's different in my build is that I've enabled rtmp and rtmpt but again I don't think it matters

EDIT : deleted everything, again, and re-clone, again, and now it's building fine :confused: Didn't changed anything (else)! :o:(

Stereodude
31st January 2014, 22:37
Playing back a .VOB file generated from the DVD does the same thing (choppy playback). Putting the same video and audio stream into a .mkv works fine using QuickSync decoding. HW adaptive deinterlacing was turned off (turning it on generally disables QuickSync and switches to SW decoding). I noticed that VOB file playback uses the LAV splitter, whereas playing the DVD uses the DVD Navigator, but both stutter. It also doesn't occur on all mpeg-2 videos. Some of the previews on a 2nd test disc play fine, but other titles and the main title doesn't. FWIW, internal and external LAV filters behave the same way.

My guess is that there's a problem HW decoding MPEG-2 streams that use soft pulldown using QuickSync. The video from the .VOB reports to the downstream filters that it's not interlaced. The output frames from the HW decoder are progressive with none repeated, but it reports a frame interval of 33.37ms. So, the 23.976fps decoded frames are displayed at 29.97fps and the last frame of every 5 frame sequence is held the extra time hence the stutter. On the other hand the video stream in the .mkv reports to the downstream filters that it's interlaced the IVTC routine in madVR kicks in.Should I go complain to egur in his long thread (http://forum.doom9.org/showthread.php?t=162442) about this since I'm guessing it's not a LAV issue?

nevcairiel
31st January 2014, 22:44
If you have a VOB sample file which exhibits the stuttering problem, that might be useful.

Stereodude
1st February 2014, 00:19
If you have a VOB sample file which exhibits the stuttering problem, that might be useful.Here you go. (http://www.sendspace.com/file/b1pxf5)

FWIW, I now think my previous guess may not have been completely correct on the what's happening, but something is definitely messed up.

RealSnoopyDog
1st February 2014, 09:42
I also get stuttering/choppy playback of many "normal" DVDs (VOB) after a while.

nevcairiel
1st February 2014, 12:58
Here you go. (http://www.sendspace.com/file/b1pxf5)

FWIW, I now think my previous guess may not have been completely correct on the what's happening, but something is definitely messed up.

Yeah something is seriously going wrong with the QuickSync decoder here. Not sure if its Intels fault or egur's decoder doing wonky things. Might be worth reporting to him.

Personally, i am not a huge fan of the QuickSync decoder anymore, it has too much weird behaviour in some situations, so I would always favor the DXVA2 decoders.

NikosD
1st February 2014, 14:04
QS decoder has its problems like DXVA has its own problems too.

For example, some of the clips posted above by me, work perfectly with QS, where DXVA fails.
And in one situation DXVA fails for every DXVA HW decoder by AMD and Nvidia, not only Intel.

Moreover, QS decoder is the only solution for someone who has a discrete card, but wants to use Intel's video processor for video decoding in Windows 8/8.1. I'm not sure it works on Windows 7.

And don't forget that your main resistance of implementing a DXVA VC-1 solution for Intel HW - after the addition of VC1_VLD2010 from Intel - was that we have QS decoder for VC-1 acceleration!

It was good that I insisted on this and it was good that you changed your mind.

Stereodude
1st February 2014, 14:06
Yeah something is seriously going wrong with the QuickSync decoder here. Not sure if its Intels fault or egur's decoder doing wonky things. Might be worth reporting to him.I have reported it to him (http://forum.doom9.org/showthread.php?p=1665442#post1665442). Thanks for the help.

Stereodude
1st February 2014, 14:14
Moreover, QS decoder is the only solution for someone who has a discrete card, but wants to use Intel's video processor for video decoding in Windows 8/8.1. I'm not sure it works on Windows 7.I'm doing the opposite in Windows 7. I'm using the HD4600 to drive my monitor and a discrete Nvidia card for CUVID decoding / DGDecNV (with no monitor).

If QuickSync decoding was a little more solid I think it would be a great asset for a HTPC in the scenario you describe. You could drive your display with a Discrete card and go crazy with the madVR settings, and let QuickSync do the decoding without eating up CPU or loading up the graphics card with decoding tasks leaving you more processing room for madVR. I guess you could do the same thing with a low end Nvidia card with the VP5 / VDPAU Feature Set D decode engine using CUVID also.

nevcairiel
1st February 2014, 14:16
There is no reason you couldn't use DXVA2-CB in the same way for decoding from a secondary GPU, there is just no way right now to specify which GPU to use for decoding.
For obvious reasons DXVA2-Native always needs to run on the same GPU that is being rendered on.

Stereodude
1st February 2014, 14:38
There is no reason you couldn't use DXVA2-CB in the same way for decoding from a secondary GPU, there is just no way right now to specify which GPU to use for decoding.It sounds like you just gave yourself some homework for the weekend. :sly:

AndreaMG
1st February 2014, 21:08
Hi Nev, I'm using latest MPCHC with LAV filters built inside. While watching my BD of "Fringe" if in MPCHC I click "navigate/jump to" it shows the chapters (TV episodes in my case) ordered by descending length, some episodes though are missing... I'm only able to play those by going under "BDMW/PLAYLIST" and manually selecting the "mpls" files. Why is that? Thanks :)

nevcairiel
1st February 2014, 21:22
Maybe you should ask the MPC-HC people? LAV has nothing to do with it.
Its their player, why would you ask me? :)

AndreaMG
1st February 2014, 21:29
Sorry :scared: thanks anyway

Xaurus
1st February 2014, 22:38
nev,

I have a 7.1 setup and I was wondering if there is a way of simply duplicating the rear speaker info in a 5.1 stream to output as 7.1?

nevcairiel
1st February 2014, 22:39
Not with LAV. If you use MPC-HC, its audio switcher has simple channel doubling functionality.

littleD
1st February 2014, 23:55
Hi nevcairiel, i have question regarding Stream AR, because i don't see it explicity explained.

During playback Anamorphic video - avc in mkv with correct stream AR and removed Container AR:
At Intermidiate option, what AR will be used when no Container AR exists? (It uses Frame AR in my case)
and
At Stream AR option unchecked, why lav decoder use Frame AR (Resolution) while it shouldn't?

pankov
2nd February 2014, 14:38
...The problem, however, is that I can't seek in my NDVR recording of those channels with LAV Splitter. Whenever I try to seek, playback starts from the beginning.

It doesn't matter if I play the file via http or download it first. However, if I cut a small chunk from the end of the file (or don't download it entirely with wget), seeking works. With VLC or Haali Splitter seeking works fine.

Thanks. This fixed the problem for some files but not all. I sent you a download link to another file.

Nev,
I'm having the same issue with some of the recordings I do with DVBViewer Recording Service.
There is an option in DVBViewer Rec Service (and in DVBViewer iteslf) called "Remove H.264 Filter Data" which is enabled by default and which I don't know what exactly is doing but sounds remotely connected. Though disabling it doesn't seem to fix the issue ... and since it works with Haali's Splitter I think it's more likely to be a bug in LAV/ffmpeg.

I've just sent you a PM with details for my FTP where I've uploaded a sample - the one from 2014-01-25 (1.2GB - sorry about the size but if I cut it the problem disappears).

I hope this will help you fix the issue

nevcairiel
2nd February 2014, 14:59
While I'm slowly downloading your sample, you could try this version, which fixed Qotscha's problems:
http://files.1f0.de/lavf/LAVFilters-0.60.1-10-g5f96d72.zip

pankov
2nd February 2014, 15:31
:(
sadly it doesn't fix it for me

nevcairiel
2nd February 2014, 15:49
So the same problem happens, when you try to seek it instead plays from the beginning?

Edit: no it doesn't, you just don't get any duration.

nevcairiel
2nd February 2014, 16:49
:(
sadly it doesn't fix it for me

The problem in your file seems to be that there is quite a bit of "garbage" at the end of the file. I'm not entirely certain what exactly the garbage is, but ffmpeg cannot parse it, and therefor doesn't find a end-time of the file.
Might be part of another program which doesn't fit the program table it has, so it doesn't accept it.

If i increase the amount of data it parses from 4 MB to 32 MB, it suddenly finds a duration.
I'll probably play around with the numbers a bit, so it doesn't try too long to find something, but 16MB wasn't enough, so..

pankov
2nd February 2014, 22:53
So the same problem happens, when you try to seek it instead plays from the beginning?

Edit: no it doesn't, you just don't get any duration.

You are correct about the missing duration but it does play from the beginning if I try to seek ... but I guess this is a result of the missing duration, right?

I guess the "garbage" at the end is because something got wrong with the satellite reception ... or DVB Rec Service ... or something else ... it happens always on satellite channels and never for cable

nevcairiel
2nd February 2014, 23:00
You can try this version:
http://files.1f0.de/lavf/LAVFilters-0.60.1-15-g49f7e2b.zip

No guarantees it'll work on all files, depending on how much garbage data there is. Works on the one I got from you.

pankov
2nd February 2014, 23:19
Yes, it works on this one here too but I found an older one which fails in the same way (missing duration) but it's a lot larger (more than 10GB) so I don't think you'd like to get it.
I guess there is not more you can do - it seems that the problem is in the recordings themselves ... for the big one Haali's splitter fails too - it doesn't even start to play it so this is a plus for LAV.
If only there was a way to seek in such files I wouldn't mind missing the full duration

nevcairiel
2nd February 2014, 23:20
Without a duration, you don't know where to seek to. :)
I suppose I can try to blindly increase the tolerance value for garbage even more and send you a test build, see if it helps at all.

pankov
2nd February 2014, 23:26
I don't mind testing if you don't mind making test builds
;)
and why is it that without duration there is no way to seek?
Sorry for the dumb question but how does seeking actually work? Isn't it possible for the source filter to guess the duration based on the size of the file and the average bitrate for a small sample of time? ... I propose this only as a last resort for such damaged files

nevcairiel
2nd February 2014, 23:32
Apparently the logic is slightly weird, it doesn't use bitrate guessing because it thinks it can get the duration from the file timestamps (which fails). Maybe I should tell it to use alternate guesses if the preferred one failed.

pankov
2nd February 2014, 23:36
If this is possible it sounds like a possible solution.

And here is another problem that I think is related but I could be totally wrong:
It's not possible to seek in ongoing recordings past the initial end.
If I start playing a file (.ts) that is still being written to when I reach what was initially the end the playback continues ... which is fine ... but the timeline in the player reaches it's end and there is no way to seek/skip past this point.
Isn't it possible to notify the player that the total duration has changed so it can update it's UI and the user can seek/FF in the new part?

nevcairiel
2nd February 2014, 23:40
The problem is not telling the player, its actually figuring out that it changed, and to what. While you're playing, you can't poke around in the file so easily.
Quite some time ago, someone wanted to work on that and contribute a patch, but for some reason I haven't heard of that a long time now. :)

pankov
2nd February 2014, 23:47
I guess nobody is as good as you and I must admit that you are my hope for finding a real solution ... if I remember correctly haali's splitter worked just fine in this situation ... well there was a slight glitch in the playback which I'm not sure is preferred but in different cases there are different preferences.
I didn't think is not that hard to do the same thing that the source filter/splitter does at the start of playback just before the end is reached and notify/update the main splitter/source "thread" and after this notify the player.
But I don't know a bit about direct show filters programming so this is all wild guessing

mindbomb
3rd February 2014, 02:52
I used to have that issue with mp4 files, but it went away a while ago.

andyvt
3rd February 2014, 11:00
The problem is not telling the player, its actually figuring out that it changed, and to what. While you're playing, you can't poke around in the file so easily.
Quite some time ago, someone wanted to work on that and contribute a patch, but for some reason I haven't heard of that a long time now. :)

It might have been me.

My idea was to use a secondary ffmpeg instance to update the duration when the file changed. Unfortunately the only way I was able to get it working properly was by polling the file periodically (detecting "when the file changed" wasn't reliable). IIRC it worked OK, but there were some issues that I never got around to fixing that should have been before submitting a patch (e.g. deciding when to stop polling a file), and you didn't seem that interested in accepting the feature when we discussed it so I let it slip away.

SamuriHL
3rd February 2014, 13:17
It might have been me.

My idea was to use a secondary ffmpeg instance to update the duration when the file changed. Unfortunately the only way I was able to get it working properly was by polling the file periodically (detecting "when the file changed" wasn't reliable). IIRC it worked OK, but there were some issues that I never got around to fixing that should have been before submitting a patch (e.g. deciding when to stop polling a file), and you didn't seem that interested in accepting the feature when we discussed it so I let it slip away.

Slacker. :P ;)

Sent from my SM-P600 using Tapatalk

pankov
3rd February 2014, 22:27
andyvt,
I'll be very glad if you return to this and finish the patch.
Can you elaborate on the issues that you stumbled upon?
May be someone here can think of a simple solution.

STaRGaZeR
3rd February 2014, 22:53
Not sure if related, but in incomplete Blu-ray .m2ts files (alone, no structure) like what incomplete WinRAR archives output, LAV can't seek at all because there is no duration. The old MPC-HC splitter has no problems figuring out the duration and seeking, the main reason I keep using an old version.

DragonQ
4th February 2014, 22:14
Nev, if a 25i video is played with YADIF 2x enabled in LAV Video, MadVR still reports that the frame rate is 25 fps rather than 50 fps. Can you correct this please?

nevcairiel
4th February 2014, 22:38
Not really, you never really know if a stream is interlaced or just pretends to be.

DragonQ
4th February 2014, 22:45
Damn, I can't think of any other way to sort out MadVR profiles on a GPU where it fails DXVA deinterlacing.

madshi
4th February 2014, 22:57
Isn't there a point when LAV decides whether to apply YADIF or not? And when it applies YADIF, does it only do that frame-by-frame? Or does it stay in YADIF mode once it enters it?

nevcairiel
4th February 2014, 23:26
Isn't there a point when LAV decides whether to apply YADIF or not? And when it applies YADIF, does it only do that frame-by-frame? Or does it stay in YADIF mode once it enters it?

Default is frame-by-frame, you can configure that though, aggressive mode deints all frames once one was interlaced.
I could make it send a new media type once YADIF is created the first time and send the new frame rate under the assumption its correct, but it might as well be wrong for the majority of the stream.

madshi
5th February 2014, 00:47
Hmmmm... A simple solution which can't go wrong would be to send the new frame rate only if agressive mode is active. That might already help. A more complicated solution would be to update the frame rate if it stays the same for the e.g. 100 frames in a row or so. If you don't like the complicated solution I think I would still prefer to get the double rate information when YADIF is created the first time. From the view point of madVR I think it's better to err on the high side of the frame rate.

DragonQ
5th February 2014, 02:10
Hmmmm... A simple solution which can't go wrong would be to send the new frame rate only if agressive mode is active.

I don't think this "aggressive mode" is exposed to the user though.

I'm not sure what difference it would make if MadVR was told the video was 50 fps when in fact it was 25 PsF, for example. DXVA2 deinterlacing produces 50p anyway for 25 PsF streams and that works fine. I have no idea how YADIF handles 25 PsF but presumably the output would be 50p regardless (if that's selected)? If not then...I dunno.

iSunrise
5th February 2014, 17:34
@nevcairiel:
When I usually need samples for e.x. bug reports I use the linux DD command to cut a certain part out of a file to be sure that itīs bit-identical and thereīs no additional tinkering with it through a remuxer or some editing application that does changes to the file/header. Iīve never ran into any problems with that until today, when I cut the first 100MB of a prores clip (itīs in a mov container) that just wouldnīt play.

Is there something special about prores/mov that doesnīt let LAV/ffmpeg parse/decode the file correctly? Because with every of about a couple dozen of my other files (also some mov containers, however, they donīt have prores video and PCM audio) that worked just perfectly.

Hereīs a sample (first 100MB, original filesize is 6GB):
http://www.mediafire.com/download/728mgs6qcs54krr/prores_sample.mov

Iīm using the latest official LAV Filters 0.60.1.

nevcairiel
5th February 2014, 17:36
Most MOV/MP4 files have the headers at the end of the file, so if you cut the end off, it stops functioning.
Only MOV/MP4 files which are optimized for streaming have the headers at the front.

Not every format can be cut in small pieces as simply as using DD. For example if you do it with MKV, you'll most likely use the ability to seek, and of course only the first segment works at all.
MOV is one of those were its easy to break it.

iSunrise
5th February 2014, 18:35
Most MOV/MP4 files have the headers at the end of the file, so if you cut the end off, it stops functioning.
Only MOV/MP4 files which are optimized for streaming have the headers at the front.

Not every format can be cut in small pieces as simply as using DD. For example if you do it with MKV, you'll most likely use the ability to seek, and of course only the first segment works at all.
MOV is one of those were its easy to break it.
So the reason why other MOV containers work is that theyīre probably all optimized for streaming (like the Apple trailers). Thanks for the explanation. Headers at the end of a file is a strange concept.

nekromantik
5th February 2014, 22:36
Quick question, in LAV Audio settings if you choose bitstream all types of audio and you dont have your laptop connected via HDMI then any file with 5.1 audio wont have audio and is played fast.
If you connect it via HDMI then it plays fine but if I want to watch the file only on my laptop alone I need to unselect the bitstream option.
Is this normal? Any workarounds?
Thanks

mindbomb
5th February 2014, 23:32
Quick question, in LAV Audio settings if you choose bitstream all types of audio and you dont have your laptop connected via HDMI then any file with 5.1 audio wont have audio and is played fast.
If you connect it via HDMI then it plays fine but if I want to watch the file only on my laptop alone I need to unselect the bitstream option.
Is this normal? Any workarounds?
Thanks

You can leave the bitstream options unchecked all the time. The one issue with this is DTS-HD MA playback, where you will need an external file to play it back at full quality.
The bitstreaming options tell the software not to decode the audio, and the options are generally used with a receiver since the receiver can decode certain audio formats.

nekromantik
5th February 2014, 23:38
You can leave the bitstream options unchecked all the time. The one issue with this is DTS-HD MA playback, where you will need an external file to play it back at full quality.
The bitstreaming options tell the software not to decode the audio, and the options are generally used with a receiver since the receiver can decode certain audio formats.

Ah ok thanks.
So if I leave it unchecked then I can use laptop to decode the AC3 and DTS and then output it direct to the amp when needed?

clsid
5th February 2014, 23:49
Yes. Only difference is that the amp will get uncompressed audio (PCM) as input instead of AC3/DTS. The sound will be the same.

mindbomb
5th February 2014, 23:53
Ah ok thanks.
So if I leave it unchecked then I can use laptop to decode the AC3 and DTS and then output it direct to the amp when needed?

if you leave it unchecked, lav audio will decode the audio in both cases. This shouldn't cause issues since hdmi receivers can accept decoded audio.

ryrynz
6th February 2014, 02:10
When I power off my receiver and have it use pass through HDMI from my Intel HD 3000 to my TV (2 channels supported), I have the Microsoft DTV-DVD decoder become active instead of LAV Audio.
The issue that arises having this enabled is whenever I switch from fullscreen to windowed mode the video stutters for about 5-10 seconds or so.
Is it possible to have LAV Audio deal with this and potentially avoid this stuttering?

wanezhiling
6th February 2014, 07:41
http://www.sendspace.com/file/8xz535

18fps with LAV :o