View Full Version : LAV Filters - DirectShow Media Splitter and Decoders


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26

egur
24th January 2013, 08:50
Whats the benefit of ICL builds? Any faster?

ICL in many cases produce faster code (if used properly). It allows creating several versions of functions, optimized for different micro-architectures.
ICL also support new extensions (AVX/AVX2) faster than Microsoft's compiler. It also ships with several optimized libraries that implement low level operations very quickly.

Another rising star in the C/C++ compiler world is LLVM. It's an open source project (BSD) from Apple that can mimic the operation of GCC and Microsoft's compilers (e.g. flags/switches).
LLVM has it's own C++11 standard library (also libc) which is probably the fastest in existence (C++ part anyway).

ryrynz
24th January 2013, 08:53
They probably are a bit quicker, but I'd doubt there's that much in it. ICL compiled stuff is generally more unstable from what I've seen, which could be what Dan is experiencing.

nevcairiel
24th January 2013, 09:16
Yeah ICL builds are usually more buggy because Intel seems to optimize at all costs, running in worlds of problems.

paradoxical
24th January 2013, 17:53
Whats the benefit of ICL builds? Any faster?

In the case of MPC-HC? Probably next to nothing. Just like ICL has marginal differences when compiling ffdshow, x264, etc. Building things with ICL "for speed" is in most cases the equivalent to turning your car into a ricer "for speed".

Niyawa
25th January 2013, 04:44
Hey nev, passing by to tell you something I noticed some time ago. Let's say you have a clean computer from LAV, so you decided to install it. Apparently if I install using the .exe, LAV Splitter Source will be used. Now if I install it through the .bat, LAV Splitter and File Source (Async.) will be used instead. Is there an explanation for why this happens or is not supposed to be like this at all?

wanezhiling
25th January 2013, 05:08
http://forum.doom9.org/showthread.php?p=1568482#post1568482

Niyawa
25th January 2013, 07:49
http://forum.doom9.org/showthread.php?p=1568482#post1568482
Thanks! Next time I should do a proper search before asking.

nevcairiel
25th January 2013, 16:10
LAV Filters 0.55.2

LAV Splitter
- Improved support for MP4-style H.264 in AVI
- Further improvements for AAC in MPEG-TS
- Small improvements to handling Blu-rays with odd stream configurations
- Improved handling of Ogg Vorbis streams

LAV Video
- Basic support for playing DVDs in different playback rates
- Fixed DXVA2 resource cleanup which may have caused a crash in some situations with DXVA2-Native
- Fixed A/V Sync when using the WMV9 DMO decoder (especially noticable after seeking)

LAV Audio
- Improved AC3 decoding quality (thanks to madshi for the patch in ffmpeg)


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

I actually wanted to release this last week, but somehow i didn't manage to, so one or two more fixes slipped in, and here it is.
Nothing really big and noteworthy, some compat-improvements with a bunch of odd files, some quality improvements, DVD fast-forward/rewind support, and the occasional bug fix.

I'm pretty confident nothing new breaks with this version, but in case i am still wrong, please let me know!

Pomegranate
25th January 2013, 16:16
LAV Audio
- Improved AC3 decoding quality (thanks to madshi for the patch in ffmpeg)

I was wondering about that. But I wasn't sure LAV used the same libav ac3 decoder as eac3to. Anyways, thanks!

Sebastiii
25th January 2013, 18:51
Thanks :) works nicely

glorp
25th January 2013, 19:13
Something in recent builds of MPC-HC has broken the advanced subs handling in LAV splitter. If I have an mkv with eng main audio and eng subs (both flagged default, none forced, subs are srt format) and a lav advanced string of "eng:eng|f;eng:off;*:eng;*.*|f" then MPC will still show eng subs if subs are enabled in MPC. I reverted back to build 1.6.6.6464 and that reverses it so that it works as it used to. something between that and current version changed so that the eng:off match no longer works as it did to turn the subs off even when mpc subs are enabled. using evr-cp and dxva.


ED: The smileys are colon,oh. forgot to turn them off.

nevcairiel
25th January 2013, 19:50
That seems weird, LAVs logic only changes which stream is selected, so MPC-HC overwrites that decision, but only if the "off" stream is selected?

In any case, seems like something for them. :)

glorp
25th January 2013, 19:55
In any case, seems like something for them. :)

Agreed :) Just thought you would have a much better chance of explaining it and pinpointing problem than I would. I'll add a message to the thread.

nevcairiel
25th January 2013, 20:01
There is a small glitch in your selector, *.*|f is invalid, needs to be *:*|f, i hope you just typoed it. :)
Shouldnt be the reason for your problems, though.

glorp
25th January 2013, 20:09
Right you are! I guess we aren't selecting Windows files here are we (*.*)? :) But fixing that didn't affect my trouble with the sub selection. I still get eng subs with eng audio and this:
eng:eng|f;eng:und;eng:off;*:eng;*:*|f

6233638
25th January 2013, 20:31
If I am understanding things correctly, what you want is: Subtitles with English audio when they are forced.
No subtitles with English audio otherwise, even if they are the default track.
English subtitles when the audio language is not English.

It's been a while since I looked into this, but I think that would be:"eng:*|f;eng:off|d;*:eng"

I'm not sure why you have the subtitle track flagged as the default one, if you don't want to see it though.


For what it's worth, I use"eng:*|f;eng:*|d;*:eng"

I've still never been able to get subtitles to work correctly with some titles such as Kill Bill 1 & 2 where the audio is mostly English, but there are some parts which are not. I can only seem to enable subtitles globally, or not have them at all. There doesn't seem to be a subtitle track which only has the non-English parts. Play it in a commercial player or a stand-alone player, and it works as you would expect though.

With Kill Bil Vol.1 I ended up ripping to MKV and editing the subtitles by hand, but I never got around to it with Vol.2 and it would be nice to just play off the disc directly.

nevcairiel
25th January 2013, 20:33
His expression is just fine, its MPC-HC which is broken.

PS:
Modifiers on the "off" tag won't do anything.

glorp
25th January 2013, 20:57
I've still never been able to get subtitles to work correctly with some titles such as Kill Bill 1 & 2 where the audio is mostly English, but there are some parts which are not. I can only seem to enable subtitles globally, or not have them at all. There doesn't seem to be a subtitle track which only has the non-English parts. Play it in a commercial player or a stand-alone player, and it works as you would expect though.


Because PGS subs can be flagged at the individual time sync mark allowing one track to be both all subs or only forced subs. You lose that when you use a player that can't recognize or honor those "internal" flags. LAV splitter has an option that controls selecting and delivering those kind of subs as a separate stream to the player. I'm sure nev can explain it much better than me.

6233638
25th January 2013, 21:52
Because PGS subs can be flagged at the individual time sync mark allowing one track to be both all subs or only forced subs. You lose that when you use a player that can't recognize or honor those "internal" flags. LAV splitter has an option that controls selecting and delivering those kind of subs as a separate stream to the player. I'm sure nev can explain it much better than me.I thought that's what the "Forced Subtitles (Auto)" stream was supposed to be, but I can't think of a single disc where that has ever shown any subtitles. (I have it set to use that track on English discs by default)

PS:
Modifiers on the "off" tag won't do anything.Good to know, thanks.

Qaq
25th January 2013, 22:55
Thanks for the new version!

loudmax
25th January 2013, 23:52
Hi Nev,

thanks for your great work!
Itīs the only freeware that plays broadcast AVC-Intra atm.:)

There only seems to be a problem with the automatic field order detection. When field order is set to "auto" the motion in the video looks wrong. When I set it to "top field first" the video is fine.
Iīve tested AVC-Intra clips from different sources, like Avid, Omneon, Quantel...all with the same result. MediaInfo reports all of them as top field first.

Iīve uploaded a file for you, where the motion jitter is clearly visible: http://free-vsts.com/files/MXF/AVCI100_1080_sps.mxf

Thanks for your help!

glorp
25th January 2013, 23:54
I thought that's what the "Forced Subtitles (Auto)" stream was supposed to be, but I can't think of a single disc where that has ever shown any subtitles. (I have it set to use that track on English discs by default)

That's what I thought too. But the tooltip on the option says it may not work with all discs so I guess now we know which ones are likely candidates for that :)

Blight
26th January 2013, 01:31
nev:
Do you think you can support DVD Fast Forward with audio and pitch correction when decoding the audio?
The "IDVDControl2" interface supports it through the "SetOption" function with the "DVD_AudioDuringFFwdRew" flag.

I apply this flag in Zoom Player when the following setting is enabled:
Adv. Options / Playback / DVD / DVD Values - Maintain audio during fast forward / rewind

nevcairiel
26th January 2013, 07:01
I could probably enable audio somehow, but not with pitch correction. Faster audio just sounds funny then.

nevcairiel
26th January 2013, 07:28
There only seems to be a problem with the automatic field order detection. When field order is set to "auto" the motion in the video looks wrong. When I set it to "top field first" the video is fine.
Iīve tested AVC-Intra clips from different sources, like Avid, Omneon, Quantel...all with the same result. MediaInfo reports all of them as top field first.
I don't think either MediaInfo or LAV actually detect anything, the difference is the default assumption. If LAV doesn't detect any field order indication, it defaults to BFF, and it seems that MediaInfo defaults to TFF.
I'm not sure what is the better assumption, really.

Not sure how one would figure this out from this stream, i find no indications of field order.
But thats what the option is for, to override it on the occasional file which doesn't tell us this.

pankov
26th January 2013, 09:01
Nev,
if you haven't already done it and you have access to this parameter when select the field order you can use the framerate as a helper.
If I'm not mistaken most PAL (50i) content ... except DV which I'm not sure is that popular nowadays .... is TFF. Most 60i contenet is BFF.
I can't test the file right now to see if follows this rule because I'm on my tablet but I hope post could help.

nevcairiel
26th January 2013, 09:03
ffmpeg only has a flag called "top_field_first", which can be 0 or 1, it doesn't exactly tell me if it actually determined the file is BFF, or if thats just the value being unset =p

wanezhiling
26th January 2013, 09:19
According to my personal experience, most broken interlaced videos (no field order) are actually TFF. :)

Pomegranate
26th January 2013, 09:23
Is it possible to back up settings? I'll be switching to Win 7 x64 this weekend.

wanezhiling
26th January 2013, 09:40
Is it possible to back up settings? I'll be switching to Win 7 x64 this weekend.

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

Pomegranate
26th January 2013, 09:56
"A picture is worth a thousand words". Thank you.

nevcairiel
26th January 2013, 10:01
According to my personal experience, most broken interlaced videos (no field order) are actually TFF. :)

Well, you may think that now, but when you play such a broken file that is BFF, you wouldn't notice that its broken, because it defaults to BFF. :p

loudmax
26th January 2013, 10:36
As far as I know, bff was originated by the NTSC standard. All HD codecs and PAL SD codecs are tff. Exept DV25, DVCPro25 and DVCPro50, which are bff in PAL and NTSC.
So maybe you could let the fieldorder automatic check if the video is not dv, but 25fps or HD and then switch to tff?

nevcairiel
26th January 2013, 10:38
Didn't i already mention that it doesn't tell me if it detected a movie to be BFF, or just didn't detect anything at all? There is no distinction there.
Feel free to request this from the ffmpeg developers, i don't have the resources to fix every problem in ffmpeg myself.

loudmax
26th January 2013, 10:51
Okay, thanks!

iSunrise
26th January 2013, 16:55
nev, I cannot get Camtasia files to play with the LAV decoder. LAV Splitter seems to be doing everything correctly and detects it, but the LAV decoder doesnīt get invoked. The file has the (new) TechSmith Video Codec 2 (which comes with Camtasia Studio 8, older versions only support TechSmith Video Codec). My source (like the sample at the bottom) is an AVI export from the original .camrec file that Camtasia produces when recording.

http://www.abload.de/img/potplayer_filterchainghfwv.png

Am I doing something wrong here? I have enabled .camtasia in the LAV decoder, still doesnīt work. I even tried to manually build a graph with GraphStudio, but the video output pin just wonīt connect to the LAV decoder input pin. Am I doing something wrong?

If I play the file with the AVI Decompressor (quartz.dll) I get heavy image corruption, thatīs why I thought LAV would work, but strangely, it doesnīt.

You can get a sample here:
https://ffmpeg.org/trac/ffmpeg/ticket/1533

Thanks a lot for looking into it!

nevcairiel
26th January 2013, 17:05
Whoever said it was supposed to work? :)
But it will work in the future.

iSunrise
26th January 2013, 17:11
Whoever said it was supposed to work? :)
But it will work in the future.
:)

So you implemented support for it? Wow, that was fast. Eager to try it out now!

wanezhiling
26th January 2013, 17:18
But it will work in the future.

MPC-BE supports tscc2, let's expect LAV.:thanks:

Rimsky
27th January 2013, 12:22
Two question:

1. does Lav Video Decoder support HW deinterlace on AMD Radeon in future? Or only NV/cuda/QS?
I interesting only in "copy-back" deinterlace for recoding and SmoothVideo Project

2. YADIF seem to be worst than linear blending. What can I do fo better deinterlace quality with LAV Video?
Or may be LAV Video can make software linear deinterlace in newer version? yeah, it is not perfect, but better than nothing and chip for CPU.

LAV + YADIF
http://i.piccy.info/i7/d8d9574d56f3adb38d2901b0f15a46de/4-55-1171/20267336/01_500.jpg (http://piccy.info/view3/4040783/7da865a8476a04c2111ccf6a6103218c/)http://i.piccy.info/a3/2013-01-27-11-15/i7-4040783/500x225-r/i.gif (http://i.piccy.info/a3c/2013-01-27-11-15/i7-4040783/500x225-r)

FFDSHOW + Linear blending
http://i.piccy.info/i7/9f88fa9a33c37f9dd1df8c4d4309caa0/4-55-1171/36251327/02_500.jpg (http://piccy.info/view3/4040816/0d76a969978c871f37751a6cfb474703/)http://i.piccy.info/a3/2013-01-27-11-21/i7-4040816/500x226-r/i.gif (http://i.piccy.info/a3c/2013-01-27-11-21/i7-4040816/500x226-r)

nevcairiel
27th January 2013, 12:32
1) There will be no additional HW deinterlacing options for DXVA2
2) There will also be no additional software deinterlacers

PS:
If you want to do comparisons, you should post the same frame.

ryrynz
27th January 2013, 23:01
Nev, can you tell me why this sample (http://www.mediafire.com/?srj92zrjxv8z52w) doesn't show the English subtitles when specified when I have Directvobsub loaded? If Directvobsub is not loaded LAV selects it just fine.

turbojet
28th January 2013, 07:09
nevcairel, did you get a chance to check out the auto pause issue when lavfilters is used with mpc-be and madvr (http://forum.doom9.org/showthread.php?p=1612242#post1612242)?

nevcairiel
28th January 2013, 08:08
Nev, can you tell me why this sample (http://www.mediafire.com/?srj92zrjxv8z52w) doesn't show the English subtitles when specified when I have Directvobsub loaded? If Directvobsub is not loaded LAV selects it just fine.

Without looking at it, i can already tell you that LAV selects its streams before it actually joins the DirectShow Filter Graph, so my guess is that something changes it, and something not being LAV. :)

nevcairel, did you get a chance to check out the auto pause issue when lavfilters is used with mpc-be and madvr (http://forum.doom9.org/showthread.php?p=1612242#post1612242)?

Works fine for me in MPC-HC with madVR.
I cannot debug things with every possible player out there, or i would never get stuff done.

By the way, weren't you using CUVID? The only possible chance that it may pause due to bad interaction with the renderer is when using DXVA2 Native. If it pauses with any other HW decoders in LAV, then something else is broken, possibly in the player.

turbojet
28th January 2013, 09:48
Works fine for me in MPC-HC with madVR.
I cannot debug things with every possible player out there, or i would never get stuff done.

By the way, weren't you using CUVID? The only possible chance that it may pause due to bad interaction with the renderer is when using DXVA2 Native. If it pauses with any other HW decoders in LAV, then something else is broken, possibly in the player.

Normally use cuvid but it happens with software, quicksync and dxva2 as well. mpc-be plays fine with internal, ffdshow and coreavc. This has been a problem for months and I first notified madshi because updating to madvr 85.x is when I first noticed it, he replied with http://forum.doom9.org/showthread.php?p=1606518#post1606518 I later mentioned how to reproduce it and have reproduced it on 5 computers so far, 1 was fresh windows 7 install with default mpc-be (except prefer lav video), madvr, lav settings.

After getting nowhere with madvr, I went to mpc-be and madshi explained to them what needed to be fixed, they said they'd work on it 3 weeks ago and nothing has been done. They are ignoring posts about it now. So I came here as a last resort.

nevcairiel
28th January 2013, 12:43
If it also happens with software decoding, then i have no idea would could potentially be causing it. As i said, it works fine for me in MPC-HC, so if its only a problem with BE, you should address it there.

madshi
28th January 2013, 14:05
@turbojet, IIRC your log indicated that "someone" asked madVR for the Direct3D device. Usually that's the decoder. That's why I said that the decoder should be fixed to not do that when using software decoding. But if this only occurs with MPC-BE, but not with MPC-HC then maybe it's not the decoder which asks madVR for the D3D device, but maybe the media player. If you want to know for sure I'd suggest that you create 2 madVR debug logs, one with MPC-HC and one with MPC-BE, zip and upload them somewhere, then PM me with a download link. You don't even have to switch monitors during playback. Just start video playback, stop it, done.

Blight
28th January 2013, 23:44
nev:
Even fast-playing DVD audio with no pitch correction is better than nothing, users are occasionally asking for that feature in order to fast-play (10-20% faster) documentaries and such.

nevcairiel
29th January 2013, 07:36
Die you check the check box which controls 4k decoding in LAV? It's off by default.

dansrfe
29th January 2013, 08:00
(Hopefully tiny) feature request: Would it be possible to show the audio and video format/bitrate/sample rate when hovering over the tray icons, respectively? Thanks!

vad74
29th January 2013, 09:37
nevcairiel
I nave a problem with my interlased video. This is H.264 stream in m2ts files from my Sony camcoder. I use LAV with DXVA2, and Field Order set in Auto. From my files MediaInfo show info: Interlaced and Top Field First. When I playback video, I see very strobed video. Than, I in LAV set Field Order to Top Field First - video play smoothly! Result : LAV not correct take Field Order from file. Than, I join some m2ts files together to 1 file, without recompress. When I play it, some parts (early was separate m2ts) play smoothly another strobed. May be, when LAV reading new part of video, LAV change Field Order. I can upoad my file to internet for tests, if need.

cyberbeing
29th January 2013, 09:37
Nev, can you tell me why this sample (http://www.mediafire.com/?srj92zrjxv8z52w) doesn't show the English subtitles when specified when I have Directvobsub loaded? If Directvobsub is not loaded LAV selects it just fine.

There actually does seem to be a bug in LAV Splitter which is preventing it from correctly reading the language codes of the particular OGM sample ryrynz provided.

The Japanese audio track is not selected when jpn is set.
No subtitle track is selected by LAV Splitter when eng or jpn is set.
Only using * will make LAV Splitter select the subtitle track.

Haali Splitter has no issue with ryrynz's sample, which is detected as follows:
Audio Track 1: eng
Audio Track 2: jpn
Subtitle Track 1: eng
Subtitle Track 2: und

LAV Splitter has no issue with a few other OGM files I tested, so it must be something particular about how the languages in ryrynz's OGM were tagged.

DirectVobSub has no involvement in subtitle selection when LAV Splitter is used. I can only assume that ryrynz's media player is correctly selecting a subtitle track when DirectVobSub is disabled, yet leaves stream selection entirely to LAV Splitter when DirectVobSub is enabled. The problem being that LAV Splitter stream selection by language codes is apparently broken on that OGM, causing no subtitle track to be selected with or without DirectVobSub loaded (with MPC-HC).

nevcairiel
29th January 2013, 09:44
nevcairiel
I nave a problem with my interlased video. This is H.264 stream in m2ts files from my Sony camcoder. I use LAV with DXVA2, and Field Order set in Auto. From my files MediaInfo show info: Interlaced and Top Field First. When I playback video, I see very strobed video. Than, I in LAV set Field Order to Top Field First - video play smoothly! Result : LAV not correct take Field Order from file. Than, I join some m2ts files together to 1 file, without recompress. When I play it, some parts (early was separate m2ts) play smoothly another strobed. May be, when LAV reading new part of video, LAV change Field Order. I can upoad my file to internet for tests, if need.

Nothing is wrong with LAV. Your file most likely just has no Field Order flags. Broken files will be broken.

Nev, can you tell me why this sample (http://www.mediafire.com/?srj92zrjxv8z52w) doesn't show the English subtitles when specified when I have Directvobsub loaded? If Directvobsub is not loaded LAV selects it just fine.

Its the typical OGM screwed up language tags.
LAV recognizes language tags in many formats, like just "eng", or just "English", however that particular OGM file contains the info "English[eng]", which is not supported in this format. You can see this yourself if you just look at the stream names LAV produces.

I can probably make it try to look for a "[eng]" tag in the language field and try to identify that, but thats hardly a high-priority issue.

ice25
29th January 2013, 10:54
Nev, would it be possible to add a shortcut for the Audio Delay?

vad74
29th January 2013, 12:03
nevcairiel
MediaInfo show that video is Top Field First. But LAV play good only when I manualy set Top Field First. I dont assert that LAV is bed. May be video have a problem. But MPC-HC play video very good with built-in DXVA decoder! I only ask help resolve this problem. Letter I try upload file for tests.

nevcairiel
29th January 2013, 12:11
An uploaded file won't help anything.

I explained this just a few posts ago. If your file contains NO field order flags, then Media Info assumes that it is TFF, and LAV assumes its BFF. So MediaInfo gets it right by accident, but there are other files which are actually BFF and have no flags, where LAV gets it right by accident, and MediaInfo gets it wrong.

Broken files will be broken. If it works only depends on which field order is assumed to be the default if its not set.

zipi
29th January 2013, 13:25
@nevcairiel, just wanted to say a big Thank You for the great work man, all the best to you.

DragonQ
29th January 2013, 13:42
Nev, would it be possible to add a shortcut for the Audio Delay?
This'd be cool actually. At the moment if I have a file where the audio is slightly out of sync with the video, I have to use MPC-HC's audio switcher and then use +/- keys to find (roughly) the correct sync so I know what to put in MKVMerge when remuxing.

nevcairiel
29th January 2013, 14:11
LAV will not do any shortcuts in the forseeable future.

vad74
29th January 2013, 14:31
nevcairiel
OK. Please, tell me right program that show me was set this flag or not. And know you programm that can set-change this flag? Answer me please.

Reino
29th January 2013, 23:12
(Hopefully tiny) feature request: Would it be possible to show the audio and video format/bitrate/sample rate when hovering over the tray icons, respectively? Thanks!I second that. FFDShow-style.
+1

dansrfe
30th January 2013, 07:49
If I play a file which has a 6 channel, 24-bit, 48Khz truehd track and an identical spec track encoded as dts-hd-ma, which one would LAV Audio Decoder choose automatically, by default?

As of know it's choosing the truehd track (which is audio track #1) over the dts-hd-ma track (which is track #3). I thought it would choose the dts-hd-ma track by default but I guess it doesn't matter too much since the truehd and dts-hd-ma tracks sound the same anyways.

nevcairiel
30th January 2013, 07:50
It prefers TrueHD over DTS-HD MA because TrueHD can be decoded losslessly by popular decoders without external help (ie. DTS-HD MA needs LAV Audio with the ArcSoft dtsdecoderdll.dll, and TrueHD works with LAV Audio, ffdshow, MPC-HC decoders, ...)

If all else fails, track order matters, so in a set of identical tracks, the first wins.

dansrfe
30th January 2013, 09:18
^ Ah, I see. Thanks!

dukey
30th January 2013, 23:49
nevcairiel,
I've got some VC1 files which are marked as copy protected (but they aren't). They play fine, powerdvd plays them.


/* Check TP_extra_header Copy_permission_indicator. If != 0, unit is still encrypted. */
if (buf[0] & 0xc0) {


Using CUDA they work fine.
Using DXVA/non DXVA + DMO they work fine
Using DXVA/non DXVA they fail

just get a black screen

nevcairiel
31st January 2013, 06:24
Why would you turn off the DMO? The FFmpeg Software Decoder is just incomplete.
Otherwise I really don't know what you are Asking.

PS: This is why I removed this check in my libbluray.

wanezhiling
31st January 2013, 07:48
How about blocking the ffmpeg software vc-1 decoder? then people will always use the efficient DMO decoder.

nevcairiel
31st January 2013, 07:50
The DMO is enabled by default, if someone disables it, its their own damn fault. :p

dukey
31st January 2013, 11:35
I was just testing different modes and wondering why the behaviour was different with non DMO. I too removed the encrypted check in libluray. I'll try and get it permanently removed because it makes no sense. It gives a warning anyway which should be sufficient enough.

nevcairiel
31st January 2013, 11:37
it should probably still fire the event, just not do the return -1

dukey
31st January 2013, 11:59
exactly

filler56789
31st January 2013, 16:12
How about blocking the ffmpeg software vc-1 decoder? then people will always use the efficient DMO decoder.

Depending on how old/how odd :) the machine is,
the ffmpeg-based VC-1 decoders can be FASTER than the Micro$oftic one. ;)

nevcairiel
31st January 2013, 16:16
Faster doesn't help if it doesn't give you any image (for interlaced material), or images not as good as can be, because of missing other features. :p

filler56789
31st January 2013, 16:31
or images not as good as can be, because of missing other features. :p

Thanks for the warning, I didn't know ffmpeg/libav sucked that much. :scared: :D

nevcairiel
31st January 2013, 16:33
Just the VC-1 decoder, its rather terrible. :p

DragonQ
31st January 2013, 17:18
Seems a bit strange - surely VC-1, H.264 and MPEG2 are the "big three" codecs and thus demand high priority in terms of improvements and bug fixes?

nevcairiel
31st January 2013, 17:25
That's not how it works. People work on what interests them in most cases and not what is "popular". That's the big difference between open source and commercial work.

But we have the DMO so who cares much. :)

DragonQ
31st January 2013, 18:16
Yeah but people are likely to have more VC-1 files themselves than, say, FFV1 files. Would making files they actually have work not be interesting? :p

paradoxical
31st January 2013, 18:23
Yeah but people are likely to have more VC-1 files themselves than, say, FFV1 files. Would making files they actually have work not be interesting? :p

Apparently not. Otherwise someone would have made the VC-1 decoder as feature complete as DMO.

nhakobian
31st January 2013, 18:42
Yeah but people are likely to have more VC-1 files themselves than, say, FFV1 files. Would making files they actually have work not be interesting? :p

You also have to remember, some of these other formats may be much simpler to implement or maybe had an open source implementation that just needed to be merged in. VC1 also may just be so ugly to deal with that no one has wanted to push for fixing the issues.

(These are all suppositions of course, there could be more technical reasons for this to be the case.)

ddjmagic
31st January 2013, 20:15
Nev - I'm sorry you are right, I have made a mistake here.

XBMC does not have any logic different to LAV my tests were incorrect. This is what fooled me -

When I selected one of the problem titles from the library in XBMC, this comes up (Example Hellboy)

Now I presumed (wrongly) that XBMC was telling me that playlist 30 was correct (which it is), kind of how Speedmenus would by listing it at the top.

In reality this was just giving me a list of titles it thinks the main movie might be and it just listed them from low to high.

This is why some from my list worked and some didn't, it just depended on if the correct playlist was a lower number.

So that's why you couldn't find any extra logic in XBMC, it was never there to begin with :o

Sorry for anytime you wasted on this! :scared:


After spending a little more time looking at this, it doesn't seem like XBMC 12 does use the same logic as LAV, I originally thought it was just listing the titles from low to high, but after more testing I've found some BD's that contradict this.

Not sure how its actually determining the order of tracks in the popup menu, buts its definitely different to what LAV/MPC/JRiver chooses.

Nev did you get chance to look into improving selection?
Or are you going to wait for when Slysoft eventually include it in the 'disc.inf' of all discs?

Schwartz
1st February 2013, 07:32
0.55.1 can play homecooked AVI created with x264vfw just fine. 0.55.2 will just show a black screen and act like it's an empty file.

I assume this has to do with a change from "Improved support for MP4-style H.264 in AVI".

I realize x264 in AVI is a dirty thing to begin with, but this seems like a clear change from working to not working regardless.

nevcairiel
1st February 2013, 07:34
Provide a sample file which is now broken, and i'll look at it.

Schwartz
1st February 2013, 07:41
Sample (http://www.filedropper.com/x264vfwtest). Thanks for the quick reply!

Oh also.. the same video stream muxed into MKV will play fine with either version. So it's an AVI thing.

nevcairiel
1st February 2013, 08:08
I see why this file stopped working, its one of those i feared that might appear, with a AVC1 FourCC (which usually indicates MP4-style H.264), but actually with an Annex B stream (which usually uses the H264 FourCC).
The good news however is that i already rewrote how this is handled for the next version to make it more future proof (which i'm sure will also break some weirdo files), and the file works with the latest development build.

In fact, here is the latest development version:
http://files.1f0.de/lavf/LAVFilters-0.55.2-4-gf041b60.zip

Since 0.55.2, i mostly focused on removing a bunch of format-specific hacks and coming up with more generic solutions, one of these areas was trying to clean up the handling of AVC1/H264 differences.
I'm quite sure that some weirdo files may stop working properly now, so please report if you find some, and i can try to fix them properly.

I've also been considering removing the Annex B -> MP4-style conversion in the splitter, and output the stream as-is. I've already removed it for a bunch of formats (because it caused some issues), and effectively its only used for MPEG-TS now, but i may remove it there as well, however this may introduce incompatibility with some old or broken decoders. It should however not make any difference at all for LAV Video, except it may result in slightly higher performance because the source packages are not parsed completely in the splitter anymore.

Schwartz
1st February 2013, 08:52
That's interesting. I'll set it to H264 from now on, just to be more conform with these encoding settings.

If any odd files pop up, I'll post them.

dukey
1st February 2013, 12:51
nevcairiel,
is it safe to call queryaccept downstream to LAV and change the video resolution ? Or will this result in a cataclysmic failure. I've been getting some issues with this.

nevcairiel
1st February 2013, 15:17
QueryAccept itself is only a "query" function as the name suggests, so only calling it does nothing except tell you if LAV in general accepts that format or not.
However, LAV should support dynamic changes just fine, you just need to attach a new media type to the first packet of the new stream.

dukey
1st February 2013, 16:28
okay thanks

dukey
1st February 2013, 18:30
I get crashes like this on format change
Changing type/resolution

Fault Module Name: LAVVideo.ax

I'm not really sure what causes it. The new media type is correctly being attached to first packet of the new type. Originally it called queryaccept whilst the queue of buffers was still sending. I tried waiting until the queue emptied before doing a format change but the result is the same :p

nevcairiel
1st February 2013, 18:42
Then you are doing something wrong. :)

dukey
1st February 2013, 19:45
Only seems to break when the resolution changes

bugmen0t
2nd February 2013, 09:04
Subtitles are broken for me for some time now. The first subtitle is always chosen no matter what (using default settings for LAV Splitter subtitles). Is there a setting which causes this and I could have accidently turned on? Trying to change them while playing using madVR, LAV Splitter or MPC-HC menu has weird effects like nothing happens or none is shown if another than the first one is selected or some other seemingly random thing happens. :confused:
Any ideas?

sneaker_ger
2nd February 2013, 11:14
I had the same phenomenon when I activated MPC-HC's internal subtitle renderer. ("Options">"Playback">"Auto-load subtitles")
Sometimes it also changes depending on whether you had "Enable" ("Play">"Subtitles") or the subtitle track selected or not. Seems to be caused by MPC-HC.

kasper93
2nd February 2013, 12:25
@bugmen0t @sneaker_ger Use mpc-hc builds older then r6518 (7035e41). It's know issue and we need to wait for the fix ;)

dukey
2nd February 2013, 18:19
nevcairiel,
Do you plan to support DynamicQueryAccept on your input pins ?
I think this is the problem I've been getting :p Changing video resolution without stopping the graph causes all kinds of pain

nevcairiel
2nd February 2013, 18:36
Do you plan to support DynamicQueryAccept on your input pins ?
I think this is the problem I've been getting :p Changing video resolution without stopping the graph causes all kinds of pain

Nothing really supports DynamicQueryAccept, so i have no plans for this either.
And other things manage to change resolution just fine. The MediaPortal BD filter for example, or my own tests of dynamic stream switching.

mkanet
3rd February 2013, 07:08
Hi Nev,

I use VLC to transcode a liveTV RTMP stream into a format that most players can read (mpeg-PS/mp3 audio). I know that VLC doesnt handle RTMP streams to well anyway; but it does manage to get playable streams for any standalone media player or via directshow (as long as LAV splitter is not used). It plays correctly with other splitters too.

For some reason, LAV splitter can't handle these streams properly. The video stream isnt coming through at all. I was hoping you could take a look at the media file below to see if you can get LAV splitter to "tolerate" this type of media file; as bad of a shape that it's in.

http://ge.tt/72xl2JX/v/0?c?c

Thank you so much.

nevcairiel
3rd February 2013, 07:25
I made some changes for the next version that make especially mpegts/ps probing a bit more tolerant, it helps for your sample, however i can't be sure it works for all these files.

mkanet
3rd February 2013, 19:59
Wow Nev, thank you. I can't believe you already fixed it. I'll keep a close look for the next beta build.

BTW: I am still enjoying your SageTV VC1 fix you added a little while back!

I made some changes for the next version that make especially mpegts/ps probing a bit more tolerant, it helps for your sample, however i can't be sure it works for all these files.

zerowalker
4th February 2013, 14:22
In the latest version, i get black screen, on many of my cut avi files, from Virtualdub (cutting MKV files)

sneaker_ger
4th February 2013, 14:37
http://forum.doom9.org/showthread.php?p=1613883#post1613883

Qotscha
5th February 2013, 09:24
For some reason, LAV splitter can't handle these streams properly. The video stream isnt coming through at all. I was hoping you could take a look at the media file below to see if you can get LAV splitter to "tolerate" this type of media file; as bad of a shape that it's in.

I have a bit similar problem. I downloaded a .ts file from Internet DVR service by using VLC to record the http stream. The file (DVB recording, mpeg2 video and audio) contains the program I wanted to record and also beginning of the next program (which I, of course, don't really need).

With newer versions of LAV Splitter I get no audio at all, but version 0.54.1 or older finds the audio stream. However, I still don't get audio for the beginning of the next program which has different audio language. The strange thing is, that if I watch the recording directly using LAV Splitter as source filter for http, even the newest version of LAV works like the older ones.

I also tested some other MPEG splitters (Haali, AV, MPC) and they all work like the older versions of LAV. However, with VLC I get audio for the latter part of the file, too.

I tried to cut some samples using Avidemux, but with them I didn't have audio for the beginning of the next program even with VLC. So, nevcairiel, I send you a pm with a download link for the whole recorded file, if you want to take a look.

cyberbeing
5th February 2013, 15:31
I see why I couldn't get it to work.

In order for LAV Video to use YV16 with DirectShowSource, you need to set all output formats in the following registry key to 0 except YV16 which needs to be set to 1:
HKEY_CURRENT_USER\Software\LAV\Video\Output

LAV Video -> DirectShowSource -> madVR seems to display YV16 normally.

It seems impossible to make LAV Video connect directly to madVR with YV16 during normal DirectShow playback outside of Avisynth.

Was this behavior for LAV Video YV16 output intentional?

nevcairiel
5th February 2013, 15:33
YV16 is intentionally disabled, or did you see a checkbox for it in the options panel to enable it? :)
Your trick shouldn't be working though, the options loading code directly sets YV16 to disabled. I suppose if you disable *everything*, it goes back to the default format line, which has YV16 in it somewhere.

cyberbeing
5th February 2013, 16:03
Yeah, I was under the impression that YV16 was completely disabled in LAV Video as well, before I discovered that workaround with DirectShowSource 2.6.0.1 yesterday.

Was it originally disabled because of poor support, or just because you haven't yet written a comparable set of high quality conversion routines for YV16 compared to other 4:2:2 output formats?

__

Any thoughts on the other issue mentioned in that Avisynth 2.6 thread?

Why LAV Video + Haali Splitter (autoload vsfilter) + xy-VSFilter 3.0.0.211 + 10-bit 4:2:0 Video + DirectShowSource 2.6.0.1 pixel_type="AYUV" fails to connect when all output formats are enabled in LAV Video? Yet it works when I selectively disable certain LAV formats like P016 or P010 or NV12?

bugmen0t
5th February 2013, 16:51
Clipping protection should be impossible to overflow.
Do you have a sample file where this can be observed?
Yes I do. Note that the problem requires LAV mixing to stereo with clipping protection and outputting 32-bit integers and a winamp plugin.
Using 'normalize matrix' or outputting 24-bit integers or bypassing the winamp plugin will be fine. :confused:

WARNING: turn your volume down before playing
test.rar (http://www54.zippyshare.com/v/97989058/file.html)

Qotscha
5th February 2013, 17:04
My previous post is a bit misleading. Somehow I forgot to test if the latter part of the recording has audio when playing it using LAV as http source filter, and was under the impression that it has not. However, it has. So maybe I'll just blame VLC for breaking the .ts file :sly:

mkanet
5th February 2013, 17:39
Its really too bad that VLC tends to ruin a perfectly good original raw incoming mpeg stream during transcoding.

My previous post is a bit misleading. Somehow I forgot to test if the latter part of the recording has audio when playing it using LAV as http source filter, and was under the impression that it has not. However, it has. So maybe I'll just blame VLC for breaking the .ts file :sly:

nevcairiel
5th February 2013, 18:04
My previous post is a bit misleading. Somehow I forgot to test if the latter part of the recording has audio when playing it using LAV as http source filter, and was under the impression that it has not. However, it has. So maybe I'll just blame VLC for breaking the .ts file :sly:

I found the reason for the missing audio and fixed it by reverting the change in ffmpeg, maybe they'll come up with a proper fix later :)

Mercury_22
6th February 2013, 19:53
Does anyone knows how to make XBMC use LAV Filters ?

Bryanhoop
7th February 2013, 01:59
Does anyone knows how to make XBMC use LAV Filters ?

http://wiki.xbmc.org/index.php?title=DSPlayer

You need DSPlayer.

Qaq
7th February 2013, 08:53
http://wiki.xbmc.org/index.php?title=DSPlayer

You need DSPlayer.
And AVsplitter instead of LAV splitter AFAIK. Haven't tried myself though.

Shark007
7th February 2013, 09:15
Nev, this m2ts sample (http://www.mediafire.com/file/mgvkrc1j5dq6ctj/PCM_audio.m2ts) file will not play the pcm audio using lav.
If I use AC3Filter, the sample plays the audio properly.
Could you have a look at it please?

Mercury_22
7th February 2013, 09:57
http://wiki.xbmc.org/index.php?title=DSPlayer

You need DSPlayer.

Thanks already tried that :) and it's buggy as hell, maybe in the future
Maybe I wasn't clear enough I want to use LAV Filters with the default dvdplayer

Nicola
7th February 2013, 11:02
I just dscovered that if I set "force deinterlace" option in LAV video decoder the video sometimes get corrupt.
Unchecking option make it fine. Happens sometime, with progressive video. Why does this happen? Is it expected?
Link to screenie: http://imageshack.us/photo/my-images/690/720pmkvsnapshot10102013.png/ (artifacts near the mouth, and around the necktie)

nevcairiel
7th February 2013, 11:03
Deinterlacing progressive video can cause image degradation, so don't do it.

Nicola
7th February 2013, 11:22
Deinterlacing progressive video can cause image degradation, so don't do it.

oh, so that's expected to happen?
Actually the discovery was casual, I don't remember activating that option, and found out it was the cause after some checks with the encoder.
Is there a short explaination about why it degrade progressive image?
I'm just curios about why it happens. Thanks.

starla
7th February 2013, 11:33
Maybe I wasn't clear enough I want to use LAV Filters with the default dvdplayer

It won't be possible to use Directshow filters in a non-Directshow based player.

Mercury_22
7th February 2013, 11:54
It won't be possible to use Directshow filters in a non-Directshow based player.

Ouch! Didn't think "the dvdplayer" in the xbmc for windows is a "non-Directshow based player"
Thanks for "reminded" me !




P.S. I just need nev's "hack" to use the DMO for VC-1 in XBMC and the dts one :)

nevcairiel
7th February 2013, 14:07
Nev, this m2ts sample (http://www.mediafire.com/file/mgvkrc1j5dq6ctj/PCM_audio.m2ts) file will not play the pcm audio using lav.
If I use AC3Filter, the sample plays the audio properly.
Could you have a look at it please?

Apparently, someone tried to be funny and packed DTS into a Blu-ray LPCM stream. I consider this a simply broken stream. DTS has its own stream type in m2ts files, don't need to do hacks to store it, so this is just broken.

Shark007
7th February 2013, 16:18
Apparently, someone tried to be funny and packed DTS into a Blu-ray LPCM stream. I consider this a simply broken stream. DTS has its own stream type in m2ts files, don't need to do hacks to store it, so this is just broken.

Thanks for your investigation.
I'll pass on the information to the files owner.

andyvt
8th February 2013, 16:54
What version of MSYS do you use?

The one I pulled down is giving me an error when I try to compile ffmpeg (although it's quite possible that I have something configured incorrectly).


gcc is unable to create an executable file.
If gcc is a cross-compiler, use the --enable-cross-compile option.
Only do this if you know what cross compiling means.
C compiler test failed.

If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solving the problem.

paradoxical
8th February 2013, 17:07
What does your configure line look like? What version of MSYS are you using?

tahaa7
8th February 2013, 17:14
How to check whether full DTS-HD MA is being decoded using Lav Filters and MPC-HC with TotalMedia's dll?

andyvt
8th February 2013, 17:28
What does your configure line look like?


Whatever is output by "build_ffmpeg.sh".


What version of MSYS are you using?

This one (https://sourceforge.net/apps/trac/mpc-hc/wiki/How_to_compile_the_MPC). In the past I just followed their instructions to get MSYS/MINGW setup, but it seems different from the last time I did it.

andyvt
8th February 2013, 18:07
In the past I just followed their instructions to get MSYS/MINGW setup, but it seems different from the last time I did it.

Figured it out. I didn't set up the PATH correctly.

filler56789
8th February 2013, 21:48
How to check whether full DTS-HD MA is being decoded using Lav Filters and MPC-HC with TotalMedia's dll?

In the MPC-HC window, right-click, then select LAV Audio, and look at the Status tab. If it says "codec = dts", then LAV is using the Arcsoft DLL, but if it says "codec = dca", then LAV is using the built-in decoder.

tahaa7
8th February 2013, 22:12
In the MPC-HC window, right-click, then select LAV Audio, and look at the Status tab. If it says "codec = dts", then LAV is using the Arcsoft DLL, but if it says "codec = dca", then LAV is using the built-in decoder.

OK, thanks. It says "dts-hd ma". However, what worries me is that under Pin Info it says:

Input:
...
Audio: DTS 48000Hz 6ch 1536kbps

Output:
...
Audio: PCM 48000Hz 6ch 6912kbps

Is this OK?

Qaq
8th February 2013, 22:53
@tahaa7
Arcsoft outputs in 24int, ffmpeg outputs in 32float.

Pomegranate
8th February 2013, 22:56
Once could also play a 7.1 dts-hd ma file. The dts core will never be 7.1.

Nekomata
10th February 2013, 02:50
Please when the next version :thanks:

ryrynz
10th February 2013, 03:08
If you want a reasonably recent build you can visit http://xhmikosr.1f0.de/lavfilters/
Otherwise it's a case of when it's done and judging from previous releases that's generally every month or so.

nevcairiel
10th February 2013, 07:34
There should be a minor release fairly soon to get some changes out there before i start breaking everything again. :p

nevcairiel
10th February 2013, 14:24
LAV Filters 0.55.3

LAV Splitter
- Improved handling of Annex B H.264 in many containers
- Improved support for external source filters without seeking ability (live sources)
- Fixed duration in some MP4/MOV files
- Fixed stream program assignment for some MPEG-TS files (resulted in some streams not visible)

LAV Video
- Added support for TSCC2
- Fixed a crash when playing certain H.264 files with QuickSync or CUVID


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

Just a bunch of bugfixes and small improvements, nothing big.
Hopefully i'll find some time to work on some of the bigger tasks soon, so that i don't have to do small bugfix versions all the time.

The only risky change in this version is the change in handling Annex B H.264 - if you have any H.264 file which stops working in this version (but worked in 0.55.2 or 0.55.1), please let me know.

- nev

wanezhiling
10th February 2013, 14:43
Thanks!

I guess the 0.56 will be a big release!;)

dukey
10th February 2013, 14:44
I got some crashes with LAV can't seem to fix

http://i.imgur.com/UPJ8g1d.png
http://i.imgur.com/Q8xRNOf.png

nevcairiel
10th February 2013, 15:10
If the outStride is really 768 on a video with 1920 width, then something is seriously wrong with your renderer, although i did think i had some checks for this, but maybe not enough. In some cases just have to rely on the renderer behaving properly.

dukey
10th February 2013, 15:17
Well it is EVR, but I'll double check the code in the custom mixer

nevcairiel
10th February 2013, 15:24
Sounds like LAV was trying to set the proper frame size (with a new media type), but failed, so the renderer still wants a smaller frame. I should probably add a check there, but its not an issue that ever came up before. Not that the check can fix anything, it would just prevent the crash.

Anleck
10th February 2013, 16:09
Thanks for the new LAV - appreciate your continued work.

dukey
10th February 2013, 19:45
I found a workaround for the problem.
Basically in Media foundation it tests if you can set a media type when it calls SetInputType
I return MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING
Because I still have samples left to display
So I guess LAV tries to force a reconnect, and it gets stuck in some sort of loop. It's only 1 sample every time stuck in the buffer. If i flush it, problem solved.

nevcairiel
10th February 2013, 19:49
Of course it needs to force a reconnect, because i need a bigger buffer to write my bigger frame into. What else can i do? :D

dukey
10th February 2013, 20:46
Good point :)
By the way, it's a pleasure to debug with LAV. The debug info is super useful.

Owyn
10th February 2013, 22:37
nevcairiel, Hi
I just did reset my settings in KMPlayer and set splitter to LAV but now hotkey to switch audio streams in KMPlayer doesn't work but it's default splitter and gabbest works fine with the hotkey, can you fix this? (or tell me how to fix it if I can do it by some configuratio)
and subtitles can't be shown even if I choose those manually now with LAV, what can be done for it to work?
Thanks.

nevcairiel
10th February 2013, 22:39
LAV does not have hotkeys. This sounds like a problem with your player.

Owyn
10th February 2013, 22:44
ok, so my question was more like, how do I make LAv work with KMPlayer (http://www.kmpmedia.net/)? (and if can it be done at all) . Would really appreciate your help.

Now when I use LAV in it
- internal subtitles can't be shown at all
- hotkey in KMPlayer for switching audio streams doesn't work (works fine for external audio, problem is with internal one)

with Haali media splitter goes the same thing, but with Haali if i set splitters for all formats to "system" - hotkey start to work, with LAV splitter - it doesn't

I'll write to KMP forums too but would be nice if you could also take a look ^_^

Sorry to disturb

ryrynz
10th February 2013, 23:26
Nev, any ETA on that "English[eng]" subtitle selection support?

FreeFall
11th February 2013, 05:34
nevcairiel,

I have a problem with this DVD sample, LAV 0.55.3 and EVR renderer.
http://www.sendspace.com/file/rq5twj (media fire wasn't working)

Play the first episode and then go back to the main menu, the last subtitle line stays on the screen until the menu loops and re-draws itself (DXVA Native / Copy Back or Software mode). Using CUVID the same thing happens but usually the last video frame and menu navigation markers are shown instead of the menu background, it might take a couple of tries for it to happen, usually after around 5 or 10 seconds of playback.

Thanks.

FreeFall

LoopinFool
11th February 2013, 17:37
nev,

The x64 debug symbols for 0.55.3 seem to be missing.

- LoopinFool

nevcairiel
11th February 2013, 18:13
I fixed the filename, try again.

turbojet
12th February 2013, 10:12
Is it known that cuvid and lav decode a significantly different image?

http://screenshotcomparison.com/comparison/7401
original png and videos (http://www.sendspace.com/file/r3v74f)

nevcairiel
12th February 2013, 10:13
CUVID does image processing if you enable it in the driver settings. If its turned off, it should be the same image.

turbojet
12th February 2013, 10:23
It was inverse telecine enabled by default that did it, with it off it's bit identical, thanks, never thought ivtc would affect the image.

Peekstra
12th February 2013, 14:27
Is there a way to do a "silent" install of the LAV filters? I want to install them automatically on several computers but the installer doesn't seem to have any options to accomplish this.

However, the Zoomplayer install center is able to install them without any prompts so it must be possible...?


thanks!

dead_screem
12th February 2013, 19:57
Is there any way to have Aggressive Deinterlace only enabled for h.264? when its enabled I get problems with mpeg-2 for instance, forcing deinterlacing even when pulldown is used. This option only came about because of broken h.264 streams anyway...

Prinz
12th February 2013, 20:59
Is there a way to do a "silent" install of the LAV filters? I want to install them automatically on several computers but the installer doesn't seem to have any options to accomplish this.

However, the Zoomplayer install center is able to install them without any prompts so it must be possible...?

Since it is Inno Setup:

/VERYSILENT

Command Line Parameter should install it without any prompt or window.

Peekstra
13th February 2013, 10:33
Thank you!

red5goahead
14th February 2013, 22:33
Please help me.
I wrote a Delphi interface to programmatically configure LAV Splitter.

I 've a TS file with two audio stream english and german.

so I tried to

SetTrayIcon to false
SetRuntimeConfig to true
and SetPreferredLanguages to choose the english one.

pLanguages := 'eng';
LAVSplitterSettings.SetPreferredLanguages(PWideChar(pLanguages));

or

pLanguages := 'eng,deu';
LAVSplitterSettings.SetPreferredLanguages(PWideChar(pLanguages));

but it does work
is it correct?

thanks

nevcairiel
14th February 2013, 23:22
You need to do this before opening the file, or it won't work anymore.
Also make sure to set RuntimeConfig before any other options.

red5goahead
15th February 2013, 00:30
yes. It work fine . thanks. :D

is it possibile to choose the audio stream by index in some way?

NikosD
15th February 2013, 12:57
Impressive video from today's meteor attack in Russia, Chelyabinsk.

https://www.dropbox.com/s/xt6t6zbbav6tmak/Russia%20%281%29-HD.mp4

But it's not playable in DXVA mode (ATI hardware on signature system).

Not DXVA-compliant or ATI hardware/drivers ?

JEEB
15th February 2013, 13:34
...
But it's not playable in DXVA mode (ATI hardware on signature system).

Not DXVA-compliant or ATI hardware/drivers ?
Height > 1080 (or 1088, depends on how it's checked). Won't get played with most of current DXVA implementations I'd guess, especially ATi/AMD :P

detmek
15th February 2013, 13:38
Plays fine with MPC-BE internal DXVA decoder, Nvidia 9500GT (VP2) and Windows 7.
https://dl.dropbox.com/u/19804113/Forumi/Slike/Doom9/ScreenShot00012.png

nevcairiel
15th February 2013, 13:53
You'll have to enable UHD/4K decoding in LAVs options because it only checks based on height. It'll then probe the hardware for support for this resolution, if it works or not, i don't know. NVIDIA supports "rotated" resolutions like this, i think, not sure about AMD.

wanezhiling
15th February 2013, 16:27
But it's not playable in DXVA mode (ATI hardware on signature system).

Not DXVA-compliant or ATI hardware/drivers ?
LAV blacklist 4K DXVA on AMD, the resolution is limited to 1920x1200 even you enable UHD/4K decoding in LAVs options. (https://code.google.com/p/lavfilters/source/detail?r=cea9c97e221910fbbe00544ff136e410cf3d7378)

Here are some resolution-limit-test samples, made by mpc-be team, I think you will like them.;)
h264_dxva_width_limit_test (http://www.sendspace.com/file/kjp3f8)
h264_dxva_height_limit_test (http://www.sendspace.com/file/sdia3n)
h264_dxva_macroblocks_limit_test (http://www.sendspace.com/file/gxb1bn)
h264_dxva_square_limit_test (http://www.sendspace.com/file/3p9d71)
PS: Use latest mpc-hc or PotPlayer for the accurate result.

NikosD
15th February 2013, 17:22
Height > 1080 (or 1088, depends on how it's checked). Won't get played with most of current DXVA implementations I'd guess, especially ATi/AMD :P

You'll have to enable UHD/4K decoding in LAVs options because it only checks based on height. It'll then probe the hardware for support for this resolution, if it works or not, i don't know. NVIDIA supports "rotated" resolutions like this, i think, not sure about AMD.

LAV blacklist 4K DXVA on AMD, the resolution is limited to 1920x1200 even you enable UHD/4K decoding in LAVs options. (https://code.google.com/p/lavfilters/source/detail?r=cea9c97e221910fbbe00544ff136e410cf3d7378)

From the above 3, wanezhiling was right.

I did the test using Radeon 3650 and my 5750 with MPC decoder, LAV Video and PotPlayer.

MPC decoder and PotPlayer if you force it to always use DXVA regardless resolution, can actually play in DXVA mode that "rotated" 720 x 1280 clip.

So AMD supports those "rotated" resolutions, too - even in very old hardware like Radeon 3650.

On the other hand, LAV Video doesn't support it even in newer hardware like 5750 and even if you enable UHD/4K decoding.

So, Nevcairiel if you have time you can check again the UHD/4K option with AMD hardware.

nevcairiel
15th February 2013, 17:47
They are not very common, so its not a big thing, but i can probably make the check smarter to allow them.

Tornado15550
16th February 2013, 04:43
Hi nevcairiel. First off, I'd like to thank you for creating LAV filters.
They are amazing!
I have a feature request for the LAV Splitter, if you don't mind. This feature is the only thing keeping me from switching over from Haali.
Haali has an option called "Use custom media type for H.264". This option enables me to watch 10 bit video (Hi10P) on Windows Media Player & Windows Media Center.
I was wondering if you could implement this feature in the LAV Splitter.
http://i46.tinypic.com/rc0g13.png
Thanks!

nevcairiel
16th February 2013, 08:16
No, i cannot implement a stupid option like this.
There are plenty tools to configure which decoder is used in WMP, you don't need to use a wrong solution like this.

Tornado15550
16th February 2013, 19:06
Ok, could you recommend a tool that will allow me to configure which decoder I can use?

Superb
16th February 2013, 21:25
Ok, could you recommend a tool that will allow me to configure which decoder I can use?http://codecguide.com/windows7_preferred_filter_tweaker.htm

zerowalker
16th February 2013, 22:59
Could you add a status tab so you can see what bitrates itīs using and such?
As sometimes that features is just so helpful:)

DragonQ
17th February 2013, 13:22
I have an interlaced VC-1 file that doesn't deinterlace properly with WMV9 DMO (using either MadVR or EVR). It plays properly using CUVID. I assume it's a problem with the codec but what do I know, it might be fixable. Sample is here. (http://www.mediafire.com/?gfm27rj7tas7ug7)

It's a 1080i/25 video that was converted (pretty badly) to 1080i/30 for BD so it's never gonna look properly smooth. You can tell when it's not being deinterlaced properly by the combing though.

nevcairiel
17th February 2013, 13:30
Looks fine here. All frames are marked as interlaced, so from the decoders point of view, everything is fine. And i also see no combing. EVR deinterlaces it to 60p

PS:
Blu-ray supports 25i just fine, whats with the conversion crap? :d

DragonQ
17th February 2013, 13:50
Looks fine here. All frames are marked as interlaced, so from the decoders point of view, everything is fine. And i also see no combing. EVR deinterlaces it to 60p

Hmmmmm EVR says ~30 fps for me and I get combing, unless I turn on CUVID. :/

PS:
Blu-ray supports 25i just fine, whats with the conversion crap? :d
It's so that they can have one international BD master that can be released everywhere I guess. Total bullshit considering the majority of the market is in the UK and they already have the 1080i/25 master that they used for HDTV.

mcr
17th February 2013, 14:30
Are there plans to incorporate support for Matroska file segments (http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html#global_split)?

The last reference about segments I was able to find is from 2011 (http://forum.doom9.org/showthread.php?p=1511668#post1511668), so I hope you don't mind me bringing this up again.

wanezhiling
17th February 2013, 15:34
The last reference about segments I was able to find is from 2011 (http://forum.doom9.org/showthread.php?p=1511668#post1511668)
http://forum.doom9.org/showthread.php?p=1608775#post1608775

balkerman
18th February 2013, 13:14
Hi, could someone explain how I install and use the symbols to help debug. Also using madvr... Thanks!

Also when using 32bit mpc-hc on 64bit windows, which symbols do I use?

cyberbeing
18th February 2013, 13:29
Use the 32bit symbols and place them in the same directory as the matching x86 LAV components were installed to.

Owyn
18th February 2013, 18:01
nevcairiel, Hi again, I got answer back from KMPlayer forum about KMPlayer + LAV problem, they ask if you could "implement a feature like in AV Splitter. It's called 'Single Output pin'. Its disabling makes it possible to switch audio tracks with KMP hotkeys.", can\would you?

nevcairiel
18th February 2013, 19:13
nevcairiel, Hi again, I got answer back from KMPlayer forum about KMPlayer + LAV problem, they ask if you could "implement a feature like in AV Splitter. It's called 'Single Output pin'. Its disabling makes it possible to switch audio tracks with KMP hotkeys.", can\would you?

There are no plans for this, i think it has just disadvantages, and software requiring it is inherently inefficient.
You should ask KMP to support switching with the splitter.

Pomegranate
18th February 2013, 20:11
Hi. Do you recommend deinterlacing with LAV Video or with madVR?

mzso
18th February 2013, 21:02
http://www.abload.de/img/lav-potpexception8bqwi.png

Ok, so what does this mean? I got it with "PotPlayer 1.5.35741"

paradoxical
18th February 2013, 21:14
Could mean all sorts of things. That screenshot doesn't say anything specific. You'll need to provide more information.

mzso
18th February 2013, 21:19
Could mean all sorts of things. That screenshot doesn't say anything specific. You'll need to provide more information.

Well I can tell that it happens with most files when I try to start. Not much else.

paradoxical
18th February 2013, 21:20
Well I can tell that it happens with most files when I try to start. Not much else.

Then you'll be hard pressed to get any help. That is extremely vague and provides no actual way for nev to reproduce your problem.

paradoxical
18th February 2013, 21:59
To add, if you want to give nev the info he needs grab the debug symbols and reproduce the crash. Then give him the results. That is a helpful bug report.

mzso
18th February 2013, 22:00
Then you'll be hard pressed to get any help. That is extremely vague and provides no actual way for nev to reproduce your problem.

Well, the exception is not specific. The one thing I did notice is that if I change to another splitter then LAV video decoder has an exception. Playback only starts if I change that to something else too.

paradoxical
18th February 2013, 22:01
Well, the exception is not specific. The one thing I did notice is that if I change to another splitter then LAV video decoder has an exception. Playback only starts if I change that to something else too.

Then do as I say here (https://forum.doom9.org/showpost.php?p=1616277&postcount=14215).

mzso
18th February 2013, 22:06
Then do as I say here (https://forum.doom9.org/showpost.php?p=1616277&postcount=14215).

I don't know how that works.

wanezhiling
19th February 2013, 01:27
http://www.abload.de/img/lav-potpexception8bqwi.png

Ok, so what does this mean? I got it with "PotPlayer 1.5.35741"

http://forum.doom9.org/showpost.php?p=1614621&postcount=733
Same issue, PotPlayer 1.5.35741 added v210 support.

Aleksoid1978
19th February 2013, 03:49
http://forum.doom9.org/showpost.php?p=1614621&postcount=733
Same issue, PotPlayer 1.5.35741 added v210 support.

:) Bug not in LAV - LAV just can do output in V210 format.
Until this is not fix in Pot - just do not use them.
Or - uncheck support v210 output in LAV Video decoder.

P.S. in MPC-BE i fix this today and can see video with v210, no LAV crash. :)

wanezhiling
19th February 2013, 04:08
:) Bug not in LAV - LAV just can do output in V210 format.
Yes I know this.

Until this is not fix in Pot - just do not use them.
This happened only on latest PotPlayer dev build 1.5.35741 (released yesterday) because they added v210 support too.:p
They will remove v210 next version.

Or - uncheck support v210 output in LAV Video decoder.
This wont help becasue v210 is disabled by default in LAV Video.

P.S. in MPC-BE i fix this today and can see video with v210, no LAV crash. :)
Great, I see at rev 2114.

nevcairiel
19th February 2013, 08:14
This wont help becasue v210 is disabled by default in LAV Video.


v210 input is disabled by default in LAV, but v210 output is enabled.

wanezhiling
19th February 2013, 10:49
v210 input is disabled by default in LAV, but v210 output is enabled.

Oops! thanks.

dukey
19th February 2013, 11:31
I seem to have a problem with DXVA mode and dynamic format change. If i start off with a format that isn't support with DXVA on my system, like mpeg2, then switch over to h264 I don't seem to get DXVA at all. Happens with source filter -> LAV Decoder -> Evr/madVR renderers. Where as if I play the files directly, it says dxva2n

mzso
19th February 2013, 11:35
Why does V210 support lead to crash? I don't think I have anything v210.

nevcairiel
19th February 2013, 11:57
I seem to have a problem with DXVA mode and dynamic format change. If i start off with a format that isn't support with DXVA on my system, like mpeg2, then switch over to h264 I don't seem to get DXVA at all. Happens with source filter -> LAV Decoder -> Evr/madVR renderers. Where as if I play the files directly, it says dxva2n

You can't dynamically switch between DXVA and Software, or the other way around. You need a full reconnect to do this.

wanezhiling
19th February 2013, 12:07
Why does V210 support lead to crash? I don't think I have anything v210.

:p Not means crash with v210 video, but with all.

You can disable v210 output (http://i.imgur.com/r2knD4d.png) in lav video, and the issue will go away.;)


PS: PotPlayer 1.5.35804 released today, has removed v210 support again, and now no compatibility issue with lav video.

dukey
19th February 2013, 12:24
You can't dynamically switch between DXVA and Software, or the other way around. You need a full reconnect to do this.

I see, that makes sense I suppose. So what is required, stopping the graph, breaking the pins and reconnecting them ?

dukey
19th February 2013, 23:26
In graph edit. I tried stopping the graph, breaking all the connections, and reconnecting the pins, but it refuses to use DXVA. The only way seems to be to remove the decoder, then render the pin (which brings back LAV) and it works.

THX-UltraII
20th February 2013, 09:22
Someone knows what the av sync option in the audio filter does?

paradoxical
20th February 2013, 16:35
Yes (http://forum.doom9.org/showpost.php?p=1529046&postcount=5751).

Mercury_22
21st February 2013, 11:32
@Nev I just saw that XBMC claims to support "DTS-HD MA" now (http://wiki.xbmc.org/index.php?title=AudioEngine#Features) (ffmpeg AFAIK) does this mean that LAV will do too (without the DLL :)) ?

nevcairiel
21st February 2013, 11:34
The only thing they finally support is bitstreaming, years too late.

Vasilich
21st February 2013, 11:51
nev, is that technically possible to "bitstream" AC3 core in case of EAC3 audio?
i have an old AV receiver connected to my HTPC via optical SPDIF. Receiver supports only AC3, so if i want to watch TV with AC3+ (e.g. Servus TV HD) i get only stereo, because SPDIF is capable to transfer AC3-encoded 5.1, and for EAC3 LAV decodes it completely, and SPDIF gets only stereo PCM

nevcairiel
21st February 2013, 11:52
EAC3 has no "AC3 core", so its not possible.

madshi
21st February 2013, 12:00
Blu-Ray E-AC3 primary audio tracks do have an AC3 core. Blu-Ray E-AC3 secondary audio tracks do not, nor do HD DVD E-AC3 primary tracks.

nevcairiel
21st February 2013, 12:02
He inquired about broadcast TV primarily :)
Primary Blu-ray EAC3 tracks are in a rather special position there, and can't be compared with anything else.

Vasilich
21st February 2013, 12:07
So for me the only chance is to disable support in LAV and use FFDShow with enabled AC3 encoder for those formats that do not pass in SPDIF bandwidht and can't be understood by my receiver.
Thanks for explanation!

madshi
21st February 2013, 12:11
He inquired about broadcast TV primarily :)
Oh, right. Sorry, seems I flew over the question text too fast...

Niyawa
21st February 2013, 20:16
Hey nev, a user of my guide asked the following question: "What's the reason for AYUV being disabled in the LAV video decoder?" I'm not really sure myself so I'm asking you that directly.

I did a search before in the forum and around the net but never found any details.

JEEB
21st February 2013, 20:42
Hey nev, a user of my guide asked the following question: "What's the reason for AYUV being disabled in the LAV video decoder?" I'm not really sure myself so I'm asking you that directly.
MS renderers such as EVR were meant to take in AYUV for the separate subtitle pin. At least, that was their meaning, and the YCbCr->sRGB conversion path is far from optimized for this format.

But then it was found out that the renderer(s) accept AYUV with the main pin as well, and... that leads to the fact that converting to RGB in the decoder and then rendering that is much more faster than trying to play 4:4:4 YCbCr content by saying that an AYUV connection is available. In other words, feeding AYUV to the MS renderers as the main pin's content pretty much means a slideshow. Also, EVR-CP (MPC-HC's customized EVR renderer, also their default), if I recall correctly, is not capable of switching types on the fly, so I guess it was just found out to be simpler to just block it altogether unless the user specifically wants 8bit 4:4:4 YCbCr output.

Niyawa
21st February 2013, 21:23
MS renderers such as EVR were meant to take in AYUV for the separate subtitle pin. At least, that was their meaning, and the YCbCr->sRGB conversion path is far from optimized for this format.

But then it was found out that the renderer(s) accept AYUV with the main pin as well, and... that leads to the fact that converting to RGB in the decoder and then rendering that is much more faster than trying to play 4:4:4 YCbCr content by saying that an AYUV connection is available. In other words, feeding AYUV to the MS renderers as the main pin's content pretty much means a slideshow. Also, EVR-CP (MPC-HC's customized EVR renderer, also their default), if I recall correctly, is not capable of switching types on the fly, so I guess it was just found out to be simpler to just block it altogether unless the user specifically wants 8bit 4:4:4 YCbCr output.
Thank you very much for the answer. I probably would never realized such thing myself.

aufkrawall
21st February 2013, 21:51
EVR doesn't render AYUV correctly, brightness is slightly wrong.

cyberbeing
21st February 2013, 22:11
At the moment, using xy-VSFilter with madVR would be the primary reason to enable AYUV in LAV Video.

Note: Adding YV24 support to xy-VSFilter is something on our to-do list. AYUV was just an easier first target since it was already supported internally.

nevcairiel
21st February 2013, 23:03
As it was already explained, EVR/hardware support for AYUV is just so bad that it was better to disable it. madVR also accepts YV24, so no reason to active it for madVR alone.

dansrfe
22nd February 2013, 20:19
What are the recommended mix levels for 5.1 audio output? Also, if the number of source channels matches the output channels then no mixing occurs correct?


I wish there was a table listing all the recommended mix levels for all output speaker configurations.

paradoxical
22nd February 2013, 20:21
I'm pretty sure no mixing occurs.

e-t172
22nd February 2013, 20:47
What are the recommended mix levels for 5.1 audio output?

Again, the authoritative, official, recognized source for downmix coefficients is Rec. ITU-R BS.775 (http://www.itu.int/rec/R-REC-BS.775-3-201208-I/). See table 2 at page 11.

Regarding LFE: it is recommended to discard LFE (i.e. zero coefficient), unless you're sure your system is capable of handling high-level low frequency signals (i.e. you have an expensive subwoofer). If you do want to downmix LFE, the correct coefficient is (assuming stereo output) 1.58 (+10dB standard LFE boost -6dB because of additive bass output from the two stereo speakers or from remixing in bass management = +4dB = 1.58).

nevcairiel
22nd February 2013, 20:49
The LAV default settings are fine (with no LFE). It should exactly match the ITU recommendation for a 5.1 -> Stereo downmix.
Adjust to personal preference.

dansrfe
22nd February 2013, 23:44
My output is to 5.1, not to stereo.

Pomegranate
22nd February 2013, 23:59
The LAV default settings are fine (with no LFE). It should exactly match the ITU recommendation for a 5.1 -> Stereo downmix.
Adjust to personal preference.

What if one wants to do 7.1 to stereo?

E.g. watching the Avengers BD with headphones.

nevcairiel
23rd February 2013, 09:04
Its still fine for 7.1 -> Stereo or 7.1 -> 5.1, its just another set of surround channels to mix.

Mangix
23rd February 2013, 10:03
I found an annoying bug with CUVID on my system. It's giving me artifacting. I can't replicate with DXVA2(native/copy-back) or with the software decoder. Here are screenshots as well as the sample.

https://dl.dropbox.com/u/102011983/LAV%20Bugs/weird%20spots.png
https://dl.dropbox.com/u/102011983/LAV%20Bugs/no%20spots.png

https://dl.dropbox.com/u/102011983/LAV%20Bugs/vmr9-test.avi

I have nothing special enabled in the nvidia control panel. Then again if I did, it should also show up in the second picture which was done with copy-back mode.

This is with the latest 314.07 drivers.

nevcairiel
23rd February 2013, 10:31
This clip is MPEG-4 ASP, DXVA2 in LAV does not support this format, CUVID is the only HW implementation which supports it at this time, so its very well possible that the hw decoder is not perfect. MPEG-4 ASP is also disabled by default for HW decoding because it is known to have some issues.
I suggest to turn it off again. :p

6233638
23rd February 2013, 17:22
I have a question: when downmixing surround to stereo, there is a large decrease in volume with normalization enabled - as you would expect. This has me turning up the volume to roughly 25/100 when listening to 5.1 for example, and even louder with 7.1
But if I then play a stereo file, I have to reduce volume to about 10/100 for roughly the same level through my headphones.

Would it be possible to have an option where LAV applies the same gain to stereo files that it does when downmixing, to keep volume the same when playing videos no matter how many channels they have?
It can be very jarring if you watch a DVD right to the very end and it goes back to the menus which are playing stereo audio at a significantly louder volume for example.

nevcairiel
23rd February 2013, 17:32
I do not have any plans for this. Use downmixing without normalization for a more consistent volume, on most material it won't even have to adjust the volume to avoid clipping because the used dynamic range is very limited in the first place.

LAV is still first and foremost a decoder, and i only added the mixing because it was a low-hanging fruit and solves a few basic playback problems, but i do intend to keep it simple.

6233638
23rd February 2013, 17:42
I do not have any plans for this. Use downmixing without normalization for a more consistent volume, on most material it won't even have to adjust the volume to avoid clipping because the used dynamic range is very limited in the first place.

LAV is still first and foremost a decoder, and i only added the mixing because it was a low-hanging fruit and solves a few basic playback problems, but i do intend to keep it simple.

I would rather use Normalization because it guarantees that you aren't going to either have clipping, or dynamic volume adjustments, as I have plenty of dynamic range to spare on my system.

It seemed like this would be a relatively simple adjustment (reduce the gain of 5.1 and stereo tracks to match downmixed 7.1) and could be tied into the existing "Don't mix stereo sources" option when the output speaker configuration is set to stereo, as the option doesn't do anything right now.

Normalizing volume across all videos provides a much better user experience for anyone listening to headphones or stereo speakers.

nevcairiel
23rd February 2013, 18:19
The problem with all these "simple" adjustments is that there is hundreds of different approaches, and everyone wants another one, so i rather keep it as simple as makes sense to me, focusing on decoding, and not processing.

Many people listening with headphones or stereo systems also have rather weak systems, where the low volume of the normalized matrix is a problem, so i see this as a rather limited use-case.
Would i use the worst-case, and adjust everything to a 7.1 mixing level? Thats quite the extensive volume reduction, especially if you enable LFE at any decent level.

Commercial content can in most cases just be downmixed from 5.1 to stereo without causing clipping, so its somewhat unlikely to even get clipping or a mid-stream volume change, so thats what i'm going to keep suggesting.
I can also look into extracing the embeded stereo downmix from AC3 and TrueHD, which for those codecs should at least remove any concerns about how its mixed. Sadly DTS doesn't seem to have anything comparable.

6233638
23rd February 2013, 19:48
The problem with all these "simple" adjustments is that there is hundreds of different approaches, and everyone wants another one, so i rather keep it as simple as makes sense to me, focusing on decoding, and not processing.That's understandable, it just seemed like it would be a small adjustment to the downmixing options.

Many people listening with headphones or stereo systems also have rather weak systems, where the low volume of the normalized matrix is a problem, so i see this as a rather limited use-case.
Would i use the worst-case, and adjust everything to a 7.1 mixing level? Thats quite the extensive volume reduction, especially if you enable LFE at any decent level.Well that's how I would do it, as that would give you a consistent volume level whether the content is 2.0/5.1/7.1 and I would either integrate it with the "Don't mix stereo sources" option, or add a "Normalize volume level" option below "Normalize matrix" because if you are also reducing the volume of 5.1 as well as 2.0, technically the "Don't mix stereo sources" option would not apply.

If I'm measuring this correctly, with my current downmix of 0.71/0.71/2.24, volume is being attenuated by 14.6dB when downmixing a 7.1 signal to stereo.

That's less than 3-bits you're losing, so if you are outputting 24-bit, you should be fine. (16-bit to 13-bit might be problematic)

Commercial content can in most cases just be downmixed from 5.1 to stereo without causing clipping, so its somewhat unlikely to even get clipping or a mid-stream volume change, so thats what i'm going to keep suggesting.It's probably wise to not reduce dynamic range so much with the standard option, but I really can't stand dynamic volume adjustments, so I would rather guarantee that won't happen, than assume it probably won't.

I can also look into extracing the embeded stereo downmix from AC3 and TrueHD, which for those codecs should at least remove any concerns about how its mixed. Sadly DTS doesn't seem to have anything comparable.This would actually be a nice option to have. That said, most stereo downmixing assumes that you are going to play on a low-end system (e.g. TV speakers or a cheap hifi wired up to the TV) and discards the LFE channel as a result.

As I have a higher-end headphone setup that I primarily use, I prefer to keep LFE in the mix.

I could be mistaken, but I believe the embedded downmix only specifies the level of the surround channels, as they may have designed the mix around 0.5 or 1.0 rather than 0.71, so perhaps it could be integrated to only adjust the surround level, rather than set the entire mix? (so you can have the correct surround level and incorporate LFE)

supercoolman
23rd February 2013, 20:40
Is it possible to always show subtitle selection in splitter menu even if there is only one subtitle in the container (MKV/MP4...etc) available? I believe audio and video stream selection are always shown even if there is only one for each.

nevcairiel
23rd February 2013, 20:44
The selection is always shown, even if there is only one sub. In fact, there can never be only one sub, either there is zero, or there is one real sub stream, and the virtual "no subtitles" stream.

Reino
23rd February 2013, 21:57
Although I have a 2.1 speaker setup myself, by accident I noticed something odd when LAV Audio Decoder processes multichannel lossy audio formats (ac3,dts,ogg,opus, etc). With default settings, all channels are sort of downmixed to stereo, with the surround left and right channels almost inaudible. Normally I still use FFDShow for movie soundtracks, which doesn't have this issue. I quickly noticed, with all integer output formats enabled, by default LAV Audio Decoder converts the input (32-bit float) to 24-bit int, whereas FFDShow converts it to 16-bit int. Why 24-bit int?
If I only enable 16-bit int in LAV Audio Decoder, all is fine.

Playing a multichannel lossy audio format with LAV Audio Decoder through Avisynth (DirectShowSource) results in FFDShow Audio Processor being added to the graph for a PCM 24-bit int to PCM 16-bit int conversion. If I disable the FFDShow Audio Processor, I can't even play the audio file (through Avisynth).
Is this a sign my soundcard (rather soundchip nowadays) doesn't support 24-bit output? But if so, why then do all stereo lossy audio formats (also 32-bit float to 24-bit int) play fine here?
Does anyone have an answer to this?

Btw, why does LAV Audio Decoder process all lossy audio formats in 32-bit float, while all lossless audio formats are processed in 16-bit int? Or is this ffmpeg/libavcodec by design?

nevcairiel
23rd February 2013, 22:07
I quickly noticed, with all integer output formats enabled, by default LAV Audio Decoder converts the input (32-bit float) to 24-bit int, whereas FFDShow converts it to 16-bit int. Why 24-bit int?
24-bit is preferred over 16-bit when converting from 32-bit float, because it can hold the 32-bit float precision better (32-bit float is about 24-bits mantissa + the exponent)


Playing a multichannel lossy audio format with LAV Audio Decoder through Avisynth (DirectShowSource) results in FFDShow Audio Processor being added to the graph for a PCM 24-bit int to PCM 16-bit int conversion. If I disable the FFDShow Audio Processor, I can't even play the audio file (through Avisynth).

Its certainly possibly that AviSynth doesn't accept 24-bit audio, i've personally no experience with AviSynth for audio processing.
However, LAV always offers a 16-bit fallback for all formats, but i don't know how smart the AviSynth graph building is, maybe it just doesn't notice that its available as a second media type from the audio decoder.


Is this a sign my soundcard (rather soundchip nowadays) doesn't support 24-bit output? But if so, why then do all stereo lossy audio formats (also 32-bit float to 24-bit int) play fine here?

If you are on XP, then your audio driver is responsible for downmixing, and as such its very likely that it just doesn't do 24-bit downmixing well, which explains your troubles. Since I've never heard of such oddities on Vista/7, i'm assuming that you in fact are on XP.


Btw, why does LAV Audio Decoder process all lossy audio formats in 32-bit float, while all lossless audio formats are processed in 16-bit int? Or is this ffmpeg/libavcodec by design?

Nearly all lossy decoders decode natively to 32-bit float. Lossy formats don't have a "bitdepth" as such, and outout floating point values.
Lossless decoders on the other hand do have a bitdepth, and LAV will output it as appropriate. If it outputs 16-bit, then thats what was encoded in the lossless file. There are 24-bit files as well, and some formats even support 32-bit integer, however thats very rare in the real world.

LAV is by default setup to output untouched audio if possible. On XP 32-bit float output is however disabled by default, because a lot of XP audio drivers have serious issues with float audio.

Reino
24th February 2013, 00:18
You're right, I'm still on WinXP. In fact I'm still using an AMD Athlon XP 3200+ with an ATI Radeon HD 3850 AGP http://www.hydrogenaudio.org/forums/style_emoticons/default/lalala.gif.
However, the strange thing is that, although 24-bit for LAV and FFDShow is problematic, 32-bit int is not. I guess, especially for that time, the Nvidia SoundStorm (APU) really was top of the notch.

Mangix
24th February 2013, 04:14
This clip is MPEG-4 ASP, DXVA2 in LAV does not support this format, CUVID is the only HW implementation which supports it at this time, so its very well possible that the hw decoder is not perfect. MPEG-4 ASP is also disabled by default for HW decoding because it is known to have some issues.
I suggest to turn it off again. :p

Can't believe I missed that. Thanks.

supercoolman
24th February 2013, 07:25
I can't find the subtitle selection in LAV Splitter menu when there is no subtitle in the container. screenshot attached

nevcairiel
24th February 2013, 07:37
If there is no subtitles, there is no selection. What would there be to select?

supercoolman
24th February 2013, 09:42
Is it possible to always show subtitle selection in splitter menu even if there is only one subtitle in the container (MKV/MP4...etc) available? I believe audio and video stream selection are always shown even if there is only one for each.

I just realized I was a bit confused between subtitle in container and outside of container because I was comparing subtitle handling to audio/video stream handling.

audio
if I have one container with only video and two audio files outside of container, there will be three instances of LAV splitter during playback. However, none of the LAV splitter instances allow me to disable its audio stream. I wish there is a way to disable stream without rename/move files or remux stream into container.


subtitle
I have been loading subtitles outside of container and LAV splitter had never had anything for subtitle, so I thought LAV doesn't deal with subtitle selection at all. recently, I had been debugging issue where I can't see any subtitle other than the default one when I mux multiple subtitles into one container, then I found out that the subtitle selections are handled by LAV splitter when subtitles are muxed into container with the option to disable subtitle.

nevcairiel
24th February 2013, 09:51
Turning off audio doesn't make much sense, so there is no option for this.
Handling external audio files is something your player does, and the player should have options to select which track is being played. MPC-HC for example has its own Audio Switcher which can switch between internal and external audio, so only one is played.

supercoolman
24th February 2013, 11:02
Turning off audio doesn't make much sense, so there is no option for this.
Handling external audio files is something your player does, and the player should have options to select which track is being played. MPC-HC for example has its own Audio Switcher which can switch between internal and external audio, so only one is played.

I saw one of the online tutorial for setting up MPC-HC with LAV said user should disable MPC-HC internal audio switcher and let LAV splitter handle it. I was mislead by this tutorial?

Shark007
24th February 2013, 16:17
I'd like to report an anomoly I recently discovered. From the moment you select the LAV splitter to split wtv files and then try to go back to native splitting, WMP can no longer open wtv files as it did before selecting and deselecting the LAV splitter. Nothing I have tried has been able to get WMP to open wtv files after unregistering the LAV splitter. The files will open using native splitters/decoders in a player such as MPC-HC Lite but WMP will no longer open them at all. I have tested this on several machines and on a clean install of Windows 7 with only Windows and driver updates installed.

nevcairiel
24th February 2013, 16:21
If you enable WTV support in the installer, it'll set itself as the source filter for that extension. If you then uninstall it again, it'll remove that mapping, but not restore whatever values was in there before (i'm not sure there even is a default mapping, however)
If you just unregister it, and not uninstall it, it'll break, because it doesn't find the source filter it wants.

Shark007
24th February 2013, 16:31
I didnt use the installer. All I did was register the LAV splitter, call up its interface, set the tray icon so I can see the splitter at work and set it to split wtv files. you should do some testing yourself. After getting LAV to split wtv files (test with WMP), try to get WMP to play a wtv file without using LAV splitter.

nevcairiel
24th February 2013, 16:33
Just registering it does nothing to any format specific thing in the registry, either you're manually doing something in the registry, or WMP is just stupid. Since simply registering it wouldn't get WMP to use it, so you must be doing something yourself.

Shark007
24th February 2013, 16:40
The fact remains, once LAV splits a wtv file, WMP can no longer open a wtv file without using LAV. I guess that means the player is just stupid and there is no fix. I tested this on a clean system and only did as stated in post #14273 and nothing else.

Shark007
24th February 2013, 19:35
OK, it is possible that the method I used to call up the splitters interface was part of my problem in discovering a solution.
I used clsid's codec tweak tool.
After avoiding that tool, I was able to trace a solution to the registry's \Media Type

glorp
24th February 2013, 19:42
The fact remains, once LAV splits a wtv file, WMP can no longer open a wtv file without using LAV. I guess that means the player is just stupid and there is no fix. I tested this on a clean system and only did as stated in post #14273 and nothing else.

I realize you two know infinitely more than I do about it but I'm pretty sure I've been able to swap wtv splitters in WMC for recorded tv by using "Codec Tweak Tool" on several x64 systems. The Preferred splitters selections of that allow you to toggle back and forth between LAV and system merit. I know I've used it to switch between LAV splitter and the MS StreamBufferSource thingy multiple times.

glorp
24th February 2013, 19:43
I realize you two know infinitely more than I do about it but I'm pretty sure I've been able to swap wtv splitters in WMC for recorded tv by using "Codec Tweak Tool" on several x64 systems. The Preferred splitters selections of that allow you to toggle back and forth between LAV and system merit. I know I've used it to switch between LAV splitter and the MS StreamBufferSource thingy multiple times.

Edit: NVM. You found Codec Tweak.

dansrfe
25th February 2013, 01:43
Is there a way to upmix 2.0 to 5.1 in LAV Audio? Thanks!

6233638
25th February 2013, 03:13
Is there a way to upmix 2.0 to 5.1 in LAV Audio? Thanks!I think you just need to set mixing to 5.1 and uncheck the "don't mix stereo sources" option.

AngelGraves13
25th February 2013, 07:27
Feature requests

* Bit-Matched - Inpput/Output bits do not change. 16-bit integer plays as 16-bit integer without conversion to 32-bit floating point or 24-bit integer. A way to disable any and all bit-changing in LAV Audio. I even listen to music with my X-Fi set to Audio Creation mode and "bit-matched" because it sounds the best.
Example: Lawrence of Arabia is 16-bit integer DTS-HD MA 5.1. I'm using the ArcSoft DTS Decoder and it decoding dts-hdma, but the output is 32-bit floating point. I'd like 16-bit integer to play as 16-bit integer and 24-bit integer to play as 24-bit integer. The best I can get by disabling all the checkboxes including Dithering under Output formats is that it still wants to do 32-bit floating point. If I only enable 16-bit integer, even 24-bit integer plays at 16-bit. If I enable 24-bit integer as well, then 16-bit integer plays at 24-bit integer. Why? Why can't it respect the bits and not change the output bits?
* DTS-HD Bit-rate - Use the Pin Info Output bit-rate for the stream bit-rate under the LAV Splitter so it shows the correct bit-rate in MPC-HC/BE.
Example: Input says 1536kbps regardless of the MA stream. The output under Pin Info for Baraka is "6144kbps" so maybe it should just use that as it's more accurate rather than using the core stream, even if the core is actually only 1506kbps sometimes.

Qaq
25th February 2013, 08:20
Example: Lawrence of Arabia is 16-bit integer DTS-HD MA 5.1. I'm using the ArcSoft DTS Decoder and it decoding dts-hdma, but the output is 32-bit floating point.
ArcSoft DTS Decoder is not used. Arcsoft outputs in integer (always) and ffmpeg outputs in 32float (always).

AngelGraves13
25th February 2013, 08:27
ArcSoft DTS Decoder is not used. Arcsoft outputs in integer (always) and ffmpeg outputs in 32float (always).

It is used. I've dropped the dtsdecoder file in the x86 directory and it says "dts-hd ma" I'm also using the x86 version of MPC BE.

This is the decoder file from TMT6.

nevcairiel
25th February 2013, 09:40
It already does bit-exact output, works just perfectly. If DTS outputs 32-bit float, then either the ArcSoft decoder is not working, OR you have mixing activated. Mixing always outputs 32-bit float because after mixing the audio changed anyway, and mixing is performed in float. There is no bit-exact anymore.

For the Pin Info, DTS-HD MA does not have a constant bitrate, so there is no one bitrate value thats accurate. The 6144kbps is the PCM bitrate, and not the DTS bitrate. This will most likely not change.

e-t172
25th February 2013, 21:13
* Bit-Matched - Inpput/Output bits do not change. 16-bit integer plays as 16-bit integer without conversion to 32-bit floating point or 24-bit integer. A way to disable any and all bit-changing in LAV Audio. I even listen to music with my X-Fi set to Audio Creation mode and "bit-matched" because it sounds the best.

Unless your system is broken (e.g. DirectSound on XP), or you're in the extreme case of listening through in-ear headphones at very high levels, I very much doubt you'll be able to hear the +3dB noise floor increase caused by an integer conversion. It is highly likely your brain is making you hear differences that aren't there. That happens extremely often when dealing with audio quality matters.

AngelGraves13
25th February 2013, 21:47
Unless your system is broken (e.g. DirectSound on XP), or you're in the extreme case of listening through in-ear headphones at very high levels, I very much doubt you'll be able to hear the +3dB noise floor increase caused by an integer conversion. It is highly likely your brain is making you hear differences that aren't there. That happens extremely often when dealing with audio quality matters.

I had the Mixer on, which is why it was 32-bit floating point. Turning off the Mixer makes it bit-matched.

e-t172
25th February 2013, 22:09
Which doesn't change the fact that enforcing "bit matching" at all costs brings no audible benefit in almost all circumstances.

filler56789
25th February 2013, 22:46
Unless your system is broken (e.g. DirectSound on XP),

Please tell us what is "broken" in XP's DirectSound implementation.
By "broken", I mean something so wrong that there is no fix nor workaround for it.

nevcairiel
25th February 2013, 23:09
Its broken in the sense that it relies on the audio driver to handle mixing and conversion, and *many* drivers are just broken in that regard. Even so-called "pro" audio devices sometimes don't have drivers that can handle 32-bit float.

filler56789
25th February 2013, 23:13
^ Thanks for the explanation. :goodpost:

dansrfe
26th February 2013, 05:44
I guess 2.0 doesn't upmix to 5.1 even with the "Don't mix stereo sources" checkbox unchecked. I'm not hearing anything coming out of the other channel speakers.

paradoxical
26th February 2013, 15:27
I guess 2.0 doesn't upmix to 5.1 even with the "Don't mix stereo sources" checkbox unchecked. I'm not hearing anything coming out of the other channel speakers.

Did you hear anything come out of the center channel? If so, it's upmixing, but upmixing is not magic. I listen to stereo source all the time upmixed to 5.1 with Dolby Prologic and the biggest benefit is the dialogue going to the center and quite often the rear surrounds get next to nothing.

dansrfe
26th February 2013, 18:14
Did you hear anything come out of the center channel? If so, it's upmixing, but upmixing is not magic. I listen to stereo source all the time upmixed to 5.1 with Dolby Prologic and the biggest benefit is the dialogue going to the center and quite often the rear surrounds get next to nothing.

I'm not hearing anything out of the center speaker. Just to make sure the values for Center, Surround and LFE that you have are 0.71, 0.71, and 1.58 right? Even at 1.0, 1.0, 1.58 I don't hear anything from the other channels...

paradoxical
26th February 2013, 18:39
I'm not hearing anything out of the center speaker. Just to make sure the values for Center, Surround and LFE that you have are 0.71, 0.71, and 1.58 right? Even at 1.0, 1.0, 1.58 I don't hear anything from the other channels...

Yeah, I have all at defaults.

LoopinFool
26th February 2013, 18:44
dansrfe,

I don't think it's just you.

In the LAV Audio properties, I set my speaker config to 5.1, enabled mixing, then played a stereo source.

The status tab shows all 6 channels on output, but the meters only show audio coming out of FL and FR.

The Mix Level sliders are labeled as applying to a downmix, not to this case. The Pro Logic options are labeled as "Matrix Encoding" which I believe also would only apply to a downmix.

I also just realized there's no Pro Logic decode option for this stereo expansion case. If ffmpeg supports it, that might be a nice option, and may be the only reasonable way to do this at all.

- LoopinFool

DragonQ
26th February 2013, 19:01
Surely that is by design? If you're listening to stereo on a 5.1 setup you should only get sound from the front left & right speakers. I assumed the benefit of upmixing to 5.1 (but keeping 4 channels empty) is so your PC's output can be 5.1 (or 7.1, etc.) all the time, without your A/V receiver or amp having to switch modes. But I dunno, I don't have any of these things, just a humble HDTV with stereo speakers. :p

nevcairiel
26th February 2013, 20:28
Its not meant to upmix, because simple matrix upmixing just sounds terrible IMHO, and more complicated approaches go beyond what i'm willing to do at this point.

Brotoles
27th February 2013, 13:00
I also posted this message on the madVR thread, but from madshi's response, it seems I should have posted this doubt here:

"I use K-lite Codec Pack for my multimedia needs. I have the latest version installed (9.7.5), and it comes with MPC-HC v1.6.6.6517, LAV Filters v0.55.2-16-gd6e6c1f and madVR v0.85.8

I use the LAV decoder filter for almost all of my video streams, and madVR as the video renderer. I have an nVidia GTX 670 with the latest WHQL drivers (v314.07), and Win7 x64.

When I playbak a DVD using this decoder-renderer combination, no subtitles or subtitle overlays (menu highlights, etc) are displayed. But when I use MPC-HC internal MPEG2 decoder and keep using madVR as the renderer, the subtitles and overlays are displayed just fine.

Now here's my doubt - is this a LAV issue, such as: it doesn't feed the subtitle stream correctly to the madVR renderer; or is it a madVR issue, such as: madVR isn't compatible yet with the way LAV handles subtitle streams?

Thank you all for your attention, and have a great day,

Brotoles"

This was the original message. Now here is madshi's reply:

"madVR is not responsible (or even able) to draw the subtitles at the moment. So the issue can't be with madVR, I think. Try asking nevcairiel about this in the LAV thread. He might need a sample of your DVD (menu)."

I thought that madVR was drawing the subtitles, but by madshi's reply, it seems that the subtitles are being rendered by MPC-HC internal subtitle renderer instead. So I tried using LAV decoder with the EVR Custom Renderer, and the subtitles also didn't show up, so it really seem like a LAV filter issue. I also updated the LAV filters to version 0.55.3 today, and the subtitles still don't work when using LAV as the MPEG2 decoder...

Thanks a lot for your great work, have a nice day!

nevcairiel
27th February 2013, 13:06
DVD menus and subtitles work just fine for me and many others here.
LAV itself draws the menus and subtitles for DVDs because its a rather special case.

Brotoles
27th February 2013, 13:13
Hi nevcairiel, I'm posting this message to say that LAV isn't the problem at all...

I checked the filters used when playing back a DVD, and it was Microsft's DTV-DVD video decoder, not LAV... It's that I install K-Lite's codec pack, and even though I configure the intial setup to use the LAV Video for decoding MPEG2, it wasn't using it for DVD.

So I went to LAV setup, and under the "Formats" tab, the "Enable DVD Video support" option was unchecked. I then checked it, and tried playing the DVD again: now MPC was telling me that the LAV Video decoder was being used, and the subtitles played perfectly!

Sorry to bother you without checking everything thourougly. But anyways, why is this "Enable DVD Video support" unchecked by default? Is this a K-Lite configuration thing, or is it LAV default behavior?

Once again, thanks a lot not only for your great work, but for your patience too :-)

nevcairiel
27th February 2013, 13:14
Its a K-Lite thing, LAV has it enabled by default.

sofakng
27th February 2013, 17:25
I'm new to DirectShow filters (I've been using XBMC for Linux) and I'm deciding on an MKV splitter (Haali vs LAV) and from what I've read LAV doesn't support MKV linking. Is this true? (i.e. an MKV file can link to other MKV files so playing the end of one file will automatically play the next one, etc)

I've also read about Haali supporting ordered chapters and multiple streams for the same video (i.e. Director's Cut, etc). Does anybody have more information on that?

DragonQ
27th February 2013, 17:29
LAV Splitter doesn't support ordered chapters yet. Not sure about the other thing. Aside from that the only time I have to use Haali Splitter is for TS-Doctor, where LAV Splitter doesn't do frame-accurate seeking properly and cuts often end up in the wrong places (Haali actually has issues with sometimes too but they are relatively rare).

Niyawa
27th February 2013, 19:41
I have question... like always.

A little fellow posted this in the KCP thread claiming that ffdshow tryouts have better performance than LAV when using 8 threads or more (http://i.imgur.com/DD4kUCu.png). I can't argue with numbers but I'm not sure if Null Renderer would be the right thing to use in this occasion... would it? Also, if anyone knows where comes the application in the screenie I provided I would appreciate a name.

nevcairiel
27th February 2013, 19:47
I bet thats 10-bit content, with LAV either doing proper dithering to 8-bit or handling 10-bit unchanged, and ffdshow doing 8-bit rounded output? Obviously thats going to be slightly faster. :p
LAV focuses on quality first, speed only second.

LAVs internal processing model also has a slight overhead, however it will pay off if you use a lot of processing in the graph (software deinterlacing, ffdshow raw with post-processing), because LAV can continue decoding in another thread while the main thread is doing the processing.
In future ffmpeg/libav updates, this overhead will also go down because it will be a lot easier to shuffle around frame references.

PS:
That tool is GraphStudio(Next)

Niyawa
27th February 2013, 19:50
I bet thats 10-bit content, with LAV either doing proper dithering to 8-bit or handling 10-bit unchanged, and ffdshow doing 8-bit rounded output? Obviously thats going to be slightly faster. :p
LAV focuses on quality first, speed only second.

PS:
That tool is GraphStudio(Next)
Quality always comes with a price, hahaha. Thanks for the app info. The difference is like of 2% so I'm not sure that makes so much of difference on actual playback anyway.

nevcairiel
27th February 2013, 20:02
You only really notice the difference when over-taxing your CPU anyway, if you run it on a thread count appropriate for your CPU, it won't matter.
Such high-thread counts are really only useful for benchmarking, during playback they do nothing but eat up more memory.

Niyawa
27th February 2013, 21:54
You only really notice the difference when over-taxing your CPU anyway, if you run it on a thread count appropriate for your CPU, it won't matter.
Such high-thread counts are really only useful for benchmarking, during playback they do nothing but eat up more memory.
I'll keep that in mind.

Mercury_22
28th February 2013, 00:08
Both DXVA are broken after latest (ffmpeg ?) updates

wanezhiling
28th February 2013, 02:13
My nightly builds are now available here: http://roy.orz.hm/lavf-w32-nightlies/

http://roy.orz.hm/lavf-w32-nightlies/lavf-my130228-045c141.7z
Cant register .ax:)

blexley
28th February 2013, 07:29
Which is better with Lav Filters Windows 8 Media Player or Media Player classic as some people are saying that the Win8 player is phoning home to Microsoft with logging?

nevcairiel
28th February 2013, 09:50
Both DXVA are broken after latest (ffmpeg ?) updates

Fixed again, the ffmpeg build script needed a small update after some configure changes in ffmpeg.

Mercury_22
28th February 2013, 10:46
Fixed again, the ffmpeg build script needed a small update after some configure changes in ffmpeg. :thanks: Working now :)

mark0077
28th February 2013, 19:44
guys, is there a trick to getting stereo to upmix to 5.1 with lav. I have mixing enabled, all other mixing settings set to default, Dolby Pro Logic II selected.

I can't hear any difference and the "Status" tab always only shows L and R output no matter what combination of options I select. I'm using LAV 0.55.3 along with Reclock as wasapi output device. Lav says its getting 2 channels in, 6 channels out. Reclock says its getting 6 channels in. I just can't hear anything from them.

SeeMoreDigital
28th February 2013, 19:53
Lav says its getting 2 channels in, 6 channels out. Reclock says its getting 6 channels in. I just can't hear anything from them.
How are you outputting the audio from your computer. Is it via 6Ch analogue, SPDIF or HDMI?

DragonQ
28th February 2013, 19:54
Nev went through this a few posts back. Outputting in 5.1/7.1 does not do "upmixing" of the original stereo signal. The rear and side channels will be blank.

mark0077
28th February 2013, 19:57
Ah ok sorry, I misunderstood its use, thanks.

ntropy
1st March 2013, 01:23
Would it be possible to allow playback of renamed .mpls file? In my situation I would like to duplicate .mpls files that point to tv episodes and rename them to include season and episode numbers in the name so that that are scan-able by XBMC. XBMC is currently able to play these renamed .mpls files internally, but when I set my externalplayer to MPC-HC with LAV, I encounter the "Cannot render the file" error.

Thanks!

filler56789
1st March 2013, 03:04
http://roy.orz.hm/lavf-w32-nightlies/lavf-my130228-045c141.7z
Cant register .ax:)

Same problem in lavf-my130301-ad71550.7z :scared: :mad:

blexley
1st March 2013, 09:58
Windows 8 pro N revision does not have MediaPlayer installed.

If i use MPC and Lav Filters with the version will i have any problems not having Windows codecs , are they needed at all?

Thanks

DragonQ
1st March 2013, 11:11
Windows codecs are not needed.

06_taro
1st March 2013, 11:34
Same problem in lavf-my130301-ad71550.7z :scared: :mad:

Does not seem to be any errors in sources, as I cannot reproduce it with my own build:
LAVFilters-0.55.3-14-git-r2655(ad71550).7z (http://www.nmm-hd.org/upload/get~8PzYdYrOvBE/LAVFilters-0.55.3-14-git-r2655(ad71550).7z)
LAVFilters-0.55.3-14-git-r2655(ad71550)-Installer.7z (http://www.nmm-hd.org/upload/get~HojrUa9iJnk/LAVFilters-0.55.3-14-git-r2655(ad71550)-Installer.7z)

Built by MSVC2012, tested on Win 8 Pro.

blexley
1st March 2013, 12:58
Windows codecs are not needed.

Thanks DragonQ

How will this effect the part of Lav filters option that chooses " Use Microsoft WMV9 DMO decoder WMV3 and VC-1 " ?

That is why i assumed it might be needed.

filler56789
1st March 2013, 17:57
Does not seem to be any errors in sources, as I cannot reproduce it with my own build:
LAVFilters-0.55.3-14-git-r2655(ad71550).7z (http://www.nmm-hd.org/upload/get~8PzYdYrOvBE/LAVFilters-0.55.3-14-git-r2655(ad71550).7z)
LAVFilters-0.55.3-14-git-r2655(ad71550)-Installer.7z (http://www.nmm-hd.org/upload/get~HojrUa9iJnk/LAVFilters-0.55.3-14-git-r2655(ad71550)-Installer.7z)

Built by MSVC2012, tested on Win 8 Pro.

:thanks:

Your build works as it should :) :) :)

somebug
1st March 2013, 23:39
I have some questions,

I find using Haali video renderer for blu-ray and mkv files best, but I also have the LAV filters installed. When I check my active filters while using Haali, I see LAV Video Decoder active as well. Is this normal/is it in anyway doing anything to the video, such as dithering and if so, how do I stop it?

Also are there are any issues with the x64 versions of the LAV Filters or will installing them alongside the x86 version be fine?

paradoxical
1st March 2013, 23:55
What would be abnormal about that? Also, LAV Decoder only does dithering if you force it to output, for example, 8-bit if you're feeding it a 10-bit source (obviously also hardware decoders can't decode anything but 8-bit). Otherwise it will output the source as is and let the renderer do the dithering. If you don't want it to do certain things disable those options.

Aspeh
2nd March 2013, 03:00
Windows 8 pro N revision does not have MediaPlayer installed.

If i use MPC and Lav Filters with the version will i have any problems not having Windows codecs , are they needed at all?

Thanks

Thanks DragonQ

How will this effect the part of Lav filters option that chooses " Use Microsoft WMV9 DMO decoder WMV3 and VC-1 " ?

That is why i assumed it might be needed.

Good Question

Can any experts answer this as i'm looking to upgrade my XP machines to Win 8 and was thinking of getting the N version as well as it doesn't have any Media player installed.Or would i be better getting the standard Windows 8 pro version for the WMV9 DMO decoder WMV3 and VC-1 option ???

wanezhiling
2nd March 2013, 05:08
If Win8 N version has WMVideo Decoder DMO (http://i.imgur.com/dot5hA6.png), then LAVs WMV9 DMO decoder will work fine as well.

Sorry I have no N version.

itsonlyjustincase
2nd March 2013, 07:31
Hi could you help me ? I have run CCLEANER and uninstalled all codecs. Then when i try to install LAV filters (last version) only the 64 bits are present (i verify with Win7DSFilterTweaker_5.7). It seems my win 8 pro (official) doesn't allow me to install 32 bits codecs anymore :s even if there is no error at the installation

marc99
2nd March 2013, 09:32
Good Question

Can any experts answer this as i'm looking to upgrade my XP machines to Win 8 and was thinking of getting the N version as well as it doesn't have any Media player installed.Or would i be better getting the standard Windows 8 pro version for the WMV9 DMO decoder WMV3 and VC-1 option ???

"Windows Media Feature Pack for Windows 7 N and for Windows 7 KN.
The Media Feature Pack for N and KN versions of Windows 8 will install Media Player and related technologies on a computer running Windows 8 N or Windows 8 KN editions."
http://www.microsoft.com/en-us/download/details.aspx?id=30685

Aspeh
2nd March 2013, 10:09
http://img15.hostingpics.net/pics/368031Capturedcran12.jpg

Thanks for the reply's but it's not what i ment or what i think Blexley was asking either.

At the bottom of Lav Filters video configuration is Use Microsoft WMV9 DMO decoder WMV3 and VC-1

Would it be better to have Windows Media Player installed to use this Lav option?

itsonlyjustincase
2nd March 2013, 11:27
Hi could you help me ? I have run CCLEANER and uninstalled all codecs. Then when i try to install LAV filters (last version) only the 64 bits are present (i verify with Win7DSFilterTweaker_5.7). It seems my win 8 pro (official) doesn't allow me to install 32 bits codecs anymore :s even if there is no error at the installation

Someone ?

Tornado15550
2nd March 2013, 20:30
I've heard that LAV dithers 10bit/14bit video (from a Hi10P or Hi444P file) down to 8bit.
Is this true?

nevcairiel
2nd March 2013, 20:37
Only if its required, because your renderer doesn't support 10-bit content for example. Untouched is always preferred, but not always possible. If you use madVR, you should get untouched.

aufkrawall
2nd March 2013, 21:59
afair libav supports Dxtory codec for some time now.
Could you add support for it in LAV, nev? :)

nevcairiel
2nd March 2013, 22:21
Sample?

aufkrawall
2nd March 2013, 23:20
Tomorrow, got not enough upload bandwidth today.

blexley
3rd March 2013, 10:05
http://img15.hostingpics.net/pics/368031Capturedcran12.jpg

Thanks for the reply's but it's not what i ment or what i think Blexley was asking either.

At the bottom of Lav Filters video configuration is Use Microsoft WMV9 DMO decoder WMV3 and VC-1

Would it be better to have Windows Media Player installed to use this Lav option?

Thankyou Aspeh that is exactly what i'm trying to get an answer for aswell.

Nevcairiel is always saying that Win XP is a problem yet when asked about a Lav filters setting for Windows 8 he rudely ignores people.

Go figure.:(

sneaker_ger
3rd March 2013, 10:16
Nevcairiel is always saying that Win XP is a problem yet when asked about a Lav filters setting for Windows 8 he rudely ignores people.

Or maybe he simply doesn't know the answer because he's not using Windows 8 N?

I remember reading that Windows 7 N does indeed not have the codecs in addition to not having the media player, so I would not get the N version. I don't know if this applies to Windows 8 as well.

blexley
3rd March 2013, 10:25
That still doesn't answer the question as that is not what is being asked.

Is it better to use that option if available or is it not needed ?

If it's not needed or doesn't give any advantage over Lav filters for WMV9 DMO decoder WMV3 and VC-1 then you don't need mediaplayer installed.

A developer doesn't need a version of windows installed to know if an option is best used or not because knowing if it's best used or not then the rest can be worked out by ourselfs.?

Thanks

Superb
3rd March 2013, 10:45
Geez.
If you have the DMO Decoder installed -> The option will work.
If you don't have the DMO Decoder installed -> Initializing the decoder will fail.

http://code.google.com/p/lavfilters/source/browse/decoder/LAVVideo/decoders/wmv9.cpp
hr = CoCreateInstance(CLSID_CWMVDecMediaObject, NULL, CLSCTX_INPROC_SERVER, IID_IMediaObject, (void **)&m_pDMO);
if (FAILED(hr)) {
DbgLog((LOG_TRACE, 10, L"-> Failed to create DMO object"));
return hr;
}

Will it fall back to software? Probably. Didn't have a closer look at the code.

No one owes you any answers, and therefor it isn't rude to ignore you. Welcome to the internet.
Also, support given by nev in this thread is much better than MANY open source developers I've seen on the net... so don't b!tch. :P

nevcairiel
3rd March 2013, 10:46
Will it fall back to software? Probably. Didn't have a closer look at the code.

This is also "software". And no, there is no fallback. It'll refuse connection if the option is enabled and init fails.

In any case, LAVs default settings are the recommended settings (why would anything else be default?), you can figure it out from there.

sneaker_ger
3rd March 2013, 10:47
Just because he develops LAV Filters does not mean he magically knows whether Windows 8 N has the things needed for these LAV Video options. You didn't ask whether these were "best used" or not. If Nev didn't think they were needed he wouldn't have added the function to LAV Video to utilize them and definitely wouldn't have activated them by default.

Aspeh
3rd March 2013, 11:11
I'm not sure if you guys are just naturally rude and obnoxious or it's a case of Asperges.

In any case, LAVs default settings are the recommended settings (why would anything else be default?), you can figure it out from there.

How can anybody know apart from you if LAV can decode DMO without microsoft codecs and if this would be the default option if installed on a version of windows without mediaplyer.

Ridiculous to expect us to buy Windows 8 N to find out when you could just simply answer if Lav Filters prefers to use Windows Media DMO or not and without it if it would limit media playback.

No need for anyone to be a complete ass over it like media is some sort of leet club.

nevcairiel
3rd March 2013, 11:16
If it didn't have any advantages, it wouldn't be the default.
So concluding from that, disabling it does give you disadvantages.

Obviously this option only works if the DMO decoder is present in your system. If this is the case on a "N" install? I don't know. Feel free to find out and report your findings.

You're the one being rude, there is no magic secrets here, just logical conclusions anyone can arrive at.

blexley
3rd March 2013, 11:21
It doesn't say anywhere and you gave no indication that enabled was the default setting and was recommended.

That is what was being asked.

Sheeeeesh

aufkrawall
3rd March 2013, 11:35
Here is one Dxtory sample:
http://www36.zippyshare.com/v/60688661/file.html

There can be also different colorspaces and compression.

nevcairiel
3rd March 2013, 12:01
Here is one Dxtory sample:
http://www36.zippyshare.com/v/60688661/file.html

There can be also different colorspaces and compression.

It doesn't seem like the decoder likes this file, i get a lot of errors and no image.
It appears it uses a variant of the codec not supported yet.

aufkrawall
3rd March 2013, 12:09
Odd, it shouldn't be too special.
Well, no need to rush with this. :)
Thanks.

Shark007
3rd March 2013, 18:32
This VOB sample (http://www.mediafire.com/?v8e1eelz15uw1oc) works properly using LAV splitter 55.2-16 but fails to play properly with 55.3

EDITTED to correct version numbers

nevcairiel
3rd March 2013, 18:50
This VOB sample (http://www.mediafire.com/?v8e1eelz15uw1oc) works properly using LAV splitter 53.2 but fails to play properly with 53.3

0.53.2 is rather old, and there was no 0.53.3.
If you mean 0.55.2/3, then i'm not sure how this file could've worked before, it seems to suffer from severe timestamping problems, and there were only very small changes from 0.55.2 to 0.55.3

Other splitters just play the video and the audio never comes out, because of a huge difference in timestamps between the two streams. LAV trys to sync the two back, which results in the fast forward of the video..

Shark007
3rd March 2013, 18:59
sorry for the version confusion.
testing with, LAVFilters-0.55.2-16-gd6e6c1f.exe downloaded from http://xhmikosr.1f0.de/lavfilters/old/ it will play properly. testing with the official 55.3 or the latest version available from xhmikosr.1f0.de it fails. I guess I incorrectly assumed that something that worked earlier but not now was a regression.

nevcairiel
3rd March 2013, 19:03
The list of changes between 0.55.2-16 and 0.55.3 is even shorter, and nothing even touches code relating to that.
I'm also not sure how you define "play properly", i don't think its possible for both audio and video to play properly in that file.

Shark007
3rd March 2013, 19:07
I can accept the fact that the file is just broken but that doesnt change the fact that it does play properly (audio/video synced and no FF) using 55.2-16 and has issues in 55.3 and current git builds.

nevcairiel
3rd March 2013, 19:40
I found the root cause of the problem, and should be able to fix it. I still think its weird that it worked in between those versions, but what can you do.

Shark007
3rd March 2013, 19:42
please know - your time is appreciated. not just in this moment, but in general.

DragonQ
3rd March 2013, 19:47
I found the root cause of the problem, and should be able to fix it. I still think its weird that it worked in between those versions, but what can you do.
I've had this before - I find some code that is obviously wrong and am bemused that it ever worked. :)

nevcairiel
3rd March 2013, 19:59
It wasn't like that at all - it was just a corner case in that particular file which was not handled, and i'm just curious how the file worked before.

ryrynz
4th March 2013, 07:02
Nev, any ETA on that "English[eng]" subtitle selection support?

3044ed5471fe - Support parsing OGM locale codes in the format "English[eng]"

Cheers Nev.

clsid
4th March 2013, 20:16
Hi nev, http://www.mediafire.com/?9htn5tj84ckaotz
Tested on lavf 6d05724, 2 issues:

1. Greenscreen with dxva2 native on Nvidia card @310.70whql
2. wrong field order(should be "top first" not "bottom frst"), seems that only cuvid mode is right.
This file triggers a crash in avfilter when yadif is enabled.

nevcairiel
4th March 2013, 22:51
This file triggers a crash in avfilter when yadif is enabled.

Works fine in my latest dev builds at least.

Famille_CB
5th March 2013, 01:52
Hello,

I use Lav with MPC classic. When I change between "0-255" and "16-235" in the option of LAV filter there' no change.
For information, with ffdshow if I do the same thing it's work.
Some body can help me?

Thank you!

Asmodian
5th March 2013, 03:53
Isn't that option only applicable if you use RGB as the output color space from LAV? I assume you are sending YUV data to the renderer as that is normal and preferred (assuming MadVR at least).

dansrfe
5th March 2013, 06:35
Anyone know what the problem might be if I'm playing mono audio, have a 5.1 speaker system connected (so I have a center channel for just mono audio), and have "Expand Mono to Stereo" unchecked yet I'm still getting audio out of my front left and right speakers?

I can't find any option in the realtek control panel or windows 7 sound settings which would cause this to happen. I also switched audio renderers from reclock + directsound to just directsound and even WASAPI but got the same result. And I'm not deliberately upmixing anywhere in the chain.

bugmen0t
5th March 2013, 08:02
@dansfre
Try unchecking 'output mono sources to both front channels' in the ReClock audio settings at the bottom.

itsonlyjustincase
5th March 2013, 11:25
Hi,

I have a question for the experts. I hate asking questions cause i don't want to bother. Sorry in advance.

I'm using the Lav filters with my Serato Video software to play videos. When two videos are load at the same time, it uses a second instance of the lav video decoder (i can see it know thanks to the new lav tray icon). I have Asus UX32VD with Nvidia Geforce 620m 1g which is forced to be used with the program. I'm on WIN7 64 bits with Core i7.

The way the software is developped make it use a lot of system ressources. That is why i have to use the GPU to relax the system.

The problem is that when i use Cuvid and launch two videos at the same time (mixing) i have poor fps (around 15fps for two 1080p H264 videos). This is bad for mixing as the visual aspect look slow. So i tried DXVA2(copy-back) and it's weird cause i could get amazing fps (around 45 fps for two 1080p H264 videos), lower CPU usage (more than 30% lower than usage with Cuvid). The strange thing is that when i look at the GPU graphs (GPU-z) i see no difference between usage of cuvid or dxva2(copy-back). In fact the video load, gpu load, memory load, are about the same. So i would like to understand why ?

And to come to the main problem, using dxva2cb is fine when i launch a video, but as soon as i open a second one it make my software crash most of the time. Some time it's after the third video launched.

I hope you'll be able to help me

mastan
5th March 2013, 12:41
The way the software is developped make it use a lot of system ressources. That is why i have to use the GPU to relax the system.
Then why don't you use QuickSync? It should be available on your system.

itsonlyjustincase
5th March 2013, 13:09
Then why don't you use QuickSync? It should be available on your system.

Cause my soft doesn't allow the use of the intel graphic GPU. Plus i don't see the link

Famille_CB
5th March 2013, 13:27
Isn't that option only applicable if you use RGB as the output color space from LAV? I assume you are sending YUV data to the renderer as that is normal and preferred (assuming MadVR at least).

Hello,

I think you're right but I don't know where I can change the output (RGB / YUV).
I use MediaPlayerClassic Home Cinema and I tried several output like EVR, Video Mixing Renderer 9 (renderless) but this is not the RGB / YUV choice.
Where can I find this option?

Thank you for your help.

Regards.

itsonlyjustincase
5th March 2013, 13:55
Cause my soft doesn't allow the use of the intel graphic GPU. Plus i don't see the link

I thought quicksync used the intel gpu. Seems i was mistaking. Do you think i could get better resultat with quicksync than dxva2 or cuvid ?

itsonlyjustincase
5th March 2013, 13:57
I thought quicksync used the intel gpu. Seems i was mistaking. Do you think i could get better resultat with quicksync than dxva2 or cuvid ?

I've double checked and saw that quicksync do use the intel hd GPU. My soft isn't compatible with intel GPU. That is why i have to force the use of the gefore 620m for it

Superb
5th March 2013, 14:40
You wrote you have "Core i7", which could be one of three generations.
QuickSync works on the 2nd (Sandy Bridge) and 3rd (Ivy Bridge) generations, provided that you install the official Intel graphics drivers from http://downloadcenter.intel.com/ (the ones from Windows Update are not enough afaik).
Not sure about the 1st.

DragonQ
5th March 2013, 15:32
You wrote you have "Core i7", which could be one of three generations.
QuickSync works on the 2nd (Sandy Bridge) and 3rd (Ivy Bridge) generations, provided that you install the official Intel graphics drivers from http://downloadcenter.intel.com/ (the ones from Windows Update are not enough afaik).
Not sure about the 1st.

Nehalem (1st generation Core i7) doesn't have an IGP.

itsonlyjustincase
5th March 2013, 15:47
I've double checked and saw that quicksync do use the intel hd GPU. My soft isn't compatible with intel GPU. That is why i have to force the use of the gefore 620m for it

I would be glad to use quicksync but i can't as my soft does not support intel graphic card. To run it i have to force the usage of my discrete GPU : http://serato.com/video/support/14861/intel-graphics-cards-not-supported-on-pc

itsonlyjustincase
5th March 2013, 15:48
Any insight regarding the DXVA2CB vs CUVID ? And about the fact it seems multiple instances of lav video with dxva2cb seems not to be supported ?

clsid
5th March 2013, 17:19
Works fine in my latest dev builds at least.Works here with 0.55.3, but not with latest git. I even tried with a completely fresh and clean checkout. Can you post a test build?

wanezhiling
5th March 2013, 17:29
Works here with 0.55.3, but not with latest git.
Same here, crash with latest git.

Qotscha
5th March 2013, 18:43
Hello,

I use Lav with MPC classic. When I change between "0-255" and "16-235" in the option of LAV filter there' no change.
For information, with ffdshow if I do the same thing it's work.
Some body can help me?

Thank you!

When using EVR CP renderer (like shown in your screenshot) you can change between 0-255 and 16-235 like this:

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

itsonlyjustincase
5th March 2013, 21:12
I have tested CoreAVC and it doesn't work with CUDA anymore. The icon doesn't turn green and the video stays black. I think my CUDA for an unknown reason doesn't work anymore that is why i have poor performance in LAV with CUVID enabled. It's weird as i have just reinstalled my system and i have tried the old official asus nvidia drivers and the latest :s

Someone could help me ?

Famille_CB
5th March 2013, 23:52
When using EVR CP renderer (like shown in your screenshot) you can change between 0-255 and 16-235 like this:

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

I try your solution. With 0-255, colours are less washed out than with 16-235. But it's still little bit washed out.
I would like to do the job by the LAV decoder. In fact it's to use with XBMC (the directshow version). The option in LAV filter should works isn't it?

Thank for your support.
Regards.

paradoxical
6th March 2013, 00:38
The option works just fine if LAV is doing RGB output. The effect is immediately noticeable when I change between them. If you aren't seeing the option make any difference that means LAV is sending out YUV not RGB. Uncheck all colorspaces but RGB and you'll see it.

Killerattacks
6th March 2013, 08:00
First of all, thanks for your hard work on LAV Filters :thanks:

I've encountered a little problem using MPC-HC and the LAV Filters (audio, video and splitter all preferred in MPC-HC). I've got a .mkv file with video and audio and a .mka file with an additional audio track and the same name as the video file except for the extension (e.g. video.mkv and video.mka).

Now when I start playback of the video file MPC-HC automatically loads the video and both audio tracks as it should, but plays them both concurrently and I can not select only playback of only one of them. Also all audio related filters have two instances (source splitter, LAV audio filter and directSound).

I could only avoid this behavior when I enabled MPC-HCs built-in audio switching filter (which is quite an ugly solution, since all audio related filters still have two instances and I don't know what else MPC-HC does with the audio track), but shouldn't this be a function that either the LAV source splitter or the audio filter provides?

nevcairiel
6th March 2013, 08:18
Loading of external audio tracks is a MPC-HC feature, it has nothing to do with LAV itself. MPC-HC just loads a second copy of LAV for the external tracks.
You need to enable the audio switcher, so it can switch between internal and external tracks, thats why its called audio switcher :P

nevcairiel
6th March 2013, 12:06
Works here with 0.55.3, but not with latest git. I even tried with a completely fresh and clean checkout. Can you post a test build?

I suggest you stick to the release version then, that is what they are for. :)

I give no guarantees on the stability of the Git builds, and while i appreciate any feedback that results from them, i do not really like distributing them to the general users, because it greatly increases the possible error sources.

Long story short, i'm working on other areas at the moment and my local tree is in the middle of some changes, and i really don't want to spend time to roll it back to the main git tree to try to reproduce some issue that may or may not exist anymore.

itsonlyjustincase
6th March 2013, 13:56
Hi,

I have a question for the experts. I hate asking questions cause i don't want to bother. Sorry in advance.

I'm using the Lav filters with my Serato Video software to play videos. When two videos are load at the same time, it uses a second instance of the lav video decoder (i can see it know thanks to the new lav tray icon). I have Asus UX32VD with Nvidia Geforce 620m 1g which is forced to be used with the program. I'm on WIN7 64 bits with Core i7.

The way the software is developped make it use a lot of system ressources. That is why i have to use the GPU to relax the system.

The problem is that when i use Cuvid and launch two videos at the same time (mixing) i have poor fps (around 15fps for two 1080p H264 videos). This is bad for mixing as the visual aspect look slow. So i tried DXVA2(copy-back) and it's weird cause i could get amazing fps (around 45 fps for two 1080p H264 videos), lower CPU usage (more than 30% lower than usage with Cuvid). The strange thing is that when i look at the GPU graphs (GPU-z) i see no difference between usage of cuvid or dxva2(copy-back). In fact the video load, gpu load, memory load, are about the same. So i would like to understand why ? It's like my CUDA wasn't working

And to come to the main problem, using dxva2cb is fine when i launch a video, but as soon as i open a second one it make my software crash most of the time. Some time it's after the third video launched.

I hope you'll be able to help me

Carpo
6th March 2013, 14:17
Sorry if this has already been asked, I have used search but my searching abilities are crap at the best of times :) - when I select a decoder in LAV is says it is available, but when I play any video in MPC-HC it always shows as <inactive> - I have LAV set in MPC-HC to be used and all internal filters disabled, is there something else I have to set, guessing it is a user error ;)

itsonlyjustincase
6th March 2013, 14:21
Sorry if this has already been asked, I have used search but my searching abilities are crap at the best of times :) - when I select a decoder in LAV is says it is available, but when I play any video in MPC-HC it always shows as <inactive> - I have LAV set in MPC-HC to be used and all internal filters disabled, is there something else I have to set, guessing it is a user error ;)

Do you have the latest lav ?

If yes enable tray icon and launch a video with MPC. You should see the lav video red icon appears. When double click on it you'll be the active hardware video decoding codec enabled. If it's not working is perhaps that you have to GPU in you computer and one of them is used over the over (the intel one).

Carpo
6th March 2013, 14:27
doing as you say it now shows avcodec, is that right, I guess i am just being confused :/

I have a geforce 560ti - not using the onboard intel

edit: seems it changes depending on the file I am playing, some it says avcodec, others cuvid :/

edit2: seems its says avcodec on anything 10bit encoded, guess i will re-rip them and encode at 8bit

wanezhiling
6th March 2013, 14:40
but when I play any video in MPC-HC it always shows as <inactive>
http://forum.doom9.org/showpost.php?p=1603907&postcount=13300

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

seems its says avcodec on anything 10bit encoded
Thats to be expected, 10bit cant use hwa decoding.

Carpo
6th March 2013, 14:41
well at least I found out what it was, and have learnt something :)

itsonlyjustincase
6th March 2013, 16:10
Thats to be expected, 10bit cant use hwa decoding.

Can you explain more of it ? You mean when it is written avcodec is that GPU isn't used ?

JEEB
6th March 2013, 16:13
Can you explain more of it ? You mean when it is written avcodec is that GPU isn't used ?

Yes, avcodec means that the libavcodec library's software code path is used. This is because no consumer-level video decoding ASIC (http://en.wikipedia.org/wiki/Application-specific_integrated_circuit) supports 10bit H.264, so not being able to play 10bit H.264 with hardware decoding on consumer hardware is not at all surprising.

The last time I saw a 10bit H.264-capable decoding ASIC, it had four digits in its price, and could have been limited to intra coding only.

itsonlyjustincase
6th March 2013, 16:21
Yes, avcodec means that the libavcodec library's software code path is used. This is because no consumer-level video decoding ASIC (http://en.wikipedia.org/wiki/Application-specific_integrated_circuit) supports 10bit H.264, so not being able to play 10bit H.264 with hardware decoding on consumer hardware is not at all surprising.

The last time I saw a 10bit H.264-capable decoding ASIC, it had four digits in its price, and could have been limited to intra coding only.

Thanks for the explanations :)

I did post a question upper did you see it ? Do you think you could help me ? It is with lav video decoder. It's like my cuvid is not working with my geforece gt 620m. I have poor performance with it. When i use dxva2cb i have outstanding performances (40 fps with 2 1080p videos playing at the same time in my dj software) but it crashes after having opened a third one. Sometime it crashes straight from the second video opened as well. GPU-Z show the same amoung of GPU usage though for both codecs

paradoxical
6th March 2013, 16:38
It's like my cuvid is not working with my geforece gt 620m. I have poor performance with it.

You're probably overtaxing the decoder in some way. It may not necessarily be an issue with the GPU load, but it could be with the use of memory resources.

Famille_CB
6th March 2013, 16:40
The option works just fine if LAV is doing RGB output. The effect is immediately noticeable when I change between them. If you aren't seeing the option make any difference that means LAV is sending out YUV not RGB. Uncheck all colorspaces but RGB and you'll see it.

Cool, you find the solution. I have to put the option as shown in the attached file.

Thank you!!!

itsonlyjustincase
6th March 2013, 16:51
You're probably overtaxing the decoder in some way. It may not necessarily be an issue with the GPU load, but it could be with the use of memory resources.

But for example DXVA2 native works without any problems. When i use dxva copy back and check the gpu and system ressources before it bugs everything is fine. My CPU is around 33%, memory 40%, HDD 20%

I have 10 gb of RAM and 1gb for the GPU

paradoxical
6th March 2013, 16:54
But for example DXVA2 native works without any problems.

That doesn't really say much. CUVID and DXVA2 may not be decoding things the same way. There may be a CUVID-only bug or regression causing the issue.

When i use dxva copy back and check the gpu and system ressources before it bugs everything is fine. My CPU is around 33%, memory 40%, HDD 20%

What about GPU memory usage between both of them?

If you want any chance to get this fixed you'll need to post a crash log so that the cause can be determined. Without that, it's basically making stabs in the dark.

paradoxical
6th March 2013, 17:02
So I just installed the latest version of LAV on my machine here and I opened 3 1080p videos using CUVID and they both played flawlessly with no dropped frames. This was on a Quadro 2000 with 1 GB of GDDR5. Obviously not comparable, but you must be hitting some sort of memory bandwidth or usage issue with CUVID. Or maybe it has to do with your renderer causing too much of a load with CUVID. *shrug* Like I said, a crash log would help see why your system is doing what it is.

itsonlyjustincase
6th March 2013, 17:08
That doesn't really say much. CUVID and DXVA2 may not be decoding things the same way. There may be a CUVID-only bug or regression causing the issue.



What about GPU memory usage between both of them?

If you want any chance to get this fixed you'll need to post a crash log so that the cause can be determined. Without that, it's basically making stabs in the dark.

How can i get a crash log ?

paradoxical
6th March 2013, 17:09
How can i get a crash log ?

Grab the debug symbols from the first post.

itsonlyjustincase
6th March 2013, 17:36
Grab the debug symbols from the first post.

Thank you i'm going to do that as soon as i'm home

itsonlyjustincase
6th March 2013, 20:05
Thank you i'm going to do that as soon as i'm home

How to use the debug symbols ?

paradoxical
6th March 2013, 20:07
Place them in the same directory where LAV is installed.

somebug
6th March 2013, 22:35
Is there a way to disable dithering in the LAV decoder?

paradoxical
6th March 2013, 22:39
LAV only does dithering if your force it to output in a bit-depth that is lower than the source as I explained to you the first time you posted about this. Otherwise it passes through with the same bit-depth and then your renderer does the dithering.

itsonlyjustincase
7th March 2013, 00:13
Place them in the same directory where LAV is installed.

And then ?

paradoxical
7th March 2013, 00:27
And then ?

And then you recreate the crash.

itsonlyjustincase
7th March 2013, 00:47
The video just don't launch anymore so i think it doesn't manage to detect that it is a crash as the file loads and sound as well :(

itsonlyjustincase
7th March 2013, 01:25
The video just don't launch anymore so i think it doesn't manage to detect that it is a crash as the file loads and sound as well :(

Could someone help me on that ?

http://forum.notebookreview.com/asus/711072-weird-cpu-drops-when-playing-multiple-h264-1080p-video.html#post9112016

Qaq
7th March 2013, 14:17
I suppose MPEG2 4:2:2@High 1080i29 73.6Mbps can only be decoded in software mode? It seems like my AMD Athlon 64 X2 6000+ is too slow for that...

nevcairiel
7th March 2013, 14:19
HW decoders don't support 4:2:2 MPEG-2, indeed.

DragonQ
7th March 2013, 19:31
Never mind.

dansrfe
7th March 2013, 21:55
Request: Bitrate under "Status" tab for "Input".

Other things on wishlist:

1) Hover over taskbar icon for file name, bitrate, sample rate, channels, codec.
2) Keyboard shortcuts to adjust delay by pre-specified amount. Similar to how subtitle delay can be adjusted in MPC-HC.

paradoxical
7th March 2013, 22:21
LAV will not do any shortcuts in the forseeable future.

From less than 2 months ago.

Carpo
8th March 2013, 17:16
what codec would people suggest i select in LAV for a laptop with a GeForce 8400GS ?

paradoxical
8th March 2013, 20:17
Why don't you just test it and see which is better? Each one has its own sets of drawbacks and advantages.

Carpo
8th March 2013, 20:18
I have tested, obviously the hardware ones aren't that great, was thinking more between native and copyback

paradoxical
8th March 2013, 20:19
I have tested, obviously the hardware ones aren't that great, was thinking more between native and copyback

DXVA2 native and copyback still use hardware decoding...

Asmodian
8th March 2013, 20:48
what codec would people suggest i select in LAV for a laptop with a GeForce 8400GS ?

I usually like CUVID on Nvidia cards, I think the GeForce 8400GS actually has VP3 which is pretty good. Do you have issues with it? I understand CUVID to have better driver support (faster copyback) than DXVA copyback with the same advantages.

If CUVID doesn't work for you and if you are using the battery and given that it works (not using subtitles, etc.) I would use DXVA native. If plugged in I would use software, again given that the CPU is fast enough.

A qualification: If CUVID doesn't work well I would expect DXVA to also have issues, in that case software is the only option.

Carpo
8th March 2013, 20:52
its a 2 Ghz cpu so will have a play about with various settings see which plays things well

Andy o
10th March 2013, 03:11
Depending on the version of the DLL you have, you need the 2003 or 2005 C++ runtime. The 2005 version you can get directly from Microsoft here: http://www.microsoft.com/en-us/download/details.aspx?id=3387
Only the very old versions of the ArcSoft DLL need the 2003 variant (1.1.0.0 and 1.1.0.1 i think), but sadly that one is not easily available on the net.
My Windows drive died and I just found about this, after all these years, after reinstallation. I guess I was using 1.1.0.0 after all cause it was the least buggy at the time, is that still the case? I think I have a TMT5 installation lying around, but I don't use any of those programs anymore really. May grab an upgrade to TMT6 if it's compelling enough.

SamuriHL
10th March 2013, 04:17
1.1.0.8 is what I've been using with no issues.

Andy o
10th March 2013, 04:31
1.1.0.8 is supposed to be buggy with 6.0 streams, but that's not much of a real-world problem. I'm OK with it. I took the opportunity to check out the TMT6 trial, and the version is still 1.1.0.8, but the hash doesn't match and the modified date is 10 days earlier than the one that came with TMT3. Are you guys discussing TMT6 at AVS or somewhere else, btw?

SamuriHL
10th March 2013, 04:34
I have TMT6 but I can't use it right now. They have a horribly nasty bug that causes UEFI boot to break on my machine so instead of a 5 second boot time I get over a minute. And it breaks the remote. But yea, the decoder hasn't changed.

Andy o
10th March 2013, 04:39
Damn, you got an SC receiver? :D

SamuriHL
10th March 2013, 04:40
I JUST got it this week, but, yea. I needed the 3D support. OMG is it sweet! :) I figured you'd notice that more than anyone. ;)

aufkrawall
10th March 2013, 10:58
Nev, you said some time back that you'd give QS deinterlacing a chance again if it doesn't fail for you anymore.
Well, I tried it with ffdshow 1.3.4500, driver 2932 on my HD 3000 SNB graphics and it worked well with MPEG2, VC-1 & H.264.

The advantage is that there's more shader performance remaining, e.g. I can play everything below 30fps with Lanczos3 AR chroma & luma upscaling and CR AR LL luma downscaling witout any drops/glitches (IGP is OCed).

If it still fails for you, could you specify why? :)
It seems QS + madVR DXVA deinterlacing doesn't work well, I still see combing. But this would be rather a further reason to add support for QS DI.

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

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

Please consider :)

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

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

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

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

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

No, there are no plans for this.

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

But nev has no plans for this.

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

But nev has no plans for this.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thankyou

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

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

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

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

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

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

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

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

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

Microsoft decoder doesnt support 10bit input

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The last official version(s) work.

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

This has nothing whatsoever to do with seeking.

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

The last official version(s) work.

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

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

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

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

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

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

There is still some potential here, so lets see!

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

Win7 ult, HD6570, JRiver MC18

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

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

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

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



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

Which decoder is this using?

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

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

Which decoder is this using?

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

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

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

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

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

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

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

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

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

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

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

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

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

PM me

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

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

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

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

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

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

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

No more crashing :thanks:

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

Many thanks

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

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

I have SAF 6.1.5 installed, which utilizes LAV 0.53

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

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

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

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

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

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

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

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

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

Thanks,

~ Im2bz2p345 :)

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

This file plays just fine for me.

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

Thanks for the quick response nevcairiel!

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

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

Thanks,

~ Im2bz2p345 :)

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

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

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

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

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

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

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

noee
17th March 2013, 02:02
Anybody try regular old DVDs yet? Stuttering playback of discs and ripped DVDs with MPC-HC/JRiver w/madVr/EVR. Okay when I go back to the release....

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

Yeah, I saw that. However I have a Fraps RGB source here with no repeated frames that decodes painfully slow, around 30fps for a 60fps file, and CPU usage is much lower than 0.55.2, so there's something up there. Changing threads from auto to 1 slows it a bit to around 28fps or so.

EDIT: I just recorded something in 4:2:0 at 120fps and it results in the same bad perfomance, 0.55.2 decodes at steady 120fps/55-60% usage and the newer builds at around 68fps/30-35% usage. Samples on demand but they're huge :p

Im2bz2p345
17th March 2013, 03:23
Yes, i can bitstream it as DTS over SPDIF.

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

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

My Windows Audio Device settings are setup just like yours:
http://img.photobucket.com/albums/v36/Im2bz2p345/spdifsettings_zps76f9946b.png

When searching around more online, apparently I'm not the only one in this situation: http://forum.team-mediaportal.com/threads/cant-play-wav-files-with-dts-sound-only-whitenoise.93753/

If I install AC3Filter, I'm sure that it will start working fine when I play the file through regular Windows Media Player (not MPC-HC).

Just trying to get to the bottom of why I'm having trouble with LAV Audio passing uncompressed DTS audio (through a .wav file).

Thanks for your continued help nevcairiel,

~ Im2bz2p345 :)

wanezhiling
17th March 2013, 06:30
I casually compared the 4k dxva decoding performance between mpc-hc and lav.

mpc dxva + vanilla EVR (http://i.minus.com/i2UVUVOGUyeBN.png)

lav dxva + vanilla EVR (http://i.minus.com/ibaxD1d9MxXCK0.png)

:scared:

Tested sample is Ducks.Take.Off.2160p.QHD.CRF25.x264-CtrlHD.mkv (a 30fps version), can be downloaded from Google Search.

nevcairiel
17th March 2013, 07:22
I casually compared the 4k dxva decoding performance between mpc-hc and lav.

Are you sure these results are accurate?
I tried both mpc-hc and mpc-be. mpc-hc never uses dxva on that 4k sample (on my GTX 680), even with skip all checks set, and mpc-be is equally slow as lav, dropping plenty frames.

Its weird, if i play it in GraphStudio with EVR it seems to work much better with LAV too.

dansrfe
17th March 2013, 07:38
I casually compared the 4k dxva decoding performance between mpc-hc and lav.

mpc dxva + vanilla EVR (http://i.minus.com/i2UVUVOGUyeBN.png)

lav dxva + vanilla EVR (http://i.minus.com/ibaxD1d9MxXCK0.png)

:scared:

Tested sample is Ducks.Take.Off.2160p.QHD.CRF25.x264-CtrlHD.mkv (a 30fps version), can be downloaded from Google Search.

Is that the frame rate in the left window? 24.59 vs 29.97?

Aleksoid1978
17th March 2013, 08:53
I test this clip on GTX 660Ti. On both decoder - MPC-BE & LAV with DXVA unable to normal playback. Drop frames, jitter.

nevcairiel
17th March 2013, 09:09
Here is a test build, which may or may not increase the DXVA2 Native performance on that clip:

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

Some testing would be appreciated to ensure no new errors are caused by this.

While it increases the fps number that EVR shows, the video still looks like its running too slow, in fact, it looks very much the same as before, maybe those numbers are just meaningless?

wanezhiling
17th March 2013, 09:44
Are you sure these results are accurate?
mpc-hc never uses dxva on that 4k sample (on my GTX 680), even with skip all checks set
:D MPC-HC ignored your GTX680?

mpc-hc dxva on slow 520 (http://i.minus.com/ictDQG1Fs3idi.png)

mpc-be dxva on slow 520 (http://i.minus.com/ibxquPe6r0je84.png)
I test this clip on GTX 660Ti. On both decoder - MPC-BE & LAV with DXVA unable to normal playback. Drop frames, jitter.
Yes, both them cannot have a normal playback, but at least with vanilla EVR, mpc-hc/be can touch full 30fps while lav is only 24...
Here is a test build, which may or may not increase the DXVA2 Native performance on that clip:

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

Tested, now has a same fps number with mpc-hc/be.:)
http://i.minus.com/i5REC56Otle45.png

While it increases the fps number that EVR shows, the video still looks like its running too slow, in fact, it looks very much the same as before, maybe those numbers are just meaningless?
Yes, same experience. you can try software decoding, just same too.
I dont know what those numbers of EVR means.

Aleksoid1978
17th March 2013, 09:52
Here is a test build, which may or may not increase the DXVA2 Native performance on that clip:

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

Some testing would be appreciated to ensure no new errors are caused by this.

While it increases the fps number that EVR shows, the video still looks like its running too slow, in fact, it looks very much the same as before, maybe those numbers are just meaningless?

Nothing is change.

nevcairiel
17th March 2013, 10:36
I didn't commit that DXVA2 Native change and reverted it locally because it doesn't really help, current GPUs are just not well equipped for 4K decoding, 30p is borderline, and even with the patch it looks very unsmooth, pretty much the same as it looks without the patch, so not taking any risks.

wanezhiling
17th March 2013, 10:46
Yes, AMD cheat us, Nvidia is very slow, only IVB GPUs can handle 4K decoding well.

So the 4K industry Sony announced is still a dream in 2013. :scared:

nevcairiel
17th March 2013, 11:01
Yeah, I saw that. However I have a Fraps RGB source here with no repeated frames that decodes painfully slow, around 30fps for a 60fps file, and CPU usage is much lower than 0.55.2, so there's something up there. Changing threads from auto to 1 slows it a bit to around 28fps or so.

I found the reason, the threading code in ffmpeg was still suffering from some bugs after the recent changes, but it should benefit from threading properly again now. :)

dukey
17th March 2013, 13:45
Are frames supposed to arrive at the renderer in order ? Some formats .. vc1, look like they are arriving in decoding order, and not presentation order.

nevcairiel
17th March 2013, 13:58
Are frames supposed to arrive at the renderer in order ? Some formats .. vc1, look like they are arriving in decoding order, and not presentation order.

Frames always arrive in order.
What can happen is that timestamps are not in order, that usually means the source does not provide correct timestamps.

dukey
17th March 2013, 14:07
okay thanks

Mercury_22
17th March 2013, 19:22
EDIT : NVM was a failed build on my end of the x86 version

nevcairiel
17th March 2013, 19:24
After last update(s) I can't play BDs from index.bdmv with lav (working OK with MPC-BE's internal splitter)

Seems to be working fine here.

Mercury_22
17th March 2013, 19:49
Seems to be working fine here.

Sorry was a problem at my end

FFmpeg failed to build for x86 and since I have everything "automatized" I didn't realized I was missing some dlls from lav folder:o

STaRGaZeR
18th March 2013, 01:32
I found the reason, the threading code in ffmpeg was still suffering from some bugs after the recent changes, but it should benefit from threading properly again now. :)

Nice, it works fine now :)

I found another issue however. If you start seeking like mad on a Fraps file the memory consumption goes thru the roof, like if there was a memory leak somewhere. I found an avutil crash after seeking a lot too. Maybe they're related.

nevcairiel
18th March 2013, 08:00
Maybe it crashed because of OOM?
I may see why its leaking memory, i'll take a look when i'm back at my dev box.

STaRGaZeR
18th March 2013, 15:55
It's possible, it seems to top around ~3,6GB here, but it may be a coincidence. When it reaches that it doesn't crash however, video freezes and audio keeps playing. avutil crash is quite random.

nevcairiel
18th March 2013, 17:23
At least the leak is now fixed, i'm just going to hope your crash was related to this. :)

NikosD
18th March 2013, 17:47
Yes, AMD cheat us, Nvidia is very slow, only IVB GPUs can handle 4K decoding well.

So the 4K industry Sony announced is still a dream in 2013. :scared:

Do you have an Ivy to run a benchmark of the clip with DXVAChecker ?

I'm interested in full potential of QS performance min/max and average, not just playback.

nevcairiel
18th March 2013, 19:59
Ok here is another set of test builds which should hopefully now close the chapter on the ffmpeg update, and allow me to get back to the other features i was working on:

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

Please let me know if you still experience any issues with this build that were not present in the last release.

STaRGaZeR
18th March 2013, 20:33
At least the leak is now fixed, i'm just going to hope your crash was related to this. :)

Sweet, the leak is fixed and I haven't found any avutil crashes either :)

Any chance of reworking the repeat frame patch? I've been trying to do it myself and I got it working, but it's not doing what it's supposed to do. I'm a bit lost with the new thread functions :D
Here's what I have now in case you want to give it a shot: http://www.mediafire.com/view/?q3xt0inxog3z8o4
I think the problem is in update_thread_context, but I don't know what to do to make it work as before.

tahaa7
18th March 2013, 23:43
I have a problem. When I play an mkv file with a lossy audio stream (aac, ac3) using LAV Splitter in MPC-HC, I do not get "bit-exact" mark in ReClock. When playing a lossless format, it is there. Does anyone know what causes this issue? Is it supposed to be this way? I have also installed ffdshow Audio Decoder, but nothing changes...

nevcairiel
19th March 2013, 09:58
"Lossy" formats are output as floating-point audio, which audio hardware typically does not support, so ReClock needs to convert it to an integer format, which obviously is not "bit exact" anymore.

XPC
19th March 2013, 17:30
Hi Nev,

I just reported an issue I found each time I try to see any IP channel (rtp) from my local TV provider (Imagenio). It takes few seconds to start but then I can see the channel perfectly during about 40 secs. After that time, the image is frozen and after a while mpc-hc gets paused.

Using VLC works OK.

(Please refer to issue 337 for a log output)

Any ideas on what could be happening?
Thanks

nevcairiel
19th March 2013, 17:32
Streaming support is considered experimental, since i have no way to test it in real-world environments properly, so i can't really help with any debugging of it.

XPC
19th March 2013, 17:44
May be you could take a look to the debug output I attached to the issue. It could give us an idea on what is happening.

If you want, I can do the debugging, but I would need some support.

doskabouter
19th March 2013, 20:30
Hi,

I was just experimenting a bit (seems that I still have some SAF parts installed) with LAV and h264 video, and I get a lot of framedrops using LAV.

When I choose ffdshow, the video is playing smoothly, so hardware is definitely capable of displaying it.

Screenshots of different config/movie in mediaportal here:
ftp://dump@88.159.164.124/LAV/LAV Experiments.zip

Os is vista32, AMD Athlon 4850e with onboard Radeon HD 3200.

Video:
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Muxing mode : Container profile=Unknown@4.0
Codec ID : V_MPEG4/ISO/AVC
Duration : 1h 48mn
Bit rate : 8 515 Kbps
Nominal bit rate : 8 968 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.171
Writing library : x264 core 94 r1583 7608d73
Encoding settings : cabac=1 / ref=4 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=7 / psy=1 / psy_rd=1.00:0.20 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=3 / weightb=1 / weightp=0 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=8968 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Language : English


Can you take a look at it, or do you need more info?

itsonlyjustincase
20th March 2013, 20:15
Hi guys,

I have worked a lot and understood a lot. But that i don't manage to get it :http://www.imagup.com/npic/1178472500.html

Left part of the screen is the 2 videos playing at the sametime and being mixed (that is why there is only 1 output windows)

I had enabled the lav tray icon. As you can see the DXVA2 native is choosen. You can see that it is not in use. It is written "avcodec".

But on the right part is the same video launched with MPC-HC forced with lav (same configuration with DXVA2 native). And that time it's being used well and i can confirm it with GPU-Z graph which shows that the video engine load increases only when i start the video with MPC-HC

My goal would be to ensure my application is using DXVA2

File used is 720p H264 AAC (taken from youtube)

http://npic.imagup.com/1/1178472500.png (http://www.imagup.com/npic/1178472500.html)

itsonlyjustincase
20th March 2013, 20:21
My Serato Video app is OpenGL perhaps it's the reason ? Is there any LAV Filters OpenGL version ?

Konrad Klar
20th March 2013, 21:25
@itsonlyjustincase
Try DXVA2 (copy-back). Native requires a compatible renderer (not sure what Serato Video app is exactly doing).

itsonlyjustincase
20th March 2013, 23:36
@itsonlyjustincase
Try DXVA2 (copy-back). Native requires a compatible renderer (not sure what Serato Video app is exactly doing).

The thing i don't understand is why it's not the lav video decoder that manages the hardware acceleration :s.

I want to use DXVA2 native because i have the best video engine load with it and my GPU is the most used with that setting so my CPU is relaxed the most and allow me to mix in better condition and as well record my mix with 3rd part soft like msi after burner.

Here is a kind of stress test with 6 H264 720p videos loaded at the same time with MPC-HC using LAV and the different settings :

http://npic.imagup.com/2/1178484933.png (http://www.imagup.com/npic/1178484934.html)
http://npic.imagup.com/2/1178484657.png (http://www.imagup.com/npic/1178484657.html)
http://npic.imagup.com/1/1178484660.png (http://www.imagup.com/npic/1178484660.html)

itsonlyjustincase
20th March 2013, 23:55
Same test with 12 videos loaded at the same time (still H264 720p)
In the order of the screeshot :
-CUVID
-DXVA2CB
-DXVA2N

http://npic.imagup.com/1/1178485908.png (http://www.imagup.com/npic/1178485908.html)
http://npic.imagup.com/2/1178485807.png (http://www.imagup.com/npic/1178485807.html)
http://npic.imagup.com/1/1178485811.png (http://www.imagup.com/npic/1178485812.html)

itsonlyjustincase
21st March 2013, 00:07
In case of some would be curious i also did the test with Intel Quicksync as my asus UX32VD has also intel HD 4000. In that case i forced MPC-HC to use the intel GPU. I couldn't do anything more as the CPU was 100% :

http://npic.imagup.com/2/1178486593.png (http://www.imagup.com/npic/1178486593.html)

Konrad Klar
21st March 2013, 00:10
If the codec is used for playback (i.e. video is not decoded faster than in its supposed FPS) what a virtue in higher GPU load?

Native decodes frames to the graphics card memory and passes them directly to the renderer.
Copy-back and CUVID use more CPU time just because they copy frames from GPU to main memory and back, but they do not require compatible renderer and allow for processing a frames before sending them to renderer.

itsonlyjustincase
21st March 2013, 00:21
If the codec is used for playback (i.e. video is not decoded faster than in its supposed FPS) what a virtue in higher GPU load?

Native decodes frames to the graphics card memory and passes them directly to the renderer.
Copy-back and CUVID use more CPU time just because they copy frames from GPU to main memory and back, but they do not require compatible renderer and allow for processing a frames before sending them to renderer.

Yes I understand but it is just that visually with the 6 vids for example and dxva2 native, it was playing fluid. It was not the case with CUVID. And the major point is that my my Serato Video software, when I play 1 video the fps is around 40 (the pipe fps) then drops to 20fps with two videos loaded at the same time so it's not fluid anymore (less than 25-30 fps). If i had msi after burner recording with vfw x264 recording optimized to its best performance settings (fast decode, zero latency, etc...) it drops to something like 10 fps and this even if the CPU and GPU are OK :s (yes so freaking weird :s). That is why i thought perhaps using dxva2 native it would stress the GPU a bit more cause i don't understand why it's slow regarding the fact the CPU is around 60% of load, the GPU around 40%, the video engine around 30%, the RAM around 50%, I have a samsung 830 SSD on which the msi afterburner output file is being copied and the output don't manage to stay at a reasonnable 30 fps :s. I thought of a bottleneck in a first time but everything seems normal

itsonlyjustincase
21st March 2013, 01:34
It would be awesome to have lav using CUVID+QUICKSYNC at the same time to decode

itsonlyjustincase
21st March 2013, 02:13
Or option to force framerate

Asmodian
21st March 2013, 03:09
Please! smaller screen shots. :(

The thing i don't understand is why it's not the lav video decoder that manages the hardware acceleration :s.

LAV does manage the hardware acceleration but to leave the video frame in the GPU's memory you need a renderer that knows how to deal with it. If your renderer doesn't you need copy back.

It would be awesome to have lav using CUVID+QUICKSYNC at the same time to decode

HUH? no it wouldn't, that doesn't even make sense. Or do you mean for different videos? Mulitple instances of LAV running at the same time some using CUVID and some using Quicksync?

This is about trying to play multiple videos all at the same time? None of the hardware acceleration options have good support for multiple streams at once as far as I understand it. This is why you start getting dropped frames even with both the GPU and CPU at less than 100%. It isn't something LAV can influence.

itsonlyjustincase
21st March 2013, 08:35
Please! smaller screen shots. :(



LAV does manage the hardware acceleration but to leave the video frame in the GPU's memory you need a renderer that knows how to deal with it. If your renderer doesn't you need copy back.



HUH? no it wouldn't, that doesn't even make sense. Or do you mean for different videos? Mulitple instances of LAV running at the same time some using CUVID and some using Quicksync?

This is about trying to play multiple videos all at the same time? None of the hardware acceleration options have good support for multiple streams at once as far as I understand it. This is why you start getting dropped frames even with both the GPU and CPU at less than 100%. It isn't something LAV can influence.

Sorry for the XL screenshots.

Do you agree that using CPU+GPU to encode or decode videos does make sense to have better performance ? That's what the good video application do nowadays to have better conversion times etc...

So why using CPU+GPU+GPU wouldn't make sense ? It's just about being able to take power from everywhere to avoid bottleneck of one of the elements. It's like an application which uses all the cores of your CPU will work with better performance than one using only a single core.

But analyzing all of this just make me realize that i should just admin that it's the Serato Video software (www.serato.com) which was developped like shit. I can open 6 videos using 6 lav instance at the same time and playing fluid, but 2 with the Serato app can't well :s. The rendering from what i understand is crappy.

I just hopped i could be able to find a solution thanks to a kind of magical video codec

Mercury_22
21st March 2013, 15:40
Latest versions of LAV DXVA2 (native) are crashing when trying to play Blu-ray menus with MediaPortal and DSLibBluray (http://dslibbluray.svn.sourceforge.net/viewvc/dslibbluray/) there are also black screens instead of video for some menu videos too (this one tested only in DSLibBluray)

Everything it's playing fine with LAV DXVA2 (native) "official" version (from the first page)

P.S. With CB the only problem in all version are the black screens in the menu

moliko
21st March 2013, 16:04
I have a issue with the Dolby Pro Logic II.
Enable Mixing is set to 5.1.
Matrix Encoding: Dolby Pro Logic II
Setttings: Donīt mix Stereo sources unchecked
The Output shows 6 Channels but its plays only Stereo.

Is it possible in future version to get LFE Crossover (Bass Redirection) and a Profil Manager for Lav Audio ?

Thanks for your work

nevcairiel
21st March 2013, 16:08
I have a issue with the Dolby Pro Logic II.
Enable Mixing is set to 5.1.
Matrix Encoding: Dolby Pro Logic II
Setttings: Donīt mix Stereo sources unchecked
The Output shows 6 Channels but its plays only Stereo.


DPLII is only for downmixing, so that a DPLII-compatible receiver can reconstruct a 5.1 signal (useful in case you only have a stereo SPDIF link to your receiver, for example)
LAV does not do any upmixing right now, because proper upmixing requires a lot of filtering, and simple upmixing sounds terrible for movies.


Is it possible in future version to get LFE Crossover (Bass Redirection) and a Profil Manager for Lav Audio ?

LFE crossover will most likely not happen, and its doubtful a profile manager will ever be added, because it goes against my design goal of simple configuration, and focusing the effort on perfect playback instead, not post-processing.

wanezhiling
21st March 2013, 16:17
http://www.sendspace.com/file/h18xmn
jitter in sw/dxva mode, cuvid is fine.

latest lav s + lav v

nevcairiel
21st March 2013, 16:36
http://www.sendspace.com/file/h18xmn
jitter in sw/dxva mode, cuvid is fine.

latest lav s + lav v

Ah fun another ffmpeg bug from the recent changes. Its fixed locally, will push when i'm back home.

wanezhiling
21st March 2013, 17:19
:thanks:

a question: sw and 2 dxva modes are based on ffmpeg? cuvid and qs are independent? am i right?

nevcairiel
21st March 2013, 17:32
Thats right.

clsid
21st March 2013, 18:09
Please do a full ffmpeg update, as there have been a couple of useful fixes upstream as well ;)

nevcairiel
21st March 2013, 19:51
No worries I follow FFmpeg development closely.

roytam1
22nd March 2013, 07:34
http://roy.orz.hm/lavf-w32-nightlies/lavf-my130228-045c141.7z
Cant register .ax:)

Same problem in lavf-my130301-ad71550.7z :scared: :mad:

does it happen in latest nightly?
I changed gcc compiler to 4.8.0 which links to libgcc dll by default, and some builds later I discover the issue and changed linker switch to link it statically. So latest build should work for you.

itsonlyjustincase
22nd March 2013, 09:57
Hi guys,

I have worked a lot and understood a lot. But that i don't manage to get it :http://www.imagup.com/npic/1178472500.html

Left part of the screen is the 2 videos playing at the sametime and being mixed (that is why there is only 1 output windows)

I had enabled the lav tray icon. As you can see the DXVA2 native is choosen. You can see that it is not in use. It is written "avcodec".

But on the right part is the same video launched with MPC-HC forced with lav (same configuration with DXVA2 native). And that time it's being used well and i can confirm it with GPU-Z graph which shows that the video engine load increases only when i start the video with MPC-HC

My goal would be to ensure my application is using DXVA2

File used is 720p H264 AAC (taken from youtube)

http://npic.imagup.com/1/1178472500.png (http://www.imagup.com/npic/1178472500.html)

Hi nevcairiel,

Any thoughts about my problem ?

nevcairiel
22nd March 2013, 10:01
Please do not post screenshots that fill a whole screen, and do not re-post your questions every other day. We can read, re-posting them is just spam.
Also, people already answered your problem. DXVA2 Native needs a compatible video renderer, and a direct connection between decoder and renderer, which you apparently just don't have (either no such renderer, or a post-processing filter in between that does your mixing)

itsonlyjustincase
22nd March 2013, 10:31
Please do not post screenshots that fill a whole screen, and do not re-post your questions every other day. We can read, re-posting them is just spam.
Also, people already answered your problem. DXVA2 Native needs a compatible video renderer, and a direct connection between decoder and renderer, which you apparently just don't have (either no such renderer, or a post-processing filter in between that does your mixing)

I knew you had read it but i just wanted to have your thoughts as you're the one that knows LAV filters and how it works the most. I really didnt' want to bother any of you. I wish i could have avoid to need your help.

When you say "which you apparently just don't have (either no such renderer, or a post-processing filter in between that does your mixing)" what would i need to solve my problem ?

nevcairiel
22nd March 2013, 10:34
DXVA Native is designed for playback and for playback only, for everything else use Copy-Back. To use Native, you need a player which supports DXVA, that is all.

itsonlyjustincase
22nd March 2013, 14:08
DXVA Native is designed for playback and for playback only, for everything else use Copy-Back. To use Native, you need a player which supports DXVA, that is all.

Thanks for you answer. So yes the major problem is my soft.

nevcairiel
22nd March 2013, 15:36
Latest versions of LAV DXVA2 (native) are crashing when trying to play Blu-ray menus with MediaPortal and DSLibBluray (http://dslibbluray.svn.sourceforge.net/viewvc/dslibbluray/) there are also black screens instead of video for some menu videos too (this one tested only in DSLibBluray)

Everything it's playing fine with LAV DXVA2 (native) "official" version (from the first page)

P.S. With CB the only problem in all version are the black screens in the menu

I tried with DSLibbluray and no crashes.
I did find one case of black screen though, but that probably would've happened with the release too.

Edit:
May have found something now.

Mercury_22
22nd March 2013, 16:06
I tried with DSLibbluray and no crashes.
I did find one case of black screen though, but that probably would've happened with the release too.

Edit:
May have found something now.
Looks like it's (more of) an ATI issue then

Don't know if you have it so here is (http://www.multiupload.nl/E97DAD02NI) an update version of DSLibBluray with latest (AFAIK) libbluray.jar since dukey hasn't update the test files (yet :))

EDIT As for the black screen I've just retested with the release version one BD which I'm sure it had black screens with latest git and NO black screen so...:confused:

nevcairiel
22nd March 2013, 16:25
Try with the latest Git, or here:

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

It should fix another bunch of issues related to ffmpeg changes.

Mercury_22
22nd March 2013, 16:48
Try with the latest Git, or here:

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

It should fix another bunch of issues related to ffmpeg changes.
Crash it's fixed :thanks:
Black screens still present but I'm starting to think it's an DSLibBluray problem though e.g. for the same BD with CB i have 2 black screens and with native just 1 but this might be because there are all the 3 types of file mpeg2 vc1 and h264 in the menu

Also you're right (my bad) the 1 black screen with native for that BD it's there with the release version too ( was at the end and I have missed it ):o

Edit Do you want a sample from this BD (BBC Africa) ?

itsonlyjustincase
22nd March 2013, 17:08
Shouldn't IntelQuick sync supposed to be better than CUVID ? My stress test shows that because of the high CPU utilization i couldn't do anything on the computer wiith quicksync so cuvid was giving better performance

aufkrawall
22nd March 2013, 17:31
QS is faster but this doesn't mean CPU utilization would be lower.

nevcairiel
22nd March 2013, 18:02
In fact it usually means the CPU util is higher because more frames need to be processed.
Anyhow i can only repeat myself, DXVA and any other kind of hardware decoding is primarily aimed at playback, any other uses-cases will have drawbacks.

itsonlyjustincase
22nd March 2013, 18:25
In fact it usually means the CPU util is higher because more frames need to be processed.
Anyhow i can only repeat myself, DXVA and any other kind of hardware decoding is primarily aimed at playback, any other uses-cases will have drawbacks.

Yes i understood but the soft mixes the video but the base is just a playback. You just play to videos at the same time and fade them how you want.....it is based on a MAC application developped in OPENGL. On win they didn't developped it well and with gpu hardware support :s

filler56789
23rd March 2013, 22:22
I changed gcc compiler to 4.8.0 which links to libgcc dll by default, and some builds later I discover the issue and changed linker switch to link it statically. So latest build should work for you.

Just confirming, the problem has been fixed. :goodpost: :thanks:

lboregard
24th March 2013, 17:10
nevcairel, any change of heart with regards to reading iso file format natively within .. i assume .. lav splitter ?

nevcairiel
24th March 2013, 17:11
nevcairel, any change of heart with regards to reading iso file format natively within .. i assume .. lav splitter ?

No. Its not in the scope of LAV Splitter.

paradoxical
24th March 2013, 19:14
nevcairel, any change of heart with regards to reading iso file format natively within .. i assume .. lav splitter ?

Why would it need to? Are you unable to use Daemon Tools or something similar? Or just use a media player than can read an ISO directly like MPC-HC, etc. It seems silly to ask Nev to implement this when there are already existing and mature tools you can use.

dukey
25th March 2013, 14:43
Hi nevcairiel,
I got an issue with dslibbluray with playlists with basically 1 video frame (+long audio). Mpeg2 seems fine, but h264 streams appear to get, stuck in the decoder until I send a bunch more frames. Then they appear at the video renderer. The single video frames have an end of sequence code at the end. If i call DeliverEndOfStream() after the single video frames they appear, but this seems to cause other issues. What should I be doing to handle this case? Mark the frame a a discontinuity or something ?

nevcairiel
25th March 2013, 14:46
Send me a m2ts file like that, and i'll see if it can detect the end of sequence in h264 somehow, like it can for mpeg2 (which is used on DVD menus like this, too)

dukey
25th March 2013, 14:53
I'm not sure what exact m2ts file its in as it doesn't play in MPC. (The .mpls file plays). I'll upload a sample of the bluray.

dukey
25th March 2013, 17:11
http://www.mediafire.com/download.php?lk9t9tai41bxr6v

dukey
26th March 2013, 00:57
Well, I tested out


if(m_VideoDecoderInfo.CodecType == cudaVideoCodec_H264 || m_VideoDecoderInfo.CodecType == cudaVideoCodec_VC1) {

if ((buflen > 3 && !memcmp(&buffer[buflen-4], "\x00\x00\x01\x0a", 4)) ||
(buflen > 4 && !memcmp(&buffer[buflen-5], "\x00\x00\x01\x0a", 4)))
{
m_bEndOfSequence = TRUE;
}
}


on cuvid.cpp, and it fixes all my playback issues. For bluray, at least there is no need to exhaustively search all bytes in in the data for the end sequence code. It'll always be at the end of the data. If you could add this code, and for the other playback types software etc, that would be great :)

nevcairiel
26th March 2013, 09:32
I opened a ticket about this, because i'm busy with other topics right now:
http://code.google.com/p/lavfilters/issues/detail?id=338

I'll look into it when time permits.

filler56789
27th March 2013, 00:02
Anybody already tested the "MKV edition switching" thing? :)

http://roy.orz.hm/lavf-w32-nightlies/lavf-my130326-mkveditions-6859278.7z

JEEB
27th March 2013, 00:15
Not the same branch, but it worked for me with the editions samples I had. Also virtual timelines in general are created and work as they're supposed as far as I can see.

That specific branch seems to now also have segment linking support, but since nev poked me to only test stuff merged into master for now, I haven't tried it yet :)

edit: Someone kick me when writing stuff tired. This commit (http://git.1f0.de/gitweb?p=ffmpeg.git;a=commit;h=b8abbd667066bf16d3ca92d87c41d9a48ad6cc18;js=1) is also in master.

wanezhiling
27th March 2013, 06:16
http://www.newlaunches.com/archives/japan-has-come-up-with-worlds-first-8k-shv-filmed-short-drama.php
:)

CiNcH
27th March 2013, 12:06
@ nev,

we are again discussing A/V async problems with LAV Video together with the DVBSource, see here (http://www.dvbviewer.tv/forum/topic/52149-asynchrone-wiedergabe/). Maybe you got some ideas or comments?

nevcairiel
27th March 2013, 12:14
LAV uses the frame timestamps from the source to time video and audio. In Audio its important that "Auto A/V Sync" is turned on (default is on), or the audio decoder can run out of sync.

When testing, please use software or DXVA, not QuickSync or CUVID. The last two are more or less blackboxes that may or may not internally behave properly when dropping corrupted frames (especially QS is a bit unreliable there)

Dodgexander
27th March 2013, 12:58
On dvb-t2 broadcasts (1080i 25) lav seems to cope badly with corruption/signal drops. Sometimes the picture catches up, but sometimes the corruption gets worse and worse until I have to restart my player.

Also once when this happened, audio got completely out of sync, but after a while caught up again.

The other thing I can mention is switching between dvb-t mpeg2 channels always produces corruption for the first couple of seconds. Even when the filter graph is rebuilt on every switch!

This all has been witnessed using software mode.

Sent from my Blade S using Tapatalk 2

CiNcH
27th March 2013, 13:06
We now have a plugin internally for the DVBViewer which can drop a specified number of TS packets (either whole TS / audio / video) via a button-press. In case nev is interested...

dandirk
27th March 2013, 17:37
Question: about the non-installers downloads (zip versions)...

There are 3 install bat files (audio, video, splitter). Is running all 3 bat files the same as running the installer?

nevcairiel
27th March 2013, 17:57
There are 3 install bat files (audio, video, splitter). Is running all 3 bat files the same as running the installer?

For audio and video yes, but for the splitter, no.
The installer sets the splitter as the actual source filter for the enabled formats, while the bat file only registers it in the system.

nevcairiel
27th March 2013, 18:11
We now have a plugin internally for the DVBViewer which can drop a specified number of TS packets (either whole TS / audio / video) via a button-press. In case nev is interested...

Where would i find this?

CiNcH
27th March 2013, 19:19
Where would i find this?
Got PM. It is not yet public.

nevcairiel
27th March 2013, 20:23
I did some tests, and with the DVB Clock option turned on, i can reproduce a small async after dropping 5% of data for a while, with the option turned off, it seems perfectly fine.
Considering this option does all the difference, i'm inclined to think its not LAV. I confirmed that audio and video timestamps match the input timestamps, and are just passed through the decoder.

And for the record, LAV does pay attention to the discontinuity flags, and does take it into account for timestamps (at least for audio, for video there is no need, because timestamps are passed through 1:1)

PS:
What good is this option supposed to do? Its not on by default, so it must have some known drawbacks. All i hear is that it causes async issues, instead of fixing them :)

mzso
27th March 2013, 23:39
Anybody already tested the "MKV edition switching" thing? :)

http://roy.orz.hm/lavf-w32-nightlies/lavf-my130326-mkveditions-6859278.7z

Any way to get the info about what/where is it different? I have some movies with editions. But watching them fully again right after I finished is not that attractive.

dansrfe
28th March 2013, 02:37
There's a problem with playlist files. The next file in the playlist gives no sound unless I manually go to the next song in the playlist and back again. Also, m4a file duration is inaccurate as the file finishes earlier and the mpc's timeslider keeps going for another min sometimes.

CiNcH
28th March 2013, 08:06
What good is this option supposed to do? Its not on by default, so it must have some known drawbacks. All i hear is that it causes async issues, instead of fixing them
The purpose of the DVB Clock is to synchronize producer and consumer since it is not possible to vary stream (e.g. DVB) speed which will result in a buffer overflow/underrun sooner or later. So the playback clock is synchronized to the producer's clock which is represented via the PCR. This of course means that the graph clock is neither synchronized to the video nor to the audio output. So the video renderer has to drop/repeat a frame every now and then and the audio renderer has to apply rate-matching (frequency/pitch adjustments).
The DVBSource uses the system clock (Multimedia timer based) for generating the PCR compensated graph clock which may not be as accurate as desired in some cases. The audio clock is typically the better clock to use. Also the deviation between producer and consumer is mostly not that high when using the pretty accurate audio clock, so a buffer overflow/underrun won't happen that soon...

starla
28th March 2013, 09:52
The purpose of the DVB Clock is to synchronize producer and consumer since it is not possible to vary stream (e.g. DVB) speed which will result in a buffer overflow/underrun sooner or later. So the playback clock is synchronized to the producer's clock which is represented via the PCR. This of course means that the graph clock is neither synchronized to the video nor to the audio output. So the video renderer has to drop/repeat a frame every now and then and the audio renderer has to apply rate-matching (frequency/pitch adjustments).
The DVBSource uses the system clock (Multimedia timer based) for generating the PCR compensated graph clock which may not be as accurate as desired in some cases. The audio clock is typically the better clock to use. Also the deviation between producer and consumer is mostly not that high when using the pretty accurate audio clock, so a buffer overflow/underrun won't happen that soon...

Based on that description it sounds the issue is not in LAV side. Audio and video decoders wont care about the reference clock at all, so altering that or using some other time source than audio HW wont make any difference how the audio and/or video decoders work.

zerowalker
30th March 2013, 00:20
There seem to be a problem decoding fade outs with Lagarith.
It always freeze the frame before itīs totally black, and then starts the next frame after the fade out.

Itīs always the same not matter what the content it, as long as itīs a fade out. It doesnīt happen when decoding with the original Lagarith decoder.

nevcairiel
30th March 2013, 09:50
As some people figured out already, i've added support for Matroska Ordered Chapters and Segment/File Linking to LAV over the last week.

Here is finally an official test build:

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

What is supported?
- Ordered Chapters within one segment/file (as created by xin1generator (https://code.google.com/p/xin1generator/) for example)
- Ordered Chapters with linked segments (both in separate files, and multiple segments in the same file)
- File Linking (Prev/NextUID in the MKV headers, as created by mkvmerge's "split" feature)

Known issues:
- MPC-HCs Keyframe Seek does not work with Ordered Chapter files yet, its on my TODO

The usual limitations apply for ordered chapters to work properly. There should be a Cue/Seek point on the ordered chapter boundary, and the tracks in the different files should match.
At this time, there is no code at all that tries to match different stream configurations, its just assumed that stream #1 in file #1 is also stream #1 in file #2. If its common for this to not be the case, i can look into it, but i need sample files to work against.

Please test and report problems!
Note that in this case especially, i will need the files that cause problems, so it is important that you tell me how to generate or obtain the problematic files!

Edit:
New Build (0.55.3-56) because of a crash-on-close issue.

wanezhiling
30th March 2013, 10:17
Wow! :thanks:

Sebastiii
30th March 2013, 11:10
Thanks Nev, first test on the files i have works good :)

wanezhiling
30th March 2013, 11:25
http://forum.doom9.org/showpost.php?p=1608859&postcount=13681

lav s + lav v: op (http://i.imgur.com/IHEpwP8.png) ed (http://i.imgur.com/bQVFrQv.png)

haali: op (http://i.imgur.com/ulNgrKP.png) ed (http://i.imgur.com/8JDfiyl.jpg)

cyberbeing
30th March 2013, 11:32
I just ran into a problem with Ordered Chapter + Segment Linking which causes broken playback and corruption when one segment has header removal compression on the video track and the other doesn't. At least that appears to be the issue at first glance. [Edit: Confirmed]

LAV Splitter + LAV Video = Broken (http://imageshack.us/a/img195/9454/ordchapseghcompresslav.png). If you try to seek within this segment showing corrupted output, the screen turns pure gray and usually will hang or crash MPC-HC.

Haali Splitter + LAV Video = Working

MPlayer2 = Working

For reference, the first main segment got re-muxed with MKVToolNix 4.9.1 (enabled header removal compression), and the second second segment which was inserted into the middle of the first got muxed with MKVToolNix 4.4.0 (disabled header removal compression). If you are unable to reproduce, I'll provide you with a sample.

nevcairiel
30th March 2013, 12:30
I just ran into a problem with Ordered Chapter + Segment Linking which causes broken playback and corruption when one segment has header removal compression on the video track and the other doesn't. At least that appears to be the issue at first glance. [Edit: Confirmed]

Why would you do that? <.<

cyberbeing
30th March 2013, 12:47
A couple years ago I remuxed one segment to fix a missing font attachment, but I had just updated MKVToolNix and forgot to disable header removal compression. But since it worked in Haali, at that time I didn't think it was worth re-muxing, re-creating my xdelta patches, and uploading everything again [Effort].

nevcairiel
30th March 2013, 13:07
It'll be fixed, wasn't all that much trouble. It just didn't occur to me that it might be different.

zerowalker
30th March 2013, 13:34
What about the Lagarith bug?
Is it fixable by you, or is it in the hands of someone else?

Thanks:)

cyberbeing
30th March 2013, 14:12
Found another Ordered Chapter + Segment Linking set which causes corruption (http://imageshack.us/a/img405/1760/ordchapunknwncorruptlav.png) in LAV Splitter, but not Haali Spiltter or MPlayer2.

Not sure what's wrong with this one. Sent you a sample via PM.

One was muxed with MKVToolNix 2.9.8 and encoded with x264 r1376.
The other was muxed with MKVToolNix 2.7.0 and encoded with x264 r1240.
Encoding settings that matter look identical. Remuxing doesn't fix it.

nevcairiel
30th March 2013, 14:17
Looks like different stream parameters, i'm working on fixing this by re-initing the decoder on segment switches, i'll see if that fixes that sample as well.

Thanks for testing and the samples!

robpdotcom
30th March 2013, 14:28
What is supported?
- Ordered Chapters within one segment/file (as created by xin1generator (https://code.google.com/p/xin1generator/) for example)
- Ordered Chapters with linked segments (both in separate files, and multiple segments in the same file)
- File Linking (Prev/NextUID in the MKV headers, as created by mkvmerge's "split" feature)

Big Thanks!

I can finally get rid of Haali and ffdshow (ffdshow was still needed because of the way Haali handles TrueHD).

You can bet I'll be testing this extensively.

:thanks:

EDIT: Found a limitation. When playing linked files, you cannot navigate through the chapters. For instance, 3 files are linked, and each file has it's own chapters, they are not shown in MPC's with Navigate>Jump To. I'll provide a sample if needed.

cyberbeing
30th March 2013, 14:41
Found another problem sample which breaks subtitle styles when using LAV Splitter + Ordered Chapters + Segment Linking.

I'm assuming this case is caused by LAV Splitter failing to load the font attachments. Each file works properly only when played individually.

[Sample sent via PM]

nevcairiel
30th March 2013, 14:55
I'll provide a sample if needed.

Please do!

Found another problem sample which breaks subtitle styles when using LAV Splitter + Ordered Chapters + Segment Linking.

I'm assuming this case is caused by LAV Splitter failing to load the font attachments. Each file works properly only when played individually.


It indeed only loads the fonts from the first segment, i'll make it load fonts from all segments instead. Thanks for the sample.

robpdotcom
30th March 2013, 15:02
I'll have to get the sample when I get home from work tonight. If you are interested, it's easy to create:

Just link a few files via the Segment UID, and create a chapter at the start of each file. With Haali, you can navigate through these chapters.

nevcairiel
30th March 2013, 15:07
You mean the PrevUID/NextUID linking, without ordered chapters, right?

cyberbeing
30th March 2013, 15:12
Found yet another Ordered Chapters + Segment Linking sample where LAV Splitter produces corrupted video, as well as has the subtitle style issue of the previous sample.

[Sample sent via PM]

Going to hold off testing this any more until you commit fixes for the issues up to this point. A few of these are likely being caused by the same underlying problem.

robpdotcom
30th March 2013, 15:14
You mean the PrevUID/NextUID linking, without ordered chapters, right?


Yes. Just ordinary chapters.

nevcairiel
30th March 2013, 17:30
Found another problem sample which breaks subtitle styles when using LAV Splitter + Ordered Chapters + Segment Linking.

It wasn't caused by the fonts, it happens because MPC-HCs subtitle renderer is garbage (and i assume VSFilter equally so). It doesn't accept dynamically changing the style when switching between segments.

Haali works "by accident", because it initially sends the style of the main segment, which seems to work for the OP/ED as well, but LAV sends the right style at the right time, but the subtitle renderer doesn't care. I haven't found a way to make the ISR accept a style change without stopping the filter graph (which you would notice during playback, so its a no-no).

In a perfect world, this should be fixed in the subtitle renderer(s), but like thats going to happen....

JEEB
30th March 2013, 18:16
Haali works "by accident", because it initially sends the style of the main segment, which seems to work for the OP/ED as well, but LAV sends the right style at the right time, but the subtitle renderer doesn't care. I haven't found a way to make the ISR accept a style change without stopping the filter graph (which you would notice during playback, so its a no-no).

In a perfect world, this should be fixed in the subtitle renderer(s), but like thats going to happen....
It is pretty much general knowledge around the circles that ever made segment linked files with ASS subtitles that the styles (extradata) have to match between segments. Thus I wouldn't think that Haali level of support is problematic until the subtitle renderer(s) gets fixed (if ever).

nevcairiel
30th March 2013, 18:25
It is pretty much general knowledge around the circles that ever made segment linked files with ASS subtitles that the styles (extradata) have to match between segments. Thus I wouldn't think that Haali level of support is problematic until the subtitle renderer(s) gets fixed (if ever).

But they don't match, the OP/ED have simpler styles (which work for them), and the main episode has a more complex style, which appens to work for the OP/ED as well. Oh well, i made some changes to try to extract the style from the main segment, wonder how well that will work.

nevcairiel
30th March 2013, 18:47
Ok here is a new set of test builds:

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

It mostly fixes corruption when linking segments which are not 100% compatible encodes, and tries to solve the subtitle style issue.

Additionally, i threw in a fix for the chapters when using linked files.

Let the testing resume? :D

Nevilne
30th March 2013, 19:43
These don't seem to work (3mb, readme in archive):

http://ompldr.org/vaHhweQ/testclips_linking.zip

sneaker_ger
30th March 2013, 19:47
It simply doesn't work with the .mka extension, it seems.

nevcairiel
30th March 2013, 20:11
Indeed, it currently only searches for mkv files when looking for segments, i'll extend it to include mka as well.

cyberbeing
30th March 2013, 22:44
In a perfect world, this should be fixed in the subtitle renderer(s), but like thats going to happen....
I've passed it on to the xy-VSFilter dev, though as JEEB mentioned, this is one of many known quirks with the creation of Ordered Chapters + Segment Linking which people have been working around for years. Essentially all Audio/Video/Subtitles track properties needed be kept mostly identical between segments, with the main segment including everything important loaded once at the beginning, so dynamic changes weren't needed mid-stream.

Was lifting this limitation entirely something you originally had planned for LAV Splitter?

nevcairiel
30th March 2013, 23:01
Was lifting this limitation entirely something you originally had planned for LAV Splitter?

Not really, no. I was just kinda hoping there wouldn't be hacks like this needed, and i could just go with a straight-forward implementation, and update the style as it becomes relevant.

Another thing unrelated to matroska features was me hoping to get seamless subtitle stream switching working, but i guess if i can't change format on-the-fly, i can forget about that.

robpdotcom
31st March 2013, 01:15
One more limitation:

When there are multiple editions, but the editions are not ordered, you cannot select editions.

Instead of uploading a clip, I just pasted a chapter file as an example - if you'd prefer a clip, I will provide one.

<?xml version="1.0"?>
<!-- <!DOCTYPE Chapters SYSTEM "matroskachapters.dtd"> -->
<Chapters>
<EditionEntry>
<EditionFlagHidden>0</EditionFlagHidden>
<EditionFlagDefault>0</EditionFlagDefault>
<EditionUID>2695343834530026418</EditionUID>
<ChapterAtom>
<ChapterDisplay>
<ChapterString>(unnamed)</ChapterString>
<ChapterLanguage>und</ChapterLanguage>
</ChapterDisplay>
<ChapterUID>14953471256282455466</ChapterUID>
<ChapterTimeStart>00:00:00.000000000</ChapterTimeStart>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
</ChapterAtom>
<ChapterAtom>
<ChapterDisplay>
<ChapterString>(unnamed)</ChapterString>
<ChapterLanguage>und</ChapterLanguage>
</ChapterDisplay>
<ChapterUID>13489633897824555953</ChapterUID>
<ChapterTimeStart>00:02:00.000000000</ChapterTimeStart>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
</ChapterAtom>
</EditionEntry>
<EditionEntry>
<EditionFlagHidden>0</EditionFlagHidden>
<EditionFlagDefault>0</EditionFlagDefault>
<EditionUID>8262496293820407208</EditionUID>
<ChapterAtom>
<ChapterDisplay>
<ChapterString>(unnamed)</ChapterString>
<ChapterLanguage>und</ChapterLanguage>
</ChapterDisplay>
<ChapterUID>14520086522949683345</ChapterUID>
<ChapterTimeStart>00:00:00.000000000</ChapterTimeStart>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
</ChapterAtom>
<ChapterAtom>
<ChapterDisplay>
<ChapterString>(unnamed)</ChapterString>
<ChapterLanguage>und</ChapterLanguage>
</ChapterDisplay>
<ChapterUID>815724855595233447</ChapterUID>
<ChapterTimeStart>00:05:00.000000000</ChapterTimeStart>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
</ChapterAtom>
</EditionEntry>
</Chapters>

nevcairiel
31st March 2013, 07:13
When there are multiple editions, but the editions are not ordered, you cannot select editions.

What good would that be? just different chapters? Playback will be the same - seems relatively pointless.

It would actually be fairly complicated to try to support this, so i'm not sure i want to.

DarkSpace
31st March 2013, 09:55
What good would that be? just different chapters? Playback will be the same - seems relatively pointless.
I don't think it would be pointless. Say you've got the DVD and the Blu-Ray version of a film, and their chapter points differ. If you want to keep both chapter points in one file so you can select the chapter points you want at playback, this feature will be useful.
Another example is wanting to keep a Blu-Ray's original chapter points while making a customized set of chapters the Default Edition.

EDIT:
It would actually be fairly complicated to try to support this, so i'm not sure i want to.
Wow, I wouldn't have thought that. In that case, it may be relatively worthless, indeed (though I still hope it'll become a low-priority feature for someone who knows how to do this to work on).

nevcairiel
31st March 2013, 10:16
Its only complicated because i didn't plan for this to be possible when writing ordered chapter support.
I suppose i can look into it and see if i can redesign some parts.

One limitation i'm going to stick with though - as soon as there is one ordered edition, all non-ordered editions will be inaccessible.

DarkSpace
31st March 2013, 10:47
I suppose i can look into it and see if i can redesign some parts.
Thank you for your time and dedication on this, even when I myself didn't consider it a big priority.
One limitation i'm going to stick with though - as soon as there is one ordered edition, all non-ordered editions will be inaccessible.
I see. I suppose it wouldn't be too complicated to turn unordered Editions into Ordered Editions, so I don't see a problem with that, but may I still ask why?

nevcairiel
31st March 2013, 11:24
I see. I suppose it wouldn't be too complicated to turn unordered Editions into Ordered Editions, so I don't see a problem with that, but may I still ask why?

Because switching between the two modes would rather odd, and many files have one non-ordered edition in them in the first slot which is used by players which don't support editions - do you want that to show up? Haali doesn't show it at least.

Besides, i don't think it would make much sense to mix the two concepts, and i'm always looking to keep complexity down. ;)

dukey
31st March 2013, 12:29
nevcairiel,
How can I get dxva with dslibbluray ? Other people get dxva .. but on my dev machine it doesn't work. Not even copy back seems to work. Cuda mode works fine though.
http://i.imgur.com/ZqnWJWh.png
I can attach other decoders and they work fine in dxva mode, coreavc, etc.

robpdotcom
31st March 2013, 14:36
What good would that be? just different chapters? Playback will be the same - seems relatively pointless.

lol I had a feeling you'd ask that. I mostly agree, but I found it didn't work, so I posted it.

Here's what I have used it for, just for an example:

I ripped a season of BluRay's from a TV series. On the Bluray, the first two chapters of each episode where the recap of the previous episode, followed by the opening credits. I created a second edition without the first two chapters, so you could more easily jump to the beginning of the episode. I set this edition as the default, with the original chapters as the second edition, just to preserve them.

As someone else said, though, it's not difficult to turn the editions into ordered chapters, so it's fairly easy to work around.

One limitation i'm going to stick with though - as soon as there is one ordered edition, all non-ordered editions will be inaccessible.

I agree with that.

nevcairiel
31st March 2013, 15:12
As someone else said, though, it's not difficult to turn the editions into ordered chapters, so it's fairly easy to work around.


As long as i only offer them when no ordered editions are available, it should be possible to do without too much complexity.

STaRGaZeR
31st March 2013, 15:22
nev, I have finished the Fraps repeating frame patch, works fine now. It was a stupid mistake. However I keep getting these random avutil crashes I told you a while ago, seems to happen mostly on RGB files. Here's the summary of the MPC-HC dump file:


Dump Summary
------------
Dump File: mpc-hc.exe.1.6.6.6745.dmp : C:\Program Files (x86)\Media Player Classic - Home Cinema\mpc-hc.exe.1.6.6.6745.dmp
Last Write Time: 31/03/2013 15:12:39
Process Name: mpc-hc.exe : C:\Program Files (x86)\Media Player Classic - Home Cinema\mpc-hc.exe
Process Architecture: x86
Exception Code: 0xC0000005
Exception Information: The thread tried to read from or write to a virtual address for which it does not have the appropriate access.
Heap Information: Not Present

Fraps file: http://www.mediafire.com/view/?rur1r8dkb2urrfc
MPC-HC dump file: http://www.mediafire.com/?epa178ez8cog5h5

msoltyspl
31st March 2013, 15:35
Because switching between the two modes would rather odd, and many files have one non-ordered edition in them in the first slot which is used by players which don't support editions - do you want that to show up? Haali doesn't show it at least.

Besides, i don't think it would make much sense to mix the two concepts, and i'm always looking to keep complexity down. ;)

A good while ago I was muxing picture dramas (7 pieces) of one anime into single file and provided two editions - one with unordered chapters just to mark the beginnings and another with ordered chapters to skip OP/ED pairs of each - so it could be watched in one go without them. Both are "viable" choices (similar case scenario to robpdotcom's one). Borderline excuse but still ;)

For the record - Haali still allows selection through filter properties.

DarkSpace
31st March 2013, 16:13
Because switching between the two modes would rather odd, and many files have one non-ordered edition in them in the first slot which is used by players which don't support editions - do you want that to show up? Haali doesn't show it at least.
Well, I believed that both Edition types show up in the Splitter Menu. Aside from that, this is the first time I've heard of having a non-Ordered Edition for Players that don't support Ordered Chapters.

Besides, i don't think it would make much sense to mix the two concepts, and i'm always looking to keep complexity down. ;)
I don't have a problem with keeping the complexity down in itself, but I do see a use for a mix between Ordered and non-Ordered Chapters. Say you've got a Blu-Ray that holds both the Theatrical and the Director's Cut of a movie and the Director's Cut doesn't reorder or remove content from the Theatrical version, but simply adds new scenes. In that case, a sensible approach would be to store the Theatrical Cut as Ordered Edition and the Director's Cut as a "normal" Edition.
I'm not saying that it's complicated to turn the "normal" Edition into an Ordered Edition (that's not the problem, at least for me), I'm just saying that your approach might end up breaking some files that have already been created (personally, I don't have such files yet, but I suppose I would have some if I had remuxed more discs already).

wanezhiling
31st March 2013, 16:35
http://www.sendspace.com/file/h8fsrc

crash when dtsdecoderdll.dll (1.1.0.8) exists.:)

nevcairiel
31st March 2013, 17:22
ok ok, i did some cleanup in the code, and managed to make switching between ordered and non-ordered work without all that much effort.
Only one limitation left now - you don't get multiple editions if playing linked files (Prev/NextUID-style linking), because i use a "fake" ordered edition internally to link the files, so i don't need a bunch of extra code for those. Doubtful i feel like re-writing this part as well.

nevcairiel
31st March 2013, 17:36
.. and the corresponding test build:

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

Like i mentioned above, it should now be possible to handle ordered and non-ordered editions in the same file - with only one limitation - this does not work when files are linked (normal file-linking without ordered chapters)
Additionally, the edition selection is now only shown if there is actually more than one (visible) entry.

DarkSpace
31st March 2013, 17:42
ok ok, i did some cleanup in the code, and managed to make switching between ordered and non-ordered work without all that much effort.
Once again, thank you very much for all your effort.
Only one limitation left now - you don't get multiple editions if playing linked files (Prev/NextUID-style linking), because i use a "fake" ordered edition internally to link the files, so i don't need a bunch of extra code for those. Doubtful i feel like re-writing this part as well.
To be honest, I have no idea if this was ever supported at all. After all, if no Edition is marked as Default, which Edition should each Segment play? What if one Segment has two Editions and another only one? ...
Also, this "fake" Ordered Edition sounds like an elegant solution to me, and the only thing that worries me is if you use the Default Edition in Prev/Next UID linked files if one is present (though you probably do).

nevcairiel
31st March 2013, 17:52
the only thing that worries me is if you use the Default Edition in Prev/Next UID linked files if one is present (though you probably do).

I double-checked and actually found a typo that may have caused it to use the first edition in the file instead of the default, i'll fix it for any future builds.

DarkSpace
31st March 2013, 21:56
I double-checked and actually found a typo that may have caused it to use the first edition in the file instead of the default, i'll fix it for any future builds.
Impressive. And all in a day's work.
To be honest, I wouldn't have expected there to be a mistake, I just mentioned the Default Edition stuff to be sure (though, I did say that you would have it implemented already... I couldn't really know that there would be a typo), so it's very nice to see that my comment helped nonetheless!

nevcairiel
1st April 2013, 07:53
I'm slowly reviewing all the code that was created over the last week, so i would've hopefully found it no matter what... :p

06_taro
1st April 2013, 10:56
Nev, thank you for your efforts on mkv editions.

There are two things I would like to suggest:

1. According to the explanation from Steve Lhomme (http://lists.matroska.org/pipermail/matroska-devel/2013-March/004425.html) (notes added by Mosu (http://matroska.org/technical/specs/chapters/chapters/index.html#flags) in the same mailing-list thread seems different from this, I'm not sure whose is the final decision but both are different from what LAVF currently does), if I understand it correctly, when:
a. one edition is Hidden, then all the inside chapters should not be shown in the user interface;
b. one chapter is Hidden but the nested sub-chapters are not, those sub-chapters should still be visible;
c. one chapter is NOT Enabled, then all the nested sub-chapters should be skipped in the track control;
d. one chapter is Enabled but some of the nested sub-chapters are not, then only those enabled sub-chapters should be used in the virtual timeline, while other sub-chapters should still be skipped.

Currently LAV's matroskadec_haali does b and c correctly, but fail to behaviour in this way for a and d. a can be done by adding a global check for one edition whether the level=-1 chapter entry (edition) is hidden when processing chapters, or simply double check vt->chapter->Hidden || edition->Hidden, but for d, current checking of only the level=0 chapters (edition->Children[x]) might need to be changed into a recursive way.




2. According to matroska's chapter specs (http://matroska.org/technical/specs/chapters/index.html), ChapterAtom element has a sub element called ChapterTrack, in which one can use ChapterTrackNumber to specify the track UID on which the chapter is supposed to be applied. I'm not quite clear about this, but it seems if this element is present, those tracks whose UIDs are not listed in the ChapterTrackNumber should be deselected. If so, the edition/chapter should be able to control which tracks are used, and by switching editions (if all the chapters in each edition have the same value for this element) one can automatically switch tracks. This might be quite useful if several editions uses some same tracks, but have some other different tracks.

For example, if one edition uses different audio (like audio commentary) with the same video, and the virtual timeline is different from the main edition, say, missing 3min in the middle, with normal track switch we need to pad those 3min with blank audio, and will be able to access those blank if we switch to this track, while by using ordered chapter, we can still access to the blank by switch to the main(long) edition but choose the short audio track. If we force the main edition only apply to video and main audio so that commentary track is not accessible in this edition, while the second edition only apply to video and commentary audio so that main track is not accessibly in the second edition, we can avoid the access to the unintended track/edition-group.

Another example is if two menus in different version of discs uses exactly the same audio but different videos, and one loops for 3 times and the other one loops for 4 times, we can simply use edition-1 for video-1 and audio with 3 loops, and edition-2 for video-2 and the same audio with 4 loops, and one would never get video-1 with 4-loop or video-2 with 3-loop combinations.

It is also a replacement of Haali's trackset feature to control track group combinations in different editions, which is not in matroska specs and one should avoid to use.

nevcairiel
1st April 2013, 11:05
a. one edition is Hidden, then all the inside chapters should not be shown in the user interface;


This should be properly handled. If a whole edition is set as Hidden, it'll be unavailable completely, and as such you also won't get its chapters (because you can't switch to the edition)
The virtual timeline contains chapters, not editions, so the check there is correct.


d. one chapter is Enabled but some of the nested sub-chapters are not, then only those enabled sub-chapters should be used in the virtual timeline, while other sub-chapters should still be skipped.

Enabled is never really used because control tracks are not used, so it doesn't make sense.
In any case, Chapters which are not marked Enabled are already skipped in the virtual timeline (sub chapters are not relevant for building the virtual timeline, at least thats how i interpreted the spec, not that the spec really talks about this at all), however i don't think they are being skipped when creating the chapter-display structure, so it could be added there.

Also, why not simply remove a chapter from the one edition, instead of setting it to disabled? That would really only make sense if there was a mechanism to enable it again.


2. According to matroska's chapter specs (http://matroska.org/technical/specs/chapters/index.html), ChapterAtom element has a sub element called ChapterTrack, in which one can use ChapterTrackNumber to specify the track UID on which the chapter is supposed to be applied. I'm not quite clear about this, but it seems if this element is present, those tracks whose UIDs are not listed in the ChapterTrackNumber should be deselected. If so, the edition/chapter should be able to control which tracks are used, and by switching editions (if all the chapters in each edition have the same value for this element) one can automatically switch tracks. This might be quite useful if several editions uses some same tracks, but have some other different tracks

I'm aware of its presence, however support for this is not a high priority, mostly because i doubt any files exist.

chano22000
1st April 2013, 11:34
Hello,

My currrent iGPU (nforce 730i / Geforce 9300) does only bistream standard definition audio because it does not support PAP.

Q : if I switch to a recent video card (Geforce GTX 650 w/ CUDA or maybe Radeon 7750) to power madVR, will I get HD audio bitstreaming or not because of any Windows XP limitations ?

Thanks for you feedback.

nevcairiel
1st April 2013, 11:37
Windows XP does not support HD bitstreaming.

chano22000
1st April 2013, 12:10
Windows XP does not support HD bitstreaming.

Thanks nevcairiel. I had in mind that boards like the Asus Xonar were able to bitsream HD audio under windows XP and was hoping that HDMI audio on video boards would now do the same.

Thanks a lot for your work and reactiveness !

VipZ
1st April 2013, 12:30
Hi Nev,

There seems to be a bug within LAV's libbluray.

Whenever this is used within a VS2012 x64 application on Windows 8 it will crash the application.

MPC-BE/HC and GraphStudio Next VS2012 x64 builds all crash with LAV when opening a bdmv or mpls file.

Both your 0.55.3 official VS2010 build and my VS2012 builds crash.

Dump file if it would help, http://www.mediafire.com/?h6k5jnbx0sa25i6

nevcairiel
1st April 2013, 13:26
I neither have Windows 8 nor any player build with VS2012 (and a VS2012 MPC-HC on Windows 7 doesn't crash, at least). Patches welcome.

dukey
1st April 2013, 13:53
Hi nev,
with copy back mode
If you go h264 -> vc1 -> h264
Copy back seems to disappear and it drops back to software decoding. Is this by design ?

Edit:
Actually my bad I think last mode was mpeg2 which my card doesn't seem to support

nevcairiel
1st April 2013, 15:18
There seems to be a bug within LAV's libbluray.

Whenever this is used within a VS2012 x64 application on Windows 8 it will crash the application.

Try with latest Git, it was the only problem i could find without an actual test system.

VipZ
1st April 2013, 15:33
Try with latest Git, it was the only problem i could find without an actual test system.

Thanks it's all good now :)

Pat357
1st April 2013, 16:38
Thanks it's all good now :)

Any chance for sharing the binaries ?
ATM my develop PC in in the shop for an upgrade. so i can't build them myself.

DarkSpace
1st April 2013, 16:55
I'm slowly reviewing all the code that was created over the last week, so i would've hopefully found it no matter what... :p
My comment was not so useful, then...

Anyway, I noticed that you don't support loading segments of different video resolution. May I request that you add in support for that? It's quite useful sometimes, for example when some part of a film is letterboxed and another is not, and you need to encode it anyway - that way, you can crop off the black borders where possible (I know that at least some TV shows are aired as 4:3 with letterboxing for 16:9 content, for example) and leave the resolution as is where it isn't possible.
Probably related to that, the Ordered Chapters support doesn't include changing the Display Aspect Ratio between segments. Say you want to link DVD content of 720x480p resolution, but some of it is in 4:3 and some other is in 16:9 - Ordered Chapters make it possible to do this without resizing the video at all. (For the record, Haali Media Splitter supports both of these things - since I accidentally hit the submit button already, I'll just edit this post when I've got some samples ready.)

Edit 1: Actually, this seems to be confusing: The Aspect Ratio of the first "Playback Segment" is used, no matter what the Segment that's opened specifies, when the video resolution matches, but when it doesn't, then only the parts which have a resolution that matches the opened Segment's are played (or only the segment, I need to check this).

Edit 2: You do support loading different video resolutions, so I'll take some more time to find out what exactly my problem is (the samples that were supposed to show the problem work properly... how embarrassing for me).

mzso
1st April 2013, 17:06
Hello!

A while now I noticed something weird happening, with one blu-ray. I have the bdmv file for it on the playlist. Previously it played fine, but now the player plays a slideshow for some reason. There's nothing interesting in the loaded filters. LAV splitter/video + madvr.

VipZ
1st April 2013, 17:10
Any chance for sharing the binaries ?
ATM my develop PC in in the shop for an upgrade. so i can't build them myself.

Link deleted, NEV posted his.

nevcairiel
1st April 2013, 17:14
Anyway, I noticed that you don't support loading segments of different video resolution.

This should work just fine, assuming your whole playback chain supports changing resolutions (i've had some trouble with (xy-)vsfilter when changing some of the frame parameters before). I tested this mostly with H264 stuff. What you cannot do is mix two different codecs, ie. you can't mix H264 and MPEG-2 segments, doubtful i'll ever change that, would just go too deep into ffmpegs handling of things.

anyway, samples welcome.

DarkSpace
1st April 2013, 22:52
This should work just fine, assuming your whole playback chain supports changing resolutions (i've had some trouble with (xy-)vsfilter when changing some of the frame parameters before). I tested this mostly with H264 stuff. What you cannot do is mix two different codecs, ie. you can't mix H264 and MPEG-2 segments, doubtful i'll ever change that, would just go too deep into ffmpegs handling of things.
Of course you are right about that, and when I noticed, I immediately edited my post above. I'm sorry about that.
anyway, samples welcome.
Well, then welcome this archive (http://www.mediafire.com/?jsclyq3udd28qsb), please! It contains three "groups" of files, all of which work as they should with Haali Media Splitter:

test1.mkv and test2.mkv are only used to show that an Aspect Ratio change is not passed on through the playback chain. Both files contain 50 frames each, and are both chaptered in a way that first displays test1.mkv's contents and only then test2.mkv's contents. The video in test1.mkv is to be displayed in 16:9 Aspect Ratio whereas test2.mkv's video is to be displayed in 4:3, but regardless of whether the 4:3 file or the 16:9 file is opened in the player, all 100 frames are displayed as 16:9 (so, the first displayed video's AR is used).

testA-C.mkv are meant to emphasize the Aspect Ratio keeping effect - file A has 80:33 Aspect Ratio, the other two are 16:9, each file has 50 frames. Just like before, it's irrelevant which file you open as all three are chaptered to use the same playlist.

sample0.mkv and sampleA-F.mkv are samples of what made me think that non-matching resolutions are unsupported - when creating these samples, I tried to match my original files as closely as possible, which is also why you may notice that they don't use 10 fps but 30000/1001, and also use have way more frames than the other samples, which is because I was unable to find the exact issue. Simply opening sample0.mkv should actually play all of sampleA.mkv, the first part of sample0.mkv, all of sampleB.mkv, the second part of sample0.mkv, ... which apparently just fails with LAV.


Creating these samples also made me think about some other things: What happens when other stream properties change between thee sections, such as FLAC bit depth? What about the video's header information, such as color matrix or primaries, or a mix between interlaced and progressive Segments? Also, I think some people already verified that it's possible to link 8-bit h.264 Segments and 10-bit h.264 Segments, so will that work as well, and what about differently subsampled content?
Due to timestamps, I don't suppose it's an issue, but what about video FPS? It's quite possible that one would encode 30p and 24p segments separately to save oneself the trouble of creating Variable Frame Rate files.

I actually wouldn't have expected this result, as you originally wanted to dynamically switch SSA/ASS styles, so I'd like to ask now (just out of curiosity, at least for now): If you manage to implement "dynamic ASS styles", will that support different headers as well (such as, one Segment with 1280x720 Script Resolution and another Segment with 1920x1080 Script Resolution)?

nevcairiel
2nd April 2013, 08:26
Well, then welcome this archive (http://www.mediafire.com/?jsclyq3udd28qsb), please!

Thanks for the samples, i'll look into them this evening, but i'm confident that i can fix the AR issues (i just forgot to switch the setting on segment changes, i only changed the "main" codec properties), and will look into the other playback issue you had.

What happens when other stream properties change between thee sections, such as FLAC bit depth? What about the video's header information, such as color matrix or primaries, or a mix between interlaced and progressive Segments? Also, I think some people already verified that it's possible to link 8-bit h.264 Segments and 10-bit h.264 Segments, so will that work as well, and what about differently subsampled content?

This should be fine, assuming everything support such changes. I've already had a sample which switches between H264 4:2:0 10bit and H264 4:4:4 10bit, and LAV worked fine with it - only xy-vsfilter failed, because it didn't properly handle changing between NV12 and RGB when EVR was used as renderer. Surprisingly, vanilla VSFilter worked fine.


Due to timestamps, I don't suppose it's an issue, but what about video FPS? It's quite possible that one would encode 30p and 24p segments separately to save oneself the trouble of creating Variable Frame Rate files.

This should indeed be just fine.


I actually wouldn't have expected this result, as you originally wanted to dynamically switch SSA/ASS styles, so I'd like to ask now (just out of curiosity, at least for now): If you manage to implement "dynamic ASS styles", will that support different headers as well (such as, one Segment with 1280x720 Script Resolution and another Segment with 1920x1080 Script Resolution)?
If dynamic ASS style switching worked, this would be possible - but this is not in my hands, its the subtitle filters which don't support this right now.

dansrfe
2nd April 2013, 09:02
Is it normal for mp3 and aac durations to be off in MPC-HC? The sing ends but the timeslider still has another minute on it sometimes.

cyberbeing
2nd April 2013, 11:18
This should be fine, assuming everything support such changes. I've already had a sample which switches between H264 4:2:0 10bit and H264 4:4:4 10bit, and LAV worked fine with it - only xy-vsfilter failed, because it didn't properly handle changing between NV12 and RGB when EVR was used as renderer. Surprisingly, vanilla VSFilter worked fine.

Yeah, it appears that xy-VSFilter runs into a bug when LAV Video attempts to dynamically change output to RGB. xy-VSFilter accepts RGB from LAV on its input pin, but fails to change its output pin to RGB. Regular VSFilter outright rejects RGB input from LAV in this case, and continues to output YV12 the entire time.

Edit: If using "Haali Splitter + LAV Video" or "LAV Splitter + MPC-HC internal decoder", this H264 4:2:0 10bit + H264 4:4:4 10bit situation results in corruption when the change occurs, even without VSFilter. LAV Splitter + FFDShow is even worse and crashes. LAV Splitter + CoreAVC skips the entire second segment. It would seem that using LAV Splitter + LAV Video together may be the only way to make this special use case work reliably at the moment.

If dynamic ASS style switching worked, this would be possible - but this is not in my hands, its the subtitle filters which don't support this right now.

The xy-VSFilter dev expressed that he sees this as a useful feature to support. Possibility for the future.

DarkSpace
2nd April 2013, 11:31
Thanks for the samples, i'll look into them this evening, but i'm confident that i can fix the AR issues (i just forgot to switch the setting on segment changes, i only changed the "main" codec properties), and will look into the other playback issue you had.
Thank you, again.

This should be fine, assuming everything support such changes. I've already had a sample which switches between H264 4:2:0 10bit and H264 4:4:4 10bit, and LAV worked fine with it - only xy-vsfilter failed, because it didn't properly handle changing between NV12 and RGB when EVR was used as renderer. Surprisingly, vanilla VSFilter worked fine.
Okay, I just suspected that if an AR change isn't passed on, maybe other properties wouldn't be passed on as well.

If dynamic ASS style switching worked, this would be possible - but this is not in my hands, its the subtitle filters which don't support this right now.
The xy-VSFilter dev expressed that he sees this as a useful feature to support. Possibility for the future.
That's good news. Maybe some time in the future, I'll even be able to make good use of it.

Yeah, it appears that xy-VSFilter runs into a bug when LAV Video attempts to dynamically change output to RGB. xy-VSFilter accepts RGB from LAV on its input pin, but fails to change its output pin to RGB. Regular VSFilter outright rejects RGB input from LAV in this case, and continues to output YV12 the entire time.
This is an interesting explanation.

nevcairiel
2nd April 2013, 14:35
sample0.mkv and sampleA-F.mkv are samples of what made me think that non-matching resolutions are unsupported

I see the problem here.
For some reason, you made the edition hidden, and i don't take hidden editions into account. Apparently, i should? At least when its the default? :d So simply make "Default" overrule "Hidden"? I can do that..

What if there is only one edition, which is Hidden, and not default? :d

michkrol
2nd April 2013, 15:34
Thanks for implementing the ordered chapters and editions. Works great with files I've tested.

Regrettably I've encountered a possible regression when it comes to handling of *.mkv files - seeking by key-frames stopped working with the test builds (checked with yours (b805ded) and latest git (ececda9adc81)).
I'm using MPC-HC (nightly, build 7017, x86), the "Jump Forward/Backward (keyframe)" keys stopped working in *.mkv files. Same config works with *.mp4 and *.avi files.
Switching back to last stable build (0.55.3) makes keyframes in *.mkv work.

It's the same for every *.mkv file, below is a link to 2 samples. I've reencoded a file to h264 in *.mp4 with Handbrake, then remuxed the file to *.mkv with mkvmerge(v6.1.0), to make sure the stream is identical.
The keyframes seeking works with *.mp4 file in test builds, with the *.mkv only in stable version.
http://www.mediafire.com/?83j3bgolrpl5hod

nevcairiel
2nd April 2013, 16:07
Thanks for testing, the issue should be resolved in the latest version (soon to be available in Git)

06_taro
2nd April 2013, 16:16
I would suggest to use if (!edition->Hidden || edition->Default || count==1) instead of if (!edition->Hidden) when deciding whether to process an edition or not. I think not many people really understand what hidden flag for editions means and what the difference between chapters' hidden flag and editions' is. So if one wants to use ordered chapter to create a virtual timeline, but does not like to expose this functional but not controlling feature to the user interface, one may set it hidden, but still intends to use it.

I asked (http://lists.matroska.org/pipermail/matroska-devel/2013-April/004428.html) about what should edition->hidden flag do in such cases in the mailing list, hoping one matroska expert would be willing to make a decision, and better if one adds it in the specification notes so that it is easier for developers and users to interpret. In the previous threads of this subject, it seems that even spec maintainers (Moritz (http://lists.matroska.org/pipermail/matroska-devel/2013-March/004415.html) and Steve (http://lists.matroska.org/pipermail/matroska-devel/2013-March/004425.html)) have different opinions regarding nested hidden and enable flags. So it won't be surprising if developers and users feel confused on this.

DarkSpace
2nd April 2013, 16:31
I see the problem here.
For some reason, you made the edition hidden, and i don't take hidden editions into account. Apparently, i should? At least when its the default? :d So simply make "Default" overrule "Hidden"? I can do that..
Wait, what? Something must have gone wrong when I created these files, as I never saw a reason to use Hidden Editions before. Maybe something went wrong when I manually edited the xml file? Anyway, it's easy to fix for me, sorry about the trouble.

What if there is only one edition, which is Hidden, and not default? :d
Well, I think there are quite a few files out there that have only one Edition (Ordered or not) and that don't set the Default Edition flag (leave it at 0), because that flag isn't always set by itself. I know that in such cases, Haali Media Splitter simply uses the first (or only) Edition present in the file (I don't know about multiple Editions when the first Edition is hidden), so I think it might be beneficial to just use the first (visible?) Edition available if no Edition is set to Default.
Maybe, though, you could provide the Hidden Default Edition's Chapters when opening the file, but make that Edition unavailable once the user switched away from that Edition?

nevcairiel
2nd April 2013, 16:35
Maybe, though, you could provide the Hidden Default Edition's Chapters when opening the file, but make that Edition unavailable once the user switched away from that Edition?

That would be odd, an initial state that you cannot switch back to, that sounds wrong.


so I think it might be beneficial to just use the first (visible?) Edition available if no Edition is set to Default.
It already does this, the first visible on anyway. The question was more about what if all are hidden?

I think i'm goin to stick with what 06_taro suggested, and make Default overrule Hidden, and always use the Edition if only one is present (why hide your one edition?)
I wonder what Haali does if there is multiple editions, all hidden, non default... I shall go test!

Edit:
Turns out Haali just uses the first edition if no visible one is available. Maybe i should stick to that..

dansrfe
2nd April 2013, 17:15
Not to be a sore thumb in the thread but is there a reason my question is being avoided :(

DragonQ
2nd April 2013, 17:43
Is it normal for mp3 and aac durations to be off in MPC-HC? The sing ends but the timeslider still has another minute on it sometimes.

In my experience this is usually due to a bad file/container. Try remuxing into MKA or something? You can always mux back to MP4 or something if this works. Raw AAC can be a pain when not muxed into a proper container.

nevcairiel
2nd April 2013, 17:55
Not to be a sore thumb in the thread but is there a reason my question is being avoided :(

You happier with "I don't know"? :)
I don't answer if i have none to give, especially when busy with other topics.

dansrfe
2nd April 2013, 19:15
You happier with "I don't know"? :)
I don't answer if i have none to give, especially when busy with other topics.

I guess I should have rephrased my question. Is this the same behavior in the player that you use, JRiver Media Player? I'm trying to figure out if it's a problem unique to MPC or related to something else.

nevcairiel
2nd April 2013, 19:22
MP3 durations are fine for me, usually within 1 second of the actual duration (of course this can vary from file to file, VBR files may be more problematic), don't have any AAC at hand. Of course this is with the very latest LAV, maybe something was fixed in ffmpeg.
I tested in MPC-HC, i don't usually play audio with LAV, much better players for this around.

cyberbeing
3rd April 2013, 00:48
Doing some more ordered chapter testing on files from my archive, there unfortunately seem to be a massive number older files in-the-wild which use a single "hidden + default + ordered" Edition which is expected be be used. I can only assume one bad example ended up copy/pasted into numerous file as a template, during the time period where manual creation via text editor was the only option available. Supporting this behavior I'd say is something were stuck with at this point.

I've yet to come across any files which are just hidden + ordered which expect to be used, but I wouldn't dismiss the possibly since as nev mentioned, haali will use those as well.

nevcairiel
3rd April 2013, 06:44
I'll go with what Haali does, in this case it seems like a good alternative. So in short, try to use any visible editions if available, otherwise use the first edition in the file. If you have an edition which is Hidden+Default, and there is another edition which is visible, the hidden one will be ignored, and the visible one used. This is what Haali does, and since its still considered quite the "reference" implementation when it comes to ordered chapters, it ensures highest compat with existing files.

cremor
3rd April 2013, 10:23
Does the Dynamic Range Compression feature of LAV Audio only work if the DRC data has already been included in the AC3 stream while encoding? Because I converted a DTS stream to AC3 (using eac3to) but didn't notice any difference for silent or loud scenes with DRC enabled or disabled. If my assumption is correct, is there a way to convert a DTS stream to AC3 so that it includes the correct DRC data?

Also, what does the "Level" percentage in the DRC group affect in the LAV Audio configuration?

nevcairiel
3rd April 2013, 10:25
Yes, it only works for DRC which is specified in the AC3 stream. And the level controls how strong it'll be applied, at 100% the full bitstream DRC is used.
If the bitstream includes DRC is dependent on your encoder, of course.

paradoxical
3rd April 2013, 14:26
If my assumption is correct, is there a way to convert a DTS stream to AC3 so that it includes the correct DRC data?

Yes, tell the AC3 encoder what DRC value to write to the bitstream.

Pomegranate
3rd April 2013, 14:39
I'd be really careful using DRC when doing DTS -> AC3. DTS tends to not use the -31 dBFS reference level that Dolby uses.

According to this thread (http://forum.doom9.org/showthread.php?t=56020), "in order for the Dynamic Range Compression to work as designed, the Dialogue Normalization parameter MUST be properly set first".

dbart
3rd April 2013, 16:26
Could be this useful ?

http://www.phoronix.com/scan.php?page=article&item=amd_opensource_uvd&num=1

nevcairiel
3rd April 2013, 16:32
Here is a new test build for ordered chapters, it should hopefully fix a bunch of remaining issues with segment changes (aspect ratio) and general behaviour in some files with hidden editions (discussed in detail above)

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

Any feedback is appreciated, as always!

NikosD
3rd April 2013, 16:41
Could be this useful ?

http://www.phoronix.com/scan.php?page=article&item=amd_opensource_uvd&num=1

Yes it can be useful by exposing "hidden" features of UVD hardware, like MPEG-2, MPEG-4 ASP HW accelerated VLD decoding of UVD2 for example.

Volfield
3rd April 2013, 18:26
Here is a new test build for ordered chapters, it should hopefully fix a bunch of remaining issues with segment changes (aspect ratio) and general behaviour in some files with hidden editions (discussed in detail above)

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

Any feedback is appreciated, as always!

MPC-BE.1.1.1.0.2418.x86 don't have chapters on any files (few chapters in one file) (navigate -> jump to). Back to LAVFilters-0.55.3-66-gb805ded and everything works.

nevcairiel
3rd April 2013, 18:46
don't have chapters on any files (few chapters in one file) (navigate -> jump to). Back to LAVFilters-0.55.3-66-gb805ded and everything works.

Indeed, stupid mistake.
New build coming up:

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

The issue should hopefully be resolved for good.

Volfield
3rd April 2013, 18:53
Thanks for quick fix. Back to testing.

Reino
3rd April 2013, 21:07
Is it normal for mp3 and aac durations to be off in MPC-HC? The sing ends but the timeslider still has another minute on it sometimes.You could try Foobar2000 to fix this.
Right-click on MP3 -> Utilities -> Fix VBR MP3 header...
"Corrects missing VBR headers on specified MP3 files; use this to solve incorrect displayed length."

cyberbeing
4th April 2013, 00:00
nevcairiel, would it be possible to add a non-default option to expose hidden chapters, when only hidden chapters exist in a file? I could see cases where the file author prefers to keep ordered chapters hidden, but the viewer actually prefers an ability to access those hidden chapters, rather than have no chapters exposed at all.

Is the Matroska spec supposed to interpreted as Hidden = Permanently Hidden, or just Hidden = Hidden by Default?

nevcairiel
4th April 2013, 07:01
I'm not a big fan of such an option, it adds complexity for a bit obscure use-case. Its most likely also something you need to toggle on a per file basis, because if a file has normal chapters and ordered chapters, the ordered chapters would be hidden, and you don't really want them to appear, so i question its real-world usefulness a bit.

cyberbeing
4th April 2013, 10:40
The use-case would be files only containing hidden ordered chapters, but without any non-hidden regular or ordered chapters at all. I'll agree it's a bit obscure, but not as obscure as wanting to show hidden chapters when you have other non-ordered chapters already visible. You could do something like give the option a checkbox with three states, where the intermediate state will only expose hidden chapters if all chapters are hidden. That should prevent issues of needing to toggle such an option per file.

I did come across a few files which used ordered chapters to insert common intro/outro segments into episodes from that season to save space, but where all chapters were hidden. In this case, LAV & Haali will both create the virtual timeline without any end-user visible chapter points according to the mkv spec. None the less, a bit of an annoyance, since some end-users like to skip past the intro/outro segments via chapters. I personally don't have any issues manually fixing chapter issues like this, if you don't see such a feature as useful enough.

cremor
4th April 2013, 11:04
Yes, tell the AC3 encoder what DRC value to write to the bitstream.

Sorry for getting offtopic here, but can you recommend a good AC3 encoder when using DRC? I did my tests with Aften (using the BeHappy GUI) but I read some posts about Aften not beeing very good with DRC.
Testing the encoded stream with LAV Audio showed that with DRC enabled in LAV the loud sequences were indeed not as loud, but sadly it didn't increase the volume of quiet dialogs.

I'd be really careful using DRC when doing DTS -> AC3. DTS tends to not use the -31 dBFS reference level that Dolby uses.

But wouldn't a value higher than -31 decrease the volume even more? Even with -31 and DRC enabled I can't understand some quiet dialogs with a volume level that isn't too loud for explosions.

Pomegranate
4th April 2013, 11:54
@cremor : you shouln't use -31 dBFS for DTS. You have to measure it with a sound editor, as mentioned in the thread I linked to (http://forum.doom9.org/showthread.php?t=56020) and use that value. For example, you isolate a scene where there's speech, measure the RMS value and find it to be, for example, -26.4 dBFS. You then use -27 dbFS for the dialnorm when encoding.

zerowalker
4th April 2013, 14:35
Which is faster, the Lav filters UT Video Codec or the original?

I wonder what to use in Avisynth, Avisource or Directshowsource, thatīs why would like to know:)

06_taro
4th April 2013, 16:00
LAV uses FFmpeg's native libavcodec for utvideo,
original uses the same decoder as libutvideo, which is available in some FFmpeg builds.
You can build or find one FFmpeg with libutvideo (including asm), and compare using FFmpeg -c:v libutvideo/utvideo -i input-utvideo -f null nul.

In my test when FFmpeg started to add native utvideo decoder, libutvideo ran more than 3x faster than native one, because at that moment FFmpeg hadn't added asm in their native decoder while libutvideo had. I didn't track the progress of the native decoder and don't know what the current status is.

zerowalker
4th April 2013, 16:10
How can i install the libutvideo version?

I havenīt used ffmpeg, only ffdshow and stuff, so donīt really know how to do this.

Thanks:)

DragonQ
4th April 2013, 21:51
Anyone have any tips for getting ffdshow post-processing working with LAV decoding? Preferably using DXVA2 Native (if that's even possible) but DXVA2 Copy-Back and CUVID are fine too.

Basically MediaPortal's EVR implementation only has basic scaling (looks like bilinear) resulting in pretty bad aliasing in SD content, so I'm trying to use Lanczos scaling in ffdshow (in the absence of MadVR) to fix this. Here's two sets of settings I've tried but neither works properly:

0) LAV Software + EVR scaling = crap scaling but otherwise fine. Screenshot (http://www.aotplaza.com/Files/HTPC/Screengrabs/EVR%20Scaling/MediaPortal EVR.png)
1) LAV Software + ffdshow scaling = no deinterlacing & chroma brightened. Screenshot (http://www.aotplaza.com/Files/HTPC/Screengrabs/EVR%20Scaling/MediaPortal EVR + ffdshow Lanczos3.png)
2) CUVID + CUVID deinterlacing + ffdshow scaling = artefacts (weird horizontal streaks) & chroma brightened. Screenshot (compare to 1 to see artefacts) (http://www.aotplaza.com/Files/HTPC/Screengrabs/EVR%20Scaling/MediaPortal%20EVR%20+%20CUVID%20+%20ffdshow%20Lanczos3.png)

Any ideas to get this working correctly?

huhn
4th April 2013, 22:57
enable raw video in ffdshow

http://s3.imgimg.de/uploads/ffdshow15143303png.png

this doesn't work with dxva native

edit dxva native sry!

DragonQ
4th April 2013, 23:38
enable raw video in ffdshow

http://s3.imgimg.de/uploads/ffdshow15143303png.png

this doesn't work with dxva native

edit dxva native sry!
Yes that's what I'm doing, but it isn't working 100% correctly, as explained by the screenshots.

EDIT: OK I think I fixed the brightness and artefact issues by changing ffdshow's output to RGB32 and leaving LAV in CUVID mode. I'm interested to see how this stands up compared to my new Panasonic plasma's built-in upscaling (which I can't use with MediaPortal). I was watching some 544x576i/25 material today on my mum's new Samsung LCD and it looked very good indeed at a normal viewing distance. Even up close the text was pretty sharp. Hopefully ffdshow's Lanczos resizing is at least comparable.

Related question: Does anyone know what the "Parameter" option does for bicubic resizing in ffdshow? Is it the same as the "A=" in MPC-HC, i.e. sharpness?

zallen
5th April 2013, 23:22
Hello gentlemen. I use LAV Splitter and LAV Video Decoder with KMPlayer. Generally it works perfectly, especially with hardware acceleration. However, in the case of this player becomes unavailable KMP built-in switcher audio tracks and subtitles. Can I request you opportunity to build the LAV Splitter on / off switching option (way to check) single output pin ? That is output all tracks and subtitles to player. Perhaps it will be a decision.
To do otherwise can only build compatibility to KMP switcher and it will also look very nice.
The same problem and MPC-HC.

Niyawa
6th April 2013, 03:30
nev, quick question...

If I use ReClock with 100ms of delay, then should I put LAV to delay audio at 100ms too? Or is my logic broken? I just had this thought after messing a little in the settings.

nevcairiel
6th April 2013, 07:33
If I use ReClock with 100ms of delay, then should I put LAV to delay audio at 100ms too? Or is my logic broken? I just had this thought after messing a little in the settings.

Only if you want 200ms delay.

DragonQ
6th April 2013, 10:33
Only if you want 200ms delay.

My thoughts exactly. :D

RealSnoopyDog
6th April 2013, 11:06
@Niyawa: The delay(s) are only for getting audio and video lip sync, if you have problems. For what do you intend to use it?

ice25
6th April 2013, 11:16
nev, quick question...

If I use ReClock with 100ms of delay, then should I put LAV to delay audio at 100ms too? Or is my logic broken? I just had this thought after messing a little in the settings.

I think you're confused. Reclock doesn't have a delay feature, it's only the sound buffer in ms.

dbcooper
6th April 2013, 12:35
I have a question that I hope isn't obvious (I've searched the forum but not found the answer I'm after):

With AMD GPU's is DXVA Copyback necessary for MadVR, rather than DXVA Native?

I seem to get playback and color management with DXVA Native, but perhaps I am missing out on the chroma and luma scaling from MadVR?

Thanks in advance,

DB.

nevcairiel
6th April 2013, 14:10
DXVA Native is fine for AMD with madVR

kolak
6th April 2013, 15:28
Which is faster, the Lav filters UT Video Codec or the original?

I wonder what to use in Avisynth, Avisource or Directshowsource, thatīs why would like to know:)

Native support is SUPER fast and optimized- I don't think ffmpeg one is any close.
Avisource will be way better anyway- avoid directshow input filter as long as you can- way more problematic.
UtVideo 422 HD size can be decoded at 1300fps on 12 core machine:)

Niyawa
6th April 2013, 17:34
Only if you want 200ms delay.
My thoughts exactly. :D
Haha, I just wanted to confirm, thanks.

@Niyawa: The delay(s) are only for getting audio and video lip sync, if you have problems. For what do you intend to use it?
No no, no problems. I've set the buffer to 100 ms and I don't even notice at all, it was just a thought that came out of nowhere in my mind after I was taking some look at LAV audio settings.

I think you're confused. Reclock doesn't have a delay feature, it's only the sound buffer in ms.
Well, while the name is different, the effect is basically the same so I didn't thought it would matter.

huhn
6th April 2013, 20:46
Well, while the name is different, the effect is basically the same so I didn't thought it would matter.

the buffer does not delay the audio

nevcairiel
6th April 2013, 20:56
Here is what i consider a Release Candidate for the next version:

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

The ordered chapter stuff should be mostly finished, i fixed a few bugs since the last builds, and added an option to turn off external segment loading. In fact, no bugs or missing features come to mind immediately when i think about it.

Unless some new bugs come to light that may need a bit more time for fixing, i'll probably release a final version in the next 1-2 days, so if you know about bugs that need squashing (especially regarding ordered chapter support), please let me know as soon as possible. :)

sneaker_ger
6th April 2013, 22:02
In what way does LAV search for external files, btw? I remember old Haali versions simply reading every mkv file in the same folder, even if no external files were actually linked.

nevcairiel
6th April 2013, 22:43
There isn't really a better way then reading all mkv files in the folder, because you need their Segment UIDs, however, LAV only does that if it actually needs an external segment, otherwise this is not done.
So no change in playback of "normal" MKVs.

sneaker_ger
6th April 2013, 23:16
So basically it acts like current Haali versions, I see. I was thinking that maybe there was a better way, like at least stop searching once all linked Segments have been found or do some prioritization for the search with file names(similar name) , writing date (closest to current file) or file size (for example in relation to chapter length). But the current way is good enough me. For the "simple" linking I think the Matroska specs even offers file name tags ("PrevFilename", "NextFilename").

FreeFall
7th April 2013, 01:02
nevcairiel,

Reported earlier on about DVD menu problems, still the same with current build.

I have a problem with this DVD sample, LAV 0.55.3 and EVR renderer.
http://www.mediafire.com/?8zx7vn58u8c1t52

Play the first episode and then go back to the main menu, the last subtitle line stays on the screen until the menu loops and is refreshed (DXVA Native / Copy Back or Software mode). Using CUVID the same thing happens but sometimes the last video frame is displayed instead of the menu background, it might take a couple of tries for it to happen, usually after around 5 or 10 seconds of playback.

Thanks.

FreeFall

Niyawa
7th April 2013, 07:48
the buffer does not delay the audio
Maybe delay is not the right term, but higher the buffer, higher the cut in the audio at start or seeking it will be. I guess we could just call it "cut".

Qaq
7th April 2013, 08:12
... higher the buffer, higher the cut in the audio at start or seeking it will be. I guess we could just call it "cut".
Please keep in mind:
I've never experienced issues with TrueHD or LPCM, however both of these formats are a bit special because they have very short audio frames, so increasing the buffer size can actually solve this issue.

nevcairiel
7th April 2013, 08:18
Play the first episode and then go back to the main menu, the last subtitle line stays on the screen until the menu loops and is refreshed

I can't reproduce this.
I tried playing the whole (partial) episode, or going back to the menu in between, and never the subtitle sticks around.

Niyawa
7th April 2013, 08:52
Please keep in mind:
I'm not sure if I get it. What I said is that when the buffer is high, whenever playback starts (seeking for example) the audio will be cut by that time you set in ms. You're probably referring to "hiccups" caused by the low buffer instead.

FreeFall
7th April 2013, 10:32
Sorry nevcairiel I didn't test things properly, Mpc-Hc is ok. The problem only happens when using Zoom Player 8.61.

Thanks
FreeFall.

nevcairiel
7th April 2013, 10:55
Sorry nevcairiel I didn't test things properly, Mpc-Hc is ok. The problem only happens when using Zoom Player 8.61.

I can reproduce it now, but i'm not sure there is much i can do about it.
You can ask the Zoom Player Devs to fix it, though.

Switching to the menu is done using the IDvdControl2 Interface, specifically the "ShowMenu" command.

What is important is that the ShowMenu command is called with the "DVD_CMD_FLAG_Flush" flag in the second parameter, otherwise the DVD Navigator does not properly flush the decoder, and old stuff may stick to the screen.
The same goes for seeking (all Play* functions in IDvdControl2), always pass the Flush flag, or the decoder might get confused.

FreeFall
7th April 2013, 11:51
Thanks for your help, will report the problem to Zoom Players devs.

FreeFall

DarkSpace
7th April 2013, 16:17
Here is what i consider a Release Candidate for the next version:

32-bit: http://files.1f0.de/lavf/LAVFilters-0.55.3-78-g84df425.zip
The Aspect Ratio issue appears to be fixed now, and the Hidden Default Edition is also working now.
However, I noticed something else: For small Segment parts, the audio appears to be omitted. Instead, the next Chapter's audio is played directly and only a few seconds later, silence is inserted by LAV Audio's Audio Sync feature (actually, it seems like Audio Sync is only applied when the new Chapter actually begins?).

Edit 1: It appears that none of the previously posted builds (I tried the most recent 4) work, either. Just wanted to make sure.

Edit 2: I can't reproduce with simple samples, it seems. I'll keep trying, but might it come from using FLAC Audio in one Segment that's called at different times and not cutting/appending the FLAC but instead encoding the FLAC file as one long audio file?

SamKook
7th April 2013, 18:10
Niyawa: There's sadly no way to prevent the cut in the audio made by reclock while it fills the buffer. It's really annoying(although not that bad for most audio when set to 100ms), but I'm pretty sure it's something that should be fixed from inside reclock which, from reading their forum, I'm pretty sure will never happen.

Unless I'm wrong and nevcairiel can somehow find a way to force reclock to fill its buffer before actually starting to play the audio which would be awesome.

nevcairiel
7th April 2013, 19:48
Edit 2: I can't reproduce with simple samples, it seems. I'll keep trying, but might it come from using FLAC Audio in one Segment that's called at different times and not cutting/appending the FLAC but instead encoding the FLAC file as one long audio file?

So create complex samples? :)
I don't know enough about FLAC to answer that, but i'll look into it if i can reproduce.

Niyawa
7th April 2013, 23:25
Niyawa: There's sadly no way to prevent the cut in the audio made by reclock while it fills the buffer. It's really annoying(although not that bad for most audio when set to 100ms), but I'm pretty sure it's something that should be fixed from inside reclock which, from reading their forum, I'm pretty sure will never happen.

Unless I'm wrong and nevcairiel can somehow find a way to force reclock to fill its buffer before actually starting to play the audio which would be awesome.
It would be awesome indeed. The 100ms is the sweet spot to not notice the cut, unless you really want to. But at the same time isn't it a necessary step so we don't get the audio being cut every second or so? If I set it to 25 ms for example, between 6-10 seconds I get that hiccup effect. It seems that filling the buffer before the audio plays would just delay it.

mandarinka
8th April 2013, 11:28
Whoa, nice work there! Thanks for taking the possibility of resolution switching into account where possible. Just a small note for that - besides resolution switches, there can probably be switches in pixel aspect ratio too (switch between 4/3 and 16/9 anamorphic). But I guess you guys know that.

Mark Regalo
9th April 2013, 03:18
Are there any recommendations for or against using Reclock's sound compressor option in combination with Clipping Proetection in LAV Audio enabled?

DarkSpace
9th April 2013, 15:55
Whoa, nice work there! Thanks for taking the possibility of resolution switching into account where possible. Just a small note for that - besides resolution switches, there can probably be switches in pixel aspect ratio too (switch between 4/3 and 16/9 anamorphic). But I guess you guys know that.
Indeed, it already works, but it's nice to see that someone other than myself also thought of it!
On another note, I just thought of another possibility: What happens when a Segment is loaded that doesn't have Audio or Video for all its duration (say, the Chapters say the Segment is to be played from seconds 0-4 but the Segment's Audio only is 3 seconds long while the video is long enough)? I believe that in such a case, the missing Audio should be padded with silence, but a too-short Video stream may be more complicated. (Freeze the last frame? Add black frames? ...)

So create complex samples? :)
I don't know enough about FLAC to answer that, but i'll look into it if i can reproduce.
Okay, creating the samples was more difficult than I had expected (I still don't know why this set works while the others don't), but here (http://www.mediafire.com/?x4g09pc4k6ku6uw) they are:
Opening the file 0.mkv (for the Audio and Video version) or 0.mka (for the Audio-only version) and seeking to somewhere close to the 4th Chapter Point (B-0) and playing from there shows the issue that this small Chapter's Audio is omitted and instead the next Chapter's Audio starts playing already. In the Audio-only version, this "desync" isn't corrected while in the version with Video, LAV Audio's A/V Sync appears to notice this when the 5th Chapter begins and inserts silence until sync is corrected. The same happens at the 6th Chapter Point (C-0), where, if left alone until then, the C-0 desync will be added to the B-0 desync.
Skipping directly to B-0 (or C-0 for that matter) doesn't show any problems, so it's important to seek to somewhere before then. Also, seeking to anywhere in the Playlist file automatically corrects any desync that may have accumulated.

cyberbeing
9th April 2013, 16:27
With DarkSpaces samples, LAV Splitter crashes if you move all MKA samples except 0.mka to a different folder and then attempt to open 0.mka or 0.mkv in the same folder as the other mkv samples.

nevcairiel
9th April 2013, 16:36
seeking to somewhere close to the 4th Chapter Point (B-0) and playing from there shows the issue that this small Chapter's Audio is omitted and instead the next Chapter's Audio starts playing already.

Are you saying that you don't hear the audio between B-0 and C at all?
I hear a few seconds of music there, while all other audio is a rather boring "ooooooooooo" :p

With DarkSpaces samples, LAV Splitter crashes if you move all MKA samples except 0.mka to a different folder and then attempt to open 0.mka or 0.mkv in the same folder as the other mkv samples.

This seems to happen because the mka and mkv have the same segment UIDs, so it opens one and the streams mismatch - should probably refuse instead of opening.

nevcairiel
9th April 2013, 17:21
Ok i found something odd.

Some of the ordered chapters reference a Segment UID of 0, which i always interpreted as "the file that was originally opened, ie. this file", however those chapters seem to reference times in that file which don't exist.
Looking at 0.mkv, A-0 references 0 to 3.8s (the whole file length of the content of 0.mkv itself), which is fine. B-0 however references 3.8s to 7.8s (and C-0 7.8s to 12.3s), considering the file is only 3.8s long, how is that supposed to work?

I am confused by this setup, its told to play stuff which doesn't exist.
Haali seems to flush the decoder, but it doesn't send any data either, which causes it to detect the async immediately. Maybe i can do that, force the refresh.

cyberbeing
9th April 2013, 17:42
On that note, opening 0.mkv or 0.mka alone in a folder also crashes LAV Splitter.

DarkSpace
9th April 2013, 17:49
Are you saying that you don't hear the audio between B-0 and C at all?
I hear a few seconds of music there, while all other audio is a rather boring "ooooooooooo" :p
That's supposed to be an "ooooooooooo" (it didn't work as supposed with only the "ooooooooooo"), since silence wouldn't have shown the A/V Sync.

This seems to happen because the mka and mkv have the same segment UIDs, so it opens one and the streams mismatch - should probably refuse instead of opening.
Are you sure? I specified UIDs that differ in the last value for all of the .mkv / .mka files.

Looking at 0.mkv, A-0 references 0 to 3.8s (the whole file length of the content of 0.mkv itself), which is fine. B-0 however references 3.8s to 7.8s (and C-0 7.8s to 12.3s), considering the file is only 3.8s long, how is that supposed to work?
Strange, I checked the original files and everything and you're right. Sorry about that (though, at least I now know why it can be reproduced every time I re-run the batch file to create these files). Thanks again, and sorry for sending broken files, I'll fix my batch file.

I am confused by this setup, its told to play stuff which doesn't exist.
Haali seems to flush the decoder, but it doesn't send any data either, which causes it to detect the async immediately. Maybe i can do that, force the refresh.
I don't know, but it seems like that would also be a problem when playing Segments with too-short audio. Is this Decoder Flush a solution for these cases, too?

nevcairiel
9th April 2013, 17:57
I don't know, but it seems like that would also be a problem when playing Segments with too-short audio. Is this Decoder Flush a solution for these cases, too?

Yes it would, because it forces an immediate resync.
I'm working on adding this, i found a bug that prevents it to be done easily though .. sadly.

Edit:
Ok works now.

nevcairiel
9th April 2013, 19:50
Here is a new test build, which should hopefully fix the audio sync issue and the crash

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

Now, any more issues i need to fix before i can publish it to the masses? :)

cyberbeing
9th April 2013, 20:12
What's the status on supporting CueDuration & CueRelativePosition for subtitle seeking? Is that next on the agenda after this upcoming Ordered Chapter LAV release is finalized?

DarkSpace
9th April 2013, 20:15
Here is a new test build, which should hopefully fix the audio sync issue and the crash

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

Now, any more issues i need to fix before i can publish it to the masses? :)
You're fast as always, but I've got something to report indeed: Skipping to Chapter Points (and also Seeking in general, with the exception of the first Chapter - there, you can seek freely) takes extremely long with this build, at least for Ordered Chapter files, and even the Chapter Switch Points during normal playback take a long time (at least for Segment switches). It happens with both EVR-CP and madVR, with madVR reporting a huge number of dropped frames and the audio getting very stuttery. For this reason, I also can't confirm if the Audio Sync issue has been fixed.

On another note, it seems that several files that seemed to work earlier now stopped working. I'll look into it and prepare samples if necessary.

Edit: For example, it seems that Segments aren't loaded at all or only partially, so the virtual timeline constructed by your Splitter is incomplete and also, because the displayed duration doesn't change, invalid. If you've still got them, my files test1/2.mkv show this very well. If you don't have them any longer, they are in this package (http://www.mediafire.com/?jsclyq3udd28qsb).

yonta
9th April 2013, 20:36
Starting from version 0.55.3-78, LAVVideo drops lots of frames on some 1080i h.264 files with both hardware and software modes.
0.55.3-73 works fine, playing them at 50/60 fps.

sample (http://www1.datafilehost.com/d/c13dd612)

nevcairiel
9th April 2013, 20:47
Starting from version 0.55.3-78, LAVVideo drops lots of frames on some 1080i h.264 files with both hardware and software modes.
0.55.3-73 works fine, playing them at 50/60 fps.

sample (http://www1.datafilehost.com/d/c13dd612)

Works fine here.
Note that this file is 4:2:2, so there is no hardware decoding.

Maybe try with the next build again? Maybe i found something.

yonta
9th April 2013, 21:18
Works fine here.
Note that this file is 4:2:2, so there is no hardware decoding.

Maybe try with the next build again? Maybe i found something.

Yes, that one is 422 and is decoded with software mode.
Just FYI one more sample (http://www1.datafilehost.com/d/540167ff)

nevcairiel
9th April 2013, 21:20
Here is another build, hopefully not screwed up by a last minute change now.

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

I also changed something in the H264 decoder which may restore its performance on some files.

yonta
9th April 2013, 21:34
Here is another build, hopefully not screwed up by a last minute change now.

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

I also changed something in the H264 decoder which may restore its performance on some files.

0.55.3-81 works fine on both files!

josey_wells
10th April 2013, 01:25
The -81 version also seems to fix a problem I have had with MPC-BE where 2 copies of LAV Splitter were loaded at one time.

DarkSpace
10th April 2013, 09:40
Here is another build, hopefully not screwed up by a last minute change now.

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

I also changed something in the H264 decoder which may restore its performance on some files.
It now works, fixes the seeking issue and I can confirm that the sync issue is fixed for both Audio+Video and Audio-only. The only thing I noticed was one ASS subtitle that was displayed even after the Segment switch, but I suspect that this line was mistimed and that Haali wouldn't have displayed it at all. If you want a sample, please tell me and I'll provide one.

nevcairiel
10th April 2013, 09:48
If a subtitle line is timed to be shown over a segment border, then thats what is going to happen. I only ensure that nothing with its start-time after the segment border sneaks through.
If you think its something that may be a bug, feel free to provide a sample and i'll look whats going on in there, but no promises on a quick fix this time ;)

DragonQ
10th April 2013, 11:32
When you update ffmpeg, do you just update your own version of it? The "official" version hasn't had any changes since March but your last few code changes have been in ffmpeg. I was curious to see what those changes were but I can't see them anywhere. :(

nevcairiel
10th April 2013, 12:22
I don't know which ffmpeg you look at.
My own version is here: http://git.1f0.de/gitweb?p=ffmpeg.git;a=summary, updated just yesterday, and the upstream ffmpeg (which i update against) is here: http://git.videolan.org/?p=ffmpeg.git, updated within the last hours.

DragonQ
10th April 2013, 14:37
OK thanks, I was looking in the wrong place.

itsonlyjustincase
10th April 2013, 16:23
Here is a new test build, which should hopefully fix the audio sync issue and the crash

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

Now, any more issues i need to fix before i can publish it to the masses? :)

My last bother :(. Do you think it would be possible to force it to use CUDA cores more ? I have only a poor 10% video load when playing hd video) i mean pushing even more the GPU to relax even more the CPU ?

itsonlyjustincase
10th April 2013, 16:24
For anyone interested i have a Lucid Virtu MVP 2 standard licence to give. I don't have GTX nvidia so bought it for nothing

DarkSpace
10th April 2013, 16:38
If a subtitle line is timed to be shown over a segment border, then thats what is going to happen. I only ensure that nothing with its start-time after the segment border sneaks through.
If you think its something that may be a bug, feel free to provide a sample and i'll look whats going on in there, but no promises on a quick fix this time ;)
Well, personally I believe that if a subtitle is timed from frame 50 to frame 100 of Segment A and the chapters specify frames 0-75 of Segment A, then frames 0-50 of Segment B, then frames 80-150 of Segment A, that the ASS line should be shown only relative to Segment A's frame numbers (including an ASS animation with the \t tag, but that might be even more difficult), meaning that the line is only shown for the chapters that specify frames from Segment A. Currently, you display the ASS lines relative to the Virtual Timeline's frame numbers, at least for lines that "cross chapter borders". I believe that Haali just displays the line from frames 50-75 of Segment A and then fails to re-initialize displaying it when Segment A is called again for the above example, while I think it would be proper to re-display the ASS line as if there hadn't been any interruption at all (and also to take care of the "timing shift" introduced by the missing frames).
Here (http://www.mediafire.com/?01w3p72phqi9p3q) is a sample to show what I described above. No worries about the quick fixing this time, since Haali just removes the subtitle line at the Segment switch and it is never seen again, I just consider such files partially-broken.

P.S. I know that using frames is wrong and that using times in seconds would be more correct, but it's easier to explain using frames than seconds.

sneaker_ger
10th April 2013, 16:46
Well, I guess implementing the thing on the first chapter shouldn't be too hard, but the display of the subtitles on the third chapter could be problematic. We basically have that problem already with seeking in files without chapters - if you seek into the middle of a subtitle, it won't be displayed because the splitter doesn't know about the line. Its packet is interleaved into an earlier time. The new Matroska features are supposed to fix that but LAV does not implement it - nor does any other program that I know of for that matter.

paradoxical
10th April 2013, 16:48
My last bother :(. Do you think it would be possible to force it to use CUDA cores more ? I have only a poor 10% video load when playing hd video) i mean pushing even more the GPU to relax even more the CPU ?

CUVID decoding doesn't use the CUDA cores. It uses a separate decoder.

nevcairiel
10th April 2013, 16:53
Well, I guess implementing the thing on the first chapter shouldn't be too hard, but the display of the subtitles on the third chapter could be problematic. We basically have that problem already with seeking in files without chapters - if you seek into the middle of a subtitle, it won't be displayed because the splitter doesn't know about the line. Its packet is interleaved into an earlier time. The new Matroska features are supposed to fix that but LAV does not implement it - nor does any other program that I know of for that matter.

Indeed. I managed to fix the too long display pretty easily (easier then i thought it would be), however re-displaying it for the second part of Segment A is something for the future, and it will then only work if its muxed with a very recent version of mkvmerge.

nevcairiel
10th April 2013, 17:51
LAV Filters 0.56

General
- Major ffmpeg update, the DLLs have had their version number increased

LAV Splitter
- Support for Matroska Ordered Chaptes / Segment Linking
- Improved support for parsing language tags from OGM files
- Small performance improvements by avoiding copying the stream data in memory needlessly
- Improved duration calculation for MP3 files

LAV Video
- Performance improvements for single-threaded decoders and YADIF (up to 20% in some situations)


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

While it may not seem like it, there are actually two big things in this version (and many may only care about one).

Performance Improvements
The overall performance of demuxing and decoding was improved (depending on the use-case up to 20%!), thanks to what in Libav/FFmpeg is called "The Evil Plan". In short, it allows to properly handle the data (both packets from the splitter and decoded video/audio) much more flexible than i could before, which means now i can finally use the full power of LAVs thread design for more than just the wmv3 dmo decoder. This avoids copying the frames in memory, allows parallel processing, and especially when combined with YADIF (or any external post-processing filter), can result in huge performance gains. It also helped to simplify a lot of tricky situations, so all in all, well worth all the effort put in on FFmpeg/Libav's side.

Matroska Ordered Chapters / Linked Segments
This is probably the one much more exciting for you guys.
LAV can now handle Matroska's ordered chapters, linked segments, and linked files. If you don't know what that means, its like seamless branching for Matroska - if you haven't heard that either, well, in short, it allows multiple versions of one movie in one file, or splitting parts of the movie into separate files (so for example the opening of a TV show can be reused by all episodes, instead of being included in every one)

Please note that the same restrictions apply that also apply when using Haali Splitter for ordered chapters: The tracks between different segments need to match, or who knows what will happen! :)

Personally, i use it to archive Blu-rays with multiple editions on one disc, like Avatar.

There has already been a lot of testing of these features, thanks to everyone taking the time to test and report in great detail, and even craft samples to help me reproduce difficult cases.
Nevertheless, i don't expect it to be completely bug-free, so if you encounter any issues, crashes, or other undesirable behaviour, please report them here or on the Google Code issue tracker, preferably with a sample (or info how to get/make one) for me to reproduce the problem, and then fix it. :)

And one last point, before it comes up, there is one known issue which i didn't get to yet, but wanted this version out anyway:
Fraps decoding currently only outputs its "key" frames, the repeated frames are not output, which basically means Fraps can be a VFR stream, and not CFR like it was before. I do plan to fix this again, possibly for 0.56.1 already (if i don't have to make an emergency release), but for the time being, thats how it is.

Anyway, take care and have fun!

Sebastiii
10th April 2013, 18:05
Very Big thanks :)
Works really nice :)

Niyawa
10th April 2013, 18:21
You just made history nev. Thanks.

andyvt
10th April 2013, 18:27
LAV Filters 0.56
In short, it allows to properly handle the data (both packets from the splitter and decoded video/audio) much more flexible than i could before...

Are the changes to the Packet class an e.g. of this?

huhn
10th April 2013, 18:50
great news no need for haali anymore.
big thx!

DarkSpace
10th April 2013, 19:06
the display of the subtitles on the third chapter could be problematic. We basically have that problem already with seeking in files without chapters - if you seek into the middle of a subtitle, it won't be displayed because the splitter doesn't know about the line. Its packet is interleaved into an earlier time. The new Matroska features are supposed to fix that but LAV does not implement it - nor does any other program that I know of for that matter.
however re-displaying it for the second part of Segment A is something for the future, and it will then only work if its muxed with a very recent version of mkvmerge.
Okay, thanks for the explanation. I already suspected that these new elements may be required and that it might take some while for it to be implemented, but for now, that's good enough for me - after all, I still consider such files broken (at least if they were created before LAV gained Ordered Chapters support;))

Also, on the matter of the new release version: Thank you very much, and congratulations!

nevcairiel
10th April 2013, 19:10
Are the changes to the Packet class an e.g. of this?

Indeed, the Packet class now does reference counting on the data so that it can be safely passed around.

Niyawa
10th April 2013, 19:42
Okay restarted MPC-HC no drop, it was copy-back indeed. Now I restart and it drops again. I'm not sure why... heh I give up. nev there must be something wrong with LAV.

Reinstalled madVR and LAV all together, issue seems to be gone... maybe I messed up somewhere in the update. Sorry again.

@Devrim
Updated to latest lite just to test and no crash.

Devrim
10th April 2013, 19:47
LAV Filters 0.56 seems to crash my MPC-HC

MPC-HC (Lite) 1.6.7.7063, madVR v0.86.1, AC3 Filter v2.5b

Anyone else got the same problems?

Snowknight26
10th April 2013, 19:56
Now all you need to do, nev, is to gently persuade madshi to drop gdsmux from eac3to in favor of another muxing library so us plebs can ditch Haali's splitter altogether. ;)

I look forward to that Fraps bug being fixed.

bejita7
10th April 2013, 20:06
R.I.P. Haali Matroska Splitter

Thank you very much!

nevcairiel
10th April 2013, 20:21
LAV Filters 0.56 seems to crash my MPC-HC

When does it crash? When closing the file/player by any chance, or somewhere else?
Or maybe a MKV with Vorbis audio?

In any case, try with this?
http://files.1f0.de/lavf/LAVFilters-0.56-2-gfa767af.zip

It fixes one crash bug that i managed to reproduce myself sporadically when closing the player after playing with native DXVA2, and another one i got reported when playing certain Vorbis MKV files.

SamKook
10th April 2013, 21:45
I was wondering, did I screw something up when installing directly from the dev build you just posted or is it normal that the splitter tray icon doesn't let you select the tracks/editions when you right click it like haali does.

Pardon me if it has already been mentioned(I have to admit I didn't search the thread and haven't been following it for long), but it would be really nice if this was implemented(if it isn't already) in a future version since it's now my only reason to still use haali.

nevcairiel
10th April 2013, 21:46
This is not supported yet, its planned for a future version, though.
The tray icons would be rather pointless if all they do is exist. :p

Devrim
11th April 2013, 00:03
When does it crash? When closing the file/player by any chance, or somewhere else?
Or maybe a MKV with Vorbis audio?

In any case, try with this?
http://files.1f0.de/lavf/LAVFilters-0.56-2-gfa767af.zip

It fixes one crash bug that i managed to reproduce myself sporadically when closing the player after playing with native DXVA2, and another one i got reported when playing certain Vorbis MKV files.

Hi,

It crashes whenever I try to open a file. When it loads it crashes. It crashes with the "normal" LAV 0.56 and with your fixed LAV 0.56.

I tried 2 different files
1. MKV with AAC audio (720P)
Result: Crash while loading
2. MKV with MP2 Audio (576P)
Result: No crash

-edit-

Hmm, it only seems to crash on 1 file

Mediainfo of the file it crashes on



General
Unique ID : 225070625897904004580006034380923570318 (0xA953069AF3A191A691FD9D973473888E)
Format : Matroska
Format version : Version 4 / Version 2
File size : 614 MiB
Duration : 21mn 8s
Overall bit rate : 4 058 Kbps
Movie name : Tosh.0 - Web Redemption: BK Chicken Fries (S05E10)
Encoded date : UTC 2013-04-10 12:03:38
Writing application : mkvmerge v6.1.0 ('Old Devil') built on Mar 2 2013 14:32:37
Writing library : libebml v1.3.0 + libmatroska v1.4.0

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings, CABAC : No
Format settings, ReFrames : 2 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 21mn 8s
Width : 960 pixels
Height : 718 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Title : Video
Language : English
Default : Yes
Forced : No
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : A_AAC
Duration : 21mn 8s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Title : English Audio (AAC2.0)
Language : English
Default : Yes
Forced : No

Text
ID : 3
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Title : CC
Language : English
Default : Yes
Forced : No



Weird

hubblec4
11th April 2013, 00:05
LAV Filters 0.56
[CODE]
....
LAV Splitter
- Support for Matroska Ordered Chaptes / Segment Linking
......
Anyway, take care and have fun!

wow, i cant believe it.

Thank you very much.

i will try it.

STaRGaZeR
11th April 2013, 00:58
nev, with 0.56 this sample is stuttering when a combination of avcodec+yadif is used, and disappears when you disable yadif or use DXVA. Didn't happen with 0.55.2, I don't have 0.55.3 to test.

File: http://www.mediafire.com/?41wnivhs55o6z0d
Shot of the issue: http://www.imagebam.com/image/8ac700248179570

nevcairiel
11th April 2013, 06:51
Hmm, it only seems to crash on 1 file


Can you maybe cut a small part from this file?
You can try using a simple splitter like DGSplit (http://neuron2.net/dgsplit/dgsplit12.zip), cut off the first 10mb or so, and test if the small file still crashes. With MKV that should usually work.

nevcairiel
11th April 2013, 07:17
nev, with 0.56 this sample is stuttering when a combination of avcodec+yadif is used, and disappears when you disable yadif or use DXVA. Didn't happen with 0.55.2, I don't have 0.55.3 to test.

Could this be a performance problem?
I see nothing obvious wrong in the timings or otherwise, but on my laptop i also see the spikes, even if it benchmarks with ~100fps on that sample with YADIF on.

Heck it even happens without YADIF on o.O

I have yet to compare to 0.55, though.

STaRGaZeR
11th April 2013, 11:48
Could this be a performance problem?
I see nothing obvious wrong in the timings or otherwise, but on my laptop i also see the spikes, even if it benchmarks with ~100fps on that sample with YADIF on.

Heck it even happens without YADIF on o.O

I have yet to compare to 0.55, though.

It certainly can be a performance problem, that was my first thought, but as it never happened before and in benchmarks it works fine (but slower than 55.2 here, 200 vs 211 fps, interesting) I started to look for other causes without success. It always fixes itself for me when I disable yadif or use DXVA on the ATI though.

BTW the source is BD.

Devrim
11th April 2013, 12:26
Can you maybe cut a small part from this file?
You can try using a simple splitter like DGSplit (http://neuron2.net/dgsplit/dgsplit12.zip), cut off the first 10mb or so, and test if the small file still crashes. With MKV that should usually work.

I did split the file and the split file did work, maybe the original file is corrupt, I will try to redownload the file and see if it crashes again

nevcairiel
11th April 2013, 12:33
It certainly can be a performance problem, that was my first thought, but as it never happened before and in benchmarks it works fine (but slower than 55.2 here, 200 vs 211 fps, interesting) I started to look for other causes without success. It always fixes itself for me when I disable yadif or use DXVA on the ATI though.

Try with this instead?
http://files.1f0.de/lavf/LAVFilters-0.56-3-g84019e5.zip

I changed something that was not really intentional to be activated for multi-threaded codecs, and may have a negative impact on performance for them, actually.

Devrim
11th April 2013, 14:09
I did split the file and the split file did work, maybe the original file is corrupt, I will try to redownload the file and see if it crashes again

I redownloaded the file and it kept crashing, I also downloaded the 1080P version of the same video and it also crashes. It seems the encoder of the file has done something to it that makes LAV+MPC-HC crash. When I split the file everything is fine.

andyvt
11th April 2013, 14:21
Indeed, the Packet class now does reference counting on the data so that it can be safely passed around.

Thanks. Will have a closer look at how it works.

itsonlyjustincase
11th April 2013, 16:28
CUVID decoding doesn't use the CUDA cores. It uses a separate decoder.

Oh i didn't know. I thought CUDA was a technology perfect for video encoding/decoding and thought CUVID was using it. Hope next Lav Filters will include CUDA usage

paradoxical
11th April 2013, 16:51
Oh i didn't know. I thought CUDA was a technology perfect for video encoding/decoding and thought CUVID was using it.

No, CUVID is simply an API to use the hardware decoder.

Hope next Lav Filters will include CUDA usage

For what exactly? Simply using CUDA does not make things faster.

itsonlyjustincase
11th April 2013, 17:05
No, CUVID is simply an API to use the hardware decoder.



For what exactly? Simply using CUDA does not make things faster.

Okay i thought it would :). I need something that permit me to play multiple H264 1080p vidz at the same time

kerimcem
11th April 2013, 17:07
my card ati3650 and mobillty ati 3450 lav dxva mode...both same..
are some of the green screen videos(wmv,vc1)
daum player dvxa mode+madvr no problem..works well....mpc,lav problem...
http://j1304.hizliresim.com/18/c/lzfg5.jpg

ile size : 300 MiB
Duration : 20mn 14s
Overall bit rate mode : Variable
Overall bit rate : 2 071 Kbps
Maximum Overall bit rate : 4 098 Kbps
Encoded date : UTC 2010-04-22 16:45:25.187

Video
ID : 2
Format : VC-1
Format profile : MP@HL
Codec ID : WMV3
Codec ID/Info : Windows Media Video 9
Codec ID/Hint : WMV3
Description of the codec : Windows Media Video 9 - Professional
Duration : 20mn 14s
Bit rate mode : Variable
Bit rate : 2 024 Kbps
Width : 960 pixels
Height : 540 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.163
Stream size : 293 MiB (98%)

Audio
ID : 1
Format : WMA
Format version : Version 2
Codec ID : 161
Codec ID/Info : Windows Media Audio
Description of the codec : Windows Media Audio 9.2 - 32 kbps, 32 kHz, stereo 2-pass CBR
Duration : 20mn 14s
Bit rate mode : Constant
Bit rate : 32.0 Kbps
Channel(s) : 2 channels
Sampling rate : 32.0 KHz
Bit depth : 16 bits
Stream size : 4.63 MiB (2%)

paradoxical
11th April 2013, 17:08
Okay i thought it would :). I need something that permit me to play multiple H264 1080p vidz at the same time

If your system can't currently do it it means you need to upgrade it. My GPU can playback multiple 1080p videos just fine as I've previously told you when you brought this up. If yours can't then you've hit the limitations of your hardware's performance. "Using CUDA" is not going to mystically solve your problem.

yok833
11th April 2013, 17:45
Is there a real difference of picture quality between cuvid and hardware decoding? I m thinking about changing my ATI hd 6850 for a GTX 660 dc2...

paradoxical
11th April 2013, 17:58
Is there a real difference of picture quality between cuvid and hardware decoding? I m thinking about changing my ATI hd 6850 for a GTX 660 dc2...

CUVID is hardware decoding...

STaRGaZeR
11th April 2013, 19:08
Try with this instead?
http://files.1f0.de/lavf/LAVFilters-0.56-3-g84019e5.zip

I changed something that was not really intentional to be activated for multi-threaded codecs, and may have a negative impact on performance for them, actually.

This one seems to work fine, however perfomance has decreased even more, CPU usage is lower:

0.55.2 ----------- 210fps 75-80% No stuttering
0.56 ------------- 200fps 75-80% Stuttering
This test build ---- 170fps 60-65% No stuttering

Reino
11th April 2013, 20:14
And I don't know what FFDShow's PC.709-->Rec601 conversion is based on, but since ffmpeg can do PC.709-->Rec601 conversions now (-pix_fmt yuv420p -vf colormatrix=bt709:bt601), is it possible to integrate it into LAV Filters? LAV Filters is based on ffmpeg, right?

If Fraps encoded YV12 is always in the same matrix, i can also hardcode that value somewhere.Any update on this one?
FPS1(yuvj420p) is always Full-range Rec.709 and needs to be TV-range Rec.601. Is it possible to integrate ffmpeg's PC.709-->Rec601 conversion method into LAV Filters and apply it on FPS1(yuvj420p) files only?

nevcairiel
11th April 2013, 22:50
This one seems to work fine, however perfomance has decreased even more, CPU usage is lower:

0.55.2 ----------- 210fps 75-80% No stuttering
0.56 ------------- 200fps 75-80% Stuttering
This test build ---- 170fps 60-65% No stuttering

I can reproduce this with YADIF.

Can you confirm that without YADIF (pure decoding) the speed is the same between all the versions, if not slightly faster with 0.56?

I'm trying to figure out why YADIF is having performance issues now, my initial testing of course was with the 0.56 version, which did cause the smoothness issues you saw, but it should at least be at 0.55 levels with that turned off again, oh well, something to dig.
Wonder if maybe YADIF itself has suffered a bit of a slow-down recently, which was masked by aggressive multithreading, and if that slow-down was at a certain point, i would've tested my changes against that (after updating ffmpeg, before updating my code, and after updating my code, but same ffmpeg)

Also, here is another test, which seems smooth to me and restores a tiny bit of the performance at least:
http://files.1f0.de/lavf/LAVFilters-0.56-mtdecode-test.zip

If it works properly, it means i can also remove some complexity from the decoder (which may have improved performance in benchmarks, but in real world just caused jittery playback, apparently)
Still looking for the big performance difference, but not today anymore.

Asmodian
11th April 2013, 22:59
Any update on this one?
FPS1(yuvj420p) is always Full-range Rec.709 and needs to be TV-range Rec.601. Is it possible to integrate ffmpeg's PC.709-->Rec601 conversion method into LAV Filters and apply it on FPS1(yuvj420p) files only?

I might be missing something but why does FPS1(yuvj420p) need to be TV-range Rec.601, wouldn't TV-range Rec.709 be good? Rec.709 vs Rec.601 would be in the resolution, which I would hope is usually >=720p?

Either outputting RGB from LAV or letting LAV tell MadVR "this video is Full-range Rec.709" seems like the correct solution for fraps.

I have no plans to add code to change the YUV color matrix. Its not something a decoder should be doing.

Aleksoid1978
12th April 2013, 00:28
Hi nevcairiel

There is issue in LAV Video(DXVA native) + LAV Splitter + ATI on H.264 interlaced material. After seek - image corrupted, crumbles & twitches. Microsoft or Cyberlink decoder do not have this issue. MPC DXVA Decoder also have this bug.
If instead LAV Splitter select internal MPC MPEG splitter - LAV Video decode ok after seek.

I found the reason for this behavior - when use MPC MPEGSplitter in
HRESULT CLAVVideo::Receive(IMediaSample *pIn)
after seek triggered a check:

AM_MEDIA_TYPE *pmt = NULL;
if (SUCCEEDED(pIn->GetMediaType(&pmt)) && pmt) {
CMediaType mt = *pmt;
DeleteMediaType(pmt);
if (mt != m_pInput->CurrentMediaType() || !(m_dwDecodeFlags & LAV_VIDEO_DEC_FLAG_DVD)) {
DbgLog((LOG_TRACE, 10, L"::Receive(): Input sample contained media type, dynamic format change..."));
m_Decoder.EndOfStream();
hr = m_pInput->SetMediaType(&mt);
if (FAILED(hr)) {
DbgLog((LOG_ERROR, 10, L"::Receive(): Setting new media type failed..."));
return hr;
}
}
}

and you recreate decoder.

Recreate decoder avoids all these problems after seeking.

There is some short sample - http://aleksoid.voserver.net/Sample/H264/Interlace/

Screen:
http://s12.postimg.org/6nl2p8k5l/image.jpg (http://postimg.org/image/6nl2p8k5l/)

http://s22.postimg.org/53g25c2al/image.jpg (http://postimg.org/image/53g25c2al/)

Aleksoid1978
12th April 2013, 07:28
Another issue - LAV Splitter can't correct change different video track. The problem is that - after select new video track LAV Splitter do not send new media type to the decoder.

Here is a sample, that contain 2 video stream - AVC/MPEG2
http://aleksoid.voserver.net/Sample/Mix/AVC_MPEG_MIX.m2ts

nevcairiel
12th April 2013, 08:25
Another issue - LAV Splitter can't correct change different video track. The problem is that - after select new video track LAV Splitter do not send new media type to the decoder.

It actually does send a new media type, but there was a bug that caused its internal H264 parser to not be turned off, and parsing MPEG2 as H264 ... doesn't work so well.

It'll be fixed in the next version, thanks for reporting.

Aleksoid1978
12th April 2013, 10:26
It actually does send a new media type, but there was a bug that caused its internal H264 parser to not be turned off, and parsing MPEG2 as H264 ... doesn't work so well.

It'll be fixed in the next version, thanks for reporting.

Thanks :)

What you think about this bug

LAV Video(DXVA native) + LAV Splitter + ATI on H.264 interlaced material

nevcairiel
12th April 2013, 10:32
I don't have a ATI system right now, need to setup test system with my ATI card first to check.
But i would think that someone would've reported it before if it was a generic issue? Maybe driver related?

Qaq
12th April 2013, 10:46
I can't confirm any bugs with ATI, LAV/DXVA N and H.264 interlaced.
Aleksoid, what exactly you are talking about?

Nev, thanks for the new version. So far, so good.

kerimcem
12th April 2013, 10:50
my card ati3650 and mobillty ati 3450 lav dxva mode...both same..
are some of the green screen videos(wmv,vc1)
daum player dvxa mode+madvr no problem..works well....mpc,lav problem...
http://j1304.hizliresim.com/18/c/lzfg5.jpg

this bug? pot player(internal codec) dxva mode no problem works well...lav and mpc problem damaged :(

nevcairiel
12th April 2013, 11:05
this bug? pot player(internal codec) dxva mode no problem works well...lav and mpc problem damaged :(

I don't have such ancient ATI hardware, and no way to get any, so i don't really expect much progress here.

Aleksoid1978
12th April 2013, 11:06
I can't confirm any bugs with ATI, LAV/DXVA N and H.264 interlaced.
Aleksoid, what exactly you are talking about?


http://forum.doom9.org/showpost.php?p=1623766&postcount=14764http://forum.doom9.org/showpost.php?p=1623766&postcount=14764

it's bug present on different ATI card and different drivers.

Snowknight26
12th April 2013, 14:04
I can confirm that issue using one of the samples Aleksoid provided on a Radeon HD 6870.

nevcairiel
12th April 2013, 19:38
There is issue in LAV Video(DXVA native) + LAV Splitter + ATI on H.264 interlaced material. After seek - image corrupted, crumbles & twitches.
I can confirm that issue using one of the samples Aleksoid provided on a Radeon HD 6870.

Does this version help? I've not setup my ATI card yet, but maybe this already does it.
http://files.1f0.de/lavf/LAVFilters-0.56-9-g4cd6666.zip

Konrad Klar
12th April 2013, 19:49
From quite different barrel:
I have Geforce GTX 560. CUVID MPEG-4 does not decode properly XVIDs encoded with GMC, 2 Warppoints (not tested GMC, 1 Warppoint).
Would it be possible to make a compatibility check and fallback to software decoding in case of GMC MPEG-4 ASP?

nevcairiel
12th April 2013, 19:50
I have Geforce GTX 560. CUVID MPEG-4 does not decode properly XVIDs encoded with GMC, 2 Warppoints (not tested GMC, 1 Warppoint).
Would it be possible to make a compatibility check and fallback to software decoding in case of GMC MPEG-4 ASP?

Possible? Maybe, but mpeg4-asp is not a high priority, especially concerning GMC, which is extremely rare.
Personally i would simply advice to use software decoding for MPEG-4 ASP, but i'll put it on the list to add such a check. A sample file would help so i have something to check against.

STaRGaZeR
12th April 2013, 21:17
i can reproduce this with yadif.

Can you confirm that without yadif (pure decoding) the speed is the same between all the versions, if not slightly faster with 0.56?

I'm trying to figure out why yadif is having performance issues now, my initial testing of course was with the 0.56 version, which did cause the smoothness issues you saw, but it should at least be at 0.55 levels with that turned off again, oh well, something to dig.
Wonder if maybe yadif itself has suffered a bit of a slow-down recently, which was masked by aggressive multithreading, and if that slow-down was at a certain point, i would've tested my changes against that (after updating ffmpeg, before updating my code, and after updating my code, but same ffmpeg)

also, here is another test, which seems smooth to me and restores a tiny bit of the performance at least:
http://files.1f0.de/lavf/lavfilters-0.56-mtdecode-test.zip

if it works properly, it means i can also remove some complexity from the decoder (which may have improved performance in benchmarks, but in real world just caused jittery playback, apparently)
still looking for the big performance difference, but not today anymore.

Since the link is down I used the last build you posted, here are the results:

Pure software decoding:

0.55.2 --------------- 201fps
0.56 ----------------- 205fps
Previous test build ---- 205fps
This test build -------- 205fps

With software+yadif:

0.55.2 --------------- 210fps 75-80% No stuttering
0.56 ----------------- 200fps 75-80% Stuttering
Previous test build ---- 170fps 60-65% No stuttering
This test build -------- 185fps 65-70% No stuttering

Stuttering is fixed and perfomance is up a bit indeed, still not the same levels as before but at least it doesn't stutter. The question about the performance drop still remains though :D

nevcairiel
12th April 2013, 21:24
The question about the performance drop still remains though :D

I figured out why its slower, finally.
Apparently there was a long-standing bug in YADIF which caused it to overread the image buffer on the edges of the image, and this was fixed recently - however the fix works in such a way that the edges of the image can no longer use the SSE2/SSSE3 optimized functions and are done in pure C, which brings with it a small slowdown (from your and my measurements, around 5-10%), which explains why the latest test build is slower now.

0.56 was still a bit faster because the aggressive multi-threading which caused the stuttering was mitigating the slowdown a bit.
I tried reverting the fixes to YADIF and it restored it to the same speed as 0.55, however that was only for confirming nothing else is slower, and i'm not going to keep a known bug that overreads the image buffer in the code for a few % of speed. ;)

Maybe i can try to multi-thread YADIF itself (before it itself was still single-threaded, just running on an async worker thread), and give it a speed benefit from this, while staying in sync with the main processing thread to avoid the stuttering issue.

Mercury_22
12th April 2013, 21:31
Does this version help? I've not setup my ATI card yet, but maybe this already does it.
http://files.1f0.de/lavf/LAVFilters-0.56-9-g4cd6666.zip
No change tested on 00000.mts (http://aleksoid.voserver.net/Sample/H264/Interlace/) sample

nevcairiel
12th April 2013, 21:34
No change tested on 00000.mts (http://aleksoid.voserver.net/Sample/H264/Interlace/) sample

You did try my build, and not Git right? Because i didnt push that yet. :p
Maybe i need to install my ATI card somewhere then.

Mercury_22
12th April 2013, 22:00
You did try my build, and not Git right? Because i didnt push that yet. :p
Maybe i need to install my ATI card somewhere then.

Both :p

Snowknight26
12th April 2013, 22:10
No change tested on 00000.mts (http://aleksoid.voserver.net/Sample/H264/Interlace/) sample

Confirmed.

DragonQ
12th April 2013, 22:53
Apparently there was a long-standing bug in YADIF which caused it to overread the image buffer on the edges of the image, and this was fixed recently - however the fix works in such a way that the edges of the image can no longer use the SSE2/SSSE3 optimized functions and are done in pure C, which brings with it a small slowdown...

Were there any negative consequences of this bug? Cos if it was simply faster...

nevcairiel
12th April 2013, 22:58
Were there any negative consequences of this bug? Cos if it was simply faster...

Doesn't the word "bug" already imply that? :p
Feel free to lookup what consequences a buffer overread/out-of-bounds read can have.

e-t172
12th April 2013, 23:27
As someone once said, "I can make your program infinitely faster if it doesn't have to be correct".

DragonQ
13th April 2013, 00:15
Doesn't the word "bug" already imply that? :p
Feel free to lookup what consequences a buffer overread/out-of-bounds read can have.
Yeah but I don't remember hordes of people complaining that it was broken so I'm confused as to why something with such a huge bug worked at all.

noee
13th April 2013, 00:19
edge case? C'mon man, you gotta fix bugs, especially buffer overruns.

Mangix
13th April 2013, 02:43
my card ati3650 and mobillty ati 3450 lav dxva mode...both same..
are some of the green screen videos(wmv,vc1)
daum player dvxa mode+madvr no problem..works well....mpc,lav problem...


Off-topic: Nice refresh rate </sarcasm>

On-topic: DXVA mode is broken if you are using patched ATi drivers. Also, to really fix this you need to downgrade your drivers. The latest ones for that chip are terrible.

madshi
13th April 2013, 07:37
Feel free to lookup what consequences a buffer overread/out-of-bounds read can have.
Do you allocate the YADIF source buffers yourself? If so, you can make sure the buffer is 32byte bigger than necessary. That way you could use SSE2/3 on the whole buffer without worrying about buffer overruns...

nevcairiel
13th April 2013, 07:41
Do you allocate the YADIF source buffers yourself? If so, you can make sure the buffer is 32byte bigger than necessary. That way you could use SSE2/3 on the whole buffer without worrying about buffer overruns...

I do not, i feed it whatever comes from the decoder, anything else would require additional memory copies which would probably negate any advantages.

I'm not sure why everyone is so obsessed about this, YADIF is still plenty fast, and in real-world framerates you'll most likely not even notice any difference, only if you benchmark.

correct > fast, especially if fast includes invalid memory reads.

madshi
13th April 2013, 08:08
I do not, i feed it whatever comes from the decoder, anything else would require additional memory copies which would probably negate any advantages.

I'm not sure why everyone is so obsessed about this, YADIF is still plenty fast, and in real-world framerates you'll most likely not even notice any difference, only if you benchmark.
Not obsessed about it. But if you can win a few percent without any disadvantage, why not? E.g. if the decoder is LAV, you could allocate 32 bytes "bigger" in LAV Video Decoder and then do YADIF with full size SSE2/3. But probably it's not worth the extra effort.

nevcairiel
13th April 2013, 08:23
if the decoder is LAV, you could allocate 32 bytes "bigger" in LAV Video Decoder and then do YADIF with full size SSE2/3. But probably it's not worth the extra effort.

The problem is that the decoder is not LAV, but ffmpeg, and patching it to ensure there is padding before and after the image sounds like messy business, not to mention the future merge conflicts when updating ffmpeg, which would show up in yadif itself as well as all the other parts i have to fix in ffmpeg for this to work.

ryrynz
13th April 2013, 08:33
Could always run it by the ffmpeg guys and see what comes of it.

madshi
13th April 2013, 08:35
Ok, just forget it IMHO. Just thought if there were a very easy solution then it might be worth it. But it's not worth any headaches, I would say...

nevcairiel
13th April 2013, 08:37
Ok, just forget it IMHO. Just thought if there were a very easy solution then it might be worth it. But it's not worth any headaches, I would say...

I agree, too many headaches already.
Like i said, i rather invest time trying to improve yadif in other ways, like multi-threading the filtering itself, instead of trying to hack 5% speed back in there.

kerimcem
13th April 2013, 11:09
Off-topic: Nice refresh rate </sarcasm>

On-topic: DXVA mode is broken if you are using patched ATi drivers. Also, to really fix this you need to downgrade your drivers. The latest ones for that chip are terrible.

potplayer (internal codec)+madvr(1.5.2605) working properly works well h264 vc1 wmv(dxva) no problem,problem lav+mpc...

kerimcem
13th April 2013, 11:35
http://l1304.hizliresim.com/18/f/m143x.jpghttp://j1304.hizliresim.com/18/f/m1449.jpg

same video,potplayer no problem....

nevcairiel
13th April 2013, 11:36
I already told you that i have no such hardware, so unless you want to send me the hardware required, there is nothing i can do.
As an alternative, you're also free to fix it and send me a patch.

STaRGaZeR
13th April 2013, 12:12
snip

Ah, I see what you mean now in the code. Well, the difference isn't that big but this will result in bigger power consumption and heat, even if it's marginal. Since this is visually indistinguishable I'd say the ball is on ffmpeg, they could allocate a sighly bigger buffer and keep using SIMD in the whole line. But somebody try convince them on that, I certainly won't, don't want to waste my time :D

nevcairiel
13th April 2013, 12:35
LAV Filters 0.56.1

LAV Splitter
- Fixed various crashes with ordered chapter MKVs
- Fixed a crash when playing an MKV with a disabled subtitle track
- Fixed switching between video streams with different codecs (ie. H264 -> MPEG2)

LAV Video
- Fixed a crash on close with DXVA2 Native
- Re-tuned YADIF for smooth playback instead of benchmarking


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

Just a few fixes, mostly related to ordered chapters or the ffmpeg updates.
In case you missed 0.56, release notes are here (http://forum.doom9.org/showthread.php?p=1623515#post1623515).

YADIF Performance
It was noted that the performance of YADIF is slightly slower now than it was in 0.55.3. This is not a bug.
YADIF had a long-standing bug that caused it to overread its memory buffers, which in the worst case could result in a crash, and even if not, illegal memory reads are no way to write good code. This bug was fixed, however it requires that the edges of the image are handled separately, which costs a bit of performance, making YADIF maybe ~5-10% slower in benchmarks (real-world results will differ), depening on the overall system and decoding speed.

This slowdown was masked in 0.56.0 by too aggressive multi-threading, which caused stuttering/jittering playback, which was now tuned for smooth playback, at the cost of a little bit of performance (and the gain of simpler code!)

If YADIF performance is critical, its very well possible to invest some time to optimize it, (safely) multi-thread it, without resorting to illegal memory reads for the sake of performance.

In any case, please report any issues you find.

Have fun!

wanezhiling
13th April 2013, 12:42
:thanks:

First!:D

Mercury_22
13th April 2013, 13:02
It's there any chance that now you have time to take a look at this one (http://code.google.com/p/lavfilters/issues/detail?id=338) ?

wanezhiling
13th April 2013, 13:04
same video,potplayer no problem....

You should post a download link of that clip at least.

kerimcem
13th April 2013, 14:18
You should post a download link of that clip at least.
wmv in most,some mp4 pillarboxing ,mkv no problem...
sample(green screen) potplayer no problem..
https://hotfile.com/dl/202862411/bb3f6fd/04_thefinalcountdown_Reintroandchorus.wmv.html

wanezhiling
13th April 2013, 15:06
https://hotfile.com/dl/202862411/bb3f6fd/04_thefinalcountdown_Reintroandchorus.wmv.html

I tested the clip on my old laptop machine:
Win7 x64
ATI M HD4650 with 13.1 legacy driver
PotPlayer 1.5.36746
LAVF 0.56.1 (dxva native of course)
madVR v0.86.1

No any green image occurred during playback, see the pic (http://i.imgur.com/WltAvYL.png).

kerimcem
13th April 2013, 15:21
I tested the clip on my old laptop machine:
Win7 x64
ATI M HD4650 with 13.1 legacy driver
PotPlayer 1.5.36746
LAVF 0.56.1 (dxva native of course)
madVR v0.86.1

No any green image occurred during playback, see the pic (http://i.imgur.com/WltAvYL.png).
http://j1304.hizliresim.com/18/f/m1cwk.jpg :D
my old laptop same hd 3400 3xxxhd problem(13.1 driver) and desktop 3650 agp same..
potplayer dxva(internal codec) mode no problem...

wanezhiling
13th April 2013, 15:53
No any greenscreen here

lav dxva, mpc-hc/be dxva, ffdshow dxva, potplayer dxva... all these dxva decoders work fine.

kerimcem
13th April 2013, 16:06
No any greenscreen here

lav dxva, mpc-hc/be dxva, ffdshow dxva, potplayer dxva... all these dxva decoders work fine.
hd3xxx dxva problem....mpc+lav desktop,laptop same..
potplayer dvxa mode no problem....
http://l1304.hizliresim.com/18/f/m1ffp.jpg
and pot+lav(dxva mode) not work....working lav cpu decode...

nevcairiel
13th April 2013, 16:12
I already told you, i cannot fix it unless i get the hardware to reproduce it, and its unlikely you can actually still buy them reliably anymore because they are just so very old, and i'm not in the mood to invest money or much effort for hardware 4 generations old.

You do not need to keep repeating that it doesn't work and posting new screenshots, its not going to help.

kerimcem
13th April 2013, 16:21
I already told you, i cannot fix it unless i get the hardware to reproduce it, and its unlikely you can actually still buy them reliably anymore because they are just so very old, and i'm not in the mood to invest money or much effort for hardware 4 generations old.

You do not need to keep repeating that it doesn't work and posting new screenshots, its not going to help.
ok..thanks..
PotPlayer(dxva) loves the old hardware:D PotPlayer use my..:p

mastrboy
13th April 2013, 17:53
nevcairiel:
Any good reason that LAV filters is way slower than haali when there many files in a ordered chapters series?

I have a folder with 134 video files, avi and mkv, where only 25 of them use ordered chapters. (The MKV files)
Haali loads the file in 1-2 seconds, while LAV used almost 30 seconds... (28s to be exact)

(The files resides on a SMB/Windows share)

nevcairiel
13th April 2013, 18:05
Its simply not optimized for such a use-case yet. It doesn't look at the AVI files, but it would open every MKV file in the folder and parse its header information.
It can probably be optimized a bit so that it only reads the header infos it really needs to find (the segment UID) to determine if it needs to parse the whole header, not sure if that would give you such drastic improvements, i probably need to setup some test folders to see this.

NikosD
13th April 2013, 18:54
Hi nevcairiel

There is issue in LAV Video(DXVA native) + LAV Splitter + ATI on H.264 interlaced material. After seek - image corrupted, crumbles & twitches. Microsoft or Cyberlink decoder do not have this issue. MPC DXVA Decoder also have this bug.
If instead LAV Splitter select internal MPC MPEG splitter - LAV Video decode ok after seek.

Recreate decoder avoids all these problems after seeking.

There is some short sample - http://aleksoid.voserver.net/Sample/H264/Interlace/



wmv in most,some mp4 pillarboxing ,mkv no problem...
sample(green screen) potplayer no problem..
https://hotfile.com/dl/202862411/bb3f6fd/04_thefinalcountdown_Reintroandchorus.wmv.html

Trying all of the above clips (6) on my signature system, with both LAV filters 0.56.1 and PotPlayer, didn't find any problems besides a little video decoding problem at the beginning of DVBsub.ts clip. (probably file problem)

PotPlayer handles that clip a little better than LAV Video.

I'll test tomorrow my 3650 AGP card.

mastrboy
13th April 2013, 19:00
Ok, if you need any help testing new builds related to this "issue" just let me now, I have multiple series which has over 100 files with ordered chapters which I can test with.

I did a quick compare on the network usage between Haali and LAV, and LAV is reading a lot more data apparently: http://s12.postimg.org/sgpolgnql/orderedchap.png

nevcairiel
13th April 2013, 19:25
It'll be a bit, but i'll see what i can do.

cyberbeing
13th April 2013, 20:49
The difference mastrboy reported seems quite extreme.

In a folder with 30 mkv files:

Haali: 96 File Operations
LAV: 1396 (!) File Operations

Haali apparently only performs a single 32KB read from offset 0 on each file.

File I/O Logs (http://www.mediafire.com/?m12f0euc27eh2ln)

nevcairiel
13th April 2013, 20:52
Like i said, LAV currently parses the full MKV headers of all files in the folder, and i do plan to improve it by doing something similar to Haali, only read as much as required to find the segment UID, and then decide if it needs parsing.
But like i also said, it'll be a bit, i try to take small breaks after finishing a bigger version, helps staying focused in the long run.

The way i go about development is at first go with the "naive" algorithm and get the feature working, and then think about how to do it more efficient.

PS:
What do you use for those logs?
May be helpful to check my efforts.

cyberbeing
13th April 2013, 21:03
I already understood that from your previous post. I was only trying to be helpful, not upset you by repeating the issue.

The logs are from Sysinternals Process Monitor (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx).

nevcairiel
13th April 2013, 21:07
Thanks, i'll take a look soon, should be relatively easy to fix, parsing the first headers of an MKV is easy.

mandarinka
13th April 2013, 23:26
Like i said, LAV currently parses the full MKV headers of all files in the folder, and i do plan to improve it by doing something similar to Haali, only read as much as required to find the segment UID, and then decide if it needs parsing.
But like i also said, it'll be a bit, i try to take small breaks after finishing a bigger version, helps staying focused in the long run.

The way i go about development is at first go with the "naive" algorithm and get the feature working, and then think about how to do it more efficient.

Could it perhaps help if the check was first performed on files whose filenames contain some string that matches string in the parent file's filename?

Although such trick wouldn't do any good if the whole series was in a single subfolder with nothing else - it would only be able to help if there were other unrelated mkv files in the folder.

/I know I am suggesting hacky features, but perhaps also checking for strings like "OP", "ED", "opening", "ending" could in many cases save some time./

nevcairiel
14th April 2013, 07:57
Those attempts are way too fragile, and would only work for a very limited set of files, so there always needs to be a fallback to full scanning.
If the scanning is properly optimized, it should be fast enough, or was this ever a real problem with Haali?

mandarinka
14th April 2013, 11:41
There can be a delay, when there is a lot of files in the folder, but not painfully big one. IIRC...

I just meant it as a shortcut to try before the full search. I think it would catch a lot of cases though (esp. the search for "opening" etc).

NikosD
14th April 2013, 13:30
Hi nevcairiel

There is issue in LAV Video(DXVA native) + LAV Splitter + ATI on H.264 interlaced material. After seek - image corrupted, crumbles & twitches. Microsoft or Cyberlink decoder do not have this issue. MPC DXVA Decoder also have this bug.
If instead LAV Splitter select internal MPC MPEG splitter - LAV Video decode ok after seek.

There is some short sample - http://aleksoid.voserver.net/Sample/H264/Interlace/


Using an older system with Win 7 x64 SP1 - Radeon 3650 AGP - Catalyst 13.1 official with automatic de-interlacing on (Catalyst control panel) I got these results:

All 5 H.264 Interlaced clips play fine with Microsoft's decoder, MPC decoder, PotPlayer.

4 clips have problem in de-interlacing with LAV Video 0.56.1, but no green screen.
Only DVBsub.ts plays fine with LAV Video.

wmv in most,some mp4 pillarboxing ,mkv no problem...
sample(green screen) potplayer no problem..
https://hotfile.com/dl/202862411/bb3f6fd/04_thefinalcountdown_Reintroandchorus.wmv.html

Here we have Green screen with both LAV Video and MPC decoder.
Microsoft's decoder and PotPlayer play them perfect - as always.

Also just FYI, all of my VC-1 interlaced clips have problems(not green screen) with both LAV Video and MPC decoder.

PotPlayer plays VC-1 interlaced on 3650 just perfect.

PotPlayer is definitely one-way for HD2000/3000 Radeon series.

Maybe nevcariel should place a warning at first page that UVD/UVD+ is not supported for interlaced content.
LAV needs UVD2 or higher

nevcairiel
14th April 2013, 14:28
How would you test the Microsoft decoder for VC-1? AFAIK it only does DXVA when used in WMP, so its hard to do real comparisons.
Good would be testing a decoder which can actually be used everywhere, like a commercial one from PowerDVD or so, to check if it works, and can be analysed what it does differently.

sneaker_ger
14th April 2013, 14:37
Those attempts are way too fragile, and would only work for a very limited set of files, so there always needs to be a fallback to full scanning.
If the scanning is properly optimized, it should be fast enough, or was this ever a real problem with Haali?

In my older post I gave some suggestions, i.e. do a search prioritization of some sort and stop reading more files when all external segments have been found. Or is this not possible? But since the basic idea is simple, you probably have already thought about that, I guess?

So basically it acts like current Haali versions, I see. I was thinking that maybe there was a better way, like at least stop searching once all linked Segments have been found or do some prioritization for the search with file names(similar name) , writing date (closest to current file) or file size (for example in relation to chapter length). But the current way is good enough me. For the "simple" linking I think the Matroska specs even offers file name tags ("PrevFilename", "NextFilename").

Blight
14th April 2013, 14:57
nev:
How does ordered chapters work?

I tried two clips from here:
http://www.ps-auxw.de/ordered/

However, it doesn't seem to be working well.
It seems to detect the ordered chapters and even merges multiple files for playback, but it shows the entire content, even section marked as "you should not see this".

I also tried the "mkv_ordered_chapters_example" (mkv/xml) sample.
It seems to work better, but selecting an edition doesn't change the media duration...
How is the player supposed to know the media-duration changed?
How about supporting the EC_LENGTH_CHANGED event?

Is there a specific interface for getting ordered chapters vs standard chapters?
Or do they share the same interface?

P.S.
I've used 0.56.1 to test.

NikosD
14th April 2013, 15:01
I would test it using DXVAChecker as player.
Best and unique software of its kind.

No interest testing commercial players/ decoders when we have PotPlayer.

nevcairiel
14th April 2013, 15:06
I tried two clips from here:
http://www.ps-auxw.de/ordered/

However, it doesn't seem to be working well.
It seems to detect the ordered chapters and even merges multiple files for playback, but it shows the entire content, even section marked as "you should not see this".

Those files are encoded badly, there are no seek points/key frames on the ordered chapter border, so it can't do its thing properly. Broken files, bad examples.


I also tried the "mkv_ordered_chapters_example" (mkv/xml) sample.
It seems to work better, but selecting an edition doesn't change the media duration...
How is the player supposed to know the media-duration changed?
How about supporting the EC_LENGTH_CHANGED event?

MPC-HC picked up the duration change just fine on its own, so i didn't think there would be anything required to do. I can probably make it fire that event if it helps.


Is there a specific interface for getting ordered chapters vs standard chapters?
Or do they share the same interface?


Technically, there is no such thing as an "ordered chapter", its really a misnomer.
There is a flag in the MKV edition if the chapters are ordered, which means they define a virtual timeline instead of just labels on the plain timeline.

For the player, there is no difference at all. It still gets a normal chapter list on a normal timeline, the difference is only how the timeline is constructed in the splitter.

nevcairiel
14th April 2013, 15:07
I would test it using DXVAChecker as player.
Best and unique software of its kind.

No interest testing commercial players/ decoders when we have PotPlayer.

But you can't even test PotPlayer decoders in DXVAChecker, or can you?
AFAIK its limited to its own player, which makes it useless for many people.

NikosD
14th April 2013, 15:13
Of course I can't.

How could I test internal decoders that are not exposed as DS/MFT filters ?

I didn't expect you to ask me such questions.

What are you trying to say ?

sneaker_ger
14th April 2013, 15:19
Those files are encoded badly, there are no seek points/key frames on the ordered chapter border, so it can't do its thing properly. Broken files, bad examples.

I've always wondered: is this a limitation of DirectShow, i.e. can't it pass frames to down the chain but mark them as "do not display, only for decoding" or something?

nevcairiel
14th April 2013, 15:19
What are you trying to say ?

All i want is a decoder which works with VC-1 on the HD3xxx in MPC-HC or DXVAChecker so i can compare what it does and maybe figure out how to fix LAV, but a decoder which is limited to some closed asian player simply doesn't help.
So it would be helpful if anyone could test Cyberlinks decoder and see if it works on that old card.

I've always wondered: is this a limitation of DirectShow, i.e. can't it pass frames to down the chain but mark them as "do not display, only for decoding" or something?

No you can't do that.
I could probably make that happen with LAV Splitter + LAV Video, but it would only work in that combination, and i would rather not enable people to build such broken files.

sneaker_ger
14th April 2013, 15:30
Would it be possible to assign all frames that are to be skipped the same timecode?

Qaq
14th April 2013, 15:38
Doesn't Pot unpack its decoders somethere?

Qaq
14th April 2013, 15:44
All i want is a decoder which works with VC-1 on the HD3xxx in MPC-HC
I know some guy uses Cyberlink with VC-1 and HD3200. Actually I have HD3200 integrated but disabled.

wanezhiling
14th April 2013, 15:59
Doesn't Pot unpack its decoders somethere?
No and never will.

The reason why PotPlayer's internal filters(splitters/decoders/pp-filters) are so strong is just simple: its a ds player which merged all good stuffs in the world and did a perfect optimization, you can find *shadow* of mpc-hc/be, lav, and some commercial softwares:p in PotPlayer.

This is a sensitive topic i couldn't comment more.

Well the korean player has a wonderful user experience because of too many wonderful functions/features as its "predecessor" KMPlayer already did, at least for asia people.:)

nevcairiel
14th April 2013, 16:15
I know some guy uses Cyberlink with VC-1 and HD3200.

At least something. I'll try to do a comparison of the VC-1 handling and see if any obvious shows up.

woody777
14th April 2013, 17:41
Is it possible to "bitstream" multichannel PCM (and by bitstream, I mean bypass the Windows mixer)? I have several blu rays with RAW/PCM tracks instead of the more common DTS-MA or Dolby TrueHD.

The only way I know how to successfully bypass the Windows mixer and send multichannel PCM to my AVR is through Reclock. Otherwise, multichannel PCM is output at stereo/44.1 (Windows control panel is set to stereo/44.1 because, with the exception of a handful of multichannel PCM, everything is either truly bitstreamed or stereo/44.1 music).

Does a solution to this problem exist in LAV independent of Reclock? I know Reclock exists, but it's definitely not an ideal solution to the above problem (mainly because I'm using it in a way it was not necessarily designed for).

Blight
14th April 2013, 17:53
nev:
I'm sorry for wasting your time on the encoded files, they were given as a sample and I wasn't aware they were badly authored.

I don't know what MPC-HC does to get the new media duration, perhaps they are querying the graph for duration every second, but I'm not a fan of overhead, so if there can be an event driven system, I'm all for it.
I already have code in place that should hopefully make support of this event add backward compatibility with older versions of Zoom Player (and possibly other directshow players).

nevcairiel
14th April 2013, 18:02
Is it possible to "bitstream" multichannel PCM (and by bitstream, I mean bypass the Windows mixer)?

Well it is of course possible, as you already know - but not by anything LAV can do. It outside of its control.

You need an audio renderer which uses exclusive mode, and the only viable option for this right now is ReClock, unless you use a player which has its own renderer which offers the same functionality.

Weirdo
14th April 2013, 19:07
I'm getting shaky video at the top of the window on some streams (http://www.mediafire.com/?c6pqdcebp8wfox8) with Yadif enabled. More noticeable with EVR, madVR a bit less but still there.

Reino
14th April 2013, 19:40
I might be missing something but why does FPS1(yuvj420p) need to be TV-range Rec.601, wouldn't TV-range Rec.709 be good?Screenshot (Fraps)______AVISource (LAGS(rgb24))___AVISource (FPS1(yuvj420p))___FFVideoSource+ColorMatrix(dest0,clamp0,inputFR) (FPS1(yuvj420p))
____________________(recorded with MSI Afterburner*)___(a.k.a. Fraps' own decoder)_______(a.k.a. TV range Rec.709, for comparison)
http://www.ld-host.de/uploads/thumbnails/ce40618b49dfc38494f8f552aef59b48.png (http://www.ld-host.de/uploads/images/ce40618b49dfc38494f8f552aef59b48.png)___http://www.ld-host.de/uploads/thumbnails/0da3f2df2496f170c81bcd6e56350b1e.png (http://www.ld-host.de/uploads/images/0da3f2df2496f170c81bcd6e56350b1e.png)_____http://www.ld-host.de/uploads/thumbnails/3512069e890c80d157d6f173b92265b5.png (http://www.ld-host.de/uploads/images/3512069e890c80d157d6f173b92265b5.png)________http://www.ld-host.de/uploads/thumbnails/ebb9d8346baa93c420cdfa80efca261d.png (http://www.ld-host.de/uploads/images/ebb9d8346baa93c420cdfa80efca261d.png)

*because my old pc has problems with FPS1(bgra)

Rather self-explanatory I'd say.
Fraps in YUV mode encodes to Full range Rec.709. Fraps' own decoder does a YV12(PC.709)-->RGB(Rec601) conversion by default, unlike ffmpeg.

DarkSpace
14th April 2013, 20:58
Fraps in YUV mode encodes to Full range Rec.709. Fraps' own decoder does a YV12(PC.709)-->RGB(Rec601) conversion by default, unlike ffmpeg.
Aside from the fact that this sounds just weird (RGB -> YUV with PC.709 and afterwards YUV -> RGB with TV.601 will distort colors, and also range), shouldn't it be okay for the decoder to output YUV and just flag it as TV.601 instead of TV.709 (or PC.709), then? I fail to see the problem, aside from a very weird way of handling YUV.

Edit: I just realized that this may not seem as clear to someone else as it seems to me, but as I understand it, you're saying that FRAPS simply converts the YUV stream that uses PC.709 matrix coefficients back to RGB using another set of of coefficients, namely TV.601, without modifying the YUV stream at any time.

Reino
14th April 2013, 21:51
Flag it? As in metadata? And then what?

"without modifying the YUV stream at any time." ? A Conversion is something different than a modification in this case in your opinion?

woody777
14th April 2013, 23:18
Well it is of course possible, as you already know - but not by anything LAV can do. It outside of its control.

You need an audio renderer which uses exclusive mode, and the only viable option for this right now is ReClock, unless you use a player which has its own renderer which offers the same functionality.

Thank you, Nev. I was pretty sure I already knew the answer. I may need to look into a script to toggle between 2ch/44.1Hz/16bit and 6ch/48Hz/24bit for the movie in question.

DarkSpace
15th April 2013, 07:57
Flag it? As in metadata? And then what?
Exactly, decode the FRAPS and send the YUV as-is to the renderer, but send along some upstream flags that specify TV-range BT.601 as the stream's decoding matrix. madVR will recognize these flags and decode the stream to RGB as TV-range BT.601, and maybe LAV could even implement an internal RGB conversion for other Renderers that don't support reading these upstream flags (as it's implemented for YCgCo now, for example).

"without modifying the YUV stream at any time." ? A Conversion is something different than a modification in this case in your opinion?
For me, a conversion from YUV to RGB doesn't modify the YUV stream in this context, it rather destroys the YUV and replaces it by RGB. If there's something else you mean by modifying, could you please elaborate further?
I only meant to say that there's nothing strange going on between converting from RGB to YUV (A) and converting from YUV to RGB (B). That means that the YUV stream in (A) is the same as the YUV stream in (B), and in AviSynth notation, the process would look something like this:
Input(RGB24)
ConvertToYV12(matrix="PC.709") #PC-range 709
ConvertToRGB24(matrix="Rec.601") #TV-range 601
Output()

Reino
15th April 2013, 10:36
Just like EVR, I noticed madVR converts a FPS1(yuvj420p) file to TV-range. But are you sure madVR is capable of doing a BT.709 --> BT.601 conversion, because I haven't found any related settings, and the funny thing is, although it's still BT.709, madVR's OSD reports "matrix BT.601 (best guess)".

In that case, I don't think the YUV stream is modified any other way, but to be absolutely sure we'd have to ask the Fraps developer.

madshi
15th April 2013, 10:44
madVR tries to detect the range and matrix of the source, but if the decoder doesn't say which it is, madVR can only guess, based e.g. on source resolution. In your case it seems the resolution is so small that madVR guessed the source to be BT.601 with TV levels. If the source is instead BT.709 with PC levels, you can either manually switch madVR (press [Ctrl+Alt+Shift+i] to switch the source between TV <-> PC levels; press [Ctrl+Alt+Shift+m] to toggle between different decoding matrixes). Or alternatively you could use file name tags to tell madVR what to do (add the text "matrix=bt601 range=pc" to the source file name).

nevcairiel
15th April 2013, 10:54
I think i asked this before, but if apparently Fraps is always BT.709, i might as well hardcode that somewhere, guess i forgot to actually follow up on that =p
I created a note in my task list, so i don't forget again. :)

Reino
15th April 2013, 11:27
Well, I don't know anymore, because I'm really confused now.
LAV/ffmpeg detects FPS1(yuvj420p) files as Full-range BT.709 and in order to correct the colours, in Avisynth one has to do a "PC BT.709" --> "TV BT.601" conversion, BUT in FFDShow and LAV+madVR it's actually BT.709 that gives the same results :confused:.

press [Ctrl+Alt+Shift+m] to toggle between different decoding matrixes).A key-shortcut is the only option available? There are no such settings elsewhere?

DarkSpace
15th April 2013, 11:44
Well, I don't know anymore, because I'm really confused now.
LAV/ffmpeg detects FPS1(yuvj420p) files as Full-range BT.709 and in order to correct the colours, in Avisynth one has to do a "PC BT.709" --> "TV BT.601" conversion, BUT in FFDShow and LAV+madVR it's actually BT.709 that gives the same results :confused:.
I think I see the problem here:
You indeed have to use fullrange BT.709 to convert the YUV back to RGB. However, because the renderer you use to display the YUV doesn't know this, it guesses that TV-range BT.601 should be used on that stream and subsequently uses that to convert to RGB. This means, of course, that you need to either make the renderer use fullrange BT.709 for conversion, or convert the YUV stream so that it conforms to TV-range BT.601 before sending it to the renderer.
This also explains the series of pictures you linked earlier: You took a snapshot of the YUV output without manually converting it to RGB, so the program you used to display the video assumed TV-range BT.601 (just like the video renderer) and the colors were distorted.

madshi
15th April 2013, 12:07
A key-shortcut is the only option available? There are no such settings elsewhere?
What other settings would make sense? Forcing BT.709 to be used for *all* video files? I don't think that's a good idea because there are many true BT.601 files.

cyberbeing
15th April 2013, 12:23
I tested some FRAPS 3.5.99 4:2:0 captures of a test pattern downscaled by madVR, and all required use of the fullrange BT.709 matrix to be displayed correctly.

Once you draw near to 307200 total pixels (640x480 or 736x416) or less, FRAPS seems to automatically force capture of lossless RGB.

Reino
15th April 2013, 13:27
@ DarkSpace: Those screenshots were extracted with AvsPmod, and whether I put a ConvertToRGB at the end of the Avisynth-script or not, it's doesn't change the result.

Ok, let's say we put "FFDShow raw video filter" between LAV VD and VMR9/madVR, to ensure the renderer doesn't know anything about the stream. FFDShow reports it's getting NV12 (Uncompressed) from LAV and puts out RGB32(VMR9)/RGB24(madVR). With default settings in "FFDShow raw video filter" the output for both renderers is now the same (LAV's default output) (whereas madVR performed a range-conversion before).
Now, if I let the "FFDShow raw video filter" convert the stream to Full-range BT.709 ("Output", "RGB conversion"), I get the same result when I go to "AviSynth" and enter ColorMatrix(clamp=0, inputFR=true) (i.e. a Full-range BT.709 to TV-range BT.601 conversion), with both renderers. Now can anyone explain that to me.

@ madshi: Makes sense. Ignore my post.

nevcairiel
15th April 2013, 13:40
You mean on this screen?
http://forum.videohelp.com/attachment.php?attachmentid=8335&d=1314187885

Selecting BT.709 there tells it to use BT.709 to convert to RGB, which is the correct thing to do, because thats what is used for Fraps YV12.
If you use AviSynth, it will have to convert to RGB at some point later, so assuming this conversion uses BT.601, and you convert from BT.709 to BT.601 before, it'll then look alright. (original BT.709 -> convert to BT.601 -> convert to RGB using BT.601)

Makes perfect sense to me.

DarkSpace
15th April 2013, 13:48
@ DarkSpace: Those screenshots were extracted with AvsPmod, and whether I put a ConvertToRGB at the end of the Avisynth-script or not, it's doesn't change the result.
Makes perfect sense. ConvertToRGB() defaults to always using limited-range Rec.601, regardless of resolution, so it only supports my theory of a conversion using incorrect parameters. For reference, you should use ConvertToRGB(matrix="PC.709") and try again, this should work as it's supposed to with the untouched YUV.

aufkrawall
15th April 2013, 16:55
For reference, you should use ConvertToRGB(matrix="PC.709") and try again, this should work as it's supposed to with the untouched YUV.
Result won't be accurate either since Fraps doesn't use exact 601/709 matrix.

DarkSpace
15th April 2013, 18:17
Result won't be accurate either since Fraps doesn't use exact 601/709 matrix.
Interesting. In that case, however, flagging the YUV stream as fullrange BT.709 for the renderer won't be correct, either (though it'll bring an improvement over BT.601).
Do you happen to be able to make the matrix available for anyone who wants to implement it? In that case, maybe a custom matrix designation could be passed to a renderer that supports it and enable it to use that matrix?

aufkrawall
15th April 2013, 18:33
Sorry, I'm not that techie, nor do I have such information available.
That must be cleared with the Fraps makers, I guess.

You may want to take a look at Handbrake, it seems to do a very good conversion for Fraps YV12, almost no difference visible.

cyberbeing
15th April 2013, 19:27
Result won't be accurate either since Fraps doesn't use exact 601/709 matrix.

Are you positive this issue still exists?

FRAPS 3.5.99 + LAV + madVR BT.709 appears to match the RGB values of my source when compared in Photoshop.

aufkrawall
15th April 2013, 19:38
Are you positive this issue still exists?

FRAPS 3.5.99 + LAV + madVR BT.709 appears to match the RGB values of my source when compared in Photoshop.
I'm going to test this hopefully tomorrow again and will also provide a sample.

G_M_C
15th April 2013, 20:03
@nevcairiel:

Some time ago i asked about ordered chapter MKV ( aka 'x-in-1'). You answered that it would eventually be implemented. And while I was working on my final exam paper, I missed that you've found the time to implement this feature.

So I just wanted to post a thank you Nev for this feature :cool:

Reino
15th April 2013, 21:39
ConvertToRGB() defaults to always using limited-range Rec.601.Now, this seems to be the thing what this is all about!
So a standard RGB conversion just assumes(!) TV-Rec.601. That's why...
FFVideoSource("D:\FPS1(yuvj420p)_sample.avi")
ConvertToRGB()...doesn't do anything. The PC-Rec.709 Fraps-file becomes TV-Rec.601 without the stream actually being changed, and that's why you'd have to change it back to PC-Rec.709 to get the right colours. Weird!! That explains FFDShow's "RGB conversion"-settings, because FFDShow automatically converts Fraps to RGB, but what about LAV+madVR? Since it all stays NV12 up untill madVR's input, are the range- and luma conversions ([Ctrl+Alt+Shift+i] and [Ctrl+Alt+Shift+m]) done after the internal RGB conversion?

In this case I used Avisynth in FFDShow yes, where the output will be converted to RGB in the end, but normally that isn't necessary of course. At least I create an Avisynth-script to feed it to x264 ultimately, which only accepts YV12.

So when editing FPS1(yuvj420p) files in Avisynth where the end result has to be YV12 for x264 to swallow, a conversion to TV-Rec.601 is needed, but for playback (RGB) a conversion to PC-Rec.709 is needed.

Exactly, decode the FRAPS and send the YUV as-is to the renderer, but send along some upstream flags that specify TV-range BT.601 as the stream's decoding matrix. madVR will recognize these flags and decode the stream to RGB as TV-range BT.601, and maybe LAV could even implement an internal RGB conversion for other Renderers that don't support reading these upstream flags (as it's implemented for YCgCo now, for example)."TV-range BT.601" now has to be "PC-range BT.709", but furthermore I second that.
--------------------------------------------------------------
Result won't be accurate either since Fraps doesn't use exact 601/709 matrix.Are you positive this issue still exists?

FRAPS 3.5.99 + LAV + madVR BT.709 appears to match the RGB values of my source when compared in Photoshop.

FRAPS seems to use its own custom color matrix for converting RGB to YV12 and back again. ConvertToRGB32(matrix="PC.709") does, AFAIK, not match the original colors exactly.I've noticed the same, so I sent an email to FRAPS' author about 6 months ago. He just now finally got back to me with this:

Dear Cory,

Thanks for your message and I apologize for the very long delay in getting back to you.
In YUV mode Fraps will use 709 coefficients and generate the full range 0-255 (i.e. it's not clamped between 16-235).

Regards,
Rod Maher

It seems one of FRAPS or libav or me is doing something wrong.

Niyawa
16th April 2013, 00:17
I tried a search but nothing definitive came up, so I'm posting this question here.

"My friends sometimes come over and we often watch anime when they do, so I have my TV hooked up to my computer via HDMI and I put the anime on that for easier watching. When I put the player on the TV, should I switch LAV RGB output levels to TV (16-235) and then back to PC (0-225) when I'm done? Or will the difference be so minor that I shouldn't go through the trouble?"

I don't have a TV hooked up to a PC with HDMI to see it for myself, so any thoughts?

Qotscha
16th April 2013, 01:20
That setting has no effect at all if LAV does not do YUV -> RGB conversion. However, if it does, the correct setting depends on whether levels are changed somewhere else or not and whether TV is set for full or limited range input.

DarkSpace
16th April 2013, 02:34
Now, this seems to be the thing what this is all about!
So a standard RGB conversion just assumes(!) TV-Rec.601. That's why...
FFVideoSource("D:\FPS1(yuvj420p)_sample.avi")
ConvertToRGB()...doesn't do anything. The PC-Rec.709 Fraps-file becomes TV-Rec.601 without the stream actually being changed, and that's why you'd have to change it back to PC-Rec.709 to get the right colours. Weird!! That explains FFDShow's "RGB conversion"-settings, because FFDShow automatically converts Fraps to RGB, but what about LAV+madVR? Since it all stays NV12 up untill madVR's input, are the range- and luma conversions ([Ctrl+Alt+Shift+i] and [Ctrl+Alt+Shift+m]) done after the internal RGB conversion?
First of all, I'd say that the "standard RGB conversion of AviSynth" is limited to TV-range Rec.601, so you need to either give it an argument to change the matrix used for conversion (I believe that AvsPmod allows you to change the RGB conversion parameters by right-clicking onto the video and defaults to resolution-based matrix selection). Alternatively, you can of course pre-compensate the YUV stream to TV-range Rec.601 instead.
About LAV+madVR, you don't need to worry. Once the matrix and range are passed on from LAV to madVR, it'll automatically work correctly. The range and matrix conversion is not done on the RGB but directly on the YUV (actually, the YUV isn't even modified in this case, it's just converted to RGB using different parameters to begin with).

At least I create an Avisynth-script to feed it to x264 ultimately, which only accepts YV12.

So when editing FPS1(yuvj420p) files in Avisynth where the end result has to be YV12 for x264 to swallow, a conversion to TV-Rec.601 is needed, but for playback (RGB) a conversion to PC-Rec.709 is needed.
Wrong: Command-line x264 can swallow YUV 4:2:0, 4:2:2 and also 4:4:4 and you can even send it RGB data directly. Also, there's no need to convert the YUV stream to TV-range Rec.601, as you can just flag the output stream so it tells the decoder that another matrix should be used for conversion from YUV to RGB during playback (the example also shows you how to send 4:4:4 YUV streams).
x264 --range pc --colormatrix bt709 --output "output.264" --output-csp i444 --input-range pc "input.avs"

Also, thanks for clearing up the issue of FRAPS' matrix, this means it uses indeed full range Rec.709 and not some other weird matrix.

DragonQ
16th April 2013, 09:51
I tried a search but nothing definitive came up, so I'm posting this question here.

"My friends sometimes come over and we often watch anime when they do, so I have my TV hooked up to my computer via HDMI and I put the anime on that for easier watching. When I put the player on the TV, should I switch LAV RGB output levels to TV (16-235) and then back to PC (0-225) when I'm done? Or will the difference be so minor that I shouldn't go through the trouble?"

I don't have a TV hooked up to a PC with HDMI to see it for myself, so any thoughts?
Impossible to say without knowing the settings of the latpop's GPU, the media player and the TV. However, it should be really obvious if the levels are wrong if you've seen it before and know what to look for (essentially crushed blacks or grey blacks).

Niyawa
16th April 2013, 11:45
I see. Thanks guys.

mindbomb
16th April 2013, 13:02
I tried a search but nothing definitive came up, so I'm posting this question here.

"My friends sometimes come over and we often watch anime when they do, so I have my TV hooked up to my computer via HDMI and I put the anime on that for easier watching. When I put the player on the TV, should I switch LAV RGB output levels to TV (16-235) and then back to PC (0-225) when I'm done? Or will the difference be so minor that I shouldn't go through the trouble?"

I don't have a TV hooked up to a PC with HDMI to see it for myself, so any thoughts?


there are test videos out there for black level and white level. when you switch between 16-236 to 0-255, one will be very wrong. I think that is the best way to tell.

wanezhiling
16th April 2013, 15:54
http://www.sendspace.com/file/rdiz1f

cuvid issue (http://i.minus.com/i3GJ76NiXetTy.png), other decoding modes are fine.

nevcairiel
16th April 2013, 15:55
Can't do much about CUVID issues, the decoder is a completely black box, i give it a packet, it gives me an image.
Most of the time such issues are a problem in their parser, so i suggest different drivers, or complaining to nvidia. :)

wanezhiling
16th April 2013, 16:09
o.O

ok, blame nvidia...

aufkrawall
16th April 2013, 16:39
Also, thanks for clearing up the issue of FRAPS' matrix, this means it uses indeed full range Rec.709 and not some other weird matrix.
I've tested this now and it still doesn't use compliant 601/709 matrix (then it would be lossless).
But however, it seems either because of new Avisynth or Fraps versions, situation has improved a lot.

How Fraps YV12 looks like with Fraps' VFW decoder (how it should be, the "original"):
http://www.abload.de/thumb/origfrapsg2arm.png (http://www.abload.de/image.php?img=origfrapsg2arm.png)

ConvertToRGB(matrix="PC.601") (the same like adding no conversion to the script) + x264 lossless:
http://www.abload.de/thumb/rgbpc601c9lvm.png (http://www.abload.de/image.php?img=rgbpc601c9lvm.png)
Ferns look more blurry and image is slightly darker (please don't judge this with a crappy display :p ).

ConvertToRGB(matrix="PC.709") or ConvertToRGB(matrix="rec709") have totally wrong brightness (I've flagged the vids correctly with x264)

ConvertToYV12(matrix="rec709") + x264 lossless:
http://www.abload.de/thumb/yv12rec709hnb9s.png (http://www.abload.de/image.php?img=yv12rec709hnb9s.png)
Looks well. Ferns aren't always as sharp as the original but it's hardly noticible, the same goes for some color shift with flowers. This was worse with older Fraps/Avisynth versions, whole image became more blurry etc.
That's what everyone wants, since apart from LAV/madVR, stupid other players always expect rec709, at least with video resolutions.

Original Fraps YV12 video decoded with LAV (image saved with madVR):
http://www.abload.de/thumb/lavv4yyn.png (http://www.abload.de/image.php?img=lavv4yyn.png)
Colors are wrong and also slightly wrong brightness.

That way imho it shouldn't be recommended to watch Fraps YV12 video with LAV. Stupid thing is just that madVR isn't compatible to VFW decoders, so then one has to stick to LAV though.
The last time Nev said he doesn't want to fix it since it's rather "dirty". Is there a chance that you've changed your mind?
I'm afraid otherwise there will never be any solution.
There's a "real" need for it, btw (e.g. texture filtering comparison vids):
http://www.computerbase.de/artikel/grafikkarten/2012/test-intel-graphics-hd-4000-und-2500/4/

Sample Fraps vid:
http://www.mediafire.com/?9kto2socl294ymb

wanezhiling
16th April 2013, 17:01
http://www.sendspace.com/file/ow06qp
lav s + lav v, stutter

nevcairiel
16th April 2013, 17:39
http://www.sendspace.com/file/ow06qp
lav s + lav v, stutter

The file has broken timestamps, nothing that can be done.

aufkrawall
16th April 2013, 18:53
Handbrake's conversion isn't lossless either. :sly:

cyberbeing
16th April 2013, 20:07
I'm not seeing any matrix issue in your FRAPS avi sample aufkarwall, after testing this myself. Your Avisynth ConverttoRGB(matrix="PC.601") image is also not PC.601 either, so it makes me wonder how you are feeding x264 your decoded FRAPS footage.

LAV Video YV12 + Avisynth ConverttoRGB(matrix="PC.601")
http://img21.imageshack.us/img21/4421/lavconverttorgbpc601avs.th.png (http://imageshack.us/a/img21/4421/lavconverttorgbpc601avs.png)

FRAPS Decoder RGB32 + madVR
http://img824.imageshack.us/img824/2982/frapsmadvr.th.png (http://imageshack.us/a/img824/2982/frapsmadvr.png)

LAV Video YV12 + Avisynth ConverttoRGB(matrix="PC.709")
http://img822.imageshack.us/img822/8581/lavconverttorgbpc709avs.th.png (http://imageshack.us/a/img822/8581/lavconverttorgbpc709avs.png)

LAV Video NV12 + madVR Fullrange BT.709
http://img9.imageshack.us/img9/1795/lavbt709madvr.th.png (http://imageshack.us/a/img9/1795/lavbt709madvr.png)


The only anomaly I do see is that the FRAPS official decoder appears to use incorrect chroma positioning when upsampling from YV12 to RGB, resulting in chroma bleeding and a shifted image.

http://screenshotcomparison.com/comparison/19224

aufkrawall
16th April 2013, 21:20
Hm, odd. Fraps Decoder now works with madVR?
In the past it always failed.

itsonlyjustincase
17th April 2013, 02:48
Is there a way to force 60 fps in Lav Video like it is possible with ffdshow ? (http://dsync.blogspot.fr/2010/12/playing-video-in-60-fps-instead-of.html)
The goal is to force my shitty video application to run smoother videos

nevcairiel
17th April 2013, 06:24
There is not, and probably never will be.

itsonlyjustincase
17th April 2013, 11:34
There is not, and probably never will be.

Thanks for your answer

SamKook
17th April 2013, 12:42
Since it's avisynth that's doing all the work and not ffdshow, nothing's stopping you from creating the script with the video you want to play and then playing the script(which loads the video explicitely since LAV has no avisynth support like ffdshow) instead of the video which LAV will support without problem.

It's a bit more troublesome though and you'd probably want to make a bat file that create that script automatically and then launch your player so that all you'd have to do is drag and drop the video on it.

Edit: Or maybe not. I thought it was using LAV for the RAW video since I wasn't seeing the ffdshow icon, but there's actually no filters(other than the renderers and the source file) in the filter list so, my bad.

itsonlyjustincase
17th April 2013, 14:01
Since it's avisynth that's doing all the work and not ffdshow, nothing's stopping you from creating the script with the video you want to play and then playing the script(which loads the video explicitely since LAV has no avisynth support like ffdshow) instead of the video which LAV will support without problem.

It's a bit more troublesome though and you'd probably want to make a bat file that create that script automatically and then launch your player so that all you'd have to do is drag and drop the video on it.

Edit: Or maybe not. I thought it was using LAV for the RAW video since I wasn't seeing the ffdshow icon, but there's actually no filters(other than the renderers and the source file) in the filter list so, my bad.

:) thanks anyway

huhn
17th April 2013, 14:13
Is there a way to force 60 fps in Lav Video like it is possible with ffdshow ? (http://dsync.blogspot.fr/2010/12/playing-video-in-60-fps-instead-of.html)
The goal is to force my shitty video application to run smoother videos

try madvr smooth motion.

clsid
17th April 2013, 17:03
You can also use ffdshow video processor in combination with the LAV Video decoder. Either by adding the ffdshow raw video filter in MPC-HC external filters, or by enabling raw video in the ffdshow video decoder.

On a related note, since ffdshow r4505 it is possible to conditionally register the various ffdshow filters (when registering manually, it is not yet exposed in the installer). This for example allows registering only the processing filters. Perhaps this is an incentive to increase priority of issue #32 (http://code.google.com/p/lavfilters/issues/detail?id=32)? I propose a simple checkbox to toggle the feature on/off plus a textfield to supply a whitelist of apps where the processors may be inserted. Basic regex support should allow targeting most players with a short string (mpc*;*player*). Whitelist is important since for many DS apps (games/video converters/webcam stuff) processing is unneeded or even unwanted.

woody777
17th April 2013, 19:09
I searched the thread and found some conversation regarding interlaced video quality, but it's honestly over my head and I didn't really understand any of it.

I have a handful of MKVs made from old DVDs that look really bad using LAV/EVR. They look a bit better using Microsoft decoders/EVR. Is there a setting in LAV I can play with to make the video look smoother? It's tough to describe, but it looks sort of like this: http://upload.wikimedia.org/wikipedia/commons/1/19/Interlaced_video_frame_%28car_wheel%29.jpg

It's very obvious when characters talk -- their mouths are all lines.

paradoxical
17th April 2013, 19:21
Enable the deinterlacing option in LAV. Or if you also use MadVR, you can enable IVTC or video deinterlacing depending on whether your source is telecined film or not.

woody777
17th April 2013, 19:38
Enable the deinterlacing option in LAV. Or if you also use MadVR, you can enable IVTC or video deinterlacing depending on whether your source is telecined film or not.

Thanks! Do you know what the option is called and where it is? I'll hunt around for it too.

paradoxical
17th April 2013, 19:46
Thanks! Do you know what the option is called and where it is? I'll hunt around for it too.

Yeah, it's called "deinterlacing". It's in the LAV Video options. You can choose between either hardware deinterlacing or software deinterlacing using YADIF.

woody777
17th April 2013, 20:09
Yeah, it's called "deinterlacing". It's in the LAV Video options. You can choose between either hardware deinterlacing or software deinterlacing using YADIF.

Thanks! hardware deinterlacing was greyed out... maybe because I don't have a video card??? I selected software deinterlacing 50/60p (I think that's the right one... I'm in the US). It looks quite a bit better!

paradoxical
17th April 2013, 20:15
Thanks! hardware deinterlacing was greyed out... maybe because I don't have a video card??? I selected software deinterlacing 50/60p (I think that's the right one... I'm in the US). It looks quite a bit better!

Yes, you need to be using hardware decoding to use the hardware deinterlacing.

woody777
17th April 2013, 20:47
Yes, you need to be using hardware decoding to use the hardware deinterlacing.

Thanks for your help!

itsonlyjustincase
17th April 2013, 22:48
try madvr smooth motion.

Thanks guy but my main problem is that my software cannot support multiple decoders. I can choose through win7dsfilter which on is gonna handle H264 that's all :(

itsonlyjustincase
17th April 2013, 22:50
You can also use ffdshow video processor in combination with the LAV Video decoder. Either by adding the ffdshow raw video filter in MPC-HC external filters, or by enabling raw video in the ffdshow video decoder.

On a related note, since ffdshow r4505 it is possible to conditionally register the various ffdshow filters (when registering manually, it is not yet exposed in the installer). This for example allows registering only the processing filters. Perhaps this is an incentive to increase priority of issue #32 (http://code.google.com/p/lavfilters/issues/detail?id=32)? I propose a simple checkbox to toggle the feature on/off plus a textfield to supply a whitelist of apps where the processors may be inserted. Basic regex support should allow targeting most players with a short string (mpc*;*player*). Whitelist is important since for many DS apps (games/video converters/webcam stuff) processing is unneeded or even unwanted.

Thanks guy but my main problem is that my software cannot support multiple decoders. I can choose through win7dsfilter which on is gonna handle H264 that's all :(

DragonQ
17th April 2013, 23:03
I searched the thread and found some conversation regarding interlaced video quality, but it's honestly over my head and I didn't really understand any of it.

I have a handful of MKVs made from old DVDs that look really bad using LAV/EVR. They look a bit better using Microsoft decoders/EVR. Is there a setting in LAV I can play with to make the video look smoother? It's tough to describe, but it looks sort of like this: http://upload.wikimedia.org/wikipedia/commons/1/19/Interlaced_video_frame_%28car_wheel%29.jpg

It's very obvious when characters talk -- their mouths are all lines.

For some reason your videos aren't being deinterlaced properly. What player are you using? EVR should deinterlace correctly using your GPU when used with any of LAV's decoder options.

Thanks! hardware deinterlacing was greyed out... maybe because I don't have a video card??? I selected software deinterlacing 50/60p (I think that's the right one... I'm in the US). It looks quite a bit better!

What GPU do you have? An on-board one? I don't know of any GPUs that can't perform hardware deinterlacing with EVR but maybe some really old ones can't.

Yes, you need to be using hardware decoding to use the hardware deinterlacing.
Incorrect. You only need to be using CUVID if you want LAV to perform the deinterlacing. Typically the renderer does the deinterlacing, which can be done with any kind of decoding.

woody777
18th April 2013, 01:58
For some reason your videos aren't being deinterlaced properly. What player are you using? EVR should deinterlace correctly using your GPU when used with any of LAV's decoder options.



What GPU do you have? An on-board one? I don't know of any GPUs that can't perform hardware deinterlacing with EVR but maybe some really old ones can't.


Incorrect. You only need to be using CUVID if you want LAV to perform the deinterlacing. Typically the renderer does the deinterlacing, which can be done with any kind of decoding.

I am using an on-board GPU. It's a first generation Intel i5. I'm using LAV decoder and EVR renderer. My player is Windows Media Center (Windows 7) and I'm using Shark007 to tweak.

paradoxical
18th April 2013, 02:28
Incorrect. You only need to be using CUVID if you want LAV to perform the deinterlacing. Typically the renderer does the deinterlacing, which can be done with any kind of decoding.

Well, yes. The "hardware deinterlacing" that was being referred to was the LAV Video option which requires you to choose hardware decoding. So, no, it was not incorrect. You just misunderstood the context.

DragonQ
18th April 2013, 10:52
I am using an on-board GPU. It's a first generation Intel i5. I'm using LAV decoder and EVR renderer. My player is Windows Media Center (Windows 7) and I'm using Shark007 to tweak.
In that case EVR should be doing hardware deinterlacing for you regardless of your decoder. It's probably Windows Media Center's fault. :D

nevcairiel
18th April 2013, 13:47
Obviously not, its a DirectShow filter.
There is basically no advantage for users in the switch to Media Foundation, so why do you even care?

It would be impossible to maintain two filters (resource-wise), and MPC-HC is hardly the only player in this world that uses LAV, and WMP/WMC are the only other players that use MF. A compelling argument for anyone to switch, this is not. :)

nevcairiel
18th April 2013, 14:09
He is not a user, but a developer.
It is easier to work with for developers, but that doesn't mean it has any advantages for users. :p

In fact, for the first 5 years, it has only disadvantages for users, because you suddenly cannot use all the DirectShow filters anymore.

nevcairiel
18th April 2013, 14:23
Its pretty simple:

For codec developers:
- There are no players that support it

For player developers:
- There are no codecs that support it

So even if i would create a MF LAV, there would be essentially no player to use it, and if someone would create a player using MF, there would only be Microsoft filters to use, and even if both MPC-HC and LAV would move to MF, there would still be no ReClock or madVR, and there also would be no other player to use with more features (like a full media center)

Its just impossible to get everyone to switch, especially because some products like ReClock are basically EOL themself, but there are no alternatives which serve the same purpose available.
There is also loads of legacy codecs which may only work in DirectShow, and you would drop support for those as well.

You ever heard of the Chicken/Egg problem? :p

All in all, the problems and limitations it would bring because of the smaller ecosystem outweigh the advantages at this time.

nevcairiel
18th April 2013, 14:50
Maybe if you would create a MF LAV, then maybe someone would create a MF MPC-HC, and maybe if MF LAV and MF MPC-HC have been created, maybe someone would create a MF madVR... and maybe if all of those things were created maybe someone would create a MF based ReClock successor... and so on... ?

Maybe you want to pay me so i can quit my job and work on that? :)

I'm not going to waste my free time on some exercise which has no real-world benefits today. There is not going to be a MF LAV any time soon, even if MPC-HC would use MF - its not my primary player anyway.
Playback doesn't magically get better by using MF, these "advantages" Wikipedia lists sound like marketing talk from Microsoft.

paradoxical
18th April 2013, 15:02
From the following list:

http://en.wikipedia.org/wiki/Media_Foundation#Benefits_over_DirectShow

it looks like as if Media Foundation has some nice benefits over DirectShow?

Well let's actually look at this eh?

Is scalable for high-definition content and DRM-protected content.


DirectShow can play high-definiation content just fine. Even 4k. The DRM part isn't an advantage for users.

Allows DirectX Video Acceleration to be used outside of the DirectShow infrastructure. DXVA 2.0 is available to user-mode components without using the DirectShow video renderer.

Is this really that useful for a media player which is going to use a renderer anyway?

Provides better resilience to CPU, I/O, and memory stress for low-latency glitch-free playback of audio and video. Video tearing has been minimized. The improved video processing support also enables high color spaces and enhanced full-screen playback. Enhanced video renderer (EVR) which is also available for DirectShow, offers better timing support and improved video processing.


Can't say I've ever seen tearing these days anymore. We already get higher color spaces with LAV and MadVR. Also, MadVR is better than EVR anyway so who cares if EVR is slightly better because of MF?

Media Foundation extensibility enables different content protection systems to operate together.


Again, how does that benefit any user?

Media Foundation uses the Multimedia Class Scheduler Service (MMCSS), a new system service in Windows Vista, Windows 7 & Windows 8. MMCSS enables multimedia applications to ensure that their time-sensitive processing receives prioritized access to CPU resources.

While this sounds nice, I can't really say that I've seen any need for it or that it's going to provide such a huge benefit that we should all just dump DirectShow over it. Just changing the thread priority seems to do well enough as is.

As nev says, there are no real-world benefits for end users that they can't already get with the current DirectShow components we have now. The only people truly benefiting from MF are the DRM people.

nevcairiel
18th April 2013, 15:05
Is this really that useful for a media player which is going to use a renderer anyway?

Its even wrong, DXVA 2.0 can be used without a renderer in DirectShow as well, because all you need is D3D APIs. Thats how DXVA2 Copy-Back works, it doesn't use any DirectShow specifics, and can function without a renderer.

paradoxical
18th April 2013, 15:09
So the question becomes, jq963152, what exactly is the vital feature of MediaFoundation that you need that is somehow not provided by DirectShow components right now? Just saying "it's better and more modern" is not an answer because of all the time costs involved in porting and/or rewriting all the current code.

madshi
18th April 2013, 15:12
wikipedia's list of advantages is mostly incorrect, I believe. AFAIK, MF brings no benefits worth mentioning to *users*. It might bring some benefits to developers. But even that is only true if developers switch over to MF and stop doing DirectShow at the same time. If you still want to support DirectShow, supporting MF in addition to that just means more work, without any benefits.

At this point in time I do not plan to add MF support to madVR - *ever*.

paradoxical
18th April 2013, 15:15
wikipedia's list of advantages is mostly incorrect, I believe. AFAIK, MF brings no benefits worth mentioning to *users*. It might bring some benefits to developers. But even that is only true if developers switch over to MF and stop doing DirectShow at the same time. If you still want to support DirectShow, supporting MF in addition to that just means more work, without any benefits.

At this point in time I do not plan to add MF support to madVR - *ever*.

Yeah, that's why it's been marked as "This section does not cite any references or sources." for nearly a year now. Whoever wrote it doesn't actually cite anything. It truly sounds like someone copy and pasted some marketing bullet points.

paradoxical
18th April 2013, 15:22
Its even wrong, DXVA 2.0 can be used without a renderer in DirectShow as well, because all you need is D3D APIs. Thats how DXVA2 Copy-Back works, it doesn't use any DirectShow specifics, and can function without a renderer.

True, though it's easily dismissed before you get to that point since a media player without a video renderer is rather silly.

It may be possible that when that line was written there weren't DXVA2 copy-back implementations? *shrug*

DragonQ
18th April 2013, 15:24
Will DirectShow support ever be dropped from future versions of Windows? That's usually the only reason anyone ever ports code to newer frameworks.

paradoxical
18th April 2013, 15:26
Will DirectShow support ever be dropped from future versions of Windows? That's usually the only reason anyone ever ports code to newer frameworks.

VfW still exists more than a decade past it's deprecation so it's doubtful.

nevcairiel
18th April 2013, 15:27
Will DirectShow support ever be dropped from future versions of Windows? That's usually the only reason anyone ever ports code to newer frameworks.

Windows Store/Metro applications cannot use DirectShow, afaik.
Not a big loss for me. :p

I did not say that.

One of the MPC-HC developers said (wrote) that, see
But you are the one making a fuss about it, so you should have your own arguments, or stop.
If your whole argument is "some developer said it is more modern", then your whole pursuit is rather pointless. Yes, it is more modern. Does that make it better? Maybe. Does that make it worth migrating a whole ecosystem to it? Nope.

Anyway this is getting terribly off-topic. I made my opinion for LAV about this very clear.
If you want to continue discussing the merits of MF over DS, feel free to create your own dedicated thread about it.

paradoxical
18th April 2013, 15:36
After post #14907 i did no longer comment about it. You and others were the ones going on with the discussion. Not me.

Yes, what you posted is called "baiting".

Aurora13
18th April 2013, 16:19
Hi nevcairiel,

Is it possible/easy to add an 5.0 speaker option in the Mixing options? I do not have a subwoofer. I now have to use ffdshow to get the LFE channel rerouted to the front speakers.

Or is there another way?

Thanks in advance.

Regards

andyvt
18th April 2013, 19:28
Windows Store/Metro applications cannot use DirectShow, afaik.


This is pretty much the only reason I'm aware of to use MF unless your player needs to support DRM. AFAIK, it is the only supported way to enable HDCP + protected playback w/o explicit help from the GPU OEMs is via MF.

e-t172
19th April 2013, 01:11
Is it possible/easy to add an 5.0 speaker option in the Mixing options? I do not have a subwoofer. I now have to use ffdshow to get the LFE channel rerouted to the front speakers.

Unless you have main speakers with very good bass response (meaning, very expensive speakers), I recommend against sending them the LFE signal, as it is likely to generate significant amounts of distortion.

Hera
19th April 2013, 02:00
Don't you need MF for Modern UI?
AFAICT there is no good player for Modern UI that matches subtitle and format support of last generation media players like Media Player Classic Home Cinema...

dbcooper
19th April 2013, 03:07
Don't you need MF for Modern UI?
AFAICT there is no good player for Modern UI that matches subtitle and format support of last generation media players like Media Player Classic Home Cinema...

Isn't the metro win8 VLC beta nearly ready?

wanezhiling
19th April 2013, 16:53
http://www.sendspace.com/file/1mbqgl

LAV does not support Blizzard codec?

nevcairiel
19th April 2013, 18:26
http://www.sendspace.com/file/1mbqgl

LAV does not support Blizzard codec?

Its just MPEG4 with a special FourCC, i added the FourCC now.

nevcairiel
19th April 2013, 19:18
LAV Filters 0.56.2

LAV Splitter
- Emit the EC_LENGTH_CHANGED event when the edition is changed, to help players update their playback duration

LAV Video
- dxva2: fixed corruption/dropped frames after seeking in interlaced MPEG-2/VC-1 streams
- dxva2: fixed corruption after seeking in interlaced H.264 on AMD GPUs
- dxva2: fixed decoding of H.264 on AMD UVD/UVD+ GPUs (HD 2xxx/3xxx Series)
- dxva2: disabled wmv3 decoding on AMD UVD/UVD+ GPUs (until it can be fixed)
- Fixed colorspace used for YUV Fraps to always be BT.709
- Added support for MPEG-4 Video with the BLZ0 FourCC (used in older Blizzard games)


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

In case you missed 0.56, release notes are here (http://forum.doom9.org/showthread.php?p=1623515#post1623515).

A whole bunch of DXVA2 related fixes. One from a regression in 0.56 (the first), the others related to AMD, hopefully without introducing any new issues.

As always, please report any issues, particularly regressions, directly to me, so that they can be fixed. :)

Have a great weekend, everyone!

wanezhiling
19th April 2013, 19:25
Have a great weekend.:thanks:

kerimcem
19th April 2013, 20:53
@nevcairiel
very thanks...nevcairiel...:)
mp4 h.264 pillarboxing improved..works well....
wmv-vc1(dxva) waiting....
mpeg2 dxva disabled? mpeg2 dxva not work..(vob dvd files)

Reino
19th April 2013, 21:02
- Fixed colorspace used for YUV Fraps to always be BT.709Fix confirmed. Thanks a lot!
BT.709 isn't a colorspace, but a luma coefficient.

DragonQ
19th April 2013, 21:02
fixed decoding of H.264 on AMD UVD/UVD+ GPUs (HD 2xxx/3xxx Series)
Do you mean Intel GPUs?

paradoxical
19th April 2013, 21:08
Do you mean Intel GPUs?

No, he means what he typed out (http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units#Radeon_R600_.28HD_2xxx.2C_HD_3xxx.29_Series).

nevcairiel
19th April 2013, 21:14
BT.709 isn't a colorspace, but a luma coefficient.

Technically the correct term is transfer matrix, but the variable in ffmpeg is called colorspace, so i kinda stuck with that there. :P


mpeg2 dxva disabled? mpeg2 dxva not work..(vob dvd files)

Only 6000 series and above support mpeg2 on AMD systems.

kerimcem
19th April 2013, 21:53
Technically the correct term is

Only 6000 series and above support mpeg2 on AMD systems.
thanks... potplayer dxva mode mpeg2 work....hd3650
http://l1304.hizliresim.com/18/m/m80fz.jpg

nevcairiel
19th April 2013, 22:12
thanks... potplayer dxva mode mpeg2 work....hd3650

LAV only uses full off-host bitstream acceleration (also called VLD), and the HD3650 does not support this. Partial acceleration, which the card may support, is not supported by LAV, and never will be. Way too much effort for way too little gain.

kerimcem
19th April 2013, 22:17
LAV only uses full off-host bitstream acceleration (also called VLD), and the HD3650 does not support this. Partial acceleration, which the card may support, is not supported by LAV, and never will be. Way too much effort for way too little gain.
ı understood.. :thanks:

DragonQ
19th April 2013, 23:16
No, he means what he typed out (http://en.wikipedia.org/wiki/Comparison_of_AMD_graphics_processing_units#Radeon_R600_.28HD_2xxx.2C_HD_3xxx.29_Series).
Ah right. Confusing that the short hand for both sets of cards' model numbers are the same!

Aurora13
19th April 2013, 23:24
Unless you have main speakers with very good bass response (meaning, very expensive speakers), I recommend against sending them the LFE signal, as it is likely to generate significant amounts of distortion.

Yes they can handle LFE perfectly and are indeed very expensive. Thats why I use ffdshow audio processor. But would love to have it right in LAV. Is it difficult to implement?

mindbomb
20th April 2013, 16:53
this isn't related to 0.56.2 specifically, but I have a question about lav splitter's default subtitle mode with regards to matroska container.
I noticed that it goes by language preference, then checks for forced, then checks for default. I also realize that vlc and mpc be seem to work like this as well.
What I'm wondering is, why does the default track flag have any bearing in this situation. Isn't the intent of the default track flag just to signify a preferred track, not to automatically have it played?
And if this is not the case, what do you suggest for people who are making mkv files with subtitles? To almost never use the default tag if they don't want subtitles to be displayed?

nevcairiel
20th April 2013, 16:57
Use a "default" flag if you intend the stream to be shown *by default*. Hey it even uses the same word. :)
LAV has a lot of different options to override this behaviour if you wish.

mindbomb
20th April 2013, 17:04
so, what is the distinction between forced and default?
The way I was using the two, I used forced if subtitles were absolutely essential, and I assumed the default tag was somewhat meaningless in the context of subtitles.
The muxing programs makemkv and mkvmerge seem to also throw around the default tag for the first subtitle selected. This seems at odds with how the players actually treat the tag?

nevcairiel
20th April 2013, 17:09
Obviously there is a difference, and if its only to inform the user that this track contains forced subtitles.
Who is to say that full subtitles can't be the default, and forced subtitles are not? Maybe this is what the creator wants to be the default?

The distinction is quite clear to me. Default is whatever the creator of the file wanted to be the default track to be selected, and forced identifies tracks which should always be played otherwise (if default is ignored)

Anyway, i don't make the spec, i only interpret it, this is really irrelevant for this thread.
LAV behaves like every other player in its default mode (and according to how the spec is widely understood), and it has very flexible options to control this if it doesn't suit your needs, so for me, this topic has been over for months already when it came up before.

You apparently know how it behaves, and this is how it will continue to behave, so discussing this is pointless.
If you want to make files, then make them to behave the way you want them to.

sneaker_ger
20th April 2013, 17:37
The distinction is quite clear to me. Default is whatever the creator of the file wanted to be the default track to be selected, and forced identifies tracks which should always be played otherwise (if default is ignored)

We're currently also talking about this topic in the mkvtoolnix thread, but if I'm not confused, your view is wrong from the point of view of the spec. One forced subtitle track is always to be shown. Period. So for Lord of the Rings you have two tracks: one forced track for the Elbish that is always to be shown and one track for all the rest that's already English (but not including the Elbish lines!). If you switch to the "full" English track the forced track should still be displayed. Now this is how I interpret the specs but nobody actually creates files this way, so it is debatable if following this strictly actually makes any sense.

nevcairiel
20th April 2013, 17:40
Its not like any player could actually show two subtitles anyway. :)

The way i see it, the forced track should catch on if the user says "i don't want subs" (they are forced upon him even if he says "no subs", because he is unlikely to speak elvish). If he actually wants subs, he should get whatever is "Default" or matches his language prefs (and due to technical constraints, that track should also contain the forced subs)
This is how LAV implements them as well, it may not be the strictest interpretation of the spec, but because many players lack the ability to even handle two sub streams at the same time, its the most common one.

sneaker_ger
20th April 2013, 17:57
Yes, I know nobody that strictly follows the spec in this regard and that includes myself as well for the reasons you have given. Now, the limitations of DirectShow players are of course problems of the players/framework - Matroska is not limited or connected to DirectShow in any way.

DragonQ
20th April 2013, 18:21
The way i see it, the forced track should catch on if the user says "i don't want subs" (they are forced upon him even if he says "no subs", because he is unlikely to speak elvish). If he actually wants subs, he should get whatever is "Default" or matches his language prefs (and due to technical constraints, that track should also contain the forced subs)

Yep, this is how I've always interpreted it and what makes the most sense to me. Unless it's a foreign film, most people will only want forced subtitles.

cyberbeing
20th April 2013, 20:47
Its not like any player could actually show two subtitles anyway. :)
Well, not yet. ;)
The new subtitle interface has the framework required to support this if desired, but it would require splitter support.

mindbomb
20th April 2013, 23:55
I'll make a thread about this specifically in the subtitles section

glorp
20th April 2013, 23:58
There is another use for "Default": The case where there are multiple sub streams in the same language. Example: regular full subs and SDH subs in english on a title with english audio. Forced means, "you need these even if there is audio in your preferred language". Default means, "these are the ones you want if you want subs on".

zerowalker
20th April 2013, 23:59
Is it possible to make it detect Mpeg.ts text streams?
Those streams that have this Black background, TV subtitles in other words?

I can only get those to work in VLC.

Though i am not sure where the problem lies, if itīs the subtitle filter, or if itīs the splitter etc.

Thanks

woody777
21st April 2013, 01:53
In that case EVR should be doing hardware deinterlacing for you regardless of your decoder. It's probably Windows Media Center's fault. :D

Any idea why EVR isn't doing the deinterlacing?

Qaq
21st April 2013, 07:22
Any idea why EVR isn't doing the deinterlacing?
Because deinterlacing is done already but in software?

Reino
21st April 2013, 11:29
Nev, although resolutions are displayed correctly in the end, why for these Fraps files...
Video: FPS1 640x480 25fps Video: FPS1 1280x960 25fps
... ...
BITMAPINFOHEADER: BITMAPINFOHEADER:
biWidth: 640 biWidth: 1280
...would LAV VD's output pin look like this:
Video: NV12 1024x480 (4:3) 25fps Video: NV12 2048x960 (4:3) 25fps
... ...
BITMAPINFOHEADER: BITMAPINFOHEADER:
biWidth: 1024 biWidth: 2048

nevcairiel
21st April 2013, 13:50
Thats normal, the renderer usually requests the image width to be a power of 2 (or at least aligned to 32 or 64, depending on which renderer is used)
This is done to better suit GPU needs. The concept is called Image Stride (http://msdn.microsoft.com/en-us/library/windows/desktop/aa473780(v=vs.85).aspx)

The actual image width is in rcSource/rcTarget.

Reino
21st April 2013, 14:51
We're learning every day ;). Thanks for the info.

wanezhiling
21st April 2013, 14:54
http://i.imgur.com/WsNY6Ss.png

I wonder why lav(sw/cuvid/qs/cb) outputs a number of 2048x1080 when playing a 1920x1080 file while dxva2n output 1920x1080.

Furthermore, 1440x1080 -> 1536x1080 (http://i.imgur.com/PhwpR3p.png) etc

nevcairiel
21st April 2013, 15:38
Just ignore it, its technical details that i cba to explain. I already outlined the basics of it two posts above, the renderer asks for a image stride, the decoder delivers.
Its totally irrelevant for users to care about.

wanezhiling
21st April 2013, 15:54
Im curious becasue other decoders seems no such difference.:)

Ok ignore it.

wanezhiling
22nd April 2013, 13:57
http://www.sendspace.com/file/i12hxk

Hi nev, do you have a crash too when using ArcSoft DTS decoder (dtsdecoderdll.dll)?

chano22000
23rd April 2013, 15:17
Hi Nevcairiel,

Enabling madVR requires an upgrade from my current Geforce 9300 (integrated in a nForce 730i chipset).

Windows XP does not provide DXVA2. I have therefore no other choice but to go further with Nvidia/CUVID for LAV Video to HW accelerate decoding and deinterlacing.

My HTPC enclosure requires low profile boards. There are in fact no low profile Nvidia board on the market (except a very confidential GTX 650 by Zotac only available is North America, Japan and Australia - older cards are discontinued).

On the other hand there are plenty of providers for the low profile Radeon 7750. According to various HQV 2.0 tests by Anandtech, the HW decoding and deinterlacing by Radeon is qualitatively ahead of what Geforce delivers. Latest video processor since Kepler based boards appears to reach the Radeon quality (except for image improvement features which no one uses from the driver).

It looks like AMD is now pushing Open-CL and their Open Decode API against CUDA and CUVID.

Q : Do you have plans to support Radeon HW acceleration in LAV Video (decoding and deinterlacing) the same way you do it for Nvidia (and Intel).

Thanks a lot for your work !

Kind regards.

nevcairiel
23rd April 2013, 15:57
Windows XP does not provide DXVA2. I have therefore no other choice but to go further with Nvidia/CUVID for LAV Video to HW accelerate decoding and deinterlacing.

You missed a quite obvious choice.
Upgrade to Windows 7.

There will not be any more HW decoders, DXVA2 is just fine.

DragonQ
23rd April 2013, 16:57
I'm surprised anyone would use Windows XP with an HTPC, which seems like the best candidate for the use of DXVA2.

madshi
23rd April 2013, 17:21
It looks like AMD is now pushing Open-CL and their Open Decode API against CUDA and CUVID.
IMHO the AMD Open Decode API is pretty much useless because it doesn't support D3D9 which is what DXVA is based on. So basically in order to use the AMD Open Decode API you have to use D3D10/11, and then you can't use DXVA deinterlacing, and funny enough the Open Decode API doesn't support deinterlacing, either, so as soon as you use the Open Decode API, there's no way to deinterlace anything, unless you copy the decoded frames back to CPU and then back to GPU (ouch).

Btw, does AMD even support OpenCL on XP? I thought the latest drivers dropped support for OpenCL on XP? Not sure, though. In any case, it's really time to upgrade to Windows 7, IMHO...

chano22000
23rd April 2013, 18:04
Nevcairiel, Madshi

Thanks for your both answers. My XP configuration runs so well that I have till now postponed your wise advice !

As my processor is of an older generation, is DXVA2 globally more/less efficient than CUVID in terms of CPU offload when using LAV and madVR ?

Kind regards.

wanezhiling
23rd April 2013, 18:11
DXVA2 native mode is your best choice.

mindbomb
23rd April 2013, 22:58
i have a question about lav video and mpc hc screenshots (with the evr cp renderer).
Does the output format have any bearing on the screenshots, ie, would choosing rgb output increase the quality of the screenshots?

DragonQ
23rd April 2013, 23:16
i have a question about lav video and mpc hc screenshots (with the evr cp renderer).
Does the output format have any bearing on the screenshots, ie, would choosing rgb output increase the quality of the screenshots?
It's probable that LAV Video would be better at converting YCbCr to RGB (due to higher internal bit depth and dithering) than EVR is. Whether that would be noticeable in the resulting output image is an entirely different matter depending on many factors.

Why not try it and compare?

Niyawa
24th April 2013, 00:15
I have a question that I'm almost sure was already asked, but I just need (if possible) a definitive answer. madFlac or LAV FLAC, which one would better handle FLAC itself? I've heard many things about LAV not being able to properly dowxmix FLAC audio (5.1 to 2.0) because it doesn't properly merge the channels. Many others (which I don't remember atm) that are pretty nasty. Is any of this true? The only reason I have madFlac in my guide is because AFAIK is a bug-free component making it safer for use.

cyberbeing
24th April 2013, 02:16
madFLAC is a barebones WYSIWYG implementation.

LAV Audio supports enabling extra features, and requires splitter like LAV Splitter enabled for raw FLAC playback:
Downmixing
Forcing a particular bitdepth output
Audio delay
Adaptive A/V Sync correction
Forcing channel mappings to a standardized layout
Upmixing 1.0 to 2.0 & 6.1 to 7.1

Both should decode FLAC equally well. Use whichever suits your personal preference or needs.

mindbomb
24th April 2013, 02:51
yea, I agree with cyberbeing here.
They are essentially equivalent in quality afaik, but since lav audio has all those extra goodies in terms of options, lav audio comes out on top.

cyberbeing
24th April 2013, 03:45
It really depends. If you don't need the extra features, you could argue that there is no real benefit of using LAV Audio for FLAC. I'd also give madFLAC the edge for raw FLAC playback because it has a source filter. In the past LAV Splitter had rare issues misdetecting unsupported formats as raw FLAC, but that could have long since been fixed for all I know.

jkauff
24th April 2013, 03:54
You missed a quite obvious choice.
Upgrade to Windows 7.

There will not be any more HW decoders, DXVA2 is just fine.
I really like the results I get with Eric Gur's QuickSync decoder. For those of us who can use QS, CUDA, or DXVA2, do you recommend one over another or is it mostly personal preference?

I don't often need de-interlacing, but it would be nice to have support for the QS implementation in LAV.

Niyawa
24th April 2013, 04:07
Thank you all for the answers. It really helped me out in making my decision.

nevcairiel
24th April 2013, 07:21
I've heard many things about LAV not being able to properly dowxmix FLAC audio (5.1 to 2.0) because it doesn't properly merge the channels.

I didn't know madFlac could downmix at all? Or is that argument just flawed?
In any case, downmixing of all formats is the same, its done long after decoding and the mixer doesn't care what format was originally used.

There is one small issue with raw Flac files with special channel layouts which are not handled properly right now (you get the wrong channel layout), but the issue is already in my short-term task list and will be fixed soon.

starla
24th April 2013, 08:07
IMHO the AMD Open Decode API is pretty much useless because it doesn't support D3D9 which is what DXVA is based on. So basically in order to use the AMD Open Decode API you have to use D3D10/11, and then you can't use DXVA deinterlacing, and funny enough the Open Decode API doesn't support deinterlacing, either, so as soon as you use the Open Decode API, there's no way to deinterlace anything, unless you copy the decoded frames back to CPU and then back to GPU (ouch).

You can share resources between DX9, DX10 & DX11. It will be some extra work, but it is doable.

Haven't checked in details, but I would assume there is deinterlace support for D3D11.1 based renderer (of course it is Win 8 only so not any global solution).

madshi
24th April 2013, 10:15
You can share resources between DX9, DX10 & DX11. It will be some extra work, but it is doable.
Sorry, but no, AFAIK it is not possible. You can share RGB resources, but not NV12, I believe. Which is what video decodes to.

Haven't checked in details, but I would assume there is deinterlace support for D3D11.1 based renderer (of course it is Win 8 only so not any global solution).
To my best knowledge, there is no D3D11.1 deinterlacing support. DXVA2 is based on D3D9 NV12 surfaces, which are not shareable with D3D11.1.

nevcairiel
24th April 2013, 10:25
D3D11 also has decoding and video processing support, at least in theory msdn documents it, if it works in practice i couldn't say.
You can QueryInterface a ID3D11VideoDevice from a ID3D11Device, or so MSDN claims.

Of course you can't mix it with a D3D9 DXVA2 decoder, both have to be D3D11.

madshi
24th April 2013, 10:30
Ok, that's news to me. But it seems to be limited to Windows 8? Which makes it pretty limited in usefulness.

nevcairiel
24th April 2013, 10:33
Ok, that's news to me. But it seems to be limited to Windows 8? Which makes it pretty limited in usefulness.

Yes its Windows 8 only, and DX10 seems to have skipped video support, so there is that.

madshi
24th April 2013, 10:47
I really wish Microsoft would make those DX11.1 Windows 8 improvements (3D output via HDMI 1.4, and now those new video related features) available to Windows 7, too. That would make it *SO* much easier for us developers. As it stands right now, I'm not willing to write a special rendering path just for Windows 8. If the same path would support Windows 7, too, that would be a whole different situation.

DragonQ
24th April 2013, 11:29
They might give Windows 7 DirectX 11.1 support eventually. Windows Vista got DirectX 11 via a Platform Update, after all.

Boltron
24th April 2013, 15:26
So my first generation SSD finally died on my HTPC and I need to rebuilt it. I currently run Windows 7 but am wondering maybe I should go with 8 instead. I run 8 on my main PC and everything including MC18, madVR and LAV all work fine. I use an I7 860 and a GTX660ti.

My question then is, from a playback quality perspective, does Win 8 bring anything to the table that may help LAV or madVR or even a HTPC function better? Just to add I don't care for Metro or touch screens or anything like that, I am asking purely from a platform architecture perspective for movie playback.

chuuey
24th April 2013, 15:56
So my first generation SSD finally died on my HTPC and I need to rebuilt it. I currently run Windows 7 but am wondering maybe I should go with 8 instead. I run 8 on my main PC and everything including MC18, madVR and LAV all work fine. I use an I7 860 and a GTX660ti.

My question then is, from a playback quality perspective, does Win 8 bring anything to the table that may help LAV or madVR or even a HTPC function better? Just to add I don't care for Metro or touch screens or anything like that, I am asking purely from a platform architecture perspective for movie playback.

I don't think win8 is worth installing just for movie playback, win7 is just fine. Didn't hear about any revolutiony features added to 8 which would make it a worthwile upgrade.

dukey
24th April 2013, 16:03
i really hate windows 8

pOpY
24th April 2013, 16:37
Hey guys.

I have problem receiving UDP multicast streams which delivers an MPEGTS container format.
All works as should but opening of the stream is very very slow (6 - 10 secs).
Also tried it with older versions back to the beginning of 2012, it makes no difference.
VLC opens the same stream in about 2 seconds.

Made a log (attached) with an debug version and narrowed the problem down to avformat_find_stream_info function which take about 6 seconds (see log).


LAVSplitter.ax(tid 8fc) 13356 : ::InitAVFormat(): avformat_find_stream_info finished, took 6 seconds

Can anyone please look into this?
(ill think it a FFMPEG problem of avformat_find_stream_info)

If needed i can provide a tool which streams a multicast demo stream.

Used Filers:
LAV Splitter Source
LAV Video Decoder
LAV Audio Decoder
Video Renderer
Default DirectSound Device

13443

6233638
24th April 2013, 16:53
I really wish Microsoft would make those DX11.1 Windows 8 improvements (3D output via HDMI 1.4, and now those new video related features) available to Windows 7, too. That would make it *SO* much easier for us developers. As it stands right now, I'm not willing to write a special rendering path just for Windows 8. If the same path would support Windows 7, too, that would be a whole different situation.But Windows 8 is just Windows 7 with all those enhancements.

What's the incentive for them to do that?
Should they back-port all the extra features that Windows 7 brought into XP?

I don't think win8 is worth installing just for movie playback, win7 is just fine. Didn't hear about any revolutiony features added to 8 which would make it a worthwile upgrade.Windows 8 has improvements over 7 in almost every single area of the operating system.

If only the tech blogs hadn't kept complaining about Metro (which I've never had to look at) people might have seen how worthwhile an upgrade it actually is.

Yet when Apple makes the kind of changes to OS X that Microsoft did with Windows 8, the press praises them for it. :rolleyes:

I currently run Windows 7 but am wondering maybe I should go with 8 instead. I run 8 on my main PC and everything including MC18, madVR and LAV all work fine. I use an I7 860 and a GTX660ti. The only issue I have had with Windows 8 so far, is that the madVR refresh rate switcher only changes to 23.976 or 59.94, whether it's set to output 1080p23/24, or 1080p59/60.

The Nvidia control panel switches to the correct refresh rate (as indicated in madVR's OSD) but madVR's switcher won't.

It's not a major issue as JRiver's VideoClock (or ReClock) handles it, but I would prefer to be outputting 24/60 rather than 23/59.

My question then is, from a playback quality perspective, does Win 8 bring anything to the table that may help LAV or madVR or even a HTPC function better?Other than a reduced memory footprint and general performance improvements, I don't think there's anything in LAV/madVR that takes advantage of anything specific to Windows 8.

nevcairiel
24th April 2013, 16:59
The fact alone that i need to run a separate application just to get the Desktop mode back into a usable shape is enough for me to stick to Windows 7. I also wish they hadn't done such a half-assed job at the "improvements", like the multi-monitor taskbar. Its not bad, but its very far from perfect, so i still have to run an app to make it usable (all i *really* need is pining stuff to secondary taskbars)

Windows 8 may have improvements all around, but all the bad decisions MS made overshadow all this for me. At the time, some people said Vista was good. Maybe Windows Blue, then.

But of course this doesn't belong here. :)

Re: Backporting
I'm quite sure some of the new improvements require driver support through WDDM 1.2, which would prevent a backport to 7.

paradoxical
24th April 2013, 17:02
But Windows 8 is just Windows 7 with all those enhancements.

What's the incentive for them to do that?

The incentive being that Windows 7 users outnumber Windows 8 users by about 15:1 according to some market share stats.

Yet when Apple makes the kind of changes to OS X that Microsoft did with Windows 8, the press praises them for it.

Launchpad is an alternative launcher that was not made the default nor are you booted into it. So if you only want a normal desktop you can ignore it completely without ever being pushed into it. The same can not be said of Metro in which you are thrown into it from the desktop for various tasks. Apple gave people a completely optional, alternative way to work without hamfistedly trying to force it on people. That's sort of a big difference from my point of view.

Either way this is getting off topic so I'll end here.

6233638
24th April 2013, 17:20
The fact alone that i need to run a separate application just to get the Desktop mode back into a usable shape is enough for me to stick to Windows 7.Start8 (my choice) is a "set and forget" app though, and I find myself using the Start Menu less and less now. I really only use it for quick searches, which can be done in the Metro Start Screen anyway. (though I do prefer the way results are presented in the Start Menu)
Things like booting to the desktop and disabling the hot-corners can be done via system tweaks rather than running an app.
I would probably miss it if I got rid of the program, but it doesn't feel as essential as it did back in October.I also wish they hadn't done such a half-assed job at the "improvements", like the multi-monitor taskbar. Its not bad, but its very far from perfect, so i still have to run an app to make it usable (all i *really* need is pining stuff to secondary taskbars)Well, it's still better than they had before, right? I can't really speak about multi-monitor management though, as I always prefer a single large display over multiple ones. (e.g. a 30" 2560x1600 display rather than 2x 24" 1920x1080) I've never found anything that makes them work well for me.

Most of the improvements have been worthwhile ones in my experience, and I'm always surprised at how different things are when I go back and use a Windows 7 machine. (even things like seeing the old task manager)At the time, some people said Vista was good.For what it's worth, I'm one of the people that stuck with XP until Windows 7 came along. I tried Vista with each service pack release, and any time I upgraded or replaced a system, but it never worked well for me. (it always felt slow compared to XP)The incentive being that Windows 7 users outnumber Windows 8 users by about 15:1 according to some market share stats.Well that's always the case you compare a four year old OS to a one that's not even six months old. Things would probably be quite different if there hadn't been all that bad press about Metro. (which was mostly FUD)Launchpad is an alternative launcher that was not made the default nor are you booted into it.Well OS X never had anything equivalent to the Start Menu to begin with.So if you only want a normal desktop you can ignore it completely without ever being pushed into it. The same can not be said of Metro in which you are thrown into it from the desktop for various tasks.Never happened to me.


Anyway, sorry for furthering the off-topic discussion.

nevcairiel
24th April 2013, 17:24
Start8 (my choice) is a "set and forget" app though, and I find myself using the Start Menu less and less now. I really only use it for quick searches, which can be done in the Metro Start Screen anyway. (though I do prefer the way results are presented in the Start Menu)

How would i ever run applications without it?
I'm not having all my screen covered by the metro start menu to run an app, on my 30" that would totally freak me out.

I usually have like 5 apps pinned to the start menu, the others i find with the search function, but i really dont need my whole screen go metro just to open the calculator.

PS:
30" is fine and all, but a 24" on both sides makes it really perfect. :p

PPS:
And i do get thrown into Metro occasionally, and only if its because i opened a PDF and i didnt install a proper PDF reader yet - because the MS PDF reader is a freaking metro app (several such examples i remember)
Of course this may stop after i finally remembered to install everything, but its still annoying when you're exploring the new OS. :p

madshi
24th April 2013, 17:30
But Windows 8 is just Windows 7 with all those enhancements.

What's the incentive for them to do that?
Should they back-port all the extra features that Windows 7 brought into XP?

Windows 8 has improvements over 7 in almost every single area of the operating system.
You see this from a user perspective. A developer's point of view is *totally* different. Do you think any of us developers can afford to say: "Screw all the Windows 7 users - we drop Windows 7 support and require Windows 8 now"? That would be software suicide. We *have* to continue supporting Windows 7, actually that's what the majority of users is using today.

So if MS adds nice D3D11 APIs, but makes them exclusive to Windows 8, these nice new APIs are pretty much useless because as a developer I have to find a comparable solution for Windows 7, too, and the Windows 7 solution will likely also work on Windows 8, so why should I even bother to look at those new Windows 8 APIs at all? Makes no sense to me. Having those new APIs available on Windows 7, too, would totally change things because I could switch a lot of code over to the new APIs and drop a lot of ugly workarounds.

Sure, why should Microsoft backport stuff to Windows 7? That's a justified question. However, Microsoft doesn't sell developer features. No normal user buys a Windows 8 upgrade because Windows 8 offers improved APIs. So by backporting those Windows 8 APIs to Windows 7 they wouldn't lose any sales. Instead they would make the new APIs actually useful. Which they are not at the moment (see above).

6233638
24th April 2013, 17:41
How would i ever run applications without it?
I'm not having all my screen covered by the metro start menu to run an app, on my 30" that would totally freak me out.[Win]+<first few characters>+[Enter]I usually have like 5 apps pinned to the start menu, the others i find with the search function, but i really dont need my whole screen go metro just to open the calculator.From adding it up, I have 24 programs pinned to my taskbar now. I don't pin anything to the Start Menu any more - it only exists as a search field for me, and the Metro Start screen does that just as well. (though I prefer the vertical list of the Start Menu to its horizontal one)

Honestly, 90% of the time I am just hitting [Win]+[0-9] to launch apps. Anything outside of the first 10 is used much less frequently.PS:
30" is fine and all, but a 24" on both sides makes it really perfect. :p4K/8K can't come soon enough…PPS:
And i do get thrown into Metro occasionally, and only if its because i opened a PDF and i didnt install a proper PDF reader yet - because the MS PDF reader is a freaking metro app (several such examples i remember)Ah, the first thing I did when I got into the OS was uninstall all the stock Metro apps. They all seemed worthless on a desktop machine.

You see this from a user perspective. A developer's point of view is *totally* different.That's true.

Do you think any of us developers can afford to say: "Screw all the Windows 7 users - we drop Windows 7 support and require Windows 8 now"? That would be software suicide.No, but I could see "If you want 3D support in madVR, you need to run Windows 8" similar to how DXVA2 requires Vista or newer.

madshi
24th April 2013, 17:44
No, but I could see "If you want 3D support in madVR, you need to run Windows 8"
I don't think so.

6233638
24th April 2013, 17:49
I don't think so.Well I don't know what the difference in complexity is with implementing 3D on Windows 8 vs Windows 7 and earlier - or how much work you've already put into it.

But if it was comparatively "easy" to implement on Windows 8 due to new APIs, I don't see how it's that different from DXVA2 not working on XP.

Nothing else outside of the commercial players has 3D support yet, right? In all honesty I haven't paid much attention though, as pre-recorded 3D with a forced depth/convergence point doesn't look that good to me - and there are no good 3D displays yet.

madshi
24th April 2013, 17:54
I can't simply ignore the majority of users. No developer can. It's as simple as that.

Boltron
24th April 2013, 17:56
Thanks for the insight guys. FTIW, I prefer Windows 8 (with a start menu replacement, Start8 or Startisback), I find it runs multitasking better besides being generally faster on startup and shutdown and such. For example, I run Java based software which uses the JPPF parallel processing framework where I run about 8 JVMs concurrently, in addition running SQL Server. Running all those CPU heavy processes works much smoother on 8 than it does on 7.

Also, the task manager is pretty sweet in 8. One other thing I really like is that 8 handles SSDs much better and even deals with them really well with the defrag/Optimize utility. For SSDs it triggers TRIM and garbage collection which is quite clever.

nevcairiel
24th April 2013, 18:00
One other thing I really like is that 8 handles SSDs much better and even deals with them really well with the defrag/Optimize utility. For SSDs it triggers TRIM and garbage collection which is quite clever.

Windows 7 did all that, really.

Soukyuu
24th April 2013, 18:32
Had M$ not dropped the "compromise" of a castrated aero running inside the metro UI on the user and went for the real compromise of having metro run on top of aero if the user wants to use the metro apps for the desktop version, the reception would have been better. The whole thing feels slapped together UI wise and even if you're not using Metro apps, the Metro UI constantly barges in. Double control panels. "Hidden" shutdown/reboot/standby buttons. Ever tried having your taskbar on the left side of the screen? Metro-style wireless connections list is always opening on the right. It's nearly impossible to click on the "show desktop" button without triggering the start screen charm. And why the hell is everything BUT the taskbar nontransparent? Either remove transparency completely or don't bother.

I would describe the whole UI experience as extremely jarring. Sure, you can make win8 behave almost as win7 with a few additional programs. The question is, why spend money on a new OS version if the old one is not noticeably worse? I've tested win8 for a while and while the upgrades to the explorer/task manager/network stack are nice to have, they aren't really a must. As someone who gets free windows keys from MSDNAA, money is not really a factor, but otherwise?

They are fixing parts of it (rumors of an option to boot into desktop mode and a startmenu button), so let's hope they will need one windows version as they usually do (see vista -> win7). In the end I see them backing off and going for metro inside aero after all.

As for start8, technically that costs additional money for a functionality the OS should offer out-of-the-box.

Boltron
24th April 2013, 18:51
Windows 7 did all that, really.

It's different actually. On my Win7 notebook I have as SSD and yes Windows knows enough to exclude it from scheduled defragments, but it will just go ahead and do an old school defrag on it if I press the button.

On Win8 it explicitly identifies Solid State Drives and tags them as such right on the main screen (there's an extra Media Type column) and when I press the defrag button it says Trimming the Drive and ends in about 10 seconds where Win7 shows the 1,2,3...% as it does on mechanical drives.

Boltron
24th April 2013, 18:57
As for start8, technically that costs additional money for a functionality the OS should offer out-of-the-box.

Agreed with all you said and I'll even add that the "flat" UI sucks where many times I can't even easily find buttons and places to click.

Anyway $5 bucks gets me Start8 and I do like the performance improvements.

andyvt
24th April 2013, 19:02
Anyway $5 bucks gets me Start8 and I do like the performance improvements.

It's also worth noting that W8 is generally more power efficient and the network stack is much faster.

That said, if I didn't need to use it the usability compromises on a desktop machine aren't worth it.

Barlow
24th April 2013, 19:31
Hi nevcairiel,

first off I want I want to thank you for adding mkv segment linking support.
Finally no more need for HMS! :)
I tested it by throwing all the files at it I could find and it works really well.

In two sets of files I encountered an issue where audio output is garbled after switching to the next segment.
Both files contain Vorbis audio with equal settings. The only difference is the encoder version used.
Suspecting an decoder issue I disabled MPC-HC's internal Vorbis decoder and enabled the LAV audio decoder, but this did not make a difference.

When using MPC-HC with Haali's splitter or VLC audio output is fine.

Sample can be found here:
http://www.sendspace.com/file/4whaiw

nevcairiel
24th April 2013, 19:40
In two sets of files I encountered an issue where audio output is garbled after switching to the next segment.
Both files contain Vorbis audio with equal settings. The only difference is the encoder version used.

Oh Vorbis, how i loathe you.
I'll fix it, thanks for the samples.

Niyawa
24th April 2013, 19:47
Start 8? Why not use StarIsBack instead. It costs less ($2), has basically all the same features of Start8 and doesn't run in the background since it's using the same code of the Start Menu of Windows 7 (M$ didn't delete it from Win8).

Boltron
24th April 2013, 21:01
I have both actually. Starisback gave me issues when I RDP into my machine many times, the menu display would get corrupted. There have been a few updates since so it may be fine now.

nevcairiel
24th April 2013, 21:18
Start8 worked perfectly for me when i tested it, and personally i would rather use code that some developer has under full control, then some left over code that is not maintained in this version of Windows and just happens to be present. :p

defunct
24th April 2013, 21:20
Question guys.

Lets say there is a file you are playing with 2 audio streams.

Is it possible to switch streams easily on the fly like you can with haali? (with haali splitter you would just right click the tray icon and select the stream you want).

Thanks :)

defunct
24th April 2013, 21:20
Oh and thank you Nevcariel for your work on Lav.

mastrboy
24th April 2013, 21:22
Win8 users, stay on topic please... Could a mod move those posts?

@nevcairiel: when you're first doing some fixing related to ordered chapters, how about a little optimizing also ;)

Btw, i have done a little more testing related to the ordered chapters performance when there is many files in the same folder.
On local disk vs Haali there's only a few secs difference, but when loading files over a normal windows fileshare, LAV is way slower.
Not sure if this makes any difference to what you mentioned last time, but thought I should at least report it.

paradoxical
24th April 2013, 21:55
Question guys.

Lets say there is a file you are playing with 2 audio streams.

Is it possible to switch streams easily on the fly like you can with haali? (with haali splitter you would just right click the tray icon and select the stream you want).

Thanks :)

Not through the tray icons. If you use MPC-HC/BE you'd have to use the internal audio switcher.

This is not supported yet, its planned for a future version, though.
The tray icons would be rather pointless if all they do is exist. :p

defunct
24th April 2013, 22:06
Thanks nevcairiel. I generally use Windows Media Player so I look forward to any implementation of switching through the tray icons!

DragonQ
24th April 2013, 22:25
It's also worth noting that W8 is generally more power efficient and the network stack is much faster.

That said, if I didn't need to use it the usability compromises on a desktop machine aren't worth it.
I can believe that. Transfers over Gigabit ethernet are a lot faster on my Windows 8 machines than my Windows 7 ones.

paradoxical
24th April 2013, 22:27
I can believe that. Transfers over Gigabit ethernet are a lot faster on my Windows 8 machines than my Windows 7 ones.

Sounds like you have something misconfigured then. I can transfer from and to a Windows 7 machine at nearly full gigabit speeds. I easily get around 120 MB/sec of speeds consistently.

DragonQ
24th April 2013, 22:45
Sounds like you have something misconfigured then. I can transfer from and to a Windows 7 machine at nearly full gigabit speeds. I easily get around 120 MB/sec of speeds consistently.
I am not a novice PC user. I have tried various drivers and all the tweaks under the sun but cannot get higher than ~50 MB/s on my Windows 7 machines. My switch is kinda cheap though, and my server is purposefully low-end, so transfers usually max out at ~80 MB/s even with Windows 8 (CPU limited on the server).

Could be to do with the NICs or drivers I guess. I'm just glad of the speeds I get now - with Linux I was lucky to break 10 MB/s! :p

kasper93
24th April 2013, 23:27
Guys could you stop this OT? That's not windows 8 topic... And you are posting things totally unrelated to LAV or even HTPC.

I found interesting part about DX11 and new interfaces and the fact that Microsoft don't give a shit about developers. They just want everyone to move to Win8 just after release.
But really I don't want to read about yours ETH speeds and start menu thing which is discussed all over the net. That's LAV topic...

Thanks For Understanding

XadoX
25th April 2013, 06:30
I have upgraded my HTPC to Windows 8. I am using LAV with MediaPortal.

Now when playing a video file with mediaportal my receiver thinks an normal 5.1 AC3 file is coded as Dolby Digital Surround EX. If I am playing a video File with 5.1 DTS sound my receiver thinks its DTS-NEO6.

Playing around with the LAV Audio Settings could not solve my problem.

Any clue?

pOpY
25th April 2013, 09:25
Hey guys.

I have problem receiving UDP multicast streams which delivers an MPEGTS container format.
All works as should but opening of the stream is very very slow (6 - 10 secs).
Also tried it with older versions back to the beginning of 2012, it makes no difference.
VLC opens the same stream in about 2 seconds.

Made a log (attached) with an debug version and narrowed the problem down to avformat_find_stream_info function which take about 6 seconds (see log).


LAVSplitter.ax(tid 8fc) 13356 : ::InitAVFormat(): avformat_find_stream_info finished, took 6 seconds

Can anyone please look into this?
(ill think it a FFMPEG problem of avformat_find_stream_info)

If needed i can provide a tool which streams a multicast demo stream.

Used Filers:
LAV Splitter Source
LAV Video Decoder
LAV Audio Decoder
Video Renderer
Default DirectSound Device

13443


I have analyzed the problem with ffplay.
The problem is the default 5000000ĩs analyzeduration timeout of ffmpeg.

if ill play the stream with the following command:

ffplay -i udp://239.200.199.103:20000 -analyzeduration 250000

The stream/picture is shown very quickly!

Can you please make the setting adjustable in LAV Splitter?
This would be great.

Thanks
pOpY

LoopinFool
25th April 2013, 22:17
Now when playing a video file with mediaportal my receiver thinks an normal 5.1 AC3 file is coded as Dolby Digital Surround EX. If I am playing a video File with 5.1 DTS sound my receiver thinks its DTS-NEO6.
I don't know the cause, but I'm pretty sure your receiver is receiving 2-channel audio. I would expect it to only ever show DTS-NEO6 for stereo sources.

- LoopinFool

mindbomb
26th April 2013, 00:11
I have upgraded my HTPC to Windows 8. I am using LAV with MediaPortal.

Now when playing a video file with mediaportal my receiver thinks an normal 5.1 AC3 file is coded as Dolby Digital Surround EX. If I am playing a video File with 5.1 DTS sound my receiver thinks its DTS-NEO6.

Playing around with the LAV Audio Settings could not solve my problem.

Any clue?

I think a lot of receivers use those upmixes when they receive 5.1 input and want to create 7.1 output. So I presume you have 7.1 speakers?

Snowknight26
26th April 2013, 02:56
(88c.17cc): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
LAVVideo!CDecDXVA2::CreateDXVA2Decoder+0x1e6:
000007fe`e10476f6 ff5008 call qword ptr [rax+8] ds:feeefeee`feeefef6=????????????????


The above exception only happens when native DXVA is used, not copy-back. Latest x64 build of MPC-HC was used to play a 1080p30 L4.1 H.264 video on a Radeon HD 6870 (Windows 7, Catalyst 13.5b2).

Do you need any other info, nev?

XadoX
26th April 2013, 05:46
I don't know the cause, but I'm pretty sure your receiver is receiving 2-channel audio. I would expect it to only ever show DTS-NEO6 for stereo sources.

- LoopinFool

I also think so.

I think a lot of receivers use those upmixes when they receive 5.1 input and want to create 7.1 output. So I presume you have 7.1 speakers?

No. I have 5.1.

--

I have to try an older LAV version.

bitcores
26th April 2013, 09:53
Despite the addition of segment and ordered chapter support, Lav Splitter still seems to lack the ability to deal with both at the same time (correctly?).
While I understand that the use of both at the same time would be very unusual the spec allows it (and Haali can deal with it) so there is no reason why it shouldn't be supported (my assumption is that it would be a case of checking and linking segments first, then attacking the ordered chapters).

nevcairiel
26th April 2013, 09:58
Linked Segments in Ordered chapters work just fine.

bitcores
26th April 2013, 10:28
Linked Segments in Ordered chapters work just fine.

I thought that I differentiated them enough by using segments and ordered chapters separately but I don't think you understood me.

I am talking about MKV Segments, the kind set in the MKV container header info, and the Chapter Segments defined in the chapter file by an ordered chapters tag.

The test case I have is a bit large for me to upload quickly (probably be faster to just make a smaller one instead) but basically it is an MKV video that has segments linked by ordered chapters which was then split into segments by mkvmerge and those segments linked together in their header info.

nevcairiel
26th April 2013, 10:39
If you can provide a test case i can look at it, however if it turns out to be too complex to add, i might decide not to for the time being, so no promises.

DragonQ
26th April 2013, 12:05
Nev, if I use bitstreaming to an A/V receiver, does that mean LAV Audio is using some form of WASAPI-like direct route for the audio? Or does the Windows mixer handle such things?

nevcairiel
26th April 2013, 12:09
Nev, if I use bitstreaming to an A/V receiver, does that mean LAV Audio is using some form of WASAPI-like direct route for the audio? Or does the Windows mixer handle such things?

No, it does not.
The audio renderer does all this. If the audio renderer supports bitstreaming, it will know not to treat it like ordinary PCM.

bitcores
26th April 2013, 13:15
I have been trying to put together an test case and in the process seem to have worked out how exactly LAV handles it segments and ordered chapters together, if the complete chapters file is placed in the first segment then all segments and chapter linked files load correctly (Haali doesn't handle it like this and loads the segments incorrectly in this case).
If the chapters file is in the main video before it is split into segments the chapters get split up (in a somewhat weird way) between the segments and no longer load properly (in LAV or Haali), this test case is an example of that
http://www.mediafire.com/?4y72bmaz2kfy1hn

However, in the test case I mentioned earlier I was able to edit the chapters in each segment in such a way that would allow Haali to load them correctly (but not LAV) but, although I am sure I am doing the edit in the same manner as the earlier test case, I am unable to get it to work in Haali the same way with this test case. It may mean the support in Haali is bugged and I got lucky in one particular case, I'm not sure.

nevcairiel
26th April 2013, 13:21
Judging from your explanation, i don't think this is a valid combination of those features.
There is actually only one small mention of combining "hard linking" with ordered chapters:

The chapters only match the current segment (unless the edition is ordered, where all parts should be in each segment).

So it basically says that all the split segments should include the full chapter set if they are ordered chapters.

If this is not the case in your split, i would interpret it as a file not compatible with the spec, and to be honest, if Haali doesn't play it, there most likely won't be any in the real world.

nevcairiel
26th April 2013, 14:29
(88c.17cc): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
LAVVideo!CDecDXVA2::CreateDXVA2Decoder+0x1e6:
000007fe`e10476f6 ff5008 call qword ptr [rax+8] ds:feeefeee`feeefef6=????????????????


The above exception only happens when native DXVA is used, not copy-back. Latest x64 build of MPC-HC was used to play a 1080p30 L4.1 H.264 video on a Radeon HD 6870 (Windows 7, Catalyst 13.5b2).

Do you need any other info, nev?

I assume this was with 0.56.2, and not latest Git?
If so, can you try latest Git?

Here is a x64 build:
http://files.1f0.de/lavf/LAVFilters-0.56.2-2-gdaf7be1-x64.zip

jiayiming
26th April 2013, 16:07
dxva2(cb)+yadif-->avfilter-lav-3.dll crash?

nevcairiel
26th April 2013, 16:11
dxva2(cb)+yadif-->avfilter-lav-3.dll crash?

Works just fine here.

Snowknight26
26th April 2013, 16:37
I assume this was with 0.56.2, and not latest Git?
If so, can you try latest Git?

Here is a x64 build:
http://files.1f0.de/lavf/LAVFilters-0.56.2-2-gdaf7be1-x64.zip

That fixed it, thanks.

jiayiming
26th April 2013, 16:48
Works just fine here.
Only when use deinterlacing and then mpc-be will crash.
If I choose deinterlacing mode to "Force",mpc-be/potplayer also will crash...
GPU:Inter SNB HD3000