View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
DragonQ
16th May 2012, 10:54
You can force your GPU to stay in P1 when using CUVID with certain tweaker programs but this may not provide enough power for lower-end cards aimed at the HTPC market. Using DXVA2 Native is better in terms of power usage.
aufkrawall
16th May 2012, 11:02
You can force your GPU to stay in P1 when using CUVID with certain tweaker programs but this may not provide enough power for lower-end cards aimed at the HTPC market.
With those cards, P0 state may consume less power than P12 state with big Fermis. ;)
Using DXVA2 Native is better in terms of power usage.
Doesn't work with madVR and QS still consumes less power.
shadowdogg
16th May 2012, 13:53
I have only noticed this to happen in HP1 ultimate edition but it keeps wanting to restart to the beginning part way through the track? Then randomly fix itself later.. it doesn't do that with TMT5 or FFDshow audio decoder
I'm curios for QuickSync deinterlacing.
With 1080p VC-1 interlaced my GPU still has to switch to P0 state with shader deinterlacing, very annoying. :(
HQ deinterlacing via QS "for free" would really be a nice thing.
I really got exited about QS in general. :)
In QuickSync, the deinterlacing is ASIC not shaders for superior power/performance (same goes for everything you see in the driver's Media control panel).
My decoder has already basic support for it so LAV + QS DI is not far.
The price will be more memory copying, but the next feature will be output of DXVA frames. I'll also add the option to copy the DXVA frames so subtitle could be added on them. I'll ask for suggestions/requirement when it's relevant.
aufkrawall
16th May 2012, 16:51
In QuickSync, the deinterlacing is ASIC not shaders for superior power/performance (same goes for everything you see in the driver's Media control panel).
My decoder has already basic support for it so LAV + QS DI is not far.
Will the quality be about the same as CUVID or madVR? :)
Will the quality be about the same as CUVID or madVR? :)
I think MadVR uses DXVA deinterlacing which will be the same.
CUVID will be different and we need some test clips. My guess is that for most clips, they will produce similar results. I'm not familiar at all with the DI quality of CUVID.
nevcairiel
16th May 2012, 19:54
It uses the same DXVA deinterlacing. I was hoping aufkrawall realized by now that all deinterlacing done is the same GPU deinterlacing. :P
Of course CUVID uses NVIDIAs deinterlacing.... :)
Fullmetal Encoder
16th May 2012, 21:44
That's interesting.
So, Nvidia, AMD and Intel have a dedicated function on the chip to do HQ deinterlacing?
Edit: Or at least in the driver.
Define "high quality."
While hardware de-interlacing I've seen is better than nothing it still leaves obnoxious distortions in the image. So far, nothing I've seen can compare to QTGMC. It really is a shame that we can't abstract QTGMC into an algorithm that could be implemented in such a way as to run on a GPU.
aufkrawall
16th May 2012, 22:10
I think MadVR uses DXVA deinterlacing which will be the same.
Alright. :)
Define "high quality."
I just lent that term from the LAV decoder GUI.
While hardware de-interlacing I've seen is better than nothing it still leaves obnoxious distortions in the image. So far, nothing I've seen can compare to QTGMC. It really is a shame that we can't abstract QTGMC into an algorithm that could be implemented in such a way as to run on a GPU.
I haven't tried QTGMC yet, but now that you mention it, I will do so.
That weird tearing artifacts are really totally fugly.
DragonQ
16th May 2012, 22:34
I can't see any deinterlacing artefacts on a VP4 GPU. I'm sure the algorithm is better than older GPUs though because my VP2 GPU's deinterlacing doesn't look as good in fast moving scenes.
aufkrawall
16th May 2012, 22:48
I see kind of tearing when he is moving his hand quickly:
http://forum.doom9.org/showpost.php?p=1274753&postcount=15
ajp_anton
16th May 2012, 22:53
That only applies to uncompressed video.How else would I compare the two? Both double the uncompressed data, so they both probably slightly-less-than-double the compressed data.
I was countering the "4:2:0 sucks on colored edges" argument.
kolak
16th May 2012, 23:13
I haven't tried QTGMC yet, but now that you mention it, I will do so.
That weird tearing artifacts are really totally fugly.
QTGMC and deinterlacing in LAV decoder is like day and night :)
I have not seen anything, which comes close to QTGMC- including DigitalVision DVO filters. They have 20 years experience in motion/video aspects, but even so QTGMC is better. Maybe Teranex box can match it, but I would not be so sure.
Problem with QTGMC is speed :(
MasterNobody
16th May 2012, 23:21
How else would I compare the two? Both double the uncompressed data, so they both probably slightly-less-than-double the compressed data.
I was countering the "4:2:0 sucks on colored edges" argument.
2160p 4:2:0 quadruple uncompressed bitrate not double as 1080p 4:4:4. And as was mentioned already chroma samples in 4:2:0 are not aligned with luma so you can't simply downsize luma to get 4:4:4.
Why shouldn´t it be possible to create 4:4:4 by downsizing? You just need to know chroma position and use correct subpixel-cropping during resize. AviSynth-resizers support that (you can use float parameters as source position):
...Resize(clip clip, int target_width, int target_height, float src_left, float src_top, float -src_right, float -src_bottom)
I think you will have a position change of 0.5 pixel towards the bottom for standard 4:2:0 chroma position (at the bottom 0.5 pixel are missing and at the top 0.5 pixel are added by the resizer)
Any news for DV sound problem? Problem reproduceable with my sample?
STaRGaZeR
17th May 2012, 00:20
How else would I compare the two? Both double the uncompressed data, so they both probably slightly-less-than-double the compressed data.
I was countering the "4:2:0 sucks on colored edges" argument.
Compressed obviously, because that's what would be distributed eventually.
Regarding the bitrate, that's not true at all. Encoders do a much better job discarding info when compressing than just blindly removing 3/4 of the color samples. For a given bitrate, if you feed the encoder with 4:4:4 and 4:2:0, 4:4:4 will look much better without sacrificing luma quality.
The same thing happens with audio. Just feed the encoder with your 48kHz source and let it decide what is important and what is not, instead of lowpassing the source to 24kHz and compressing that. At a given bitrate, the 48kHz one will sound much, much better.
ajp_anton
17th May 2012, 01:11
2160p 4:2:0 quadruple uncompressed bitrate not double as 1080p 4:4:4. And as was mentioned already chroma samples in 4:2:0 are not aligned with luma so you can't simply downsize luma to get 4:4:4.I never mentioned 2160p. I specifically said increase the resolution so that the bitrate doubles. It doesn't give the same chroma resolution as simply going 4:4:4, but it also increases the luma resolution
Encoders do a much better job discarding info when compressing than just blindly removing 3/4 of the color samples. For a given bitrate, if you feed the encoder with 4:4:4 and 4:2:0, 4:4:4 will look much better without sacrificing luma quality.That's true... I was somehow thinking lossless compression. Yes, a (good) lossy encoder should be able to decide where to keep the chroma at high quality and where not to.
Fullmetal Encoder
17th May 2012, 01:34
QTGMC and deinterlacing in LAV decoder is like day and night :)
I have not seen anything, which comes close to QTGMC- including DigitalVision DVO filters. They have 20 years experience in motion/video aspects, but even so QTGMC is better. Maybe Teranex box can match it, but I would not be so sure.
Problem with QTGMC is speed :(
Yes, I'd really like to see a direct comparison between Teranex and QTGMC. Though I doubt Teranex could beat it. And yeah it's slow but if memory serves the last time I tested it I was able to get it to run with Preset="slow" in real time without video freezing and that's with a Core i7 860 at stock speeds. Hell even at medium preset it's still better than the deinterlacing on my Radeon 5850. Makes me wonder what will be possible with a Haswell "E" processor at end of next year which is probably what I'll be upgrading to.
The only way I can think of that you could find better deinterlacing than with QTGMC would be with a manual frame-by-frame approach.
We need to get -Vit- and Didée jobs with Teranex so they can straighten out their act.
Andy o
17th May 2012, 02:29
For media converter from ArcSoft it works fine. For madVR, not so much. I have to use Egur's trick of setting up a fake display. But I have CUVID now so I don't much care about it for madVR. QS is freaking *FAST* for transcoding blu-rays to mp4's for my Xoom, though. Like 7 minutes fast. It's insane.
How about if you connect the display to the Intel output, and use Virtu to access 3D graphics from NV instead? I think such a solution would work for me, if I could have an NV card with Intel HDMI audio, if Intel doesn't have the "silent stream" thing.
SamuriHL
17th May 2012, 02:58
How about if you connect the display to the Intel output, and use Virtu to access 3D graphics from NV instead? I think such a solution would work for me, if I could have an NV card with Intel HDMI audio, if Intel doesn't have the "silent stream" thing.
Wouldn't you wanna do the opposite then? :) I believe Nev said connecting Intel to the receiver for audio and the nVidia card to the display for video works fine. I haven't tried it cause I don't know where the hell I put my spare HDMI cables. But I'm seriously considering it because the 680 has massive overscan issues when going through the Pio Elite. I have to set a custom res to get it to work and it makes me unhappy. I'm replacing the TV sometime this year with a plasma screen, but, that's a few months away at the earliest.
Andy o
17th May 2012, 03:24
overscan issues now? Damn this never ends. But what I meant was why do you need to connect the cable to the NV output? If I'm not mistaken, most of what you guys said involved connecting the cable to NV, and either fool the Intel output into thinking it's active, or using Virtu for QS decoding. What I'm saying is connect the cable to the Intel output, and then you can use Virtu with the NV card for games and CUDA?
SamuriHL
17th May 2012, 03:28
Yea, you can do it that way and it works ok with a small performance decrease in games. My thought is that if the Intel HDMI connection is connected to the receiver and the NV is connected directly to the display (which I'll need to do anyway once I upgrade my TV for 3D since the Pio Elite isn't 1.4a) that both QS and CUDA should be active. Besides, the NV has better output IMO than the Intel.
wanezhiling
17th May 2012, 03:32
It uses the same DXVA deinterlacing. I was hoping aufkrawall realized by now that all deinterlacing done is the same GPU deinterlacing. :P
Of course CUVID uses NVIDIAs deinterlacing.... :)
CUVIDs deinterlacing is very nice on a not so weak or old card.
Do you have any plan to implement the GPU deinterlacing for AMD/ATI cards? I mean cb/native mode. :)
Do you have any plan to implement the GPU deinterlacing for AMD/ATI cards? I mean cb/native mode
Deinterlacing should work in native mode on ATI/AMD and on every dxva compatible gpu. In CB mode either EVR or MadVR can do deinterlacing just fine.
wanezhiling
17th May 2012, 06:13
Deinterlacing should work in native mode on ATI/AMD and on every dxva compatible gpu. In CB mode either EVR or MadVR can do deinterlacing just fine.
In cb/native mode, the deinterlacing job is just taken over by the video renderer(madVR,EVR,VMR..), lav video decoder does nothing on this.
ianken
17th May 2012, 06:39
I cannot get VSFILTER to load in WMP.
I searched. Googled. Binged. Bingled. Saw one post asking the same question followed by a "I figured it out" wihtout any info. Grrrrr.
Graphstudio works fine. The only bits on the box are LAV and vsfiler (xy-vsfilter 3.0.0.8).
MPC-HC of course works fine. But sometime users hit the regular player in Media Center rather than going in through Media Browser which is configured to use MPC-HC.
In cb/native mode, the deinterlacing job is just taken over by the video renderer(madVR,EVR,VMR..), lav video decoder does nothing on this.
In both cases deinterlacing is done via DXVA DDI function callback, and it works fine on AMD/ATI cards. I understand it now, you asked about deinterlasing implementation, where deinterlaced frames are returned to the RAM. I doubt that it possible to make it work this way in DXVAc/b mode, and I am pretty sure it is impossible in DXVAnative mode.
wanezhiling
17th May 2012, 10:35
I doubt that it possible to make it work this way in DXVAc/b mode.
CUVID implemented it, dunno if cb also can.
and I am pretty sure it is impossible in DXVAnative mode.
:thanks: I agree.
shadowdogg
17th May 2012, 14:47
Nobody wants to help. Fine. Cheers anyway
Cyber-Mav
17th May 2012, 15:18
MPEG4 ASP works fine if you have a 300 series driver.
thats good news, i will give it a try.
Sebastiii
17th May 2012, 16:29
Nobody wants to help. Fine. Cheers anyway
hi,
I was converted to PCM :) with arcsoft dll.
aufkrawall
17th May 2012, 18:13
thats good news, i will give it a try.
May I ask if you really need it?
Probably your PC will consume much more power with it than with CPU processing, even slow CPUs aren't stressed much.
imho on most PCs just H.264 and VC-1/WMV3 acceleration are useful.
Octo-puss
17th May 2012, 20:38
hi,
I was converted to PCM :)
Better than converting to Islam I guess.
Pat357
17th May 2012, 21:47
In both cases deinterlacing is done via DXVA DDI function callback, and it works fine on AMD/ATI cards. I understand it now, you asked about deinterlasing implementation, where deinterlaced frames are returned to the RAM. I doubt that it possible to make it work this way in DXVAc/b mode, and I am pretty sure it is impossible in DXVAnative mode.
On AMD even DXVA c/b with copying the deinterlaced frames back to the RAM would be for sure impossible due the slow copy performance from AMD to copy from the surface that holds the interlaced frames.
Maybe for NV it's possible, but what would be the sense ?
With the current implementation DVXA cb works well with interlaced content because the most important renderers (EVR, EVR-Custom, MadVR) will do deinterlace while rendering.
Midzuki
17th May 2012, 23:18
hi,
I was converted to PCM :) with arcsoft dll.
I see, Soaron has been enforcing the will of the Machine. :D
nussman
18th May 2012, 12:37
On AMD even DXVA c/b with copying the deinterlaced frames back to the RAM would be for sure impossible due the slow copy performance from AMD to copy from the surface that holds the interlaced frames.
Maybe for NV it's possible, but what would be the sense ?
You could use some processing (scaling, sharpen, ...) with ffdshow/avisynth for interlaced content (together with high quality gpu deinterlacing).
But i dont know if it's possible.
aufkrawall
18th May 2012, 12:52
You could use some processing (scaling, sharpen, ...) with ffdshow/avisynth for interlaced content (together with high quality gpu deinterlacing).
But i dont know if it's possible.
Why not? :)
Using LAV CUVID deinterlacing via Avisynth is possible.
nussman
18th May 2012, 13:09
Why not? :)
.
For dxva copyback? Its not very fast.
copyback 50i <> copyback 50p (adaptiv deinterlacing).
Using LAV CUVID deinterlacing via Avisynth is possible.
LAV CUVID => decoding, deinterlacing, copyback => avisynth?
Or what do you mean?
CUVID implemented it, dunno if cb also can.
CUVID is a different api, working only on nvidia hardware. AFAIK as it was designed, it had this functionality from the beginning. Anyway, sooner or later quick sync will have deinterlacing with frames return to the RAM.
Maybe for NV it's possible, but what would be the sense ?
With the current implementation DVXA cb works well with interlaced content because the most important renderers (EVR, EVR-Custom, MadVR) will do deinterlace while rendering.
Well that was originally my point, but as far as I understand wanezhiling would like to apply some kind of postprocessing to an interlaced video. :)
For dxva copyback? Its not very fast.
copyback 50i <> copyback 50p (adaptiv deinterlacing).
.....
LAV CUVID => decoding, deinterlacing, copyback => avisynth?
Or what do you mean?
I think he wrote about CUVID, and I can assure you postprocessing is working like a charm with CUVID, even in a hardest cases like SVP. For example, I did real time frame interpolation with SVP on PAL video to match 60hz refresh rate of my display. :)
DragonQ
18th May 2012, 17:04
Hmm I haven't found any video conversion/encoding software that can do good deinterlacing. Most of the time I prefer to leave files in interlaced format but occasionally I've thought it would be useful to deinterlace something. Are there any decent GUIs that support CUVID deinterlacing (to 50/60p) via avisynth?
Diegotimmy
18th May 2012, 23:31
I asked this question over at the AVS forums but didn't receive a reply:
Wondered if anyone here could help.
How can I get the lav splitter to prefer the secondary audio stream by default rather than the hearing impaired stream?
Annoyingly the hearing impaired stream is 256kbps compared to the default of 192kbps in my .WTV recordings, so i guess this is why it is being selected by default. In addition to this, playback freezes until I select the correct stream in MPC HC.
Thanks
wanezhiling
19th May 2012, 09:26
http://www.mediafire.com/?htq1ahkue7pqbre
http://i.imgur.com/YpNG6.png
lav splitter + lav cuvid + evr cp
http://i.imgur.com/7P6C2.jpg
lav splitter + lav sw/qs/cb/native + evr cp
Nev, try QuickSync decoder r54.
Got Deinterlacing working (including telecine) as well as Detail and Denoise.
Let me know if this passes your regression.
Note that on soft telecined content, the output frame rate will change to 23.976 - no frame replication. If you want frame replication as a feature, let me know.
This works with and without my decoder changing the time stamps.
nevcairiel
19th May 2012, 23:13
Soft-telecine needs to set the repeat flags on the frames, but it should not convert it to hard-telecine. So if its not doing that, thats OK for me.
I'll check it when i have some time.
dukey
19th May 2012, 23:20
I got a problem with some VC1 files and CUDA. Using lav splitter and CUDA decoder. The stream ends up quite broken.
http://i.imgur.com/i6K9h.jpg
I'll upload a sample
nevcairiel
19th May 2012, 23:22
I'll upload a sample
Don't bother, its not like anyone here can fix any problems with CUDA decoding, only NVIDIA can do that. Send it to them.
dukey
19th May 2012, 23:22
Okay ..
aufkrawall
19th May 2012, 23:49
You could upload it anyway and I will report it to someone else who maybe can Nvidia let it fix this. :)
sumawo13
20th May 2012, 01:56
I made an encode from a Fraps video recorded in RGB mode, using x264 version 2197, my command line was as follows:
x264-10 --demuxer lavf --force-cfr --fps 60 --output-csp i444 --crf 16 --preset slower -o vid.mp4 "SoF2MP 2012-05-19 09-50-24-37.avi"
Here is the original file.
http://ompldr.org/tZHRmaQ (http://ompldr.org/vZHRmaQ)
Here is the encoded file.
http://ompldr.org/tZHRmeA (http://ompldr.org/vZHRmeA)
If you look you can notice a slight difference in color, I believe this to be a colorimetry problem caused by decoding with LAV Filters, which I use.
----
It seems adding --colorprim bt470bg --transfer bt470bg --colormatrix bt470bg decodes properly, but this seems like only a temporary fix.
http://ompldr.org/tZHRnZA (http://ompldr.org/vZHRnZA)
nevcairiel
20th May 2012, 08:48
If you look you can notice a slight difference in color, I believe this to be a colorimetry problem caused by decoding with LAV Filters, which I use.
1024x768 already qualifies as a "HD" resolution, so if the color matrix is not explicitly tagged, it'll use the BT.709 matrix.
If your content is not BT.709, and you have a resolution that would otherwise qualify as HD, you need to explicitly tag the matrix like you did in the command line you quoted in your "temporary" fix.
If the file does not tell LAV which matrix was used, all we can do is guess. And every guess will be wrong eventually.
Its working as intended, from where i'm standing.
powder21
20th May 2012, 10:38
OK. I give up. I've been trying my best to get my uncle's HTPC setup without having to ask any questions (this thread has been a WEALTH of information btw). Unfortunately, I've run into a problem that I cannot find a solution for by using searches...an answer may be here, but I just can't take the time to read all 500 pages. And yes, I have used google extensively :)
When I play my DTS/AC3/Whatever multichannel encoded content without Reclock, it works. Status in the LAV audio shows it's playing back all channels. Problem is, I want WASAPI exclusive. When I try playback using Reclock as the renderer with WASAPI selected for PCM, I'm getting the infamous "audio format not supported by hardware / driver" error. I have 24bit padded to 32 selected and it works fine if I use AC3 to downmix the audio, so I think it has something to do with the fact that in Windows audio properties, max channels is listed as two. This doesn't make any sense to me. I thought maybe it's because the HDMI is plugged directly into the TV...
...That part warrants a bit of explanation. I'm not currently using the VSX-33 reciever we have because we don't have a surround setup yet, but there's a vizio soundbar connected to the TV with an optical audio input and the TV supports up to 7.1 PCM through it's optical audio output. Thus, it shouldn't be telling the HDMI Audio that there's no surround sound device connected...
So, I'm stumped. If somebody can please lend me a hand here I would greatly appreciate it.
On a side note: I see LAV filters gets updated quite frequently. I have experienced a couple crashes which I will try to work out after I get this fixed, but I'm wondering what the best method of updating is without losing any settings. I use the installer method to install. Thanks again.
Some helpful info:
ATI Radeon HD 5750/6750 vid card
GIGABYTE GA-890FXA-UD5 board with RealTek ALC889 onboard chip
Using all latest drivers (updated today) including the Realtek ATI HDMI Audio Driver
Even in Realtek Sound Manager, only stereo shows up under speaker config (for HDMI) and is greyed out. Other output devices have no speaker config I assume because nothing is connected to them.
Using MPC-HC with LAV filters + audio/video decoders as the only filters. Settings mostly match up with the Advanced setup guide on the AVS forum (with a few minor tweaks which shouldn't have any impact on this issue)
Also use MadVR as vid renderer
Absolutely zero other codecs/packs installed (already removed AC3, just used it to test the theory above).
I like minimalistic approaches :)
Better than converting to Islam I guess.
Dude.. no need for that.. thank you.
Mosley
20th May 2012, 11:30
In LAV Splitter I've used the following sintax to enable ENG language and ENG subtitles in "Advanced" mode (I want to exclude forced subs), or ITA subs if ENG subs aren't available:
eng:eng|d;eng:ita|d
or
eng|d;ita|d
But it doesn't work. No sub track is enabled. In "Default" mode the ENG flag always enable forced subs, but I want the full text and not forced subs. I think it's a problem of sintax error. Any advice?
Thanks... ;)
nevcairiel
20th May 2012, 11:41
If you use "Default" mode and just put "eng" into the box, it should always enable full english subs (technically, the first english subtitle stream it finds).
I could probably add some kind of modifier to only use "normal" streams, meaning not-forced and not-default, so you could do say "eng|dn" (normal and default, but not forced)
aufkrawall
20th May 2012, 12:04
Its working as intended, from where i'm standing.
I think so too.
Converting to Rec709 matrix with Avisynth is always a good idea for such videos.
Mosley
20th May 2012, 16:02
If you use "Default" mode and just put "eng" into the box, it should always enable full english subs (technically, the first english subtitle stream it finds).
I've tried it, but almost always subs which are loaded are those forced. And it's correct, as usually forced subs are flagged as "default".
I could probably add some kind of modifier to only use "normal" streams, meaning not-forced and not-default, so you could do say "eng|dn" (normal and default, but not forced)
Very good. It will be very useful. ;)
nevcairiel
20th May 2012, 16:31
I've tried it, but almost always subs which are loaded are those forced. And it's correct, as usually forced subs are flagged as "default".
Then your file is flagged wrong.
"Default" is not the right flag for "Forced" subtitles.
dukey
20th May 2012, 22:31
I got a problem with some VC1 files and CUDA. Using lav splitter and CUDA decoder. The stream ends up quite broken.
http://i.imgur.com/i6K9h.jpg
I'll upload a sample
I get the same error with DMO mode if seek in the stream to that point
http://i.imgur.com/RSsEn.jpg
Sample http://www.mediafire.com/download.php?5xpn9jl7csicv5b
Pat357
21st May 2012, 01:13
I get the same error with DMO mode if seek in the stream to that point
http://i.imgur.com/RSsEn.jpg
Sample http://www.mediafire.com/download.php?5xpn9jl7csicv5b
Maybe the sample is just broken....
What makes you think that the sample should be OK ?
Andy o
21st May 2012, 07:14
When I try playback using Reclock as the renderer with WASAPI selected for PCM, I'm getting the infamous "audio format not supported by hardware / driver" error. I have 24bit padded to 32 selected and it works fine if I use AC3 to downmix the audio, so I think it has something to do with the fact that in Windows audio properties, max channels is listed as two. This doesn't make any sense to me. I thought maybe it's because the HDMI is plugged directly into the TV...This is exactly your problem, and it makes perfect sense. Your TV can only accept stereo through its HDMI input and it's telling that to the AMD device.
...That part warrants a bit of explanation. I'm not currently using the VSX-33 reciever we have because we don't have a surround setup yet, but there's a vizio soundbar connected to the TV with an optical audio input and the TV supports up to 7.1 PCM through it's optical audio output. Thus, it shouldn't be telling the HDMI Audio that there's no surround sound device connected...I don't know what kind of processing the sound bar does, but there's no such thing as 7.1 through optical for consumer products. There's 5.1 DD and DTS, and 6.1 DTS, but those are lossy-compressed, not LPCM.
In any case, the Vizio sound bar on their website doesn't seem to support multichannel input (doesn't have a DD or DTS decoder), so it's moot. You're only limited to stereo output from your PC now from where you're standing. And with stereo-only, there's no need for WASAPI exclusive. Just use DirectSound output from ReClock, until you get your multichannel speakers for the VSX-33.
Using all latest drivers (updated today) including the Realtek ATI HDMI Audio DriverThis doesn't have anything to do with the problem, but at this point the Realtek drivers aren't recommended. Just use the ones that come with the AMD Catalyst drivers.
And obviously, this doesn't have anything to do with LAV filters, so if there's somewhere else where you're asking or discussing this, we can take it there.
Diegotimmy
21st May 2012, 07:56
I asked this question over at the AVS forums but didn't receive a reply:
Wondered if anyone here could help.
How can I get the lav splitter to prefer the secondary audio stream by default rather than the hearing impaired stream?
Annoyingly the hearing impaired stream is 256kbps compared to the default of 192kbps in my .WTV recordings, so i guess this is why it is being selected by default. In addition to this, playback freezes until I select the correct stream in MPC HC.
Thanks
Anyone? I can't seem to make a flag for it to choose the secondary audio stream.
Heres the view of the splitter during playback:
http://img254.imageshack.us/img254/5846/examplevb.png
chros
21st May 2012, 08:08
NVIDIA Launches Fermi Based GeForce GT 610, GT 620, GT 630 Into Retail (http://www.anandtech.com/show/5845/nvidia-launches-fermi-based-geforce-gt-610-gt-620-gt-630-into-retail)
Rebadging, rebadging and rebadging...
But VP5 for all this time ? (http://en.wikipedia.org/wiki/GeForce_600_Series#New_features)
Does it worth to switch for Nvidia with these cards ?
That is what interesting me too. I've got an 9600GT now (with vp2, 64 cuda cores, 256 bit memory interface).
So is it worth to switch to a GT 630 with GDDR5 (96 cuda, 128 bit memory!!!)? Is it inlcludes vp5?
(The other 2 (610,620) are very bad. I know that these are the low end cards now.)
Thanks
nevcairiel
21st May 2012, 10:06
Anyone? I can't seem to make a flag for it to choose the secondary audio stream.
There is no way to do that.
Even if the first stream would have the same bitrate as the second stream, it will always prefer the first stream in a file. A rule like "always use the second" just doesn't make much sense.
Its possible that i can add an option to ignore streams marked as hearing impaired in the future, but for now you will have to change it manually.
DragonQ
21st May 2012, 10:28
Anyone? I can't seem to make a flag for it to choose the secondary audio stream.
Heres the view of the splitter during playback:
http://img254.imageshack.us/img254/5846/examplevb.png
Can't you just remux the file into MKV and select the second track as the default (or remove the first track altogether and save some disk space)?
The same problem used to exist with UK satellite broadcasts in MediaPortal because the "audio description" stream is first for some reason. Luckily, they are always MP2 and the normal audio is always AC3 so they just added a "prefer AC3" option.
GTPVHD
21st May 2012, 10:52
That is what interesting me too. I've got an 9600GT now (with vp2, 64 cuda cores, 256 bit memory interface).
So is it worth to switch to a GT 630 with GDDR5 (96 cuda, 128 bit memory!!!)? Is it inlcludes vp5?
(The other 2 (610,620) are very bad. I know that these are the low end cards now.)
Thanks
Only Kepler GPUs have VP5, if you buy any of the Fermi rebrands(GT 610/620/630/645), you will NOT get VP5 and other improvements that come with Kepler GPUs. Avoid them and wait for the Kepler GT 640/650 (GK107) retail card.
glorp
21st May 2012, 16:01
Anyone? I can't seem to make a flag for it to choose the secondary audio stream.
Heres the view of the splitter during playback:
http://img254.imageshack.us/img254/5846/examplevb.png
Use the header editor in mkvmerge gui to change the language tag on the hearing impared track to "und". That will update the file in place and not require a full remux plus allow the track that is still eng to now be preferred by LAV because of your language preferences.
Nevermnid: I see now that you are trying to change a .wtv file. Remux it to another container I guess.
InsulinJunkie
21st May 2012, 23:39
Only Kepler GPUs have VP5
Not quite true - the 520 (now rebranded as the 610) had VP5 before anything else did.
Andrey /MAG/
22nd May 2012, 03:01
I faced with DVD-playing problem in MPC-HC.
I use LAV decoder preferred in external filters MPC.
http://i.imgur.com/ATDnd.png
When I open single VOB-file from DVD I see LAV decoder is working for me. But when I use "Open DVD" dialog it loads ffdShow decoder but not LAV.
http://i.imgur.com/SnCUE.png
Do you know why?
Can LAV Filters to decode whole DVD? How to setup it?
http://i.imgur.com/NlTWU.gif
Superb
22nd May 2012, 04:03
DVD is not supported yet. Nev started working on it, but supporting subpics properly (needed for the menus) is not easy.
powder21
22nd May 2012, 06:10
And obviously, this doesn't have anything to do with LAV filters, so if there's somewhere else where you're asking or discussing this, we can take it there.
Yah, I figured out after posting that this wasn't the right approach, so I started a thread over on AVS. There's a link below to the thread. Please, please, take a look at my latest reply as it is directed to you and I simply have a couple questions for clarification. Thanks so much for replying as nobody in AVS has had much to say on the matter :)
On a side note, there was a question burried in the original post regarding the best method of updating LAV Filters without having to lose settings. I would still like that one answered if anyone here is willing. I use the installer method currently, but I think uninstalling and reinstalling will cause me to lose settings. Haven't tried it.
Thanks again so much Andy! I really hope you take a look at the other thread:
http://www.avsforum.com/avs-vb/showthread.php?p=22044858#post22044858
chros
22nd May 2012, 06:32
Only Kepler GPUs have VP5, if you buy any of the Fermi rebrands(GT 610/620/630/645), you will NOT get VP5 and other improvements that come with Kepler GPUs. Avoid them and wait for the Kepler GT 640/650 (GK107) retail card.
Thanks for the clarification ...
mastan
22nd May 2012, 21:12
Nvidia WHQL 301.42 drivers are out with support of all cards.
Looks like they've fixed black screen with madVR's "use a separate device for presentation" option.
SamuriHL
22nd May 2012, 22:05
Very kuel! Thanks!
joe42
23rd May 2012, 03:44
Nvidia WHQL 301.42 drivers are out with support of all cards.
Looks like they've fixed black screen with madVR's "use a separate device for presentation" option.
Is that what they are talking about here, or is this a different issue they fixed?
(301.42)When setting a custom resolution on the secondary Dualview (extended mode) display, the display goes blank. [915624]
or maybe this one (from the older 301.24 driver):
(301.24)[GeForce 500 series]: When both an HDTV and PC monitor are connected to the GPU, there is no video on the secondary extended mode display. [939925]
I also noticed this in the changelog:
(301.42)[GeForce 400 series]: There is no picture when using LAV DirectShow Filters on MPCHC for MPEG4 video playback. [952108]
chros
23rd May 2012, 06:06
Nvidia WHQL 301.42 drivers are out with support of all cards.
Looks like they've fixed black screen with madVR's "use a separate device for presentation" option.
Thanks for the info! I'll install on both desktop and laptop ...
mastan
23rd May 2012, 06:40
Is that what they are talking about here, or is this a different issue they fixed?
No idea, I've checked with madVR only.
betaking
23rd May 2012, 08:17
(301.42)[GeForce 400 series]: There is no picture when using LAV DirectShow Filters on MPCHC for MPEG4 video playback. [952108]
test GTX 460 with 301.42 whql.play mpeg4-asp video with last lav git use cuvid no problem!
Superb
23rd May 2012, 10:42
Nev, maybe it's time to re-enable CUVID MPEG-4 ASP decoding (in the installer) if the new drivers work properly now...?
Mercury_22
23rd May 2012, 16:13
Small problem with LAVSplitter which is reporting 5.1 audio and LAVAudio it's saying 7.1
Sample (http://www65.zippyshare.com/v/95533897/file.html)
nevcairiel
23rd May 2012, 16:57
Small problem with LAVSplitter which is reporting 5.1 audio and LAVAudio it's saying 7.1
Sample (http://www65.zippyshare.com/v/95533897/file.html)
Thats because its DTS-HD, ffmpeg does not support HD (yet), and adding alot of code just to figure out thats its 7.1 instead of 5.1 is just not worth it.
This has also been discussed in great lengths before.
MasterNobody
23rd May 2012, 17:42
nevcairiel
Hi. May be you will hack this (http://git.1f0.de/gitweb?p=ffmpeg.git;a=commitdiff;h=f4b43c09c013057682b0c4ed8bf50b29888200b1) some other way (for example, change its use in thread_init/frame_thread_init)? Because currently it spam output with "Application has requested X threads. Using a thread count greater than 1 is not recommended." (http://git.1f0.de/gitweb?p=ffmpeg.git;a=blob;f=libavcodec/pthread.c;hb=f4b43c09c013057682b0c4ed8bf50b29888200b1#l1056). Of course you can remove this warning from code but I don't think that is the good idea.
nevcairiel
23rd May 2012, 19:26
Spam? It only shows that message once on codec init, hardly spam.
@nevcairiel
do you have any plan to add filters like sharpening,postprocessing,deband & etc to LAV Filters??
i'm using ffdshow just for this settings.
anyway,many many thanks for your awesome project
goodluck
MasterNobody
23rd May 2012, 20:47
Spam? It only shows that message once on codec init, hardly spam.
It is showed at least 4-times in annoying yellow color:
http://i49.tinypic.com/153r0qe.png
Defenestration
23rd May 2012, 21:04
Can you enable support of VP6F FOURCC with LAV Video decoder, as I had some recent .FLV files which had been encoded with this video codec, and had to use ffdshow instead.
In Zoom Player's decoder config for the VP6 video decoder, it listed the following FOURCC sub-types: VP61, VP52, FLV4, VP6A, VP6F, VP60. But for the FLV video decoder, it listed the following FOURCC sub-types: FLV1 and FLV4.
ffdshow video decoder differentiates between VP6 format (VP60, VP61, VP62) and VP6F format (VP6F, FLV4, VP6A), and FLV1 (FLV1)
However, in the LAV Video Decoder Properties, it lists FLV1 and FSV1 for flash, and On2 VP6 for vp6.
I understand LAV is not listing all the FOURCC sub-types, but would it be possible to enable support in LAV Video decoder for all listed sub-types of VP6, VP6F ?
nevcairiel
23rd May 2012, 21:22
It is showed at least 4-times in annoying yellow color
It only shows it once during codec init, if x264 calls that more then once, thats that.
PS:
I don't really care to support using my copy of ffmpeg for anything but LAV, you're on your own.
There are alot of things in there that are designed to work with LAV, and only with LAV.
Can you enable support of VP6F FOURCC with LAV Video decoder
I already support VP6F and an assortment of other FourCCs for VP6(F)
mindbomb
23rd May 2012, 22:43
Only Kepler GPUs have VP5, if you buy any of the Fermi rebrands(GT 610/620/630/645), you will NOT get VP5 and other improvements that come with Kepler GPUs. Avoid them and wait for the Kepler GT 640/650 (GK107) retail card.
no, the gt 520 has vp5, and likely the 610 as well, and possibly all of them.
nevcairiel
23rd May 2012, 22:47
no, the gt 520 has vp5, and likely the 610 as well, and possibly all of them.
The important point was that the 610/620/630/645 are Fermi rebrands, not Kepler cards.
Anyway, yes the 520 and 610 have VP5, however the 620/630/645 do not (and both the 520 and 610 are worthless cards, way too slow, the 610 is probably a rebrand of the 520)
You can always consult this list here:
http://http.download.nvidia.com/XFree86/Linux-x86/302.11/README/supportedchips.html
VDPAU Level D = VP5
e1iminator
24th May 2012, 09:16
i have a gt210 and a dual core s775 2.66 ghz cpu 45mn i dont remember the model!!!
i installed lav and select none (no cuvid no dxva copyback no dxva native etc.)
it works pefectly even in hd 1080i dvb content! (i dont watch movies!!!)
no stuttering no freezes!!!
deinterlacing works flawlessly!!! (hw nvidia not software yadif)
chros
24th May 2012, 10:09
You can always consult this list here:
http://http.download.nvidia.com/XFree86/Linux-x86/302.11/README/supportedchips.html
VDPAU Level D = VP5
Thanks! I didn't know that they provide a complete list in the linux driver ...
Defenestration
24th May 2012, 17:11
I already support VP6F and an assortment of other FourCCs for VP6(F)My mistake. I was thinking the ZP decoder config modified the DS filter merit, but it doesn't. Now got LAV decoding VP6F :)
MasterNobody
24th May 2012, 17:45
PS:
I don't really care to support using my copy of ffmpeg for anything but LAV, you're on your own.
There are alot of things in there that are designed to work with LAV, and only with LAV.
THAT was LAV 0.50.5 (not something else) used in x264 through AviSynth+DirectShowSource. And x264 opens this AviSynth file only once (dunno how many times AviSynth init LAV itself). Anyway I don't see any reason to keep this warning showed even once in case of (MAX_AUTO_THREADS == 1) because it is meaningless with such value.
nevcairiel
24th May 2012, 18:02
Anyway I don't see any reason to keep this warning showed even once in case of (MAX_AUTO_THREADS == 1) because it is meaningless with such value.
In any case, i do as small changes as possible to keep the difference to official as small as possible.
Removing that warning would not serve any real purpose for me (i think the warning is stupid no matter whats the default setting)
A more interesting question would be why x264 shows the ffmpeg warnings from my copy of ffmpeg, maybe i can just suppress that somehow. :)
Edit:
I may have found a way to just hide all these messages in release builds.
MasterNobody
24th May 2012, 20:24
I may have found a way to just hide all these messages in release builds.
Ok. This (setting NULL instead of default av_log_callback) should do the work.
Mercury_22
26th May 2012, 08:50
LAVSplitter can't play some m2ts(ssif) files
Sample (http://www.putlocker.com/file/8A2C1124222C6569) Mirrors (http://go4up.com/dl/1piODryiWIdQ)
P.S. MPC's internal splitter can play the same file ok if it matters :)
Diegotimmy
26th May 2012, 09:46
Thanks to those who replied about my problem. The documentation states that the splitter chooses the bigger bitrate stream first not the first in the stream, just so happens that the hearing impaired track is also listed first in my .wtv files.sometimes when the recording is from a different chanel the hearing impaired stream isn't transmitted at a higher bitrate so its no problem. I have decided anyway to use mce buddy to encode all my files in to. mkvs anyway so it isn't a problem now. would be nice to be able to flag a stream as in preferred based on text though, sound be useful should anyone come across a similar problem.
nevcairiel
26th May 2012, 10:39
Thanks to those who replied about my problem. The documentation states that the splitter chooses the bigger bitrate stream first not the first in the stream, just so happens that the hearing impaired track is also listed first in my .wtv files.sometimes when the recording is from a different chanel the hearing impaired stream isn't transmitted at a higher bitrate so its no problem. I have decided anyway to use mce buddy to encode all my files in to. mkvs anyway so it isn't a problem now. would be nice to be able to flag a stream as in preferred based on text though, sound be useful should anyone come across a similar problem.
I created an issue for this, so that i remember to address it for a future release.
http://code.google.com/p/lavfilters/issues/detail?id=232
DragonQ
26th May 2012, 11:40
LAVSplitter can't play some m2ts(ssif) files
Sample (http://www.putlocker.com/file/8A2C1124222C6569) Mirrors (http://go4up.com/dl/1piODryiWIdQ)
P.S. MPC's internal splitter can play the same file ok if it matters :)
Can you use a decent host like MediaFire? An 80 Mbps connection is no good when these hosts only provide 1-2 Mbps to free users (if you're lucky)!
wanezhiling
26th May 2012, 11:45
LAVSplitter can't play some m2ts(ssif) files
Sample (http://www.putlocker.com/file/8A2C1124222C6569) Mirrors (http://go4up.com/dl/1piODryiWIdQ)
P.S. MPC's internal splitter can play the same file ok if it matters :)
Same here.
nevcairiel
26th May 2012, 11:49
Can you use a decent host like MediaFire? An 80 Mbps connection is no good when these hosts only provide 1-2 Mbps to free users (if you're lucky)!
MediaFire isn't all that much faster anymore either. :P
STaRGaZeR
26th May 2012, 12:22
MediaFire isn't all that much faster anymore either. :P
Aye, usually I don't get more than 200 KB/s out of it.
nevcairiel
26th May 2012, 12:58
LAVSplitter can't play some m2ts(ssif) files
Sample (http://www.putlocker.com/file/8A2C1124222C6569) Mirrors (http://go4up.com/dl/1piODryiWIdQ)
Partly fixed, LAV can now at least access the normal H264 stream in such files, but the second stream for 3D is not accessible (yet).
@nevcairiel
do you have any plan to add filters like sharpening,postprocessing,deband & etc to LAV Filters??
i'm using ffdshow just for this settings.
anyway,many many thanks for your awesome project
goodluck
any idea??
thanks in advance
nevcairiel
26th May 2012, 13:14
any idea??
thanks in advance
No plans.
Mercury_22
26th May 2012, 13:21
Partly fixed, LAV can now at least access the normal H264 stream in such files, but the second stream for 3D is not accessible (yet).
Working :thanks:
P.S. The second stream problem is related with issue 3 (http://code.google.com/p/lavfilters/issues/detail?id=3&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary) ?
nevcairiel
26th May 2012, 14:07
P.S. The second stream problem is related with issue 3 (http://code.google.com/p/lavfilters/issues/detail?id=3&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary) ?
Not at all.
SamuriHL
26th May 2012, 14:40
Nev, have you tried the VS11 beta yet?
SamuriHL
26th May 2012, 17:11
Just an FYI, it builds fine with VS11 Premium beta. Good to know. :)
Anyone tried potplayers new rotation feature? With LAV and ffdshow the video is corrupted at 90° and 240°.
http://www.abload.de/thumb/sky.high.2005.bluray.5slun.png (http://www.abload.de/image.php?img=sky.high.2005.bluray.5slun.png)
nevcairiel
26th May 2012, 17:27
Anyone tried potplayers new rotation feature? With LAV and ffdshow the video is corrupted at 90° and 240°.
Rotation has nothing to do with the decoder, if its broken, its the renderers fault (or post-processing filter, depending how its implemented). The decoder always just outputs its image.
wanezhiling
26th May 2012, 18:23
http://www.mediafire.com/?76gf02wj3a2vdd0
LAV Video (http://i.imgur.com/hjXWb.jpg)
00:00:12, only CoreAVC is ok.:)
nevcairiel
26th May 2012, 18:29
Corruptions in software decoding should be reported to ffmpeg or libav, as only they can fix them.
Especially the H264 decoder is way too complicated for me to hack around in on such cases.
wanezhiling
26th May 2012, 18:58
Anyone tried potplayers new rotation feature? With LAV and ffdshow the video is corrupted at 90° and 240°.
http://www.abload.de/thumb/sky.high.2005.bluray.5slun.png (http://www.abload.de/image.php?img=sky.high.2005.bluray.5slun.png)
PotPlayer's post-processing filter has much compatibility issue with third-party decoder.
Unfortunately many image features of PotPlayer are in the post-processing filter..
So use PotPlayer's internal video decoder(not dxva) if you need some image features like rotation.
PotPlayer's post-processing filter has much compatibility issue with third-party decoder.
Unfortunately many image features of PotPlayer are in the post-processing filter..
So use PotPlayer's internal video decoder(not dxva) if you need some image features like rotation.
Ah. Ok. Thanks for the info.
Midzuki
27th May 2012, 20:56
MP4 ALS thru LAV Audio gets a very-high CPU usage :confused: :confused: :confused:
revision 0.50.5 is less hungry than 0.50.1, but still is too hungry for my tastes :scared:
Mplayer OTOH behaves as it should :cool:
nevcairiel
27th May 2012, 22:30
Using MPC-HC to play a ALS file uses 0% CPU according to the task manager. Clearly, too much.
DragonQ
27th May 2012, 22:43
In this day and age, it most certainly is. Anything that uses >0.01% CPU is "bloated". ;)
shimaflarex
27th May 2012, 23:16
Can you add "skip deblocking when safe" and "skip all deblocking" for h264 video?
DragonQ
27th May 2012, 23:30
Are those options for lower end hardware? Cos, as far as I'm aware, deblocking is the major difference between H.263 and H.264 so disabling it kinda defeats the point. Could be totally wrong though lol.
Midzuki
27th May 2012, 23:55
Using MPC-HC to play a ALS file uses 0% CPU according to the task manager. Clearly, too much.
I see, I will tell Reimar to make Mplayer always use anything between 60% and 95% CPU-time on every single-core computer. :rolleyes:
ryrynz
28th May 2012, 00:12
I laughed when you said single core, but we've been down this road before. ;)
Midzuki
28th May 2012, 00:46
...
but we've been down this road before. ;)
Not sure of what you tried to say, but...
I mean it --- over here, LAV Audio is good at decoding FLAC, WavPack and ALAC, but does eat CPU-time for decoding MPEG-4 ALS.
Midzuki
28th May 2012, 01:55
Besides, and FWIW, :
--- while playing a stereo ALS file,
1) ffplay adds 19MB to pagefile.sys
2) Mplayer adds 33MB to pagefile.sys
3) LAV Audio adds 68MB :scared: to pagefile.sys
--- EDIT ---
Just tested MPC-HC odio dekoda, well, it requires "only" 22MB from pagefile.sys, but it still is as CPU-hungry as LAV Audio :( Also, both filters freeze the player (Graphstudio, MPC-HC, WMP) during many seconds when I press the Stop button -.-
Mikey2
28th May 2012, 03:28
This just started happening in this build: I cannot seem to output NV12 out of the LAV Video Decoder anymore. (It will output YV12, and if I de-select that, it will fall-back to YUY2.)
I am just using software decoding and my input media-type is Mpeg4 h264. (Here are a couple examples from the input-pin:
"Video: MPEG4 Video (H264) 1920x1040 (37:20) 23.976fps"
"Video: MPEG4 Video (H264) 1280x720 23.976fps" )
Finally, I know it is an issue with LAV Video Decoder, since the same files work fine in NV12 when using any other decoder, such as CoreAVC or ffdShow...
I suppose it is not a huge deal since YV12/NV12 are similar, but I am confused...why is this happening?
Thanks in advance!
Volfield
28th May 2012, 04:46
Can you add "skip deblocking when safe" and "skip all deblocking" for h264 video?
+1 to that
meetajhu
28th May 2012, 08:01
Lav Filters with CudaVideo kicks ass!!! All you need is to finish the MPEG-4 problems!
nevcairiel
28th May 2012, 08:25
Can you add "skip deblocking when safe" and "skip all deblocking" for h264 video?
All these options do is lower the quality of the decoded video, so no, i will not.
Deblocking is a mandatory part of the decoding of H264, its not optional like in other formats.
Finally, I know it is an issue with LAV Video Decoder, since the same files work fine in NV12 when using any other decoder, such as CoreAVC or ffdShow...
And i know NV12 works just fine for me. :)
There also have been no changes whatsoever to any code related to such things for quite a long while, so if it just started happening now, something else is up.
ryrynz
28th May 2012, 09:22
All these options do is lower the quality of the decoded video, so no, i will not.
And allow old/outdated hardware to play back content with better performance :)
It seems programmers will forever be asked to support old and outdated hardware rather than people just upgrading what they've got to suit their needs, carry on :D
And allow old/outdated hardware to play back content with better performance :)
It seems programmers will forever be asked to support old and outdated hardware rather than people just upgrading what they've got to suit their needs, carry on :D
They can use outdated formats for outdated hardware. Like mpeg-2 dvd-s. Or less out dated mpeg-4 part 2 videos.
Midzuki
28th May 2012, 14:08
All these options do is lower the quality of the decoded video,
And allow old/outdated hardware to play back content with better performance :)
It seems programmers will forever be asked to support old and outdated hardware rather than people just upgrading what they've got to suit their needs, carry on :D
So you mean ffplay and Mplayer "degrade" the quality of MPEG-4 ALS when they run on "outdated" hardware? :rolleyes:
But thanks for showing you are an unconditional backer of the narrow-minded thing called *planned obsolescence*. :p
ryrynz
28th May 2012, 14:20
So you mean ffplay and Mplayer "degrade" the quality of MPEG-4 ALS when running on "outdated" hardware? :rolleyes:
Wouldn't know, never used them, Nev mentioned quality not I.
But thanks for showing you are an unconditional backer of the narrow-minded thing called *planned obsolescence*. :p
You can't expect computer hardware to last forever, things are forever improving, instruction sets change, code becomes more complex. I'm no unconditional backer nor do I believe this to be narrow minded, it's the nature of technology at stage of our development. The useful life of your technology is determined solely by the software installed on it and the demands you place on it, that is all. :rolleyes:
nevcairiel
28th May 2012, 14:37
So you mean ffplay and Mplayer "degrade" the quality of MPEG-4 ALS when they run on "outdated" hardware? :rolleyes:
What does deblocking of H264 have to do with MPEG-4 ALS now?
Let me tell you: Nothing, nothing at all. You just tried to be a smart-ass (again)
The point is, i will never implement any feature that would degrade quality on purpose, for whatever reason there might be.
The biggest problem with that is that people mis-interpet such options and then turn them on - and then come and complain! "But i only turned on skip deblocking when safe, it said it was safe!"
Anyway, your attitude seems to be the narrowminded one. If you pay me, i will gladly investigate problems with your ancient hardware, but since you don't, i'll focus on the 99.9% of all people that have more recent hardware.
In any case, like i said, a sample MPEG4 ALS file i had around used less then 1% CPU on my system (mostly showing up as 0%), i can't say that its using much. Cannot reproduce, case closed. You can go troll elsewhere now :)
Midzuki
28th May 2012, 14:50
If you pay me, i will gladly investigate problems with your ancient hardware, but since you don't, i'll focus on the 99.9% of all people that have more recent hardware.
In any case, like i said, a sample MPEG4 ALS file i had around used less then 1% CPU on my system (mostly showing up as 0%), i can't say that its using much. Cannot reproduce, case closed.
At last, you have gone straight to the point, instead of pretending a problem does not exist.
You just tried to be a smart-ass (again)
That's just your stupid opinion of course.
Anyway, your attitude seems to be the narrowminded one.
Look who's talking.
Midzuki
28th May 2012, 14:55
...
nor do I believe this to be narrow minded, it's the nature of technology at stage of our development.
Wrong again. It's the nature of *business model* at stage of our "development".
thewebchat
28th May 2012, 16:26
For what it's worth, on the only ALS file I could find, I read higher CPU usage in MPC than with a FLAC file off my library. It was something like 6-9% CPU usage for ALS compared to 4% for FLAC, with an idle CPU usage of 3% in MPC. This doesn't surprise me since ffmpeg ALS code isn't particularly optimized. What's more surprising is that someone actually cares about ALS which has had essentially 0 consumer or industry interest.
Edit: I confirmed high (30+%) CPU usage playing a file converted with the ALS reference software (mp4alsRM22rev2.exe in.wav out.mp4). CPU usage always seems to be higher at startup.
Midzuki
28th May 2012, 16:32
Maybe if you shared the problematic file instead of trolling around...
There is N0 "problematic file" for being shared, to begin with.
...
ffmpeg ALS code isn't particularly optimized.
As I said, both ffplay and Mplayer can decode ALS with less than 10% of CPU-usage on my "rig".
And yes, I "love" people who selectively pretend they misunderstand what they read.
Skibicki
28th May 2012, 17:19
MP4 ALS thru LAV Audio gets a very-high CPU usage
DC-Bass Source Mod (http://forum.doom9.org/showthread.php?t=164200) may help. It looks to be based on a different decoder than Lav Audio. DC-Bass Source Mod doesn't support "containered" audio formats (AVI, MPG, MP4 or MKV). You'd need LAV Filters for that.I am curious. Can Lav split the audio for BASS to decode or is audio required to be in seperate files for Bass source filter?
nevcairiel
28th May 2012, 17:37
There, i managed to lower the CPU usage from like 0.60% to 0.15%, happy now? :p
SamuriHL
28th May 2012, 17:42
There, i managed to lower the CPU usage from like 0.60% to 0.15%, happy now? :p
Oh thank God! I can sleep at night again! :D
Gotcha. How about to lower CPU usage for DXVA CB now?:D
Can you add "skip deblocking when safe" and "skip all deblocking" for h264 video?
+1
That is a great option for non-DXVA compatible video.
nevcairiel
28th May 2012, 18:08
Gotcha. How about to lower CPU usage for DXVA CB now?:D
The copying process uses around 0.8% CPU on my system. Can't say thats alot (a total usage of around 2%, for demuxing and other tasks)
What CPU do you have? It will probably be rather inefficient on AMD CPUs, because the highly optimized copy function won't work there..
May also depend on your GPU, i didn't really measure CPU usage with an AMD GPU, maybe i should. :)
Considering it needs to copy around 100mb/s of image data (twice, actually), 1% of usage seems ok.
Never mind, I was just kidding. LAV does pretty good job on my system, I can't complain.
Midzuki
28th May 2012, 18:30
There, i managed to lower the CPU usage from like 0.60% to 0.15%, happy now? :p
I don't know, I don't have an updated LAVAudio.ax to test.
Midzuki
28th May 2012, 20:44
...
Can Lav split the audio for BASS to decode or is audio required to be in seperate files for Bass source filter?
I think LAV Audio could use the BASS dll(s), more or less in the same way it already can use Arcsoft's DTS DLL. Of course, the final decision is in Nev's hands, and he might even refuse a patch that he happens to regard as "irrelevant". ;)
There, i managed to lower the CPU usage from like 0.60% to 0.15%, happy now? :p
Wonder what kind of CPU he has if 0.6% correlates to 60-90% on his computer. Intel486?
robpdotcom
28th May 2012, 21:42
What's more surprising is that someone actually cares about ALS which has had essentially 0 consumer or industry interest.
I was thinking the same thing. I never even heard of ALS until yesterday.
If you want to use some rare codec that nobody else seems to care about, then don't complain if the free software you use to decode it doesn't meet your satisfaction. Report the problem, offer to provide some samples, and then thank the developer for his time and efforts (which he is being very generous with just by offering the software to begin with).
What I'm seeing here is like asking someone for money, and then insulting them if they don't give you the exact amount you asked for. It's just rude and ungrateful.
hoborg
28th May 2012, 21:44
I think LAV Audio could use the BASS dll(s), more or less in the same way it already can use Arcsoft's DTS DLL. Of course, the final decision is in Nev's hands, and he might even refuse a patch that he happens to regard as "irrelevant". ;)
Hi.
Have MO3, IT, XM, S3M, MOD, etc... support in one audio decoder will be great.
But is it really worth the efort?
ageback
29th May 2012, 00:21
Is it necessary to build ffmpeg every time even if it was not changed?
ryrynz
29th May 2012, 01:03
I don't know, I don't have an updated LAVAudio.ax to test.
latest build with the improvement below.
Avoid needless copying of the encoded audio buffer. This can lead to drastic performance increase in some formats (most notably MPEG-4 ALS)
http://xhmikosr.1f0.de/lavfilters/LAVFilters-0.50.5-2856720.exe
What does deblocking of H264 have to do with MPEG-4 ALS now?
Let me tell you: Nothing, nothing at all. You just tried to be a smart-ass (again)
The point is, i will never implement any feature that would degrade quality on purpose, for whatever reason there might be.
The biggest problem with that is that people mis-interpet such options and then turn them on - and then come and complain! "But i only turned on skip deblocking when safe, it said it was safe!"
Anyway, your attitude seems to be the narrowminded one. If you pay me, i will gladly investigate problems with your ancient hardware, but since you don't, i'll focus on the 99.9% of all people that have more recent hardware.
In any case, like i said, a sample MPEG4 ALS file i had around used less then 1% CPU on my system (mostly showing up as 0%), i can't say that its using much. Cannot reproduce, case closed. You can go troll elsewhere now :)
Biggest problem is formats that are not picked up by the GPU - crazy video dimensions, 10-bit, etc. Thus these bad formats are at the mercy of the CPU. Now obviously, one can recode such bad encodes to something compatible (to avoid stuttering, heat, etc) - but this takes lots of time and just isn't worth it most of the time.
Options to trade quality for performance are a must, and should be outlined as such. Your current options do not highlight which options are better for performance and which ones are worse. (If possible separate settings for separate resolutions - SD, 720, 1080 4K?)
From using LAV, I can conclude that the only three things missing are performance options (and help), DVD support, and linked MKV support.
LAV works well otherwise with my systems.
I apologize if I don't understand the discussion ATM. :)
wanezhiling
29th May 2012, 01:33
latest build with the improvement below.
http://xhmikosr.1f0.de/lavfilters/LAVFilters-0.50.5-2856720.exe
Hi, do you know other nightly LAV installer builds? Thanks.
ajp_anton
29th May 2012, 01:46
Avoid needless copying of the encoded audio buffer. This can lead to drastic performance increase in some formats (most notably MPEG-4 ALS)
http://xhmikosr.1f0.de/lavfilters/LAVFilters-0.50.5-2856720.exeHaha =).
ryrynz
29th May 2012, 01:56
Hi, do you know other nightly LAV installer builds? Thanks.
Nope not any other installer builds.
kasper93
29th May 2012, 02:10
Hi, do you know other nightly LAV installer builds? Thanks.
I sometimes upload here https://www.dropbox.com/sh/pr337z98gka7q2m/JLgkv2KBhe
ryrynz
29th May 2012, 04:46
No worries, I'm interested to know how this affects your CPU usage so please update on the performance difference.
Kurtnoise
29th May 2012, 06:56
I think LAV Audio could use the BASS dll(s), more or less in the same way it already can use Arcsoft's DTS DLL. Of course, the final decision is in Nev's hands, and he might even refuse a patch that he happens to regard as "irrelevant". ;)
Why ? Almost audio formats used by BASS are already supported by libav libraries...:rolleyes:
Too bad the "official" trolls and a certain wannabe-programmer from the "ffdshow world" will keep solemnly ignoring the FACTS.
did you know that you can reencode your als to flac losslessly ? So, go away...
Midzuki
29th May 2012, 07:56
No worries, I'm interested to know how this affects your CPU usage so please update on the performance difference.
Well, the new LAV Audio uses just 1% or 2% more CPU-time than ffplay or Mplayer, so that's OK. But it still "eats" too much paging file (around 60MB), whereas ffplay consumes only 19MB, and the external MPC-HC audio decoder uses 22MB.
wanezhiling
29th May 2012, 09:53
I sometimes upload here https://www.dropbox.com/sh/pr337z98gka7q2m/JLgkv2KBhe
No other words, just thanks thanks :thanks:
Kurtnoise
29th May 2012, 10:19
Grrrreat, yet another incompetent deviloper who has nothing more productive to do than telling me "to go away". :p
That does not compute, sir.
It has been fixed since ages...so, what's your point ? Seems you like to write for nothing.
/you added in my Ignore List.
Reino
29th May 2012, 11:38
DC-Bass Source Mod doesn't support "containered" audio formats (AVI, MPG, MP4 or MKV). You'd need LAV Filters for that. DC-Bass Source Mod (http://forum.doom9.org/showthread.php?t=164200) may help. It looks to be based on a different decoder than Lav Audio. I am curious. Can Lav split the audio for BASS to decode or is audio required to be in seperate files for Bass source filter?DC-Bass Source Mod is a source filter, hence it will never connect to LAV Splitter as a decoder filter. But why would you want to split a file based on ffmpeg and decode based on BASS anyway?
MP4-files with only audio inside DC-Bass Source Mod does except though. Will update documentation accordingly next time.
Why ? Almost audio formats used by BASS are already supported by libav libraries...:rolleyes:Except for CD Audio, OptimFROG, TAK and Tracker Audio.
06_taro
29th May 2012, 12:12
Not really nightly: http://www.mediafire.com/?bhekka48wl5d9
wanezhiling
29th May 2012, 14:08
Not really nightly: http://www.mediafire.com/?bhekka48wl5d9
Many :thanks:
rack04
29th May 2012, 15:22
I am attempting to use LAVFilters with MPC-HC without registering LAV Splitter, LAV Audio Decoder, and LAV Video Decoder. I add the .ax files to MPC-HC external filters list and set to preferred. MPC-HC immediately crashes when I open a media file. If I remove the LAV Splitter and use the internal MPC-HC splitters it works. Any idea why LAV Splitter cannot be used without registering?
aufkrawall
29th May 2012, 20:54
I am attempting to use LAVFilters with MPC-HC without registering LAV Splitter, LAV Audio Decoder, and LAV Video Decoder. I add the .ax files to MPC-HC external filters list and set to preferred. MPC-HC immediately crashes when I open a media file. If I remove the LAV Splitter and use the internal MPC-HC splitters it works. Any idea why LAV Splitter cannot be used without registering?
It worked for me:
http://forum.doom9.org/showpost.php?p=1573811&postcount=13
lordkag
29th May 2012, 22:27
If anyone can test and share some results. I have a VP2 card (9600M GT) and I'm seeing something weird in latest build 2856720555a9. No Cuvid or DXVA Native (it switches to software - avcodec), just DXVA Copy-back working. But if I have aggressive deinterlacing on, it will double the framerate, no matter the content I play. I tested all three builds posted earlier, same result.
Nev, thanks for all the tremendous (and may I add benevolent) work. It's the least a person can do for getting free and updated software, without imposing selfish-obtrusive requests.
If it's something wrong only on my side, please enlighten!
From using LAV, I can conclude that the only three things missing are performance options (and help), DVD support, and linked MKV support.
LAV works well otherwise with my systems.
I apologize if I don't understand the discussion ATM. :)
I'm on the opinion of nevcairiel. Use a less complex format or less quality for older hardware. There is point in reducing something to levels of an inferior format.
I think a number of other mkv features are missing too. Like recently I tried the crop flag but it didn't do anything. I also remember matroska editions.
pokazene_maslo
30th May 2012, 10:56
Hello.
I would like to request for FFT3DGPU filter integration into LAV. Yes, it's an avisynth plugin, but afaik it's opensource so maybe it wouldn't be so hard just to take the denoising code and place it into LAV without that avisynth API. These days GPUs are powerful enough to process such denoising in realtime.
If this is successful for next step i would like to have complete QTGMC deinterlacing with FFT3DGPU for noise processing :)
nevcairiel
30th May 2012, 11:10
I think a number of other mkv features are missing too. Like recently I tried the crop flag but it didn't do anything.
Cropping should be specified in the video bitstream, its nothing a container should even try to manage, because there are quite some limitations on how thats communicated from splitter to decoder.
Did the splitter just get the video dimensions wrong, or does it want the video to be cropped?
Most of the time, its just wrong :p
shimaflarex
30th May 2012, 12:15
The point is, i will never implement any feature that would degrade quality on purpose, for whatever reason there might be.
The biggest problem with that is that people mis-interpet such options and then turn them on - and then come and complain! "But i only turned on skip deblocking when safe, it said it was safe!"
...than change the label text to "skip deblocking on B-frames (will degrade quality)" or something like that? Or add an "hide advanced options" and keep it enabled by default?
There you go, the "biggest" problem is easily solved like that.
Removing features to keep it noob safe is just plain stupid.
You might as well remove the option to treat progressive frames as interleaved or the DXVA CB option then, as it will avoid some issues like "why is the video so crappy looking" or "why is DXVA so slow on my ATI card?"...
My "ancient" hardware is not able to play high bitrate 10bit video, and I will lose some quality re-encoding, so I'd rather lose it during playback instead...
nevcairiel
30th May 2012, 12:17
Removing features to keep it noob safe is just plain stupid
I did not remove anything, the feature was never there.
The point is that deblocking is a *vital* part of the H264 decoding process, and watching a movie with it disabled will probably look much much worse then one re-encoded to 8-bit and/or a lower resolution.
Anyway, if you think its stupid, you're free to use ffdshow or whatever decoder you prefer.
Have a good day.
shimaflarex
30th May 2012, 12:27
The point is that deblocking is a *vital* part of the H264 decoding process, and watching a movie with it disabled will probably look much much worse then one re-encoded to 8-bit and/or a lower resolution.
>probably
H264 video playback with skipping deblocking "when safe" still look very good, see it on ffdshow if you have time...
Have a good day.
Kinda rude eh?
If you were offended by my post I apologize (probably because I used the word 'stupid'?), it was not my intention :/
golagoda
30th May 2012, 12:36
If anyone can test and share some results. I have a VP2 card (9600M GT) and I'm seeing something weird in latest build 2856720555a9. No Cuvid or DXVA Native (it switches to software - avcodec), just DXVA Copy-back working. But if I have aggressive deinterlacing on, it will double the framerate, no matter the content I play. I tested all three builds posted earlier, same result.
Nev, thanks for all the tremendous (and may I add benevolent) work. It's the least a person can do for getting free and updated software, without imposing selfish-obtrusive requests.
If it's something wrong only on my side, please enlighten!
I'm also using a VP2 card (although I'm not doing any deinterlacing and don't have aggressive deinterlacing enabled) and I too have noticed LAV Video falling back to avcodec on videos that I know are playable using cuvid and DXVA2 (native) as I've done so previously so I tried out some old builds and the regression was introduced somewhere between revisions 5376865797ce and 2856720555a9.
Unfortunately I can't narrow it down any further as I don't have Visual Studio to build LAV myself and those were the two closest builds available at xhmikosr.1f0.de.
I'll try and figure out how to cut videos and get some small samples if needed, they're progressive h.264.
nevcairiel
30th May 2012, 12:44
I too have noticed LAV Video falling back to avcodec on videos that I know are playable using cuvid and DXVA2 (native) as I've done so previously so I tried out some old builds and the regression was introduced somewhere between revisions 5376865797ce and 2856720555a9.
I think i know what broke it, i'll take a look in a few hours.
Edit:
Fixed locally, will commit it soon.
Xaurus
30th May 2012, 16:01
nev,
I can't test it right now but LAV doesn't decode Sorenson video right?
nevcairiel
30th May 2012, 16:04
It should work.
Go try such things before asking :P
I did not remove anything, the feature was never there.
The point is that deblocking is a *vital* part of the H264 decoding process, and watching a movie with it disabled will probably look much much worse then one re-encoded to 8-bit and/or a lower resolution.
Anyway, if you think its stupid, you're free to use ffdshow or whatever decoder you prefer.
Have a good day.
?
Some sort of deblocking control to alleviate CPU saturation is pretty much a standard feature in all professional-level decoders.
You are showing a high level of immaturity.
nevcairiel
30th May 2012, 16:30
You are showing a high level of immaturity.
Because insulting me and my work will make me bend to your will, right?
Is it just me, or is the troll level higher the last week or so.
I already made my opinion clear, LAV aims at high quality decoding, and options that only reduce quality do not serve that purpose.
If you don't like that, use something else.
While it is possible that i may one day add such options (never rule something out completely, right?), i rather spent the little time i have for this project on actually useful features.
If i have to spend my time arguing with people about their opinions on whats "useful" (to them), i won't get anything done, so i will just not. I'll work on what is fun to work on, and i consider useful/important, and thats that.
You're free to request a feature, if you don't want it to get forgotten you can even enter it on the bug tracker on google code, but you should not expect every feature to be implemented, just because someone asked for it.
You're also free to submit a patch for a feature you feel strongly about (and i don't), if its done properly i will most likely even accept it (and if its not, probably tell you what to change)
In any case, do not expect me to implement those options, even if i do one day, it won't be anytime soon, the TODO list is long enough as it is.
Guest
30th May 2012, 16:59
@Hera
Ad-hominems are not tolerated here. Stop it or expect consequences. Thank you.
Sebastiii
30th May 2012, 17:00
+1 for nev :)
aufkrawall
30th May 2012, 18:02
+1 for nev :)
Yup, he's already quite communicative, some people will always be complaining.
I'm just happy that downmixing and DVD support are most likely relatively high on his todo list. :D
Never used any kind of video filters etc. and I don't see why this should be the job of a decoder.
SamuriHL
30th May 2012, 18:16
I have no complaints. I use LAV religiously and it always works great. And when it doesn't, I whine. :p LOL! No, seriously, Nev has done a great job on this project. Think about where we'd all be without LAV.
ajp_anton
30th May 2012, 21:46
My "ancient" hardware is not able to play high bitrate 10bit video, and I will lose some quality re-encoding, so I'd rather lose it during playback instead...You never really have an argument if your feature is only useful for pirated movies. I think it's rare to have owned the source once but not anymore, so the "just encode into a less demanding format" holds pretty strong. I'm sorry if I'm wrong, just saying.
e-t172
30th May 2012, 22:06
You never really have an argument if your feature is only useful for pirated movies.
And why is that? Such political/ideological considerations should not be part of the decision process, IMO.
Guest
30th May 2012, 22:08
Guys, this discussion is verboten, per rule 17. The moderators will do the moderating. Please keep it to the technical content of the thread. Thank you.
pokazene_maslo
30th May 2012, 22:59
Hello.
I would like to request for FFT3DGPU filter integration into LAV. Yes, it's an avisynth plugin, but afaik it's opensource so maybe it wouldn't be so hard just to take the denoising code and place it into LAV without that avisynth API. These days GPUs are powerful enough to process such denoising in realtime.
If this is successful for next step i would like to have complete QTGMC deinterlacing with FFT3DGPU for noise processing :)
I guess there is no interest in this.
Polcius
30th May 2012, 23:46
Just started using LAV Filters. Noob questions:
What does checking "audio bitstreaming" in the Audio LAV do? (Have a 5.1 speaker system connected via 3 3.5mm jacks)
What's the difference between DXVA copy-back and native?
Thanks
ajp_anton
31st May 2012, 00:42
And why is that? Such political/ideological considerations should not be part of the decision process, IMO.Forum rules, don't blame me.
I guess there is no interest in this.Nev wants this to be a decoder, not a post-processing filter.
Just started using LAV Filters. Noob questions:
What does checking "audio bitstreaming" in the Audio LAV do? (Have a 5.1 speaker system connected via 3 3.5mm jacks)
What's the difference between DXVA copy-back and native?
ThanksBitstreaming is for S/PDIF, HDMI or something like that. The digital stream is sent to your receiver, which handles the decoding. Not useful for you.
DXVA decodes the video in the GPU, and you can choose to either render this directly from GPU memory (native) with a renderer that supports this, or copy it back to main RAM (copy-back). The former is slightly faster and uses less power, the latter allows you to insert post-processing filters and use any renderer, like it was decoded in software.
Polcius
31st May 2012, 01:09
Ok, thank you!
pokazene_maslo
31st May 2012, 10:51
Nev wants this to be a decoder, not a post-processing filter.
i just want to get rid of avisynth (which is pretty much dead and outdated) as encoding frontend
Guest
31st May 2012, 11:59
i just want to get rid of avisynth (which is pretty much dead and outdated) With all due respect, that is nonsense.
pokazene_maslo
31st May 2012, 13:27
Of course it's not possible to substitute every feature of avisynth with lav.
IMHO at least the part that avisynth is dead and outdated is not nonsense.
Virtual_ManPL
31st May 2012, 14:36
your feature is only useful for pirated movies.
implying that all movies on internet are pirated and obtained illegally... :sly:
@ pokazene_maslo -
On official site and SF, yes it's outdated.
But look here Avisynth 2.6 MT (2012.05.16) (http://forum.doom9.org/showthread.php?t=148782)
dukey
31st May 2012, 15:55
Of course it's not possible to substitute every feature of avisynth with lav.
IMHO at least the part that avisynth is dead and outdated is not nonsense.
You are trying to compare 2 very different things. LAV is a video decoder. Avisynth is a scriping engine that allows you to do basically anything to video.
mandarinka
31st May 2012, 18:12
IMHO at least the part that avisynth is dead and outdated is not nonsense.
With nnedi3, QTGMC, Masktools/MVTools (or yatta...) and now evenwith the 16bit filtering with Dither, what aspect exactly is there in which avisynth isn't light years ahead of alternative solutions?
Not to mention the customization option of filters and the script itself, allowing non-linear filter chain and all...
Skibicki
1st June 2012, 09:42
DC-Bass Source Mod is a source filter, hence it will never connect to LAV Splitter as a decoder filter. But why would you want to split a file based on ffmpeg and decode based on BASS anyway?
MP4-files with only audio inside DC-Bass Source Mod does except though. Will update documentation accordingly next time.
:thanks: Thank you for the information.
Pat357
1st June 2012, 16:32
Nev,
I suspect a regression in Lavaudio when opening a DVD folder via the .IFO file.
MPC-HC consistently crashes (all versions I've tried) if I open the .IFO file from the \VIDEO_TS folder.
What happens is that the video starts playing, but no audio.
(the crash window from MPC pops up)
This is what my event log says :
Log Name: Application
Source: Application Error
Date: 1/06/2012 17:00:47
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: Win7
Description:
Faulting application name: mpc-hc.exe, version: 1.6.3.4948, time stamp: 0x4fc63f56
Faulting module name: LAVAudio.ax, version: 0.50.5.0, time stamp: 0x4fc67cec
Exception code: 0xc0000005
Fault offset: 0x00007873
Faulting process id: 0xbdc
Faulting application start time: 0x01cd400751fe7ff5
Faulting application path: K:\programs\MPC-Homecinema.1.6.2.4802\x86\mpc-hc.exe
Faulting module path: k:\programs\LAV Filters-0.50\x86\LAVAudio.ax
After rolling back to the original LAV 0.50.5, the crashes are gone.
Could you in mean time try it yourself (open .IFO file)
I'm aware DVD playback is not yet supported, but Lavaudio used to work well in this situation.
Thanks in advance !
PS
Something I forgot : if I block lavaudio, there are no crashes.
Reading the vobs 1 by 1 using Lavvideo/Lavaudio/Lavsplitter is OK, no crashes.
All tests are done with non-encrypted dvd's on my HD.
added 02-06-2012
I tested build a73f6321f4f7 (most recent from git) and the 2 builds before : these are all affected.
I'll try to figure out between which builds the regression was introduced.
CiNcH
1st June 2012, 20:23
It is impressive how far LAV has come in such a short period of time!
I have little problem though. I am using LAV Video Decoder with DVBViewer in a push graph (live source). Problem is that when using 'ffdshow Audio Decoder', audio and video are not perfectly in sync most of the time (tried several German and Austrian HD broadcasts). When using LAV Audio, everything seems to be ok. I am missing a mixer there though which is why I use ffdshow. I could not yet reproduce it with a recorded file (pull graph). I may try a longer recording and check how it plays out over a longer period of time.
CyberLink Video Decoder + ffdshow Audio Decoder are in perfect sync und a push scenario.
Any idea?
SamuriHL
1st June 2012, 20:34
Have you tried using ffdshow audio as a post processor after LAV Audio in your graph? That should give you the best of both worlds.
CiNcH
1st June 2012, 20:39
That was my idea too. I will try that. Not done yet. Hopefully ffdshow as a post-processor only won't kill the sync as well.
SamuriHL
1st June 2012, 20:53
Yea I don't know. That'd be the one quick and easy thing I can think of to try.
CiNcH
1st June 2012, 22:04
Didn't seem to have helped. Just tried it with LAV as audio decoder and ffdshow as audio post-processor. Video and audio are out of sync after a short time. Tried on Sport1 HD. I will try whether it is possible to reproduce it with a file. But I think that the problem is a combination of push graph (DVBSource), LAV Video and ffdshow Audio.
SamuriHL
1st June 2012, 22:08
Could be. That's a shame. Hope you get it sorted out.
Andy o
2nd June 2012, 06:34
The Windows mixer doesn't work? For most cases in which you need a mixer it should suffice.
zerowalker
2nd June 2012, 15:40
Is there any plans on making LAV dvd decoding mpeg2 files?
As currently i have to choose ffdshow or Microsoft for that.
Not the worlds most important future, but it would be neat:)
Pat357
2nd June 2012, 19:04
Nev,
I suspect a regression in Lavaudio when opening a DVD folder via the .IFO file.
MPC-HC consistently crashes (all versions I've tried) if I open the .IFO file from the \VIDEO_TS folder.
What happens is that the video starts playing, but no audio.
(the crash window from MPC pops up)
This is what my event log says :
Log Name: Application
Source: Application Error
Date: 1/06/2012 17:00:47
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: Win7
Description:
Faulting application name: mpc-hc.exe, version: 1.6.3.4948, time stamp: 0x4fc63f56
Faulting module name: LAVAudio.ax, version: 0.50.5.0, time stamp: 0x4fc67cec
Exception code: 0xc0000005
Fault offset: 0x00007873
Faulting process id: 0xbdc
Faulting application start time: 0x01cd400751fe7ff5
Faulting application path: K:\programs\MPC-Homecinema.1.6.2.4802\x86\mpc-hc.exe
Faulting module path: k:\programs\LAV Filters-0.50\x86\LAVAudio.ax
After rolling back to the original LAV 0.50.5, the crashes are gone.
Could you in mean time try it yourself (open .IFO file)
I'm aware DVD playback is not yet supported, but Lavaudio used to work well in this situation.
Thanks in advance !
PS
Something I forgot : if I block lavaudio, there are no crashes.
Reading the vobs 1 by 1 using Lavvideo/Lavaudio/Lavsplitter is OK, no crashes.
All tests are done with non-encrypted dvd's on my HD.
added 02-06-2012
I tested build a73f6321f4f7 (most recent from git) and the 2 builds before : these are all affected.
I'll try to figure out between which builds the regression was introduced.
Kay Diefenthal
3rd June 2012, 08:19
hi i am new here and hope this is the right place to nevcairiel ask where / what the problem is
i use your Lav Directshow Filter Pack for my FortheRecord Windows Media
Center client
but think i have found a problem
If i give Windows MediaPlayer or Windows Media Center an url with hostname
can both not play the stream
give i both the url with ip instead of hostname work it
is that a problem of the Lav Splitter or of Windows MediaPlayer /Windows
Media Center ?
kitame
3rd June 2012, 08:29
hello guys,
i've stumbled upon a bug in LAV splitter's subs rule, i cant seem to draw english audio.
im using this setting(advance):
http://img191.imageshack.us/img191/2609/subssetting.png
also, how do i draw the signs[eng] instead of the full sub[eng]? its a sort of english subs that only subs signs.
well simply put theres two english subs stream and i want to select the second stream >,>
edit: ah right, leaving the audio selection blank seems to null the subs rule. so i fixed the drawing of the english audio, but i still cant seem to draw the alternate english sub.
sneaker_ger
3rd June 2012, 14:35
LAV cannot select the second stream. If it's an mkv file use mkvtoolnix' header editor to set the full subtitles to default and prioritize "eng:eng|d".
glorp
3rd June 2012, 15:52
You could re-tag the language of the first audio stream with the mkvtoolnix header editor to "und" and leave the second stream "eng". Then it will select second audio track.
CiNcH
3rd June 2012, 21:38
OK, A/V also seem to be async with LAV Audio, so it does not seem to have anything to do with the audio decoder or post-processor. Audio is sometimes earlier than video. So it may be a problem with LAV Video and push graph. Or maybe a general problem with LAV Video. I will have to do some more investigations:
- whether I can reproduce it in a pull scenario with file playback
- find out when this happens, so whether sync is lost after some time (and is slowly getting worse) or maybe sometimes even immediately
dbcooper
4th June 2012, 03:48
Is there any plans on making LAV dvd decoding mpeg2 files?
As currently i have to choose ffdshow or Microsoft for that.
Not the worlds most important future, but it would be neat:)
The shark007 codec pack includes the Cyberlink PowerDVD mpeg2 decoder, which uses DXVA and is actually very nice.
kitame
4th June 2012, 10:11
LAV cannot select the second stream. If it's an mkv file use mkvtoolnix' header editor to set the full subtitles to default and prioritize "eng:eng|d".
You could re-tag the language of the first audio stream with the mkvtoolnix header editor to "und" and leave the second stream "eng". Then it will select second audio track.
ah, thats a good idea tho that is if i can spare wrecking the file's hash =p
other than that, is there other possible options? like 3rd party add-on.
ryrynz
4th June 2012, 10:14
Unfortunately not.
Mikey2
5th June 2012, 01:36
Hi all - In the MadVR thread, we became in a discussion about if it is possible that LAV Audio Decoder fully and correctly decodes the entire lossless file and does not down-sample.
Here is a copy of my post on that thread - it explains my skepticism and in a nutshell asks: Does putting dtsdecoderdll.dll in the LAV Filters directory finally solve this problem? (It seems too good to be true! ;) )
{start post}
============
, are you sure it is not just decoding the CORE components and "down-sampling"* the lossless stuff?
I have spent many hours on this issue going back to the PAP (or lack there-of) debacle when Lossless formats started appearing on HTPC's. (That is the reason I have a Xonar card - it was the first to fully play more than the "core" parts of TrueHD and DTS-MA.)
Still, the Xonar card, and indeed the whole filter-system is quite picky when trying to play these extended formats.
From all of my research, it seems that the only way to get true lossless audio is to have a bitstream that preserves the PAP.
Theoretically one should be able to decode to PCM (which is what we are talking about here.) But I thought both because of legal reasons (MPAA and their darn un-tamperable PAP!) and limitations with the filter-graphs themselves (including the inability to read the all of the extended lossless data.)
To test this hypothesis, let's do an example:
This is the real Pin information for The DTS-MA track for the extended version of "Return of the King:"
The input pin to any decoder file isthe standard DTS core bitrate of 1536kbps
LAVAudioDecoder (IN)
Audio: DTS 48000Hz 7ch 1536kbps
The output pin's bitrate will always be larger since it is a decoded WAV in a PCM at this point.
LAVAudioDecoder (OUT)
Audio: WAVE_FORMAT_EXTENSIBLE 48000Hz 7ch 8064kbps
So using LAVAudioDecoder we have a bitrate around 8,000kbps (I verified that this is the bitrate going into the Renderer.)
Now let's try bitstreaming. First take out the LAVAudioDecoder and go straight to ffdShow Audio in Bitstream format. (For some reason that decoder is one of a small few (like eac2) that runs a weird hack that gives it access to the supplemental data.)
ffdShow (Audio) (0UT)
Audio: 0x0241 192000Hz 8ch 24576kbps
So using in bit-stream mode (that we know is lossless) we have a bitrate around 24576kbps (3X the decoded mode@)
That is a much higher bitrate than the original! (3X) Too bad bit-rates are variable and that MediaInfo cannot display a file's bit-rate. Furthermore this is not proof that the sound quality is greater - indeed any WAVE-format PCM is going to have many kbps; however, that is a significant difference and seems to show me that not all of the data is being processed even in this setup!
Don't get me wrong, I'm not married to bitstreaming - in fact I'd prefer to work in the PCM world where I can use ReClock etc, but given its history, I am always skeptical when I hear of something that does "lossless" audio cleanly. If this is truly performing software decoding on DTS_MA without any downsampling, then this is the first time I have heard of such a thing
Wow this is WAY off-topic, and I apologize. As you can tell I am more than a little interested in this. I think I will post this in the LAVFilters thread too…
Thanks for reading!
MikeY
* - "down-sampling" has been used incorrectly in this case in the past. To me (at least with DTS-MA) the issue is simply stripping the non-core data.
EDIT/UPDATE/SOLUTION: Thank you for the response nevcairiel (see below.) Essentially I am a fool, I forgot to multiply the different sampling frequencies to get the correct bit-rate.
In other words (correct me if I'm wrong,) but it looks like it is in fact working fine: the 1536 input pin is a misnomer, it is receiving and decoding the full DTS-MA signal. VERY cool stuff, if this was around a couple years ago I could have saved a hundred dollars on my Xonar audio-card! (Since DTS-MA and TrueHD can be decoded at full-quality, there is no longer any need to bitstream this.)
Bitstreaming DTS-HD needs to run at the absolute maximum bitrate possible, so it'll always be very high.
It always runs at 192kHz, 8 channels, 16-bit, resulting in 192000 * 8 * 16 = 24576000 bit per second, or 24576 kbps.
This is just how HDMI works.
SamuriHL
5th June 2012, 01:39
The MA extensions of DTS contain the extra channels. If it were only doing core, then you would only ever get 5.1. Trust us, we did a lot of testing around this when the ability was first added. Nev is hooking the ArcSoft decoder directly in code. The down-sampling, i.e. reducing the bit depth to 48/16 doesn't actually happen in the decoder but in the renderer. So we avoid that by using the decoder directly. In any case, yes, you are getting full DTS-HD MA decoding. At all the right bitdepth.
Andy o
5th June 2012, 03:14
All those bitrate numbers are not the actual stream numbers. I don't know if there's an error or if they're reading something else, but Nev has stated in the past that what LAV decoder reports is not the HD bitrate, and it doesn't matter. The 1536 kbps is clearly the core DTS-ES (6.1 or "7 channel") bitrate. The out bitrate apparently is a 7-channel (6.1) 24-bit 48kHz PCM which is likely what the 6.1 DTS-HD MA track would decode to. I don't know what the ffdshow numbers mean, if it's resampling, or if they're just plainly wrong, but they clearly are not the decoded bitrate. The sampling freq and channels just don't match.
tormento
5th June 2012, 07:08
I have some trouble playing AVCHD .m2ts from a Sony 1080i cam, i.e. freezing, stuttering or not playing at all.
The same works perfectly with other decoders.
Before uploading huge files, has anybody tested LAV with those kind of files?
Mediainfo report:
General
ID : 0 (0x0)
Complete name : E:\avchd\03-06-2012\20120603090917.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 24.1 MiB
Duration : 11s 935ms
Overall bit rate mode : Variable
Overall bit rate : 16.9 Mbps
Maximum Overall bit rate : 18.0 Mbps
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Format settings, GOP : M=2, N=13
Codec ID : 27
Duration : 11s 880ms
Bit rate mode : Variable
Bit rate : 15.8 Mbps
Maximum bit rate : 16.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.305
Stream size : 22.4 MiB (93%)
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Format settings, Endianness : Big
Codec ID : 129
Duration : 11s 968ms
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Delay relative to video : -80ms
Stream size : 655 KiB (3%)
Text
ID : 4608 (0x1200)
Menu ID : 1 (0x1)
Format : PGS
Codec ID : 144
Duration : 11s 375ms
Delay relative to video : -80ms
andybkma
5th June 2012, 10:30
Win 7 SP 1 32-bit, LAV Filter 0.50.5
Bug Report if I may: For many .FLV files that are encoded with VP6 or Sorenson, using LAV Splitter Source as the splitter, when the video comes to the end it will not start the video again (loop the video) but instead stops the video and/or crashes the player. FLV files that are not encoded with VP6 or Sorenson (such as AVC) work fine. I included three samples: Two vids with VP6 and one with Sorenson (note: samples are a little naughty but nothing bad)
http://www.filefactory.com/file/m9bjx5wv9hx/n/Samples_zip
I duplicated this many times with Zoom Player and POT Player:
With Zoom Player & MadVR, when video comes to the end it starts flashing and crashes the player. With Zoom and Haali & VMR7/9 it merely comes to the end of the vid and stops (doesn't loop as it should but also doesn't crash the player). Note: ffdshow is the decoder.
With POT Player & all renderers, video stops at the end and doesn't loop as it should. Note: Internal POT Player decoder is the decoder
I have only been able to duplicate this looping/crashing problem I describe with FLV files encoded with VP6 and Sorenson and with LAV Filter as the FLV Splitter.
Hope I have been able to provide you with good info and the sample vids in order to easily duplicate the same problems I am experiencing. Cheers
rack04
5th June 2012, 18:09
Is bitstreaming over HDMI hardware dependent? When I connect my Dell E6420 Laptop with HDMI output to my Onkyo TX-SR606 AVR all I get is video and no audio. I have all of the bitstream options check in the LAV Audio. Any tips?
GTPVHD
5th June 2012, 21:50
http://www.geforce.com/hardware/desktop-gpus/geforce-gt640
GT 640(GK107) retail card has arrived with VP5/Feature Set D hardware decoder, unfortunately it's the DDR3 version and is extremely bandwidth starved. Personally I would recommend waiting for the GDDR5 version.
Nezaara
6th June 2012, 07:41
QuickSync doesn't work on my setup and I'm not sure why. I'm running a Sandy Bridge CoreI3 on a Z68 chipset. It has Intel HD2000 graphics and I have updated the drivers to the latest version, yet when loading a video with quicksync enabled, the video won't play. MPC-HC works fine, it doesn't crash or anything, it just sits at 00:00:00 and won't advance. Weirdly, using DXVA works just fine. I'm not sure if I need to change the renderer from EVR custom to something else or if there's some other obvious setting I've configured incorrectly, or if it is in fact a bug. I'm assuming it's the former, so I'd appreciate any ideas anyone might have so I can use all the features of my processor to their fullest potential.
nevcairiel
6th June 2012, 08:23
So using in bit-stream mode (that we know is lossless) we have a bitrate around 24576kbps (3X the decoded mode@)
Bitstreaming DTS-HD needs to run at the absolute maximum bitrate possible, so it'll always be very high.
It always runs at 192kHz, 8 channels, 16-bit, resulting in 192000 * 8 * 16 = 24576000 bit per second, or 24576 kbps.
This is just how HDMI works.
All DTS-HD streams will run at that bitrate, it has nothing to do with the actual content or what it would decode to.
You can have a Mono 48000 Hz 16-bit DTS-HD MA Stream, and it would bitstream in the same format as a 96000Hz 8 channel 24-bit stream.
If you want to test if something is lossless, then find a DTS-HD encoder, encode a WAV, decode it again, and compare.
People have done this before, and confirmed that everything is completely lossless.
So, to conclude:
Yes, LAV (in combination with the ArcSoft DLL) can decode DTS-HD MA completely lossless. There are only 1-2 exceptions, associated with very odd channel layouts, which are only working 99% (you won't find such tracks on Blu-rays, at least i never saw one)
kitame
6th June 2012, 09:13
http://www.geforce.com/hardware/desktop-gpus/geforce-gt640
GT 640(GK107) retail card has arrived with VP5/Feature Set D hardware decoder, unfortunately it's the DDR3 version and is extremely bandwidth starved. Personally I would recommend waiting for the GDDR5 version.
i dunno about the part about it being bandwidth starved since PCI-E 3.0 has supposedly 2 times more bandwidth.
QuickSync doesn't work on my setup and I'm not sure why. I'm running a Sandy Bridge CoreI3 on a Z68 chipset. It has Intel HD2000 graphics and I have updated the drivers to the latest version, yet when loading a video with quicksync enabled, the video won't play. MPC-HC works fine, it doesn't crash or anything, it just sits at 00:00:00 and won't advance. Weirdly, using DXVA works just fine. I'm not sure if I need to change the renderer from EVR custom to something else or if there's some other obvious setting I've configured incorrectly, or if it is in fact a bug. I'm assuming it's the former, so I'd appreciate any ideas anyone might have so I can use all the features of my processor to their fullest potential.
do you have a graphics card attached? because having an add-on card disables intel IGP.
Nezaara
6th June 2012, 10:39
Negative. I used to have a Radien, but not only is it no longer physically in the case but I have since reinstalled Windows entirely after changing the motherboard.
I was going to add something in the DTS-MA lossless discussion about the meaning of exactly what the pin info is telling you, but seems I've been beaten to it in style. One question, though: if you are bitstreaming DTS-HD or DTS-MA, then you do not need ArcSoft. You only need it if you are using LAV to decode it (IE the bitstream checkbox is disabled in audio options). Correct? If you do bitstream, is there a way to tell nothing's interfeering with it? Either way, I am hoping that if you are streaming core then the pin info will be different in some way from what you'd see if you are getting lossless output.
nevcairiel
Hi, can you answer this (http://forum.doom9.org/showthread.php?p=1577361#post1577361) question please.
nevcairiel
6th June 2012, 12:58
i dunno about the part about it being bandwidth starved since PCI-E 3.0 has supposedly 2 times more bandwidth.
PCI-E 2.0 also had plenty bandwidth.
The problem is the memory itself, not the interface.
kitame
6th June 2012, 13:01
kinda makes sense then, i thought he was talking about overall bandwidth which 3.0 could've compensated.
jakmal
7th June 2012, 01:49
PCI-E 2.0 also had plenty bandwidth.
The problem is the memory itself, not the interface.
Hendrik, I have the card (Zotac model with 2 GB DDR3) in hand right now, and am going to check out the performance later tonight.
I am assuming it is good to go with 0.50.5 version of LAV Filters for 4K decoding in both DXVA2 Native and CUVID mode. Please let me know if I need to take any precautions.
First time I am going to try madVR for 4K output with 1080p content. Won't be surprised if it chokes :) (Or, maybe 1080p to 4K madVR is a test not many are going to be interested in?)
nevcairiel
7th June 2012, 08:05
Unless something changed in the drivers recently, DXVA with 4K will most likely still crash.
jakmal
7th June 2012, 09:33
Unless something changed in the drivers recently, DXVA with 4K will most likely still crash.
Reverted to avcodec with DXVA2 Native :| just like on 7750.
However, cuvid worked beautifully.. for the 4K clips on YouTube, I got between 40 - 60% Video Engine Load.
QuickSync doesn't work on my setup and I'm not sure why. I'm running a Sandy Bridge CoreI3 on a Z68 chipset. It has Intel HD2000 graphics and I have updated the drivers to the latest version, yet when loading a video with quicksync enabled, the video won't play. MPC-HC works fine, it doesn't crash or anything, it just sits at 00:00:00 and won't advance. Weirdly, using DXVA works just fine. I'm not sure if I need to change the renderer from EVR custom to something else or if there's some other obvious setting I've configured incorrectly, or if it is in fact a bug. I'm assuming it's the former, so I'd appreciate any ideas anyone might have so I can use all the features of my processor to their fullest potential.
Sounds like a driver problem, download latest drivers from Intels website and reinstall. If you installed drivers from Windows Update you'll lose QS functionality or suffer from massive corruptions.
If it still doesn't help, post your full setup on my dev thread (http://forum.doom9.org/showthread.php?t=162442).
nevcairiel
7th June 2012, 12:08
Reverted to avcodec with DXVA2 Native :| just like on 7750
Nothing has changed in that regard, because DXVA2 mode just crashes on 4K (on NVIDIA), or doesn't work properly (on AMD), i disabled it for Native mode. You can try DXVA-CB (which doesn't have those rules), and when it stops crashing, i can enable it.
kitame
7th June 2012, 13:19
oh yea, is there any news for Hi10P hardware acceleration? if not then would it be possible to create an emulated software decoding using the GPU as the processor?
the latter would be seriously all too sweet =P
Edit: wait... emulating a CPU core in the GPU entirely and forcing OS to think it has additional cores would revolutionize GPU usage =O
nevcairiel
7th June 2012, 14:25
oh yea, is there any news for Hi10P hardware acceleration? if not then would it be possible to create an emulated software decoding using the GPU as the processor?
Decoding is impossible, unless new hardware is released that supports it (doubtful at this time)
"Emulating" a software decoder in CUDA or OpenCL is in theory possible, but really pointless.
However, cuvid worked beautifully.. for the 4K clips on YouTube, I got between 40 - 60% Video Engine Load.
Amazing. Ganesh, looking forward to your Anandtech article on the card and HTPC. :)
kitame
7th June 2012, 15:36
i doubt they'd develop a GPU that would be able to decode Hi10P, they'd skip it for H.625 or High Efficiency Video Coding (HEVC).
i guess it is pointless when the gain would be so small its a waste of time, but if its a temporary solution to go in parallel with the CPU so that Hi10P can be hardware accelerated via emulating software decoding(lol dumb name) and ultimately offload a huge percentage of CPU usage then it wouldnt be so pointless anymore =D
Edit: reason for the questions was an idea for making ION/E350 based HTPC to be usable again with Hi10P encoded videos.
ajp_anton
7th June 2012, 22:37
Edit: reason for the questions was an idea for making ION/E350 based HTPC to be usable again with Hi10P encoded videos.What makes you think they are even fast enough to decode it?
Nezaara
8th June 2012, 02:06
My drivers are from intel, not windows update. I'll see if there are any new ones since the last time I looked (less than a month ago). I will also continue this discussion in the QS thread, as requested, since this one is giant enough already.
ionutm80
8th June 2012, 11:59
Hello Nevcairiel,
I've recently had a inquiry with Egur on the usage of QS in LAV decoder with WMC7 (I could not have full-screen image in WMC7 with QS+LAV video only if I reduce a little the window from top right icon) and here it's his answer:
"Regarding LAV+QS:
MCE is special player with respect that it's the only player that works in Direct3D full screen exclusive mode. This special mode (usually found in games) do not allow creation of DXVA/D3D HW devices unless very specific conditions occur. When LAV decoder queries the QS decoder if it can play the movie, QS will return that it can't (can't create a HW device). FFDShow ignores this check (my ugly patch so MCE would work). Actual HW device is created after the renderer is connected, later on in the initialization flow."
Do you plan to change LAV decoder so that we can use QS properly with WMC7?
Thanks in advance for your answer,
Kind Regards,
IM
sexus
8th June 2012, 12:15
so hows the dvd menu functionality coming along nevcairiel? , been some time
ryrynz
8th June 2012, 13:36
I think it'll still be a ways off Sexus, it's fairly low priority for him and he's taking a bit of a break right now.. Hopefully before the end of the year he'll get around to that and maybe knock one or two other things off his issues list as well ;)
sexus
8th June 2012, 13:39
one can only hope ... ;)
Midzuki
8th June 2012, 14:22
Wonder what kind of CPU he has if 0.6% correlates to 60-90% on his computer. Intel486?
Apparently you don't know very-much about computers.
What I'm seeing here is like asking someone for money, and then insulting them if they don't give you the exact amount you asked for. It's just rude and ungrateful.
That was just your groundless opinion, of course.
What's more surprising is that someone actually cares about ALS which has had essentially 0 consumer or industry interest.
Does that mean you are going to ask the ffmpeg team to remove the MPEG-4 ALS decoder from their source-code ?
did you know that you can reencode your als to flac losslessly ?
Quite off-topic and unhelpful, to say the least.
/you added in my Ignore List.
Nobody cares about your IgnoreList.
Midzuki, are you trolling again?
No, because I'm not a friend of yours.
From your absence I assume you won a temporary ban and still haven't learned.
Stop acting as if you were a moderator.
Octo-puss
8th June 2012, 18:41
Midzuki, are you trolling again? From your absence I assume you won a temporary ban and still haven't learned.
Guest
8th June 2012, 18:53
Apparently you don't know very-much about computers.
That was just your groundless opinion, of course.
Does that mean you are going to ask the ffmpeg team to remove the MPEG-4 ALS decoder from their source-code ?
Quite off-topic and unhelpful, to say the least.
Nobody cares about your IgnoreList.
No, because I'm not a friend of yours.
Stop acting as if you were a moderator.
@Midzuki
I trusted you and intervened to get you back. Now you are doing this? Please stop it.
@all
Please ignore the provocation and let me handle this.
kitame
8th June 2012, 19:43
What makes you think they are even fast enough to decode it?
i dunno, no solid proof but people have claimed that they have manage to play 720p Hi10P with a fair amount of bitrate stably and smooth. and since their IGP is running idle would mean it'll have a slim chance of managing 1080p as well if the process were to be partly offloaded into the GPU.
anyway it was a fair stupid question and i was just trying my luck.
also, i seem to have stumbled upon some issues, i dont know if its caused by LAVs but anyway, whenever i open a video the whole player sometimes freezes for a few seconds and plays normally afterwards. it rarely occurs but its kinda annoying.
setup:
MPC-HC 1.6.2.4902
LAV 0.50.5
MADVR 0.80.5
XY-VSFilter 3.0.0.8
Windows 7 64x - enterprise
i3-2100 @ 3.1ghz
2x4GB 1333ddr3 cl9
HD6570 @ 825mhz
kasper93
8th June 2012, 22:20
@nevcairiel: Would it be possible to fix FPS detection for DVB broadcast? I'm using LAVF + MPC-HC and LAV Video Decoder reports wrong framerate. Everything is fine until we change audio track. A/V is out of sync. LAV Audio Decoder + ffdshow Video Decoder or MS DTV-DVD Video Decoder works fine. That's why I think it's LAV Video Decoder issue and I guess it may be framerate.
It work fine with recorded files, but I guess framerate is reported by splitter.
ryrynz
8th June 2012, 22:38
I dont know if its caused by LAVs but anyway, whenever i open a video the whole player sometimes freezes for a few seconds and plays normally afterwards.
Nobody here has had any issues like that, I would recommend changing your video decoder, splitter, renderer and media player one at a time just to try and narrow it down, it could be anything at this point.
woody777
9th June 2012, 03:59
I've got a question:
I'm trying to get Lav Splitter, Lav Audio, and Lav Video to work in WMC using Shark007. I know, I know... but, WMC is sooooo easy for my wife and kids to use. When I open a MKV, everything works great except VobSub never opens. If I open the same MKV in Graphstudio, everything works perfectly. VobSub opens (although it opens four times???) and forced subs are played as expected. I know you don't offer support for WMC or Shark codecs, but any help would be greatly appreciated!
clsid
9th June 2012, 14:46
With the K-Lite pack subtitles will work properly for .mkv files in WMC. Both embedded and external. It uses a special tweak to achieve that. With the shark pack you need to sometimes change decoders, which means you can't always use LAV Video.
When using DXVA native, it seems that certain video encodes (cropped issue?) refuse to play compared to Copy Back mode. Fallback to CPU issue?
Also, is it possible to make video codec refuse if DXVA fails?
Thanx
woody777
9th June 2012, 20:33
With the K-Lite pack subtitles will work properly for .mkv files in WMC. Both embedded and external. It uses a special tweak to achieve that. With the shark pack you need to sometimes change decoders, which means you can't always use LAV Video.
Thanks. Do you know what K-Lite tweaks?
Shark007
9th June 2012, 21:32
Thanks. Do you know what K-Lite tweaks?
woody, I doubt clsid is of much help beyond promoting Klite since he is the klite author.
On the up-side, my next release will support using the lav decoders/splitter along with loading vobsub in Media Center.
I will make the release later today or early tomorrow.
woody777
9th June 2012, 22:00
woody, I doubt clsid is of much help beyond promoting Klite since he is the klite author.
On the up-side, my next release will support using the lav decoders/splitter along with loading vobsub in Media Center.
I will make the release later today or early tomorrow.
Really? Outstanding! I will look for your next release. Thank you, Shark!
jmone
10th June 2012, 00:30
For nvidia (550Ti) using LAV Video CUDA decoding with MADVR... what is the current "recomended" driver as I'm still on 285.62 (eg is the Latest OK or are there any issues?).
THanks
Nathan
golagoda
10th June 2012, 01:03
For nvidia (550Ti) using LAV Video CUDA decoding with MADVR... what is the current "recomended" driver as I'm still on 285.62 (eg is the Latest OK or are there any issues?).
THanks
Nathan
The latest WHQL driver 301.42 is the best driver to use currently as it fixed MPEG-4 ASP cuvid decoding and madVR works perfectly fine with it now as all madVR problems with the older 300 series drivers were also fixed.
bejita7
10th June 2012, 15:47
When ordered chapters/hard linking and editions in matroska container will be supported like in haali splitter?
aufkrawall
10th June 2012, 16:38
I think the latest state was not so soon or never.
wanezhiling
10th June 2012, 16:43
:) I need a tray, maybe it's never implemented though..
aufkrawall
10th June 2012, 18:06
:) I need a tray, maybe it's never implemented though..
For good reason, imho. :)
I find downmixing and DVD support are much more substantial.
jmone
10th June 2012, 22:19
The latest WHQL driver 301.42 is the best driver to use currently as it fixed MPEG-4 ASP cuvid decoding and madVR works perfectly fine with it now as all madVR problems with the older 300 series drivers were also fixed.
Thanks
rack04
11th June 2012, 14:50
I'm trying to bitstream DTS-MA to my Onkyo TX-SR606. I have LAV Splitter set up to bitstream all formats. I have arcsoft installed and dtsdecoderdll in the LAV Filters directory. The problem is that when the HDMI cable is plugged in the LAV Audio isn't in the filter chain. If I disconnect the HDMI cable LAV Audio is used to decode. What am I missing?
Portioli
11th June 2012, 16:48
AFAIK, Onkyo 606 does not support dts-hd MA.
If you want to use lav audio + arcsoft's .dll you have to uncheck dts-hd ma & dolby TrueHD boxes.
You also have to use reclock as audio renderer.
SamuriHL
11th June 2012, 16:52
Um, as much as I hate the Onkyo 606 personally, it most definitely supports DTS-HD MA. You don't need the arcsoft dll to bitstream.
rack04
11th June 2012, 16:56
AFAIK, Onkyo 606 does not support dts-hd MA.
If you want to use lav audio + arcsoft's .dll you have to uncheck dts-hd ma & dolby TrueHD boxes.
You also have to use reclock as audio renderer.
Why do I "have" to use Reclock? Also, I don't see a check boxe for DTS-HD MA in the LAV Audio dialog.
robpdotcom
11th June 2012, 21:07
You don't have to use Reclock to bitstream anything - in fact, it's not recommended for bitstreaming.
The check box for DTS-HD is in the LAV Audio configuration, under audio settings. Check DTS, and then DTS-HD will be available to check off (you must check off both). Also, make sure DTS is checked off in the formats section.
rack04
11th June 2012, 21:16
You don't have to use Reclock to bitstream anything - in fact, it's not recommended for bitstreaming.
The check box for DTS-HD is in the LAV Audio configuration, under audio settings. Check DTS, and then DTS-HD will be available to check off (you must check off both). Also, make sure DTS is checked off in the formats section.
Thanks. There in no DTS listed in the formats section. Also, I'm wondering if I'm having troubles because I'm using Windows XP.
robpdotcom
11th June 2012, 22:57
Thanks. There in no DTS listed in the formats section. Also, I'm wondering if I'm having troubles because I'm using Windows XP.
Woops. Look for DCA (DTS Coherent Accoustics).
Andy o
12th June 2012, 02:13
I don't think it's possible to bitstream DTS-HD and TrueHD with XP.
SamuriHL
12th June 2012, 02:14
I don't think it's possible to bitstream DTS-HD and TrueHD with XP.
With nVidia and AMD, no. With a Xonar, yes.
Andy o
12th June 2012, 05:03
In the case of the Xonar, it requires extra setup with the Arcsoft renderer AFAIK, so he still can't bitstream just with LAV. My money is on XP being the problem.
rack04
12th June 2012, 05:07
I have TMT5 trial installed and I copied the dtsdecoderdll into LAV Filters directory. How do I tell if LAV Audio is using ArcSoft to decode DTS-HD MA?
nevcairiel
12th June 2012, 06:50
I have TMT5 trial installed and I copied the dtsdecoderdll into LAV Filters directory. How do I tell if LAV Audio is using ArcSoft to decode DTS-HD MA?
Look at the status page of LAV Audio.
The value under "Codec" will show you:
- "dca" is the ffmpeg decoder
- "dts-hd ma" or any other combinations with "dts-hd" is the ArcSoft decoder
STaRGaZeR
12th June 2012, 16:04
nev, I just found an aspect ratio issue when using LAV and DVBViewer. It only happens when a certain combination of filters is used, so I don't know if it's LAV or DVBViewer's fault.
The issue is as follows: MPEG-2 channel, 720x576, 16:9.
LAV Video + EVR = Image is deformed to 4:3, like in here (http://i47.tinypic.com/f0bsc9.jpg)
LAV Video + EVR Custom = No issues
Microsoft's decoder + EVR = No issues
Microsoft's decoder + EVR Custom = No issues
Here I only have MPEG-2 SD and H.264 HD channels, only happens in MPEG-2 channels.
Any suggestions?
nevcairiel
12th June 2012, 16:17
Does the problem also show with recorded files so that i can check it?
Otherwise, use EVR Custom? :D
nevcairiel
12th June 2012, 16:57
I suspect a regression in Lavaudio when opening a DVD folder via the .IFO file.
MPC-HC consistently crashes (all versions I've tried) if I open the .IFO file from the \VIDEO_TS folder.
Fixed
STaRGaZeR
12th June 2012, 19:15
Does the problem also show with recorded files so that i can check it?
Otherwise, use EVR Custom? :D
Just recorded some of the offending footage, it plays fine in all situations, inside DVBViewer and in any other DS player. I can only reproduce by playing a live channel. The source filter reports 16:9 as it should, it's really strange. After changing channels I can see that it displays (very fast) at least 1 frame in 16:9, then changes to 4:3. Version 4.9.5.0 BTW.
I was using EVR Custom until now, but it stutters a bit here and there while vanilla EVR doesn't. And with all the sports events we have in June I can't allow that :D
nevcairiel
12th June 2012, 19:38
Just recorded some of the offending footage, it plays fine in all situations, inside DVBViewer and in any other DS player. I can only reproduce by playing a live channel. The source filter reports 16:9 as it should, it's really strange. After changing channels I can see that it displays (very fast) at least 1 frame in 16:9, then changes to 4:3. Version 4.9.5.0 BTW.
Can you try this, see if it helps at all?
If this doesn't help, not sure why this would be happening, unless the video stream specifys a wrong AR, but then a recorded file would show the same problem, i would guess.
http://files.1f0.de/lavf/LAVFilters-0.50.5-25-ar.zip
Pat357
12th June 2012, 19:44
Fixed
Thanks a lot !! :)
STaRGaZeR
12th June 2012, 20:08
Can you try this, see if it helps at all?
If this doesn't help, not sure why this would be happening, unless the video stream specifys a wrong AR, but then a recorded file would show the same problem, i would guess.
http://files.1f0.de/lavf/LAVFilters-0.50.5-25-ar.zip
No luck with that build unfortunately. Here you have a sample, just in case you see something interesting in it: http://www.mediafire.com/?7qals0umhp28xiq
woody777
12th June 2012, 23:10
I have some BDs with uncompressed PCM audio tracks. Is there any way to keep these tracks lossless and be able to "bitstream" them using Lav Audio? (I know you can't really bitstream PCM, but I just want it to take exclusive control of my device as I keep Windows set to 2.0/44.1 for music streaming). I know Reclock is really the answer here, however, I'm seeing if it's possible to accomplish this another way because I play my MKVs through WMC and Reclock breaks live tv. Most of the videos have an AC3 track and I know I could just use that (or make one using eac3to I think), but I figured I would ask the experts if there's any other way. Thanks!
SamuriHL
12th June 2012, 23:18
It's a renderer issue, so, no there's nothing LAV Audio can help with. So yea, ReClock or another audio renderer that can work with exclusive mode is in fact the answer. I use J River MC17 which has their own audio renderer that can do it, as well.
Traps
12th June 2012, 23:38
I have this issue with LAV Audio decoder and i was wondering if anyone knows the problem.
Basicaly, LAV audio doesn't decode formats properly, AAC/AC3/Vorbis all have massive problems but DTS works perfectly.
Here's an example i recorded when trying to play a .mp4 h264/aac trailer for some upcoming movie:
LAV Audio: LAV Audio.flac (ftp://78.153.40.220/AiDisk_a1/DATA/LAV%20Audio.flac)
There are these weird sounds, volume changes and i have no idea what could cause them.
Similar issue with MPC HC internal decoder: MPC HC audio.flac (ftp://78.153.40.220/AiDisk_a1/DATA/MPC%20audio.flac)
With this decoder there are just these weird sounds, no volume changes.
If i use FFDshow to decode AAC it works flawlessly, AC3 works flawlessly with MPC HC internal decoder. It's weird and i have no idea what's causing this.
MPC, LAV, FFDshow and drivers are all updated to latest version.
I'm using LAV Splitter, LAV Video, madVR renderer on i7 2600k, ASUS P8P67PRO, Windows 7 64bit and Asus Xonar DG audio card.
JEEB
13th June 2012, 09:06
I have this issue with LAV Audio decoder and i was wondering if anyone knows the problem...
An actual sample would be the best way to investigate a decoding bug, as in most cases the output isn't exactly helpful. Also, if both LAV and MPC-HC are affected, and -tryouts is not, there's a chance that ffmpeg's libavcodec AAC decoder could be borked (-tryouts IIRC uses libav), and there might be a need to report upstream, for which a sample would be quite useful as well.
Traps
13th June 2012, 11:36
It was this video: Rise of the Guardians - Official Trailer (HD) (http://www.youtube.com/watch?v=ok0M25mpJl8&feature=g-hist), i downloaded the HD 720p/AAC version to my HDD and tried to play it. It happens with all AAC/AC3 files though.
Here's a small song sample, it happens with this one too: track.m4a (ftp://78.153.40.220/AiDisk_a1/DATA/Zadeta%20si%20lepa%20Ljubljana.m4a)
sneaker_ger
13th June 2012, 12:23
Do you have MPC-HC's internal Audio Switcher activated? Tried different audio renderer?
nussman
13th June 2012, 14:00
No luck with that build unfortunately.[/url]
Did you try to enable video pre format detection?
http://en.dvbviewer.tv/wiki/Options_DirectX#TV.2FRadio_Pre-Format_Detection
Traps
13th June 2012, 15:57
Do you have MPC-HC's internal Audio Switcher activated? Tried different audio renderer?
Tried every audio renderer available in MPC HC, tried Audio switcher On/Off with different settings but nothing works. The only thing that works is using ffdshow-tryouts set to libfaad2 to decode, if it's set to libavcodec decoder i get same errors in the audio.
I thought it was my audio card but i doubt that since it works flawlessly for everything else.
nevcairiel
13th June 2012, 16:01
The file decodes just fine on any other PCs, so it must be something specific to yours.
My best guess is that something doesn't deal properly with float audio, but then again i don't think ffdshow or MPC-HC default to float output.
Other ideas were a specific version of optimized assembly being broken, but considering you have the same CPU as me, thats out too.
Just for the giggles, you could try turning off float audio in LAV - in fact, turn off everything but 16-bit integer.
STaRGaZeR
13th June 2012, 16:51
Did you try to enable video pre format detection?
http://en.dvbviewer.tv/wiki/Options_DirectX#TV.2FRadio_Pre-Format_Detection
It works! I didn't even see that option before. Since it works with this setting turned on, it's LAV or DVBViewer's fault?
nevcairiel
13th June 2012, 16:53
It works! I didn't even see that option before. Since it works with this setting turned on, it's LAV or DVBViewer's fault?
I still don't even understand why it fails, the fact that the window size is 16:9 but the video is still 4:3 is odd, plus that it only happens on some formats .. confusing at best.
I'll try testing on some live tv stations, but somehow i'm doubtful it'll reproduce
BTW: Which decoder in LAV are you using?
STaRGaZeR
13th June 2012, 17:27
BTW: Which decoder in LAV are you using?
QS, but happens with software and DXVA too.
I don't know what that option does, but since it works with it it should be a good starting point.
Traps
13th June 2012, 17:47
The file decodes just fine on any other PCs, so it must be something specific to yours.
My best guess is that something doesn't deal properly with float audio, but then again i don't think ffdshow or MPC-HC default to float output.
Other ideas were a specific version of optimized assembly being broken, but considering you have the same CPU as me, thats out too.
Just for the giggles, you could try turning off float audio in LAV - in fact, turn off everything but 16-bit integer.
Yeah, I honestly can't figure out what could cause this since everything else works fine, Potplayer internal decoders have no problems for example.
Anyway, i tried using just 16bit integer but it didn't fix it. I guess i'll just use LAV Audio for DTS and ffdshow for the rest.
STaRGaZeR
13th June 2012, 19:36
Got another issue to report. It has to do with QS deinterlacing.
To reproduce: disable hardware deinterlacing in your graphics card settings, so renderer deinterlacing doesn't work. With QS DI activated play an interlaced file and seek on it several times. After one of the seeks you'll probably start to see combing, indicating that QS DI no longer works. Now activate renderer DI and try again, QS will still fail at some point, but this time your graphics card will take over, so you won't see combing. In my testing it's clear that QS fails, and that LAV starts sending flags downstream at that point. Hope this helps to narrow the issue down.
EDIT: Another outcome is that instead of disabling DI completely, it may switch to half rate DI after a seek.
egur
14th June 2012, 07:53
Got another issue to report. It has to do with QS deinterlacing.
To reproduce: disable hardware deinterlacing in your graphics card settings, so renderer deinterlacing doesn't work. With QS DI activated play an interlaced file and seek on it several times. After one of the seeks you'll probably start to see combing, indicating that QS DI no longer works. Now activate renderer DI and try again, QS will still fail at some point, but this time your graphics card will take over, so you won't see combing. In my testing it's clear that QS fails, and that LAV starts sending flags downstream at that point. Hope this helps to narrow the issue down.
EDIT: Another outcome is that instead of disabling DI completely, it may switch to half rate DI after a seek.
Sounds like a bug :(
Does this happen on all clips or a specific one?
aufkrawall
14th June 2012, 10:22
I'm getting lots lof dropped frames with QS deinterlacing and 60p output with a VC-1 interlaced sample (that one is often linked here).
30p seems to work fine.
egur
14th June 2012, 15:11
I'm getting lots lof dropped frames with QS deinterlacing and 60p output with a VC-1 interlaced sample (that one is often linked here).
30p seems to work fine.
Please post QS issues on my thread. Also, pelase give a more detailed report (at least the clips name), I don't remember the setup of all the users here ;)
STaRGaZeR
14th June 2012, 16:16
Sounds like a bug :(
Does this happen on all clips or a specific one?
Happens in all clips, so it's a general issue. But since renderer deinterlacing (it can be confusing to call it hardware deinterlacing here :p) kicks in as soon as QS fails, maybe it's related to LAV too, or maybe LAV reacts to something QS does, I don't know.
BTW I'm gonna PM you a sample that crashes the QS .dll so you can have a look at it.
EDIT: same stuff when forcing DI on all frames in LAV's settings, interlaced or non interlaced files. QS breaks after some seeks, sometimes 2, sometimes 10, but it breaks. Funny stuff is that if you seek again, chances are that it starts working again :D
aufkrawall
14th June 2012, 17:53
Please post QS issues on my thread. Also, pelase give a more detailed report (at least the clips name), I don't remember the setup of all the users here ;)
It doesn't occur with ffdshow, only with LAV.
So it may be more accurate to post this here, or not?
Here is the sample:
http://www.mediafire.com/?j0x81031vuhz7t7
nevcairiel
14th June 2012, 21:51
It doesn't occur with ffdshow, only with LAV.
So it may be more accurate to post this here, or not?
Its either an Intel driver bug or a bug in the QS decoder.
The QS decoder outputs 60 frames, but outputs the frames with timestamps for 30fps, and then occasionally there is a huge gap in the timestamps when it re-syncs to the actual time - which causes the drops.
Overall, i'm really not happy with how the QS DI performs so far, i'll probably disable it again soon until its working properly, or Intel finally decides to release a fixed driver.
egur
14th June 2012, 22:30
Its either an Intel driver bug or a bug in the QS decoder.
The QS decoder outputs 60 frames, but outputs the frames with timestamps for 30fps, and then occasionally there is a huge gap in the timestamps when it re-syncs to the actual time - which causes the drops.
I've committed r62 which fixes some (hopefully all) of stalls/crashes related to the DI.
As for the time stamps, per your request I don't calculate them, the new (extra) frames do not have time stamps. If you have an idea to improve this, let me know.
jakmal
15th June 2012, 00:18
At the outset, I am not sure whether this is the right thread to report this issue (where do I report avcodec decoding problems?), but here it is:
Sample file: Original MP4 version of this YouTube clip: www.youtube.com/watch?v=t56ooXC9VmY [ Size : ~252 MB ]
Playback system: Core i7-3770K + GT 640. Using LAV Filters 0.50.5 (from 1f0.de, downloaded couple of days back) and MPC-HC 1.6.2.4902 x86 version, display on to 1080p monitor with EVR-CP renderer.
With Video Decoder set to avcodec, there are blocking artifacts when the words 'Peter Jackson' swivels across the middle of the screen.
With Video Decoder set to cuvid or DXVA2 CB, playback is flawless.
nussman
15th June 2012, 09:48
I don't know what that option does, but since it works with it it should be a good starting point.
Then DVBViewer waits for more video format informations.
This slows down channel switching, but some decoders need this informations.
In Graphstudio you should see the differences.
P.S. For fileplayback its always on - so you have to test it with LiveTV!
CiNcH
15th June 2012, 09:57
I don't know what that option does, but since it works with it it should be a good starting point.
Check the connection format between DVBSource and the decoder with GraphStudio for example. In case the detection is disabled, the DVBSource will propagate some default values on the video pin and the decoder has to detect the correct values by parsing the bitstream.
I have no clue however, why it works with standard EVR, but not with the EVR custom presenter.
meetajhu
15th June 2012, 12:39
hi nevcairiel, will be adding support for Windows Media Audio 9.2?
dansrfe
15th June 2012, 20:42
@ nevcairiel
Is I/O and copy/transfer from HDD -> RAM -> CPU -> RAM -> VIDEO RAM streamed or buffered?
nevcairiel
15th June 2012, 22:33
Both. :)
You should ask more specific questions if you want specific answers. :p
CruNcher
16th June 2012, 11:38
@nev
Decodinerror.ts is now falling back from Quicksync to libavcodec what is the detection reason for the fallback or is it out of your hands ?
nevcairiel
16th June 2012, 11:41
@nev
Decodinerror.ts is now falling back from Quicksync to libavcodec what is the detection reason for the fallback, or is it out of your hands ?
Half my files are named "decodingerror.ts" and the other half is named "sample.ts", so either link to the file you are referring to, or don't expect any answers.
CruNcher
16th June 2012, 11:45
This one http://www.mediafire.com/?rld8gnlh52f03ud that intel wanted to look into fixing which works on the Nvidia DSP just fine, now the fix seems to be a fallback to Software Decoding which though doesn't fix the main problem which would be Microsofts DTV Decoder (Intels Driver 2761) there the issue is still apparent ;)
nevcairiel
16th June 2012, 11:55
The Media SDK just fails when decoding the SPS/PPS of that file. Maybe egur can look more into that, but it looks like they just blocked it - maybe temporarily until it can be fixed for realz.
CruNcher
16th June 2012, 12:08
Thx i see so they seem to block it entirely and fallback by that to libavcodec instead of their own Software Decoder which i think would produce the same problematic result in this case thus also most probably why they cant fix it for Microsofts Decoder they have no libavcodec fallback possibility from there only their Software Decoder which most probably is also affected then by this SPS/PPS Decoding issue so a very Generic parsing Bug that affects both of their Decoder currently :)
I see also nothing changed on the Lav and Videolan DXVA crash state of
720p.mpg
test-720p cuda.mkv
on the Intel Driver i still wonder how long it will take till someone exploits this.
egur
16th June 2012, 14:30
I've confirmed the regression for this clip in driver 2752 though 2778, using older MSDK DLLs returns the old behavior - decode header passes and decoding produces artifacts.
With the above MSDK DLLs, the H264 header decode fails, don't know why, and thus my compatibility check fails too.
I'll report this bug tomorrow.
ipanema
16th June 2012, 16:32
I'm just trying LAV for the first time today, and I'm getting occasional crashes when seeking. I'm using the Microsoft MPEG-2 Demultiplexer which works well for all of the decoder's I've tried in the past (Mainconcept, Elecard, ffdshow etc).
It's been ages since I've had to tinker with the Microsoft MPEG-2 Demultiplexer, but as far as I recall it passes samples with a maximum size of 8192 bytes, so frames may be split into several output samples with the last one being smaller than 8192. Only the first sample for a frame carries a time stamp, the continuation samples have no time stamp. I mention this in case it helps.
The decoder seems to start streaming OK, but when I try to seek I sometimes get a crash in avcodec-lav-54.dll, exception code c0000005, and it is always at offset 00218b4f.
This is just with the default (no hardware accel) settings of LAV.
nevcairiel
16th June 2012, 16:57
As far as i know, you can't just use the MS Demultiplexer, you need an application to properly configure it for usage, so i cannot really test it unless you tell me which application you're using specifically.
While you're at it, providing a sample file that causes such a crash will greatly help to analyse and fix the problem.
wanezhiling
16th June 2012, 17:00
@nev
For some WMP users (some of my friends), a tray is really useful when using lav splitter to play back mkv files which integrate several audio tracks.
I know you have no that plan, but don't close the door please.
sneaker_ger
16th June 2012, 19:20
ftp://ftp.heise.de/pub/ct/spezial/shuttle.mpg
Crashes LAV Splitter 0.50.5 stable.
nevcairiel
16th June 2012, 19:26
ftp://ftp.heise.de/pub/ct/spezial/shuttle.mpg
Crashes LAV Splitter 0.50.5 stable.
No crash on latest Git for me.
sneaker_ger
16th June 2012, 19:30
Yes, seems to be working. No more crash with this:
https://forum.doom9.org/showpost.php?p=1578054&postcount=11285
ontherocks
16th June 2012, 19:40
I have GeForce GT520.
mpc-hc.1.6.3.4992.x86
LAVFilters-0.50.5
Having problem bitstreaming DD+ tracks via HDMI. There is no audio.
Sample audio link below.
http://www.mediafire.com/?a3x0q52bg1av33m
dansrfe
16th June 2012, 19:54
@ nevcairiel and anyone else you can help me understand what exactly is going on
http://s13.postimage.org/u7erxxvwl/graphs.png
This is a screenshot of my CPU, System RAM, GPU, Video RAM, and I/O graphs along with madVR's OSD while playing a 1080p 10bit file and upscaling it to 2016 x 1134 in windowed mode (I couldn't take a screenshot in exclusive mode but in reality I upscale it to the full resolution of my monitor which is 2048 x 1152 @ 60Hz). Basically I'm dropping frames whether I upscale it to 1152p60 or play it at output 1080p24 on my other screen. It doesn't look like a decoding problem since the queue is full but I can't tell.
The only items in my filter chain are MPC-HC, madVR, LAV Filters. LAV has been set to CPU decoding. All of them are at the latest version. CPU: C2D @ 2.66Ghz. RAM: 4GB DDR2 800MHz.
I can't figure out why my GPU cannot upscale to 2048 x 1152 with anything other (higher quality) than bilinear. Currently I'm using SoftCubic 50 for chroma and Spline 3 taps for luma up/down scaling.
Thanks.
kasper93
16th June 2012, 20:39
@dansrfe
Reduce queue size in madVR options, because all your gpu memory is used and that may cause dropped frames.
Pat357
16th June 2012, 22:14
Nev,
I have a strange problem with lavfilters, probably related to the LAVsplitter.
I created a .m2v file from my .avs script using Hank's HC MPEG2 encoder.
The file has 165350 frames, but when I use LAVsplitter, I can not seek above frame 85907. The slider from MPC-HC is then completely to the right.
When I just change the splitter to MPC-HC's internal, I don't have this problem (ie I CAN seek to the end at frame 165350).
This is the info from LAVsplitter :
Filter : LAV Splitter Source - CLSID : {B98D13E7-55DB-4385-A33D-09FD1BA26338}
- Connected to:
CLSID: {EE30215D-164F-4A92-A4EB-9D4C13390F9F}
Filter: LAV Video Decoder
Pin: Input
- Connection media type:
Video: MPEG2 Video 720x576 (16:9) 25fps 9300kbps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_MPEG2_VIDEO {E06D8026-DB46-11CF-B4D1-00805F6CBBEA}
formattype: FORMAT_MPEG2_VIDEO {E06D80E3-DB46-11CF-B4D1-00805F6CBBEA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 282
VIDEOINFOHEADER:
rcSource: (0,0)-(720,576)
rcTarget: (0,0)-(720,576)
dwBitRate: 9300000
dwBitErrorRate: 0
AvgTimePerFrame: 400000
I've a possible explanation for this : LAVsplitter calculates the length of the movie using the bitrate 9300.
This is the max. bit rate i had set (max. for DVD player compatibility), the video is 2 pass with an average from 4832 or something like that.
This would explain this behavior.
I guess MediaInfo and also the internal MPC-splitter somehow figure out the total nr. of frames and multiply this by the frame-time (file is CFR).
This is what MediaInfo says :
Algemeen
Volledige naam : K:\film\limitedsharpen_met_MC'd_FFT3dfilter_via_MVTools20.m2v
Formaat : MPEG Video
Formaatversie : Version 2
Bestandsgrootte : 3,72 GiB
Duur : 1h 50mn
Totale bitratemodus : Variabel
Totale bitrate : 4 832 Kbps
Video
Formaat : MPEG Video
Formaatversie : Version 2
Formaatprofiel : Main@Main
Formaatinstellingen, BVOP : Ja
Formaatinstellingen, Matrix : Aangepast
Duur : 1h 50mn
Bitrate-modus : Variabel
Bitrate : 4 832 Kbps
Maximale bitrate : 9 300 Kbps
Breedte : 720 pixels
Hoogte : 576 pixels
Beeldverhouding : 16:9
Framerate : 25,000 fps
Standaard : PAL
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
Scansoort : Progressief
Bits/(Pixel*Frame) : 0.466
Stroomgrootte : 3,72 GiB (100%)
Any idea how to fix this ?
PS : neither FFmpeg is able to determine the movie length : estimation based on bit rate (9300) : gives wrong duration.
nevcairiel
17th June 2012, 06:24
The file has 165350 frames, but when I use LAVsplitter, I can not seek above frame 85907. The slider from MPC-HC is then completely to the right
Can you create a small file that demonstrates the problem?
No sample, no fixings. :d
ipanema
17th June 2012, 14:36
As far as i know, you can't just use the MS Demultiplexer, you need an application to properly configure it for usage, so i cannot really test it unless you tell me which application you're using specifically.
While you're at it, providing a sample file that causes such a crash will greatly help to analyse and fix the problem.
The demux is part of a test environment here, so not possible to extract anything that would demonstrate the problem, without writing a new standalone program. So I guess we will have to park this for now.
Interestingly the example DS decode filter that is supplied with Intel Media SDK works fine, as do other decoders.
nevcairiel
17th June 2012, 15:03
Well if you cant give me anything to work with, i'm afraid i cannot help you.
For crashes, its crucial to be able to reproduce them, or fixing them is nearly impossible.
ipanema
17th June 2012, 16:51
Well if you cant give me anything to work with, i'm afraid i cannot help you.
For crashes, its crucial to be able to reproduce them, or fixing them is nearly impossible.
I understand and that's OK. We can carry on using other decoders as before. I wasn't sure whether the offset value alone would lead to the problem, so thought it worth mentioning.
dansrfe
17th June 2012, 17:16
@dansrfe
Reduce queue size in madVR options, because all your gpu memory is used and that may cause dropped frames.
Well that definitely worked. No frame drops or delays and even skipping back and forth is much snappier and smoother now. New queue sizes are pretty low but if that's what it takes then I guess I'll have to stick with it.
New queue sizes: 8/4/4/4
Thanks kasper93!
Pat357
17th June 2012, 18:19
Can you create a small file that demonstrates the problem?
No sample, no fixings. :d
Here's a small sample showing the problem :
http://www.mediafire.com/?uhpcg79jq7efzi7
nevcairiel
17th June 2012, 19:43
Here's a small sample showing the problem :
http://www.mediafire.com/?uhpcg79jq7efzi7
Which filter exactly you said produced the correct duration?
I can't seem to get the internal MPC-HC splitter to take over, and the fallback Microsoft splitter reports the same duration as LAV. (19 seconds for that file)
Sadly there is no functionality in place yet to actually measure the bitrate of a file and produce a duration based on that, but i suppose its a possiblity for the future.
I tried something quick and dirty, and it took reading until nearly half the file until the bitrate was accurate enough to calculate the duration properly (about 10MB in this case)
I would generally recommend to store it in an actual container format, instead of full raw video.
Pat357
18th June 2012, 02:33
Which filter exactly you said produced the correct duration?
I can't seem to get the internal MPC-HC splitter to take over, and the fallback Microsoft splitter reports the same duration as LAV. (19 seconds for that file)
Sadly there is no functionality in place yet to actually measure the bitrate of a file and produce a duration based on that, but i suppose its a possiblity for the future.
I tried something quick and dirty, and it took reading until nearly half the file until the bitrate was accurate enough to calculate the duration properly (about 10MB in this case)
I would generally recommend to store it in an actual container format, instead of full raw video.
What exactly should I store in the container ? Does an .MPG container (or .VOB) even have a field to store it ?
What about MKVmerge (MKV) or MP4Box(MP4) ? Where can I put what information ?
I must admit it was not the MPC-HC MPEG splitter that gave me correct durations : it's the MediaConcept MPEG demuxer that allows me to seek to the end...
Any idea how they do it ?
Also MediaInfo seems to be able to determine the movie length.
It displays both the average bit-rate and the max bitrate.
I gonna test with other mpeg-splitters too : cyberlink, arcsoft,.... and see what comes out.
nevcairiel
18th June 2012, 06:59
What exactly should I store in the container ? Does an .MPG container (or .VOB) even have a field to store it ?
What about MKVmerge (MKV) or MP4Box(MP4) ? Where can I put what information ?
Its simple MPEG2 video, you can store it in most containers available. MPEG-PS (.mpg/.vob) is one of the options, and it contains full timestamps which makes duration and seeking much easier. Of course you can also go with MKV or MP4 if you want.
The main problem with raw video (without a container around it) is that you can't know how many frames a file contains without counting them (or if you have CBR), so anything you try will be guesswork, accuracy depending on how much data/effort you put into it.
ajp_anton
19th June 2012, 06:58
For seeking in raw video, would it be possible to just go by filesize instead of actual duration?
Don't know if the media player can show the current location correctly, but at least when seeking, maybe you could just jump to x% of the filesize and return the next available frame.
ney2x
19th June 2012, 18:25
I just found out that there is a MPC-HC Lite here (http://xhmikosr.1f0.de/mpc-hc/lite/) , without Internal Filters. I hope someone will build a MPC-HC Lite with integrated LAV Filters only... xD
DeadlyEmbrace
20th June 2012, 10:57
I just found out that there is a MPC-HC Lite here (http://xhmikosr.1f0.de/mpc-hc/lite/) , without Internal Filters. I hope someone will build a MPC-HC Lite with integrated LAV Filters only... xD
That would be really cool, although I think I prefer it when the filters are external. Makes it a lot easier to update the separate pieces.
kitame
20th June 2012, 12:06
That would be really cool, although I think I prefer it when the filters are external. Makes it a lot easier to update the separate pieces.
how about having it work like an external plugin? where replacing some of the files updates it without issues.
i think its a good idea imho, with this the player can be fine-tuned to work perfectly with LAVs and the simplicity of updating it would be a plus.
DeadlyEmbrace
20th June 2012, 14:12
how about having it work like an external plugin? where replacing some of the files updates it without issues.
i think its a good idea imho, with this the player can be fine-tuned to work perfectly with LAVs and the simplicity of updating it would be a plus.
That would be awesome, but I fear it will require quite a bit of work. If I have some free time I might start looking into it, although I can't promise anything.
kasper93
20th June 2012, 14:33
how about having it work like an external plugin? where replacing some of the files updates it without issues.
How about you make patch for MPC-HC? I guess many people likes idea of integrating LAVF into MPC-HC, but till someone make a patch we will not have it. And it's wrong thread for that discussion.
Keiyakusha
20th June 2012, 18:13
Idea about integrating LAV and MPC-HC is around for a long time. AFAIR even before LAV was released to the public. Year? Or more already? While its a not bad idea, we still need someone to actually code it. Right now there is no developers that can do it.
Personally I like it how it is now. MPC-HC lite and separate LAV. Instead I still have hope that nev will find some time/motivation to add avisynth support to LAV, which uses avisynth api to load scripts. I still think this is the best middle-ground between those who wants filters in LAV, and those who against it.
SamuriHL
20th June 2012, 19:06
Aren't the settings stored either in the registry or ini depending on what the user chooses? So, couldn't someone in theory take the filterless version, set it up with lav as a sub-directory under the mpc-hc install, configure it to use those external filters, and package that? Granted you couldn't save the lav configuration as that's stored elsewhere, but, it's a hack around for now. Ideally they'd use the lav API to configure them on the fly but that requires coding.
hoborg
20th June 2012, 19:37
Question about MP3 in *.ISO file playback.
Hi.
I was thinking about a way how to store a mp3 album into one file and still be able to play it by using DS player.
Firstly, i was trying RARsource filter, but after open the RAR file, it will ask what file to play instead to play first one.
So i put them to iso file and by accident i noticed, that such ISO file can be played in Graphstudio - what a surpise for me. But it will play as one 40min file.
My question - is it possible to somehow support jump to next/prev. MP3 track ?
Keiyakusha
20th June 2012, 19:49
You can put all mp3 in mkv as separate tracks. You will be able to chose track then and it will be one file. Not sure about navigating... Or you can make one single mp3, again put it in mkv or mp4 but this time add chapters. This will work as you want. mkvtoolnix even supports some cues. Don't know what it means but maybe it even can make chapters from .cue file? Who knows...
hoborg
20th June 2012, 19:52
You can put all mp3 in mkv as separate tracks. You will be able to chose track then band it will be one file. Ot you can make one single mp3, again put it in mkv or mp4 but this time add chapters. This will work as you want.
Well, i already tryed that. But this will "destroy" original files, and that is not what i like to do.
Keiyakusha
20th June 2012, 19:54
Well, i already tryed that. But this will "destroy" original files, and that is not what i like to.
Not sure if I understand how it destroys anything... you will be able to extract mp3 back if needed.
hoborg
20th June 2012, 20:03
Not sure if I understand how it destroys anything... you will be able to extract mp3 back if needed.
I mean tags in MP3 will be lost, or not?
nevcairiel
20th June 2012, 21:21
In case anyone is interested, i replaced the GCC compiler used for LAV by another build.
It still uses the same basic MSYS environment as assembled by XhmikosR, but a different build of the GCC compiler. The main difference is that i am now using the same edition of the compiler for both 32-bit and 64-bit, the old environment used the legacy mingw setup for 32-bit and the new mingw-w64 setup for 64-bit. Now both builds use the same mingw-w64 runtime, which is more up2date and much better maintained these days.
Additionally, the compiler has been upgraded to GCC 4.7.1 stable.
You can get the compiler i use from now on here:
http://files.1f0.de/mingw/
To use it, i would suggest to download XhmikosR's MSYS bundle from http://xhmikosr.1f0.de/tools/, remove/rename the "mingw" directory included in that bundle, and replace it with the one from my .zip. Maybe i'll provide a complete bundle as well some day...
Of course using his bundle without any change should continue working (mostly) fine.
I do not know if the new GCC setup will work building MPC-HC or ffdshow, because i don't do that, so feel free to try. ;)
SamuriHL
20th June 2012, 21:40
Woa man! Do we need the static libs in therre, too, or just the compiler? This will be fun.
nevcairiel
20th June 2012, 21:42
Woa man! Do we need the static libs in therre, too, or just the compiler? This will be fun.
My zip contains GCC as well as static libs for zlib and the bz2 lib, which should be everything thats needed for building. Everything else is included in LAVs repository.
SamuriHL
20th June 2012, 21:43
I mean the libspeex stuff but I remember that from May. I don't think we need that for this. So I'll give it a try and see what happens. :D
nevcairiel
20th June 2012, 21:46
I mean the libspeex stuff but I remember that from May.
Those are included in LAVs repository again.
SamuriHL
20th June 2012, 21:47
Those are included in LAVs repository again.
Yea, that's fine. Once I saw the date I realized they weren't from today's fun. :)
glorp
20th June 2012, 22:09
Aren't the settings stored either in the registry or ini depending on what the user chooses? So, couldn't someone in theory take the filterless version, set it up with lav as a sub-directory under the mpc-hc install, configure it to use those external filters, and package that? Granted you couldn't save the lav configuration as that's stored elsewhere, but, it's a hack around for now. Ideally they'd use the lav API to configure them on the fly but that requires coding.
The ini stores filter configurations by guid not path. MPC-HC prefers the .ini configuration over registry settings if the .ini is in the same directory as MPC. If you package the lite version with an ini that uses LAV filters it should work immediately on any other system as long as LAV is already installed and registered. Doesn't matter where the filters are located and you wouldn't necessarily need to include them although you could as long as they got installed and registered.
SamuriHL
20th June 2012, 22:15
Works great for lav. Not so great for mpc-hc:
ffmpeg.lib(timecode.o) : error LNK2001: unresolved external symbol ___ms_vsnpri
ntf [c:\dev\projects\mpc-hc\src\mpc-hc\mpc-hc.vcxproj]
ffmpeg.lib(samplefmt.o) : error LNK2001: unresolved external symbol ___ms_vsnpr
intf [c:\dev\projects\mpc-hc\src\mpc-hc\mpc-hc.vcxproj]
ffmpeg.lib(opt.o) : error LNK2001: unresolved external symbol ___ms_vsnprintf [
c:\dev\projects\mpc-hc\src\mpc-hc\mpc-hc.vcxproj]
ffmpeg.lib(avstring.o) : error LNK2001: unresolved external symbol ___ms_vsnpri
ntf [c:\dev\projects\mpc-hc\src\mpc-hc\mpc-hc.vcxproj]
ffmpeg.lib(bprint.o) : error LNK2001: unresolved external symbol ___ms_vsnprint
f [c:\dev\projects\mpc-hc\src\mpc-hc\mpc-hc.vcxproj]
ffmpeg.lib(mpc_helper.o) : error LNK2019: unresolved external symbol ___ms_vsnp
rintf referenced in function _snprintf.constprop.0 [c:\dev\projects\mpc-hc\src\
mpc-hc\mpc-hc.vcxproj]
ffmpeg.lib(utils.o) : error LNK2001: unresolved external symbol ___ms_vsnprintf
[c:\dev\projects\mpc-hc\src\mpc-hc\mpc-hc.vcxproj]
ffmpeg.lib(log.o) : error LNK2001: unresolved external symbol ___ms_vsnprintf [
c:\dev\projects\mpc-hc\src\mpc-hc\mpc-hc.vcxproj]
ffmpeg.lib(pixdesc.o) : error LNK2001: unresolved external symbol ___ms_vsnprin
tf [c:\dev\projects\mpc-hc\src\mpc-hc\mpc-hc.vcxproj]
c:\dev\projects\mpc-hc\bin\mpc-hc_x86\mpc-hc.exe : fatal error LNK1120: 1 unres
olved externals [c:\dev\projects\mpc-hc\src\mpc-hc\mpc-hc.vcxproj]
I suspect I have compile errors somewhere that I'll have to look into. My guess is some lib is missing somewhere.
SamuriHL
20th June 2012, 22:17
The ini stores filter configurations by guid not path. MPC-HC prefers the .ini configuration over registry settings if the .ini is in the same directory as MPC. If you package the lite version with an ini that uses LAV filters it should work immediately on any other system as long as LAV is already installed and registered. Doesn't matter where the filters are located and you wouldn't necessarily need to include them although you could as long as they got installed and registered.
That's certainly one temp option, then, yea? We don't even need to include it necessarily. We could just post one for people to use. "Here, install LAV, drop in this ini, done."
glorp
20th June 2012, 22:26
Just have to be sure the ini doesn't transport options you don't want from one system to another. Some optuions would be location dependent like MRU lists. Start with a fresh reset of MPC options to get the ini. The ini first gets generated when you choose the option to use it from MPC and then it starts with settings which come from whatever is currently set in the registry. It will always use the ini until you delete it (or turn off the option) and then it rereads the registry. Can be a little tricky when trying to reset things.
Never played with it but there's also switches to load filters from the command line which might be useful I suppose.
clsid
20th June 2012, 23:49
You don't need to do anything special to use LAV Filters with MPC-HC Lite. Simply install both and it should work. With regular MPC-HC all you need to do is disable unwanted internal filters. There is no need for any external filter settings or messing with INI files.
SamuriHL
20th June 2012, 23:51
Sweet. We should be telling more people this.
clsid
21st June 2012, 00:03
Yes, it seems some people think you need to add stuff to external filters for MPC-HC to be able to use them. But reality is that MPC-HC will automatically use the filters that are installed on your system when needed, like any other DirectShow player. The external filter settings are for overriding filter merits. Something that is rarely needed with a proper set of installed filters that are configured correctly.
SamuriHL
21st June 2012, 00:07
Yea, well, we all know that people's machines aren't always clean. ;)
clsid
21st June 2012, 00:33
That should rarely be a problem thanks to the high merit of the LAV decoders and the way the source filter sets itself as preferred.
SamuriHL
21st June 2012, 00:37
Fair enough. We just need to get people to understand that more then. Cause I didn't even realize that it'd naturally try to use LAV without forcing it in the external filters. Good to know.
powder21
21st June 2012, 01:21
Ok, so I've been using AC3Filter for my audio decoding until a mixer is implemented in LAV (currently only have stereo speakers available). I know I can use ffdshow post-processing and still use LAV for audio decoding, but I like AC3Filter's mixer better. Is there any way I can get LAV to do the decoding and AC3Filter to do just mixing like a post-processing filter?
I'm pretty new to all this so please forgive me if that's a dumb question :) Thanks.
EDIT: It may be helpful to mention that I use Reclock as the audio renderer to take advantage of WASAPI because I also don't like the windows mixer. (Not sure if that info actually IS helpful, but just in case)
kalston
21st June 2012, 02:25
Ok, so I've been using AC3Filter for my audio decoding until a mixer is implemented in LAV (currently only have stereo speakers available). I know I can use ffdshow post-processing and still use LAV for audio decoding, but I like AC3Filter's mixer better. Is there any way I can get LAV to do the decoding and AC3Filter to do just mixing like a post-processing filter?
I'm pretty new to all this so please forgive me if that's a dumb question :) Thanks.
EDIT: It may be helpful to mention that I use Reclock as the audio renderer to take advantage of WASAPI because I also don't like the windows mixer. (Not sure if that info actually IS helpful, but just in case)
If you configure AC3Filter to run after LAV (like with ffdshow, "external filters" tab in MPC-HC) it should work just fine (if AC3Filter supports RAW audio input, but why wouldn't it).
powder21
21st June 2012, 03:05
If you configure AC3Filter to run after LAV (like with ffdshow, "external filters" tab in MPC-HC) it should work just fine (if AC3Filter supports RAW audio input, but why wouldn't it).
Hey yah that works. The input on AC3Filter changed to PCM floating point and I'm now getting activity on the LAV audio status. Cool...Thanks.
ontherocks
21st June 2012, 06:16
I have GeForce GT520.
mpc-hc.1.6.3.4992.x86
LAVFilters-0.50.5
Having problem bitstreaming DD+ tracks via HDMI. There is no audio.
Sample audio link below.
http://www.mediafire.com/?a3x0q52bg1av33m
Any help on this guys?
wanezhiling
21st June 2012, 13:48
Hi nev, would the native dxva decoder fall back to sw mode when it connected Haali video renderer? :)
Having a fallback would also be useful in case of for example AviSynth scripts or DirectShow-based video converters or any other situation where the decoder isn't connected to a renderer.
clsid
21st June 2012, 13:50
If you configure AC3Filter to run after LAV (like with ffdshow, "external filters" tab in MPC-HC) it should work just fine (if AC3Filter supports RAW audio input, but why wouldn't it).Using external filters is an inferior solution. It is not very flexible and doesn't fully allow different preferred decoders for different formats. LAV, AC3Filter and ffdshow all have options to configure which formats they should decode. The proper solution is to use those options. That gives full flexibility. Use decoder A for format B, and decoder C for format D if desired.
Want to use AC3Filter only as post-processor, and not as a decoder? Then simply uncheck all formats on the "System" tab in its settings. Only leave PCM (=uncompressed audio) enabled.
In LAV audio decoder the options can be found on the "Formats" tab. In ffdshow audio decoder on the "Codecs" page.
nevcairiel
21st June 2012, 15:19
Works great for lav. Not so great for mpc-hc
I put up the required extra libs on my mingw folder and a quick instruction what to do with them, builds fine for me now.
http://files.1f0.de/mingw/
kalston
21st June 2012, 15:48
Using external filters is an inferior solution. It is not very flexible and doesn't fully allow different preferred decoders for different formats. LAV, AC3Filter and ffdshow all have options to configure which formats they should decode. The proper solution is to use those options. That gives full flexibility. Use decoder A for format B, and decoder C for format D if desired.
Want to use AC3Filter only as post-processor, and not as a decoder? Then simply uncheck all formats on the "System" tab in its settings. Only leave PCM (=uncompressed audio) enabled.
In LAV audio decoder the options can be found on the "Formats" tab. In ffdshow audio decoder on the "Codecs" page.
Hum, that's actually what the setup I suggested should do.
You can always untick all formats apart from PCM in AC3 to make sure sure it's not decoding the audio again but he said "Hey yah that works. The input on AC3Filter changed to PCM floating point and I'm now getting activity on the LAV audio status. Cool...Thanks." so to me that means AC3 isn't actually decoding anything and is just processing the uncompressed audio LAV sends to it.
SamuriHL
21st June 2012, 16:00
I put up the required extra libs on my mingw folder and a quick instruction what to do with them, builds fine for me now.
http://files.1f0.de/mingw/
Oh wow, sweet! Thanks!!!!
dawar49
21st June 2012, 16:11
nev,
speaking of updated toolchains, lav builds and runs fine using visual studio 2012 rc with two minor changes. they seem to be a standards compliance issues only.
common/DSUtilLite/gpu_memcpy_sse4.h is missing an include statement for <smmintrin.h>
decoder/LAVVideo/LAVPixFmtConverter.h is missing an include statement for <emmintrin.h>
zerowalker
22nd June 2012, 00:57
Is there anyone else who get´s Dll crashes with Lagarith decoding enabled?
I get it when it´s trying to get thumbnails from the files.
blakkheim
22nd June 2012, 06:22
First off, just wanted to say thanks for Lav Filters and all the hard work you put into it Nev.
Secondly, I didn't feel like going thru 570+ pages and search/google couldn't provide an answer so my question is:
I got Lav Splitter to load the language track I want, but there are 2 English subtitle tracks and I want Lav to load the 2nd English track. What do I have to put under Properties to get Lav Splitter to load the 2nd English Subtitle Track w/o manually going to the 2nd track?
I read the readme on 1f0.de and tried multiple variations using Advanced but I can't get Lav Splitter to load the 2nd English Subtitle Track automatically.
Lav 50.5 + MPC-HC v1.6.2.4902
Any help is greatly appreciated.
nevcairiel
22nd June 2012, 06:34
If both tracks have the same language and no other flags are different either, there is currently no way to select the second track automatically.
I'm open for ideas how to solve this, but an option like "use the second track, if it exists" seems rather specific, next someone will ask for the 3rd, etc.
patul
22nd June 2012, 08:16
If both tracks have the same language and no other flags are different either, there is currently no way to select the second track automatically.
I'm open for ideas how to solve this, but an option like "use the second track, if it exists" seems rather specific, next someone will ask for the 3rd, etc.
Drop down list? Use x track if it exists? However, I myself never find the need of this requested "feature".
DragonQ
22nd June 2012, 09:46
You could always remux it so the track you want is set as default. Doesn't take long.
blakkheim
22nd June 2012, 13:32
^ This I know. Didn't feel like doing it for 26 eps individually unless you know how to do all 26 at the same time w/o doing each one individually.
Thanks anyway Nev. I looked at the tags and they are both [eng] so I know there's no way then to default to the second track.
JEEB
22nd June 2012, 13:54
You could automate the remuxing with batch files or something, which should work as long as long as the basic structure of the files keeps the same. Adding mkvinfo to the mix could possibly let you automate it even more with different structures.
VLC tries to solve this problem with having an open integer setting that pretty much is "Default to subtitle track number X", which A) I'm not really sure is the correct way to deal with it, and B) Led to funny results the next time I loaded up a file with <X subtitle tracks :)
robpdotcom
22nd June 2012, 14:19
You could just use mmg's header editor to change the default flags - or even change the language. Would be much faster than remuxing (only a few seconds for each file).
Cudo
22nd June 2012, 14:41
Using external filters is an inferior solution. It is not very flexible and doesn't fully allow different preferred decoders for different formats. LAV, AC3Filter and ffdshow all have options to configure which formats they should decode. The proper solution is to use those options. That gives full flexibility. Use decoder A for format B, and decoder C for format D if desired.
Want to use AC3Filter only as post-processor, and not as a decoder? Then simply uncheck all formats on the "System" tab in its settings. Only leave PCM (=uncompressed audio) enabled.
In LAV audio decoder the options can be found on the "Formats" tab. In ffdshow audio decoder on the "Codecs" page.
It would be nice if there was a way to force different settings not only based on the fomat, but on other things too. I use two different copies of MPC-HC.exe with the "Store settings in .ini file" option ticked. :D
clsid
22nd June 2012, 15:42
What other things might that be?
Btw, you don't need to use an INI for both. One could use the Registry (and load a bit faster).
DragonQ
22nd June 2012, 16:38
^ This I know. Didn't feel like doing it for 26 eps individually unless you know how to do all 26 at the same time w/o doing each one individually.
Thanks anyway Nev. I looked at the tags and they are both [eng] so I know there's no way then to default to the second track.
You can do this with a batch file but it took me a while to work out how to do this. There is some documentation but it was difficult to find examples IIRC.
glorp
22nd June 2012, 16:58
^ This I know. Didn't feel like doing it for 26 eps individually unless you know how to do all 26 at the same time w/o doing each one individually.
Thanks anyway Nev. I looked at the tags and they are both [eng] so I know there's no way then to default to the second track.
Load one of the files to be changed into mkvmerge gui, change everything you need to change to remux (probably set the default flag of the sub track you want to prefer) then select mkvmerge menu: Muxing->Show the command Line. Copy the output that shows and paste into a new .txt file 26 times. Edit the input and output filenames of each entry (which probably means changing to 02, 03, 04...), save as .bat, run it. Go get a cup of coffee.
I just got done doing this myself a few minutes ago :)
kitame
22nd June 2012, 17:04
If both tracks have the same language and no other flags are different either, there is currently no way to select the second track automatically.
I'm open for ideas how to solve this, but an option like "use the second track, if it exists" seems rather specific, next someone will ask for the 3rd, etc.
how about adding a checkbox that has a feature of "if multiple tracks of the same type are present, flag each track with numbers".
now with that you could type in the selection into " Eng2 : off ; Eng1 : off ; * : Eng2 ; * : Eng1 "
simply put splitter would be renaming the flags by itself but not necessarily modifying the file.
Edit: also, can i request an individual channel volume control in the audio? well because some of the multi-channel when down-muxed to stereo overpowers the main left and right.
glorp
22nd June 2012, 17:14
If both tracks have the same language and no other flags are different either, there is currently no way to select the second track automatically.
I'm open for ideas how to solve this, but an option like "use the second track, if it exists" seems rather specific, next someone will ask for the 3rd, etc.
On a related subject, would you reconsider allowing the advanced mode to specify audio language preferences too or somehow using the default and forced flags on audio streams to override audio track language selections? I'm speaking about the cases like where something is a "foreign" language film but has an audio commentary track in a preferred language that you don't necessaily want to have selected as default.
kasper93
22nd June 2012, 21:08
@nev
http://forum.doom9.org/showpost.php?p=1577657&postcount=11254 I don't know if you have seen it? Maybe it's not important for you, but I don't like ffdshow and unfortunately I'm forced to use it ;/
clsid
22nd June 2012, 23:13
Making the audio and subtitle selection logic more complex is a bad idea.
What some of the users above need is a very basic and easy to use tool for editing the MKV header.
Pat357
23rd June 2012, 02:33
Load one of the files to be changed into mkvmerge gui, change everything you need to change to remux (probably set the default flag of the sub track you want to prefer) then select mkvmerge menu: Muxing->Show the command Line. Copy the output that shows and paste into a new .txt file 26 times. Edit the input and output filenames of each entry (which probably means changing to 02, 03, 04...), save as .bat, run it. Go get a cup of coffee.
I just got done doing this myself a few minutes ago :)
Here is a much faster and a lot easier method :
JMKVPropedit = "MKVpropedit with a nice GUI and batch support" : http://jmkvpropedit.googlecode.com/ ;)
A real time-saver for such things as changing the default track for over 20+ MKV's :)
wanezhiling
23rd June 2012, 14:20
http://www.mediafire.com/?3xd2xuden467l3s
Tested all splitters, only LAV Splitter can work, but no image no audio.
nev is the file broken?
nevcairiel
23rd June 2012, 14:25
If nothing works, what makes you think the file might not be broken? :P
wanezhiling
23rd June 2012, 14:50
Someone didn't trust what I said to him, so I proved to him.:p
Thanks nev.
jmone
24th June 2012, 13:09
Hi Nevcairiel, any progress with madshi on BD 3D support (as I now how a whole 2 x 3D disks!)
nevcairiel
24th June 2012, 13:53
Hi Nevcairiel, any progress with madshi on BD 3D support (as I now how a whole 2 x 3D disks!)
No-one is working on this (at least i am not, cannot speak for anyone else, i guess). I dunno where you got this idea.
Sebastiii
24th June 2012, 16:42
jmone how did you handle it ?
I have see that Stereoscopic Player works for BD3D, it use MPC-HC Source to output 2 Video pin and was connected to CoreMVC decoder (2 Video pin input).
I'm not sure that LAV Splitter can handle it right now (it seems that it will break IAMStreamSelect ?)
But like CoreMVC is not available, but not that Nevcairiel can start to working on it :)
jmone
24th June 2012, 23:14
Sorry - I did not mean to imply any work had started more so there was just general discussion a month or so about it. For the (very) odd 3D disc we just manually fire up TMT.
v0lt
25th June 2012, 18:08
@nevcairiel
LAV Splitter hangs on this file.
http://www.mediafire.com/?2ac07wbyndam8m8
It's not ogg vorbis, splitter must skip it.
nevcairiel
26th June 2012, 16:19
@nevcairiel
LAV Splitter hangs on this file.
http://www.mediafire.com/?2ac07wbyndam8m8
It's not ogg vorbis, splitter must skip it.
I dunno what you mean, my LAV trys to open that file, fails, and then MPC-HC says "cannot render file"
clsid
27th June 2012, 12:26
I have a question regarding container PAR vs stream PAR. Currently LAV Video defaults to always using the stream PAR, because the container PAR might be unreliable/wrong in some cases.
Which containers have a PAR that is more often wrong than right? I assume it is mostly a problem with MPEG-TS?
Which containers are likely to have a correct PAR that is intentionally different from the stream PAR? I was thinking AVI, MKV, and MP4.
What do you think about the idea of changing the current "Use Stream Aspect Ratio" option to a dropdown with three options: Automatic/Use Stream AR/Use Container AR? The automatic option will use container PAR for reliable containers and stream PAR otherwise.
nevcairiel
27th June 2012, 12:45
Detecting which container is used is not something you can reliably use. Sure, you can check based on the filename, but sometimes that just not good enough.
I could add an option to LAV Splitter to tell LAV Video which container is used, but that is again only half a solution.
Haali solves this by overwriting the Stream AR in the video bitstream when using a "reliable" container, which i did think about also doing, but then again its a rather destructive option.
Doing it based on a filename guess may work, in most cases the filename is available, and cases where the file is renamed are usually rare (but happen more often then you think).
I'll consider it.
clsid
27th June 2012, 15:21
Thanks. Checking based on filename should be fine imo. The worst that can happen for a wrongly named file is incorrect AR. A wrong AR is more likely in the current situation, so changing behavior will only reduce chance of incorrect behavior.
SeeMoreDigital
27th June 2012, 17:47
Personally, I can't see the point of aspect ratio signalling at the container level. Indeed, I don't know of any hardware player that supports it. And there are few software players that do.
Placing aspect ratio signalling at the stream level is supported by most of today's hardware and software media players. And has the added advantage of allowing 4:3 and 16:9 signalled video to be mixed together as a continuous stream within a single container.
Cheers
clsid
27th June 2012, 18:39
The discussion is not about what is the best practice for AR signaling. It is about properly supporting files that use container AR signaling.
mandarinka
27th June 2012, 19:15
Personally, I can't see the point of aspect ratio signalling at the container level. Indeed, I don't know of any hardware player that supports it. And there are few software players that do.
Placing aspect ratio signalling at the stream level is supported by most of today's hardware and software media players. And has the added advantage of allowing 4:3 and 16:9 signalled video to be mixed together as a continuous stream within a single container.
Cheers
I think that relying on container for aspect ratio metadata was actually almost the norm for most users, when outputting matroska.
It might have been due to moving from ASP, where using stream metadata usually had no effect on most players with avi files. But anyway, I'm pretty sure that people encoding to matroska are way more likely to produce a file with proper container metadata but wrong stream metadata (that is usually SAR mistakenly left as 1:1 for anamorphic encodes), than vice versa.
This is also supported by the fact that putting wrong data into mkv header will immediately show with most players, which makes the wrongdoing ripper correct his stuff. Whereas if you neglect to specify sar, the rip usually plays properly as long as the container info in mkv is okay.
TL;DR: The haali way is pretty logic thing to do for matroska files imho. If some files happen to be called *.mkv but are in fact another format, then that's a retarded minority case that shouldn't prevent the software from properly treating a valid majority case, IMHO.
nevcairiel
27th June 2012, 20:12
I agree that for playback stream AR is better.
But its also easier to change the container AR in matroska for example, then it is to change the stream AR, but thats really beside the point of the whole discussion.
SeeMoreDigital
27th June 2012, 21:06
Hmmm...
I remember the days when Mosu's MKVmergeGUI automatically removed aspect ratio signalling from the video stream by default in favour of placing it at the container level. But eventually even he had to see the light in order to maintain compliance with hardware and software players.
So, container level signalling works with Haali's "software" Matroska splitter - But that's where support for container level signalling ends as far as I'm aware.
Anyway, many thanks nev for your continued support. Your LAV filter suite is fantastic. I have it running on three of my nVidia GPU computers ;)
nevcairiel
27th June 2012, 21:09
So, container level signalling works with Haali's "software" Matroska splitter - But that's where support for container level signalling ends as far as I'm aware
Container AR works just fine with LAV Splitter, assuming that either:
- There is no Stream AR
- Or, you can convince the decoder to ignore the stream AR (like LAV has an option for)
What clsid suggested was to make the second option smarter, and add an "auto" mode that doesn't use the stream AR on containers like matroska where files are known to have a working container AR.
SeeMoreDigital
27th June 2012, 21:19
Container AR works just fine with LAV Splitter, assuming that either:
- There is no Stream AR
- Or, you can convince the decoder to ignore the stream AR (like LAV has an option for)
What clsid suggested was to make the second option smarter, and add an "auto" mode that doesn't use the stream AR on containers like matroska where files are known to have a working container AR.
So currently, when you un-check the "Use Stream Aspect Ratio" option. Does your filter use the aspect ratio signalling information from the .MKV container?
nevcairiel
27th June 2012, 21:26
So currently, when you un-check the "Use Stream Aspect Ratio" option. Does your filter use the aspect ratio signalling information from the .MKV container?
Yes, of course. It uses whatever AR comes from the splitter, and with LAV thats the container AR, if available (if no container AR is set, the stream AR is reported by the splitter)
SeeMoreDigital
27th June 2012, 21:33
Yes, of course. It uses whatever AR comes from the splitter, and with LAV thats the container AR, if available (if no container AR is set, the stream AR is reported by the splitter)
That's impressive!
nevcairiel
29th June 2012, 21:47
Hey,
i finally sat down and built the first draft of mixing functionality.
Builds:
x86: http://files.1f0.de/lavf/LAVFilters-0.50.5-46-gd75bb42.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.50.5-46-gd75bb42-x64.zip
You'll need to re-register LAV Audio to be able to access the new configuration page for the mixing options.
The options are still a bit limited, you can basically just choose your speaker layout out of a list of common layouts i just dreamed up (if you think something else should be in that list, let me know), and additionally control if Stereo should be mixed to that layout as well (so you can have stereo untouched, while mixing all surround to 5.1, for example)
Note that for now, only downmixing is performed, so if you select 5.1, you'll always get a 5.1 signal, but with silent channels added when needed.
Basic Upmixing (channel copying) is still on the TODO.
In the short term (next few days), i'll add options to control the mixing bias for the center and surround channels, for people that prefer the center channel to be a bit louder then the other channels, and things like that.
In the long term, i'll be thinking about how to allow more dynamic and manual matrix control. Not sure how that'll look yet.
aufkrawall
29th June 2012, 22:00
Nice. :)
Nev, is there a chance that you will implement a simple normalize function?
http://www.ld-host.de/uploads/thumbnails/ef51d5ccbdb61e8b65b7f127420a7f3c.jpg (http://www.ld-host.de/show/ef51d5ccbdb61e8b65b7f127420a7f3c.jpg)
nevcairiel
29th June 2012, 22:37
Nev, is there a chance that you will implement a simple normalize function?
Nothing like that is planned, no.
Mostly because simple normalization just plainly sucks. One loud noise in your movie, and suddenly everything is quiet, its just impossible to get a consistent experience with stuff like that.
DragonQ
29th June 2012, 22:51
I guess the best way to avoid "pumping" (what you describe with everything going quiet because of one loud noise) is to look ahead but I dunno how you'd do it in real time. I've only ever done compression offline (only when necessary, generally dynamic range compression is bad) where it's easy to handle this.
Honestly, if there was a half-decent normalisation implementation I'd have no need for any other codec/filter package any more, so I hope it happens one day. But it's not a priority and might be difficult so I'm not expecting anything soon. A mixer is cool though. :)
clsid
29th June 2012, 23:13
People seem to be pretty satisfied with the normalization implementation of ffdshow. Audio going quiet isn't a big problem with ffdshow, at least I haven't noticed it nor have I seen reports of it. A similar implementation would be awesome and would make many people very happy.
Normalization is an optional feature, so audiophiles can still get bit-perfect audio at default settings. Others may care more about having enjoyable volume levels than getting the best possible audio quality.
DragonQ
29th June 2012, 23:24
It's not really about audio quality, it's about preserving dynamic range. However, there are certain environments where a lot of dynamic range can be really annoying (e.g. late at night or like when your headphones aren't that loud and max volume isn't loud enough for some quieter audio).
It's also strange that most TV shows, even the ones with barely any dynamic range, don't ever get near the maximum audio level (-0dBFS), which seems like a waste.
e-t172
29th June 2012, 23:28
It's also strange that most TV shows, even the ones with barely any dynamic range, don't ever get near the maximum audio level (-0dBFS), which seems like a waste.
That's because contrary to music, there are standards for average audio levels in movies and broadcast to avoid uneven levels between shows, so they can't simply normalize it. Theoretically, the same result could be achieved by clever use of metadata, but there's no spec for anything like it AFAIK.
Sebastiii
29th June 2012, 23:28
Nice work Nevcairiel :)
DragonQ
29th June 2012, 23:49
That's because contrary to music, there are standards for average audio levels in movies and broadcast to avoid uneven levels between shows, so they can't simply normalize it. Theoretically, the same result could be achieved by clever use of metadata, but there's no spec for anything like it AFAIK.
Except those "standards" are useless because most TV shows have average compression, with HD channels typically having little compression and adverts have massive compression. So levels aren't normalised anyway.
kitame
30th June 2012, 01:58
this is slightly offtopic but its related, i'm using realtek's loudness equalization and it works, but sadly it works horribly with the band equalizer set to 0, solution was pump the band equalizer up by 3-4 points equally. i don't know what happens but everything sounds balanced this way, no distortions either.
Realtek ALC889 =P
kasper93
30th June 2012, 02:34
@nevcairiel: LAV splitter seems to have problems with LPCM audio in m2ts (bluray). Sometimes it work, but most of the time whole playback is jerky. Problem occurs after seeking or changing track or just at start. MPC MPEG Source + LAV A/V decoder works fine.
STaRGaZeR
30th June 2012, 03:07
Sorry to crap on the thread, but can anyone with an AMD GPU run this command and upload the resulting .reg file somewhere? I fucked something up and this may help me fixing it without a full Windows reinstall.
regedit.exe /s /a "Path" "HKEY_CURRENT_USER\Software\ATI"
Change Path to where you want the resulting .reg file, for example: C:\Users\STaRGaZeR\Desktop\ATIREG.reg
ryrynz
30th June 2012, 03:59
STaRGaZeR, I pulled this from an all in one system @ work, I hope it fixes your problem.
http://www.mediafire.com/?qs93d4dgm11j4jb
ageback
30th June 2012, 06:46
avfilter-lav-2.dll this file is no longer used.LAVFilters.iss should be modified.
wanezhiling
30th June 2012, 08:04
I disable "auto-load subtitles" in playback tab and set DirectVobSub to "Prefer", then play a file with embedded subtitle.
http://i.imgur.com/2CymE.png
With the LAV SW/CUVID/QuickSync/DXVA2 CB, VSFilter works fine.
http://i.imgur.com/TdNYX.png
But with the native mode, VSFilter cannot be loaded. Is this a bug, nev? I think lav should fall back to sw and then VSFilter can be loaded when playing back a file with embedded subtitle.
BeNooL
30th June 2012, 08:38
Except those "standards" are useless because most TV shows have average compression, with HD channels typically having little compression and adverts have massive compression. So levels aren't normalised anyway.
Oldest trick in the book. The standard says something like audio level can't exceed 70dB (don't know the actual value).
Normal programs don't exceed it and have a substantial dynamic range.
Adverts on the other hand twisted the definition of that limit and also made it "audio can't go lower than 70db" through use of compression.
Technically both content have a 70db peak, yet the nature of how we perceive audio volume tells us ads are louder.
Mercury_22
30th June 2012, 09:08
Hey,
i finally sat down and built the first draft of mixing functionality.
Builds:
x86: http://files.1f0.de/lavf/LAVFilters-0.50.5-46-gd75bb42.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.50.5-46-gd75bb42-x64.zip
You'll need to re-register LAV Audio to be able to access the new configuration page for the mixing options.
The options are still a bit limited, you can basically just choose your speaker layout out of a list of common layouts i just dreamed up (if you think something else should be in that list, let me know), and additionally control if Stereo should be mixed to that layout as well (so you can have stereo untouched, while mixing all surround to 5.1, for example)
Note that for now, only downmixing is performed, so if you select 5.1, you'll always get a 5.1 signal, but with silent channels added when needed.
Basic Upmixing (channel copying) is still on the TODO.
In the short term (next few days), i'll add options to control the mixing bias for the center and surround channels, for people that prefer the center channel to be a bit louder then the other channels, and things like that.
In the long term, i'll be thinking about how to allow more dynamic and manual matrix control. Not sure how that'll look yet.
Why reinvent the wheel ?
Why don't just use the "Custom channel mapping" (design) idea from MPC / FFD ?
It's the best solution = the most flexible, intuitive / user friendly solution for up/down mixing
Just add independent Volume levels for each channel (see FFD) on the same page and that's it = the best solution ever ! :p
P.S. Some people need non-standard up/down mixing and this is the best way to satisfy all :)
nevcairiel
30th June 2012, 09:50
Why don't just use the "Custom channel mapping" (design) idea from MPC / FFD ?
Thats what manual matrix control would give you, a big box of input fields where you can enter the coefficients for mapping channel A to channel B, much like ffdshows mixer.
Its still nice to have a few easy-to-use preset options, for the common cases, because such a matrix is not easy to setup properly :p
Mercury_22
30th June 2012, 10:16
Thats what manual matrix control would give you, a big box of input fields where you can enter the coefficients for mapping channel A to channel B, much like ffdshows mixer.
Its still nice to have a few easy-to-use preset options, for the common cases, because such a matrix is not easy to setup properly :p
"not easy to setup" ? come on !:D as long as the columns and rows are labeled intuitively the user has to be a....:p not to be able to easy setup the matrix
Anyway nice to see you've started to implement this and I can't wait for the independent volume levels :)
nevcairiel
30th June 2012, 10:17
I disable "auto-load subtitles" in playback tab and set DirectVobSub to "Prefer", then play a file with embedded subtitle.
http://i.imgur.com/2CymE.png
With the LAV SW/CUVID/QuickSync/DXVA2 CB, VSFilter works fine.
http://i.imgur.com/TdNYX.png
But with the native mode, VSFilter cannot be loaded. Is this a bug, nev? I think lav should fall back to sw and then VSFilter can be loaded when playing back a file with embedded subtitle.
This will work with the next version.
Note however that you might as well turn off DXVA in LAV when you set it up like this, because DirectVobSub will always load when you set it as preferred, not only when there are subtitles.
nevcairiel
30th June 2012, 10:19
"not easy to setup" ? come on !:D as long as the columns and rows are labeled intuitively the user has to be a....:p not to be able to easy setup the matrix
For a user its much easier to just select "I have 5.1 speakers, do your magic" then having to figure out how such a matrix works. If they don't know how digital mixing works, they'll probably just enter 1s and 0s everywhere, and get a rather bad result in the end.
Mercury_22
30th June 2012, 10:29
For a user its much easier to just select "I have 5.1 speakers, do your magic" then having to figure out how such a matrix works. If they don't know how digital mixing works, they'll probably just enter 1s and 0s everywhere, and get a rather bad result in the end.
What 1s and 0s ?:confused:
e.g. I'm using MPC's "Custom channel mapping" and all I have to do is to click on (mark) which speaker(s) I want each channel (e.g. front right input) to be outputted on (e.g. front right AND back right or just back right...speaker(s) ) !
ryrynz
30th June 2012, 10:41
Nevcairiel is referring to the ffdshow's audio mixer where 1s and 0s are entered when you choose to enter a custom matrix.
Mercury_22
30th June 2012, 10:52
Nevcairiel is referring to the ffdshow's audio mixer where 1s and 0s are entered when you choose to enter a custom matrix.
Ouch sorry! I haven't used ffd's matrix in a while (years :) )!
Then forget FFD use MPC's matrix (design) idea it's the best = just click/mark the speaker you want to use for each channel
And it also has a default (value) mark for the common / default speaker configuration so most of the user all they have to do is to enable it
@Nev PLEASE take a look at MPC-HC's "Custom channel mapping" it is so easy to use and can satisfy ALL the users needs !
nevcairiel
30th June 2012, 10:58
MPC-HCs thing is too limited, if you just use it like that you'll easily mess up the volume of individual channels, and i don't plan on implementing another mode for people that want proper control.
There will be a simple preset-based thing (like now), and a full custom matrix (like ffdshow). With the full matrix you get full control over channel mixing and volume. And thats it.
Since you already use MPC-HC, you can as well keep using that mixer, if you prefer it. Can't implement every kind of mixing control for everyone. One simple layout, and one advanced layout, thats it.
aufkrawall
30th June 2012, 13:02
Nothing like that is planned, no.
Mostly because simple normalization just plainly sucks. One loud noise in your movie, and suddenly everything is quiet, its just impossible to get a consistent experience with stuff like that.
Hm, I think just ticking "Normalize" in ffdshow (and MPC HC audio switcher), without ticking "Regain volume" just makes everything louder by the same factor, a simple volume gain.
I need it because I got sucky audio hardware which tends to be noisy and if I set the output volume too loud in Windows Audio Mixer, it overdrives. :o
But not with normalize/replay gain etc.
DragonQ
30th June 2012, 13:41
Yes but that creates pumping. I haven't played with the settings in a while but IIRC, Normalize will boost the volume by whatever you say and whenever this would create clipping, it'll reduce the amount of boost to compensate. This makes the audio level suddenly drop after a loud noise, i.e. pumping. If you use Regain Volume, dynamic range compression is applied instead of simply boosting the level uniformly so you get less dynamic range but less/no pumping.
cyberbeing
30th June 2012, 14:19
One simple layout, and one advanced layout, thats it.
Could you add a check-box for something like 'loud downmix' to the simple layout, which keeps the volume of each channel closer to 100% (similar to the ffdshow mixer when 'normalize matrix' is disabled).
The current 5.1->2.0 output volume is too quiet for low-power computer speakers. The ffdshow mixer (normalize matrix disabled) and the Windows default mixer's 5.1->2.0 volume level is much more comfortable.
DirectVobSub will always load when you set it as preferred, not only when there are subtitles.
That's usually why you'd set 'DirectVobSub (Auto-loading version)' to preferred instead of plain 'DirectVobSub'. The Auto-loading version only loads into the final graph when there are subtitles.
But with the native mode, VSFilter cannot be loaded. Is this a bug, nev? I think lav should fall back to sw and then VSFilter can be loaded when playing back a file with embedded subtitle.
With xy-VSFilter (http://code.google.com/p/xy-vsfilter/), LAV Video already does automatically fall-back to from DXVA2(Native)->Software when 'DirectVobSub (Auto-loading version)' is set to prefer, and the video contains subtitles.
VSFilter 2.41 is buggy and slow. There is no reason to use it over the much faster and more functional xy-VSFilter at this point.
STaRGaZeR
30th June 2012, 14:26
STaRGaZeR, I pulled this from an all in one system @ work, I hope it fixes your problem.
http://www.mediafire.com/?qs93d4dgm11j4jb
Thanks mate! Unfortunately it didn't work as expected, stupid CCC. Reinstalling now.
DragonQ
30th June 2012, 15:17
The current 5.1->2.0 output volume is too quiet for low-power computer speakers. The ffdshow mixer (normalize matrix disabled) and the Windows default mixer's 5.1->2.0 volume level is much more comfortable.
But that's only because most channels aren't fully utilised in terms of amplitude/volume. It makes more sense to use a normalised downmix matrix and then apply dynamic range compression, or simple normalisation as outlined above. Making the matrix un-normalised will just result in clipping for loud parts of most audio tracks.
nevcairiel
30th June 2012, 15:19
Could you add a check-box for something like 'loud downmix' to the simple layout, which keeps the volume of each channel closer to 100% (similar to the ffdshow mixer when 'normalize matrix' is disabled).
I can also add an option to disable matrix normalization, but this risks clipping, so i am hesistant to add such things.
Adding two full channels on top of each other without normalizing their mixing coefficients just has a very high risk of overflowing.
Its the same problem as a digital volume increase, there is always the risk of adding clipping, which will just sound bad.
You can use ReClock and use its sound compressor for such situations to apply DRC for weak/cheap speakers.
cyberbeing
30th June 2012, 16:50
With 5.1->2.0 on low-powered computer speakers, I prefer stable loud/full sound which sometimes clips, compared to DRC or Automatic Normalization. Personal preference when stuck with crappy stereo speakers. I don't always have access to my high-powered 5.1 setup.
DRC or Normilization applied before downmixing makes things too quiet. Normilization applied after downmixing makes things louder than an un-normalized downmix matrix if not set properly, and then you potentially experience large down/up volume shifts during/after extremely loud scenes if using normalization which regains volume, else you risk everything becoming too quiet.
You can use ReClock and use its sound compressor for such situations to apply DRC for weak/cheap speakers.
I get worse clipping LAV Audio 5.1->2.0 with the ReClock sound compressor (sets gain in the x4-x5 range even when set to Light), then I do with a quieter un-normalized downmix matrix.
I think non-default check-box for a loud downmix would be useful. When you add an advanced mixing panel, users could always fine-tune the downmix to find some middle ground between the two settings.
Would it be possible to have something like an un-normalized downmix matrix which is then automatically normalized to 100% based on final output volume levels to avoid clipping? Practically speaking, it would seem to make more sense to mix channels at full volume and then normalize downwards to avoid clipping, then it would to mix at greatly reduced volume and then proceeding to apply gain which may have the undesired effect of exceeding the volume levels of the original audio.
nevcairiel
30th June 2012, 17:26
Would it be possible to have something like an un-normalized downmix matrix which is then automatically normalized to 100% based on final output volume levels to avoid clipping?
And, what exactly is the final output volume level?
In the first minute of the movie, it may be X, in the second its Y, and the third its Z. Didn't you want a stable sound?
This is exactly what every normalizer does, just look for the loudest sound, and scale all audio so that that loudest sound is at 100%.
With regain volume, that maximum it detected is slowly scaled down again, so that one big bang won't keep the volume down for ever.
The problem here is that i cannot look into the future. I have the audio which i'm mixing here and now, not more.
Because of this, its impossible to produce a consistent/stable normalizer, or any other solutions that increase the volume without risking clipping.
The best solution for cheap speakers is dynamic range compression, which is something i'm not planning to implement beyond what the ffmpeg decoders already support.
I could implement cheap normalization (even with regain volume) if enough people would find that useful, but it has serious drawbacks.
I will however not add a downmixing mode where i know that it'll clip on most files, because clipping is just ugly, and i'll be the one who has to explain to everyone that the clipping they heard when using that option was no bug.
When there is full matrix control later, you can do whatever to shoot yourself into the foot. ;)
PS:
All mixing is done in float, so the difference between normalized or untouched matrix is just the value scale. No data is lost. If you want to apply normalization afterwards, its practically irrelevant if you used a normalized matrix or not.
cyberbeing
30th June 2012, 18:27
And, what exactly is the final output volume level?
In the first minute of the movie, it may be X, in the second its Y, and the third its Z.
The final volume level would be unclipped output from a downmix which potentially exceeds 1.0
The main reason I dislike normalization is because it applies a positive gain to increase the volume beyond that of the source channel levels, which can lead to distortion at high gain. The opposite of only applying a negative gain, doesn't seem so bad. I'm unable to test this in practice though, since the FFDShow Mixer seems to automatically clip the audio, even if you move Volume to process normalization afterwards.
Didn't you want a stable sound?
Yes, which is why I was asking for a simple un-normalized downmix option. A lot of Blu-ray movies seem to have such wide dynamic range that they rarely clip or reach peaks, even when downmixed with an un-normalized matrix. FFDShow and Reclock try to normalize to 400-500% on a LAV Audio 5.1->2.0 downmix and not dropping below 250% gain on the most extreme loud scenes. That should give you an idea of how horribly quiet it is using normalized matrix without additional normalization gain.
I'll await the advanced matrix configuration.
nevcairiel
30th June 2012, 18:35
The final volume level would be unclipped output from a downmix which potentially exceeds 1.0
So you only want clipping protection by lowering the volume if required, but never increasing it over what it originally was?
Or just want me to cut off such peaks so that you end up with clipping noise?
Honestly, that doesn't make all that much sense to me. The volume is controlled by so many factors, one of which being the strength of the speakers, how do you know what volume you were supposed to listen to that movie anyway?
Anyway, even if that feature existed, you might still end up with a sudden volume change mid-movie, unless i mis-understood that feature.
DragonQ
30th June 2012, 18:56
Also, how would you do that without reading the entire audio stream?
cyberbeing
30th June 2012, 19:05
So you only want clipping protection by lowering the volume if required, but never increasing it over what it originally was?
Yes, basically just clipping protection which reduces the audio level to 1.0, only when 1.0 is exceeded in the downmix.
The volume is controlled by so many factors, one of which being the strength of the speakers, how do you know what volume you were supposed to listen to that movie anyway?
Perceived volume is an entirely different factor. I'm only considering no positive gain in the downmix which exceeds the digital audio level of each channel prior to downmix, and before output to speakers.
Anyway, even if that feature existed, you might still end up with a sudden volume change mid-movie, unless i mis-understood that feature.
Indeed it's a trade-off between risk of clipping VS. risk of sudden volume change.
No solution is perfect when done in real-time at playback. If a multi-channel track was mastered as a loudness war with minimal dynamic range, this method would be near useless.
Also, how would you do that without reading the entire audio stream?
It would work in the same way as a normalization filter, but in reverse, capped at a gain of 1.0
nevcairiel
30th June 2012, 19:06
Yes, basically just clipping protection which reduces the audio level to 1.0, only when 1.0 is exceeded in the downmix
I guess it may be simple enough to support. Disabling normalization for the matrix is just a flag to toggle, and adding a step to analyze the audio and apply a scale factor if required is rather trivial.
I'll try it out, see what happens.
clsid
30th June 2012, 21:21
The current 5.1->2.0 output volume is too quiet for low-power computer speakers. The ffdshow mixer (normalize matrix disabled) and the Windows default mixer's 5.1->2.0 volume level is much more comfortable.If I remember correctly, ffdshow uses a +3dB gain for center channel when downmixing 5.1 to 2.0. Other mixers might do something similar.
I could implement cheap normalization (even with regain volume) if enough people would find that useful, but it has serious drawbacks.
Please do ;) One less reason to use ffdshow.
e-t172
30th June 2012, 22:35
If I remember correctly, ffdshow uses a +3dB gain for center channel when downmixing 5.1 to 2.0. Other mixers might do something similar.
That's the right way to do it, actually, because when you use two sound sources instead of one for the same input signal, you get +3dB SPL, not +6dB SPL as one would expect. That's because when dealing with the digital sample value, x2 translates to x2 voltage, which translates to x2 sound pressure level (+6dB), whereas adding a second source translates to x2 sound power level, which translates to x(sqrt(2)) sound pressure level (+3dB).
In the end, that means the correct way to mix a center channel (one sound source) into stereo (two sound sources) so that the sound pressure level remains the same is to send the center channel signal to both channels with a -3dB (x(1/sqrt(2)) attenuation, not -6dB (x0.5). This is quite counter-intuitive, so don't fall into the trap. ffdshow got this right (as seen by the 0.707 factor in the mixer matrix).
Also, when downmixing 5.1 to stereo, I'm not sure applying an attenuation factor on the whole output because of clipping paranoia is such a good idea. AFAIK, according to Dolby guidelines, the content producer is supposed to check clipping doesn't happen even when the 5.1 track is downmixed to stereo, which makes sense because such downmixing is fully supported in Dolby specs. Attenuating after downmixing would cause some issues, like really low levels (most movies' average levels are already so low that most consumer equipment have barely enough gain for it to be comfortable, so don't make it worse) and high level differences between stereo and 5.1 content.
nevcairiel
30th June 2012, 22:39
In the end, that means the correct way to mix a center channel (one sound source) into stereo (two sound sources) so that the sound pressure level remains the same is to send the center channel signal to both channels with a -3dB (x(1/sqrt(2)) attenuation, not -6dB (x0.5). This is quite counter-intuitive, so don't fall into the trap. ffdshow got this right (as seen by the 0.707 factor in the mixer matrix).
Thats whats being done in LAV as well, the coefficient for splitting one channel on two other channels is M_SQRT1_2, or 1/sqrt(2), or 0.707.
I looked up some reading material on digital mixing quite some time ago, even though i didn't really need to because the mixing is all done by libavresample (but at least i now understand why such things are done now :D)
Also, when downmixing 5.1 to stereo, I'm not sure applying an attenuation factor on the whole output because of clipping paranoia is such a good idea. AFAIK, according to Dolby guidelines, the content producer is supposed to check clipping doesn't happen even when the 5.1 track is downmixed to stereo, which makes sense because such downmixing is fully supported in Dolby specs. Attenuating after downmixing would cause some issues, like really low levels (most movies' average levels are already so low that most consumer equipment have barely enough gain for it to be comfortable, so don't make it worse) and high level differences between stereo and 5.1 content.
Sadly not all content is Dolby content.
Maybe such a mode as cyberbeing suggests isn't such a bad idea then, basically just clipping protection which only adds that attenuation factor when values exceed the -1.0 - 1.0 range.
DragonQ
30th June 2012, 22:50
Do you mean having the matrix with 1.0 values (rather than normalised ~0.3 values for 5.1 to 2.0) and then reducing volume whenever clipping is imminent?
e-t172
30th June 2012, 22:52
Sadly not all content is Dolby content.
Maybe such a mode as cyberbeing suggests isn't such a bad idea then, basically just clipping protection which only adds that attenuation factor when values exceed the -1.0 - 1.0 range.
Well, Dolby is the de facto standard, which means that if downmixing 5.1 content to stereo produces clipping, then the content producer is at fault, not the player which is just doing what 99% of players do.
In my opinion, both attenuation and clipping protection should be configurable and disabled by default. Especially clipping protection because, as useful as it is, it violates the principle of least surprise, especially when LAV is used as part of an encoding/production chain.
nevcairiel
30th June 2012, 23:35
In my opinion, both attenuation and clipping protection should be configurable and disabled by default. Especially clipping protection because, as useful as it is, it violates the principle of least surprise, especially when LAV is used as part of an encoding/production chain.
For one it would only ever be on when you turn on mixing, which is off by default. Assuming you manage to find your way to the option to turn on mixing, i would guess you managed to look at the other options that control the mixing process as well ;)
And at least when you output integer, where the values can never exceed their defined range, i think its preferable to actual clipping.
Turning on Stereo downmixing should be something thats relatively easy for a user, without users getting clipping on alot of content they watch because they didn't read the options, so either i default to the global attenuation (as its now still because of lack of options), or the clipping protection
I consider the average user to be more stupid then someone using LAV for content editing/production ;) The average user expects it to work, and is surprised if it doesn't :p
Again, all this only matters when they actually turned on mixing manually before, with mixing off (the default), the audio will not change at all to the current version.
I don't know what happens when you feed out-of-range float content to an encoder or the audio renderer, funny things may happen.
kasper93
1st July 2012, 00:38
https://dl.dropbox.com/u/16282309/LAV/00003.m2ts
Change to LPCM audio track, and playback is slowdown. Work fine with MPC internal splitter.
BTW. I have few VOB's in which LAV detect wrong time, but I tried to cut small part and LAV detect valid time, I guess it's ffmpeg bug, but works with MPC internal splitter.
nevcairiel
1st July 2012, 01:10
https://dl.dropbox.com/u/16282309/LAV/00003.m2ts
Change to LPCM audio track, and playback is slowdown. Work fine with MPC internal splitter.
I cannot reproduce any problems with that file.
Please try again with the build i posted earlier, http://files.1f0.de/lavf/LAVFilters-0.50.5-46-gd75bb42.zip
wanezhiling
1st July 2012, 05:52
http://forum.doom9.org/showpost.php?p=1425964&postcount=2
Q: DirectVobSub will not load with LAVFSplitter
A: Make sure to use the "DirectVobSub" filter when adding it to the preferred filters list, and NOT "DirectVobSub (auto-loading version)". The latter will NOT work.
This QA should be removed because current LAVF works fine with DirectVobSub (auto-loading version).:)
Keiyakusha
1st July 2012, 09:02
Btw yes, any of them works. Why autoload shouldn't be loaded if the only difference is that autoload version picks up external subs by default and non-autoload - not.
kasper93
1st July 2012, 13:05
I cannot reproduce any problems with that file.
Please try again with the build i posted earlier, http://files.1f0.de/lavf/LAVFilters-0.50.5-46-gd75bb42.zip
I found the problem, but I don't understand it. When I select "1: System Default" Audio Renderer in MPC-HC settings everything works fine. But when I select "2: Speakers..." it doesn't work. It's weird because it should be the same. Speakers are marked as default in windows settings. Anyway sorry for trouble, LAV is not an issue here :P
ney2x
1st July 2012, 17:16
Hi guys! Slightly off-topic... I just want to know what is the best settings of Reclock when using LAV Audio?
1. Direct Sound
2. WASAPI Exclusive
3. WaveOut
TIA.
DragonQ
1st July 2012, 17:44
WASAPI if you don't want to hear audio from any other application whilst watching your videos (this also ensures bit-perfect playback since it bypasses the Windows mixer). Otherwise, Direct Sound.
Virtual_ManPL
2nd July 2012, 11:40
Is LAV Video Decoder with enabled "Use Stream Aspect Ratio" setting by default, handle files differently for some time or it's just my imagination,
because some of the files have 'broken ratio' like in old CoreAVC and now I need to disable this option.
Sebastiii
2nd July 2012, 12:27
Hi,
I have a strange issue with this sample : https://dl.dropbox.com/u/10536084/lav/Sample/Somebody_That_I_Used_to_Know_Walk_off_the_Earth.mp4
It happen when ffdshow is set @ postprocess (it detect 25 fps, this clip is 23.976).
I have try different version of ffdshow and it's the same.
Try too LAV Suite 0.50.1 and it works.
It seems that with haali it's ok as splitter, so i don't know if it's splitter issue or lav video.
Without ffdshow as postprocess and if ffdshow the video is the decoder -> It's ok.
Thanks :)
nevcairiel
2nd July 2012, 13:21
I have a strange issue with this sample : https://dl.dropbox.com/u/10536084/lav/Sample/Somebody_That_I_Used_to_Know_Walk_off_the_Earth.mp4
Why is that .webm file named .mp4? :p
The problem with that file is that it doesn't store a proper FPS in its headers, and the VP8 header also doesn't have one, so in the end we get something like 1 million fps.
I'll add a check to try to probe the correct FPS when such a wrong value is detected.
Sebastiii
2nd July 2012, 13:44
I think it was named .mkv before lol
Thanks Nevcairiel :)
clsid
2nd July 2012, 14:35
Is LAV Video Decoder with enabled "Use Stream Aspect Ratio" setting by default, handle files differently for some time or it's just my imagination,
because some of the files have 'broken ratio' like in old CoreAVC and now I need to disable this option.The problem is more apparent when using LAV Splitter instead of Haali, since Haali splitter modifies the stream with the container AR.
nevcairiel is considering making the option smarter, so that it automatically uses stream or container AR based on the reliability of the container format.
Sebastiii
2nd July 2012, 18:26
Thanks Nevcairiel, latest push seems fix the issue :)
Volfield
2nd July 2012, 21:37
Quick question to Nev. I have 3 subtitle in one mkv: eng (force), eng (default) and eng. Is it possible to set splitter that open file with eng not force and not default flag? If not can You add something like "*:eng|n" to set splitter to choose subtitle track without flag force or default?
nevcairiel
2nd July 2012, 22:32
Quick question to Nev. I have 3 subtitle in one mkv: eng (force), eng (default) and eng. Is it possible to set splitter that open file with eng not force and not default flag? If not can You add something like "*:eng|n" to set splitter to choose subtitle track without flag force or default?
Its not yet possible, but i already have that on my list.
http://code.google.com/p/lavfilters/issues/detail?id=233
tormento
3rd July 2012, 10:02
I cannot reproduce any problems with that file.
Please try again with the build i posted earlier, http://files.1f0.de/lavf/LAVFilters-0.50.5-46-gd75bb42.zip
Is it possible to get a x64 compile? ;)
ryrynz
3rd July 2012, 12:12
Xhmikosr has it already done.
http://xhmikosr.1f0.de/lavfilters/
kasper93
3rd July 2012, 13:03
Is it possible to get a x64 compile? ;)
http://forum.doom9.org/showpost.php?p=1580617&postcount=11417
Keiyakusha
3rd July 2012, 13:35
About this mixing stuff. I don't really know how it works but for example if I have it disabled, then with stereo headphones setup i hear:
front left - left ear
front right - right ear
center - both ears, volume is relatively the same as one of the fronts
back left/right - i hear both in both ears but left is more loud in left ear, right - in right
lfe - I hear in both ears
if i turn ON mixing in LAV (and select stereo) i hear:
front left - left ear
front right - right ear
center - both ears
back left - left ear
back right - right ear
lfe - nothing
so in 1st case mixing is done by drivers. The question is, is this what i 'm supposed to hear? Actually I expected to hear from LAV something comparable to the job that my drivers doing...
nevcairiel
3rd July 2012, 13:43
Thats a question of definition. Personally i don't think the back channels should bleed over into the wrong ear, but some matrix encoding from Dolby specifies it like that.
I already implemented options to choose between different matrix encoding types, "Normal" (now), and "Dolby Pro Logic" and "Dolby Pro Logic II". The two dolby modes have bleeding of the back channels into the other ear.
LFE is currently not being mixed because Dolby didn't recommend doing it, but i'll probably add a checkbox to do that.
In any case, if you're happy with the Windows Mixer (or the Drivers), no need to bother with it. ;)
Keiyakusha
3rd July 2012, 13:52
In any case, if you're happy with the Windows Mixer (or the Drivers), no need to bother with it. ;)
I see. Thanks for explanation. I'm not very happy with it. Ideally I want to hear rear channels in one ear too like in case with LAV, however bass sounds really nice in my headphones so I want to have it too. I'm not sure If I can configure drivers to behave like that, so would be nice to have checkbox, if its not too much of a trouble.
EDIT: what i want is also the default foobar2000 behavior when downmixing to stereo is on.
Nevilne
3rd July 2012, 15:25
What would be the closest setting to ffdshow default for 2.0 out?
edwrap
3rd July 2012, 17:49
I see. Thanks for explanation. I'm not very happy with it. Ideally I want to hear rear channels in one ear too like in case with LAV, however bass sounds really nice in my headphones so I want to have it too. I'm not sure If I can configure drivers to behave like that, so would be nice to have checkbox, if its not too much of a trouble.
EDIT: what i want is also the default foobar2000 behavior when downmixing to stereo is on.
if you listen with headphones a lot, it might be worth it to look into headphone surround sound virtualization
for instance, foobar2000 has a dolby headphone plugin you can use to downconvert 5.1, but there are many other options as well (some driver software, cyberlink powerdvd's audio decoder, ffdshow, etc.)
there are also dolby headphone .dll's, but I've no idea if nev is interested in having lav audio directly use it nor do I know how much work that would entail
Keiyakusha
3rd July 2012, 17:59
Yeah I know there is different things, but here I want just some minimum that will help me enjoy watching video. There is much more things nev planned to do, not only related to audio. And most of these are the features that I want too, so I don't think I can ask for more than adding LFE checkbox (^_^; )
Pat357
3rd July 2012, 23:27
Nev,
Would it be a problem to implement the "Earwax effect" for headphones ?
I saw it's supported as a libav filter, so IINM, you only would need to put it in the chain and make a check-box for it.
I think it's a relative easy to implement thing... but as I read it in the docs, it seems to support only 44.1 kHz (Audio CD), so an extra resample step will be needed for common 48kHz audio.
What's your opinion about "Earwax" in Lavaudio ?
mr.duck
4th July 2012, 02:33
I have a TS sample file that LAVSplitter can't handle very well at all. Do you want it?
Andy o
4th July 2012, 04:53
Thats a question of definition. Personally i don't think the back channels should bleed over into the wrong ear, but some matrix encoding from Dolby specifies it like that.
I already implemented options to choose between different matrix encoding types, "Normal" (now), and "Dolby Pro Logic" and "Dolby Pro Logic II". The two dolby modes have bleeding of the back channels into the other ear.
LFE is currently not being mixed because Dolby didn't recommend doing it, but i'll probably add a checkbox to do that.
It's cause DPL(II)(IIx) is not supposed to be a downmixing algorithm for final stereo use, but a way to encode more channels into a stereo signal in order to be decoded later back into 5 channels. For headphones, Dolby Headphone can be used in conjunction with DPLII to hear the intended effect.
I guess encoding to DPLII is a nice feature to have, but I can't figure out a use for it, cause, for example, it helped with stereo analog audio content, or Gamecube and PS2 games, which didn't allow for in-game multichannel audio, but pretty much everybody now has a multichannel device on their computers. If it's a laptop or something, DPLII by itself is not meant for 2 speaker playback anyway, and if D. Headphone is available, you can just bypass the DPLII and play with DH directly the multichannel audio in the first place.
Andy o
4th July 2012, 05:13
I see. Thanks for explanation. I'm not very happy with it. Ideally I want to hear rear channels in one ear too like in case with LAV, however bass sounds really nice in my headphones so I want to have it too. I'm not sure If I can configure drivers to behave like that, so would be nice to have checkbox, if its not too much of a trouble.
EDIT: what i want is also the default foobar2000 behavior when downmixing to stereo is on.
Have you tried Dolby Headphone? It should be much better. In fact, it can be pretty impressive. Not every headphone virtualization will work though, in fact, most are crap and I understand completely the skepticism these produce. The only other competing one that works well is DTS Surround Sensation Headphone, but that's almost non-existent (only TMT offers it in the PC I think). DH devices like the Xonar U3 dongle can be found for around $40 or probably a bit less. Most Xonar cards and Realtek 889 (many Gigabyte mobos) offer it as well. If you can get ahold of the dolby headphone dll from Cyberlink (with any PowerDVD version that offers it, which is pretty much all since 7.3 or even earlier), you can try it out with foobar2000 and the Dolby Headphone wrapper (http://www.foobar2000.org/components/view/foo_dsp_dolbyhp) component. Try it with a 5.1 discrete test sample to see what it can do.
dansrfe
4th July 2012, 06:25
It's cause DPL(II)(IIx) is not supposed to be a downmixing algorithm for final stereo use, but a way to encode more channels into a stereo signal in order to be decoded later back into 5 channels.
I'm not sure I understand what you mean by this. DPL(IIx) works very well for final stereo use with my headphones and satellite speakers and it definitely sounds better than using straight up stereo downmixing. Moreover I don't think downmixing to stereo and decoding back to multichannel keeps the same quality as sending multiple channels straight obviously.
Andy o
4th July 2012, 08:26
If it sounds better to you it's incidental. Dolby Surround, Dolby Pro Logic, and DPLII are surround matrix algorithms. They're designed to be played in 4 (D. Surround) or 5-speaker setups. In the old analog tape days they were the only thing consumers had (available in a widely used popular format). It doesn't keep the same quality, but it was a sort of workaround for the technology available, and DPLII can be very effective. That's why it was used for GC and PS2 games, those weren't designed for discrete multichannel in-game audio.
http://en.wikipedia.org/wiki/Dolby_Pro_Logic
http://www.dolby.com/us/en/consumer/technology/home-theater/dolby-pro-logic-ii-details.html
The Dolby page is of course a bit of an exaggeration. For DPLII to work best (or even acceptably), it has to be specifically encoded, and either the "movie" or "game" modes used, not "music". It may not work well for just any stereo content.
nevcairiel
4th July 2012, 08:28
Those Dolby algorithms are designed in a way to sound good in stereo speakers as well, because obviously Dolby was aware that not everyone had a 5.1 setup when playing such tracks (especially in the early days), and if it sounded like crap in Stereo speakers, it wouldn't have taken off.
Andy o
4th July 2012, 09:21
They don't sound like crap, but they weren't designed to be listened in stereo either. Games for example, have a setting to enable/disable DPLII, which implies that, if available, listening to a dedicated stereo mix is preferable. IIRC DPLII applies some phase tricks, right? If so, couldn't there be some interference between the surround and front channels if played in the same channel? This would not be noticeable always.
I found this (http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/214_Mixing%20with%20Dolby%20Pro%20Logic%20II%20Technology.pdf). They briefly address this situation:
In addition to home theater viewers with matrix decoders, mixers must also account for viewers
listening to stereo and mono speaker setups. This includes people watching TV in their bedrooms,
dens, RVs, and other places where Dolby Pro Logic II decoders aren’t practical or desired.
Because of this, it is important to listen to the mix in both stereo and mono to make sure the mix is
acceptable for these setups.
So, the difference with commercial, professionally encoded, DPLII content, and encoding on-the-fly, is that consumer DPLII content should have been double-checked so it sounds "acceptable" in stereo/mono.
jmone
4th July 2012, 10:33
Having options is great, but .... (not making any friends in this thread I guess), I'd argue that a decoders job is to... decode... and it should be the Media Players job to worry about how to handle the decoded audio (mixing, room correction, dsp etc etc). Then again I'm an MC user so we have had these functions working with LAV for awhile now. If your player does a poor job of this then it may be time to upgrade to a better one :)
Virtual_ManPL
4th July 2012, 11:51
The problem is more apparent when using LAV Splitter instead of Haali, since Haali splitter modifies the stream with the container AR.
nevcairiel is considering making the option smarter, so that it automatically uses stream or container AR based on the reliability of the container format.
In my case splitter didn't make any difference. But I tested older versions of LAV Filters to see what's the cause and I saw that bug occurred there too. So I reported it on bugtracker, because with MPC-HC internal decoder it works propertly.
bug #241 - Files with different DAR & original DAR have wrong aspect ratio with LAV Video Decoder (https://code.google.com/p/lavfilters/issues/detail?id=241)
nevcairiel
4th July 2012, 11:56
"Original display aspect ratio" is the AR from the AVC stream, so if you play that file with "Use Stream Aspect Ratio" enabled, it should come out as 3:2, or 720x480 exactly.
Only if you turn that option off, the Container AR is used, which Media Info calls "Display aspect ratio", and is 16:9.
If anything else is happening, that would be a bug, but if you get 3:2 with the file you linked, its working as intended. The filehoster you used is blocked by my work firewall, so i cannot download it right now.
If MPC-HC outputs the file with 16:9 despite the "Read AR from stream" option enabled, then that option may just be bugged in their decoder.
Virtual_ManPL
4th July 2012, 12:15
I updated bug info, added screenshots and multiupload link
Seems like you're right. LAV works properly and MPC-HC is bugged.
Odd because in MPC-HC it looks more natural.
nevcairiel
4th July 2012, 12:18
Its quite common that people don't properly flag the AR in the bitstream, and instead only modify the container, so i guess 16:9 is what its supposed to be played at, but how would LAV know that?
Like clsid explained, i plan to add an option for the Stream AR setting which does not use the Stream AR on containers which commonly have this problem, like MKV, MP4 and AVI (actually, thats it, can't think of more important containers with that problem).
I'll probably add it for the next version even.
DragonQ
4th July 2012, 14:19
That'd be really useful! I need "use stream aspect ratio" on for some of my older 1440x1080i recordings to properly playback as 16:9 (they are TS files). However, I also have some MKV files where the stream has an incorrect aspect ratio and I've had to fix this using the container aspect ratio (almost always using MKVMerge). In this situation, I need to untick "use stream aspect ratio" to make the container aspect ratio have priority.
If it used the container aspect ratio where possible but stream aspect ratio where it wasn't possible, that should be perfect, if I've understood correctly... :)
nevcairiel
4th July 2012, 14:20
It would be as simple as only using the container AR on containers where its more reliable, like MKV/MP4, and stick to Stream AR for MPEG-TS and others.
Lincoln Burrows
4th July 2012, 15:04
Folks,
I asked in the old thread:
http://i.imgur.com/rQnsg.png
Here's the thing: I noticed it's necessary to change that "output mode" to 25/30 instead of 50/60 while watching 1080i contents (saved in Matroska (lossless) or not), otherwise we face audio sync problems. Is that change necessary? Once I changed, it seemed like the playback was fine.
An example of content using 1080i would be a TV show aired in UK, called TORCHWOOD, in Blu-ray. Or the 1st season from CSI: Los Angeles (2000).
It should be noted I don't have to change anything for any other content. Only 1080i.
Another issue I am having is this one:
Have you guys had any trouble playing WMV videos in MPC-HC?
I have a Q9450, 2 GB/RAM (I know, insufficient memory, but I can still use normally), Windows 7/32bit. I never had problems playing HD videos until... now. I tried a WMV file with 3 GB and 30 minutes, full-HD (1920x1080), and... my PC was so slow, I mean, so slow, that I had to force a reset. In the second time I had to use control+alt+del, and I saw it wasted at least 1 GB/RAM to play that file. This thing was soooooooooooooooooooooooooooooooooooooooo slow that it was unbelievable!
However, I tried using VLC to play that same file and it worked... no slowdowns, no problems...But I believe it might be related to MPC-HC, since the video worked in VLC. Any clues on what happened?
P.S. I also have a 8800 GTS 512 MB video card.
betaking
4th July 2012, 15:36
Folks,
I asked in the old thread:
http://i.imgur.com/rQnsg.png
Here's the thing: I noticed it's necessary to change that "output mode" to 25/30 instead of 50/60 while watching 1080i contents (saved in Matroska (lossless) or not), otherwise we face audio sync problems. Is that change necessary? Once I changed, it seemed like the playback was fine.
An example of content using 1080i would be a TV show aired in UK, called TORCHWOOD, in Blu-ray. Or the 1st season from CSI: Los Angeles (2000).
It should be noted I don't have to change anything for any other content. Only 1080i.
Another issue I am having is this one:
But I believe it might be related to MPC-HC, since the video worked in VLC. Any clues on what happened?
P.S. I also have a 8800 GTS 512 MB video card.
8800 GTS VP2 not support VC-1 cuvid!
CiNcH
4th July 2012, 17:51
I have been using the ffdshow audio mixer so far and I have always been asking myself whether it is possible for the filter to auto-detect the output speaker configuration. I am often switching between the stereo speakers of my TV (via HDMI audio device) and the analog surround speaker system (via my 7.1 soundcard configured for 5.1 output) when I am watching with my projector.
DragonQ
4th July 2012, 18:14
Here's the thing: I noticed it's necessary to change that "output mode" to 25/30 instead of 50/60 while watching 1080i contents (saved in Matroska (lossless) or not), otherwise we face audio sync problems. Is that change necessary? Once I changed, it seemed like the playback was fine.
An example of content using 1080i would be a TV show aired in UK, called TORCHWOOD, in Blu-ray. Or the 1st season from CSI: Los Angeles (2000).
It should be noted I don't have to change anything for any other content. Only 1080i.
Torchwood is likely 1080p (in a 1080i "wrapper"), so you'd see no difference between 25p and 50p deinterlacing. Try some proper interlaced content like any sport.
It could be that your system can't handle deinterlacing to 50p but I kinda doubt it since I have a GTS250 (which is a re-brand of that card) in my desktop and it works fine for me. I'm using CPU decoding though, with DXVA2 deinterlacing. Dunno if the card is good enough for CUVID/DXVA2 decoding and DXVA2 deinterlacing.
Pat357
4th July 2012, 19:43
It would be as simple as only using the container AR on containers where its more reliable, like MKV/MP4, and stick to Stream AR for MPEG-TS and others.
Where are .MOV's classified ? Same as MP4 ?
You find these a lot for trailers, youtube,...
Even my Canon outputs 1080p (23.976, 24, 25 or 29.97) H264 in a MOV container.
nevcairiel
4th July 2012, 20:13
MOV is MP4 for me, all the same shit :p
kalston
4th July 2012, 21:09
Have you tried Dolby Headphone? It should be much better. In fact, it can be pretty impressive. Not every headphone virtualization will work though, in fact, most are crap and I understand completely the skepticism these produce. The only other competing one that works well is DTS Surround Sensation Headphone, but that's almost non-existent (only TMT offers it in the PC I think). DH devices like the Xonar U3 dongle can be found for around $40 or probably a bit less. Most Xonar cards and Realtek 889 (many Gigabyte mobos) offer it as well. If you can get ahold of the dolby headphone dll from Cyberlink (with any PowerDVD version that offers it, which is pretty much all since 7.3 or even earlier), you can try it out with foobar2000 and the Dolby Headphone wrapper (http://www.foobar2000.org/components/view/foo_dsp_dolbyhp) component. Try it with a 5.1 discrete test sample to see what it can do.
The free Isone Surround (http://www.toneboosters.com/tb-isonesurround/) (easy to use in JRiver MC17 or foobar2000, a bit tricky in ffdshow but still doable) is IMO much better than Dolby Headphones or the DTS thing in TMT. It's actually the only headphone virtualization I've heard that sounds really good to me.
Keiyakusha
4th July 2012, 21:19
Have you tried Dolby Headphone? It should be much better. In fact, it can be pretty impressive. Not every headphone virtualization will work though, in fact, most are crap and I understand completely the skepticism these produce. The only other competing one that works well is DTS Surround Sensation Headphone, but that's almost non-existent (only TMT offers it in the PC I think). DH devices like the Xonar U3 dongle can be found for around $40 or probably a bit less. Most Xonar cards and Realtek 889 (many Gigabyte mobos) offer it as well. If you can get ahold of the dolby headphone dll from Cyberlink (with any PowerDVD version that offers it, which is pretty much all since 7.3 or even earlier), you can try it out with foobar2000 and the Dolby Headphone wrapper (http://www.foobar2000.org/components/view/foo_dsp_dolbyhp) component. Try it with a 5.1 discrete test sample to see what it can do.
I tried lots of stuff but I don't watch my video with fb2k. And I'm not using LAV Audio for listening music... (>_<)>
I only mentioned it as an example of what I want, because I'm not good in explanations. If all of that is available in form of (EDIT: free) directshow filter that I can plug in between LAV decoder and audio renderer, or if it replaces the renderer itself - that's will be very interesting. I don't feel like asking nev implementing wrapper for that dolby dll, if that's what you mean...
mr.duck
4th July 2012, 22:05
@nev. Did you see this? No interest in the sample?
I have a TS sample file that LAVSplitter can't handle very well at all.
Andy o
4th July 2012, 23:12
I tried lots of stuff but I don't watch my video with fb2k. And I'm not using LAV Audio for listening music... (>_<)>
I only mentioned it as an example of what I want, because I'm not good in explanations. If all of that is available in form of (EDIT: free) directshow filter that I can plug in between LAV decoder and audio renderer, or if it replaces the renderer itself - that's will be very interesting. I don't feel like asking nev implementing wrapper for that dolby dll, if that's what you mean...
I only mentioned fb2k so you can hear it, and the other things because you may already have access to it. AFAIK there have been attempts but none successful to use that dll with MPC-HC.
Keiyakusha
4th July 2012, 23:52
I only mentioned fb2k so you can hear it, and the other things because you may already have access to it. AFAIK there have been attempts but none successful to use that dll with MPC-HC.
I see. Well I'm aware of that dollby headphones thing and its the only solution when I'm really believe I hear back speakers from the back, but I guess that wont happen for MPC-HC anytime soon. Unless someone can find author of that foobar plugin and make him create at least closedsource DS filter that eats PCM and wrapps that dll... Solutions for headphones that can be found in ffdshow sounds not better than my drivers on their defaults...
EDIT: current solution: launch video, mute sound, lanch the same thing in foobar, sync audio (hardest task), done :D
edwrap
5th July 2012, 03:33
I see. Well I'm aware of that dollby headphones thing and its the only solution when I'm really believe I hear back speakers from the back, but I guess that wont happen for MPC-HC anytime soon. Unless someone can find author of that foobar plugin and make him create at least closedsource DS filter that eats PCM and wrapps that dll... Solutions for headphones that can be found in ffdshow sounds not better than my drivers on their defaults...
EDIT: current solution: launch video, mute sound, lanch the same thing in foobar, sync audio (hardest task), done :D
not to divert nev's thread too much further, but I had to chime in again since your current solution sounds incredibly annoying! you can get dolby headphones in mpc-hc through a combination of powerdvd's audio decoder (older versions only) and ffdshow (need to swap channels for anything other than dts)
http://pcloadletter.co.uk/2011/04/05/5-1-channel-audio-through-headphones/
patul
5th July 2012, 04:19
I see. Well I'm aware of that dollby headphones thing and its the only solution when I'm really believe I hear back speakers from the back, but I guess that wont happen for MPC-HC anytime soon. Unless someone can find author of that foobar plugin and make him create at least closedsource DS filter that eats PCM and wrapps that dll... Solutions for headphones that can be found in ffdshow sounds not better than my drivers on their defaults...
EDIT: current solution: launch video, mute sound, lanch the same thing in foobar, sync audio (hardest task), done :D
What about this? http://www.head-fi.org/t/405417/guide-dolby-headphone-in-mpc-zoom-player
It makes use of Cyberlink Audio Decoder (PDVD10) and the very same Dolby Headphone dll
EDIT: Uh oh.. not read the post above me (edwrap's), it's basically the same method. If you want VST wrapper of DH, here it is https://sites.google.com/site/tastymousakas/
zerowalker
5th July 2012, 07:11
Is there anyone who can use LAV to split AVI, and/or let it decode Lagarith, Without Explorer or COM Surrogate crashing when entering folders?
nevcairiel
5th July 2012, 08:19
Lagarith works just fine for me, no crashes or anything.
If something crashes, you should find out which file crashes, and then post that file somewhere.
zerowalker
5th July 2012, 09:14
Can you try put some Lagarith Files in a folder, activate Thumbnails, and have Lav split AVI and decode lagarith.
Then open the folder?
For example, 720x576 files, and very short files.
Don´t really think the content is of any issue, as i don´t know why it crashes, it just happens randomly on some files it tries to load, and i can´t even play them for some reason.
If it doesn´t crash, then i will try to provide a file that crashes i can make a short one ( i think changing the file will prevent the crash though).
I hope it can be solved, cause I really like Lav Splitter and Lav Lagarith Decoding, it´s excellent except for the crashes i get.
Here is a file: http://files.videohelp.com/u/201499/ds000.avi
Lincoln Burrows
5th July 2012, 15:35
Torchwood is likely 1080p (in a 1080i "wrapper"), so you'd see no difference between 25p and 50p deinterlacing. Try some proper interlaced content like any sport.
It could be that your system can't handle deinterlacing to 50p but I kinda doubt it since I have a GTS250 (which is a re-brand of that card) in my desktop and it works fine for me. I'm using CPU decoding though, with DXVA2 deinterlacing. Dunno if the card is good enough for CUVID/DXVA2 decoding and DXVA2 deinterlacing.What I noticed was simply the audio (handled by ffdshow) was not synchronized with the video, and it became synchronized once I changed from 50/60p (default LAV setting) to 25/30p.
I believe in this case it was not Torchwood but other 1080i content. I don't remember which one, but it might be The Universe (TV show).
I also tried using Total Media Theatre from Arcsoft to play 1080i contents and everytime I tried the contents were displayed properly. So this is not a problem with my video card, despite the fact it's old (2007), if it works one way, then this can't be the only issue.
About the WMV containers, I only mentioned because I strongly believe either MPC-HC or some filter is having a great deal of trouble to read them when they are in HD. In this case it was a 3 GB file with 30 minutes (and that's really huge).
Someone said this video card does not support VC-1. Then how do you explain that same video is being played just fine using VLC player? Anyway, I always thought WMV containers were all messed and never being recognized properly by most players.
wanezhiling
5th July 2012, 18:37
I said it many times, if you have problem with CUVID DI(50/60p) on an old Nvidia card, use an old driver(@ least older than 285.62), 285.38b for example. Besides, disabling CUVID's HQP will also help a lot.
That is because Nvidia has ignored non-Fermi/Kepler cards about CUDA in their drivers.
About the HD WMV you mentioned, is it WMV3 or VC-1? Which codec did you use, MPC's internal decoder or LAV CUVID?
Note1:Your 8800 is a VP2 card which has not full VC-1/WMV3 acceleration, and MPC-HC' dxva only supports full acceleration.
Note2:LAV CUVID doesn't support WMV3.
On your system:
"WMV3 + MPC-HC" means in MPC-HC's sw VC-1 mode which uses FFmpeg VC-1 solution, slow.
"WMV3 + LAV CUVID" means in LAV's sw VC-1 mode which uses MS WMV9 DMO solution, better.
"VC-1 + MPC-HC" means in MPC-HC's sw VC-1 mode which uses FFmpeg VC-1 solution, slow.
"VC-1 + LAV CUVID" means in LAV's CUVID mode, not full acceleration but should be fine.
"VC-1/WMV3 + other deocders" , please tell us.
i have a question:
why this topic is not in the section "New and alternative video codecs", like ffdshow or LAV CUVID Decoder.
[sorry for off topic]
Kurtnoise
6th July 2012, 08:19
Probably because when Nev has started his work, it was only a splitter filter...not A/V decoders.
MokrySedeS
6th July 2012, 17:02
nev, I get wrong AR on this (http://www.multiupload.nl/WB3M0BK2SE) file when using lav splitter. Haali is fine. "Use Stream Scpect Ratio" option in lav video doesn't make a difference. What gives?
nevcairiel
6th July 2012, 17:04
nev, I get wrong AR on this (http://www.multiupload.nl/WB3M0BK2SE) file when using lav splitter. Haali is fine. "Use Stream Scpect Ratio" option in lav video doesn't make a difference. What gives?
Stream AR makes a difference for me. Note that it won't change on the fly, you need to re-open the file.
Haali just overwrites the stream AR, which is why it works.
MokrySedeS
6th July 2012, 17:09
you need to re-open the file.
Yeah, I did that, but AR is still wrong. I'm using software decoding btw, maybe that's the catch?
nevcairiel
6th July 2012, 17:12
Yeah, I did that, but AR is still wrong. I'm using software decoding btw, maybe that's the catch?
AR looks fine to me, same Haali gives me.
MokrySedeS
6th July 2012, 18:36
Reinstall fixed it... Sorry for false alarm.
kitame
6th July 2012, 19:04
i stumbled upon an issue in LAV audio.
LAV 0.50.5
Reclock - slave reference clock to audio, and locked at original speed
issue: playing any FLAC music generates a stutter in playback for a short duration on random intervals.
cause/solution: turning off "Auto A/V Sync Correction" seems to resolve this.
any explanation whats going on with this?
nevcairiel
6th July 2012, 19:32
You mean an actual FLAC music file, not within a video file?
You wouldn't happen to be able to share one of the files that causes the problem?
Also, what are you using as a .flac source filter?
I tried with LAV, and everything is perfect - however with MPC-HCs .flac source filter i see audio timestamps all over the place, which could cause this.
I'll probably just disable that logic for pure-audio files, A/V Sync doesnt make sense without the V ;)
If you're using LAV Splitter to read .flac files and encounter the problem, i would love a sample of that file. If you used MPC-HCs FLAC Source, i can already see the problem.
mr.duck
6th July 2012, 20:49
@nev. Did you see this? No interest in the sample?
I have a TS sample file that LAVSplitter can't handle very well at all.
nevcairiel
6th July 2012, 20:53
@nev. Did you see this? No interest in the sample?
You're free to upload it somewhere, but most TS files that are "broken" are usually just terrible encodes, so i guarantee nothing - but i'll take a look.
nevcairiel
6th July 2012, 21:01
Here is a new set of semi-official test builds
x86: http://files.1f0.de/lavf/LAVFilters-0.50.5-64-g694db46.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.50.5-64-g694db46-x64.zip
New since the last build i posted:
- Mixing got a few more options, you can now opt to disable matrix normalization, and instead enable a clipping protection feature which reduces the levels in case they would overflow (basically one-way normalization - the mode cyberbeing asked about, iirc)
- I implemented the selective Stream AR mode clsid suggested, the checkbox is now tri-state, and the half-checked mode will not use stream AR on mkv, mp4/mov and avi, unless the source does not send an AR at all.
- Auto A/V sync is now disabled for audio-only files
- New flags for advanced subtitle selection. "h" for hearing impaired, and "n" for streams without any flags ("normal"), and additionally a NOT operator ("!"), the logic is now complete. For example, "!h" equals "dfn", or "!dfh" equals "n", etc.
I still have one or two things to work out before the release, so i guess it may be sunday or monday, no guarantees though. :)
kitame
6th July 2012, 21:10
You mean an actual FLAC music file, not within a video file?
You wouldn't happen to be able to share one of the files that causes the problem?
Also, what are you using as a .flac source filter?
I tried with LAV, and everything is perfect - however with MPC-HCs .flac source filter i see audio timestamps all over the place, which could cause this.
I'll probably just disable that logic for pure-audio files, A/V Sync doesnt make sense without the V ;)
If you're using LAV Splitter to read .flac files and encounter the problem, i would love a sample of that file. If you used MPC-HCs FLAC Source, i can already see the problem.
oh yeah, its with MPC-HC, and yes its pure FLAC audio file. well anyway that makes sense. i'll be temporarily leaving the A/V Sync disabled for the time being until you release an official fix, would that cause some issues tho?
nevcairiel
6th July 2012, 21:18
i'll be temporarily leaving the A/V Sync disabled for the time being until you release an official fix, would that cause some issues tho?
It might in some cases when a file isn't encoded properly and has hicups in its timings (especially in broadcasts), but should not be a problem in "proper" files.
You can just grab the version i posted above, its not a official proper release, but it works too ;)
As an alternative, you could also disable MPC-HCs FLAC Source under its "Internal Filters" menu, and let LAV take over that job :)
fairchild
6th July 2012, 21:33
- Mixing got a few more options, you can now opt to disable matrix normalization, and instead enable a clipping protection feature which reduces the levels in case they would overflow (basically one-way normalization - the mode cyberbeing asked about, iirc)
Superb! This new version is awesome and lets me remove ffdshow audio mixer out of the equation. I have it set to stereo mix + normalize matrix unchecked + clipping protection checked and it is working awesome. :thanks:
Btw, does anybody use/like the dolby matrix options when listening on Stereo through speakers or headphones? It sounds very nice without them, just curious.
kitame
6th July 2012, 21:57
It might in some cases when a file isn't encoded properly and has hicups in its timings (especially in broadcasts), but should not be a problem in "proper" files.
You can just grab the version i posted above, its not a official proper release, but it works too ;)
As an alternative, you could also disable MPC-HCs FLAC Source under its "Internal Filters" menu, and let LAV take over that job :)
hmm that would be worry-some, since quite a number of the files i usually grab have huccups like those, specially ones with ordered chapters that draws chapters externally.
that could work, well i'll just do that and see if theres anything else that'll pop up.
mr.duck
7th July 2012, 00:08
You're free to upload it somewhere, but most TS files that are "broken" are usually just terrible encodes, so i guarantee nothing - but i'll take a look.
Thanks. I don't think the sample is broken (corrupt or damaged). See what you make of it... [SAMPLE] (http://dl.dropbox.com/u/2678996/LAVSplitter_trouble.ts)
kasper93
7th July 2012, 01:44
Thanks. I don't think the sample is broken (corrupt or damaged). See what you make of it... [SAMPLE] (http://dl.dropbox.com/u/2678996/LAVSplitter_trouble.ts)
And what is wrong? Everything works fine, LAV Splitter doesn't give length of the file, but MPC splitter give wrong length so I don't see where LAV have trouble with this file.
mr.duck
7th July 2012, 02:12
And what is wrong? Everything works fine, LAV Splitter doesn't give length of the file, but MPC splitter give wrong length so I don't see where LAV have trouble with this file.
You can't skip forward / back for one. With the MPC-HC splitter you can.
MPC-HC splitter must be guessing video length based on file size.
The only thing I tested that handled the file worse than LAVSplitter was VLC 2.0.2.
nevcairiel
7th July 2012, 06:11
Thanks. I don't think the sample is broken (corrupt or damaged). See what you make of it... [SAMPLE] (http://dl.dropbox.com/u/2678996/LAVSplitter_trouble.ts)
The file is semi-broken at least.
There is at least 40mb of zero padding after the actual content, which causes LAV to simply not find the end of the actual content. It already trys to read back from the end a bit in case the end is corrupted, however not 40mb of zeros.
I tried enabling bitrate guesses, but it came up with a length of around 1:45, which clearly was much too short, so its not worth much either. I could enable another method of bitrate guessing, but with 20% of the file being zero, even if you had an accurate bitrate it would end up wrong.
I'll look at it again later.
zerowalker
7th July 2012, 07:39
How can you make it load 4/3 stated files with 1:1?
I can´t make it happen even with different mkv settings, i have to change to "Source" in Zoom Player.
wanezhiling
7th July 2012, 07:54
The splitter will affect the AR?
My LAV Video setting (http://i.imgur.com/YDdiX.png)
LAV S + LAV V (http://i.imgur.com/LF4dN.png)
MPC S + LAV V (http://i.imgur.com/FQaVD.png), Seems this result was correct?
Sample:http://pan.baidu.com/share/link?shareid=156957&uk=3558042035
mr.duck
7th July 2012, 19:06
The file is semi-broken at least.
There is at least 40mb of zero padding after the actual content, which causes LAV to simply not find the end of the actual content. It already trys to read back from the end a bit in case the end is corrupted, however not 40mb of zeros.
I tried enabling bitrate guesses, but it came up with a length of around 1:45, which clearly was much too short, so its not worth much either. I could enable another method of bitrate guessing, but with 20% of the file being zero, even if you had an accurate bitrate it would end up wrong.
I'll look at it again later.
Hi. Thanks for taking at look at it for me. The source was digital TV. The file was grabbed (copied) as it was being recorded. It makes a difficult to play sample to test players, but has a real world need too. For when trying to watch TV almost live as it's being recorded (for sport in particular).
I was wondering if it were technically possible when LAVSplitter can't find the length so sets the play length to zero, if it could instead set the play length to some very high value like 6 hours? This would allow MPC to be able to skip forward / back for as much as there is the data available to play.
nevcairiel
7th July 2012, 20:21
The splitter will affect the AR?
My LAV Video setting (http://i.imgur.com/YDdiX.png)
LAV S + LAV V (http://i.imgur.com/LF4dN.png)
MPC S + LAV V (http://i.imgur.com/FQaVD.png), Seems this result was correct?
Of course the splitter affects the AR, because in its new default mode LAV trusts the splitter to send the container AR properly to the decoder.
Both Haali and LAV use 16:9 (or something close to it, resulting in 853x480), and Media Info agrees:
Display aspect ratio : 16:9
Original display aspect ratio : 16:9
I would say its meant to be 16:9
I also looked at the various MP4 headers, here an excerpt:
[tkhd: Track Header Box]
width = 853.000000
height = 480.000000
853x480 is 720x480 in 16:9
So, i'm quite certain 16:9 is correct, and the MPC-HC MP4 splitter is just bugged. I'll probably have to blacklist it then, so LAV doesn't trust it and still uses the stream AR.
Budtz
7th July 2012, 20:43
Hey Nev,
at the ffdshow forum u posted regarding ffdshow builds:
Originally Posted by nevcairiel
They've always been doing that. Who knows why.
Just get builds here:
http://xhmikosr.1f0.de/ffdshow/
Build with latest stable GCC (4.7.0)
What about the stable builds at the official tryouts-site, are those also using an old GCC build?
And arent the ones you linked to above - at least on paper - less stable than the official builds?
It's so confusing with all these ffdshow builds. Would you mind explaining the difference?
wanezhiling
8th July 2012, 16:58
So, i'm quite certain 16:9 is correct, and the MPC-HC MP4 splitter is just bugged. I'll probably have to blacklist it then, so LAV doesn't trust it and still uses the stream AR.
Thanks.
PS: In which condition the container AR(720x480) is correct? Do you have any samples?:)
nevcairiel
8th July 2012, 18:10
There are plenty of files where the container AR is correct, and the stream AR is not (especially MKVs, but also MP4s)
Even in the file you linked, the container AR is correct, the MPC-HC splitter just doesn't know how to read the container AR from MP4s.
Pat357
8th July 2012, 18:41
Nev,
LAV-splitter fails to detect the DTS-HRA stream in this .m2ts file and makes that Lavaudio does not get loaded.
If I use Haali splitter or the internal MPC-HC splitter, the file plays fine, including the 7.1 DTS-HRA track.
Can you have a look at it ?
http://www.mediafire.com/?muuiwbbbi8qveo4
nevcairiel
8th July 2012, 19:39
LAV-splitter fails to detect the DTS-HRA stream in this .m2ts file and makes that Lavaudio does not get loaded.
The new support for decoding DTS-HD HRA streams is not working properly yet, it fails to decode that stream properly and therefor fails - i should disable it for the time being.
nevcairiel
9th July 2012, 13:35
I was wondering if it were technically possible when LAVSplitter can't find the length so sets the play length to zero, if it could instead set the play length to some very high value like 6 hours? This would allow MPC to be able to skip forward / back for as much as there is the data available to play.
Yes its possible, but i don't know if its really such a good idea to do this, i imagine it would be a cause for confusion more then anything.
If such zero-padding is such a common case, i could try to add logic for trying to detect it and jumping backwards in the file trying to find the end. With a binary search for the end, it will take a second or two extra during opening (depending on your IO speed), but it would manage to find the real duration. Just not sure its such a common situation that spending the time developing this would be worth it.
nevcairiel
9th July 2012, 15:38
LAV Filters 0.51
LAV Splitter
- Increased IO responsiveness on high-latency network connections
- Improved timestamp handling for MPEG-PS (.mpg/.vob/.evo)
- Improved support for H264 streams in SSIF MPEG-TS files
- Added an option to control the priority of audio streams for the hearing/visually impaired
- Added new flags to the advanced subtitle selection
- "h" for hearing impaired
- "n" for normal streams (no flags)
- "!" NOT operator for inverting the meaning of the flags
LAV Video
- Improved DXVA2 Native to software fallback in some situations
- Support for YCgCo to RGB conversion
- Added a new smart Stream Aspect Ratio mode
- Will only use Stream AR when the container does not provide a realiable AR
LAV Audio
- Improved decoding performance of MP4 ALS and a few other formats
- Fixed playback of COOK with the MPC-HC RM Splitter
- Auto A/V Sync is now automatically disabled on pure-audio files to avoid potential conflicts
- Audio Down-Mixing support
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.51.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.51.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.51-x64.zip)
I wonder if this has been the longest time between two releases, but oh well, i finally considered it finished enough.
Down-Mixing
One of the big new things in this version is of course the new audio downmixing.
In this version, you get the first set of down-mixing functionality, which should probably cover this function for most people.
To use it, basically just enable it and select the target speaker configuration. You can fine-tune some of the other options, but in general it should work just fine with the defaults.
More control over the full matrix will come in a future version (not that soon).
Everything else
Besides the new audio features, there is the usual list of other fixes, improvements and additions, not everything worth mentioning in the changelog above.
As always, if you find a new bug or regression, please report them in as great a detail as possible, with a sample file if available.
Have fun!
SeeMoreDigital
9th July 2012, 15:43
Thanks Nev :)
mr.duck
9th July 2012, 15:47
Yes its possible, but i don't know if its really such a good idea to do this, i imagine it would be a cause for confusion more then anything.
You are right of course. I am just feeling a bit cheeky asking you to do this just for me ;)
The holy grail I've been trying to achieve with MPC-HC for years now is for it to be able to handle live content as well as 'static' content (is that the right word?). The problem with MPC, is it cannot load filters that update the play length / seekbar as more data arrives. Such a filter is called a 'push' or a 'pull' source filter. I forget which is which, but MPC is only compatible with 1 of them. I just know that if I can persuade you to modify LAVSplitter to set the length to 6hrs when it doesn't find the end of the video, I could use it to work around this limitation in MPC. If you are willing, you could set the option on by the presence of an empty file with a specific name in the current directory? Or with a registry value you must add/modify manually? To avoid you having to deal with lots of people coming here and say "what's this option do?" ;)
If such zero-padding is such a common case, i could try to add logic for trying to detect it and jumping backwards in the file trying to find the end. With a binary search for the end, it will take a second or two extra during opening (depending on your IO speed), but it would manage to find the real duration. Just not sure its such a common situation that spending the time developing this would be worth it.
It would be helpful for sure. I would assume all TV recording software would work in a similar way: allocating a chunk of space for the file (the zeros), then filling it up as the data is received. Allocating another chunk of zeros when the current file size has filled up. But speed is good too. If you were going to implement a search for the end of the video, you could design it to find the end with a fairly low accuracy, like within 10MB for example? You don't have to find the exact end because MPC will keep on playing the video if there is more. You just wouldn't be able to seek up to the very end.
CiNcH
9th July 2012, 15:56
0.51 is pretty problematic for me. I am using LAV Video within DVBViewer (DXVA2 native). When switching between H.264 HD channels I often get a green image, sometimes the DVBViewer even crashes.
nevcairiel
9th July 2012, 16:05
0.51 is pretty problematic for me. I am using LAV Video within DVBViewer (DXVA2 native). When switching between H.264 HD channels I often get a green image, sometimes the DVBViewer even crashes.
Seems fine here. Nothing really changed for DXVA either since 0.50.5
nevcairiel
9th July 2012, 16:14
Seems fine here. Nothing really changed for DXVA either since 0.50.5
If you can reliably reproduce it, can you try with this version and see if anything changed?
http://files.1f0.de/lavf/LAVFilters-0.51-dxvatest.zip
fastplayer
9th July 2012, 16:41
Is the 0.71 mixing level in the Mixing tab just rounded up (from 0.707) or is it the actual value? Looking at the source it looks like 0.7071 but I'm not 100% sure... :confused:
nevcairiel
9th July 2012, 16:42
Is the 0.71 mixing level in the Mixing tab just rounded up (from 0.707) or is it the actual value? Looking at the source it looks like 0.7071 but I'm not 100% sure... :confused:
The slider display rounds to 2 digits
fastplayer
9th July 2012, 16:47
Thanks for clarifying and thanks for 0.51! :)
nevcairiel
9th July 2012, 17:22
0.51 is pretty problematic for me. I am using LAV Video within DVBViewer (DXVA2 native). When switching between H.264 HD channels I often get a green image, sometimes the DVBViewer even crashes.
Because the other version i posted would probably not have done much, here is another one to test:
http://files.1f0.de/lavf/LAVFilters-0.51-dxvatest2.zip
Let me know how this one fares.
If anyone else wants to test this one on DXVA things, you're welcome to it.
Keiyakusha
9th July 2012, 17:29
Thanks for the new version! Its perfect! :)
6233638
9th July 2012, 17:36
Down-Mixing
One of the big new things in this version is of course the new audio downmixing.
In this version, you get the first set of down-mixing functionality, which should probably cover this function for most people.
To use it, basically just enable it and select the target speaker configuration. You can fine-tune some of the other options, but in general it should work just fine with the defaults.It's fantastic to have this built into LAV Audio now, but can you explain what the difference between "clipping protection" and "normalize matrix" is?
I would have thought that "normalize matrix" would be the default option, but it seems to be "clipping protection".
And has anyone figured out the solution is for DVD playback Macrovision Errors with madVR and LAV Filters beyond 0.50.1 without modifying system files? It only seems to be affecting some people now, so there must be a way around it.
nevcairiel
9th July 2012, 17:42
It's fantastic to have this built into LAV Audio now, but can you explain what the difference between "clipping protection" and "normalize matrix" is?
Normalize Matrix will always normalize the matrix, and some people complained that the resulting audio was not loud enough for their low-powered speakers/headphones (because the volume of all channels is reduced to remove the theoretical possibility of clipping)
Clipping Protection on the other hand will not normalize the matrix, and instead work on the assumption that audio is mastered with so much headroom in the dynamic range that mixing will not overflow it (much). Clipping protection will then analyze the audio and check if it would overflow, and if it does, apply a small normalization factor which reduces the volume a bit so it doesn't overflow.
This has the advantage that you basically use the full dynamic range and don't lower the volume of the audio for no good reason. It'll only lower the volume if required, to avoid clipping.
In my tests, on default settings in LAV, it usually ends up overflowing to 1.2 or something, so the clipping protection reduces the global volume by factor 1.2, so the maximum goes back to 1.0. In contrast, a normalized matrix reduces the volume by 2.6.
fastplayer
9th July 2012, 17:48
Can you please add that explanation in a tooltip? I have a "feeling" 6233638's question will come up again and again.
6233638
9th July 2012, 18:10
Normalize Matrix will always normalize the matrix, and some people complained that the resulting audio was not loud enough for their low-powered speakers/headphones (because the volume of all channels is reduced to remove the theoretical possibility of clipping)
Clipping Protection on the other hand will not normalize the matrix, and instead work on the assumption that audio is mastered with so much headroom in the dynamic range that mixing will not overflow it (much). Clipping protection will then analyze the audio and check if it would overflow, and if it does, apply a small normalization factor which reduces the volume a bit so it doesn't overflow.
This has the advantage that you basically use the full dynamic range and don't lower the volume of the audio for no good reason. It'll only lower the volume if required, to avoid clipping.
In my tests, on default settings in LAV, it usually ends up overflowing to 1.2 or something, so the clipping protection reduces the global volume by factor 1.2, so the maximum goes back to 1.0. In contrast, a normalized matrix reduces the volume by 2.6.Thanks, so is it adjusting dynamically then, or simply reducing the volume by 1.2?
What happens if both are enabled? (I would assume only normalization takes effect, as it should avoid clipping)
Personally I'd rather take the volume reduction of normalization to avoid clipping and DRC.
Any thoughts on expanding the downmixing with HRTF/Dolby Headphone functions? (I don't know if Dolby Headphone is something that could be implemented in a similar fashion to DTS-HD decoding using an external DLL)
nevcairiel
9th July 2012, 18:14
Thanks, so is it adjusting dynamically then, or simply reducing the volume by 1.2?
Its dynamic.
What happens if both are enabled? (I would assume only normalization takes effect, as it should avoid clipping)
Since it would never exceed 1.0, clipping protection would just waste a few cpu cycles, but not touch audio.
Any thoughts on expanding the downmixing with HRTF/Dolby Headphone functions? (I don't know if Dolby Headphone is something that could be implemented in a similar fashion to DTS-HD decoding using an external DLL)
No plans at this time.
ney2x
9th July 2012, 18:15
Can you add Enable sound compressor or Audio Boost in LAV Audio (just like in Reclock)? I ask this because I only have a cheap speaker and also I want to ditch Reclock permanently. Anyways, a big thanks for the new version.
nevcairiel
9th July 2012, 18:16
I also have no plans for dynamic range compression at this time.
Keiyakusha
9th July 2012, 18:20
Any thoughts on expanding the downmixing with HRTF/Dolby Headphone functions? (I don't know if Dolby Headphone is something that could be implemented in a similar fashion to DTS-HD decoding using an external DLL)
We was already talking about Dolby thing not so long ago. It will require implementing wrapper (EDIT: not only wrapper but someone need to figure out its api first.) for 3rd party dll that can't be bundled with LAV filters... Even though I want it too, I don't see it happening in LAV...
There is similar opensource stuff which can be found in ffdshow but to me it doesn't sounds good.
RealSnoopyDog
9th July 2012, 20:09
Hi nev! Thank you for all the latest updates :)
I can confirm what CiNcH wrote: from version 0.50.5-25 on, i get constant crashes when i zap around between HD stations in DVBViewer. I have this with versions 0.50.5-25, 0.50.5-46, 0.51 and LAVFilters-0.51-dxvatest2. When i revert back to LAV 0.50.5, the system is stable again.
I have this on my laptop (Windows 7 64 bit / nVidia GTX560) and my HTPC (Windows 7 32 bit / ATI 6670).
nevcairiel
9th July 2012, 20:14
from version 0.50.5-25 on, i get constant crashes when i zap around between HD stations in DVBViewer. I have this with versions 0.50.5-25, 0.50.5-46, 0.51 and LAVFilters-0.51-dxvatest2. When i revert back to LAV 0.50.5, the system is stable again.
Thanks, that narrows is down a bit at least.
Can you try this?
http://files.1f0.de/lavf/LAVFilters-0.51-dxvatest3.zip
I'm basically stabbing in the dark here. I got it to crash once or so, but it took ages, so testing again if it still crashes just takes too long to be conclusive.
RealSnoopyDog
9th July 2012, 20:21
This version seems to be stable now, but it takes a while to confirm this. The only thing: it takes a very long time, until the filter graph gets activated, maybe, because you do debug output (?)
nevcairiel
9th July 2012, 21:06
I noticed myself that it always took a while until everything got started, but when looking into it seemed like DVBViewer was just not sending data earlier, and the decoder can only properly init itself once data arrives, so not sure whats up.
If that version does not produce any more problems for DXVA in DVBViewer, i'll put out a final version tomorrow, maybe it'll be better again in that build, who knows!
JarrettH
9th July 2012, 22:02
It's fantastic to have this built into LAV Audio now, but can you explain what the difference between "clipping protection" and "normalize matrix" is?
I would have thought that "normalize matrix" would be the default option, but it seems to be "clipping protection".
And has anyone figured out the solution is for DVD playback Macrovision Errors with madVR and LAV Filters beyond 0.50.1 without modifying system files? It only seems to be affecting some people now, so there must be a way around it.
So 0.51 hasn't fix that problem for you? :(
Does the downmixing implemented work similarly/better than ffdshow?
6233638
9th July 2012, 23:57
So 0.51 hasn't fix that problem for you? :(Nope. I wish I knew what the cause was, as others including Nevcariel seem to have DVD playback working fine with madVR now.
Does the downmixing implemented work similarly/better than ffdshow?Seemed fine, though there are no options for a custom matrix. I can't see why you would need that though.
Didn't spend too much time with it though, as it's only working with Blu-rays and not DVDs though. I assume it's being done with at least as much precision as ffdshow.
Keiyakusha
10th July 2012, 00:31
Didn't spend too much time with it though, as it's only working with Blu-rays and not DVDs though. I assume it's being done with at least as much precision as ffdshow.
Mixing works with any kind of audio input... Be it DVD, BD or any user encoded file or even simple mp3 file. Anything that can be decoded with audio filter.
Fullmetal Encoder
10th July 2012, 00:54
So 0.51 hasn't fix that problem for you? :(
Does the downmixing implemented work similarly/better than ffdshow?
I still can't get it to work either. Although I don't get an actual macrovision error I either get a black screen or just the MPC-HC logo.
Superb
10th July 2012, 01:04
Thanks for the new version. Mixing is great.
Any chance you could provide some sort of explanations regarding the different options on the mixing page? Kinda tough to understand for those of us w/o background in the way mixing works.
For example, if I have stereo speakers, why would I need the "don't mix stereo sources"?
killazys
10th July 2012, 03:10
What's the verdict on using an x64 setup (MPC-HC x64, LAV filters x64)? I know a year ago it wasn't recommended because the MPC-HC x64 builds were buggier and slower than x86 builds. Is that still the case? I'm trying to squeeze as much playback speed as possible from my setup while still being able to output P010.
Keiyakusha
10th July 2012, 03:18
I know a year ago it wasn't recommended because the MPC-HC x64 builds were buggier and slower than x86 builds. Is that still the case?
Same if not worse. But even if it will be perfectly stable, x64 wont be any faster. Only few kind of software can really benefit from x64 architecture and this is not one of them. x64 is not a synonym for "more speed"
What do you mean by "output P010"? Where you going to plug it in? I though madvr only 32bit. There is x64 version now?
killazys
10th July 2012, 03:51
Oh, EVR Custom Pres. doesn't support it? I just kind of assumed it did.
And thanks for the response :)
Mercury_22
10th July 2012, 09:37
@nev When I'm trying to update now I'm getting C:\LAVFilters>git pull git://git.1f0.de/lavfsplitter.git
From git://git.1f0.de/lavfsplitter
* branch HEAD -> FETCH_HEAD
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address... do I have to register now?
Yesterday everything was fine and I didn't change anything
nevcairiel
10th July 2012, 09:39
Sounds like your checkout is broken, do "git remote update && git reset --hard origin/master"
Mercury_22
10th July 2012, 10:11
Sounds like your checkout is broken, do "git remote update && git reset --hard origin/master"
Working now
:thanks:
nevcairiel
10th July 2012, 10:14
@CiNcH / RealSnoopyDog:
Any further conclusions on the latest test version, is the crashing fixed now?
Here it is again:
http://files.1f0.de/lavf/LAVFilters-0.51-dxvatest3.zip
Please let me know so i can put it out as a release version if it fixes your problems.
CiNcH
10th July 2012, 10:16
Any further conclusions on the latest test version, is the crashing fixed now?
I can first test this evening, sorry :( . But will definately let you know then..
DragonQ
10th July 2012, 11:31
Ignore me. :/
RealSnoopyDog
10th July 2012, 12:32
Hi nev!
For me, the version LAVFilters-0.51-dxvatest3 is stable now when i'm zapping in DVBViewer!
The only difference to version 0.50.5 - if there is a video format change for H.264 formats (e.g. 1080i => 720p) then it takes up to 8 seconds until is see the picture with 0.51. Sound is already there. With 0.50.5 the picture always came up immediately after a video format change. It does not happen if i switch from H.264 HD to MPEG-2 SD.
You can workaround this if you enable the video format pre-detection in the DVBViewer settings if you use LAV 0.51 but then the zapping speed is slowed down. With 0.50.5 this is not neccessary.
iSunrise
10th July 2012, 12:48
Fantastic work nevcairiel!
I can now finally kiss all the post-processing of other players (like PotPlayer) and filters (ffdshow) goodbye, while enjoying full DTS-MA tracks (wrapped through the external arcsoft DLL) down-mixed to my receiver. I have tested about two dozens of my audio sample videos with different channel configurations and it works perfect, audio quality is great. I will just let it stay on clipping protection, which is the default settings.
LAV has quickly become the swiss army knife of today´s HTPCs and power users who simply need stable and working filters, which are easy to understand, yet incredibly powerful. I also like your mentality towards minimalistic yet functional (needed) stuff, it makes the setup of your filters extremely straight forward. You don´t include a gazillion settings in the GUI, but the most important stuff so 99,9% of all users should be very happy.
One question I have is though, when a DTS-HD MA track (e.x. 5.1, 6.1 or 7.1) plays and I have my receiver on DPLII+THX, am I supposed to enable matrix encoding for Dolby Pro Logic II? Cause I can´t really hear any difference if I set the option to "none" or "Dolby ProLogic II".
Also, I may have found a small bug while testing.
1. When you play a movie while mixing functionality is disabled, on the status tab, you can see all the volume bars active for all the audio channels, which is exactly as it should be.
2. If you then enable the mixing on the mixing tab (I have set it to stereo) and you look at the volume bars, this shows you only 2 active output channels (front left, front right). This is also working as intended.
Now the bug:
3. If you disable the mixer again and you look at the status tab again and watch the volume bars/channels, you can still see only 2 active channels as if the Status tab "thinks" that the mixer is still active, while it should normally behave like in 1. again. It should show all the output channels active.
Only minor and probably easy to fix. Just to give you a heads up.
PS: Nev, I just donated you something for your continued support and your decision to include audio downmixing!
doveman
10th July 2012, 12:50
Regarding downmixing, I have a rather specific need that I wonder if you might be able to accomodate in a future release.
I have two sets of stereo speakers, my TV's and my Amp's. Sometimes I just want to use my TV and other times, I want to use my Amp for better sound for a film. I only use the analog outputs of my soundcard.
So I need to
a) mix-down to stereo
b) duplicate the stereo to two outputs
Currently I can do this, with my soundcard set to Quad output with the front speaker output connected to the TV and the rear speaker output connected to the Amp, using ffdshow's Mixer to mix all the input channels to FrontL+FrontR and RearL+RearR.
I guess I can just keep using ffdshow as a post-processor to do this and use LAV to do the decoding, but it would be nice if I could ditch ffdshow completely.
Another thing that would be cool is Mixdown profiles, that can be switched remotely from MediaPortal. ffdshow allows me to use auto-switching profiles, such as "If audio is mono, use a mix to stereo Matrix" (not necessary with LAV as it has a upmix mono to stereo option) or "If filename is *.ts, use a reduced volume Matrix", but it doesn't offer any keyboard commands or any other way to manually switch a profile.
The reason I'd like to do this is because then, when watching a film, I could manually switch to a profile that directs the centre channel to my TV's speakers and everything else to my Amp's speakers, for 3-channel playback.
dansrfe
10th July 2012, 15:21
From what I can tell, mixing to stereo from 5.1 returns much better clarity from the "center" track of the 5.1 source to my 2.1 setup than using a Dolby Pro Logic II matrix in ffdshow ever did. I guess I misunderstood what DPLII was or how it is supposed to be used in the first place.
Just to make sure, DPL/DPLII is used to decode stereo -> 5.1? Also if I can live without normalization then having "Clipping Protection" enabled would be useless correct? Therefore the best option would be to just enable downmixing to stereo and that's it?
Also, If I am using ReClock as the last piece in the filter chain, should I output only 32-bit Floating-point and then have ReClock convert the bit depth to 16-bit OR should I have everything unchecked in LAV except for 16-bit? I'm using WASAPI in ReClock for all outputs but I'm guessing the answer to this question would be different if I were outputting to DirectShow from ReClock.
I'm starting to doubt whether ReClock is even worth it but it seems to be working since ReClock's shifting of the clock is causing madVR to show frame repeat/drop from 3-6 days on nearly everything that I play. What is your opinion on ReClock? Is it needed?
Thanks nevcairiel! Is there a place where I can donate to this excellent project? :)
nevcairiel
10th July 2012, 15:42
Now the bug:
3. If you disable the mixer again and you look at the status tab again and watch the volume bars/channels, you can still see only 2 active channels as if the Status tab "thinks" that the mixer is still active, while it should normally behave like in 1. again. It should show all the output channels active.
Yeah i know about the problem.
Not sure how to fix it, stupid page init is only called when its first created. Oh well, not critical, but i'll look into it.
Just to make sure, DPL/DPLII is used to decode stereo -> 5.1?
Yes. LAV can matrix-encode a 5.1 signal into stereo so that a DPL/DPLII decoder could extract 5.1 from it again. Not sure its useful, but the feature was there so i just added the boxes :p
Also if I can live without normalization then having "Clipping Protection" enabled would be useless correct? Therefore the best option would be to just enable downmixing to stereo and that's it?
If you enable normalization, clipping protection is useless (because everythign is normalized already anyway).
If you don't enable normalization, i highly recommend enabling clipping protection, because otherwise you will most likely get clipping.
Also, If I am using ReClock as the last piece in the filter chain, should I output only 32-bit Floating-point and then have ReClock convert the bit depth to 16-bit OR should I have everything unchecked in LAV except for 16-bit?
You should keep as much precision for as long as possible, so output 32-bit float to reclock.
What is your opinion on ReClock? Is it needed?
It can help when your clock is too far off. I use JRiver MC17 now which includes its own audio renderer with a reclock-like function, which also seems to work just fine.
Thanks nevcairiel! Is there a place where I can donate to this excellent project? :)
If you insist, there is a donation button on the google project page: http://code.google.com/p/lavfilters/
CiNcH
10th July 2012, 15:47
Please let me know so i can put it out as a release version if it fixes your problems.
As Snoopy said, no crashes anymore, and no initial green picture.
The only difference to version 0.50.5 - if there is a video format change for H.264 formats (e.g. 1080i => 720p) then it takes up to 8 seconds until is see the picture with 0.51. Sound is already there. With 0.50.5 the picture always came up immediately after a video format change. It does not happen if i switch from H.264 HD to MPEG-2 SD.
You can workaround this if you enable the video format pre-detection in the DVBViewer settings if you use LAV 0.51 but then the zapping speed is slowed down. With 0.50.5 this is not neccessary.
Hmm, I can't reproduce that issue.
nevcairiel
10th July 2012, 15:49
As Snoopy said, no crashes anymore, and no initial green picture.
Great, thanks for testing. I'll put out a 0.51.1 later today.
kitame
10th July 2012, 16:13
even with the added rules on subs i still cant get those song/sign only, some f.cked up encoders sometimes put those in default and others put those in normal, they could've just put those in forced when they had an english audio in the mix ._.
nevcairiel
10th July 2012, 16:14
even with the added rules on subs i still cant get those song/sign only, some f.cked up encoders sometimes put those in default and others put those in normal, they could've just put those in forced when they had an english audio in the mix ._.
Can't do anything if its not flagged properly. Trying to find common words in the track name seems way too fragile to me.
At least its trivial to re-flag MKVs, if you want it for your archive.
kitame
10th July 2012, 16:28
yeah i'll do that, tho any clue whats a good program for a proper reflag? i'll set them to hearing impaired since thats the only rule thats unique =)
nevcairiel
10th July 2012, 16:29
yeah i'll do that, tho any clue whats a good program for a proper reflag? i'll set them to hearing impaired since thats the only rule thats unique =)
I would just use mkvtoolnix, mkvpropedit for CLI or mmg for GUI.
BTW, MKV does not have a hearing impaired flag, personally i would suggest forced.
kitame
10th July 2012, 16:41
hmm i stumbled upon a bug i think
using this setting - eng:eng|h eng:eng|f eng:eng!d eng:0ff *:eng!h *:*!h *:0ff
seems like !d isnt working, it still loaded the default instead.
nevcairiel
10th July 2012, 16:43
You need the | still, so eng:eng|!d (and later |!h). Note also you wrote "0ff" with a zero instead of an o.
kitame
10th July 2012, 16:59
You need the | still, so eng:eng|!d (and later |!h). Note also you wrote "0ff" with a zero instead of an o.
hmm, gotta take note of that, if i type o in this forum it'll become like this *:off
6233638
10th July 2012, 17:08
I'm starting to doubt whether ReClock is even worth it but it seems to be working since ReClock's shifting of the clock is causing madVR to show frame repeat/drop from 3-6 days on nearly everything that I play. What is your opinion on ReClock? Is it needed?ReClock is essential in my opinion. It enables WASAPI output. It will ReClock 25p PAL content to 24p It will ReClock 24/1.001 and 24.000 content to 23/24Hz depending on your display setting. (you should be running 24.000 at the display) It eliminates dropped frames caused by timing differences.
Mixing works with any kind of audio input... Be it DVD, BD or any user encoded file or even simple mp3 file. Anything that can be decoded with audio filter.Sorry, I did not mean to imply that mixing would only work with Blu-ray. I meant that since I cannot get LAV Filters above 0.50.1 to play back DVDs, I cannot test anything else.
nevcairiel
10th July 2012, 17:14
LAV Filters 0.51.1
LAV Video
- Improved compatibility between DXVA and certain DVB players
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.51.1.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.51.1.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.51.1-x64.zip)
I hope this fixes all issues that were encountered in DVB Viewer with DXVA, and i didn't sneak in anything new by accident. ;)
If you missed the 0.51 release, here are the release notes again:
http://forum.doom9.org/showthread.php?p=1581869#post1581869
CiNcH
10th July 2012, 17:22
I hope this fixes all issues that were encountered in DVB Viewer with DXVA, and i didn't sneak in anything new by accident.
Don't worry, we'll keep an eye on that :p .
kitame
10th July 2012, 17:23
=x reflagging the files ruined ordered chapters when chapters are external, i mean some of the videos i have had their OP/ED drawn externally. so its a no-no for me =/
edit: or the file's ordered chapters were already destroyed, bah.
nevcairiel
10th July 2012, 17:44
=x reflagging the files ruined ordered chapters when chapters are external, i mean some of the videos i have had their OP/ED drawn externally. so its a no-no for me =/
edit: or the file's ordered chapters were already destroyed, bah.
Ordered Chapters don't work with LAV anyway. :p
kitame
10th July 2012, 18:03
it does most of the time tho, most of the videos with ordered chapters seems to be working as intended =/ well i'll just observe it for the time being.
Edit: anyway LAVs is becoming more interesting, all thats missing for me is those few features like fool proof subs rules and support for ordered chapters and such.
cegy
10th July 2012, 18:03
i've also noticed using http://files.1f0.de/lavf/LAVFilters-0.51-dxvatest3.zip or 0.51 both give the video a odd stuttering whiles viewing (this is with out any hw i.e using the cpu to decode with and yes the cpu can decode fine with the older version like 0.50) its like something as changed :/
i forget to say this only happens with hd channel which is use h264
Pat357
10th July 2012, 19:00
yeah i'll do that, tho any clue whats a good program for a proper reflag? i'll set them to hearing impaired since thats the only rule thats unique =)
See http://jmkvpropedit.googlecode.com/
JMKVpropedit is a GUI for MKVpropedit : very easy to use and can process lot's of MKV's at the same time.
Pat357
10th July 2012, 19:34
Sorry, I did not mean to imply that mixing would only work with Blu-ray. I meant that since I cannot get LAV Filters above 0.50.1 to play back DVDs, I cannot test anything else.
Try this MPEG decoder : http://gplmpgdec.sourceforge.net/
It works for me to playback DVD's with MadVR as renderer.
see : http://www.mediafire.com/?dhwk5gfhh33dtqm (full size)
or http://www.mediafire.com/i/?dhwk5gfhh33dtqm (smaller image)
The trick is to check "remember DVD position" (Options -> player) and start the playback with EVR/EVR-CP.
While playing, change the renderer to MadVR and restart the player.
Now the DVD will play with MadVR !
PS : let me know if this works for you !
6233638
10th July 2012, 19:59
Try this MPEG decoder : http://gplmpgdec.sourceforge.net/
It works for me to playback DVD's with MadVR as renderer.
see : http://www.mediafire.com/?dhwk5gfhh33dtqm (full size)
or http://www.mediafire.com/i/?dhwk5gfhh33dtqm (smaller image)
The trick is to check "remember DVD position" (Options -> player) and start the playback with EVR/EVR-CP.
While playing, change the renderer to MadVR and restart the player.
Now the DVD will play with MadVR !
Thank you. What I actually did was switch to dslibdvdnav 0.2.4 (http://sourceforge.net/projects/dslibdvdnav/files/) and that seems to be working correctly with ffdshow decoding. I had avoided this because I thought it required replacing system DLLs, but what it actually does is change a registry key to point to the new DLL, which I'm much happier doing.
And for whoever was asking about disabling output formats so that LAV Audio would only output 32-bit Float when downmixing, it does that automatically, there's no need to disable anything.
glith
10th July 2012, 20:09
If you insist, there is a donation button on the google project page: http://code.google.com/p/lavfilters/
Maybe Flattr would be an option too Nev? Not everyone likes Paypal. :P
http://flattr.com/
iSunrise
10th July 2012, 20:13
And for whoever was asking about disabling output formats so that LAV Audio would only output 32-bit Float when downmixing, it does that automatically, there's no need to disable anything.
That´s not true for every codec though, e.x. with FLAC audio LAV audio will always decode to 16bit integer if you have everything checked. This can only be avoided if you exclusively enable 32bit float (or other options, you might like). Not sure if this is intended or not (source format shown on the status tab is 24bit integer), but I encountered this today while I changed my setup over from Potplayer´s internal audio filters and post-processing to LAV audio.
aufkrawall
10th July 2012, 20:16
Converting YCgCo to RGB doesn't work right.
YCgCo converted to RGB by madVR:
http://www.ld-host.de/uploads/thumbnails/2c59643a3f5ccf0e356a5bcd0948eca3.png (http://www.ld-host.de/show/2c59643a3f5ccf0e356a5bcd0948eca3.png)
YCgCo converted to RGB by LAV:
http://www.ld-host.de/uploads/thumbnails/6b05090ac70e93fae1323cd2dfba0920.png (http://www.ld-host.de/show/6b05090ac70e93fae1323cd2dfba0920.png)
Sample:
http://www.mediafire.com/?o88h5mkkl5y519m
6233638
10th July 2012, 20:27
That´s not true for every codec though, e.x. with FLAC audio LAV audio will always decode to 16bit integer if you have everything checked. This can only be avoided if you exclusively enable 32bit float (or other options, you might like). Not sure if this is intended or not (source format shown on the status tab is 24bit integer), but I encountered this today while I changed my setup over from Potplayer´s internal audio filters and post-processing to LAV audio.It looks like this is a bug in LAV Audio's handling of FLAC files in general.
With a Stereo FLAC file, it is always output at 16-bit Integer even if the source is 24-bit, whether you are downmixing or not.
Multichannel FLAC files are handled correctly when downmixing, but are output as 16-bit integer if you are not.
nevcairiel
10th July 2012, 20:36
It looks like this is a bug in LAV Audio's handling of FLAC files in general.
With a Stereo FLAC file, it is always output at 16-bit Integer even if the source is 24-bit, whether you are downmixing or not.
Are you sure the files are really 24-bit?
There is a small bug that causes LAV Audio to show 24-bit as decode format on 16-bit files because of changes in ffmpegs flac decoder (only a minor display issue). I shall go and find a real 24-bit file now.
And yes, downmixing will always result in 32-bit float, because the mixer works in float. You can force it to do a conversion afterwards by disabling 32-bit float output, but i do not recommend it.
Edit:
Found a real 24bit FLAC file, and it output as 24-bit.
nevcairiel
10th July 2012, 20:46
Converting YCgCo to RGB doesn't work right.
How odd, looks like a small chroma shift, wonder how that happend on 4:4:4 material.
Oh, i think i know. I'll look.
Keiyakusha
10th July 2012, 20:50
wait, LAV supports YCgCo? Maybe its time to start using it then...
6233638
10th July 2012, 20:55
Are you sure the files are really 24-bit?
There is a small bug that causes LAV Audio to show 24-bit as decode format on 16-bit files because of changes in ffmpegs flac decoder (only a minor display issue). I shall go and find a real 24-bit file now.
Edit:
Found a real 24bit FLAC file, and it output as 24-bit.You're right, I assumed LAV Audio was reading the source bit-depth correctl, but the files I tested were indeed 16-bit. With a 24-bit source, it does output 24-bit correctly. (or 32-bit Float when downmixing)
nevcairiel
10th July 2012, 21:05
You're right, I assumed LAV Audio was reading the source bit-depth correctl
Well it does, it just fails at displaying it :)
iSunrise
10th July 2012, 21:17
Well it does, it just fails at displaying it :)
Man, that´s very confusing. Thanks for clarifying!
nevcairiel
10th July 2012, 21:19
Converting YCgCo to RGB doesn't work right.
Fixed, sometimes this SSE2 code can be so confusing. All better now.
Funny story this YCgCo, its the only code path that has no proper fallback on CPUs that are not SSE2 capable .. but well, screw them. :)
CiNcH
10th July 2012, 21:33
I recognized another regression in LAV Video 0.51.1 (vs. 0.50.5) (DXVA2 native). Using DVBViewer and its EVR Custom Presenter, MPEG-2 576i source material is played back with a 20ms jitter. When having a closer look at the image, one may recognize that the field order is swapped.
cegy
10th July 2012, 21:44
I recognized another regression in LAV Video 0.51.1 (vs. 0.50.5) (DXVA2 native). Using DVBViewer and its EVR Custom Presenter, MPEG-2 576i source material is played back with a 20ms jitter. When having a closer look at the image, one may recognize that the field order is swapped.
does this also happen with hd 1080i ? as it does with me with when using the cpu to decode so it makes you wonder if its ffmpeg at fault ? maybe a bug ?
RealSnoopyDog
10th July 2012, 21:52
Thank you for version 0.51.1 nev :) I don't have any problems with this version on my HTPC (Windows 7 - 32 / ATI 6670) Zapping in DVBViewer goes noticeable faster than with version 0.50.5 ! I checked this several times.
On my laptop (Windows 7 - 64 / nVidia 560) i still have this delay until the image appears after a format change, but ok - i can change configuration in DVBViewer.
nussman
10th July 2012, 21:53
I recognized another regression in LAV Video 0.51.1 (vs. 0.50.5) (DXVA2 native). Using DVBViewer and its EVR Custom Presenter, MPEG-2 576i source material is played back with a 20ms jitter. When having a closer look at the image, one may recognize that the field order is swapped.
Same here.
does this also happen with hd 1080i ? as it does with me with when using the cpu to decode so it makes you wonder if its ffmpeg at fault ? maybe a bug ?
No it only happens with MPEG-2 576i source (DVBViewer + custom evr).
nevcairiel
10th July 2012, 21:53
I recognized another regression in LAV Video 0.51.1 (vs. 0.50.5) (DXVA2 native). Using DVBViewer and its EVR Custom Presenter, MPEG-2 576i source material is played back with a 20ms jitter. When having a closer look at the image, one may recognize that the field order is swapped.
I doubt there was a wrong field order, when the field order is wrong you can definitely see it, its a quite obvious problem, no closer looks required.
I did however find another small problems with timestamping of the frames, and the jitter is now again 0-1 in the EVR statistics.
You can try with this:
http://files.1f0.de/lavf/LAVFilters-0.51.1-4-g3854899.zip
@everyone else:
This also includes all fixes mentioned in the previous posts, so if you want to try, go ahead.
nussman
10th July 2012, 22:04
Your fix works fine. Thanks nev
CiNcH
10th July 2012, 22:05
I doubt there was a wrong field order, when the field order is wrong you can definitely see it
Oh I could definately see it ;) . Especially at static channel logos.
Thank you for version 0.51.1 nev :) I don't have any problems with this version on my HTPC (Windows 7 - 32 / ATI 6670) Zapping in DVBViewer goes noticeable faster than with version 0.50.5 ! I checked this several times.
On my laptop (Windows 7 - 64 / nVidia 560) i still have this delay until the image appears after a format change, but ok - i can change configuration in DVBViewer.
Hmm, that's strange. I am also not experiencing any delays when switching from 1080i channels to 720p channels on my AMD HD6570 based system...
All I can say is that when "pre-format detection" is disabled, the DVBViewer builds a graph without having the DVBSource filter parse the video stream. So it propagates some default values via the video pin. The DVBViewer assumes that the video decoder has to parse this information from the stream anyway and therefore avoids the additional waiting time.
Keep in mind that file playback in DVBViewer always uses pre-format detection. Disabling this option is only to optimize channel switching time for live TV sources.
CiNcH
10th July 2012, 22:44
Something else I recognized when switching between H.264 HD channels is that I sometimes get pixelation for a split-second. Looks like a random access problem. What the DVBSource does is split the ES data in 8K chunks and hand them over to the downstream filter. It does not cut at NALU borders and the like and knows nothing about frames. So maybe LAV does not propagate a complete NALU to the DXVA decoder at the beginning or something.
kypec
11th July 2012, 05:53
hmm, gotta take note of that, if i type o in this forum it'll become like this *:off
That's because you forgot to check "Disable smilies in text" option :sly:
http://i49.tinypic.com/1zgxf9t.jpg
nevcairiel
11th July 2012, 06:43
Something else I recognized when switching between H.264 HD channels is that I sometimes get pixelation for a split-second. Looks like a random access problem. What the DVBSource does is split the ES data in 8K chunks and hand them over to the downstream filter. It does not cut at NALU borders and the like and knows nothing about frames. So maybe LAV does not propagate a complete NALU to the DXVA decoder at the beginning or something.
Incomplete NALUs are never send to the decoder, the GPU driver would most likely crash if you try that. :d
Its probably caused by missing reference frames. Especially with H.264 its not always trivial to determine if a frame is corruption free already, so short of writing the full complex logic to figure this out, i opted to show frames a bit earlier then waiting potentially too long. The alternative would be seeing black for longer, which i don't think is that great of an experience either (especially because the frames could be free of corruption, its just not certain)
CiNcH
11th July 2012, 07:24
Its probably caused by missing reference frames. Especially with H.264 its not always trivial to determine if a frame is corruption free already, so short of writing the full complex logic to figure this out, i opted to show frames a bit earlier then waiting potentially too long. The alternative would be seeing black for longer, which i don't think is that great of an experience either.
OK, sold me on that ;) .
Next thing I am going to look at is the A/V synchrony problem with certain live TV stations. SPORT1 HD is pretty problematic for me and I yet couldn't figure out why. Sometimes everything is fine and sometime A/V is out of sync by few 100ms.
Vasilich
11th July 2012, 10:04
Hi nevcariel,
Thanks for your LAV filters.
I have some problems/suggestions though:
I use MediaPortal that plays videos and shows LiveTV. It is installed on dedicated HTPC with ION 330 (CPU: 2x Intel Atom core@1.6GHz, GPU: nVidia ION (~GeForce 9400) = Core C79, VP3, Feature set B).
I have some movies that have dimensions 1024*5xx. I cannot play these movies using DXVA mode because according to wiki (http://en.wikipedia.org/wiki/Nvidia_PureVideo) my graphic card doesn’t support DXVA for those dimensions:
Note that all Feature Set B hardware cannot decode H.264 for the following widths: 769-784, 849-864, 929-944, 1009-1024, 1793-1808, 1873-1888, 1953-1968, 2033-2048 pixels.
It can be played though with LAV configured to use CUDA. I cannot set LAV to use CUDA because i will get problems with LiveTV - no idea why, but LAV for LiveTV works quite good and without framedrops only with DXVA.
Set decoding to software mode is also not an option for me because my system is not very powerful.
So I need any advice how to proceed at best.
Suggestion: is it possible to define default fallback mode for those cases when current video isn’t supported by DXVA if it is set as default decoding mode? In that case all will be played with DXVA, except some movies my graphic card doesn’t support acceleration for, and for those movies fall back to CUDA.
nevcairiel
11th July 2012, 10:10
What happens today on such files? Does it just fail decoding (produce a black screen), or does it already properly fallback to software?
Vasilich
11th July 2012, 10:19
i get kinda messagebox in MediaPortal - "impossible to play file".
in GraphStudio it just does nothing - no mesages, no warnings, no preview window - just doesn't start to play at all.
So i assume it doesn't fallback to SW
RealSnoopyDog
11th July 2012, 10:55
Hmm, that's strange. I am also not experiencing any delays when switching from 1080i channels to 720p channels on my AMD HD6570 based system...
Yes, it happens only with nVidia.
CiNcH
11th July 2012, 11:40
Yes, it happens only with nVidia.
And this startet with 0.51? Do you use DXVA or CUDA?
aufkrawall
11th July 2012, 11:46
Fixed, sometimes this SSE2 code can be so confusing. All better now.
Funny story this YCgCo, its the only code path that has no proper fallback on CPUs that are not SSE2 capable .. but well, screw them. :)
It looks right now but it's still not lossless. :(
Can't say if it's LAV or the YCgCo Avisynth plugin, of course. :o
nevcairiel
11th July 2012, 11:58
For lossless storage of a 8-bit RGB source, you need to store YCgCo as 9-bit, iirc.
Idealy, 8-bit Luma and 9-bit Croma planes, but neither x264 nor ffmpeg support different chroma bitdepth (and LAV would choke on it too if its added one day)
kitame
11th July 2012, 12:04
That's because you forgot to check "Disable smilies in text" option :sly:
http://i49.tinypic.com/1zgxf9t.jpg
does it work with quick post tho? i usually use that instead.
aufkrawall
11th July 2012, 12:24
For lossless storage of a 8-bit RGB source, you need to store YCgCo as 9-bit, iirc.
Idealy, 8-bit Luma and 9-bit Croma planes, but neither x264 nor ffmpeg support different chroma bitdepth (and LAV would choke on it too if its added one day)
I'm sure you could make it work then. :D
Isn't it a nice idea to get rid of RGB without losing quality? :(
nevcairiel
11th July 2012, 12:29
Whats wrong with RGB?
Does a 4:4:4 YCgCo compress so much better then planar RGB that its worth all the trouble?
aufkrawall
11th July 2012, 12:54
Whats wrong with RGB?
Does a 4:4:4 YCgCo compress so much better then planar RGB that its worth all the trouble?
Hm, should be pretty much the same like when converting to YCbCr I444, or not?
If yes, imho that's quite a remarkable compression gain for a lossless conversion.
nevcairiel
11th July 2012, 13:04
It should compress even better then ordinary YCbCr, in theory anyway.
The proper/lossless way to handle YCoCg is however documented everywhere to use 8-bit Y and 9-bit Co/Cg, which is not supported by encoders/decoders yet. ;)
hayan
11th July 2012, 13:24
LAV MKV Splitter
http://thumbsnap.com/i/bAoUnJLe.png
MPC-HC internal Splitter
http://thumbsnap.com/i/1B0guWkC.png
LAV Filters 0.51.1
Frame rate 23.976fps
MPC-HC r5417, EVR CP/EVR Sync
PS:LAV Filters 0.50.5 no problem
nevcairiel
11th July 2012, 13:37
@hayan:
You need to provide a sample or at least some detail about the file you're trying to play (a sample with which the problem can be reproduced will greatly help to identify potential problems)
Also, please try with this version:
http://files.1f0.de/lavf/LAVFilters-0.51.1-4-g3854899.zip
Pat357
11th July 2012, 16:03
Whats wrong with RGB?
Does a 4:4:4 YCgCo compress so much better then planar RGB that its worth all the trouble?
Storing in RGB sucks, because interlaced content must be deinterlaced before storing in RGB : MadVR chokes if you feed it interlaced content and select only RGB32 in Lav-video.
You'll get a black screen and sometimes the audio starts playing, but no video.
Interlaced YCgCo can be stored without deinterlacing first : on viewing the content, just let MadVR deinterlace it !
nevcairiel
11th July 2012, 16:40
Interlacing is a thing of the ancient past, it can stay in YUV for all i care. Anyone that produces modern content in an interlaced format is doing it wrong.
There are also much better deinterlacing algorithms then what your GPU can do, they are just too slow for real-time use, so if you have an interlaced source, might as well deinterlace it properly if you want to re-encode it anyway.
If source is RGB, and display is in RGB, storing it in anything else in between is just useless conversion. :p
kasper93
11th July 2012, 16:50
Thank you. What I actually did was switch to dslibdvdnav 0.2.4 (http://sourceforge.net/projects/dslibdvdnav/files/) and that seems to be working correctly with ffdshow decoding. I had avoided this because I thought it required replacing system DLLs, but what it actually does is change a registry key to point to the new DLL, which I'm much happier doing.
Do you know which reg key/s it change? Because I want to do it manually, I don't trust any .exe which change unknown things...
Ok, I figured it out. HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{9B8C4620-2C1A-11D0-8493-00A02438AD48}\InprocServer32 but many DVD has black screen in menu and on some I need to reselect audio, because it isn't connected automatically. Anyway it works ;p
v0lt
11th July 2012, 18:41
LAV Audio
...
- Audio Down-Mixing support
Cool! Thank you. :)
n3w813
11th July 2012, 22:01
Cool! Thank you. :)
Yes, thanks a bunch for the audio downmix support. I no longer need ffdshow just for this. :D
:thanks:
ikarad
11th July 2012, 23:12
With lav splitter 0.51.1 (same problem with 0.37), I can't open playlist file (mpls) of bluray, is it normal?
In this site, lav filter must open mpls file
http://www.free-codecs.com/download/LAVFSplitter.htm
- BluRay Support:
Support for opening BluRay playlists (.mpls), as well as the index.bdmv file, which will try to detect the main movie playlist!
BluRay support is still in an early stage, and there are still many improvements and new features planned!]
With mpc splitter, I can open playlist file.
6233638
11th July 2012, 23:32
With lav splitter 0.51.1 (same problem with 0.37), I can't open playlist file (mpls) of bluray, is it normal?Works fine here.
ikarad
11th July 2012, 23:54
Works fine here.
Not with me. It doesn't work. MPC-HC say : "cannot render the file" if I open mpls ou bdmv file. With m2ts file, it works. I try many blu-rays and same problem.
If I use mpc internal splitter, I can use mpls and bdmv file.
I use win 7.
I tried with differents versions of mpc-hc, with or without ffdshow, with or without madvr but same problem.
nevcairiel
12th July 2012, 05:56
Reinstall LAV using the installer, its the only way that will guarantee what file associations are setup properly.
Sebastiii
12th July 2012, 06:10
@Ikarad :
Yep surely something is wrong (maybe old setting in registry)
mpls working fine here too.
did you try to open manually .mpls inside graphstudio with lav splitter source and then add all filter and connect them ?
Also you should try if you can on another PC or on vm :)
ikarad
12th July 2012, 08:37
I solved the mistake. I had blocked lav splitter source in mpc-hc. lav Splitter worked (lav splitter was "in prefer" mode) but not playlist.
kypec
12th July 2012, 08:56
does it work with quick post tho? i usually use that instead.
Nope, because this option is not available in Quick Reply mode which means you have to use Advanced mode.
Aurora13
12th July 2012, 09:42
Hi nevcairiel,
I have an 5.0 setup, is it possible to add this setup to the Mixing options?
And if so, do I need to set the LFE Mix Level setting then?
:thanks:
Greets
Sebastiii
12th July 2012, 11:28
I solved the mistake. I had blocked lav splitter source in mpc-hc. lav Splitter worked (lav splitter was "in prefer" mode) but not playlist.
So it's ok now ? :)
Yes mpls/bdmv must use "Lav Splitter Source" :P
hubblec4
12th July 2012, 13:52
hi nev
any news of the support for "ordered chapters" and the tray-icon issues?
nevcairiel
12th July 2012, 13:54
If there was, you would read about it here.
hubblec4
12th July 2012, 13:58
yes i cant read here about it, but i hope you have started with this two new features maybe?
cegy
12th July 2012, 18:20
I doubt there was a wrong field order, when the field order is wrong you can definitely see it, its a quite obvious problem, no closer looks required.
I did however find another small problems with timestamping of the frames, and the jitter is now again 0-1 in the EVR statistics.
You can try with this:
http://files.1f0.de/lavf/LAVFilters-0.51.1-4-g3854899.zip
@everyone else:
This also includes all fixes mentioned in the previous posts, so if you want to try, go ahead.
am not sure what the problem or cause it but with using both this git version and the test before. they both give me the same problem i had to take a screen shot to make it easier for you know what the problem is. the problem happens on the live broadcasts as you can see in this pic the fps changes from 50 fps to higher fps whiles causing some jitter. this seems to be like a spike when it happens i am not using dxva or nothing at all just using the cpu to decode
http://i.imgur.com/1935W.png
ikarad
12th July 2012, 18:43
So it's ok now ? :)
Yes mpls/bdmv must use "Lav Splitter Source" :P
It's ok. I didn't know that lav splitter source was necessary.
Andy o
12th July 2012, 21:43
One question I have is though, when a DTS-HD MA track (e.x. 5.1, 6.1 or 7.1) plays and I have my receiver on DPLII+THX, am I supposed to enable matrix encoding for Dolby Pro Logic II? Cause I can´t really hear any difference if I set the option to "none" or "Dolby ProLogic II".
I don't think it's doing anything. From what I'm understanding of the DPLII function in LAV is to encode, not decode, which means it will encode 5.1 into stereo, presumably later to be decoded by a DPLII decoder into 5 channels again (I don't think DPLII decodes an LFE channel, FWIW).
What your receiver is probably doing is applying DPLIIx, which means it's upmixing 5.1 and 6.1 content into the 7.1 configuration of speakers you have. This doesn't apply when the source is 7.1. Are you bitstreaming DTS-HD when this happens, btw? My receiver can't upmix 5.1 to 7.1 with DPLIIx when using DTS formats, so I have to decode to LPCM, which is just as well, cause I use ReClock.
nevcairiel
12th July 2012, 22:12
am not sure what the problem or cause it but with using both this git version and the test before. they both give me the same problem i had to take a screen shot to make it easier for you know what the problem is. the problem happens on the live broadcasts as you can see in this pic the fps changes from 50 fps to higher fps whiles causing some jitter. this seems to be like a spike when it happens i am not using dxva or nothing at all just using the cpu to decode
Please try these two versions. The first fixes another (potential) problem with timestamps, and the second changes the behaviour of the H264 decoder slightly (back to how 0.50 worked), even though i'm not sure that could've been the cause.
If neither of these do it, i don't know really what has changed since 0.50, other then maybe something in the decoder itself which came from upstream, but finding that without being able to reproduce any problems won't be easy.
First:
http://files.1f0.de/lavf/LAVFilters-0.51.1-dvbtest1.zip
Second:
http://files.1f0.de/lavf/LAVFilters-0.51.1-dvbtest2.zip
cegy
13th July 2012, 01:36
Please try these two versions. The first fixes another (potential) problem with timestamps, and the second changes the behaviour of the H264 decoder slightly (back to how 0.50 worked), even though i'm not sure that could've been the cause.
If neither of these do it, i don't know really what has changed since 0.50, other then maybe something in the decoder itself which came from upstream, but finding that without being able to reproduce any problems won't be easy.
First:
http://files.1f0.de/lavf/LAVFilters-0.51.1-dvbtest1.zip
Second:
http://files.1f0.de/lavf/LAVFilters-0.51.1-dvbtest2.zip
just done a quick test before i go to bed it seems test2 works alot more better at higher bitrate of like ~17-20mbit where as test1 it still gives the stutter (about 15-20ms jitter). i'll look into this in the morning and update you, i just hope this will help you
JarrettH
13th July 2012, 02:54
6233638
What have you done to solve the DVD macrovision problem? I installed 0.51 tonight with the same problem. Do you think it's related to AnyDVD after 0.50.1? LAV Video isn't loaded at all so is it something in the audio? This is really frustrating :devil: Maybe it's not related to LAV at all. I just blocked all LAV in filters and get the same error...will look online for AnyDVD + MPC problems...
using ffdshow 4453 and mpc 1.6.2 4902
trying ffdshow 4466 and mpc 5436...same result
Is there something we can look into that changed after 0.50.1 nev?
blaster00
13th July 2012, 03:59
I'm using mpc audio render, but lav audio decoder output is 16 bit integer. If I choose 32bit ingeger and float output in lav, the audio render will auto switch to directsound. So I had to choose 32 bit integer only.
mpc-hc and lav are both up to date (nightly) x64.
reclock does not support x64, so mpc audio render seems to be the only way for wsapi.
is there anyone interested in writing a audio render?
FlashGordon
13th July 2012, 07:18
Jarrett: I'm also having the same problem. Installed 51.1 with LAV Audio present in the filter list and I get the macrovision error with DVDs. Roll back to 50.1 and no problem.
nevcairiel
13th July 2012, 07:23
Is there something we can look into that changed after 0.50.1 nev?
Nothing changed. Look at the diffs from 0.50.1 to 0.50.2, changes to LAV Audio are rather simple, and completely in internal decoder behaviour (most affect the jitter protection code, which shouldn't even take any action on DVDs)
If some filter works or doesn't work with DVD seems to be purely random magic, there is no conclusive facts indicating anything else. Which is why i just don't care.
Not to mention that it still works for me, at least did with 0.50.5, i didn't bother testing again afterwards.
(Before anyone asks, trivial setup with MPC-HC, AnyDVD HD, LAV Audio, ffdshow video, madVR and DirectSound, don't remember if i also tested with ReClock)
patul
13th July 2012, 08:20
Nev,
I'm unable to play DVD from MPC HC Open DVD using LAV Video Decoder. The DVD Navigator says it can not find any connectible filters on the video pin. I've rechecked my installation by:
a. manually register LAVVideo.ax, (MEDIATYPE_DVD_ENCRYPTED_PACK is NOT listed as supported media type by default, manual add didn't solve the problem)
b. installer (MEDIATYPE_DVD_ENCRYPTED_PACK is NOT listed as supported media type by default, manual add didn't solve the problem) same result.
WinXP SP3, qdvd.dll version 6.5.2600.6169. Am I miss something?
nevcairiel
13th July 2012, 08:21
LAV Video does not yet support DVD Video decoding with the DVD Navigator.
The complicated part here is that a decoder which handles DVD Video also needs to handle the DVD subtitles, otherwise the playback will freeze. Even adding a post-processing filter which adds the subtitles on top afterwards doesn't work, the Decoder needs to accept the subtitles in a DVD scenario.
patul
13th July 2012, 08:48
Oh.. my fault. I misunderstood information from this thread, somebody asked you about MEDIATYPE_DVD_ENCRYPTED_PACK for DVD Audio somewhere in this thread, I was under impression that it was DVD Video instead. Sorry
:thanks:
nevcairiel
13th July 2012, 09:14
i'll look into this in the morning and update you, i just hope this will help you
Any testing on issues which i cannot reproduce myself is appreciated. Well, you want it fixed more then me, i guess. :)
Let me know if it fixes the problem for good, then i'll commit it and probably put out a new release on the weekend with all fixes from this week.
FlashGordon
13th July 2012, 10:07
I just fixed the macrovision error I was getting with DVDs. It's not related to LAV at all. First, since the newest LAV audio comes with downmixing, I removed ffdshow audio processor from my filter list and doing this gives me a macrovision error. When I pass the audio through ffdshow for mixing, I got no error. Now, how I got around the error with madvr in the first place was replacing the qdvd.dll. It looks like Windows Update changes the qdvd.dll from time to time. What I did was just simply switch it out again. Or as 6233638 mentioned a few pages back, you can opt for dslibdvdnav.
Thanks Nev for the downmixing btw
BatKnight
13th July 2012, 10:21
I just fixed the macrovision error I was getting with DVDs. It's not related to LAV at all. First, since the newest LAV audio comes with downmixing, I removed ffdshow audio processor from my filter list and doing this gives me a macrovision error. When I pass the audio through ffdshow for mixing, I got no error. Now, how I got around the error with madvr in the first place was replacing the qdvd.dll. It looks like Windows Update changes the qdvd.dll from time to time. What I did was just simply switch it out again. Or as 6233638 mentioned a few pages back, you can opt for dslibdvdnav.
Thanks Nev for the downmixing btw
If all it takes is to use ffdshow do decode audio, when using LAV + madVR to watch DVD, wouldn't it possible to implement in LAV audio whatever it is that ffdshow does? Or is it unknown?
Bat
FlashGordon
13th July 2012, 12:19
No idea. I was still using LAV to decode audio, but I was using ffdshow audio processor for mixing. Same video decoder for both instances (ffdshow). No clue why adding a post-processor for downmixing would get around the macrovision error when all the other filters remained the same.
JarrettH
13th July 2012, 15:38
I just fixed the macrovision error I was getting with DVDs. It's not related to LAV at all. First, since the newest LAV audio comes with downmixing, I removed ffdshow audio processor from my filter list and doing this gives me a macrovision error. When I pass the audio through ffdshow for mixing, I got no error. Now, how I got around the error with madvr in the first place was replacing the qdvd.dll. It looks like Windows Update changes the qdvd.dll from time to time. What I did was just simply switch it out again. Or as 6233638 mentioned a few pages back, you can opt for dslibdvdnav.
Thanks Nev for the downmixing btw
Is the audio processor for uncompressed only? I'll try what you said...
dslibdvdnav looks extremely unreliably from what I've read still and no development this year
takenori
13th July 2012, 16:15
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 2.37 GiB
Duration : 2h 14mn
Overall bit rate mode : Variable
Overall bit rate : 2 523 Kbps
Encoded date : UTC 2012-03-30 01:47:09
Tagged date : UTC 2012-03-30 04:22:39
Writing application : HandBrake 0.9.6 2012022800
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.0
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 2h 14mn
Bit rate mode : Variable
Bit rate : 2 358 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 16:9
Original display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 29.970 fps
Minimum frame rate : 26.930 fps
Maximum frame rate : 172.414 fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.228
Stream size : 2.22 GiB (93%)
Writing library : x264 core 120
Encoding settings : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=2 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=2 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=300 / keyint_min=30 / scenecut=40 / intra_refresh=0 / rc_lookahead=10 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=3 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 2012-03-30 01:47:09
Tagged date : UTC 2012-03-30 04:22:39
Color primaries : BT.601-6 525, BT.1358 525, BT.1700 NTSC, SMPTE 170M
Transfer characteristics : BT.709-5, BT.1361
Matrix coefficients : BT.601-6 525, BT.1358 525, BT.1700 NTSC, SMPTE 170M
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2h 14mn
Bit rate mode : Variable
Bit rate : 160 Kbps
Maximum bit rate : 202 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Delay relative to video : -67ms
Stream size : 154 MiB (6%)
Language : Japanese
Encoded date : UTC 2012-03-30 01:47:09
Tagged date : UTC 2012-03-30 04:22:39
Text
ID : 3
Format : Apple text
Codec ID : text
Duration : 2h 14mn
Bit rate mode : Variable
Bit rate : 1 bps
Stream size : 639 Bytes (0%)
Encoded date : UTC 2012-03-30 01:47:09
Tagged date : UTC 2012-03-30 04:22:39
cant read chapter within m4v video.
read them just fine with 50.5, though.
cegy
13th July 2012, 17:52
Any testing on issues which i cannot reproduce myself is appreciated. Well, you want it fixed more then me, i guess. :)
Let me know if it fixes the problem for good, then i'll commit it and probably put out a new release on the weekend with all fixes from this week.
http://files.1f0.de/lavf/LAVFilters-0.51.1-dvbtest2.zip
just want to let you know that whatever it is that you changed in test2 it sure fixed the video stuttering due to the higher fps and high jitter am not sure how this could even happen at a higher bitrate :S any ideas why this might be ?
nevcairiel
13th July 2012, 18:06
just want to let you know that whatever it is that you changed in test2 it sure fixed the video stuttering due to the higher fps and high jitter am not sure how this could even happen at a higher bitrate :S any ideas why this might be ?
I might have understood if it happened all the time, but oh well, as long as it works.
JarrettH
13th July 2012, 21:04
When you downmix to stereo in LAV is that 2.0 or 2.1? If it's 2.0, does the LFE mix level slider have any effect? I have a 2.1 setup in the other room :thanks:
mr.duck
13th July 2012, 21:21
When you downmix to stereo in LAV is that 2.0 or 2.1? If it's 2.0, does the LFE mix level slider have any effect? I have a 2.1 setup in the other room :thanks:
With a 3 audio channels outputted from your soundcard? I doubt it.
PPPPark
14th July 2012, 10:25
hi.LAV Filters 0.51.1
i use SPDIF bitstreaming DTS-HD,TrueHD,lav audio does not work, DTS, AC3 is oK. ffdshow also the same~
but i use PotPlayer bitstreaming DTS-HD,TrueHD,DTS, AC3.all ok in SPDIF,How it is done?
SeeMoreDigital
14th July 2012, 10:32
hi.LAV Filters 0.51.1
i use SPDIF bitstreaming DTS-HD,TrueHD,lav audio does not work, DTS, AC3 is oK. ffdshow also the same~
but i use PotPlayer bitstreaming DTS-HD,TrueHD,DTS, AC3.all ok in SPDIF,How it is done?
Obviously you can't pass the "full" HD audio bit-stream via SPDIF. So, are you not able to pass the "core" bit-stream audio via SPDIF?
PPPPark
14th July 2012, 13:10
Obviously you can't pass the "full" HD audio bit-stream via SPDIF. So, are you not able to pass the "core" bit-stream audio via SPDIF?
spdif can not output HD audio-CORE
Andy o
14th July 2012, 15:49
If I'm not mistaken for TrueHD LAV splitter (or is it the decoder?) separates the included DD interleaved audio into another separate track, so you should be able to select it and bitstream it.
Portioli
14th July 2012, 19:53
If I'm not mistaken for TrueHD LAV splitter (or is it the decoder?) separates the included DD interleaved audio into another separate track, so you should be able to select it and bitstream it.
I know this is out of topic, as long as there is no TrueHD core track, how we manage to bitstream an ac3 track or even downmix it for analog outputs ?
thanks in advance
dansrfe
14th July 2012, 20:41
Three questions:
1. What exactly is File Source (Async) and why does it show up in the filter chain some times but not others?
2. Does LAV Splitter pull data from the disc (through memory) in an async fashion as well?
3. If I'm primarily playing movie files from a network drive over 100mbit ethernet then what are some ways to make sure that data isn't waiting in the buffer and isn't starting more stagnant threads in memory? Does File Source (Async) or LAV Splitter already take care of that? Is there a Windows related setting that I should change?
nevcairiel
14th July 2012, 20:54
1. What exactly is File Source (Async) and why does it show up in the filter chain some times but not others?
http://msdn.microsoft.com/en-us/library/windows/desktop/dd375641(v=vs.85).aspx
Its Microsofts filter for reading files from discs.
A Splitter filter can work in two different ways, either it reads the file itself (usually called a "Source" filter), or something else reads it - for files thats the File Source (Async). LAV supports both modes, it can read the file itself ("LAV Splitter Source"), or in combination with another source filter, like File Source (Async) (plain "LAV Splitter")
The funny thing about that is that LAV only calls the Synchronous reading functions of the IAsyncReader Interface, despite it being called Async :p
2. Does LAV Splitter pull data from the disc (through memory) in an async fashion as well?
LAV Splitter uses 1+x threads, where x is the number of output pins (>= 1).
One thread performs all file reading and demuxing and puts it into a queue, and the "x" threads then read the queue and push it through the pins.
File I/O itself is using synchronous/blocking calls though, because there is no advantage in non-blocking I/O when you have a dedicated thread for reading (and only added complexity). So in a sense, its asynchronous, because the pin threads don't have to block for the reading operation, they just take the data thats been queued up in another thread.
3. If I'm primarily playing movie files from a network drive over 100mbit ethernet then what are some ways to make sure that data isn't waiting in the buffer and isn't starting more stagnant threads in memory? Does File Source (Async) or LAV Splitter already take care of that? Is there a Windows related setting that I should change?
Like i explained above, there is one thread that performs all reading operations, no other threads are started for that purpose.
It is already one of the efficient ways to design such interactions, and from what i've seen also the standard among other source filters.
egur
14th July 2012, 22:13
Hi Nev,
While trying to solve an issue I stumbled on a difference between LAV splitter, Gabest/MPC splitter and Haali in this file (http://www.mediafire.com/?rc67i95moe3r88t). It's an H264 transport stream.
For some reason the Media SDK stopped recognizing/decoding the H264 header in recent drivers so I took a deeper look.
MPC splitter and Haali on the other hand works, so I compared the sequence headers (these are complete headers):
MPC splitter header:
00 15 67 4d 40 28 9a 62 //SPS - 21B
80 a0 0b 76 02 20 00 00
03 00 20 00 00 0c 92 00 //PPS - 3B
03 68 ee 3c
LAV 0.51.1 splitter header:
00 16 67 4d 40 28 9a 62 //SPS - 22B
80 a0 0b 76 02 20 00 00
03 00 20 00 00 0c 92 80 // 1 byte longer, no PPS
Haali splitter
00 1a 27 4d 40 28 9a 62 //SPS - 26B
80 a0 0b 77 fe 00 02 00
02 20 00 00 03 00 20 00
00 0c 92 80 00 04 28 ee //PPS - 4B
3c 80
Any idea what's causing this?
It happens in at least one more file, so it's not a unique case.
nevcairiel
14th July 2012, 22:37
In that particular file was a NALU type 13 (SPS extension) in between the SPS and PPS, which i didn't expect, i added support for it.
00 16 67 4d 40 28 9a 62
80 a0 0b 76 02 20 00 00
03 00 20 00 00 0c 92 80
00 04 68 ee 3c 80
Thats what i'm getting now.
I have been pondering adding the SPS extension in there as well, wonder if it'll cause issues. :p
egur
14th July 2012, 22:50
In that particular file was a NALU type 13 (SPS extension) in between the SPS and PPS, which i didn't expect, i added support for it.
00 16 67 4d 40 28 9a 62
80 a0 0b 76 02 20 00 00
03 00 20 00 00 0c 92 80
00 04 68 ee 3c 80
Thats what i'm getting now.
I have been pondering adding the SPS extension in there as well, wonder if it'll cause issues. :p
Can you provide a test build?
nevcairiel
14th July 2012, 23:35
Can you provide a test build?
Sure.
http://files.1f0.de/lavf/LAVFilters-0.51.1-17-g50a5e4c.zip
zhongpang
15th July 2012, 05:16
- Support for YCgCo to RGB conversion
P:\VIDEO\YUUKA.mp4
General
Complete name : P:\VIDEO\YUUKA.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 260 MiB
Duration : 3mn 46s
Overall bit rate : 9 660 Kbps
Encoded date : UTC 2012-07-13 09:12:07
Tagged date : UTC 2012-07-13 09:12:07
Video #1
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High 4:4:4 Predictive@L5.0
Format settings, CABAC : Yes
Format settings, ReFrames : 6 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3mn 46s
Bit rate : 9 657 Kbps
Maximum bit rate : 56.4 Mbps
Width : 1 904 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:4:4
Bit depth : 10 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.157
Stream size : 260 MiB (100%)
Writing library : x264 core 125 r2200+666+30 20c70fc tMod [10-bit@all X86_64]
Encoding settings : cabac=1 / ref=6 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / fade_compensate=0.00 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=0 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / fgo=0 / bframes=12 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=0 / crf=12.0000 / qcomp=0.60 / qpmin=0 / qpmax=81 / qpstep=4 / vbv_maxrate=60000 / vbv_bufsize=60000 / crf_max=0.0 / nal_hrd=none / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.40
Encoded date : UTC 2012-07-13 09:12:07
Tagged date : UTC 2012-07-13 09:12:07
Matrix coefficients : YCgCo
LAV Filters 0.51.1
error with output RGB24/RGB32 when play 10bit 444 YCgGo video
but output Y410 no problem
betaking
15th July 2012, 05:58
LAV Filters 0.51.1
error with output RGB24/RGB32 when play 10bit 444 YCgGo video
but output Y410 no problem
0.51.2 - 2012/07/15
LAV Splitter
- Improved H264 media type creation with some files
LAV Video
- Reduced latency of H264 software decoding (improves Live TV playback)
- Fixed chroma handling of the YCgCo to RGB conversion
- Fixed timestamp handling of MPEG2 (regression introduced in 0.51)
LAV Audio
- Re-Mix audio as a fallback when the audio chain refuses a new channel configuration
- Fixed an error that caused 16-bit FLAC to show as 24-bit on the status panel
0.51.2 fixed
Mikey2
15th July 2012, 09:38
Is anyone else having problems getting the LAV Video Decoder to output NV12? (This is for H.264 MPG4 files, but I believe it is for any file.)
For this example, here is the Input PIN:
Filter : LAV Video Decoder - CLSID : {EE30215D-164F-4A92-A4EB-9D4C13390F9F}
- Connected to:
CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
Filter: LAV Splitter Source
Pin: Video
- Connection media type:
Video: MPEG4 Video (H264) 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31435641-0000-0010-8000-00AA00389B71}
formattype: FORMAT_MPEG2_VIDEO {E06D80E3-DB46-11CF-B4D1-00805F6CBBEA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 165
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 40
dwPictAspectRatioY: 17
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
MPEG2VIDEOINFO:
dwStartTimeCode: 0
cbSequenceHeader: 33
dwProfile: 0x00000064
dwLevel: 0x00000029
dwFlags: 0x00000004
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 1
biBitCount: 12
biCompression: AVC1
biSizeImage: 1044480
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 00 00 00 00 00 00 00 00 28 00 00 00 11 00 00 00 ........(.......
0040: 00 00 00 00 00 00 00 00 28 00 00 00 00 05 00 00 ........(.......
0050: 20 02 00 00 01 00 0c 00 41 56 43 31 00 f0 0f 00 .......AVC1.ð..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070: 00 00 00 00 21 00 00 00 64 00 00 00 29 00 00 00 ....!...d...)...
0080: 04 00 00 00|00 18 67 64 00 29 ac 34 e7 01 40 11 ......gd.)¬4ç.@.
0090: 68 40 00 00 fa 40 00 2e e0 23 c6 0c 47 80 00 05 h@..ú@..à#Æ.G€..
00a0: 68 ef b2 c8 b0 hï²È°
With every "Output Format" selected, it used to output NV12; however, now it falls back to YV12. If I de-select YV12, it falls back to YUY2 and so-on. Regardless, I cannot get it to pass-on in NV12 format.
Here is the [beginning of the] Output Pin with everything selected:
Filter : LAV Video Decoder - CLSID : {EE30215D-164F-4A92-A4EB-9D4C13390F9F}
- Connected to:
CLSID: {04FE9017-F873-410E-871E-AB91661A4EF7}
Filter: ffdshow Video Decoder
Pin: In
- Connection media type:
Video: YV12 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_YV12 {32315659-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1044480
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000041
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 40
dwPictAspectRatioY: 17
dwControlFlags: 0x00000581
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 3
biBitCount: 12
biCompression: YV12
biSizeImage: 1044480
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 41 00 00 00 00 00 00 00 28 00 00 00 11 00 00 00 A.......(.......
0040: 81 05 00 00 00 00 00 00 28 00 00 00 00 05 00 00 .......(.......
0050: 20 02 00 00 03 00 0c 00 59 56 31 32 00 f0 0f 00 .......YV12.ð..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- Enumerated media type 0:
Video: NV12 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_NV12 {3231564E-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1044480
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 40
dwPictAspectRatioY: 17
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 2
biBitCount: 12
biCompression: NV12
biSizeImage: 1044480
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 00 00 00 00 00 00 00 00 28 00 00 00 11 00 00 00 ........(.......
0040: 00 00 00 00 00 00 00 00 28 00 00 00 00 05 00 00 ........(.......
0050: 20 02 00 00 02 00 0c 00 4e 56 31 32 00 f0 0f 00 .......NV12.ð..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- Enumerated media type 1:
Video: NV12 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_NV12 {3231564E-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo {05589F80-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1044480
cbFormat: 88
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 2
biBitCount: 12
biCompression: NV12
biSizeImage: 1044480
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 28 00 00 00 00 05 00 00 20 02 00 00 02 00 0c 00 (....... .......
0040: 4e 56 31 32 00 f0 0f 00 00 00 00 00 00 00 00 00 NV12.ð..........
0050: 00 00 00 00 00 00 00 00 ........
- Enumerated media type 2:
Video: YV12 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_YV12 {32315659-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1044480
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 40
dwPictAspectRatioY: 17
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 3
biBitCount: 12
biCompression: YV12
biSizeImage: 1044480
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 00 00 00 00 00 00 00 00 28 00 00 00 11 00 00 00 ........(.......
0040: 00 00 00 00 00 00 00 00 28 00 00 00 00 05 00 00 ........(.......
0050: 20 02 00 00 03 00 0c 00 59 56 31 32 00 f0 0f 00 .......YV12.ð..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- Enumerated media type 3:
Video: YV12 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_YV12 {32315659-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo {05589F80-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1044480
cbFormat: 88
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 3
biBitCount: 12
biCompression: YV12
biSizeImage: 1044480
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 28 00 00 00 00 05 00 00 20 02 00 00 03 00 0c 00 (....... .......
0040: 59 56 31 32 00 f0 0f 00 00 00 00 00 00 00 00 00 YV12.ð..........
0050: 00 00 00 00 00 00 00 00 ........
Notice that YV12 is the "Connection Media Type" (which is what is actually passed down) and NV12 is only displayed on the next couple entries ("Enumerated Media Type[s]" 0 and 1.)
Furthermore, this is the start of the Output Pin when I de-select "YV12":
Filter : LAV Video Decoder - CLSID : {EE30215D-164F-4A92-A4EB-9D4C13390F9F}
- Connected to:
CLSID: {04FE9017-F873-410E-871E-AB91661A4EF7}
Filter: ffdshow Video Decoder
Pin: In
- Connection media type:
Video: YUY2 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_YUY2 {32595559-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1392640
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000041
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 40
dwPictAspectRatioY: 17
dwControlFlags: 0x00000581
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 1
biBitCount: 16
biCompression: YUY2
biSizeImage: 1392640
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 41 00 00 00 00 00 00 00 28 00 00 00 11 00 00 00 A.......(.......
0040: 81 05 00 00 00 00 00 00 28 00 00 00 00 05 00 00 .......(.......
0050: 20 02 00 00 01 00 10 00 59 55 59 32 00 40 15 00 .......YUY2.@..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- Enumerated media type 0:
Video: NV12 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_NV12 {3231564E-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1044480
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 40
dwPictAspectRatioY: 17
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 2
biBitCount: 12
biCompression: NV12
biSizeImage: 1044480
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 00 00 00 00 00 00 00 00 28 00 00 00 11 00 00 00 ........(.......
0040: 00 00 00 00 00 00 00 00 28 00 00 00 00 05 00 00 ........(.......
0050: 20 02 00 00 02 00 0c 00 4e 56 31 32 00 f0 0f 00 .......NV12.ð..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- Enumerated media type 1:
Video: NV12 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_NV12 {3231564E-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo {05589F80-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1044480
cbFormat: 88
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 2
biBitCount: 12
biCompression: NV12
biSizeImage: 1044480
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 28 00 00 00 00 05 00 00 20 02 00 00 02 00 0c 00 (....... .......
0040: 4e 56 31 32 00 f0 0f 00 00 00 00 00 00 00 00 00 NV12.ð..........
0050: 00 00 00 00 00 00 00 00 ........
- Enumerated media type 2:
Video: YUY2 1280x544 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_YUY2 {32595559-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1392640
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,544)
rcTarget: (0,0)-(1280,544)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 40
dwPictAspectRatioY: 17
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 544
biPlanes: 1
biBitCount: 16
biCompression: YUY2
biSizeImage: 1392640
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0010: 00 00 00 00 00 00 00 00 00 05 00 00 20 02 00 00 ............ ...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 00 00 00 00 00 00 00 00 28 00 00 00 11 00 00 00 ........(.......
0040: 00 00 00 00 00 00 00 00 28 00 00 00 00 05 00 00 ........(.......
0050: 20 02 00 00 01 00 10 00 59 55 59 32 00 40 15 00 .......YUY2.@..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Notice that NV12 Still appears as Enumerated Media Types, but still the first entry is populated with (thus displays) YUY2.
This only started happening a couple months ago or so. Is anyone else seeing this and/or know how to fix it?
Thanks much!
MikeY
PS - I Should note that this happens with both Hardware and Software decoding.
fastplayer
15th July 2012, 09:46
Hi nev,
just a few tooltip typos to report:
"With this option on, stereo sources will not be mixed. This is useful when you want to mix all surround sources to eg. 5.1, but leave stereo untouched."--> e.g.
"This mode will produce inconsistent volumes between different source formats (stereo will be louder then 5.1), but the volume during playback of one file not change."--> than, --> file will not change
"In addition, this mode has a higher volume then a normalized matrix and is preferred on weak speakers or headphones."--> than
nevcairiel
15th July 2012, 09:56
Is anyone else having problems getting the LAV Video Decoder to output NV12? (This is for H.264 MPG4 files, but I believe it is for any file.)
You're using ffdshow after LAV, and ffdshow does not support NV12 input anymore because it is broken. Not LAVs fault. ;)
just a few tooltip typos to report:
Thanks, fixed.
nevcairiel
15th July 2012, 10:34
LAV Filters 0.51.2
LAV Splitter
- Improved H264 media type creation with some files
- Fixed reading of QuickTime/AppleText chapters in MOV/MP4
LAV Video
- Reduced latency of H264 software decoding (improves Live TV playback)
- Fixed chroma handling of the YCgCo to RGB conversion
- Fixed timestamp handling of MPEG2 (regression introduced in 0.51)
LAV Audio
- Re-Mix audio as a fallback when the audio chain refuses a new channel configuration
- Fixed an error that caused 16-bit FLAC to show as 24-bit on the status panel
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.51.2.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.51.2.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.51.2-x64.zip)
If you missed the 0.51 release, here are the release notes again:
http://forum.doom9.org/showthread.php?p=1581869#post1581869
Hopefully this fixes all regressions since 0.51, as well as some other bugs.
Before anyone asks, the fallback mixing feature referenced in the changelog is mostly for WMP/WMC, because it fails at changing the number of audio channels mid-stream, and by simply mixing to whatever channel count we started with, we ensure that playback continues to work.
As always, if you notice another regression, or a new bug, please report it in as much detail as possible, and with a sample file if available.
kalston
15th July 2012, 11:18
I just noticed something odd, VC-1 (interlaced only) software decoding doesn't work anymore on my BBC Life blu-rays (even unticking the WMV9 thing doesn't make it "work", it shows a blackscreen stuck at 00:00 instead of just failing to connect).
I have tried going back to the LAV version I had when I bought these blu-rays and it didn't work either, which leaves me puzzled as I remember watching them with software decoding and madVR deinterlacing...
CUVID decoding works fine but I don't understand this at all, shouldn't software decoding be the most hassle free decoding if your CPU can handle it? Or am I wrong and is it affected by GPU drivers etc just as well? I had some issues with CUVID before (probably because my GPU is old) so that's why I always preferred software decoding which never failed me... until today.
Edit: in fact CUVID decoding doesn't work fine, playback doesn't look smooth and madVR reports delayed frames. That's probably just my GPU being too slow though. I'm gonna make samples later.
nevcairiel
15th July 2012, 11:47
I just noticed something odd, VC-1 (interlaced only) software decoding doesn't work anymore on my BBC Life blu-rays (even unticking the WMV9 thing doesn't make it "work", it shows a blackscreen stuck at 00:00 instead of just failing to connect)
Only the WMV9 thing supports VC-1 interlaced, so if anything it needs to be ticked.
Works fine here, though. Its possible that something screwed up the WMV9 decoder on your system, independent of LAV.
When you play such a file, what does the property page say under active decoder? Should be "wmv9 dmo" if it works properly.
You didn't try uninstalling WMP or something silly like that, right? :p
kalston
15th July 2012, 12:11
Actually you're right, LAV can't use the WMV9 decoder at all. It's like it's been removed. My other VC-1 files work but they are not interlaced so it's just showing "avcodec" on the property page.
WTF :( I'd never remove WMP as that would break some things (such as games relying on the OS codecs) including WMV9 of course. WMP is still installed and works anyway. Gonna try repairing it but still this is odd as I hardly install anything at all on this PC (mostly portable applications and few that have anything to do with audio/video).
nevcairiel
15th July 2012, 12:13
You know whats funny, LAV is not even setup to fallback to avcodec when the WMV9 decoder doesn't work. Are you sure the checkbox on the bottom of the "Formats" property page is checked? ("Use Microsoft WMV9 DMO Decoder for WMV3 and VC-1")
kalston
15th July 2012, 12:24
Hum, yeah actually, when it's ticked I can't play any VC-1 file at all and when it's unticked only progressive ones work. In any case where's my WMV9 dll gone :p
EDIT: repairing WMP didn't work, damnit
EDIT 2 : according to this tool http://alexzambelli.com/WMV/#Codecs I still have the decoder installed and I can change its settings, but LAV still can't use it
EDIT 3 : allright I've just switched to madVR decoding vc-1 with the Intel decoder and it's working fine even with my 50i blu-rays. That will do.
Pat357
15th July 2012, 16:00
For those that are interested in a minimalistic freeware 3D-capable player based on Lav-filters :
http://surodev.com/?p=477
The installer includes all the Lav-filters (splitter, audio, video) but is seems it's not needed to register these.
They just need to be in the same directory as the .exe from the player.
You can update the lav-filters by just overwriting the existing files.
egur
15th July 2012, 16:01
Lady Gaga clip has been fixed :)
But this one (http://www.mediafire.com/?bp5hqy5sbmsrbmr) fails. The old behavior exists (no PPS for you).
MPC splitter
00 1b 67 4d 40 28 89 99 //SPS
80 f0 08 8b 01 f7 01 01
01 f0 00 00 03 00 10 00
00 03 03 29 40 00 04 68 //PPS
ea 8f 20
LAV splitter 0.51.2 and last test build
00 1b 67 4d 40 28 89 99 //SPS
80 f0 08 8b 01 f7 01 01
01 f0 00 00 03 00 10 00
00 03 03 29 40 //No PPS
Edit I'll went through my entire H264 test suite and the rest are clean.
nevcairiel
15th July 2012, 16:42
I added some more NALUs to parse through to the list, which now causes it to find the PPS in that file as well.
I still think however since the SPS/PPS are coming in-band with the stream anyway, the decoder should not completely bail out when they are not present.
I could decide to send the stream untouched as AnnexB, which does not even mandate the presence of the sequence headers in the media type.
As long as the SPS is present, you can already use that to detect the compat with the decoder, the PPS holds no information to that end.
egur
15th July 2012, 17:56
I added some more NALUs to parse through to the list, which now causes it to find the PPS in that file as well.
I still think however since the SPS/PPS are coming in-band with the stream anyway, the decoder should not completely bail out when they are not present.
I could decide to send the stream untouched as AnnexB, which does not even mandate the presence of the sequence headers in the media type.
As long as the SPS is present, you can already use that to detect the compat with the decoder, the PPS holds no information to that end.
True, I changed my code not to bail out anymore. For now I take the info from the VIDEOINFORHEADER. I may need to add sequence header parsing... To do this for all codecs is a lot of work.
What about a workaround - change the SPS to a one that's not accompanied by a PPS. Do you thing that will work?
nevcairiel
15th July 2012, 18:06
True, I changed my code not to bail out anymore. For now I take the info from the VIDEOINFORHEADER. I may need to add sequence header parsing... To do this for all codecs is a lot of work.
"all codecs"? :)
VC-1 is essentially always hardware compatible.
MPEG-2 only needs to check if its 4:2:2 and refuse in that case.
The only somewhat complicated codec is H264.
http://git.1f0.de/gitweb?p=lavfsplitter.git;a=blob;f=decoder/LAVVideo/parsers/H264SequenceParser.cpp;hb=HEAD#l70
Not that i particularly care, i already implement my own compat check in LAVs QuickSync wrapper (using the class above)
What about a workaround - change the SPS to a one that's not accompanied by a PPS. Do you thing that will work?
I would not change the data, it needs to match the stream or bad things happen.
egur
15th July 2012, 19:25
"all codecs"? :)
VC-1 is essentially always hardware compatible.
MPEG-2 only needs to check if its 4:2:2 and refuse in that case.
The only somewhat complicated codec is H264.
http://git.1f0.de/gitweb?p=lavfsplitter.git;a=blob;f=decoder/LAVVideo/parsers/H264SequenceParser.cpp;hb=HEAD#l70
Not that i particularly care, i already implement my own compat check in LAVs QuickSync wrapper (using the class above)
I would not change the data, it needs to match the stream or bad things happen.
VC1 - you're right today - although last generation of drivers didn't support main/simple profiles.
MPEG2 - check for 4:2:2 and 10bit.
H264 - parse complex SPS header, plenty of reference code to look at (including yours).
Media SDK now supports MJPEG (currently in SW only), who knows what's next...
BTW, I want to implement outputting DXVA surfaces directly.
Maybe I'll add an option to output a copy of the original surface for rendering subtitles directly in GPU space.
The design should not change much except that I'll need to allocate extra surfaces for renderer queues.
Any requests/requirements/suggestions?
aufkrawall
15th July 2012, 22:12
nev, what do you think of a WMV3 (not VC-1) "fallback" to DXVA2 CB when using CUVID? :)
nevcairiel
16th July 2012, 11:05
nev, what do you think of a WMV3 (not VC-1) "fallback" to DXVA2 CB when using CUVID? :)
In the long term, i'll be trying to do two things:
- An advanced mode which allows you to select one hw accel per codec
- A "automatic" mode which trys to use the best hwaccel available. Try to use DXVA Native, fallback to CB/CUVID, maybe something like that. Not sure how it'll function yet.
I don't plan on any intermediate hidden logic hacks.
pankov
17th July 2012, 07:42
nev,
when you design this fallback functionality please allow the user to select the fallback order.
Personally, I have both quicksync and CUVID options and I prefer the quicksync one as a fallback from DXVA native before going to software mode.
I think this could be accomplished by using a user reordable listbox ... or a combobox (dropdown listbox) with small arrow icons in front of each item. I'm using Delphi and there are a lot of nice components for this but I'm not familiar with Visual Studio so I hope it's not much harder
nevcairiel
17th July 2012, 08:17
The automatic mode will be fully automatic, no user configuration.
If it detects an Intel GPU as the primary GPU, it will most likely never try anything but QuickSync, because the DXVA implementation just doesn't agree with it in many cases.
If your primary GPU is NVIDIA, and DXVA Native fails, it'll most likely prefer CUVID because its IMHO more stable/reliable then QuickSync (even though not as fast)
How the advanced mode will look and what flexibility it'll offer regarding configuration, i cannot say yet.
mzso
17th July 2012, 15:40
If I use LAV video (with cuvid) to decode videos with madVR is it better to have RGB output Levels at PC or Untouched?
Also a noob question what does the (un)checking the output formats do? What even determines which output format is used?
mr.duck
17th July 2012, 17:18
Also a noob question what does the (un)checking the output formats do? What even determines which output format is used?
Just leave them all ticked. You could untick some if you wanted to force it to use a specific output format. But that may require some color space conversion.
nevcairiel
17th July 2012, 17:52
If I use LAV video (with cuvid) to decode videos with madVR is it better to have RGB output Levels at PC or Untouched?
This option has no effect if you use madVR and don't untick everything but RGB.
Also a noob question what does the (un)checking the output formats do? What even determines which output format is used?
The output format best matching the video is used. Some formats carry exactly the same information in other memory layouts, for compat with other software, thats why its so many.
If you disable some, you may force (lossy) conversions to other formats. In best case it will only be slower, in worst case it has to do a conversion that modifies the data and loses data.
Jasch
18th July 2012, 21:11
I have noticed a small "bug" .
I use Lavfilter (Video and audio)in DVBviewer.
Since version 51 when you switch to a channel with dif. Resolution(720p to 1080i, or other way).
Your hear only the new channel audio for 2s(standpicture from old channel) then audio goes off,picture black, and then it plays new stream.
Before 51 this was working, i found out it must be lavaudio.
When i use 51.2 Video and ffdshow audio, then its working.
If you need more infos, tell me what you need.
MFG Alex
CiNcH
19th July 2012, 06:34
I have noticed a small "bug" .
I use Lavfilter (Video and audio)in DVBviewer.
Since version 51 when you switch to a channel with dif. Resolution(720p to 1080i, or other way).
Your hear only the new channel audio for 2s(standpicture from old channel) then audio goes off,picture black, and then it plays new stream.
Before 51 this was working, i found out it must be lavaudio.
When i use 51.2 Video and ffdshow audio, then its working.
If you need more infos, tell me what you need.
MFG Alex
I also experienced some problems with LAV Audio in this matter but did not analyze it further. I switched to ffdshow again. I may have a look at that this evening.
nevcairiel
19th July 2012, 07:06
Nothing in LAV Audio has changed that would explain any of this, not since 0.50.5 anyway.
Any more details would be appreciated.
It does sound like its receiving Audio for the new channel without proper timestamps, which means it'll continue to output with the old-channels timestamps (or starting from 0, depending on what DVBViewer sends), and then it gets a timestamp and starts from there - causing the gap. I'll try to see if i can reproduce any of this, but my selection of DVB channels is severly limited because i refuse to pay for them (and thus only have a handful of free channels)
Jasch
19th July 2012, 14:18
You can try it with on of the ARD/ZDF channels (720p), and switch to Servus TV HD(1080i).
All Free to Air.
MFG Alex
nevcairiel
19th July 2012, 14:47
Servus TV HD(1080i) is encrypted.
Anyway, the issue can also be reproduced when switching from a SD to a HD channel, however, i see nothing wrong in LAVs behaviour.
Assuming i'm on the SD channel, and switch to HD, here is what happens:
- DVB Viewer destroys LAV Audio and re-creates it
- LAV Audio starts receiving audio data and happily decodes away
- After around 4.9 seconds of audio, DVB viewer sends a "NewSegment" call
- The NewSegment re-sets timestamps, and causes video to start
- Because of the timestamp re-set, there is the gap in the audio
On my side, everything looks fine, DVBViewer is just behaving rather oddly, it sends audio long before video starts, and then it sends another NewSegment when the video starts running.
You're right however that the problem does not occur with ffdshow for audio, which seems truely odd. Maybe i can find something out.
Edit:
After some looking around, somehow i think DVBViewer behaves differently when it knows its using ffdshow. I added a lot of debug messages to ffdshow, and it doesn't get the audio packets that LAV gets, thus not having the problem.
Maybe talk to the DVBViewer people? From my side, i can only say that DVB Viewer shouldn't be sending audio when its not ready to send video as well, and it appears it doesn't do so when using ffdshow.
CiNcH
19th July 2012, 16:06
What I can see is that Queued Video Buffers count up in DVBSource until an overflow occurs. DVBViewer reacts with a graph stop/run to that. On 720p video runs in slow motion afterwards, and Queued Video Buffers always count up again until the buffer overflow occurs. So either DVBSource does not forward the video buffers or LAV does not get them from DVBSource.
nevcairiel
19th July 2012, 16:33
But that doesn't make any sense.
I see that LAV Video is getting some video, maybe ~20 packets 8192 bytes each, then it sends about the same amount of audio packets, and then it overflows already.
Any reasons for this i can come up with don't make any sense, because it starts working after the graph reset.
nevcairiel
19th July 2012, 17:06
Hm i found the commit that caused the problem, but i am totally puzzled why. I'll look into it.
CiNcH
19th July 2012, 17:17
Which one is it?
nevcairiel
19th July 2012, 17:26
Which one is it?
This one:
http://git.1f0.de/gitweb?p=lavfsplitter.git;a=commit;h=694db46060d6009bcb4d289c37d62178a2dd520b
My guess is that it somehow manages to screw something up in the DVBSource, but why, i cannot say. I read the code 3 times, and it shouldn't have any bad side effects .. in theory anyway.
I isolated it to the part of the code that enumerates over the media types of the DVB Source Filter, something must break inside of it when i try doing that.
nevcairiel
19th July 2012, 17:40
Try this version, it hopefully fixes it:
http://files.1f0.de/lavf/LAVFilters-0.51.2-5-g1d249b3.zip
CiNcH
19th July 2012, 17:47
Try this version, it hopefully fixes it:
It does :) . Thanks.
Jasch
19th July 2012, 18:23
Servus TV HD(1080i) is encrypted.
Sorry, but this is not true.
Die Ausstrahlung von ServusTV via Satellit erfolgt unverschlüsselt. Besondere Voraussetzungen wie z.B. Smart Cards gibt es nicht. Zum Empfang benötigen Sie daher nur eine digitale Satellitenanlage mit entsprechendem Empfänger.
Zusätzlich zur Verbreitung in der gängigen Standardauflösung können Sie ServusTV auch im hochauflösenden HD-Standard empfangen. Dazu benötigen Sie einen HD-tauglichen Satellitenempfänger sowie ein HD-fähiges TV-Gerät (nahezu sämtliche heute erhältlichen Flachbild-Fernseher unterstützen HD).
Big thx, your new Version solved the Problem.
Mfg Alex
CiNcH
19th July 2012, 18:26
Sorry, but this is not true.
Guess that nev is talking about DVB-C...
nevcairiel
19th July 2012, 18:28
Guess that nev is talking about DVB-C...
Yes, i am. Everything thats not ARD/ZDF/NDR/etc is encrypted. :p
I don't usually watch TV, so why would i have a satellite dish. Can't avoid the cable that comes with the rent :p
CiNcH
19th July 2012, 18:46
I don't usually watch TV, so why would i have a satellite dish. Can't avoid the cable that comes with the rent
But you still seem to have a DVB-C card for PC ;) .
nevcairiel
19th July 2012, 18:47
But you still seem to have a DVB-C card for PC ;) .
Its some cheap USB thingy i got for testing DVB applications with LAV, actually. :D
Also does DVB-T. :p
CiNcH
19th July 2012, 18:49
If you need something concerning DVB for PC, just tell me... Got some connections there...
nevcairiel
19th July 2012, 18:53
For the little TV i do watch, i have a T-Entertain box.... :) Other then for testing, i don't use DVB
mastrboy
19th July 2012, 18:54
This one:
http://git.1f0.de/gitweb?p=lavfsplitter.git;a=commit;h=694db46060d6009bcb4d289c37d62178a2dd520b
I read the code 3 times, and it shouldn't have any bad side effects .. in theory anyway.
It's not always the codes fault, we once had a issue which only occurred when compiled with a AMD cpu, some issue with the visual studio 2005 compiler and AMD cpu's which was solved by a hotfix from ms, scratched our heads for weeks trying to figure it out. :P
Jasch
19th July 2012, 18:56
Oh sorry didint rec. this.
So i take all back.
But maybe you can give me another little Hand.
I have some BD´s which are 24fps(not 23,976fps, mostly german or asian Productions).
Lavsplitter reports them as 23,999Fps which is not really wrong.(MPC splitter reports 24Fps).
But i use a tool which switches my Refreshrate according to the input.
But this can only read integer numbers.
So it would be nice if lavsplitter would output this as 24fps.
MFG Alex
nevcairiel
19th July 2012, 19:01
FPS are not reported in that way in DirectShow. What is reported is the average time per frame, which for 24fps should be 1/24, or 41.666666667ms. Since this is such a odd number (the 6 is a period), rounding errors happen quite easily. 41.6667 for example will already result in 23.9999. 41.6667 is the number LAV should report for such files.
nevcairiel
19th July 2012, 19:06
LAV Filters 0.51.3
LAV Splitter
- Further improved H264 media type creation
LAV Audio
- Fixed an issue with the initial media types causing graph building failures in some situations
- Fixed a bug with DVBViewer which caused a delay on channel changes
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.51.3.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.51.3.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.51.3-x64.zip)
If you missed the 0.51 release, here are the release notes again:
http://forum.doom9.org/showthread.php?p=1581869#post1581869
Another set of bug fixes and enhancements. 0.51 seems especially bumpy, it was just too long a break between 0.50 and 0.51, too many small things sneaked in.
Anyway, another regression fixed, and some other enhancements/fixes added.
As always, have fun
Jasch
19th July 2012, 19:10
When i play this with MPC-HC und using the internal display.
it is reporting 23.976 = 41.708 ms
and for this type 24.00 = 41.667 ms .
Its only a "beautyerror".(24fps are realy rare)
I also asked the Prog. of the Hz Plugin for Dvbviewer, maybe he can change the reading from 23 24 to 23,97 23,99.
MFG Alex
magic144
19th July 2012, 19:23
thankyou nev!
Sebastiii
19th July 2012, 19:25
Try this version, it hopefully fixes it:
http://files.1f0.de/lavf/LAVFilters-0.51.2-5-g1d249b3.zip
Hi Nevcairiel :)
I can't test myself, i'm on holiday :P
Do you think it can impact MediaPortal too ?
It seems you look the process to fix it right ?
Thankss for all.
nevcairiel
19th July 2012, 19:28
It seems you look the process to fix it right ?
No, the initial fix was without the process name. I just added it afterwards to avoid any other potential issues later on.
red5goahead
19th July 2012, 20:11
I'm very impressed about new mixing features. It's usefull the application I'm develping for Italiansubs.net community
(https://sourceforge.net/p/vss-itasa,
a LavAudioSettingsInterface.pas and LavVideoSettingsInterface.pas interfaces files for Delphi are in the trunk).
I would be nice if you add in the next versions a simple volume setup for all channels (5.1, 6.1 and so on) because I should mute all channels except for the center one when I have to extract a peak file to display a showing wave form .
I think could be usefull for all player or mediacenter that use lav codec interactively.
:thanks:
Sebastiii
19th July 2012, 20:21
No, the initial fix was without the process name. I just added it afterwards to avoid any other potential issues later on.
Ok thanks :)
DragonQ
19th July 2012, 20:29
Looking forward to seeing how people get on with 0.51.3. I've had no issues with 0.51.2 but the TV related issues have prevented me from upgrade on my HTPC so far (still running 0.50.5).
Yes, i am. Everything thats not ARD/ZDF/NDR/etc is encrypted. :p
I don't usually watch TV, so why would i have a satellite dish. Can't avoid the cable that comes with the rent :p
DVB-C cards are essentially useless in the UK and almost no TVs have DVB-C tuners. This is because there is no free cable TV system (unlike satellite and terrestrial) - you have to sign up to Virgin Media to get it, and they provide a box (rental only) and mandate its usage. Even then, all of the channels except the PSB ones are encrypted so a tuner is useless without an appropriate CAM.
Is the system in Germany more similar to the US where you can get free basic cable?
egur
19th July 2012, 20:42
Committed r64 of the QuickSync decoder:
v0.37:
* Better handling of incomplete sequence headers.
* Able to recover after multiple initializations. New stream must be from the same codec as the old stream. Calling InitDecoder or SetConfig will reset the decoder. InitiDecoder must be called after SetConfig (same as before).
nevcairiel
19th July 2012, 20:44
Is the system in Germany more similar to the US where you can get free basic cable?
Around here a lot of rented apartments come with cable, but its not "free", you just pay for your share of the central line to the building through the rent. The "free" part is also only Analog and the state-funded channels in Digital/HD. If you want everything else in Digital and HD, you need to pay for a decoder card. For me it would be "just" 3€ per month for the digital package (no HD), and 10€ a month for the HD package.
Cable isn't the best source of HD TV around here though, there is a lot of drama between the cable provider and the stations, which results in not all HD channels being available through Cable.
Personally, i have a IPTV box from my ISP, which works quite nice - eventhough i mostly got that contract because it comes with an unlimited 50/10 connection ;)
sneaker_ger
19th July 2012, 20:58
Personally, i have a IPTV box from my ISP, which works quite nice - eventhough i mostly got that contract because it comes with an unlimited 50/10 connection ;)
Even in the non-TV contracts the limit is only on paper. Or get a reseller without any limit in the contract. (Just in case you didn't know, but you probably do, don't you?)
nevcairiel
19th July 2012, 21:02
Even in the non-TV contracts the limit is only on paper. Or get a reseller without any limit in the contract. (Just in case you didn't know, but you probably do, don't you?)
I don't like the resellers, they are usually known for over-booking their lines and causing problems in peak hours. Heard too many reports from friends and colleagues about those..
Regarding the contract, well, there is a limit in there after which they claim to throttle me, but i never had such a contract, so i cannot say if they actually do it (nor do i know anyone that does). But i'm also pretty happy with the IPTV, not that i use it a lot, but shrug.
sneaker_ger
19th July 2012, 21:16
I don't like the resellers, they are usually known for over-booking their lines and causing problems in peak hours. Heard too many reports from friends and colleagues about those..
Resellers are called resellers because they just .. eh ... resell. Exactly the same overbooking as your "premium contract".
Regarding the contract, well, there is a limit in there after which they claim to throttle me, but i never had such a contract, so i cannot say if they actually do it (nor do i know anyone that does). But i'm also pretty happy with the IPTV, not that i use it a lot, but shrug.
They never ever throttled. Last year someone sued them because the throttling was "too hidden" in the contracts and in court Telekom lawyers argued that it wouldn't matter because they never activated the throttle.
(But if you want the IPTV it doesn't really matter for you, of course. New FTTH contracts also have a throttling clause even for IPTV users, btw.)
Ok, enough off-topic:
Could you add mono down-mixing?
nevcairiel
19th July 2012, 21:46
Resellers are called resellers because they just .. eh ... resell. Exactly the same overbooking as your "premium contract".
The problem is that they buy a certain amount of bandwidth from the Telekom, and then over-sell that. Has been some years since i looked into that, but i doubt it changed much.
I prefer to trust a ISP with its own infrastructure, over some company making money on someone elses.
But moving on.
Could you add mono down-mixing?
I guess so, not sure what real-world purpose that really serves though.
Have to check if the matrix handling can properly deal with it, not sure if its too happy mixing surrounds into a center.
robpdotcom
20th July 2012, 03:37
Hey Nev,
Probably a long shot, but might as well ask: Would you consider adding support for TiVo files to the splitter? Currently, they can be moved from the DVR to the pc, but can only be played through WMP (or by converting to another container).
To play them in WMP, you need TiVo Desktop software (free). I can provide samples if needed
nevcairiel
20th July 2012, 06:49
TiVo files are encrypted, supporting this would be kinda hard.
Aleksoid1978
20th July 2012, 07:33
Hi nevcairiel
Latest version LAV Video Decoder crash in DXVA Native mode on this MPEG2 clip http://aleksoid.tosei.ru/Test/Sample/FirstField.mpg when in MPC-HC press Ctrl+E(Reopen) - sometimes at first press, sometimes at second.
LAV settings:
http://s55.radikal.ru/i149/1207/c2/c2b9f7e09d22t.jpg (http://radikal.ru/F/s55.radikal.ru/i149/1207/c2/c2b9f7e09d22.png.html)
crash in avcodec-lav-54.dll
RealSnoopyDog
20th July 2012, 08:45
Hi nev, thanks for the update 0.53.1. Now LAV behaves again like version 0.50.5 when i switch channels in DVBViewer. On my laptop with nVidia and on another desktop PC with ATI i had a delay of ~5 seconds until the picture was displayed after zapping when there is a format change (e.g. 720p => 1080i).
With 0.53.1 this is completely gone now! Everything is good. On my HTPC (ATI) i never had problems with any version.
SamuriHL
20th July 2012, 11:01
Hey Nev,
Probably a long shot, but might as well ask: Would you consider adding support for TiVo files to the splitter? Currently, they can be moved from the DVR to the pc, but can only be played through WMP (or by converting to another container).
To play them in WMP, you need TiVo Desktop software (free). I can provide samples if needed
J river mc17 supports tivo file playback with lav filters.
Sent from my Xoom using Tapatalk 2
nevcairiel
20th July 2012, 11:55
I think it just uses the TiVo DirectShow filter, which should probably work in every player, i just never owned such a device.
SamuriHL
20th July 2012, 12:41
It uses a combination of things yes.
Sent from my Xoom using Tapatalk 2
mini-moose
20th July 2012, 14:05
I'm not entirely sure if this is the right place to ask but I'll give it a try.
I'm trying to encode an h264/AVC with x264.exe using lavf decoder.
I get all sorts of notifications/warnings:
1) using m2ts source it gives this message at the beginning of the encode:
[NULL @ 01538d80] start time is not set in estimate_timings_from_pts
[NULL @ 0153abc0] start time is not set in estimate_timings_from_pts
cmd used:
x264.exe --level 4.1 --crf 19 --preset slow --keyint 240 --min-keyint 24 --demuxer lavf --fps 24000/1001 --frames 10001 --vf crop:left=0,top=132,right=0,bottom=132/resize:width=1280,height=544,method=spline,sar=1:1 -o test1.mkv "00012.m2ts"
2) using mkv (basically just the video from an m2ts demuxed to mkv - different one than the first) - constant msgs :
[matroska,webm @ 014b2a40] Unknown entry 0x1654AE6B01 0:04:32
[matroska,webm @ 014b2a40] Unknown entry 0x1654AE6B02 0:03:08
[matroska,webm @ 014b2a40] Unknown entry 0x1654AE6B04 0:02:30
at some point it turns to red msgs:
[h264 @ 03079f80] number of reference frames (0+4) exceeds max (2; probably corrupt input), discarding one
[h264 @ 03b64000] number of reference frames (0+4) exceeds max (2; probably corrupt input), discarding one
[h264 @ 0156d0a0] number of reference frames (0+4) exceeds max (2; probably corrupt input), discarding one
and then back to the firs unuknow entry msgs.
cmd used:
x264.exe --level 4.1 --crf 19 --preset slow --keyint 240 --min-keyint 24 --demuxer lavf --fps 24000/1001 --frames 10001 --vf crop:left=6,top=0,right=0,bottom=0/resize:width=1280,height=720,method=spline,sar=1:1 -o test2.mkv "avc_vid.mkv"
I have no idea what any of that means - I'm not really an expert.
nevcairiel
20th July 2012, 14:19
I'm not entirely sure if this is the right place to ask but I'll give it a try.
I'm trying to encode an h264/AVC with x264.exe using lavf decoder.
This was not the right place to ask.
This project is a DirectShow Splitter/Decoder which is based on the ffmpeg libraries, but support for ffmpeg itself or x264 should be directed to those projects respectively.
mini-moose
20th July 2012, 14:32
This was not the right place to ask.
This project is a DirectShow Splitter/Decoder which is based on the ffmpeg libraries, but support for ffmpeg itself or x264 should be directed to those projects respectively.
thanks, I assumed I might be in the wrong place :)
RealSnoopyDog
20th July 2012, 15:49
Sorry, i exchanged the digits of the version number in my last post :rolleyes: I meant 0.51.3 - not 0.53.1
DragonQ
20th July 2012, 16:30
I notice a little blip in the frame rate about two seconds after video starts when tuning to a channel in MediaPortal. Not sure if this existed in previous versions though because I had to put the graph up to see it!
Otherwise, using LAV Audio looks good so far. Now my SD and HD channels have the same volume!! :D
Pat357
20th July 2012, 21:20
Hi nevcairiel
Latest version LAV Video Decoder crash in DXVA Native mode on this MPEG2 clip http://aleksoid.tosei.ru/Test/Sample/FirstField.mpg when in MPC-HC press Ctrl+E(Reopen) - sometimes at first press, sometimes at second.
Indeed, I can reproduce this crash.
I've tried different MPC-HC versions : recent, older and much older version -> all crash
Here's what "the W7 doctor" says :
Faulting application name: mpc-hc.exe, version: 1.6.3.5511, time stamp: 0x50048e33
Faulting module name: avcodec-lav-54.dll, version: 0.0.0.0, time stamp: 0x50084a30
Exception code: 0xc0000005
Fault offset: 0x00149d87
Faulting process id: 0x1460
Faulting application start time: 0x01cd66b1c839643e
Faulting application path: K:\programs\MPC-Homecinema-Lite.1.6.2.4691\x86\mpc-hc.exe
Faulting module path: k:\programs\LAV Filters-0.51\x86\avcodec-lav-54.dll
Report Id: 3dbb4341-d2a5-11e1-9a78-005056c00008
system : i7-970@3.9GHz, 24GB RAM, NVIDIA GTX-570 (301.42 WHQL drivers).
W7 Prof x64 (auto updates) using LAV 32 bit on MPC-HC 32 bit
nevcairiel
20th July 2012, 22:05
Latest version LAV Video Decoder crash in DXVA Native mode on this MPEG2 clip http://aleksoid.tosei.ru/Test/Sample/FirstField.mpg when in MPC-HC press Ctrl+E(Reopen) - sometimes at first press, sometimes at second.
Fixed
shimaflarex
21st July 2012, 05:23
Is there any way to avoid the clipping protection reseting when you seek the video?
nevcairiel
21st July 2012, 06:16
Is there any way to avoid the clipping protection reseting when you seek the video?
I could just not make it do that, but i thought it might make sense, because when you re-open the file and immediately seek somewhere, it'll also be reset.
Opinions?
shimaflarex
21st July 2012, 07:06
I could just not make it do that, but i thought it might make sense, because when you re-open the file and immediately seek somewhere, it'll also be reset.
Opinions?
The reason I'm asking is that I use the left arrow button on MPC-HC to replay the last 5 seconds or so of the video, mainly because sometimes I can't understand what was said or couldn't read the subtitles.
And when I do that, the clipping protection resets and the audio gets way too loud for a while...
I think a checkbox to prevent this would be good.
kitame
21st July 2012, 08:45
how about making it more responsive temporarily after reset? like after seeking/reset it'll analyze the audio more frequently for a few seconds and then stabilize to the normal timing.
edit: i guess the consequence of this would be the CPU usage spikes after seeking.
nevcairiel
21st July 2012, 09:21
It always analyzes every single audio sample and immediately adjusts if a sample would overflow.
The question is quite simply if it should reset the limit after seeking, or not and on a seek the volume remains constant
red5goahead
21st July 2012, 10:32
Talking about interfaces resources, I've some problem to interface my application with audio codec.
This is my Delphi interface
for audio:
http://goo.gl/DHHf4
for video:
http://goo.gl/hfG3V
I got some kind of random errors on some user system.
Instead I've not problem at all using video interface and I use it since a long time to set the hw acceleration
What do you think about it? Do anyone use the audio interface in other applications?
CiNcH
21st July 2012, 11:05
nev, can you elaborate a bit on how A/V sync correction works inside LAV Audio?
nevcairiel
21st July 2012, 11:34
I remember now, i wanted to remove that option and make it always on to avoid questions.
It does nothing special, it just checks that the timestamps from the source don't diverge with the timestamps LAV Audio creates for the decoded audio.
You see, to avoid jitter in the audio timestamps, LAV Audio calculates the timestamps for the decoded audio based on the duration of the audio. To ensure that input time and output time don't drift apart, there is a check for that. This can usually only happen when there is a gap in the audio because a stream is damaged.
It doesn't perform any magic.
JustinChase
21st July 2012, 20:09
The question is quite simply if it should reset the limit after seeking, or not and on a seek the volume remains constant
I would suggest that it should not reset after seeking. It seems that the limit is 'meant' to be a per video thing, and since you're still in the same video, resetting it seems 'bad' to me.
andyvt
21st July 2012, 20:12
Support for Streaming Protocols
I added experimental support for a few streaming protocols, specifically RTSP, RTP and MMS.
I tested the feature on alot of streams i could find around the web, as well as against VLC streaming over my local network, and it was working OK'ish (better for some formats, worse for others). I still consider this feature highly experimental, so try it if you wish, but don't expect too much. ;)
Is this feature still experimental? I've been playing with it in an attempt to workaround some limitations in other demuxer, but I can't get it to work (fails in the code block below).
//fileName = "rtp://192.168.0.134:5004"
ret = avformat_open_input(&m_avFormat, fileName, NULL, NULL); // ret = -5
if (ret < 0) {
DbgLog((LOG_ERROR, 0, TEXT("::OpenInputStream(): avformat_open_input failed (%d)"), ret));
goto done;
}
Thanks
nevcairiel
21st July 2012, 20:35
RTP alone is a stupid protocol, i suggest to find a RTSP wrapper around it, works generally much better ;)
I have no real interest in working on that, i only expose whatever streaming functions ffmpeg offers. RTSP and MMS seemed to work fine, RTP without a RTSP descriptor on the other hand was a bit weird at times.
andyvt
21st July 2012, 20:52
RTP alone is a stupid protocol, i suggest to find a RTSP wrapper around it, works generally much better ;)
I have no real interest in working on that, i only expose whatever streaming functions ffmpeg offers. RTSP and MMS seemed to work fine, RTP without a RTSP descriptor on the other hand was a bit weird at times.
Unfortunately, I don't have a choice in the protocol; just how to consume it.
ryrynz
22nd July 2012, 01:36
Nev, I have an MKV (http://uploading.com/files/get/9636f83m/1.mkv) (350MB) that has no picture after 26.04 and is detected as being that long by LAV splitter (seekbar hits the end at 26.04 and file keeps playing till 26.56) Mediainfo and MPC MKV source detect it as 26.56.
mr.duck
22nd July 2012, 01:39
http is a good one to support if you are going to support streaming protocols. If I were setting up the stream (like over LAN), then http would be my first choice.
As for clipping protection, my view would be it can make the volume go down only. Every time there is a loud enough sample, the volume gets lower and lower until no samples are loud enough to make it clip. Nothing should make the volume go back up unless you restart the player (or load a new file if that's the same from LAV filter's point of view?). This way you don't get a jump in volume after seeking.
NikosD
22nd July 2012, 20:16
Latest LAV (0.51.3) with latest Intel drivers (2792) broke H.264 HW acceleration for QS, it falls back to software for every H.264 file I tried.
HW acceleration for MPEG2, VC-1, WMV3 works good, as always.
nevcairiel
22nd July 2012, 20:32
Your setup must be broken, works just fine here with the latest official release driver. Also nothing changed for several versions in the QuickSync decoder.
For the record, 2761 is the latest official driver, if you use beta drivers, you get what you get. :)
egur
22nd July 2012, 22:19
Your setup must be broken, works just fine here with the latest official release driver. Also nothing changed for several versions in the QuickSync decoder.
For the record, 2761 is the latest official driver, if you use beta drivers, you get what you get. :)
Driver (2792 beta) is broken with H264 playback.
alexrose1uk
23rd July 2012, 10:30
Thanks for all your hardwork on this Nevcariel, I use almost solely use LAV now with both an XBMC DSplayer build (I'm using the latest unofficial builds) and with MPC-HC. Working great :)
RealSnoopyDog
23rd July 2012, 11:18
Hi nev, would it be possible to add the Option "Mono" to the "Output Speaker Configuration" at the "Mixing" sheet in LAV audio? This would be great because i often watch TV without having my surround amplifiers switched on (downmix 5.1 => mono) and when i watch movies i use full audio without mixing. I can easily turn mixing on/off with my remote control in DVBViewer but right now i have to switch between LAV audio and another codec that supports mixing to mono.
kitame
23rd July 2012, 15:25
i don't know whats causing this but on my laptop i'm getting screen tearing when playing back videos.
stuffs:
i5-2450m
intel IGP (default) / GT555M (main, doesn't seem to activate during playback)
4GB ram
screen refresh rate clamped to 60FPS, unchangeable.
--------
MPC-HC 1.6.2.4902
LAVFilters 1.51.0 (software decode mode)
MadVR 0.82.5
i'm betting its the clamped screen refresh rate, but anyway anyone know solutions?
also kind of off topic but... is there any barebone player that supports both LAV and MadVR other than MPC out there? i'm kinda searching for a really light one.
sneaker_ger
24th July 2012, 00:23
Try madVR in fullscreen exclusive mode (and direct subsequent questions to the madVR thread).
chros
24th July 2012, 17:09
I have a question about the latest file association.
I disabled mkv format in the Lav Splitter config, so I can use Haali's media splitter. Then I installed the latest Lav package (exe file), then I tried to reenable mkv in the Splitter config, but always Haali's splitter is used.
If I "block" Haali Splitter in MPC-HC external filters section, then Lav Splitter is used but another "File Source (Async.)" filter is in the Filters ...
Is it normal??? (I don't remember if I've ever seen it ...)
Thanks
nevcairiel
24th July 2012, 17:40
If you disable it in the installer, it will not register the source filter for the .mkv extension, and the config dialog cannot do these changes. In that case, the File Source filter will read the file, and LAV Splitter will demux it, nothing bad about that setup either.
chros
24th July 2012, 20:56
If you disable it in the installer, it will not register the source filter for the .mkv extension, and the config dialog cannot do these changes. In that case, the File Source filter will read the file, and LAV Splitter will demux it, nothing bad about that setup either.
Thanks for your quick explanation, I wouldn't think if it's the problem! Thanks!
mindz
25th July 2012, 09:08
My question is about the new mixing option.
I have 4 speakers, no sub and no center channel. I like the sound Windows gives me when i configure my speaker setup in the windows mixer to 7.1, it gives more room to the sound as opposed to the other options (Stereo, Quadraphonic and 5.1). Is this what the Mixing in LAV does aswell? Is the mixing in LAV only suitable when using wasapi and bypassing the windows mixer - because then we get LAV and then Windows to mix the channels? Im clueless on this subject :).
Logical thinking tells me mixing is mixing 2 channels (stereo) in to 7.1 sound and sending it to speakers (4 in my case), correct?
Final question, Windows automatically upsamples everything that passes the mixer. Ive put the format to 24 bit, 96000Khz(wasapi was better in this regard) - is this degrading the sound quality, or stays it the same? Its just a lazy thing because the DTS-HD MA gets downsampled to 16 bit 48000 Khz with windows default.
SassBot
25th July 2012, 15:05
Final question, Windows automatically upsamples everything that passes the mixer. Ive put the format to 24 bit, 96000Khz(wasapi was better in this regard) - is this degrading the sound quality, or stays it the same? Its just a lazy thing because the DTS-HD MA gets downsampled to 16 bit 48000 Khz with windows default.
Sure it's degrading the quality. Whether or not you can actually hear the difference (especially after you take into account that your speakers have a far larger effect on the audio output quality) is a completely different matter.
DragonQ
25th July 2012, 22:13
The only way to not degrade the quality is to use ASIO/WASAPI output in exclusive mode, which bypasses the Windows Mixer altogether and outputs in the native format of whatever audio stream you want to play. This means you can only have one audio source at a time though, which'd normally be your media player so you can't have any Windows sounds.
Again though, it's unlikely you'll hear any difference when Windows resamples audio. There's even a hotfix for Windows 7 x64 SP1 that improves the algorithm used for resampling audio:
http://support.microsoft.com/kb/2653312
According to that article, the default algorithm is linear interpolation. :eek:
e-t172
25th July 2012, 22:31
There's even a hotfix for Windows 7 x64 SP1 that improves the algorithm used for resampling audio:
http://support.microsoft.com/kb/2653312
According to that article, the default algorithm is linear interpolation. :eek:
Please check your facts:
The audio file sounds distorted when you play it on any audio record, capture, or encoder application if the following conditions are true:
The application uses the Multimedia Extensions (MME) Wave I/O API.
There are very few applications which still use MME. Applications related to video or audio playback switched to DirectSound ages ago.
One explanation for this bug could be that MME was still using some resampler from the old days instead of just passing down the audio to WASAPI for resampling in the new Windows audio engine.
Andy o
25th July 2012, 22:33
That doesn't apply for DirectSound though:
The application uses the Multimedia Extensions (MME) Wave I/O API.That's the reason for most people this has gone unnoticed for all this time.
The whole issue of "quality degradation" by resampling, has been beaten to death really. While technically correct if you mean absolute quality, if you mean audible quality, which is what matters, it's usually not degraded. Only way is to do a double blind test, but who has time for that. One thing to be suspicious regarding these matters is when people swear so-and-so is "like night and day" difference (especially in reference to upsampling audiophile equipment) or vague, meaningless qualifications such as the classic "like lifting a veil", or the infamous "danceable" sound.
edit: oops e-t172 beat me to it.
Andy o
25th July 2012, 22:47
My question is about the new mixing option.
I have 4 speakers, no sub and no center channel. I like the sound Windows gives me when i configure my speaker setup in the windows mixer to 7.1, it gives more room to the sound as opposed to the other options (Stereo, Quadraphonic and 5.1).
How do you have your speakers wired, and how have you set your receiver (which receiver, # of speakers set in receiver, etc.). Typically, this should give you lost channels, like the center and LFE with 5.1 content, and two additional ones with 7.1 content. You would use a mixer like LAV mixer to mix these channels into 4 channels. Basically what the Windows mixer would do if you set it to quadraphonic. I'm guessing you're using an ATI/AMD HDMI device, which is just fine, but with an NV device for instance which last time I checked doesn't offer quadraphonic (maybe that's changed by now), you would need a mixer between the player and Windows. The mixer is usually used for downmixing. It can be used for upmixing, but you'd usually apply apply some algorithm for expansion first, such as Dolby Pro Logic II(x), but those usually have as target speaker setups like 5.1 or 7.1, or even 9.1 with DPLIIz.
BTW, your receiver can also do the downmixing, and most probably is doing it if you're not getting lost channels.
Is this what the Mixing in LAV does aswell? Is the mixing in LAV only suitable when using wasapi and bypassing the windows mixer - because then we get LAV and then Windows to mix the channels? Im clueless on this subject :).You can use the mixing in LAV whenever you want. The difference that it can be used with WASAPI exclusive is an advantage, also that it offers more control over how you want to mix the sound. But again, its usual use is with downmixing, i.e. you have fewer speakers than the number of channels of your content, which is actually your case for most modern movies.
Logical thinking tells me mixing is mixing 2 channels (stereo) in to 7.1 sound and sending it to speakers (4 in my case), correct?Usually it's the opposite (more->fewer).
Final question, Windows automatically upsamples everything that passes the mixer. Ive put the format to 24 bit, 96000Khz(wasapi was better in this regard) - is this degrading the sound quality, or stays it the same? Its just a lazy thing because the DTS-HD MA gets downsampled to 16 bit 48000 Khz with windows default.
Read previous posts for the "degradation" question. DTS-HD MA doesn't get downsampled to 16/48 if you are using LAV filters with the Arcsoft dll for DTS-HD decoding.
dansrfe
27th July 2012, 06:32
How will 3D decoding work with respect to LAV Video Decoder? Also how will madVR handle it?
nevcairiel
27th July 2012, 06:41
Nev, I have an MKV (http://uploading.com/files/get/9636f83m/1.mkv) (350MB) that has no picture after 26.04 and is detected as being that long by LAV splitter (seekbar hits the end at 26.04 and file keeps playing till 26.56) Mediainfo and MPC MKV source detect it as 26.56.
I created a Ticket for this on the issue tracker, so i don't forget to look into it when i work on the next push.
http://code.google.com/p/lavfilters/issues/detail?id=250
How will 3D decoding work with respect to LAV Video Decoder? Also how will madVR handle it?
If 3D decoding is ever supported, it'll most likely either end up being output as SBS video, or in a new format that has yet to be defined which the renderer needs to support then.
CruNcher
27th July 2012, 18:13
Driver (2792 beta) is broken with H264 playback.
would it be enough to replace the beta Media SDK .dll with the older one (official driver, or just put the older into the lav splitter dir instead directly) to get it back working or is it a deeper issue ;) ?
kalston
27th July 2012, 22:16
Please check your facts:
There are very few applications which still use MME. Applications related to video or audio playback switched to DirectSound ages ago.
One explanation for this bug could be that MME was still using some resampler from the old days instead of just passing down the audio to WASAPI for resampling in the new Windows audio engine.
Actually the resampling issue was easily noticeable (by just opening up a browser and playing a Youtube vid for example). However it was mostly high frequencies that were butchered by this bug so not many people noticed.
How did I find out about this myself? Simply because according to audio files that I played in my browsers (not just youtube ones) I could hear extremely well up to 22khz.
Yeah, downloading those files and listening to them through ASIO (or changing the sampling rate in the windows audio settings) I, of course, couldn't hear past 19khz. The lowest frequencies also sounded horribly wrong but it was only noticeable with great audio gear.
SassBot
27th July 2012, 22:41
Actually the resampling issue was easily noticeable (by just opening up a browser and playing a Youtube vid for example). However it was mostly high frequencies that were butchered by this bug so not many people noticed.
How did I find out about this myself? Simply because according to audio files that I played in my browsers (not just youtube ones) I could hear extremely well up to 22khz.
Yeah, downloading those files and listening to them through ASIO (or changing the sampling rate in the windows audio settings) I, of course, couldn't hear past 19khz. The lowest frequencies also sounded horribly wrong but it was only noticeable with great audio gear.
It's highly doubtful it was doing that because of that bug since neither any current version of Flash player nor any browser HTML5 video player uses MME.
kalston
27th July 2012, 22:56
And yet it was that and the hotfix (or manually changing the sampling rate to avoid resampling) fixed it. It's clearly resampling artefacts that I was hearing. I can reproduce it 100% on my machine.
http://www.hydrogenaudio.org/forums/index.php?showtopic=86676
http://www.head-fi.org/t/590632/poll-can-you-hear-sound-over-20khz those files on the first post are where I first spotted the issue. With the sampling rate at 48khz in Windows and without the hotfix I can clearly hear nasty things going on on the 22khz file.
SassBot
27th July 2012, 23:03
And yet it was that and the hotfix (or manually changing the sampling rate to avoid resampling) fixed it.
Most likely the latter since, again, neither Flash player nor any HTML5 video player (whichever was being used to play the youtube video) uses MME.
It's clearly resampling artefacts that I was hearing. I can reproduce it 100% on my machine.
I'm sure it was, but it had nothing to do with MME.
kalston
27th July 2012, 23:34
Most likely the latter since, again, neither Flash player nor any HTML5 video player (whichever was being used to play the youtube video) uses MME.
Then you didn't understand me clearly: by keeping my settings and ONLY applying the hotfix, the issue is resolved. By NOT applying the hotfix and keeping my settings, the issue remains unless I change the sampling rate setting.
I believe there is an issue with the audio mixing matrix coefficients. When downmixing 5.1 to stereo, the front channels have a very low level, compared to all the other channels. The difference between them and the rear channels is very great, the latter being much louder. The center channel is louder than the front channels as well (but at least for this one the mixing coefficient is configurable).
This is easy to notice, when using the "normalize matrix" option (and having the clipping option disabled).
nevcairiel
28th July 2012, 19:47
The front channels have a coefficient of 1, while the surrounds have a coefficient of usually 0.7, but thats also configurable.
Its interesting how you noticed the center mix option, but failed to find the surround mix option right below it. :p
Anyway, the volume of all individual channels relative to each other is the same no matter if you apply matrix normalization or not.
The front channels have a coefficient of 1, while the surrounds have a coefficient of usually 0.7, but thats also configurable.
Its interesting how you noticed the center mix option, but failed to find the surround mix option right below it. :p
Anyway, the volume of all individual channels relative to each other is the same no matter if you apply matrix normalization or not.
Hi,
I must have been suffering from temporary blindness, because I have not realized the purpose of the "surround mix level" setting, indeed.
However, the problem that I have described, does indeed exist. And it only manifests itself when "Normalize matrix" is enabled. It does not manifest itself when only "Clipping protection" is enabled.
I don't doubt you when you say that the matrix coefficients for the front channels are 1, but then there's something else which goes wrong, because the front channels do have their level attenuated (or maybe the other channels suffer some sort of additional amplification).
I went again and tested it, with a different sample than my initial one, and the problem was manifested again:
- the front channels suffer from noticeable attenuation of their level
- the center channel, when it starts, is definitely much louder than the front channels
- the rear channels are also louder than the front channels
For my second test, I have used this 6 channel WAV file from Microsoft:
http://www.microsoft.com/windows/windowsmedia/howto/articles/Multichannel.aspx#link6
I have converted it to a 6 channel FLAC file (with foobar2000 and the reference FLAC encoder), and embedded it into a mkv(a) file (with mkvmerge).
Here are all the files:
http://download.microsoft.com/download/winmediatech40/Utility/1.0/W98NT42KMeXP/EN-US/6channel.exe
http://wikisend.com/download/415420/6_Channel_ID.flac
http://wikisend.com/download/733612/6_Channel_ID.mkv
How to reproduce:
- listen to the mkv file, letting the Windows mixer do the downmixing to stereo, or by using LAV but with only the "Clipping protection" option enabled (or listening to the wav or flac in foobar2000, Windows Media Player, etc)
- listen to the mkv, in MPC, after enabling "Normalize Matrix"
What should happen:
- the sound level of the all channels should be the same during the two auditions
What happens:
- the sound level of the channels, relative to each other, is different during the second audition (front channels are very quiet, the center channel is very loud, and the rear channels are louder than the front channel as well)
nevcairiel
29th July 2012, 12:19
That doesn't make any sense, i checked the generated matrix, and it looks fine.
For left and right, the coeffs are like this, respectively:
Original Left/Right: 0.4117
Center: 0.2941
Surround Left/Right: 0.2941
If anything, Left/Right should be louder then the surrounds. Center coming out of two channels now instead of one before should have about the same volume as left/right.
Edit:
I analyzed the audio in that file, and it seems that the center and back channels are just encoded with more gain then the front left/right channels. Its not all that obvious when you play it as 6-channel, but the difference is there.
msoltyspl
29th July 2012, 12:49
Regarding channel downmixing, I did some tests with my old test file (http://soltys.ziu.info/temp/ogg61.mkv) from 6.1 -> 2:0.
From what I can see, the default settings (aside LFE channel by default at 0) should roughly function analogously to this: http://i.imgur.com/pSjm5.png
If I go through ffdshow's mixer without enabling LAV's mixing, or leave the job to windows (for the record, many drivers have issues with handling 6.1 - be it channel order or levels, though x-fi seems to do it fine) - then the file plays with the same perceived loudness for all channels (splitting front and back at sqrt(2)/2 to left and right channels, and side left/right in 1:1 to left/right respectively).
If I enable LAV's mixing, then both front and back play noticably louder then the rest. I have to drag sliders down to around 0.35 - 0.4 to keep them at similar level. All settings/matrix checkboxes are unticked.
So perhaps there's something amiss, or maybe I missed something obvious.
Weirdo
29th July 2012, 13:07
Thanks for the constant updates. Any chance you might add an update check and notification for the LAV filters?
The center and rear channels on the Microsoft file are indeed a bit louder than the front channels. However, the difference in loudness is very small, and by no means what I was hearing.
But now that you've mentioned the coefficients that are supposed to be there, I believe I now know why it's so loud for me.
I have uninstalled v0.50.5, and have installed 0.51.3 (I had no other 0.51 version installed previously). The editable matrix coefficients in the filter configuration page, after just having installed v 0.51.3, are at 0.71 for the center and surround channels, and 0 for the LFE channel, and not the values that you have mentioned in your post.
The tests above, I have done them using these default values that were there in the filter configuration.
After trying 0.29 for the center, and 0.29 for the surround channels, indeed, the awful difference between the front and back channels is gone. Now it sounds just like the wav file sounds, when playing it in Windows Media Player, or in foobar2000. :)
Unless I have changed the values in the user interface, and have no memory left about this, the default values in the filter configuration page are wrong, and should be the ones you mention in your post above.
PS: what should be the coefficient value for the LFE channel ? 0.29 seems too high for the LFE (the LFE channel sounds less loud in Windows Media Player, than in LAVAudio with 0.29 set for LFE) ? foobar2000 also seems to play the LFE channel in the original wav file much louder than WMP plays the LFE channel in the same file.
PS2: actually, using 0.29, the rear channels also sound a little less loud than WMP plays them... (but this is very slightly less loud, so maybe I'm imagining it).
fairchild
29th July 2012, 14:13
All this mixing talk has me enthralled yet confused on what are the correct settings. Nev, should should I just leave the settings at 0.71, 0.71, 0 (Center, Surround, LFE) at their default settings when mixing to Stereo with only Clipping Protection enabled which is the default settings, or should I use 0.29, 0.29, 0? :)
nevcairiel
29th July 2012, 14:15
The editable matrix coefficients in the filter configuration page, after just having installed v 0.51.3, are at 0.71 for the center and surround channels, and 0 for the LFE channel, and not the values that you have mentioned in your post
What i listed above is after matrix normalization, what you configure is before.
The generated mixing matrix looks perfectly fine to me, so unless there is a bug somewhere in the library that actually does the mixing, i have no idea why there should be something wrong. In any case, that library is not my code.
0.71 for Center is the correct mixing level, that is just 1/sqrt(2) to reduce the volume to accomodate for splitting the channel from one to two. With 0.71, the perceived volume of the center should remain the same.
For surround you can argue what the correct level should be. I choose to also use 0.71 to make the volume of the surround a bit lower then the fronts. If you use 1 for surround, the volume of the surrounds should not change at all.
Anyway, i won't be looking at this much more, i have other things to do that are actually fun. If someone is sure that there is something wrong and wants to investigate further, be my guest. Shouldn't be all that difficult to determine if libavresample works as one might expect.
What i listed above is after matrix normalization, what you configure is before.
The generated mixing matrix looks perfectly fine to me, so unless there is a bug somewhere in the library that actually does the mixing, i have no idea why there should be something wrong. In any case, that library is not my code.
0.71 for Center is the correct mixing level, that is just 1/sqrt(2) to reduce the volume to accomodate for splitting the channel from one to two. With 0.71, the perceived volume of the center should remain the same.
For surround you can argue what the correct level should be. I choose to also use 0.71 to make the volume of the surround a bit lower then the fronts. If you use 1 for surround, the volume of the surrounds should not change at all.
Anyway, i won't be looking at this much more, i have other things to do that are actually fun. If someone is sure that there is something wrong and wants to investigate further, be my guest.
Hi,
Well, with 0.71 as the coefficient in the filter configuration page, the file sounds wrong. A simple playback of the original wav file in Windows Media Player, and a playback of the mkv in MPC with LAVAudio doing the down-mixing, reveals that the sound is completely different.
Being Microsoft who has created the wav file, I imagine that it's properly mastered, the channels are properly flagged, and the way it sounds when playing in Windows Media Player is the way it should sound.
I understand your decision to not invest any more time in this. However, the down-mixing feature does not produce a correct output, and that's that then.
Side-note: using 0 for the LFE in the filter configuration, means there will be no LFE sent to the speakers at all, when downmixing to stereo; is this also intended ?
nevcairiel
29th July 2012, 15:39
I suggest to give this version a try, i think i identified the problem in the mixing library and worked around it for the time being.
http://files.1f0.de/lavf/LAVFilters-0.51.3-6-gc33e189.zip
Also, yes, 0 for LFE is intentional as the default value (a recommendation from Dolby when performing downmixes). But its a configuration and you're free to change it for your needs.
e-t172
29th July 2012, 15:50
Also, yes, 0 for LFE is intentional as the default value (a recommendation from Dolby when performing downmixes).
Indeed. I think that's because most stereo systems are unable to handle LFE frequencies. That would increase the risk of clipping with material with heavy LFE content.
dansrfe
29th July 2012, 16:34
Indeed. I think that's because most stereo systems are unable to handle LFE frequencies. That would increase the risk of clipping with material with heavy LFE content.
What if I have 2.1 satellite speaker system that only takes a 2.0 stereo input via single 3.5mm three-conductor plug but feeds LFE frequencies relatively cleanly to the subwoofer? By listening I can tell that the LFE frequencies are nicely separated by whatever mechanism the system uses.
What would be the best values for center, surround and lfe in this case?
nevcairiel
29th July 2012, 16:38
Just increase the LFE to a value that sounds good to you, there aren't really any pre-determined values. A value of 1.0 might even work out OK so you get the original LFE volume.
I suggest to give this version a try, i think i identified the problem in the mixing library and worked around it for the time being.
http://files.1f0.de/lavf/LAVFilters-0.51.3-6-gc33e189.zip
Also, yes, 0 for LFE is intentional as the default value (a recommendation from Dolby when performing downmixes). But its a configuration and you're free to change it for your needs.
Hi,
Thanks for sticking to it. Indeed, with the new build, the sound levels seem to be similar as when played with Windows Media Player, when using 0.71 in the filter configuration for the center and surround channels, with "Normalize Matrix" on. There might be a slight difference, with front an center channels a bit louder than with WMP, but I'm not certain, and it's not easy to notice it, anyway.
Side-note: for LFE, I'm using 0.12, to get the same apparent level as Windows Media Player when playing the 6 channel wav file.
e-t172
29th July 2012, 18:38
Just increase the LFE to a value that sounds good to you, there aren't really any pre-determined values. A value of 1.0 might even work out OK so you get the original LFE volume.
That's not so simple. Dolby specs indicates the LFE channel should be 10 dB louder than any of the main channels (page 21). (http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/L.mn.0002.5.1guide.pdf) So, taking the main channels as reference (x1.0), the LFE signal should be fed to L and R with +7dB gain (10dB - 3dB), or x2.24.
nevcairiel
29th July 2012, 18:41
That's not so simple. Dolby specs indicates the LFE channel should be 10 dB louder than any of the main channels. So, taking the main channels as reference (x1.0), the LFE signal should be fed to L and R with +7dB gain (10dB - 3dB), or x2.24.
It wouldn't be 10dB louder either when playing the original multi-channel format without downmixing either, so this shouldn't be required to be performed in the mixer (unless of course the A/D component is usually doing this).
My guess is that its a spec for the mastering of the file, or the decoder.
e-t172
29th July 2012, 18:53
It wouldn't be 10dB louder either when playing the original multi-channel format without downmixing either
Yes it would, because in this case the receiver does the additional amplification. Or if you're doing analog with a sound card, the sound card is supposed to do this, assuming it has decent bass management features (for example my Xonar does it). The Windows audio engine does it if you ask it to downmix 5.1 to stereo. So if you're doing the downmixing yourself, you need to adjust levels, or the LFE level will be wrong. The rule is simple: if you're mixing LFE with a main channel, the LFE signal should be 10dB louder.
so this shouldn't be required to be performed in the mixer (unless of course the A/D component is usually doing this).
Yes it is. Whatever downmixes the signal does it. If there's no downmixing, then the receiver does it.
My guess is that its a spec for the mastering of the file, or the decoder.
Sorry. You guessed wrong.
http://www.hometheater.com/content/bass-management-and-lfe-channel
http://www.hometheaterhifi.com/volume_7_2/feature-article-misunderstood-lfe-channel-april-2000.html
http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/38_LFE.pdf
Here's a quote from the third link, official Dolby document:
Consumer Dolby Digital products that reproduce multichannel sound must combine the LFE channel in the proper acoustic mixing ratio with the bass from the other channels for proper reproduction. [...] The signal in the LFE channel is calibrated during soundtrack production to be able to contribute 10 dB higher SPL than the same bass signal from any one of the screen (front) channels.
Besides, it actually makes sense: if you want a channel to be always 10dB louder than the rest, then it's better to adjust the level in the last item of the chain (i.e. the amplifier) so that dynamic range in the other channels do not have to suffer.
nevcairiel
29th July 2012, 19:01
The signal in the LFE channel is calibrated during soundtrack production to be able to contribute 10 dB higher SPL than the same bass signal from any one of the screen (front) channels.
Doesn't this say that in production the channel is adjusted to be 10dB louder? At least it sounds to me like that.
Besides, it actually makes sense: if you want a channel to be always 10dB louder than the rest, then it's better to adjust the level in the last item of the chain (i.e. the amplifier) so that dynamic range in the other channels do not have to suffer.
Since when does Dolby make sense? Commercial audio already has the dynamic range butchered to death.
But anyway, the level can be configured, if i need to increase the maximum value i can do that.
e-t172
29th July 2012, 19:13
I already gave you three links. Here's another one, this time the actual Dolby Digital specification (http://www.atsc.org/cms/standards/a_52-2010.pdf) (page 53):
Downmixing of the lfe channel is optional. An ideal downmix would have the lfe channel reproduce at an acoustic level of +10 dB with respect to the left and right channels.
There's also Wikipedia (http://en.wikipedia.org/wiki/Low-frequency_effects):
The LFE channel is conventionally played back 10 dB louder than the main channels, giving significantly more recording headroom.
Genelec agrees too. (http://www.genelec.com/documents/animations/selectable_lfe.swf)
Oh, look, an ITU spec (http://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.775-2-200607-I!!PDF-E.pdf)!
Recommendation ITU-R BR.1384 specifies that the LFE channel is recorded with a level offset of –10 dB for the recording and exchange of multichannel sound programme material, and this offset is compensated for in the reproduction system. For broadcasting applications where signal levels are compliant with Recommendation ITU-R BR.1384, the level of LFE channel should be reproduced with positive offset gain of 10 dB relative to the main channels on reproduction.
NOTE 1 – The film industry encodes the LFE channel such that a positive gain of 10 dB is required on reproduction and the reproduction level for DVD-Video is set to a positive gain of 10 dB relative to the main channels.
Let's see the ITU-R BR.1384 (http://www.itu.int/dms_pubrec/itu-r/rec/br/R-REC-BR.1384-2-201103-I!!PDF-E.pdf) spec that it refers to:
The LFE channel is recorded with a level offset of –10 dB. This offset is compensated for in the reproduction system, where the LFE loudspeaker has an acoustic output (within its low frequency passband) of +10 dB with respect to the other channels, when fed by a signal whose level is equal to the level of the signals feeding each of the L, C, R, LS and RS channels.
If that's still not enough for you, you can try it with any receiver or soundcard with bass management support: feed it a bass signal on a main channel, if bass management is configured correctly it will come out from the subwoofer; then feed it the same signal on the LFE channel, it will also come out from the subwoofer, but it will be 10dB louder.
nevcairiel
29th July 2012, 19:20
I already gave you three links.
Yeah, and i like spending my sundays reading pages of documentation on a topic which is totally irrelevant to the point.
Just to repeat the point:
LFE mixing is disable by default, and anyone that enables it can set the value to whatever he deems correct. This is even in accordance with the Dolby spec you cited, in fact directly after you quote:
Since the inclusion of this channel is optional, any downmix coefficient may be used in practice.
In practice, the user can configure the coefficient they think sounds the best. And with that, the discussion is over. Its the users choice. I made a choice for the default, anything else is totally up to them.
kitame
29th July 2012, 21:07
just give the kid the candy he wants, up the limit to 2.5 >,> but leave the default settings to either 0 or 1.
also can i ask for a master volume with a gain boost? like 200% or so, so i can lower the master control of the soundcard a tad lower, as it is i need to up the volume from 30% to 40% from the master control even if MPC is set to 100%.
or simply put i want MPC to sound louder than the other sound sources set at the same level.
SeeMoreDigital
29th July 2012, 21:09
Well said Nev ;)
Andy o
30th July 2012, 01:39
just give the kid the candy he wants, up the limit to 2.5 >,> but leave the default settings to either 0 or 1.
also can i ask for a master volume with a gain boost? like 200% or so, so i can lower the master control of the soundcard a tad lower, as it is i need to up the volume from 30% to 40% from the master control even if MPC is set to 100%.
or simply put i want MPC to sound louder than the other sound sources set at the same level.
That's a recipe for disaster (clipping). The Windows mixer doesn't only provide multichannel downmixing, it also lets you change relative volume of applications, which would be a better fix for you. The only reason I would use digital gain (carefully) is if I got audible hiss from the amplifier at the volume I listen to.
mzso
30th July 2012, 05:34
Hello nevcairiel!
I was wondering, do you think AMD's HSA will have any sort of interest for multimedia coding/muxing/processing.
kitame
30th July 2012, 10:16
That's a recipe for disaster (clipping). The Windows mixer doesn't only provide multichannel downmixing, it also lets you change relative volume of applications, which would be a better fix for you. The only reason I would use digital gain (carefully) is if I got audible hiss from the amplifier at the volume I listen to.
the problem though is that a number of my applications doesn't have any volume controls even under windows mixer which makes them run at 100% all the time, which really does force me to change the master control all the time and windows mixer isn't so friendly with setting them at these precise numbers making it harder =/.
Andy o
30th July 2012, 10:25
Strange, I've never seen that. If the application's sound is going through the mixer, the control should be there, which applications are these?
DragonQ
30th July 2012, 11:00
Yeah, and i like spending my sundays reading pages of documentation on a topic which is totally irrelevant to the point.
Just to repeat the point:
LFE mixing is disable by default, and anyone that enables it can set the value to whatever he deems correct. This is even in accordance with the Dolby spec you cited, in fact directly after you quote:
Surely the default mixing coefficients should be the coefficients used as "standard"? I mean, that's what you've done with the front and surround channels, why should the LFE be any different? The +10 dB thing is why the LFE channel is always much quieter than the others (when you look at it in an audio editing program). It's so that there's more dynamic range for loud bass thumps. :p
In practice, the user can configure the coefficient they think sounds the best. And with that, the discussion is over. Its the users choice. I made a choice for the default, anything else is totally up to them.
As I understand it, the user can't currently choose the standard +10 dB level right now so that needs fixing. The default level is up to you but I'd have thought implementing the most commonly used setting would make the most sense.
I understand that most PC speakers shouldn't be receiving LFE since they can't handle the frequencies, so maybe you could have the default being 2.24 but then a tickbox saying "mix LFE" that is off by default and greys out the slider? That way users that want LFE can just tick the box and get the correct setting, rather than having to research what the correct setting actually is. Or, have "suggestions" written underneath the sliders? :)
nevcairiel
30th July 2012, 11:16
Surely the default mixing coefficients should be the coefficients used as "standard"?
0 is a perfectly fine standard, as i said earlier, a recommendation by Dolby to not mix LFE into stereo for two reasons: To avoid clipping issues that may arise from mixing even more channels into one, and secondly because a lot of weak stereo systems just don't do low frequencies.
For the slider, it'll remain as-is and there won't be an extra checkbox. I already changed it to accept a higher range of values (up to 3.0).
The problem with the additional dynamic range on the LFE channel is that when you increase the volume by +10dB in the digital signal, you either may get clipping on those "loud bass thumps", or the overall volume of the other channels reduces as clipping protection is engaged, so ideally the volume should be changed as the last step, possibly in the analog domain.
If you use a normalized matrix and set a 2.24 coeff for LFE, the volume of all other channels will be *significantly* reduced, so i would never recommend that. If you don't use the normalized matrix but clipping protection instead, it of course depends on how strong the LFE signal really is, but if that 10dB extra head room is actually used, it may also result in a significant volume loss in the middle of an action scene.
Anyway, in theory there always are "perfect" settings, in practice however the "standard" just has a lot of drawbacks.
The 10dB offset was introduced to allow retaining the full dynamic range in the other channels, while giving the LFE channel a chance to have more volume. If you downmix with that 10dB taken into account, you basically just revert this advantage and reduce the dynamic range of all other channels - thats just not even close to "perfect".
Anyway, i really don't want to spend more time discussing this. I increased the configuration scale, and you can configure it to whatever you think is perfect.
Every minute i spent here arguing, is one minute i cannot spent on developing stuff, so i'll go back to developing stuff. :p
bugmen0t
30th July 2012, 14:20
Is there a way to set all levels to the same defaults like ffdshow, ac3filter, etc. without using a registry hack? (i.e. center = lfe = 1/sqrt(2), surround = 1) With the sliders i cannot achieve accurate values. Probably even hitting exactly 1 gets difficult now with the expanded range.
Is there any intention to make lav audio sound differently than other filters? (lfe = 0 is fine too, of course)
kitame
30th July 2012, 14:56
Is there a way to set all levels to the same defaults like ffdshow, ac3filter, etc. without using a registry hack? (i.e. center = lfe = 1/sqrt(2), surround = 1) With the sliders i cannot achieve accurate values. Probably even hitting exactly 1 gets difficult now with the expanded range.
Is there any intention to make lav audio sound differently than other filters? (lfe = 0 is fine too, of course)
giving it a type box would make it easier, so typing in the number you want will be easier than sliding randomly.
Strange, I've never seen that. If the application's sound is going through the mixer, the control should be there, which applications are these?
they're emulators.
DragonQ
30th July 2012, 15:30
Is there a way to set all levels to the same defaults like ffdshow, ac3filter, etc. without using a registry hack? (i.e. center = lfe = 1/sqrt(2), surround = 1) With the sliders i cannot achieve accurate values. Probably even hitting exactly 1 gets difficult now with the expanded range.
Is there any intention to make lav audio sound differently than other filters? (lfe = 0 is fine too, of course)
You can use the left/right arrows on your keyboard. That usually lets you get to exact values with sliders.
egur
30th July 2012, 21:26
would it be enough to replace the beta Media SDK .dll with the older one (official driver, or just put the older into the lav splitter dir instead directly) to get it back working or is it a deeper issue ;) ?
I'm afraid the problems are across the board.
I've released a new version that should handle the current problems. It has more robust code so I recommend using it on production drivers. Also fixed some a/v sync issue (not relevant to LAV filters).
For LAV to work with the new DLL under the problematic driver, it needs to disable most of the multithreading features (e.g. just keep MT copy). I hope Nev will not produce such an ugly workaround. A dialog with QS options in LAV would be nice for testing purposes though...
strumf666
31st July 2012, 01:54
In some movies I get upsampling and upmixing on audio; can this be disabled somehow? I am bitstreaming audio through HDMI to AV receiver.
http://shrani.si/t/2R/8s/3Xp7SO1S/potplayer.jpg (http://shrani.si/?2R/8s/3Xp7SO1S/potplayer.jpg)
Andy o
31st July 2012, 04:07
If you're bitstreaming, LAV is not upsampling. What you're seeing there, the "output" information, is normal for bitstreaming DTS-HD. If there is any upmixing that you're having is not from your PC, it's from your receiver.
strumf666
31st July 2012, 04:37
Regarding the channels you are correct , I can see it on the AVR that it is being fed only 5.1 (and the receiver is upmixing it to 7.1), so the info display in potplayer seems to be broken (or I don't understand why it doesn't show same as source). Regarding the sample frequency I can not see it on the receiver so I can not verify it.
Another test with a DD 2.0 source:
http://shrani.si/t/3s/Ee/1J4Opb7T/potplayer2.jpg (http://shrani.si/?3s/Ee/1J4Opb7T/potplayer2.jpg)
And regular DTS:
http://shrani.si/t/d/ss/kgNOcBm/potplayer3.jpg (http://shrani.si/?d/ss/kgNOcBm/potplayer3.jpg)
edit: Another question - The aspect ratio and output resolution differs in all three screenshots is that normal/bug as well or have I set something wrong?
Andy o
31st July 2012, 05:01
If you're bitstreaming, it's simply not upsampling. There's no way it can even do that (besides decoding->upsampling->reencoding, which is impossible with DTS-HD right now).
Re: aspect ratio, it seems your player is set to somehow stretch horizontally to screen width, which I assume is 2048 pixels. There's no option to preserve original AR?
strumf666
31st July 2012, 05:19
Both my screens are the standard 192x1080 so I am not really sure why the stretching.
Or is it a bug again? I don't seem to remember having noticed the non-matching output until I started using lav+madvr in potplayer. Now I am not sure if the problem is with potplayer od madvr and/or lav.
http://shrani.si/t/m/kY/4wkxsmIM/potplayerar.jpg (http://shrani.si/?m/kY/4wkxsmIM/potplayerar.jpg)
http://shrani.si/t/3v/gh/4SyCIz6w/potplayerar2.jpg (http://shrani.si/?3v/gh/4SyCIz6w/potplayerar2.jpg)
Andy o
31st July 2012, 06:47
Can't just switch players and test? I think most of us are using MPC-HC.
nevcairiel
31st July 2012, 06:52
This is a failure in PotPlayers OSD. Most video decoders will output it as 2048, because the renderer asks for that (better alignment). However, the extra pixels are empty padding and the renderer will not show it. Don't trust such an OSD at face value if you don't know how to interpret it properly
DragonQ
31st July 2012, 10:43
Aspect ratio looks fine to me - the BBC thing will be 16:9 so fills the frame, the others are films which are usually wider than 16:9 so will have black bars top & bottom.
strumf666
31st July 2012, 12:50
Ok, thanks for explanation :)
nevcairiel
2nd August 2012, 17:09
Hey,
Test version time!
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-15-g17143fc.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-15-g17143fc-x64.zip
In this version, i worked on fully moving the avcodec decoder to my new decoding worker thread which was introduced a few versions back, but was only completely used by the WMV DMO decoder until now.
The big advantage of this change is that decoding now runs completely independent of the main processing thread. This means that decoding and the processing can run in parallel.
What does that mean for you?
- Processing in LAV includes YADIF and any pixel format conversion, including YUV->RGB, etc.
- It also includes any processing done in another filter in the graph, which does not do its own multi-threading, like ffdshow.
You'll see the biggest advantages in single-threaded decoders, or when running with low threads. Single-threaded H264 decoding by itself is around ~5% faster.
In combination with YUV->RGB conversion or with YADIF, single-threaded H264 is significantly faster, activating both is now fully transparent on my system, which means the FPS does not change at all, no matter if you do the processing, or you do not. All thanks to just making it run in parallel to the decoding, instead of everything in a series.
Multi-threaded decoding does not benefit that much from it, because the decoding is already running in dedicated threads, however performance may still improve when doing very extensive processing.
The downside of it?
Multi-threaded decoding may be *slightly* slower then with a decoder which does not do this. The reason for this is the extra synchronization between the decoder thread and the main thread. Note that this synchronization does not use more CPU, it just has to wait on critical sections. During the wait, the CPU is given to any other threads that want it. So it may be slightly slower, but it doesn't use more CPU, so the CPU is still free for any other tasks (post-processing, etc).
It all comes down to benchmarking vs. real world applications. In the real world, this design is much better in all cases, just in benchmarks where only the decoder is measured and not the whole playback system, there may be a very minor disadvantage (we're talking usually less then 1% here)
I wanted to draw a picture of the processing flow before (and with most other decoders), and after the change, but my art skills suck too much. Maybe i'll do it for the release version.
@Test Version:
Obviously i posted the version because i think its a good idea to test it. If you encounter any weird decoding failures, or even crashes, which did not happen with the previous version, please report them directly. :)
SamuriHL
2nd August 2012, 17:38
8>Build started 8/2/2012 12:20:22 PM.
8>InitializeBuildStatus:
8> Creating "c:\dev\projects\lavfilters\bin_Win32\LAVSplitter\LAVSplitter.unsuc
cessfulbuild" because "AlwaysCreate" was specified.
7>decoders\avcodec.cpp(511): error C2065: 'm_bDXVA' : undeclared identifier
7> dxva2dec.cpp
Nev, I'm getting that when I build the latest. Any ideas?
Sebastiii
2nd August 2012, 17:40
Thanks Nev, nice feature and i will try ASAP :P
nevcairiel
2nd August 2012, 17:46
Nev, I'm getting that when I build the latest. Any ideas?
Works just fine here.
SamuriHL
2nd August 2012, 17:46
Lovely. I'll blast it and pull clean.
andyvt
2nd August 2012, 17:49
Works just fine here.
Would you consider including a feature that refuses connections from the splitter to specific filters?
Sebastiii
2nd August 2012, 18:32
Works just fine here.
Fine too :)
nevcairiel
2nd August 2012, 18:42
Would you consider including a feature that refuses connections from the splitter to specific filters?
If you don't want to use a specific filter, just unregister it? :)
andyvt
2nd August 2012, 18:55
If you don't want to use a specific filter, just unregister it? :)
It would break the application that uses it.
nevcairiel
2nd August 2012, 19:12
Lower the merit then, so its not used unless directly requested?
I don't think its the splitters job to do graph-construction related decisions.
andyvt
2nd August 2012, 19:21
Lower the merit then, so its not used unless directly requested?
It's a preferred filter in the process, so merit doesn't come into play.
The use case is WMC + the MS Audio Decoder. I can't make it not load w/o breaking TV, but it likes to connect to lav for files where I would prefer lav audio.
I don't think its the splitters job to do graph-construction related decisions.
I wholeheartedly agree in concept, but reality is a bitch.
TBC, I wasn't asking you to do the work, just if I did it and submitted a patch if it would be considered. Obviously I don't need approval to run it locally, but since my git skills are crap I was hoping to avoid having to continuously merge in your changes.
mzso
2nd August 2012, 21:15
I had decoding speed issues with the test version of a an interlaced TS file. Jerkyness or slow motion, depending on renderer. I use CUVID, with adaptive interlacing and doubling mode. Reinstalling old version fixed the problem.
General #8900
ID : 8900 (0x22C4)
Complete name :
Format : MPEG-TS
File size : 5.68 GiB
Duration : 1h 27mn
Overall bit rate mode : Variable
Overall bit rate : 9 299 Kbps
Video #391
ID : 391 (0x187)
Menu ID : 1591 (0x637)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : 27
Duration : 1h 27mn
Bit rate : 8 586 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Standard : Component
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.166
Stream size : 5.25 GiB (92%)
Color primaries : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics : BT.709-5, BT.1361
Matrix coefficients : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177
Audio #491
ID : 491 (0x1EB)
Menu ID : 1591 (0x637)
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Muxing mode : ADTS
Codec ID : 15
Duration : 1h 27mn
Bit rate mode : Variable
Bit rate : 251 Kbps
Minimum bit rate : 6 000 bps
Maximum bit rate : 283 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Delay relative to video : -1s 275ms
Stream size : 157 MiB (3%)
Edit: So now after restart and reisntalling again there is no problem. Looks like I hit the (unidentified) transient problem where the video plays back jerkily for seemingly no reason.
Boltron
3rd August 2012, 02:36
Nev, I ran your test version LAVFilters-...5-g17143fc.zip and I have encountered a problem I have never had before. After about 25 minutes of play, playback just locks up very hard. This never happened before. I am running MC17 with Lav and madVR on Win7 64 but I use you x86 package. I am watching a 720p TV show.
I can't say for sure that you test version is the cause, but just to repeat, I have never had a lock up like this. I will put 51.3 back and see if the issue reoccurs.
noee
3rd August 2012, 02:40
Same problem here, but only after a seek, with MC17, MC18 and MPC-HC. But I just built the latest git and it's working as expected again.
ryrynz
3rd August 2012, 02:59
Just throwing this out there.. Nev would you add Avisynth scripting support if enough users contributed payments to implement it? Also, who here would be interested enough in this feature that you would consider funding the development of it? Cheers.
nevcairiel
3rd August 2012, 06:47
Nev, I ran your test version LAVFilters-...5-g17143fc.zip and I have encountered a problem I have never had before. After about 25 minutes of play, playback just locks up very hard.
Same problem here, but only after a seek, with MC17, MC18 and MPC-HC.
I found a potential race condition resulting in a deadlock in the revised threading code in the last test version, which could possibly cause this.
Here is a new version:
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-18-g840eda7.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-18-g840eda7-x64.zip
nevcairiel
3rd August 2012, 07:25
Just throwing this out there.. Nev would you add Avisynth scripting support if enough users contributed payments to implement it?
If only money could buy additional time to do it. I have a full-time job, and all the time that remains is not for sale. :p
I'm not ruling it out completely, it may happen eventually, but i had a brief look at the AviSynth API a while ago, and it seemed rather horribad, so motivation quickly faded.
mzso
3rd August 2012, 08:16
If only money could buy additional time to do it. I have a full-time job, and all the time that remains is not for sale. :p
I'm not ruling it out completely, it may happen eventually, but i had a brief look at the AviSynth API a while ago, and it seemed rather horribad, so motivation quickly faded.
How about an own scripting for LAV? :D (Guess it would be even more work)
Paladin77
3rd August 2012, 08:41
Hey Nev. Just dropped by to say thank you for the great work you put forth towards LAV filters. I have recently upgraded my system to the one shown in my signature. I am using the DXVA copyback method using madVR as a render and everything is running fine :) Just quick question though. in AMD catalyst there are a barrage of settings pertaining to quality like edge enhancements and NR. I looked around and there seems to be alot confusion and debate as to whether to keep these settings on or off. Would like to get some insight from you if that is possible.
Kind regards.
nevcairiel
3rd August 2012, 08:43
My personal opinion is to turn all post-processing off. Most of the options won't affect madVR anyway (unless you're deinterlacing in madVR), but to be safe i would turn them off - unless of course you like all this post-processing junk. :p
ryrynz
3rd August 2012, 09:01
If only money could buy additional time to do it. I have a full-time job, and all the time that remains is not for sale. :p
Damn you Diablo III.
I'm not ruling it out completely, it may happen eventually, but i had a brief look at the AviSynth API a while ago, and it seemed rather horribad, so motivation quickly faded.
Any chance of just pulling things from ffdshow? Would make things easier maybe? (Although you'd still have to get your hands dirty, I've heard ffdshow code is little messy)
unless of course you like all this post-processing junk. :p
Hey now... :p
nevcairiel
3rd August 2012, 09:02
Damn you Diablo III.
I'm actually not playing much anymore, most of the time i actually spend using LAV for watching movies. :P
Any chance of just pulling things from ffdshow? Would make things easier maybe? (Although you'd still have to get your hands dirty, I've heard ffdshow code is little messy)
I briefly looked at that too, but its not only a little messy, but really messy. Would still be a significant effort to port that somehow.
ryrynz
3rd August 2012, 09:32
most of the time i actually spend using LAV for watching movies. :P
Nice, nothing quite like seeing your own handiwork in action.
Would still be a significant effort to port that somehow.
Will just have to wait it out then, I could poke Haruhiko to maybe creating a branch and look at porting some stuff over, that would be very very cool.
JohnnyFu
3rd August 2012, 09:36
During evaluation of h264 software decoders we realized we cannot decode four h264 streams at the same without violating our software specification requirements for CPU load.
LAV filters are totally new to me, is LAV Video Decoder capable to make use of kind of hardware acceleration when decoding two, three or four h264 video streams at the same time for all decoding processes?
Kurtnoise
3rd August 2012, 10:14
Why not testing by yourself and see what happens ?
kitame
3rd August 2012, 13:24
How about an own scripting for LAV? :D (Guess it would be even more work)
i second this idea, native interpolation script at specific refresh rates would be something fascinating.
DragonQ
3rd August 2012, 13:34
Being able to access hardware deinterlacing for re-encoding would be nice. Every piece of software I've tried that supposedly supports this (admittedly it was probably only 2 :p) didn't work. Failing that, I tried to find software that would resize and re-encode interlaced material as without de-interlacing but I couldn't find any of those either. :(
Pat357
3rd August 2012, 14:54
Being able to access hardware deinterlacing for re-encoding would be nice. Every piece of software I've tried that supposedly supports this (admittedly it was probably only 2 :p) didn't work. Failing that, I tried to find software that would resize and re-encode interlaced material as without de-interlacing but I couldn't find any of those either. :(
I know at least 2 solutions that are working (tried/used both myself) :
1) DGdecNV
2) LAV in Cuvid mode with DirectShowSource and .GRF files (with graphstudioNext).
Boltron
3rd August 2012, 16:22
I found a potential race condition resulting in a deadlock in the revised threading code in the last test version, which could possibly cause this.
Here is a new version:
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-18-g840eda7.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-18-g840eda7-x64.zip
Looking good so far. I have left a couple movies play with no issues.
Pat357
3rd August 2012, 18:22
Nev,
Congrats with the conversion to worker-threads for all Libav decoders. It seems it went with considerably less pain than the MS DMO decoder at that time ;)
nevcairiel
3rd August 2012, 18:24
Well all the plumbing was already finished and tested, so it was easier. :p
kitame
3rd August 2012, 20:20
curious, how would this affect playback on dual core PCs, would there be any visible improvements?
also at the moment which splitter is more efficient, lav's or haali's?
fastplayer
4th August 2012, 11:31
I've noticed image and sound corruption at the end of this clip (http://www.sendspace.com/file/gl3wep) with the latest test build (g840eda7). 0.51.3 seems to be fine though.
RealSnoopyDog
4th August 2012, 11:38
Hi nevcairiel, the latest test build works perfect for me, no problems with live tv or file playback (h.264/vc1/mpeg2/mp4)!
Is it possible to add the output configuration "Mono" to the audio downmixer?
nevcairiel
4th August 2012, 12:16
I've noticed image and sound corruption at the end of this clip (http://www.sendspace.com/file/gl3wep) with the latest test build (g840eda7). 0.51.3 seems to be fine though.
Thanks, fixed.
Is it possible to add the output configuration "Mono" to the audio downmixer?
I'll add it for the next version.
RealSnoopyDog
4th August 2012, 12:27
Great :) Thank you
fagoatse
5th August 2012, 23:27
Hmm, I've just updated to 0.51.3 840eda7 and noticed that dxva2 native no longer works, it say so No DXVA in OSD. CB works just fine though. When trying to use native it says active codec: avcodec while in CB it says dxva2-cb. No idea whats going on, I've updated gpu drivers, mpc-hc janwillem's fork and added xy-vsfilter, all at the same time so I guess it's not necessarily lavf's fault. Any clues though?
also noticed that in OSD under decoder it says DirectVobSub : S wtf, im quite certain it used to say Lav Video before.
Keiyakusha
6th August 2012, 00:00
If you want native DXVA to work - remove vsfilter. Any in-between filters are not allowed.
EDIT: On the other hand. I don't know any reasons to use native DXVA. Do you know any?
The Seeker
6th August 2012, 01:16
EDIT: On the other hand. I don't know any reasons to use native DXVA. Do you know any?
Masochism?
ajp_anton
6th August 2012, 03:39
On the other hand. I don't know any reasons to use native DXVA. Do you know any?Desperate prolonging of battery life.
DragonQ
6th August 2012, 10:08
I use DXVA native on my laptop because it uses less CPU and generates less heat. I use DXVA Native on my HTPC because it uses less energy (thus cheaper).
kitame
6th August 2012, 12:28
^ i dunno, with intel's sandy pentium and celeron consuming barely >40watt i doubt a loaded cpu is an issue >,>
PS: loaded and idle power consumptions on these cpus arent that far apart, a loaded GPU would've contributed more wattage to the total system power consumption, just sayin.
edit: btw check out G440's power consumption levels being compared to an amd E350. http://www.xbitlabs.com/articles/cpu/display/celeron-g540-g440_8.html#sect0
ajp_anton
6th August 2012, 13:55
My desktop SNB i7 computer uses 20W more with software decoding than when idle. This feels like a worst case scenario.
This results in an additional cost of about 0.01€ per movie.
So the only reasons I see are heat and battery life.
nlnl
6th August 2012, 14:13
Hardware deinterlacing needs native DXVA (if you do not prefer Madvr :))
nevcairiel
6th August 2012, 14:30
Hardware deinterlacing works with any kind of decoder, you just need to make sure you output NV12 to the renderer. It works just fine with all decoders LAV offers, as well as both EVR and madVR (and probably even VMR-9)
The "myth" that hardware deinterlacing also needs hardware decoding is just wrong.
Keiyakusha
6th August 2012, 14:32
Don't know about AMD but Intel's processors don't consume maximum power they can when decoding video. They run at half clock maximum and this doesn't consumes more power. Plus they have their own quicksync stuff, plus I doubt it consumes less power than DXVA CB, the actual chip on the GPU does exactly the same job.
My quesion is not "why use dxva" but "why use native dxva"
Hardware deinterlacing sounds like the only good reason.
UPD: never mind, didn't saw nev's response about deinterlacing
SeeMoreDigital
6th August 2012, 14:44
Hi Nev,
Is there any chance you could add a Opus audio decoder filter?
nevcairiel
6th August 2012, 17:29
Is there any chance you could add a Opus audio decoder filter?
If you can provide a sample file (or two), i can have a look.
DragonQ
6th August 2012, 17:39
^ i dunno, with intel's sandy pentium and celeron consuming barely >40watt i doubt a loaded cpu is an issue >,>
PS: loaded and idle power consumptions on these cpus arent that far apart, a loaded GPU would've contributed more wattage to the total system power consumption, just sayin.
edit: btw check out G440's power consumption levels being compared to an amd E350. http://www.xbitlabs.com/articles/cpu/display/celeron-g540-g440_8.html#sect0
Dunno if you're referring to me but if so:
- My HTPC (Sandy Bridge + nVidia, see sig) uses 15-20% less power in DXVA mode compared to CUDA (don't have the exact figures here but I wrote them down somewhere).
- My laptop's CPU (Arrandale) is at ~50% when playing a 1080i/25 HDTV recording with software decoding and only ~20% with DXVA. GPU usage is barely any different between the two (again I might be remembering wrongly but it's something like that). Haven't tested power consumption directly but heat output is noticeably lower with DXVA according to my hand. :p
easyfab
6th August 2012, 18:19
Nice idea the opus decoder.
Here is a sample : https://people.xiph.org/~giles/2012/opus/
Keiyakusha
6th August 2012, 18:21
- My HTPC (Sandy Bridge + nVidia, see sig) uses 15-20% less power in DXVA mode compared to CUDA (don't have the exact figures here but I wrote them down somewhere).
Thats true. cuda always reacquires GPU to operate at maximum power state and consumes extra power for whatever it needs to do, while DXVA works at second power state.
I dunno but assuming you not using anything else gpu-intensive like madvr, top GPUs maybe (maybe not) even can manage in 1st power state (like in case when you run only Aero and nothing more).
EDIT: and from my expirience cuda, or actually cuvid results the same speed as dxva cb. So the only reason to use cuda is to decode mpeg4-asp...
In other words for me dxva cb is a clear winner in all categories.
DragonQ
6th August 2012, 19:11
I did try an application to force the GPU into the "medium" power mode for CUDA but it turns out the GT430 can't handle that. DXVA works fine though so no big deal. :)
SeeMoreDigital
6th August 2012, 19:13
If you can provide a sample file (or two), i can have a look.
Here you go for the first one: http://www.sendspace.com/file/ezi6q3
I generated it using LameXP v4.05 Beta-1 (http://forum.doom9.org/showthread.php?p=1585748#post1585748) from a PCM.WAV file. Currently, the only way I can check how well Opus encodes sound, is to re-encode them back to PCM.WAV
Early indications are that Opus sounds very good at low bit-rates ;)
Cheers
chros
6th August 2012, 19:31
I did try an application to force the GPU into the "medium" power mode for CUDA but it turns out the GT430 can't handle that. DXVA works fine though so no big deal. :)
Have you tried with nvidia inspector through the command line?
Eg. this is put my Geforce 9600M GT into P8 state (this is the 2nd one in the raw):
"D:\Install\Benchmarks\NVIDIA Inspector\nvidiaInspector.exe" -forcePState:0,8
And this is put it back into the auto state:
"D:\Install\Benchmarks\NVIDIA Inspector\nvidiaInspector.exe" -forcePState:0,16
And you can create desktop shortcuts from these, of course, if you want.
I can use the P8 sate to watch 1080p@24Hz and 720p@24Hz content on the fullhd display. If the fps of the media file is bigger (eg. 720p@30Hz), then I have to put the GPU into the Auto state (it uses the max state, P0) for not to get stuttering.
Keiyakusha
6th August 2012, 19:44
I believe on GT4** you can use dxva-cb and madvr without going beyond middle power state. Maybe depends on madvr options I don't remember... (there was no antiringing and stuff when I tried last time) On gt5** I wasn't able to go beyond middle power state so far when watching video. I probably need to plug in heavy fft3dgpu denoiser in my playback chain to do that :P
Reino
6th August 2012, 20:00
Currently, the only way I can check how well Opus encodes sound, is to re-encode them back to PCM.WAVYou can use opusdec.exe of course, but there already is a DirectShow filter with OPUS support.
DragonQ
6th August 2012, 21:15
Have you tried with nvidia inspector through the command line?
Eg. this is put my Geforce 9600M GT into P8 state (this is the 2nd one in the raw):
"D:\Install\Benchmarks\NVIDIA Inspector\nvidiaInspector.exe" -forcePState:0,8
And this is put it back into the auto state:
"D:\Install\Benchmarks\NVIDIA Inspector\nvidiaInspector.exe" -forcePState:0,16
And you can create desktop shortcuts from these, of course, if you want.
I can use the P8 sate to watch 1080p@24Hz and 720p@24Hz content on the fullhd display. If the fps of the media file is bigger (eg. 720p@30Hz), then I have to put the GPU into the Auto state (it uses the max state, P0) for not to get stuttering.
That is the program I used, yes. Desktop shortcuts are way too much hassle when everything works fine in DXVA - MediaPortal just changes the refresh rate according to the content (24/50/60p). I don't think there's any real advantage to using CUDA with that application anyway (doesn't use MadVR, only EVR).
balkerman
7th August 2012, 00:06
LAV Source did not recognise the forced subs in Bluray John Carter. Tried Eng forced and custom in Lav Source. Only way to make them appear was to manually select Eng sub (#23 from memory). Not had this issue since I started using LAV a few years back.
Pat357
7th August 2012, 01:46
On gt5** I wasn't able to go beyond middle power state so far when watching video. I probably need to plug in heavy fft3dgpu denoiser in my playback chain to do that :P
FFT3DGPU isn't be needed for that : play a VC-1 1080i60 movie in DXVA-CB or with CUVID and madVR as renderer : MadVR will do the deinterlacing for DXVA-CB. Further enable Lanczos with the anti-ringing....
RealSnoopyDog
7th August 2012, 06:32
Thanks, fixed.
Quote:
Originally Posted by RealSnoopyDog View Post
Is it possible to add the output configuration "Mono" to the audio downmixer?
I'll add it for the next version.
I had some time to look at the sources and saw that current version is already capable of downmixing to Mono. When i manually write the value "4" (AV_CH_LAYOUT_MONO=AV_CH_FRONT_CENTER) to "MixingLayout" in the Registry then it's downmixing to Mono ;) And i saw that you added the option to the configuration dialog - thank you!
ajp_anton
7th August 2012, 11:00
Don't know about AMD but Intel's processors don't consume maximum power they can when decoding video. They run at half clock maximum and this doesn't consumes more power. Plus they have their own quicksync stuff, plus I doubt it consumes less power than DXVA CB, the actual chip on the GPU does exactly the same job.
My quesion is not "why use dxva" but "why use native dxva"That's why I used the word "desperately", because it uses ever so slightly less power to not copy the frames back and forth.
cyberbeing
7th August 2012, 16:01
It appears that threading doesn't always properly activate in the 0.51.3-15 and 0.51.3-18 test builds when benchmarking with Avisynth 2.6 DirectShowSource & AVSMeter 1.21.
CPU usage reported by Windows Task Manager goes strange too. Sometimes it reports 0-1% for an entire run and other times 25% CPU usage when this issue occurs, even though benched fps is identical (125fps min | 300fps max | 200fps avg). And then at random it will start acting normally again with 100% CPU usage (250fps min | 1000fps max | 525fps avg). Official 0.51.3 release seems to be unaffected.
The script contained nothing but directshow source with a 1280x720 10-bit h.264 video, so there is a YV12 conversion performed by LAV Video. The splitter was Haali Media Splitter:
directshowsource("test.mkv", fps=24/1.001, audio=false, pixel_type="YV12")
nevcairiel
7th August 2012, 16:06
Thats not really possible, it has nothing that would make it randomly fallback to single threading for some reason, unless your splitter behaves unpredictable and sometimes doesn't provide a proper media type (which is the only reason it would even disable multithreading)
How would it even produce ~200 fps average on 1% cpu? :D
Note that -15 was still buggy, and you should not use it for anything.
Somehow i think your testing tool is faulty, these results don't make much sense.
cyberbeing
7th August 2012, 16:16
It could very well be a bug in AVSMeter (http://forum.doom9.org/showthread.php?t=165528), I just found it strange as well. I do have "Use custom media type" (CCV1) and auto-load VSFilter enabled in Haali if that matters. It's not VSFilter related though, since it happens even when it's unregistered.
Edit: It appears the performance reported by the bugged runs identically matches the min/avg fps of LAV Video with 2 threads, which makes it even more strange.
Edit2: I reproduced the same problem with avs2pipemod 0.4.1 (-benchmark), so it seems it's not a AVSMeter exclusive issue. Rather it would seem to suggest that the new LAV Video threading may have compatibility issues with DirectShowSource in general. The Avisynth 2.6 build I'm using is xhmikosr's.
Edit3: The CPU is definitely more active than the 1-5% Usage which Task Manager shows. RealTemp shows a ~40% load which explains why the results nearly match LAV Video with 2 threads. It also seems to have a tendency to always occur right after I reboot for whatever reason, even if it randomly starting working normally before the reboot (Win7 x64, i5-3570K).
nevcairiel
7th August 2012, 20:13
I see no reason for any slow downs. The nature of the change is quite simple, there is really only 3 outcomes: It works, it deadlocks, or it works and causes video corruption. A deadlock was what happend with the -15 build, and is fixed since, and i've yet to find a codec inside avcodec that corrupted. I just don't see how it can really slow down there.
How often does the problem occur? Can it easily be reproduced by just trying a few times?
If its easy enough to re-produce to form a conclusion, does it happen with LAV as splitter?
Anyhow, the advantage on already multithreaded codecs is nearly zero, so i might as well turn it off for those (it just uses more RAM when running with those)
Speaking of RAM, looking at AVSMeter running, either it or AviSynth itself seem to leak massive amounts of memory, it uses significantly more then say MPC-HC just playing that file, and is constantly increasing.
Soukyuu
7th August 2012, 22:15
I am not sure whether to post this here or on the madVR thread, but I found some weird behavior when playing back a certain scene (https://dl.dropbox.com/u/19330332/test.mp4) of a h264 file (114Mb, rightclick->save as...).
Following setup:
- MPC-HC 1.6.2.4902
- Haali Media Splitter
- LAV Audio+Video Decoder 0.51.3
- madVR v0.82.5/EVR custom pres
Following problem:
From 0:14 to 0:22 in the above clip, madVR stutters horribly, EVR much less but still noticeable.
Once I block LAV Video Decoder and use MPC-HC internal one, the clip plays back smoothly with either renderer.
It doesn't matter if I only encode this scene, or the whole cutscene, it always stutters at the same frames.
There is no noticeable increase in CPU usage (well below 20% on each of the 4 cores), while GPU usage actually drops.
The source material (MJPEG recorded from the game with msi afterburner) plays smoothly with LAV, so it must be a h264 specific problem.
I encoded the clip with x264 rev2200, no special settings (--crf 24 --b-adapt 2 --qpmax 51 --me umh) using MeGUI.
I hope there is no legal issue with uploading this scene as an example, as it's not the whole cutscene and the footage was not obtained illegally.
Keiyakusha
7th August 2012, 22:19
check if you use dxva cuvid or quicksync. it maybe hardware related problem. specific part of the video may be more complex and your hardware maybe not good enough to handle that part of the video. modern nvidia cards with vp4-vp5 engine for example can eat any h264 video, but not the older ones
EDIT: Maximum bit rate : 100 Mbps omg, who ever created this he need to rethink his encoding approach. if you DO use hardware decoding it may be hardware problem as I expected because this high bitrate exactly at the time you saying and looking at the picture its pretty obvious why such bitrate is there. Bit for hardware decoders this may be too much.
EDIT2: this is not good (http://i.imgur.com/aeZBA.png). mpc-hc uses software decoder when you switch probably.
nevcairiel
7th August 2012, 22:29
I am not sure whether to post this here or on the madVR thread, but I found some weird behavior when playing back a certain scene (https://dl.dropbox.com/u/19330332/test.mp4) of a h264 file (114Mb, rightclick->save as...).
I cannot detect any problems with that file, seems to decode just fine here.
May be caused by the extremely high bitrate in that section. On my system at least it works fine with both software and hardware decoding, but i have pretty good and recent hardware which can deal with high-bitrate clips like this.
Keiyakusha
7th August 2012, 22:56
I was playing more with this video, my hardware decoders does statter on it. Software LAV seems to be fine if not to count few runs when I got error in avcodec-lav-54.dll (Microsoft C++ runtime "application requested to terminate it in unusual way")
EDIT: actually i tested only DXVA before, other hardware versions doesn't stutter for me. however note that the video itself contains some duplicate frames that may look like stuttering and frame drops.
nevcairiel
7th August 2012, 22:58
I got error in avcodec-lav-54.dll (Microsoft C++ runtime "application requested to terminate it in unusual way")
Thats a bug in the latest test builds which i'm still trying to find, not sure how it can happen yet. I have turned off part of the new multi-threading handling until i can find it (i planned ahead and made it controllable with a switch :p)
edwrap
7th August 2012, 23:06
just a quick question about one of your recent commits, nev
Always try fallback reconnect instead of giving up completely.
does this mean playback will more reliably resume after a system standby? it usually doesn't on my laptop, though I'm not sure if that's because of my wifi/router, mpc-hc, or lav specifically
Pat357
7th August 2012, 23:48
Speaking of RAM, looking at AVSMeter running, either it or AviSynth itself seem to leak massive amounts of memory, it uses significantly more then say MPC-HC just playing that file, and is constantly increasing.
It's probably buffering more and more frames.
That's when the setting
"SetMemoryMax(xx)" xx = max RAM allowed [MB]"
comes handy.
Now that I think about it : AVSMeter also creates a buffer...:D
Pat357
8th August 2012, 00:14
just a quick question about one of your recent commits, nev
does this mean playback will more reliably resume after a system standby? it usually doesn't on my laptop, though I'm not sure if that's because of my wifi/router, mpc-hc, or lav specifically
Do you maybe connect wireless to another system where your movies are stored ?
Put a decent wire between or try with MPC and LAV installed on the other PC, at least in case if it's a PC.
This should exclude your Wifi from this problem.
cyberbeing
8th August 2012, 02:57
How often does the problem occur?
Almost always. It's rare to see normal results.
Can it easily be reproduced by just trying a few times?
Yes.
If its easy enough to re-produce to form a conclusion, does it happen with LAV as splitter?
Yes.
Speaking of RAM, looking at AVSMeter running, either it or AviSynth itself seem to leak massive amounts of memory, it uses significantly more then say MPC-HC just playing that file, and is constantly increasing.
Probably just Avisynth. If you add an extremely low value like SetMemoryMax(4) or SetMemoryMax(16) to the beginning of the script, it will cap out at roughly MPC-HC memory use +XXMB, where XX is the value you set.
NanoBot
8th August 2012, 03:02
Hi nevcairiel, hi everybody !
Since I just saw some postings concerning buffering, I would like to suggest a new feature.
A few days ago, I got my first notebook, which is equipped with a 630M based Optimus graphics solution, 300mBit/s WLAN and 1GBit LAN. After installing MPC-HC, LAV-Filters and MadVR, I am able to playback all my media files like I am used to on my desktop PC, if they are located on the local hard drive of the notebook. Nevertheless, it was the first time I tried to playback media files which are located on network drives, and this is giving me heavy trouble, especially on media files with high average and peak bitrates. When I am trying to playback such files via WLAN, which connects with full 300mbit/s, depending on the bitrate the video stalls within 10s - 60s, while the audio playback continues. But even when using the 1GBit LAN, which in fact is running at full speed, the playback of high bitrate files show the same symptoms earlier or later.
My best guess is, that from time to time the network latency is to big, which causes a buffer underrun. And since I am using LAV splitter, I think that this buffer is located within LAV splitter, and if my assumption is correct, has to be increased here. That's also the reason why I am posting my suggestion here and not in the MPC-HC thread.
To have a comparision with other media player applications, I gave the well known VLC player a shot, and it does not have such problems, if I am increasing the SMB buffer size like described here:
http://www.ehow.com/how_8454118_change-buffer-vlc.html
If my conclusions about the reason for the playback problems are correct, I would like to suggest to add the following feature to the splitter part of LAV filters:
Whenever the user opens a new media file, the splitter checks if the file is located on a network drive or not. This could be done by interpreting UNC pathnames as network drive and/or a list of drive letters, which should also be treated as network drive. If and only if a network drive is identified, the buffer should be increased to a user defined value, e.g. the user can determine a given numbers of mS, which should be ( roughly ) prebuffered, before the playback starts. Of course the playback has to be paused, the prebuffer to be flushed and rebuild, and the playback resumed whenever the user navigates whithin the media file.
C.U. NanoBot
nevcairiel
8th August 2012, 06:40
does this mean playback will more reliably resume after a system standby? it usually doesn't on my laptop, though I'm not sure if that's because of my wifi/router, mpc-hc, or lav specifically
It has nothing to do with that. In fact, i don't think the decoders or the splitter cares what happens to them, they don't use any special resources (unless you're talking DXVA here), its most likely the renderer giving up. On the other hand, why would you standby in the middle of playback? :d
nevcairiel
8th August 2012, 07:30
Almost always. It's rare to see normal results.
I tried to reproduce the problem with AviSynth and AVSMeter, but it always looks just fine :(
Anyhow i found some other issues which i couldn't really explain yet, and i deactivated it again for the time being until i have some more time to properly debug this.
Back to working on my subtitle interface and dvd video support..
cyberbeing
8th August 2012, 09:40
Did you try immediately after rebooting Win7? If it randomly starts outputting normal results, it seems to continue doing so consistently for awhile. What triggers this change is unknown.
It appears that LAV Video is creating 6 threads, but each thread is limited to 7% CPU usage each on my 4-core 3570K (totaling ~42% usage). It also seems like if I disable HPET in my BIOS, the bugged runs are faster and limited to 8% CPU each for just under 50% CPU usage. Thread timing or synchronization bug? I wonder if this could be an Ivy Bridge errata or something.
The only reason I somewhat care or even noticed this, is because I use regularly use DirectShowSource to benchmark experimental xy-VSFilter optimizations, and document results in order to catch regressions.
ryrynz
8th August 2012, 09:45
Back to working on my subtitle interface and dvd video support..
:) *Hangs up DND sign*.
dukey
8th August 2012, 16:03
What are you doing with subs nev ?
Groucho2004
8th August 2012, 16:26
Now that I think about it : AVSMeter also creates a buffer...:D
:confused::confused:
What buffer?
Keiyakusha
8th August 2012, 17:33
:confused::confused:
What buffer?
It usually starts displaying something only after some number of processed frames, like 30-60 frames. This is not due to buffer? Oo
Groucho2004
8th August 2012, 17:46
It usually starts displaying something only after some number of processed frames, like 30-60 frames. This is not due to buffer? Oo
No, it just has to read a certain number of frames at the beginning in order to display meaningful values.
Soukyuu
8th August 2012, 23:33
EDIT: Maximum bit rate : 100 Mbps omg, who ever created this he need to rethink his encoding approach. if you DO use hardware decoding it may be hardware problem as I expected because this high bitrate exactly at the time you saying and looking at the picture its pretty obvious why such bitrate is there. Bit for hardware decoders this may be too much.
EDIT2: this is not good (http://i.imgur.com/aeZBA.png). mpc-hc uses software decoder when you switch probably.Uhm. The encoder was me XD
The setting I used are in my post, I guess the crf just makes it jump to that insane bitrate trying to preserve the quality. The file is not meant for sharing, so as long as I get the best quality playable, I'm fine with the space it uses.
I am a newbie when it comes to encoding though, I guess I should somehow limit the bitrate additionally to specifying the crf?
I cannot detect any problems with that file, seems to decode just fine here.
May be caused by the extremely high bitrate in that section. On my system at least it works fine with both software and hardware decoding, but i have pretty good and recent hardware which can deal with high-bitrate clips like this.
I have a Phenom II X4@3.4GHz an a nVidia 260GTX. What I don't understand is, if it's my hardware being too weak for this bitrate, why is the usage not spiking to 100% when it stutters?
The same file playing fine with same settings when LAV is off is what makes me think it must have something to do with LAV...
edit: after further testing, it looks like this:
no hardware acceleration - no stuttering - ~70% cpu peak usage
nVidia CUVID - stuttering - ~26% GPU load, 72% Video engine load according to GPU-Z
DXVA2 (copyback) - stuttering - ~26% GPU load, 100% Video engine load
DXVA2 (native) - no stuttering - ~26% GPU load, 0% Video engine load
So it seems nVidia's decoder screws up, same for the copyback version of DXVA2 (whatever that means)
edit2: added load numbers
nevcairiel
9th August 2012, 07:09
Its not so much that the GPU screws up, the 260GTX just has one of the oldest hardware decoders, which is slower then for example the one in my card. 100mbit H.264 is a pretty high bandwidth, so its completely possible that it just doesn't support that much.
PS:
I think DXVA2 Native didnt work in your setup and it used software decoding instead, otherwise there would be more then 0% load.
Soukyuu
9th August 2012, 13:47
So for some reason, my post was blank, I guess maintenance ate it.
I tested the video with vdpau on linux and it's the same over there. What I still don't understand is why it is stuttering if video engine load is not maxed out when using CUVID.
My only guess is there might be a bandwidth issue uploading the frames to the card, my mainboard is kinda gimpy.
Anyway, thanks for helping me to clear it up, I guess I won't be using hardware acceleration since the CPU is doing a better job on this.
st-fixer
9th August 2012, 23:22
Hi. Im trying to use LAVSplitter.ax without registration in system, through LoadLibrary(); / GetProcAddress(); functions, but its working only if I put all libraries into the program folder (with exe). If I put it into subfolder (with LAVSplitter.ax), I've got error - file ****.dll not found.
occurs with:
avcodec-lav-54.dll
avfilter-lav-3.dll
avformat-lav-54.dll
avresample-lav-0.dll
avutil-lav-51.dll
libbluray.dll
swscale-lav-2.dll
same situation with LAVAudio.ax and LAVVideo.ax. all dlls should be in folder with program, even if mail files (*.ax) are in subfolder.
Please, fix it.
Sorry my English,
Tnx.
SamuriHL
9th August 2012, 23:26
Nothing to fix AFAIK. It works fine with other players who load it dynamically.
Snowknight26
9th August 2012, 23:26
Isn't that a security feature of the DLL search order?
http://support.microsoft.com/kb/2264107
nevcairiel
9th August 2012, 23:29
Correct there is nothing to fix. You should read the documentation of LoadLibraryEx, it has a flag to control that.
st-fixer
10th August 2012, 00:00
Many thanks, problem solved.
piccirilli
10th August 2012, 00:11
Same problem here. LAV video decoder will connect, but not the LAV audio. This maybe the reason for the stuttering. Has anyone else had success using these filters to play Sony's AVCHD videos?
I have some trouble playing AVCHD .m2ts from a Sony 1080i cam, i.e. freezing, stuttering or not playing at all.
The same works perfectly with other decoders.
Before uploading huge files, has anybody tested LAV with those kind of files?
Mediainfo report:
General
ID : 0 (0x0)
Complete name : E:\avchd\03-06-2012\20120603090917.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 24.1 MiB
Duration : 11s 935ms
Overall bit rate mode : Variable
Overall bit rate : 16.9 Mbps
Maximum Overall bit rate : 18.0 Mbps
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Format settings, GOP : M=2, N=13
Codec ID : 27
Duration : 11s 880ms
Bit rate mode : Variable
Bit rate : 15.8 Mbps
Maximum bit rate : 16.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.305
Stream size : 22.4 MiB (93%)
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Format settings, Endianness : Big
Codec ID : 129
Duration : 11s 968ms
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Delay relative to video : -80ms
Stream size : 655 KiB (3%)
Text
ID : 4608 (0x1200)
Menu ID : 1 (0x1)
Format : PGS
Codec ID : 144
Duration : 11s 375ms
Delay relative to video : -80ms
Focalom
10th August 2012, 18:41
Hey
Sorry for asking about something completely different.
I have been setting up my system the last week, but have a problem I can't figure out. I have a 720p plasma screen which accept 1080p24 signals (1080p23). My computer have a core2duo e8500 at stock 3,16ghz and an amd radeon hd 7770 graphic card.
Today i run the latest MPC-HC + the LAV package (splitter, audio and video decoder) and madvr render. I can run every file I throw at it without any frame drops, all the queues in madvr are full. The audio is bitstreaming to the receiver.
To the problem: When playing my bluray movies 1080p24 (rips), and the resolution and framerate in win7 is set to 1080p23 the audio is out of sync. But when I set it to 720p59 the video and audio is in sync. But I guess I must set the framerate to (23.976), and therefore the resolution must be set to 1080p, to get the film run smoothly. I get the same result with both madvr and EVR cust pres.
Any idea how to fix this? I'm sorry if this have been answered many times, but I can't find a solution :-(
nevcairiel
11th August 2012, 12:12
Some people asked about Opus decoding, so here it is.
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-28-gbacb7df.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-28-gbacb7df-x64.zip
This version uses the libopus reference decoder for decoding of opus audio streams. LAV Splitter can read .opus files and LAV Audio can decode the streams.
Please let me know if it doesn't work as expected. Initial tests seemed to play just fine.
Sebastiii
11th August 2012, 13:03
:) nice work :P
SeeMoreDigital
11th August 2012, 13:14
Opus audio decoding is working fine for me, with Windows Media Player and Media Player Classic :D
It's just crazy how well Opus sounds at low bit-rates...
Many thank Nev
Gser
11th August 2012, 16:21
What about Opus at higher bit rates? Could it be a good alternative for lc-aac?
SeeMoreDigital
11th August 2012, 17:04
What about Opus at higher bit rates? Could it be a good alternative for lc-aac?If you start an Opus audio discussion topic within the forums "Audio Encoding" section, anyone who's interested in Opus can talk about it there ;)
Reino
11th August 2012, 20:18
With all due respect for Doom9, but for a discussion on Opus I would really suggest Hydrogenaudio's Opus codec thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=86580).
Tacio
13th August 2012, 09:04
I'm a little bit wondering my system behavior. I have notebook equipped by core i5-2410 + NVIDIA GT520M and use mpc-hc, lav filters + pure EVR renderer.
When I use choose Intel QuickSync as a decoder, GPU-Z shows that only HD3000 GPU loaded, but when I choose NVIDIA CUVID both HD3000 GPU and GT520M Video Engine loaded. Same behavior if I choose dxva. Is it normal? Because I believed that in second case only GT520M Video Engine has to be loaded...
kopija
13th August 2012, 17:21
Greetings,
I am wondering whether "Normalize matrix" feature works when bitstreaming audio? Or do I have to enable mixing too?
What I am trying to do is basically get rid of sudden jumps in volume for late night viewing.
I use MPC HC, LAV audio and bitstream to my 5.1 receiver.
What would be the correct configuration to achieve this?
Thanks!
nevcairiel
13th August 2012, 18:09
LAV Audio has absolutely no influence on the volume if you're bitstreaming. You need to find a similar option on your Receiver for this.
kopija
13th August 2012, 19:35
LAV Audio has absolutely no influence on the volume if you're bitstreaming. You need to find a similar option on your Receiver for this.
I found it already, its called "Night mode" and does absolutely nothing.
Could you please instruct me how to setup LAV Audio to prevent sudden increases of volume on the receiver side?
ryrynz
13th August 2012, 21:30
Just buy a better receiver.
balkerman
13th August 2012, 23:32
Also called Dynamic range compression.
Posted using Android
iSeries
14th August 2012, 00:04
Just buy a better receiver.
Hmmm how the other half live.
I believe Reclock has a DRC feature.
jmonier
14th August 2012, 00:21
I believe Reclock has a DRC feature.
I don't believe it does but it wouldn't work with bitstreaming anyway. Bitstreaming passes the TrueHD/DTS-HD bitstream through to the receiver without decoding it so any processing of this sort would have to be done after it is decoded in the receiver.
strumf666
14th August 2012, 00:50
And we are back to this:
Just buy a better receiver.
iSeries
14th August 2012, 02:25
I don't believe it does but it wouldn't work with bitstreaming anyway. Bitstreaming passes the TrueHD/DTS-HD bitstream through to the receiver without decoding it so any processing of this sort would have to be done after it is decoded in the receiver.
Actually Reclock does have a DRC feature. And he asked for instructions on how to send audio to a receiver avoiding sudden increases in volume - this is one way to do it. Obviously he has to give up bitstreaming, but he did not say that bitstreaming was something he would not give up.
jmonier
14th August 2012, 06:12
Actually Reclock does have a DRC feature.
There is no DRC option in the ReClock configuration that I can see. Could you give specific instructions as to how to enable DRC in ReClock?
And he asked for instructions on how to send audio to a receiver avoiding sudden increases in volume - this is one way to do it. Obviously he has to give up bitstreaming, but he did not say that bitstreaming was something he would not give up.
His original question specifically related to using Normalize in LAV Audio while bitstreaming (Post #11949). His subsequent question responded to a post that was specifically aimed at bitstreaming.
The point that is pertinent to his original and subsequent question is that any audio processing has to be done after the bitstream is decoded. If you're bitstreaming to the receiver then decoding is done there and DRC HAS to be done in the receiver. All the other responses have been directed to that point.
kopija
14th August 2012, 07:07
I understand that bitstreaming is out.
Receiver stays, I am not that desperate!
jmonier
14th August 2012, 07:24
I understand that bitstreaming is out.
Receiver stays, I am not that desperate!
I could be mistaken, but it doesn't seem to me that LAV Audio has what you want. If I understand it correctly, "Normalize" has more to do with adjusting volume so that different programs have the same average volume than quieting loud passages in the same program. (Note that I have never used this kind of processing in LAV Audio or any other decoder so I am hardly an expert.)
ffdshow audio is more likely to have this capability but I have never looked into it.
Another poster said that ReClock will do this, but I can't figure out how.
ryrynz
14th August 2012, 07:42
ffdshow "night mode" discussions below are relevant since retaining bitstreaming is out.
http://forum.doom9.org/showthread.php?t=150415
http://www.hack7mc.com/2009/02/simple-ffdshow-audio-settings.html
iSeries
14th August 2012, 20:53
There is no DRC option in the ReClock configuration that I can see. Could you give specific instructions as to how to enable DRC in ReClock?
Simples - see attached screenshot under 'Sound Adaptation' (not my screenshot, grabbed off the net).
BetA13
14th August 2012, 21:22
I could be mistaken, but it doesn't seem to me that LAV Audio has what you want. If I understand it correctly, "Normalize" has more to do with adjusting volume so that different programs have the same average volume than quieting loud passages in the same program. (Note that I have never used this kind of processing in LAV Audio or any other decoder so I am hardly an expert.)
ffdshow audio is more likely to have this capability but I have never looked into it.
Another poster said that ReClock will do this, but I can't figure out how.
hy there..
i think u mean this option in ReClock..i dont use it doh..But itr is what u are looking for :)
http://www.abload.de/img/unbenanntyxlzc.jpg
hope that helps, greetz BetA
djmasturbeat
14th August 2012, 22:05
Back to working on my subtitle interface and dvd video support..
hooray for BOTH!
thanks for these filters, btw.
ddjmagic
15th August 2012, 11:08
I have a quick question about Blu-ray playback using index.bdmv.
How does Lav Filters determine the correct playlist to playback, does it simply just use the longest?
Only I have had a tried a few Blu-rays, 99% of the time it is correct but a couple of times it plays the wrong playlist - Usually an extremely long playlist like 3h33m, which is usually specials features in a loop.
nevcairiel
15th August 2012, 11:10
It tries to eliminate playlists which have loops or repeated clips in them, but thats not always reliable so it may end up on those wrong tracks in some situations.
Mercury_22
15th August 2012, 13:57
It tries to eliminate playlists which have loops or repeated clips in them, but thats not always reliable so it may end up on those wrong tracks in some situations.
Yes it does !
Looks like we really need those menus :p
ddjmagic
15th August 2012, 16:53
It tries to eliminate playlists which have loops or repeated clips in them, but thats not always reliable so it may end up on those wrong tracks in some situations.
Thanks for the answer. It works most of the time anyway, and Its not hard to change to the correct playlist :)
I didn't know if it used some kind of database/list or if it chose it by length/size etc.
kalston
15th August 2012, 18:29
I think the last blu-ray on which it failed me was Inception's French BD, it picked the 3h30 long playlist which is the film + commentaries, interviews and other special features.
It's not hard to change it to the right one anyway, so as far as I'm concerned it's the least critical feature to update :p (I only watch the films themselves and never touch the special features)
SamuriHL
15th August 2012, 18:29
Nev you grabbing VS 2012 off MSDN today?
nevcairiel
15th August 2012, 18:40
I don't have MSDN, and i'm also no student anymore, so no free upgrades this time around.
I would actually be more interested in giving Server 2012 a whirl, but what can you do.
SamuriHL
15th August 2012, 19:38
Yea, I'll be installing Server 2012 at work. That sucks you don't have MSDN or Dreamspark. UGH.
Mikey2
15th August 2012, 19:59
SamuriHL/nevcairiel - I apologize, I forgot to thank you for your responses to my question of if your audio decoded truly decodes DTS-MA at full-quality without any down-sampling or anything. (kopija's request and subsequent discussion on Bit-streaming reminded me...)
Correct me if I am wrong, but to sum-up: LAV Audio Decoder correctly decodes DTS-MA even though the input PIN only shows a 1536kbps core DTS signal. (I see DTS-HD MA on the status tab; I assume that is how I can see that it is working?)
Again, that is super-happy-fantastical! :D I only wish this was available a couple years ago, I could have saved a lot of money not buying my Xonar Audio-Card. (Back then the only way to get true lossless DTS-MA or Dolby TrueHD was to bit-stream it using this card in conjunction with the Arcsoft Renderer.)
But even cooler is that since I can now take-off the shackles of a mystery-PAP-shrouded bitstream, I can use AC3Filter for DRC, sync my stuff with ReClock, etc etc....
Thanks again!
MikeY
The MA extensions of DTS contain the extra channels. If it were only doing core, then you would only ever get 5.1. Trust us, we did a lot of testing around this when the ability was first added. Nev is hooking the ArcSoft decoder directly in code. The down-sampling, i.e. reducing the bit depth to 48/16 doesn't actually happen in the decoder but in the renderer. So we avoid that by using the decoder directly. In any case, yes, you are getting full DTS-HD MA decoding. At all the right bitdepth.
Yes, LAV (in combination with the ArcSoft DLL) can decode DTS-HD MA completely lossless.
SamuriHL
15th August 2012, 20:07
You are correct.
Mikey2
15th August 2012, 20:21
hy there..
i think u mean this option in ReClock..i dont use it doh..But itr is what u are looking for :)
http://www.abload.de/img/unbenanntyxlzc.jpg
hope that helps, greetz BetA
I don't want to get too far off-topic, but I would not recommend doing this if you are bit-streaming. If you are bit-streaming, then in that case ReClock decodes the stream, applies the DRC, then re-encodes it back to the stream format. This is generally not a good idea as it can be detrimental on sound-quality. (This is especially true if you are working with a losless signal such as DTS-MA (see my other posts on my woes on this subject. :o )
I would suggest doing what I do: use LAVAudio to decode to a PCM stream, then go ahead and apply DRC wherever you like.
I personally think AC3Filter is the best for that sort of thing. It is what I use, their DRC options are by far the most complex and interesting of anything else I have seen out there. (They even have a 27-page PDF that explains more than you would ever want to know on the topics of Loudness and Dynamic range. Loudness And Dynamic Range explained in depth (web version) (http://ac3filter.net/wiki/Loudness_and_dynamic_range)) Finally, they finally just updated it to allow for 7.1 signals, so it is no longer out-dated.
But ffdShow and ReClock, as mentioned, can also do it. I honestly haven't played around with LAVAudio for this - I basically use that just to decode to PCM.
I hope this helps!
MikeY
PS - I'm not in any way involved with AC3Filter, nor do I see it as "competition" for LAV - both have their place. Like most of the good filters (including LAV) It's freeware anyway.
blackjack12
16th August 2012, 00:39
While I love the LAV filters in general, have found that the deinterlacing performance of the LAV Video Decoder is inconsistent at best and poor at worst across a general mix of video types.
It is worst in allowing the AMD Radeon GPU’s to hardware deinterlace across all video formats. The hardware deinterlacing of the AMD cards appears in my tests to be the best across the board when it is used but the NVidia can produce very good results with LAV Video and CUVID.
Basic Testing:
Windows 7/Window 8 Preview (64 bit)
MPC-HC 1.6.3.5818 (32 bit) – some testing with 64 bit MPC-HC but not much and not focus (for 64 bit, EVR-CP used, no MadVR, no ArcSoft filters)
MadVR 82.5 (with and w/o latest ringing mods)
NVidia 560Ti and GT525M
NVidia Drivers 301.42 and 302.82 (Win 8) – LAV CUVID
Radeon HD 4890 and 6570
AMD Drivers 12.6 – LAV None, copy-back and native
LAV 51.3(also tested latest builds to this date)
LAV Splitter and LAV Audio used in all testing
ArcSoft Video Decoder 2.28.444.129 X86
All combinations that can be used with LAV and MadVR were looked at. Aggressive, frame rate, mode, software, etc. and details can be provided if needed but the test files are best way to look at. These were on 4 “desktop” type units and one laptop.
Using the ArcSoft Video Decoder provided the best and most consistent deinterlacing performance in my tests while the NVidia produced good to superb results depending on the video formats tested. Using the de-interlacing in MadVR worked with NVidia but found the internal GPU only with LAV Video and passing to the renderer yielded better results. For the AMD GPU’s tested the MadVR de-interlacing did not work on several files. Only software (YADIF) de-interlacing worked as noted briefly by someone earlier.
File clips that are good to test de-interlacing can be found in the Google Drive link listed below and downloaded for testing. These can be used to easily see issues quickly. All files are .mkv types prepared from the native and purchased video material using MakeMKV and then remuxing with the latest version of MKVMerge/Toolnix. The audio has been removed just to keep file size as small as possible. Watching the rolling credits is a great test of deinterlacing performance and quality in many cases.
Problematic file types but inconsistent: MPEG2i (DVD, check the rolling credits for large visual differences), VC-1i, H264i (AVC and all produced with Premiere Pro from and with interlaced content)
Google Drive link for excellent examples (they must be downloaded, viewing the preview in the YouTube format is useless):
https://docs.google.com/folder/d/0B_DzSqUkDhPoODB4eWRpN2dsOVU/edit
Hope these are helpful in testing and optimizing deinterlacing performance with the LAV Video Filters in the future.
Andy o
16th August 2012, 02:43
AFAIK at least madVR uses DXVA deinterlacing, so it's the same one that the GPU uses. For LAV, I think at least it does with NV cards. Perhaps it would be more helpful if you identified which exact combinations and files are giving you trouble?
nevcairiel
16th August 2012, 07:42
I did a quick check on your files, and all i can say is that your test is flawed for most of the files, because they are not interlaced.
Collateral (2004)-002.mkv / Daredevil (2003)-002.mkv / Good Year (2006)-002.mkv
These files are not interlaced. They contain progressive frames with soft-telecine flags. They also play just fine at 23.976 for me, no deinterlacing is performed, or should be performed.
It is possible that the weird timestamps in such a soft-telecine files confuse a renderer (it usually goes 33ms, 50ms, 33ms, 50ms instead of the usual 41ms, 41ms 41ms for 23.976), but even if thats the case, nothing LAV should need to worry about, and its certainly not related to deinterlacing, because the frames are not interlaced to begin with.
Life.S01E06-Insects-002.mkv
This is the only file in the set which is actually interlaced.
I'm not sure what your problem is supposed to be with this file, but it plays and deinterlaces just fine when i let EVR or madVR perform the deinterlacing.
Travis-002.mkv
This file is hard-telecined, but the frames are flagged as progressive. You can use the "Aggressive Deinterlacing" option in LAV Video to make it deinterlace these frames, however since its Telecined, you should really use an IVTC algorithm like madVR offers (need to manually turn it on at this time)
---
In general, LAV has no influence on the behaviour of the hardware deinterlacer. All it does is flag the frames as interlaced depending on the flags in the file, and sends the frame to the renderer. The renderer then takes full control of the deinterlacing.
You can influence the behaviour slightly with the "Aggressive Deinterlacing" option, which will flag all frames as interlaced under certain conditions (like when the file itself is marked as interlaced, like your Travis sample), but other then that, its out of the hands of the decoder.
I would generally recommend to activate "Aggressive Deinterlacing" when you have issues with interlaced or hard-telecined files, its probable that most other decoders do that as well.
blackjack12
16th August 2012, 15:13
Thanks Nev ... I will check the files again but if you view the actual material with ArcSoft vs. LAV you will see a huge difference in output especially in the scrolling credits. It is not a small difference.
All the files indicate as "interlaced " if the interlace option is turned on in MadVR even though they are "progressive". But they are all 29.97 fps material and that is what I see in playback ... they are not playing back at 23.976 for me.
Collateral/Daredevil/Good Year all go to "interlaced" and play at 29.97 or 59.4 with CUVID, 29.97 if MadVR ... please look at with the AMD GPU's. This is where see real problem. Something is not right. Why are they being seen as "interlaced" when they are not ...? Go to ArcSoft filters and all is good ... ?
Travis - going to "Agressive" with AMD GPU's does not work. Going to MadVR and turning on deinterlacing does work but then the files included that are "progressive" still turn on deinterlacing in MadVR and look terrible...?
With NVIDIA/CUVID things are much better and can be made to work but the files all indicate and respond as "interlaced" material.
Something is not right and not sure what it is ... thought all was good with using MadVR for deinterlacing but no ... will do some more when have time, but bottom line right now is ArcSoft no visual problems ... LAV problems ... :-(
Hopefully just have something configured incorrectly but really looks to me like LAV/MadVR/AMD driver somewhere is conflicting ...
nevcairiel
16th August 2012, 16:22
You could try this version if you want, it may help with the soft telecined files.
http://files.1f0.de/lavf/LAVFilters-0.51.3-33-g705b8b5.zip
Regarding why the files show up as interlaced. Well, thats just how soft-telecine works. The stream itself is marked as interlaced, but the frames are all progressive. In the same concept, the stream is marked as 29.970, but it only contains frames for 23.976. The way soft-telecine works, the renderer is supposed to repeat some of the fields to convert it to 29.97.
I don't know what ArcSoft does to the stream, maybe it resolves the soft-telecine and produces hard-telecine out of it (producing real 29.970), but thats the worst choice you can make. But i don't have TMT installed right now to grab the decoder.
In any case, all these soft-telecine files play absolutely smooth for me. When you test deinterlacing, i suggest to use EVR, its behaviour is more predictable, madVR is sometimes a bit too smart for its own good.
And for the record, if there were such big problems, other people would've complained before, i'm sure. :)
Anyway, go blame DVDs and broadcasts for being telecined and not proper progressive.
All the shit people have come up with over the years to keep backwards compat with decades old standards is just ludicrous. Just force people to buy a new TV now and then, it also helps the economy! :)
mkanet
16th August 2012, 18:11
Does anyone know if it's better to enable or disable Nvidia Adaptive vsynch for LAV video playback + EVR (for general video playback)?
I have an LCD display which accepts 60Hz, 59Hz,30Hz, 29Hz, 24Hz, 23.976Hz input.
Before I had Nvidia Adaptive vsynch option available to me, I've always enabled Vsynch + triple buffer for best results.
Also, I'm curious if adaptive vsynch would still work with reclock's cinema mode.
Thanks in advance
Asmodian
16th August 2012, 20:33
My experience has been that adaptive vsync is a bad idea for video playback. Adaptive vsync just turns off vsync if the fps is too low which I do not want. I guess it might be nice if you want tearing instead of judder for <30 fps video and leave the LCD at 60Hz. It would be better to change the refresh rate of the LCD to match the video's frame rate but using EVR this would be a manual change and using Windows with a 24Hz monitor isn't nice.
I would expect reclock's cinema mode to have no effect on vsync, adaptive or not, as reclock doesn't render any video.
blackjack12
17th August 2012, 06:56
Thanks Nev ... appreciate the notes and will test the new version and let you know what I find. Right now in the AMD GPU systems I have disabled the MPEG2 format for decoding with LAV and get great results with ArcSoft, MPC-HC DXVA or Microsoft filters. None have the problems that are seen with the LAV filters. ... Note: the "general" playback looks fine with LAV but the rolling credits really show pretty gross differences.
nevcairiel
17th August 2012, 07:19
The only thing i can imagine happening is that all these decoders simply ignore the soft-telecine flags completely, and thus avoiding any problems.
LAV on the other hand puts the soft-telecine flags on the output frames, so that the renderer can potentially deal with them if it wants to.
If the test build from before doesn't help, i can create a version which simply ignores the flags as well, and see if it makes any difference.
madshi
17th August 2012, 07:33
@blackjack12, what happens if you force deinterlacing off (press Ctrl+Alt+Shift+D multiple times) in madVR? Does that solve all problems?
Mercury_22
17th August 2012, 08:27
@Nev Is VS2012 (http://www.microsoft.com/en-us/download/details.aspx?id=30678) working for LAV ?
blackjack12
17th August 2012, 16:38
The only thing i can imagine happening is that all these decoders simply ignore the soft-telecine flags completely, and thus avoiding any problems.
LAV on the other hand puts the soft-telecine flags on the output frames, so that the renderer can potentially deal with them if it wants to.
If the test build from before doesn't help, i can create a version which simply ignores the flags as well, and see if it makes any difference.
@blackjack12, what happens if you force deinterlacing off (press Ctrl+Alt+Shift+D multiple times) in madVR? Does that solve all problems?
Nev and Madshi ... I will test further this evening California time. The files I posted previously are excellent to see results quickly.... The scrolling credits can look pretty ugly when things are not right. Even if you don't have access to the ArcSoft filters you can use the MPC-HC built in DXVA filters or the Microsoft DVD-TV ones and see good results for the MPEG2 files.
Nev my quick test with your test build looked much better but "Travis" still problem to get to work and not cause issues with other files.
Thanks and will let you know.
bejita7
17th August 2012, 17:10
Will LAV Filters 0.51.3 work correctly on Windows 8 RTM?
SamuriHL
17th August 2012, 17:22
Yes. It works fine.
nevcairiel
17th August 2012, 17:53
Nev my quick test with your test build looked much better but "Travis" still problem to get to work and not cause issues with other files.
Thanks and will let you know.
Here is another version, i actually added an option on the options panel to control it now.
http://files.1f0.de/lavf/LAVFilters-0.51.3-36-g76de254.zip
The "Remove Soft-Telecine" checkbox is the new one, and it has 3 states.
- Unchecked it behaves as any previous versions, it just sends the soft-telecine flags to the renderer
- Checked it removes all flags and adjusts the timestamp to 23.976
- In the "intermediate" state, it only removes the flags, but leaves the timestamps alone.
It would be great if you could test both the checked and the "half checked" mode, and see how they behave on your setup. I'm mostly interested to be able to determine which mode should be the default.
Specifically, i'm interested if the intermediate mode is enough to make it play properly, because its much safer to do then to try to fiddle with the timestamps.
Additionally, this version also includes a small fix for the "Travis" sample, it might work better now.
blackjack12
17th August 2012, 18:35
Will LAV Filters 0.51.3 work correctly on Windows 8 RTM?
Personal experience is that Windows 8 (preview 8400) has been a rock running media and related material.
The interface and navigation stuff you can decide if you like or can adjust ... but the core OS has been rock solid.
Have been running MPC-HC, LAV 51.3, MadVR, etc. without any OS issues since preview release.
SamuriHL
17th August 2012, 18:36
RTM hasn't changed that situation. I've also been running W8 since CP. Works perfectly.
clsid
17th August 2012, 19:03
The settings page is getting a bit crowded/messy now. Perhaps you could split the "Settings" group into two groups; Settings and Deinterlacing, splitting the current one into two columns. So move StreamAR below threads, and FieldOrder above Aggr. Deint.
Two minor things you forgot when changing StreamAR var type:
STDMETHODIMP_(BOOL) CLAVVideo::GetStreamAR()
dwVal = (BOOL)SendDlgItemMessage
blackjack12
17th August 2012, 22:22
Here is another version, i actually added an option on the options panel to control it now.
http://files.1f0.de/lavf/LAVFilters-0.51.3-36-g76de254.zip
The "Remove Soft-Telecine" checkbox is the new one, and it has 3 states.
- Unchecked it behaves as any previous versions, it just sends the soft-telecine flags to the renderer
- Checked it removes all flags and adjusts the timestamp to 23.976
- In the "intermediate" state, it only removes the flags, but leaves the timestamps alone.
It would be great if you could test both the checked and the "half checked" mode, and see how they behave on your setup. I'm mostly interested to be able to determine which mode should be the default.
Specifically, i'm interested if the intermediate mode is enough to make it play properly, because its much safer to do then to try to fiddle with the timestamps.
Additionally, this version also includes a small fix for the "Travis" sample, it might work better now.
Nev,
I will give much more detail when I have time to really test but wanted to let you know that initial testing with half checked mode with my "worst" case setup (Radeon 4890 GPU) is now working great ... Actually better than I can ever remember. But I just started testing with EVR to compare with EVR-CP and MadVR rendering and now realize that EVR is a much more "stable" rendering solution for most at this time. I never really looked at in the past as was using EVR-CP and MadVR.
So EVR works great ... EVR-CP some issues and MadVR a lot on a very quick look.
May have been a Render issue all along but other video filters (ArcSoft, MPC-HC, Microsoft) are sending something different that allows things to work across broader base.
Will let you and Madshi know and provide details. Anything specific you might want looked at, just let me know.
Thanks for responding ... will help out as I can.
I have over 16TB of video material of all types from purchased and ripped DVD's and Blu-Ray media and home video footage with 99% stored in Matroska container format. All instantly accessible from server and network on desktop, laptop and HTPC installs. I know all the "tough" ones that have seen in the past that have caused issues and can do quick tests.
Will also look at 64bit MPC-HC and LAV as well when have time.
Thanks for the great work and continuing improvements.
Quick take on my best HTPC software config today:
XMBC interface
MPC-HC for actual playback
LAV splitter, video, audio filters
EVR Render
DirectVobSub for subs
If/when MadVR matures will probably use but it is truly a 0.8.2.5 release right now (great work by Madshi but I cannot put in a general family/production mode at this time)
nevcairiel
17th August 2012, 22:25
The important part is to compare the setup you had issues with (ie. EVR-CP or madVR) with the new test version of LAV, and see if either setting of the option help.
Please also make sure the problem returns when you disable the new option, to make sure its not "fixed" by something else.
Anyway, i'll appreciate any detailed results you can provide.
Boltron
18th August 2012, 01:19
I was also using XMBC and MPC-HC (with LAV and madVR) for playback for a very long time. A few months ago I switched to MC17 and it is a big overall improvement. I still use LAV and madVR with MC17 but since they are integrated into MC17 I get so many more benefits. Also for music playback, MC17 can't be beat.
madshi
18th August 2012, 07:26
@blackjack12, I've asked you to test whether forcefully disabling deinterlacing in madVR fixes the problems you're seeing. You didn't reply to that at all yet. At this point in time neither nevcairiel (I think) nor I know whether the problem you're seeing is caused by deinterlacing being active when it shouldn't, or deinterlacing being inactive when it should be active, or by something else (e.g. deinterlacing not working as expected). Which is the most important question to clarify. So again: Does the problem you're seeing go away if you forcefully activate or deactivate deinterlacing in madVR by pressing Ctrl+Alt+Shift+D multiple times? This is a key question. For me (as the madVR developer), anyway.
Also it would help greatly if you could give us a list of selected video samples with which you see the most obvious problems, with a download URL, and a full description for each sample of which problems you see which with combination of renderer/splitter/decoder.
Thanks!
blackjack12
18th August 2012, 13:27
While I love the LAV filters in general, have found that the deinterlacing performance of the LAV Video Decoder is inconsistent at best and poor at worst across a general mix of video types.
It is worst in allowing the AMD Radeon GPU’s to hardware deinterlace across all video formats. The hardware deinterlacing of the AMD cards appears in my tests to be the best across the board when it is used but the NVidia can produce very good results with LAV Video and CUVID.
Basic Testing:
Windows 7/Window 8 Preview (64 bit)
MPC-HC 1.6.3.5818 (32 bit) – some testing with 64 bit MPC-HC but not much and not focus (for 64 bit, EVR-CP used, no MadVR, no ArcSoft filters)
MadVR 82.5 (with and w/o latest ringing mods)
NVidia 560Ti and GT525M
NVidia Drivers 301.42 and 302.82 (Win 8) – LAV CUVID
Radeon HD 4890 and 6570
AMD Drivers 12.6 – LAV None, copy-back and native
LAV 51.3(also tested latest builds to this date)
LAV Splitter and LAV Audio used in all testing
ArcSoft Video Decoder 2.28.444.129 X86
All combinations that can be used with LAV and MadVR were looked at. Aggressive, frame rate, mode, software, etc. and details can be provided if needed but the test files are best way to look at. These were on 4 “desktop” type units and one laptop.
Using the ArcSoft Video Decoder provided the best and most consistent deinterlacing performance in my tests while the NVidia produced good to superb results depending on the video formats tested. Using the de-interlacing in MadVR worked with NVidia but found the internal GPU only with LAV Video and passing to the renderer yielded better results. For the AMD GPU’s tested the MadVR de-interlacing did not work on several files. Only software (YADIF) de-interlacing worked as noted briefly by someone earlier.
File clips that are good to test de-interlacing can be found in the Google Drive link listed below and downloaded for testing. These can be used to easily see issues quickly. All files are .mkv types prepared from the native and purchased video material using MakeMKV and then remuxing with the latest version of MKVMerge/Toolnix. The audio has been removed just to keep file size as small as possible. Watching the rolling credits is a great test of deinterlacing performance and quality in many cases.
Problematic file types but inconsistent: MPEG2i (DVD, check the rolling credits for large visual differences), VC-1i, H264i (AVC and all produced with Premiere Pro from and with interlaced content)
Google Drive link for excellent examples (they must be downloaded, viewing the preview in the YouTube format is useless):
https://docs.google.com/folder/d/0B_DzSqUkDhPoODB4eWRpN2dsOVU/edit
Hope these are helpful in testing and optimizing deinterlacing performance with the LAV Video Filters in the future.
@blackjack12, I've asked you to test whether forcefully disabling deinterlacing in madVR fixes the problems you're seeing. You didn't reply to that at all yet. At this point in time neither nevcairiel (I think) nor I know whether the problem you're seeing is caused by deinterlacing being active when it shouldn't, or deinterlacing being inactive when it should be active, or by something else (e.g. deinterlacing not working as expected). Which is the most important question to clarify. So again: Does the problem you're seeing go away if you forcefully activate or deactivate deinterlacing in madVR by pressing Ctrl+Alt+Shift+D multiple times? This is a key question. For me (as the madVR developer), anyway.
Also it would help greatly if you could give us a list of selected video samples with which you see the most obvious problems, with a download URL, and a full description for each sample of which problems you see which with combination of renderer/splitter/decoder.
Thanks!
Madshi ... Refer back to my original post for a link to files and basic conditions. I incorrectly made a general "poor deinterlacing" title when the issues on several samples look like poor deinterlacing but the material is actually progressive.
The problems seen are obvious, poor or no de-interlacing with the VC-1i and H264i samples and gross distortion in the rolling credits on the MPEG2 samples (it looks like really poor deinterlacing even though samples are progressive)
"Forcing" deinterlacing off in MadVR does not help. I also started out making sure that deinterlacing was unchecked in the MadVR GUI.
Will be posting more in the Google docs link in a little while with a detailed report.
madshi
18th August 2012, 14:16
@blackjack12, the problem is that neither nevcairiel nor I seem to be able to reproduce the problem you're seeing. E.g. I've tried your Collateral sample in madVR and I can't get it to show any problems here. So the first step is to help us reproduce the problem. For that please:
(1) Name one sample which has problems.
(2) Which timecode does the problem start to become visible.
(3) Please post a screenshot of the "gross distortion".
(4) Which splitter are you using?
(5) Please make a screenshot of your LAV Decoder options setup.
Thanks!
blackjack12
18th August 2012, 18:30
@blackjack12, the problem is that neither nevcairiel nor I seem to be able to reproduce the problem you're seeing. E.g. I've tried your Collateral sample in madVR and I can't get it to show any problems here. So the first step is to help us reproduce the problem. For that please:
(1) Name one sample which has problems.
(2) Which timecode does the problem start to become visible.
(3) Please post a screenshot of the "gross distortion".
(4) Which splitter are you using?
(5) Please make a screenshot of your LAV Decoder options setup.
Thanks!
Madshi,
Will add all items in the report. Should be a couple of hours.
The latest test versions of LAV have "fixed" the issues with the MPEG2 files like Collateral ... but if you turn on Agressive and YADIF you will immediately see the problems still.
Finishing up and sending update soon.
Thanks for the good work ...
blackjack12
18th August 2012, 20:42
@blackjack12, the problem is that neither nevcairiel nor I seem to be able to reproduce the problem you're seeing. E.g. I've tried your Collateral sample in madVR and I can't get it to show any problems here. So the first step is to help us reproduce the problem. For that please:
(1) Name one sample which has problems.
(2) Which timecode does the problem start to become visible.
(3) Please post a screenshot of the "gross distortion".
(4) Which splitter are you using?
(5) Please make a screenshot of your LAV Decoder options setup.
Thanks!
Update and results with Radeon 4890 GPU system:
Basic Testing being done:
Windows 7/Window 8 Preview (64 bit)
MPC-HC 1.6.3.5818 (32 bit)
MadVR 82.5 (with and w/o latest ringing mods)
NVidia 560Ti and GT525M GPU
NVidia Drivers 301.42 and 302.82 (Win 8) – LAV CUVID
Radeon HD 4890 and 6570 GPU
AMD Drivers 12.6 – LAV None, copy-back and native
LAV 51.3 (test build 51.3-36-g76de254)
LAV Splitter and LAV Audio used in all testing
ArcSoft Video Decoder 2.28.444.129 X86
Screenshots, images of settings and all information is included in the link below. If more is needed please let me know.
https://docs.google.com/folder/d/0B_DzSqUkDhPoODB4eWRpN2dsOVU/edit
Best to download files you want to look at and not rely on the Google Drive preview.
The results with MadVR are still not good but the LAV test build “fixed” the MPEG2 problems accept for with Aggressive and YADIF on. However, see no effect with the telecine options. With EVR-CP and EVR the “Aggressive” on causes problems.
I will be doing the same tests for newer Radeon 6570 and NVidia 560Ti and GT525M later.
nevcairiel
18th August 2012, 22:29
I quickly glanced over the screenshots, and some things i don't understand.
All screenshots show madVR deinterlacing off. I'm confused, wasn't the whole point of this excercise to test madVRs deinterlacing?
How did the "BAD" screenshots come to be when it wasn't caused by madVRs deinterlacing?
In any case, "Good Year" has progressive frames, using aggressive mode on such files is probably not recommended, so it causing artifacts (especially with a "cheap" deinterlacer like YADIF) is somewhat to be expected.
Overall, i question your setup here. For the most reliable results you should turn off YADIF and turn off aggressive mode, that should get you somewhat similar behavior to other decoders (which are also the defaults). No matter what i try, using that setup, i do not get any problems playing these files.
In fact, this seems to be completely unrelated to soft telecine, so i might remove the new option again to avoid exposing needless settings and confusing people.
blackjack12
18th August 2012, 23:51
I quickly glanced over the screenshots, and some things i don't understand.
All screenshots show madVR deinterlacing off. I'm confused, wasn't the whole point of this excercise to test madVRs deinterlacing?
How did the "BAD" screenshots come to be when it wasn't caused by madVRs deinterlacing?
In any case, "Good Year" has progressive frames, using aggressive mode on such files is probably not recommended, so it causing artifacts (especially with a "cheap" deinterlacer like YADIF) is somewhat to be expected.
Overall, i question your setup here. For the most reliable results you should turn off YADIF and turn off aggressive mode, that should get you somewhat similar behavior to other decoders (which are also the defaults). No matter what i try, using that setup, i do not get any problems playing these files.
In fact, this seems to be completely unrelated to soft telecine, so i might remove the new option again to avoid exposing needless settings and confusing people.
Nev,
You have to look at the table and all the testing. ... I have a Ph.D. from MIT in physics and chemistry, have run very large businesses and know how to setup test matrices and look at the results. The setup is not in question, the question is what are the correct parameters to make this setup work.
While I have not spent the time and am not an expert on this video processing path, I do know that something is not lining up quite right under these conditions and under other conditions the issues are not there.
If I run MadVR for anything other than testing, the best case right now is Aggressive off, No YADIF when not using MadVR interlacing.
And no it was not to just test MadVR interlacing, I am trying to find the "best" solution that works across the board. I know all the MPEG2 files are progressive. ... But need one set of parameters that work... With ArcSoft and MadVR they do, with LAV and EVR-CP they do ... with LAV and MadVR they do not in this configuration (Radeon 4890 GPU, 12.6 drivers). With the newer Radeon 6570 some of the RED boxes go away andif you are testing with a newer Radeon GPU you may not see all the issues. I am updating with 6570 right now.
On the soft telecine, let me recheck and also with MadVR deinterlacing before we make any judgment.
Quick note on other tests that I will update ... there is something different in that true interlaced content is passed or reads at 59.4fps to EVR-CP with LAV but not with MadVR with the Catalyst drivers. However with NVidia and CUVID when it is selected it does show up as 59.94 with MadVR.
I will repeat the testing with interlacing on in MadVR.
I am sure as a developer you are saying this guy has got something wrong ... and I actually hope that I do, but I don't think so and once this is figured out, all will be better for it.
Again ... you guys are doing great stuff and I apologize for not being able to just dump all the info needed right away. ... But will get it to you ASAP.
QUICK UPDATE WITH MADVR INTERLACING:
Quick test with the interlace function on in MadVR. The MPEG2 files (Good Year, etc.) continue to indicate "interlaced" in MadVR even though they are not and look "BAD". Need to carefully check telecine settings but looks like if they are checked or Auto things are good! If press Ctrl+Alt+Shift+D to force deinterlacing off, all is well. The other files are deinterlaced correctly by MadVR.
Will update link with screen images for the MadVR "BAD" result (a non-interlaced stream still being read by MadVR as interlaced) and when forced off showing "GOOD" result. ... :-)
So the simple answer to Madshi is that forcing the interlacing off does work ... and I apologize for the complexity and confusion ... :-(
So ... figure out why progressive MPEG2 material is still read by MadVR as interlaced and/or produces "BAD" result when using LAV video decoder and I think all is great ...
Using ArcSoft video decoder also read as interlaced by MadVR but is does not cause the distortion ... but the quality is not nearly as good as when MadVR works and does the deinterlacing correctly ... OR the hardware does it with the decoder and a 59.94fps deinterlaced stream goes to renderer (that is what happens with LAV and EVR-CP and it is excellent) ... At least that is what I think happens based on what I see from the renderer information seen on screen.
Will post new images ASAP. ... thanks again
sneaker_ger
19th August 2012, 00:39
For me the good year sample starts as "deinterlacing: off", then turns to on after about 10 seconds. DGIndex also tells me that it is not 100% progressive. Film 99.69%. There's visible interlacing.
blackjack12
19th August 2012, 01:18
For me the good year sample starts as "deinterlacing: off", then turns to on after about 10 seconds. DGIndex also tells me that it is not 100% progressive. Film 99.69%. There's visible interlacing.
How do the rolling credits look and what are your conditions?
This is a clip from a direct rip from the owned DVD using latest MakeMKV and then remuxing with the latest MKVMerge.
MadVR continues to report interlaced immediately on all my systems. ... BUT with the new telecine option if checked or "auto" it now looks good on at least one system with Radeon 4890 GPU. If unchecked, it is awful unless forcing deinterlacing off per Madshi.
blackjack12
19th August 2012, 02:22
Nev,
You have to look at the table and all the testing. ... I have a Ph.D. from MIT in physics and chemistry, have run very large businesses and know how to setup test matrices and look at the results. The setup is not in question, the question is what are the correct parameters to make this setup work.
While I have not spent the time and am not an expert on this video processing path, I do know that something is not lining up quite right under these conditions and under other conditions the issues are not there.
If I run MadVR for anything other than testing, the best case right now is Aggressive off, No YADIF when not using MadVR interlacing.
And no it was not to just test MadVR interlacing, I am trying to find the "best" solution that works across the board. I know all the MPEG2 files are progressive. ... But need one set of parameters that work... With ArcSoft and MadVR they do, with LAV and EVR-CP they do ... with LAV and MadVR they do not in this configuration (Radeon 4890 GPU, 12.6 drivers). With the newer Radeon 6570 some of the RED boxes go away andif you are testing with a newer Radeon GPU you may not see all the issues. I am updating with 6570 right now.
On the soft telecine, let me recheck and also with MadVR deinterlacing before we make any judgment.
Quick note on other tests that I will update ... there is something different in that true interlaced content is passed or reads at 59.4fps to EVR-CP with LAV but not with MadVR with the Catalyst drivers. However with NVidia and CUVID when it is selected it does show up as 59.94 with MadVR.
I will repeat the testing with interlacing on in MadVR.
I am sure as a developer you are saying this guy has got something wrong ... and I actually hope that I do, but I don't think so and once this is figured out, all will be better for it.
Again ... you guys are doing great stuff and I apologize for not being able to just dump all the info needed right away. ... But will get it to you ASAP.
QUICK UPDATE WITH MADVR INTERLACING:
Quick test with the interlace function on in MadVR. The MPEG2 files (Good Year, etc.) continue to indicate "interlaced" in MadVR even though they are not and look "BAD". Need to carefully check telecine settings but looks like if they are checked or Auto things are good! If press Ctrl+Alt+Shift+D to force deinterlacing off, all is well. The other files are deinterlaced correctly by MadVR.
Will update link with screen images for the MadVR "BAD" result (a non-interlaced stream still being read by MadVR as interlaced) and when forced off showing "GOOD" result. ... :-)
So the simple answer to Madshi is that forcing the interlacing off does work ... and I apologize for the complexity and confusion ... :-(
So ... figure out why progressive MPEG2 material is still read by MadVR as interlaced and/or produces "BAD" result when using LAV video decoder and I think all is great ...
Using ArcSoft video decoder also read as interlaced by MadVR but is does not cause the distortion ... but the quality is not nearly as good as when MadVR works and does the deinterlacing correctly ... OR the hardware does it with the decoder and a 59.94fps deinterlaced stream goes to renderer (that is what happens with LAV and EVR-CP and it is excellent) ... At least that is what I think happens based on what I see from the renderer information seen on screen.
Will post new images ASAP. ... thanks again
How do the rolling credits look and what are your conditions?
This is a clip from a direct rip from the owned DVD using latest MakeMKV and then remuxing with the latest MKVMerge.
MadVR continues to report interlaced immediately on all my systems. ... BUT with the new telecine option if checked or "auto" it now looks good on at least one system with Radeon 4890 GPU. If unchecked, it is awful unless forcing deinterlacing off per Madshi.
Testing (3x) with MadVR used for interlacing. All true interlaced material looks good now... but the "progressive" MPEG2 files still show up as interlaced with MadVR and look "BAD". If the interlacing is forced off in MadVR all looks "GOOD". Also looks good if force all progressive with LAV video filter, but then none of the true interlaced material works.
Tested 3x and even did clean install and update of the LAV filters because thought the telecine check box had actually worked previoulsy, but could see no change this time ... :(
Quick results and screen shots can be found below:
https://docs.google.com/folder/d/0B_DzSqUkDhPoeUt4ZDA5TjBpMmc/edit
Shows the "BAD" progressive MPEG2 results as setup with LAV and MadVR and also the "GOOD" result when force deinterlacing off in MadVR.
Same results seen on 2 other systems with Radeon 6570 cards.
Hope this helps ... will test NVidia later.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.