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

huhn
19th September 2016, 22:22
you should really disable SD hardware acceleration in this case (in my eye in general but what ever).

an SD stream doesn't really need any significant CPU power. software decoding has really good error handling and errors are common in broadcast.

fxv300
20th September 2016, 08:34
If history with AMD tells us anything, its their drivers. But I do not plan to buy such a card.

Hi, a lot of the issues of the problems with the drivers have already been fixed. Blog here (https://rx480.blogspot.co.uk/)

Re DXVA HW acceleration issues, I can now play SD HD and UHD with HW acceleration turned on. This may not be an RX480 problem after all so don't jump to any conclusions as yet.

DXVA (https://youtu.be/hCCBxKPOI84)Video

nevcairiel
20th September 2016, 08:37
Re DXVA HW acceleration issues, I can now play SD HD and UHD with HW acceleration turned on. This may not be an RX480 problem after all so don't jump to any conclusions as yet

If newer drivers fixed it, and it works now, then my conclusion would appear to have been correct and it was a driver problem? :)

CruNcher
20th September 2016, 09:01
Hi, a lot of the issues of the problems with the drivers have already been fixed. Blog here (https://rx480.blogspot.co.uk/)

Re DXVA HW acceleration issues, I can now play SD HD and UHD with HW acceleration turned on. This may not be an RX480 problem after all so don't jump to any conclusions as yet.

DXVA (https://youtu.be/hCCBxKPOI84)Video

You should find another recording method the actual achieved framerate distracts a lot from the main problem you want to show especially in the case of DXVA.
Also the way you trying to show it is wrong you need to get to the running Lav Video Process in the Directshow Chain to show what is really happening.
That Dialog is not displaying the running Process Thread in the Chain but opening another Process that will always show as if no Decoder is active at all, because for that new running instance that's the truth it has no active connection to anything.

To achieve the lowest latency with Hardware acceleration try to record over the VCE on the DWM Surface in your Windiows 10 Case.

Broadcast Streams are more complex as huhn said and neither ATI was very good at resilience Decoding back then when they most of all targeted clean Blu-Ray Bitstreams.

UVD inside HD2400 RV610/RV630 UVD 1.0 was a total mess (Driver as well as the Firmware itself) in those regards no chance vs Nvidias VPX core stability in those times ;)

It was the time i got really frustrated with ATI and my change to Nvidia where they happily interacted with Consumers and Developers pretty open with for that time astonishingly low NDA barriers to even further improve the VPX core and it's spread everywhere and their initiation of VDPAU(CUVID), this also happened a lot over DOOM9 Feedback ATI was absolutely not interested a mayor management decision failure back then that surely bites AMD now in the ass improving everything backward.

IanD
20th September 2016, 15:16
Which is the last release to support XP SP2?

manolito
20th September 2016, 18:17
Nevcairiel does not "officially" support WinXP any more, but I can assure you that the current stable version 0.68.1 works nicely under WinXP SP2. (AFAIK this is not true for SP1)

Cheers
manolito

Gleb Egorych
20th September 2016, 20:30
Hi, nevcairiel,
I would like to return to the problem reported here: http://forum.doom9.org/showthread.php?p=1752214#post1752214
Shortly: LAV CUVID decodes the file with artifacts, while CoreAVC CUDA and LAV software (FFMpeg) do the job without artifacts. Interestingly that wanezhiling and clsid confirmed they had artifacts with LAV CUVID as well.
You wrote that sample played fine for you and it contained stream errors.

Here is a new sample, as the previous one it was recorded from SatTV: https://www.sendspace.com/file/hryhxw
Same problem for me, win7 x64, the newest geforce driver 372.70.

Maybe there is some workaround like you did for deinterlacing with the "Aggressive" option. Success of CoreAVC CUDA gives a chance.

VictorLS
20th September 2016, 20:52
Gleb Egorych, what version of CoreAVC with CUDA are you tried?
PS. I almost always use "Aggressive" deinterlacing in LAV Video Decoder. I hope to try your sample tomorrow.

IanD
21st September 2016, 06:35
Nevcairiel does not "officially" support WinXP any more, but I can assure you that the current stable version 0.68.1 works nicely under WinXP SP2. (AFAIK this is not true for SP1)

I tried installing 0.68.1 but it complains I need XP SP3 and refuses to install.

I have to go back to 0.59.1 (trial & error) before it will install on XP SP2.

andyvt
21st September 2016, 10:12
I received a sample file that causes a crash in avutil-lav-55.dll. The same file plays via ffplay.exe. LMK if you need more info.

Thanks

Sample (http://babgvant.com/downloads/samples/test-crash.zip)

filler56789
21st September 2016, 12:01
I tried installing 0.68.1 but it complains I need XP SP3 and refuses to install.

I have to go back to 0.59.1 (trial & error) before it will install on XP SP2.

Simply do not use the installer, just extract the 32-bit files from the installer,
and then run regsvr32 on the DirectShow filters (*.AX)

clsid
21st September 2016, 16:06
Simply do not use the installer, just extract the 32-bit files from the installer,
and then run regsvr32 on the DirectShow filters (*.AX)
The requirement is there for a reason. It uses Windows API functions only available in SP3. Manual registration will fail.

I received a sample file that causes a crash in avutil-lav-55.dll. The same file plays via ffplay.exe. LMK if you need more info.
Sample (http://babgvant.com/downloads/samples/test-crash.zip)
Works fine here with 0.68.1.31

filler56789
21st September 2016, 16:49
The requirement is there for a reason. It uses Windows API functions only available in SP3. Manual registration will fail.

So I stand corrected, sir. I never used LAV Filters with XP Service Pack 2, so I trusted what manolito said:

... but I can assure you that the current stable version 0.68.1 works nicely under WinXP SP2. (AFAIK this is not true for SP1)

manolito
21st September 2016, 16:54
Sorry I mixed up SP2 and SP3... :stupid:

The current LAVFilters do need XP SP3, but may I ask why you refuse to install SP3? I never heard of any issues which SP3 introduced.


Cheers
manolito

rancorx2
21st September 2016, 17:22
hi, is there any chance of getting an aspect ratio setting added to lav filters?

currently i use ffdshow for everything except hevc which i use lav for but it leaves me with black bars.

i would love to be able to stretch videso to fullsceen like you can do with ffdshow.

clsid
21st September 2016, 17:36
You can do that with MPC-HC.
menu > view > video frame > stretch to window

VictorLS
21st September 2016, 22:04
Gleb Egorych, your 2016-09-20 21-15-33.ts recorded from 1HD is played without artifacts in WinXP with LAV Video Decoder 0.68.1 CUVID (with last XP Cyberlink Video Decoder (PDVD Generic) and MPC Video Decoder and ArcSoft Video Decoder I see square artifacts along all file - DXVA is bad) but hangs up at the end of file in KMP 4.0.0.0 (in MPC-HC 1.7.10.236 all OK).
PS. If CUVID will decode h265 10bit - I have written to nVIDIA about it but have no answer ( - I don't need DXVA at all.

akim
21st September 2016, 23:28
nevcairiel
MPC-HC (LAV Filters) and mad-VR just a fairy tale thanks for that (can integrate them)
Friend implement or use the sane sound normalization in vlc (compressor) or potplayer even if they are incorrect
Another question is why there is no such option in the PAL SpeedDown player except Reclock, it is difficult or even something this amazing option
2-3 have to use one player to another normalization for PAL 25 to 23.976 compensation
One wants to use mpc-hc 64bit reclock but it does not support.
Thank you

clsid
22nd September 2016, 13:20
Windows has an option called "loudness equalization". Google for it. Nevcairiel has already said several times he won't add such functionality to LAV.

The internal audio renderer of MPC-HC might one day get similar functionality as reclock. But not very soon.

robl45
22nd September 2016, 13:36
You can do that with MPC-HC.
menu > view > video frame > stretch to window

I think the options is actually pan and scan scale to 16:9

akim
22nd September 2016, 17:31
clsid
it is sad
I'll have to keep the 2-3 player (it is so inconvenient and wasteful)
loudness equalization - is not supported on my Audigy Rx (stereo speakers) Win 10
Thanks.

Gleb Egorych
22nd September 2016, 18:58
VictorLS, CoreAVC 3.0.1, windows 7 x64 and geforce 372.70 for GTX660. What videocard do you have?

VictorLS
22nd September 2016, 21:50
Gleb Egorych
What videocard do you have?
As I mentioned in this thread http://forum.doom9.org/showthread.php?p=1780356#post1780356 new GTX750 with h265 VLDecoding, http://forum.ixbt.com/topic.cgi?id=10:60902-42 and my Info there.
With LAV CUVID Decoder - DirectShow CUVID Video 0.13 your 1HD sample playing well with unchecked Use HQ DXVA Processing only. With checked it is horrible - worse then decoded by any DXVA1 decoder I tried including CoreAVC 3.0.1 with DXVA Accelaration, with CUDA and None plays well and even KMP not hangs up. This is one more thing why I (and others) want that CUVID (not DXVA) will decode h265 10bit https://devtalk.nvidia.com/default/topic/965840 in XP, 7x64, Linux .... But technical support of nVIDIA worse day by day.
So, it is DXVA issue with NTV+ (like your sample 1HD) channels - some people from http://viaccessfree.su/forum thought this issue due to many GOPs in stream http://webcache.googleusercontent.com/search?q=cache:BewI3O8OeawJ:http://viaccessfree.su/forum/showthread.php?p%3D765660%2Bdvbviewer+gop+site:viaccessfree.su&lr&hl=ru&ct=clnk
IMHO maximum that nevcairiel can do before CUVID will decode h265 10bit - implement mechanism for automatic switching between CUVID and DXVA2 in his LAV Video Decoder. But IMHO it is difficult begining from interface of decoder settings and nevcairiel never do what I ask (
PS. Due to my new videocard my asks about Mainconcept HEVC Decoder support in LAV Splitter and possibility of decoding only key frames in LAV Video Decoder are cancelled by me now )

Gleb Egorych
23rd September 2016, 18:11
VictorLS, could you please test the sample in win7 as well?

Thanks to VictorLS, I tried retro LAV CUVID Decoder 0.13 and with disabled "Use HQ DXVA Processing" the sample is decoded perfectly. There is no such option in LAV Video, so I guess in LAV Video decoder it is disabled on XP and enabled on Vista+.

nevcairiel, is it possible to use HQ DXVA Processing for deinterlacing only? Accroding to your guide (https://1f0.de/lav-cuvid/guide/) the main purpose of the option is to access high quality deinterlacing engine.

VictorLS
23rd September 2016, 19:34
Gleb Egorych
I use attachments settings of LAV Video Decoder and all work perfect both in WinXP and Win7x64 (except h265 10bit).
And I do not see sense of Win7x64 experiment - with CUVID WinXP and Win7x64 are the same (renderer doesn't matter in artifacts question). With DXVA2 I saw artifacts on many NTV+ channels (SD and HD) many times before in Win7x64 on EVR.

Gleb Egorych
24th September 2016, 07:33
Made a quick check with "slices" deinterlacing test:
LAV Video (CUDA), LAV CUVID Decoder with HQ DXVA checked and CoreAVC CUDA produce identical results, utilizing high quality deinterlacing.
Unchecking HQ DXVA in LAV CUVID Decoder clearly affects deinterlacing quality in a negative way.

So CoreAVC can get CUVID acceleration, HQ deinterlacing and does not produce artifacts on the sample (http://forum.doom9.org/showthread.php?p=1781141#post1781141). LAV requires HQ DXVA disabling for artifact-free playback of the file.

All tests were made on geforce gtx660, win7 x64, driver 372.70, Zoom Player 10, EVR and madVR.

CarlosCaco
24th September 2016, 12:41
Silly question...
I m using sanear audio renderer
On windows audio says my tv supports only 16 bit audio...
Should check only 16 bit in lav or should check all formats and let windows hang this?

VictorLS
24th September 2016, 13:34
Gleb Egorych,
are you tried my screenshot's settings of LAV Video Decoder? With this settings deinterlacing doing videocard without DXVA (same as CoreAVC Hardware Agressive Deinterlacing) and your sample must playing without artifacts.

Gleb Egorych
24th September 2016, 17:25
VictorLS, with your settings I still see artifacts, the checkbox has nothing to do with the way the decoder is initialized. If you look at source code of LAV Video you will see that on Win7 cuda decoder is always normally created via cudaVideoCreate_PreferDXVA. In LAV CUVID decoder there is a dependence on "Use HQ DXVA Processing" checkbox, if it is unchecked then cuda decoder is created via cudaVideoCreate_PreferCUVID.

Different behaviour on your system may mean that:
1. Something was changed in hardware (VP6 in GTX750 vs VP5 in GTX660).
2. Something was changed in software (driver) for 7xx.

VictorLS
24th September 2016, 18:36
Gleb Egorych
Now I understand - XP do not have DXVA2 so with CUVID your 1HD sample is playing without artifacts. In Win7x64 I have seen artifacts on your sample, but 1HD from SAT shows well now with both DXVA2 and CUVID in LAV Video Decoder.
So, we ask nevcairiel in near future add possibility to turn off cudaVideoCreate_PreferDXVA in LAV Video Decoder interface as in LAV CUVID Decoder did.

Gleb Egorych
24th September 2016, 19:41
In Win7x64 I have seen artifacts on your sample
That's what I am talking about. So GTX750 and GTX660 are the same in this case.
but 1HD from SAT shows well now with both DXVA2 and CUVID in LAV Video Decoder.
It's a floating problem, sometimes it appears, sometimes it disappears. Next time you watch 1HD or other channel it may rise again.
So, we ask nevcairiel in near future add possibility to turn off cudaVideoCreate_PreferDXVA in LAV Video Decoder interface as in LAV CUVID Decoder did.
Simple return to LAV CUVID decoder behaviour is not that good, because it will disable high quality deinterlacing. So we ask nevcairiel to try to fix it keeping HQ deinterlacing intact.

VictorLS
25th September 2016, 06:50
Gleb Egorych
Do you see difference between HQ deinterlacing on and off on HD? So, if you are know Russian language we can discuss it here http://forum.ixbt.com/topic.cgi?id=10:60902-43

clsid
25th September 2016, 15:41
The HQ deint option was removed on December 6th:
https://github.com/Nevcairiel/LAVFilters/commit/28315362f1a3327b5d12f1f9345fa4126854b33b

As you can see in the code, it currently is already disabled by default on XP. The only thing the option did is to prefer "DXVA mode" in the CUVID decoder. So 'fixing' decoding while also keeping deinterlacing quality is not possible. It is one or the other.

Gleb Egorych
25th September 2016, 19:26
VictorLS, search for "cheese slices deinterlacing", there are test videos with a how-to description. The difference is clearly visible.

So 'fixing' decoding while also keeping deinterlacing quality is not possible. It is one or the other.
Then how did CoreAVC make them work simultaneously? I understand that in current implementation the checkbox does not do the job so it is useless to simply return it.

VictorLS
25th September 2016, 21:20
Gleb Egorych
I have tried Slicies H.264 PAL 1080i-25.ts (from AVSForum) on XP (my BenQ FP241VW is 1920x1200 connected via DVI and I set 50Hz by nVIDIA's Control Panel). With check Enable Adaptive HW Deinterlacing it looks worse (more artifacts) then with unchecked in NVIDIA CUVID mode. On 7x64 I not see difference in LAV Video decode, but LAV CUVID Decoder shows worse with checked Use HQ ...
PS. I tried these Slicies in 2009 on AMD HD 3650 and nVIDIA GT220 - AMD was much better but IMHO it was only one preference over nVIDIA, but custom vertical frequency setup, colors, drivers, support and some other was made much better by nVIDIA.

Gleb Egorych
26th September 2016, 21:42
VictorLS, it's strange, for me HQ deinterlacing have an obvious advantage

HQ on:
http://s020.radikal.ru/i706/1609/81/d1c90941bb56.png [660 KB]

HQ off:
http://s56.radikal.ru/i154/1609/2d/01708b4ff68b.png [750 KB]

Done with LAV 0.67.

andyvt
26th September 2016, 21:44
I received a sample file that causes a crash in avutil-lav-55.dll. The same file plays via ffplay.exe. LMK if you need more info.

Thanks

Sample (http://babgvant.com/downloads/samples/test-crash.zip)

FYI - doesn't repro with github master

VictorLS
27th September 2016, 06:37
Gleb Egorych
With 0.68.1 (no git) in WinXP d1c90941bb56.png ~ as my HQoff and 01708b4ff68b.png as HQon )
Screenshots are impossible with VMR7w.
May be clsid explains us what happening.

nevcairiel
27th September 2016, 12:06
Windows XP has never supported HQ mode.

VictorLS
27th September 2016, 12:33
nevcairiel
Thanks for reply. But why I see difference between checked and unchecked Enable Adaptive HW Deinterlacing in XP.
Repeat: with checked worse.
And why LAV CUVID Decoder shows worse with checked Use HQ ... on Win7x64?

nevcairiel
27th September 2016, 12:41
It works how it works. Use it or don't.

VictorLS
27th September 2016, 18:07
nevcairiel
)
You are quite right and I agree in this case, but hope that in case of CUVID you'll implement HEVC 10bit support if it will be possible https://devtalk.nvidia.com/default/topic/965840
It is very very important for me. You are my last hope (if nVIDIA will not object) for smooth watching 3840x2160p50 (60) HEVC 10bit channels from SATs on WinXP with my new GTX750 GM206 - all necessary for me video including 4K HEVC 8bit is perfect with 0.68.1 - Thank you very much for your filters.
PS. I agree even on LAV CUVID Decoder i.e. 0.14 with correct 4K h265 10bit support.

amayra
29th September 2016, 20:28
is more than 4 months since last stable build how about last nightly is look stable enough for me

AngelGraves13
1st October 2016, 20:54
Has any progress been made on decoding the object based audio portion of Atmos and/or DTS:X?

What new features of bug fixes could we expect in the next stable version?

huhn
1st October 2016, 23:12
what's the point of decoding object based audio codecs?

you need a mixer/audio renderer that can handle this type of audio too.

VictorLS
2nd October 2016, 04:14
max_verem from https://devtalk.nvidia.com/default/topic/965840 with philipl's help can hardware play 4K HEVC 10bit (as I understand with 8bit dithering) using CUVID on Linux already.
Developers of LAV Video Decoder, tell please is it possible, theoretically, to do the same with CUVID in LAV Video Decoder?
And one more question: why CUVID not work on Win10 totally?
PS. Despite of last question I need CUVID H265 10bit hardware decoding on WinXP and Win7x64.

CruNcher
2nd October 2016, 04:51
@nevcairiel

what is that ?

every scene change in the Transformer (ATME Kyrion Encoder) sample causes a massive latency spike of 15 ms ?

http://demo-uhd3d.com/fiche.php?cat=uhd&id=22

Lav Video (15 ms latency spike every scene change)

http://i1.sendpic.org/t/mN/mNLogZaIXv5c2MPVg1xI6aPivu6.jpg (http://sendpic.org/view/1/i/31K6CWk9fjytKMFGwS1AH3pOvpQ.png)


Lentoid Decoder (no issue)

http://i1.sendpic.org/t/wn/wnl7fBDWIN8jAXP3hufbjReOFoX.jpg (http://sendpic.org/view/1/i/ypFKbwv5iq1Hv3iWDg8h63kf9Vl.png)


I Frame decoding performance issue ?

i guess it could match with this

Lav Video CPU

http://i1.sendpic.org/t/f4/f4Oppp66Wexv9MiIAESTetRV4w3.jpg (http://sendpic.org/view/1/i/gw5BsSf8m04CHQeCGnKR1PK2Yx2.png)


Lentoid CPU

http://i1.sendpic.org/t/t6/t6eICbkKQw85HNV8BkZiuh6MpCq.jpg (http://sendpic.org/view/1/i/x6OZDjn8t6JPWlHQfmRblcLFUch.png)

AngelGraves13
2nd October 2016, 07:19
what's the point of decoding object based audio codecs?

you need a mixer/audio renderer that can handle this type of audio too.

The same reason we wanted to be able to decode DTS-HD MA...

To fully experience the audio track without compromises.

huhn
2nd October 2016, 08:52
even if you can decode it you can't use it.

what is the compromises of bit streaming object based audio. every hardware has to bit stream it.

even if we could decode object based audio and send this decode data to your AVR it couldn't do anything with it.

e-t172
2nd October 2016, 10:33
The same reason we wanted to be able to decode DTS-HD MA...

To fully experience the audio track without compromises.

DTS-HD MA is a "traditional" format. It decodes to a fixed number of channels, like TrueHD or FLAC. Object-based audio is a completely different paradigm entirely, which makes things harder. If the audio decoder outputs decoded object-based audio, the next step in the chain (the audio renderer) needs to know what do to with it. In practice, that probably means someone needs to write an audio renderer that is capable of correctly mixing and rendering object audio while taking end user setup into account (how many speakers and where they're located). That's a lot of work - way more work than would be required to support a traditional format.

markanini
2nd October 2016, 19:50
I'd love to see replaygain support.

CruNcher
3rd October 2016, 00:08
Hmm lav 68.1-31

causing sync issues again

sonyvegas14_best_hightier_360°.mov

https://www.sendspace.com/file/87bq1x



http://i1.sendpic.org/t/fv/fvlCHmb4zSNxVBIC7CmzhJ7FlY3.jpg (http://sendpic.org/view/1/i/6iThGM1DEQn3nx5JbP3JyqtQqbk.png)


Something wrong on the splitter side or the decoder or both ?


tried the file with nightly MPV it plays fine


PS: Just tried MPC-BE Internal nightly filters they work also just fine with the bitstream so looks like a bug, though the scene change issues with the transformer bitstream remain untouched.

http://i1.sendpic.org/t/lr/lrGw4REtvE0unhUuKTmsw1BFgoX.jpg (http://sendpic.org/view/1/i/oCdR6zvF85NaUwwgRMcbMhpvbTh.png)

http://i1.sendpic.org/t/v5/v5k4B0AagOBMTIqwuYqo8S8z6Tl.jpg (http://sendpic.org/view/1/i/8WfgeSxuAALrVP2v5n55MftXFUH.png)

Lentoid still fails with the bitstream and mpc-be splitter combo

http://i1.sendpic.org/t/EO/EOZR5vDTPyHuDiRGf3G9TqLxvU.jpg (http://sendpic.org/view/1/i/334l12mM7AwktFbT0W2H7QW4tNM.png)

clsid
3rd October 2016, 15:51
The Frame Time Correction option in MPC-HC can 'fix' the problems with that sample.

CruNcher
3rd October 2016, 18:21
right just pushing c with lav video and the problem is gone

aiks what is the right/wrong behavior now ?

should it always only playback with the FTC correctly on EVR with 25 fps or should it playback from itself like in MPV (ogl) and MPC-BE without FTC @25 fps on EVR ?

FTC has also impact on the Transformer Sample instead of 3 or 4 consective dropouts after a scene change you only get 1 bigger one though im not really sure which behavior is to prefer both is bad in its own way ;)


with ftc

http://i1.sendpic.org/t/zB/zBHfO1GyicTnGMBVQxyz5OsyoUp.jpg (http://sendpic.org/view/1/i/vdhfiC0ygtFV9nKt9z3Ulb3WxRr.png)

without ftc



Though if i think about it maybe it was done on purpose to get this stop hard cut effect ?
http://i1.sendpic.org/t/al/altO8EMeibuZ0oa8EgjFMYF7puj.jpg (http://sendpic.org/view/1/i/1lSbFbAAGolBz9uaOvCJNpLQHyh.png)


but that makes no sense at all as scene blends that got detected as sencechanges are also affected so most probably it really is a overflow situation on Atemes encoder side @ that time :D

fxv300
8th October 2016, 22:22
This issue also happens with AMD Polaris range.
It could be a LAV filter issue.
Blog here (https://rx480.blogspot.co.uk/)
video (https://youtu.be/hCCBxKPOI84)



Hello,

I have heavy artifacts if I use dxva2 (native) with my GTX 960 4gb, with Software decoding or QSV it's no problem.

The content is of a TV channel, some of the times its just fine on that channel sometimes I get the artifacts.

Here you can download the sample (is SD and I think H.264): https://www.dropbox.com/s/2zxhgqx2dht68qg/DXVA_NVidia_bug.ts?dl=0
Is this a known bug? Is there a workaround? Have others also problems with Nvidia graphics playing this short sample?

If needed I want to make screen record of the artifact...

Thanks and kind regards,
Clemens

nevcairiel
9th October 2016, 08:24
All these issues happen with other decoder as well, sometimes at slightly different circumstances, but still happens. Polaris decoders are just broken, if its in drivers or in the hardware only AMD can tell you.
The sample you quoted for example is also broken with Microsofts decoder, so its very likely a driver or hardware issue.

People really shouldn't jump to conclusions without proper information. H264 DXVA2 decoding in particular has been well tested over various generations of hardware, so if suddenly a specific piece of hardware shows issues, its far more likely to be that hardware (or its drivers), rather than a fundamental issue in the software. Even more so if other decoders show the same problems.

CruNcher
14th October 2016, 00:39
As i said wouldn't really surprise seeing how catastrophically UVDs Parser behavior was especially at the beginning with Broadcast and Resilience Playback Nvidia had only very minor issues that got really fast fixed 1 after another via Firmware updates early on through lot of developer and community feedback with problematic bitstreams (not bios firmware but the VPX Firmware on the Driver side) mostly.

So this is something AMD still has to go through to get their Hardware more stable in the future lot of bad decision in the past where made and Nvidia ran so fast away with their more open ecosystem approach initiated by Roy Taylor back then, until Intel arrived and hell did they pressured.

We already see some some really great things from him now being the Corporate Vice President of Alliances for practically the whole AMD Ecosystem which even became so much more open then we just could have dreamed for on Nvidias side now feedback will be the key to domination the faster this process runs now the better.

And i really see that Doom9 once again could become the major aggregation point for this feedback and enhancing process for AMDs UVD and Media SDKs ;)

Joniii
15th October 2016, 08:17
Is there any way to to make LAV Filters prefer AC3 core from TrueHD?

My receiver doesn't support TrueHD and LAV Filters always plays TrueHD if available and I have to manually change to AC3 core from MPC-HC.

ryrynz
15th October 2016, 11:02
Is there any way to to make LAV Filters prefer AC3 core from TrueHD?


Just untick 'Dolby TrueHD' under 'Bitstreaming (S/PDIF, HDMI)' options in LAV Audio.

Joniii
15th October 2016, 14:10
Just untick 'Dolby TrueHD' under 'Bitstreaming (S/PDIF, HDMI)' options in LAV Audio.
That's how I've always set it up, but LAV Audio selects TrueHD as default and I have to manually select AC3 core.

15621

sneaker_ger
15th October 2016, 15:28
Try turning off "Prefer Audio Stream with the Highest Quality" in LAV Splitter. But this will only work in some cases. I don't think there's currently any setting to always prefer AC3 over TrueHD. A workaround would be to use an additional filter that encodes to AC3 on-the-fly (like ReClock or AC3 filter) - the encoding may be less good than the original AC3 core done with (I assume) professional Dolby encoder, though.

Joniii
16th October 2016, 08:06
Try turning off "Prefer Audio Stream with the Highest Quality" and "Demux sub-streams separately" in LAV Splitter. But this will only work in some cases. I don't think there's currently any setting to always prefer AC3 over TrueHD. A workaround would be to use an additional filter that encodes to AC3 on-the-fly (like ReClock or AC3 filter) - the encoding may be less good than the original AC3 core done with (I assume) professional Dolby encoder, though.

Thanks. Sadly "Prefer Audio Stream with the Highest Quality" didn't have any effect on TrueHD. :/

@nevcairiel

Would it be possible to add new if into the audio/splitter configuration, so that if TrueHD bitstreaming is not checked, it would select AC3 core as default track? Or would that break something?

If the receiver doesn't support TrueHD and it is not selected on bitstreaming settings, it will still use TrueHD as default track and passes it as 2ch to receiver and I have to manually select core as on the screenshot on few posts back.

huhn
16th October 2016, 09:42
think about using analog.

with analog output you don't need supported bitstream formats to get surround audio. so flac, aac and other surround formats don't need realtime reencoding.

i would always avoid SPDIF if possible.

e-t172
16th October 2016, 10:48
think about using analog

...or LPCM over HDMI.

huhn
16th October 2016, 14:07
his AVR doesn't have HDMI.

clsid
16th October 2016, 14:16
The splitter functions independently from the audio decoder and is thus unaware of the bitstreaming settings. A new option would be required to prefer substreams.

sneaker_ger
16th October 2016, 16:21
Maybe it would make sense to always put the core stream above the lossless outer one (in the stream order) when "Demux sub-streams separately" is activated. No new option needed but more use-cases covered.

zerowalker
16th October 2016, 23:44
Not sure how to "report" this issue i am having.

You see if i record mkv with OBS Studio,
that file will be unseekable as in, Every time i seek, it will read through from the start of the file till that spot.

As you can imagine this takes Forever on huge files.

So i was sure it was a bug with the mkv files.

But, then someone said that it worked fine on VLC,
so i tried it, and it does for some reason. (I use MPC-HC with LAV Filter).

Now, i don't know where the issue lies, but i would guess that it's the Splitter?

Any suggestions on how to go forward with this?

Thanks:)

huhn
17th October 2016, 07:55
start with a sample maybe.

zerowalker
17th October 2016, 08:03
Problem is that it's very hard to even notice on a sample.
IT's when you reach several GBs that you actually notice it.
Cause if the file is just some megabytes,
it will read it so fast that it appears to be seekable.

nevcairiel
17th October 2016, 10:20
The likely cause is that OBS doesn't write any seeking index.

clsid
17th October 2016, 14:38
You can fix those files by remuxing them with MkvToolNix.

zerowalker
17th October 2016, 17:49
Remuxing solves it yeah.

But why does VLC work fine, any idea?

And OBS doesn't really much itself, it lets ffmpeg handle it.

el Filou
17th October 2016, 21:03
This issue also happens with AMD Polaris range.
It could be a LAV filter issue.
Blog here (https://rx480.blogspot.co.uk/)
video (https://youtu.be/hCCBxKPOI84)
For the record, the file linked in that quoted message plays just fine on my very (very veeery... :o) old Radeon 4650 on driver 8.970 with DXVA Native, so it's really the recent drivers and/or hardware from NVIDIA and AMD that have a problem with (SD) broadcast H.264, and not LAV.

That doesn't make me happy as I'm planning to buy either an RX 460 or a GTX 1050 very soon to replace the antique card in my HTPC, and I watch a lot of DVB with it, so if you ever find a fix for those issues please share here, thanks!

akim
19th October 2016, 21:11
I assume that something has changed in the drivers for AMD HD 7850 card in Win 10
I have a soft-mode does not work when you run any video (avi, sd)
card rate increases to 450-1200 and should be 300-150
I tried everything: evr, evr-cp, default system does not help
p.s tested other players, they also raise the frequency only mpv player - keeps frequency 300-150

GCRaistlin
21st October 2016, 23:54
I can't get hardware decoding enabled for an UHD file:
3840x1606 at 23.976 fps, x264, ~100 Mbps avg
LAV Video settings window says "Active Decoder: av codec, Active Hardware Accelerator: none". UHD checkbox is set, DXVA copy-back is selected.

For FullHD video, it works: http://i68.tinypic.com/m80mza.jpg
Win 8.1, HD7850, Crimson 16.10.1.

huhn
22nd October 2016, 01:36
which codec is used in that video.

and i don't know if an old AMD card can do UHD they struggle with 1080p60.

captaiŋadamo
22nd October 2016, 02:05
I can't get hardware decoding enabled for an UHD file:
3840x1606 at 23.976 fps, x264, ~100 Mbps avg
LAV Video settings window says "Active Decoder: av codec, Active Hardware Accelerator: none". UHD checkbox is set, DXVA copy-back is selected.

For FullHD video, it works: http://i68.tinypic.com/m80mza.jpg
Win 8.1, HD7850, Crimson 16.10.1.

It's not enabled because your card doesn't support it. Why would you expect an AMD card from 2012 to support UHD decoding?

NikosD
22nd October 2016, 04:33
I can't get hardware decoding enabled for an UHD file:
3840x1606 at 23.976 fps, x264, ~100 Mbps avg
LAV Video settings window says "Active Decoder: av codec, Active Hardware Accelerator: none". UHD checkbox is set, DXVA copy-back is selected.

For FullHD video, it works:
Win 8.1, HD7850, Crimson 16.10.1.

The first AMD card ever supporting UHD/4K H.264 was released on 2014 and it was the first GCN3 card - the R9 285.

Any card before R9 285 supports up to 1080p - FullHD.

VictorLS
22nd October 2016, 17:39
GCRaistlin
8 or 10bit? h264 10bit can not be accelerated by any videocard.
el Filou
What Windows (or Linux) plan you use with HTPC? If not Win10 there is old LAV CUVID Decoder 0.13 which plays DXVA_NVidia_bug.ts (and all other such files) well in Win7x64 with unchecked Use HQ DXVA Processing in properties of LAV CUVID Decoder (in XP even LAV Video Decoder plays those files and all SAT channels well with NVIDIA CUVID hardware acceleration). For h265 UltraHD you can use LAV Video Decoder with DXVA2 acceleration in Win7 (LAV CUVID Decoder can not decode h265), because nobody here want to implement h265 10bit acceleration in NVIDIA CUVID (both LAV CUVID and LAV Video Decoders) as in Linux https://devtalk.nvidia.com/default/topic/965840
It is very (very veeery... ) pity because my HTPC on WinXP 32bit is not perfect now (it can not play h265 10bit smooth both from SAT and from files - I have to boot Win7x64 for h265 10bit only - all others I watch in XP except h264 10bit at all of course.

el Filou
23rd October 2016, 17:24
el Filou
What Windows (or Linux) plan you use with HTPC? If not Win10 there is old LAV CUVID Decoder 0.13
I'm using Windows 10. I guess I'll have to check the forums before buying a new card to make sure it plays interlaced DVB streams without corruption.
I'm using MediaPortal which has a decent forum community so maybe this issue will popup over there.

huhn
23rd October 2016, 18:35
driver should fix that some time in the future and there is still software decoding.

P.J
24th October 2016, 17:41
This file is 16:9 Bottom Field First but plays as 4:3 Top Field First :confused:


General
Format : MPEG-4
Commercial name : DVCPRO HD
Format profile : QuickTime
Codec ID : qt 2005.03 (qt )
Overall bit rate mode : Constant
Overall bit rate : 117 Mbps
Writing library : Apple QuickTime

Video
ID : 1
Format : DV
Commercial name : DVCPRO HD
Codec ID : dvh6
Duration : 3mn 48s
Bit rate mode : Constant
Bit rate : 97.8 Mbps
Encoded bit rate : 115 Mbps
Width : 1 280 pixels
Clean aperture width : 1 888 pixels
Height : 1 080 pixels
Clean aperture height : 1 062 pixels
Display aspect ratio : 1.185
Original display aspect ratio : 16:9
Clean aperture display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 (29970/1000) fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:2
Scan type : Interlaced
Scan type, store method : Interleaved fields
Scan order : Bottom Field First
Compression mode : Lossy
Bits/(Pixel*Frame) : 2.360
Language : English
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

VictorLS
24th October 2016, 20:31
el Filou
Win10 has only DXVA acceleration - CUVID not work in 10 and I do not know why - this is one of the many many thing why I not use Win10.

leoenc
28th October 2016, 14:28
Any chance to add support for 10-bit ProRes files?
Currently they are being interpreted as 8-bit in AVIsynth+.
With AVIsynth+'s new support for high bit depths, this could be really useful, as the only alternative is using FFMS2 but indexing of big ProRes files takes forever.

LigH
28th October 2016, 14:38
"Support" would require a source filter being able to read it and decode it to an uncompressed format supported by AviSynth+. Which source filters could that be?

a) native source filters based on libavcodec, like FFMS2 or L-SMASH Source: can be able to support it natively, but writing an index to disk is slow, and keeping the index in RAM may need much of it, as it seems to have keyframes for all frames (intra-frame only codec).

b) AviSource: would have to rely on VfW codecs installed in the Windows system, and whether they can provide high bit depth output

c) DirectShowSource: would have to rely on DirectShow filters installed in the system, and whether they can provide high bit depth output

d) mixed technology source plugins like DSS2Mod: hmm, not sure if there are any quirks...

sneaker_ger
28th October 2016, 14:43
Since LAV is a DirectShow filter I assume he's talking about that. Thing is: LAV can ouput 10 bit just fine. AviSynth+'s DirectShowSource() likely doesn't yet accept it so LAV falls back to 8 bit.

LigH
28th October 2016, 14:49
Well, DSS2Mod can use LAV Filters also with a native API. But I believe it won't request any HBD modes. That may require a specific awareness of AviSynth+.

nevcairiel
28th October 2016, 15:04
In any case LAV supports decoding ProRes in 10-bit just fine. Anything else AviSynth related is out of my hands.

P.J
28th October 2016, 19:26
This file is 16:9 Bottom Field First but plays as 4:3 Top Field First :confused:


General
Format : MPEG-4
Commercial name : DVCPRO HD
Format profile : QuickTime
Codec ID : qt 2005.03 (qt )
Overall bit rate mode : Constant
Overall bit rate : 117 Mbps
Writing library : Apple QuickTime

Video
ID : 1
Format : DV
Commercial name : DVCPRO HD
Codec ID : dvh6
Duration : 3mn 48s
Bit rate mode : Constant
Bit rate : 97.8 Mbps
Encoded bit rate : 115 Mbps
Width : 1 280 pixels
Clean aperture width : 1 888 pixels
Height : 1 080 pixels
Clean aperture height : 1 062 pixels
Display aspect ratio : 1.185
Original display aspect ratio : 16:9
Clean aperture display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 (29970/1000) fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:2
Scan type : Interlaced
Scan type, store method : Interleaved fields
Scan order : Bottom Field First
Compression mode : Lossy
Bits/(Pixel*Frame) : 2.360
Language : English
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709


No idea? =/

huhn
28th October 2016, 19:52
this should be the problem:
Width : 1 280 pixels
Clean aperture width : 1 888 pixels
Height : 1 080 pixels
Clean aperture height : 1 062 pixels
Display aspect ratio : 1.185

Nintendo Maniac 64
28th October 2016, 20:26
Question - is there any way to have LAVfilters enable hardware decoding for HD (720p) but not FHD (1080p)?

Currently you can only specify SD (480p), HD (1080p), and UHD (2160p)...

I'd love to see replaygain support.
I would too, but I believe this is something that would be implemented by the media player rather than LAVfilters.

(which does beg the question of why MPC-HC doesn't support it...)

CruNcher
28th October 2016, 20:45
Resilience Playback issues have arrived @ AMD ;)

https://support.amd.com/en-us/kb-articles/Pages/Radeon-Software-Crimson-Edition-16-10-3-Release-Notes.aspx

Known Issues

A few game titles may fail to launch, experience performance issues or crash if the third party application "Raptr" has its game overlay enabled. A workaround is to disable the overlay if this is experienced.
H.264 content playback may experience playback issues on internet browsers with hardware acceleration when also running gaming applications or content.
The Division™ may experience checkered corruption when using character model overlays or the game menu.
Some users without the Radeon WattMan feature may experience a Radeon Software popup error regarding Radeon WattMan.
FIFA 17™ may experience an application hang or black screen on launch for some select Hybrid Graphics or AMD PowerXpress mobile configurations.
H.264 content may experience blocky corruption when streaming using P2P content players on some Radeon RX 400 series graphics products.

Not a bad reaction time anymore, though they knowing the issues doesn't mean they will be able to fix them or when that will happen but at least they know it by now that something is wrong :D

Though it's funny they speaking of "some" not every which is strange now.

So maybe we have to differentiate between UVD inside of Polaris 10/11 as well with that information ?.


That Driver Multitasking issue is interesting who is doing wrong here Internet Browser Engine, AMD Driver or Windows, make your bets ;)

P.J
28th October 2016, 23:12
this should be the problem:
Width : 1 280 pixels
Clean aperture width : 1 888 pixels
Height : 1 080 pixels
Clean aperture height : 1 062 pixels
Display aspect ratio : 1.185

But the aspect ratio is 16:9, same as HDV 1440x1080i @ 16:9

huhn
29th October 2016, 09:03
but the decoded video is still 1280x1080 (if i understand this correct).

it needs to be displayed at 1880x1062 and the playback software needs to know and support that.

the file it self says it is 1,185:1 a TV recording is say it is 16/9. so the DAR is wrong in the file or wrong interpreted by media info. even the refreshrate is strange it should be 30000/1001 not 29970/1000

this is a TV recording:
Maximum bit rate : 20.0 Mbps
Width : 1 440 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9

LigH
29th October 2016, 09:26
It sounds like this is a common issue with Apple Final Cut Pro, but even a bit perverted here: According to this forum thread (https://forums.creativecow.net/thread/8/1133273) (warning, ads and 3rd party certificates) it often happens that footage prepared in 1920x1080 HD ProRes 444 gets a "Clean aperture" cropping down to 1888x1062 in FPC project settings before being compressed to the final format, and these values don't apply to different resolutions very well...

:devil:

VHT
29th October 2016, 16:03
Hello, I've been messing around with my HTPC + 3D and picture looks fantastic with madVR + LAV Filters, but subtitle depth (plane) goes occasionally wrong resulting my eyes going awry. I'm watching original blu-ray ISO's and using madVR v0.90.20, LAVfilters 0.68.1. MPC-HC + Nvidia 373.06 drivers.

Been testing same movies with Pioneer standalone blu-ray player and the subtitle depth is correct with that.

Is this a know problem or is it just me?

I'd be really grateful for any help.

trandoanhung1991
29th October 2016, 19:32
Trying to get LAV to decode with CUVID the following clip http://demo-uhd3d.com/fiche.php?cat=uhd&id=148. Using LAV 0.68.1.

Any idea why it keeps defaulting to avcodec? I have a GTX 1070 which should be able to decode this with ease, since it supports 4k@60 10b decoding.

VictorLS
29th October 2016, 21:39
trandoanhung1991
I already tired to ask implement h265 10bit support in NVIDIA CUVID in LAV Video Decoder (I use 0.68.1 also) or even in LAV CUVID Decoder (last 0.13 but I hope to see 0.14 with h265 10bit support). Nobody answered here about it (
Although such clips are accelerated by DXVA2 in Win7-10 or CUVID in Linux https://devtalk.nvidia.com/default/topic/965840
I am sure there is a switch in code of LAV Video Decoder which force turn off hardware acceleration when CUVID is chosen and h265 10bit is playing because when h265 12bit is playing with CUVID hardware acceleration is on but with pink squares on my GTX750 GM206-150 based videocard in XP and Win7x64.

jkauff
30th October 2016, 04:59
I can't play 10-bit H.265 on my system, but I thought that H.265 was handled by a separate chip on Pascal cards, not CUVID cores. Isn't NVDECODE the interface to that chip's decoder?

I'm sure someone more knowledgeable will tell me if I'm wrong. :)

LigH
30th October 2016, 05:45
The video decoder unit on Nvidia GPUs is called PureVideo (https://en.wikipedia.org/wiki/Nvidia_PureVideo) (and the encoder unit is NVENC (https://en.wikipedia.org/wiki/Nvidia_NVENC)).

A video decoder software using the PureVideo SIP block will only support its provided features according to the feature set of its generation. Feature Set F should be the first supporting HEVC Main10 profiles; Feature Set G cards even support Main12 profile.

CruNcher
30th October 2016, 06:50
Or Internally just VPX (where X is the Generation) and it includes both Encoder/Decoder as most probably it stands for Video Processor X.

And Encoding started as NVCUVENC which is still working up to date before everything was moved to the Hardware and recaled NVENC

We are at Feature Set H

8th Generation by now

Added support for VDPAU Feature Set H to the NVIDIA VDPAU driver. GPUs with VDPAU Feature Set H are capable of hardware-accelerated decoding of 8192x8192 (8k) H.265/HEVC video streams.

either that or higher bitrate or Mulitply streams unless you reach the Maximum Decoding Capacity and Encoding/Capturing has some Software Driver Locks on the utilization side for different market usage ;)

Though it's pretty uknown if the 1050 (GP107) brings anything new yet to VPX that's not externally made public so officially its feature set H ;)


Nvidias Hybrid H.265 Decoder inside GM204 is roughly as performant as 4 intel Sandy Bridge cores on OpenHEVC alone at decent 4K Streaming bitrates, with some Decoding Performance issues that most probably never really got considered of being optimized any further it could certainly do better as it does by now ;)

NikosD
30th October 2016, 07:20
Using LAV 0.68.1.

Any idea why it keeps defaulting to avcodec? I have a GTX 1070 which should be able to decode this with ease, since it supports 4k@60 10b decoding.

Try again using DXVA2 instead of CUVID.

I can't play 10-bit H.265 on my system, but I thought that H.265 was handled by a separate chip on Pascal cards, not CUVID cores.

Try again using DXVA2 instead of CUVID.

nevcairiel
30th October 2016, 10:00
Indeed, just don't use CUVID. It doesn't support proper 10-bit decoding (and I do not plan to offer broken 10-bit decoding like some of these XP users here want).
DXVA2 is generally superior, it offers full bit-exact 10-bit decoding and various other features that CUVID couldn't begin to offer (like proper HDR metadata extraction, and more).

trandoanhung1991
30th October 2016, 10:48
Indeed, just don't use CUVID. It doesn't support proper 10-bit decoding (and I do not plan to offer broken 10-bit decoding like some of these XP users here want).
DXVA2 is generally superior, it offers full bit-exact 10-bit decoding and various other features that CUVID couldn't begin to offer (like proper HDR metadata extraction, and more).

Is the broken 10-bit decoding due to Hybrid decode? Pascal seem to offer full HW decoding of 10 and 12 bit streams.

nevcairiel
30th October 2016, 10:50
The CUVID interface just doesn't offer full access to 10-bit images, its a limitation from the API NVIDIA makes available for CUVID.

VictorLS
30th October 2016, 11:19
nevcairiel
Many thanks for reply.
It is a pity but I have to use Win7x64 from now more often (
PS. I have 8bit monitor and NVIDIA CUVID with h265 10bit hardware decoding by "dither it down to 8bit to return as NV12" like in Linux will be quite enough for me but ... thanks once more.
PPS. What about add possibility check/uncheck Use HQ DXVA Processing in LAV Video Decoder like in LAV CUVID Decoder with possibility automatic switch CUVID for h264 and DXVA2 for h265 while DXVA2 will play files such DXVA_NVidia_bug.ts and 2016-09-20 21-15-33.ts by new videocards without artifacts?
It was one of the important thing why I used WinXP - I never saw artifacts like in Win7x64 when watch SAT programs. If all SAT h265 is 8bit I use XP now with LAV Video Decoder NVIDIA CUVID )

trandoanhung1991
31st October 2016, 00:49
The CUVID interface just doesn't offer full access to 10-bit images, its a limitation from the API NVIDIA makes available for CUVID.

CUVID offers decoders for H264, HEVC, H263, MJPEG, mpeg1/2/4, vp8/9, vc1. Codec support varies by hardware. The full set of codecs being available only on Pascal hardware, which adds VP9 and 10 bit support.

While decoding 10 bit video is supported, CUVID is only able to output 8 bit video, so the additional 2 bits are lost in the process.

https://trac.ffmpeg.org/wiki/HWAccelIntro

Pretty conclusive. Maybe put this as part of the FAQ?

kral2008
3rd November 2016, 10:25
Indeed, just don't use CUVID. It doesn't support proper 10-bit decoding (and I do not plan to offer broken 10-bit decoding like some of these XP users here want).
DXVA2 is generally superior, it offers full bit-exact 10-bit decoding and various other features that CUVID couldn't begin to offer (like proper HDR metadata extraction, and more).

But, kindly, if you improve the LAV CUVID compatibility, people haveing older graphic cards can watch UHD channels, I think most of them only want to watch just 4K HEVC and they don't attention to whether it is 8bit, 10bit, Dolby vision or HDR.

LigH
3rd November 2016, 10:28
How do you mean that?

If CUVID does not support decoding 10 bit precision, LAV can't make CUVID support it. Only Nvidia could (if it is at all technically possible).

nevcairiel
3rd November 2016, 10:48
But, kindly, if you improve the LAV CUVID compatibility, people haveing older graphic cards can watch UHD channels, I think most of them only want to watch just 4K HEVC and they don't attention to whether it is 8bit, 10bit, Dolby vision or HDR.

CUVID does not offer anything that DXVA2 does not also offer. I will not implement broken decoding modes, ever.

kral2008
3rd November 2016, 16:12
How do you mean that?

If CUVID does not support decoding 10 bit precision, LAV can't make CUVID support it. Only Nvidia could (if it is at all technically possible).

While decoding 10 bit video is supported, CUVID is only able to output 8 bit video, so the additional 2 bits are lost in the process.
https://trac.ffmpeg.org/wiki/HWAccelIntro

CUVID does not offer anything that DXVA2 does not also offer. I will not implement broken decoding modes, ever.
I know it too,
as I said before, it is just a demand by the users of old cards to watch 10bit HEVC, they don't care about losing 2 bits in output picture (according to the link given above). Maybe they don't want to spent money on a new card.
But you have absolute discretion to choose what you want to do.

captaiŋadamo
3rd November 2016, 17:04
as I said before, it is just a demand by the users of old cards to watch 10bit HEVC, they don't care about losing 2 bits in output picture (according to the link given above). Maybe they don't want to spent money on a new card.
But you have absolute discretion to choose what you want to do.

You seem to act like it's only loosing bits of precision in the output, when in reality what is likely to come out of the decoder is broken or corrupted output. From what I remember a couple of years back from an Ars Technica dicussion, someone tried to feed the 1st-gen Maxwell Hybrid decoder with 10-bit HEVC and they got output with a purplish haze to it. Which is completely broken and would be silly to allow.

nevcairiel
3rd November 2016, 17:13
as I said before, it is just a demand by the users of old cards to watch 10bit HEVC, they don't care about losing 2 bits in output picture (according to the link given above). Maybe they don't want to spent money on a new card.
But you have absolute discretion to choose what you want to do.

Every card that can decode HEVC 10-bit through CUVID can also do it through DXVA2. There is literally no reason to use it, except when you are on Windows XP, but there is an easy fix for that, too, just install a supported OS.
Before I do *anything* for XP, I would rather remove support for it entirely to close this annoying topic down.

kral2008
3rd November 2016, 20:31
Every card that can decode HEVC 10-bit through CUVID can also do it through DXVA2. There is literally no reason to use it, except when you are on Windows XP, but there is an easy fix for that, too, just install a supported OS.
Before I do *anything* for XP, I would rather remove support for it entirely to close this annoying topic down.

You seem to act like it's only loosing bits of precision in the output, when in reality what is likely to come out of the decoder is broken or corrupted output. From what I remember a couple of years back from an Ars Technica dicussion, someone tried to feed the 1st-gen Maxwell Hybrid decoder with 10-bit HEVC and they got output with a purplish haze to it. Which is completely broken and would be silly to allow.


By reading these two posts I understood the story. Now I convinced that CUVID is a dead one and spending time for it is wastage of your invaluable time. You are right.
So, I think the best way is buying a 1050 to extricated ourselves from the predicament.

VictorLS
3rd November 2016, 21:01
kral2008
I understood long time ago if nevcairiel said no it is forever (I had to buy new GTX750v2 videocard about 100$ for perfect hardware acceleration 4K h265 8bit in WinXP and 10bit in Win7 - GTX1050 can 12bit but have not WinXP drivers - because he were not easy implement only key frame decoding in LAV Video Decoder, but I satisfied with my new videocard and thank nevcairiel one more time about it). But it is very pity because I think it is very easy to implement support h265 10bit in LAV Video Decoder through NVIDIA CUVID like in Linux https://devtalk.nvidia.com/default/topic/965840
WinXP has no problem with very critical problem for many people who watch SAT TV in Win7 and newer OS with files such DXVA_NVidia_bug.ts and 2016-09-20 21-15-33.ts
nevcairiel not said no yet about http://forum.doom9.org/showthread.php?p=1784305#post1784305
So we hope to use "supported" LAV Video Decoder in "supported" Win7-8 in players and DVB programs with NVIDIA CUVID as hardware accelerator before DXVA2 repearing in drivers of nVIDIA - if it is driver problem at all. I have to use "not supported" LAV CUVID Decoder 0.13 in "supported" Win7x64 now (but I prefer "not supported" WinXP with "supported" LAV Video Decoder). I have to uncheck h264 decoding in "supported" LAV Video Decoder - it is very hurts me )
captaiŋadamo
I see "purplish haze" when hardware decoding h265 12bit with CUVID in LAV Video Decoder or software decoding most of h265 10bit with Lentoid HEVC Decoder v2.1.0.2_2015_12_02_r4644 or "green haze" when software decoding all h265 10bit with Elecard HEVC Video Decoder (all both in WinXP and Win7x64). With Mainconcept HEVC Video Decoder software decoding of h265 10bit is well.
But in Linux with philipl's accident discovering h265 10bit hardware acceleration well decoding with CUVID is possible. I am sure in Windows XP-10 it is possible too but ... read first part of my this post.

captaiŋadamo
3rd November 2016, 21:06
VictorLS, if you think it's so "very easy" to do all the things nev has said no to where are your pull requests to him that adds the features? You should have had all the time in the world to implement it by this point in time.

nussman
3rd November 2016, 21:28
Nonsense by VictorLS (again) ...
DVB programs with LAV (DXVA) and Win7 or newer works just fine.
Try to setup your system properly instead of thinking about WinXP, Cuvid or other useless feature requests.

VictorLS
3rd November 2016, 22:05
DVB programs with LAV (DXVA) and Win7 or newer works just fine.
Have you try to play DXVA_NVidia_bug.ts and 2016-09-20 21-15-33.ts with DXVA2 (or even CUVID if your card is nVIDIA and your OS is "supported" and not Win10) on your "perfect tuned" computer before write this? Did you read two pages from http://forum.doom9.org/showthread.php?p=1781141#post1781141 ? Especially http://forum.doom9.org/showthread.php?p=1781444#post1781444
Do you receive Russian's NTV+ provider from 36E? Or BBC or ITV https://www.youtube.com/watch?v=hCCBxKPOI84 and https://www.youtube.com/watch?v=Ek45LblB45k ? It is not my video and not my files. I and all that people of the world (I know much more people with same problem) are wrong and you are right? It is laughing ... I can receive more then 10000 TV channels and I am IT professional and I know what I say - DXVA2 (exaxtly HQ DXVA processing because turning it off in LAV CUVID Decoder giving perfect result in Win7) have bug and this is undiscussible.
I understood one more thing: nevcairiel is perfectionist - maximum quality despite of artifacts and so on ...
Am I wrong? ;)
captaiŋadamo, I think nevcairiel not implement h265 10bit support in CUVID because of noone bit could not be lost, I even think that he tried this with positive result already )
PS. It is a pity but any other decoder (including commercial) have no CUVID based h265 hardware acceleration.

nevcairiel
3rd November 2016, 22:14
Feel free to use some other decoders if you wish, not forcing you to use LAV, but I can't fix driver bugs, no matter how hard I try. Also the "DXVA_NVidia_bug.ts" stream is broken, the stream just has errors on it, its not fully valid.
The youtube videos you listed are both for an RX480, which isn't even an NVIDIA card, and AMD royally screwed up the drivers for the Polaris cards in regards to DXVA and deinterlacing.

No matter how long you complain, there is nothing for me to change, so you might as well just stop and leave us all alone with your misery.

nussman
3rd November 2016, 23:21
@VictorLS: Your testfile is broken. Thats what I mean ...

For DVBViewer users LAV Decoder (with dxva) is recommend and used all over the world without problems.
But of course there are "IT Professional WinXP user" as well complaining ...
Noone says LAV is perfect or bugfree, but your WinXP, CUVID posts (again and again) doesnt help!

VictorLS
4th November 2016, 00:02
Feel free to use some other decoders if you wish, not forcing you to use LAV
I have already answered in last string of http://forum.doom9.org/showthread.php?p=1784804#post1784804 before I read your post you send in 00:14
but I can't fix driver bugs, no matter how hard I try.
I believe but I wrote how you can fix bug for nVIDIA's videocards in supported Win7-8 http://forum.doom9.org/showthread.php?p=1784305#post1784305
Also the "DXVA_NVidia_bug.ts" stream is broken, the stream just has errors on it, its not fully valid.
Prove it, my proof in attachment. And what about 2016-09-20 21-15-33.ts - broken too? Many of NTV+ channels directly from SAT sometimes broken too (LAV CUVID Decoder without HQ DXVA Processing always decodes without any artifacts)?
The youtube videos you listed are both for an RX480, which isn't even an NVIDIA card, and AMD royally screwed up the drivers for the Polaris cards in regards to DXVA and deinterlacing.
I know many people from many forums which see such artifacts on many nVIDIA's and AMD's (before Polaris too) videocards - Gleb Egorych from http://forum.doom9.org/showthread.php?p=1781444#post1781444 one of them only. I did not understand them before I saw my own eyes in Win7 (when I tried in WinXP all was perfect).
nussman
you saw artifacts on both files? It yours first step to see truth )
is recommend
by whom?
I.e. World Health Organization recommend vaccinations, but it breaks your health )
In Russia we can to refuse from vaccinations yet, you are have do vaccinations.
used all over the world without problems
never say never )
not all use, for example Gleb Egorych not use already, read http://forum.doom9.org/showthread.php?p=1781444#post1781444

nevcairiel
4th November 2016, 02:14
I know many people from many forums which see such artifacts on many nVIDIA's and AMD's (before Polaris too) videocards -

Great, then get them all to report the issues to NVIDIA or AMD so the drivers can get fixed. I already told you, I cannot fix driver bugs, and I will not offer silly hacks just because you keep spaming my thread with rude remarks.

Please stop posting on this particular topic. Nothing will happen, and even less so if you keep annoying me and everyone else with it.

VictorLS
4th November 2016, 08:44
nevcairiel
I am free man and live in free country Russia and I do what I want to provide truth in the world which always win - you'll see it for example in case of country called Ukraine (right is may be New Russia - Novorossia) now which occupied by USA from 2014 (Victoria Nuland have spoken about 5 billion US dollars spent for revolution in Ukraine).
I knew you'll not prove DXVA_NVidia_bug.ts is "broken" file, because it is not true. I found one more link in this thread http://forum.doom9.org/showthread.php?p=1782481#post1782481 about this issue and I proposed the way to solve this issue in LAV Video Decoder above but you not hear )
Thank you for LAV CUVID Decoder which decodes "broken" files and shows "broken" SAT channels perfectly with hardware acceleration on nVIDIA in Win7-8. I tuned it for decoding h264 and LAV Video Decoder for others and all work perfectly. Once more it is a pity LAV CUVID Decoder can not decode h265.

captaiŋadamo
4th November 2016, 15:03
captaiŋadamo, I think nevcairiel not implement h265 10bit support in CUVID because of noone bit could not be lost, I even think that he tried this with positive result already )
PS. It is a pity but any other decoder (including commercial) have no CUVID based h265 hardware acceleration.

Then fork it and make a superior version and then you can be driving the bus. It's open source and all. Being an IT professional of the caliber you brag, it should be a trivial task as you already said that the changes required are very easy.

Otherwise, since nev has repeatedly said no, all you're doing at this point is thread shitting.

ajp_anton
4th November 2016, 15:06
Nev: Why don't you just remove CUVID already?

filler56789
4th November 2016, 17:03
... and remove Windows XP support as well.
Service Pack 3 is EIGHT years old already.

Telion
4th November 2016, 17:23
nevcairiel
I am free man and live in free country Russia
Oh LOL. So you're just trolling the thread here, mkay.

VictorLS
4th November 2016, 20:37
It's open source and all.
I know.
Being an IT professional
Do not you know difference between IT professional and professional programmer?
I decide any electrical below 240Volt including Power supply boards, UPSs, servers, computers, printers, scanners, IP-telephones and other such problems and programming not my professional duties - when problem do not solve by changing (or reinstalling) OS setup, registry, add/remove part of programs, dll's and so on I have to just describe problem, collect logs, screenshots and so on to professional progammers solve problems in his programs - they always solve without any additional questions and never say that problems not in they's programs because my description clever enough - I am sure I gave enough info to implement h265 10bit support in LAV Video Decoder. Besides I write simple programs on C# (in college long time ago I learn DOS and Pascal) sometimes to make people's life easier and I know how difficult to read code was written by other guy - my programs so for others. So I am sure that remove 10bit check when NVIDIA CUVID is choosen and add two strings in code with compilation not so difficult for guy who wrote LAV Video Decoder to decode h265 10bit by CUVID.
I just explain my point of view.
Nev: Why don't you just remove CUVID already?
... and remove Windows XP support as well.
After implementing h265 (including 10 and 12 bit - last for GTX10.0) decoding in LAV CUVID Decoder this is good idea to remove CUVID from LAV Video Decoder because users with nVIDIA videocard has potential advantage over users with AMD videocards to watch all SAT channels and play DXVA_NVidia_bug.ts and 2016-09-20 21-15-33.ts without artifacts with CUVID instead of DXVA2 in WinXP-8.
One more such file RussiaHD.ts (7MB) http://rgho.st/6SPGyTTMs
Repeat, I solved problem with artifacts in Win7 by combination of decoders (like my work is finding working combination, assistance other people and finding programmers that wrote not properly working program and deliver them information which help to solve problem) and help to solve it for many others.
you're just trolling the thread here
sometimes, because often there is no anything positive here last time - just nevcairiel's "I will not do" about many (not only mine) problems with LAV Filters. I understand, he have all rights to do nothing with LAV Filters because of freeware and opensource. But sometimes much easier to do something then seems simply say no )

huhn
4th November 2016, 21:26
seriously what is so hard to understand about this. it is a driver bug something NVIDIA has to fix. the DXVA decoder has to work.

just go there and tell them that there DXVA decoder, DXVA deinterlancer or what ever is broken and hope they are not ignoring you. end of story.

clsid
4th November 2016, 22:02
There is an easy way to disable the CUVID HQ processing mode. Run your player XP compatibility mode. But regardless, any playback issues are because of driver flaws. Using Windows XP is just stupid, certainly if you have new hardware.

kral2008
5th November 2016, 06:32
There is an easy way to disable the CUVID HQ processing mode. Run your player XP compatibility mode. But regardless, any playback issues are because of driver flaws. Using Windows XP is just stupid, certainly if you have new hardware.

Let us check if we can run hevc decoding with CUVID in newer versions of windows or not.

Victor's request is not stupid, he has just asked for a new feture in LAV; also he provided screen shots that when some people changed headers, etc. they could make it usable.

Of course, todays, no one wants to buy outdated cards, again I say if this issue could be colved only by simple changes, we ask LAV programmer, kindly, to spend his time to implement and evaluate what Victor mentioned in his post link.

:thanks:

VictorLS
5th November 2016, 08:43
it is a driver bug something NVIDIA has to fix. the DXVA decoder has to work.
strange that AMD drivers have same problem )
I'll check Intel next week myself - I not believe yours investigations.
just go there and tell them that there DXVA decoder, DXVA deinterlancer or what ever is broken and hope they are not ignoring you.
When I'll be absolutely sure it's driver issue (I wrote to nVIDIA's support many times and only one thing they not done - enabling custom vertical frequencies via nVIDIA's Control Panel in WinXP when my GT750v2 connected via DVI, but I found small program EnBtn and it works perfectly - I can set 50, 48, 47,952Hz in WinXP via nVIDIA's Control Panel because Settings... button becomes available) I'll write them about artifacts issue.
There is an easy way to disable the CUVID HQ processing mode. Run your player XP compatibility mode.
It works with CUVID in case of MPC-HC with internal LAV Video Decoder, but when I connect external same version of LAV Video Decoder artifacts returns. So DVBViewer shows artifacts too. So, add possibility of choice to disable HQ processing mode in LAV Video Decoder's interface (or automatically switch CUVID-DXVA2 as I mentioned above) is strongly recommended.
Using Windows XP is just stupid, certainly if you have new hardware.
Assume I have license of WinXP (my computer on 3-core CPU AMDx3 460 (was bought ~60$ in a store an year ago for software decoding of h264 1080p 4:2:2 only because hardware decoding 4:2:2 impossible even with new GTX10.0 - because previous 1-core 3000+ could decoding MPEG2 1080p 4:2:2 well only), old AM2 690G PCI-E 1.1 mainboard, DDR2 3GB because of WinXPx86, old DVB-S2 PCI SAT card and comparatively new PCI-E 3.0 GTX750v2 on GM206-150 I bought ~100$ for hardware h265 decoding only) - it do all I want perfectly, except h265 10bit hardware acceleration, I can not buy not bad Win7 for h265 10bit hardware acceleration only, because not on stock - I can buy only very bad Win10 (I tried it) without CUVID, so artifacts will be long time as minimum and I can not see well some programs and files )
Is this stupid? May be I am perfectionist too - I always want achieve great result with minimum money - Ukraine was poor country and now after revolution in 2014 is much more poorer. In Russia I can buy processors and videocards and much more, but I do not want to buy new computer - present computer is perfect for me.

huhn
5th November 2016, 09:23
H.264 content may experience blocky corruption when streaming using P2P content players on some Radeon RX 400 series graphics products.

http://support.amd.com/en-us/kb-articles/Pages/Radeon-Software-Crimson-Edition-16.11.2-Release-Notes.aspx

still not enough?

VictorLS
5th November 2016, 13:09
still not enough?
of course, not enough. Nothing about cause of blocky there: driver or DXVA in Windows.
As cause of poor life of normal (non-weaponed) people in former Ukraine is revolution 2014 and broken economic relations with Russia - not resistance of Donbass (Novorossia) to underlaw government in Kiev and weaponed nazi from west.

avih
5th November 2016, 14:04
Guys, this forum is about video and this thread is about LAV. Please keep it on topic. Thanks.

VictorLS
5th November 2016, 15:32
Guys, this forum is about video and this thread is about LAV. Please keep it on topic.
You are quite right, but some words at the end:

...
... If you want discuss it write PM, please.

[ offtopic content above edited out by avih ]


It's not black & white, there are grey zones especially on pesky video files and corner cases.
I mostly agree but I want to dig truth what namely problem of artifacts )
Now I see comparatively long GOP (26-39 from I to I frame) in files with artifacts (when DXVA2 used).

avih
5th November 2016, 15:51
@VictorLS, I've edited your message above and removed some offtopic content. Please keep this thread on topic, and feel free to discuss off topic subjects elsewhere, over PMs, etc. Thanks.

Consider this a warning too for everyone involved.

DaMacFunkin
5th November 2016, 23:19
Hello I hope someone can help me.
I have a GTX 1060 graphics card, is there anyway I can use Lav in conjunction with the hardware acceleration on the GPU and some other software to re encode HEVC to HEVC at a reasonable speed?
I thought the 1060 was capable of HEVC decode and encode, but I can't find a program to do both.
Thank you.

huhn
5th November 2016, 23:31
wrong thread but try this:
http://forum.doom9.org/showthread.php?t=172068

i don't know if it support direct dxva decoding but it supports avisynth and it is possible to feed avisynth with lavfilter so hardware decoding is possible.

just to make that clear you are wasting your time with the nvidia HEVC encoder...
you can better use the AVC hardware encoder which is bad too...

DaMacFunkin
5th November 2016, 23:47
Thank you.

3421
6th November 2016, 00:20
*****

CruNcher
6th November 2016, 06:09
@VictorLS
Try it under Linux with VDPAU DXVA in itself is sometimes wonky when it comes to time critical tasks ;)

But as a IT Professional you should actually know that Windows isn't really a good reliable Foundation for DVB tasks.

Especially from Russia :D

Or why do you think there are no Hardware DVB Players with Windows as Core.

as NikosD said there are corner cases and for DVB resilient playback i would never Personal use any Windows Device for anymore, even normal reliable/fast Video Playback is a adventure ;)

Try Linux + VDPAU

you have nothing to lose its free also no costs involved, there are other solutions as well but those will get really costly.

Or do the most sane thing and externalize the DVB Playback to a Dedicated Hardware based Solution.

VictorLS
6th November 2016, 10:00
CruNcher
I am SAT amateur, but I set up H-H (from 103e to 30w) mount and 1,2 meter offset dish with Ku-linear, Ku-circular and C-circular converters by myself.
WinXP with 50Hz output is good enough for me for any DVB task (including receiving Mulistream ,T2-MI, there is some artifacts sometimes with one Ukrainian transponder only because of Mutistream in T2-MI from 4e8 - few very expansive (semi-)professional tuners can receive that at all), except h265 10bit because of ... see this thread above.
With GTX750v2 Win7x64 is good enough too (I reinstall it sometimes) including h265 10bit. Both Windows can work day by day with working DVBViewer and never drop frames, freezes or crashes with strong signal in my case.
I have GalaxyInnovations HD Micro Plus not bad very small tuner (bought in summer 2014 about 60$ for absolute silence only) 3G modem can be inserted in one of two USB ports, but its picture quality via HDMI IMHO is poor with 1080p50 setting because of bad internal deinterlacer, with 1080i50 picture is great (almost as Openbox SX4 I tried) but I can not use BFI technology (to "speed up" liquid crystals) in my monitor BENQ FP241VW called Perfect Motion with 1080i50 and encrypted channels recordings can be played on my tuner only so I prefer WinXP )
When comparatively seldom some playback problems appears with some bad files in Windows I solve them easy by combination of filters or remuxing or TS-Doctor or so on.
About Core: did you mean CoreAVC?
About Linux + VDPAU: I am running Ubuntu from self-made boot flash to solve some professional problems. I have read that h265 10bit is problem too as in WinXP - only CUVID with changes decodes well by dithering to 8bit. Tell me, please, if this is not true or when this problem will be solved - I'll try if will be time.

el Filou
6th November 2016, 15:42
But as a IT Professional you should actually know that Windows isn't really a good reliable Foundation for DVB tasks.

Or why do you think there are no Hardware DVB Players with Windows as Core.

as NikosD said there are corner cases and for DVB resilient playback i would never Personal use any Windows Device for anymore, even normal reliable/fast Video Playback is a adventure ;)

Try Linux + VDPAU
Why would Windows not be reliable for DVB? The BDA framework is a tried and tested solution, and since the introduction of EVR and MMCSS media playback has been very reliable.
Any problems with DVB playback come from the graphics card drivers.

There are no Windows based hardware DVB players because manufacturers want to avoid paying a license fee and also Linux can be slimmed down much further than Windows for really specific tasks, but it hasn't anything to do with how good the technical base is.

I am running a HTPC for DVB-C (HD H.264) under Windows 10 myself and I can't see how Linux would be better for me.
And talking about dedicated hardware boxes, when I hear friends describe the experience they have with their provider's official hardware (lag, lack of GUI smoothness, lack of flexibility/removing of features, crashes, total corruption needing a factory reset, etc.), I'm quite happy with my Windows setup

(and LAV Filters are a big part of why I'm happy with it, btw, thanks for everything Nevcairiel! ;) )

Nintendo Maniac 64
7th November 2016, 04:03
I asked in the past, but I was drowned out by whatever discussion was occurring at the time so I'll ask again...

In LAVfilters, is there anyway to disable hardware decoding of 1080p while still allowing hardware decoding of 720p?

nevcairiel
7th November 2016, 09:53
No, thats not possible. Which hardware can handle 720p but not 1080p? and if you decode 1080p in software, why not lower resolutions as well?

VictorLS
7th November 2016, 19:31
I'll check Intel next week myself
Excuse me, huhn, for not believing about Intel - with integrated in Intel's processor videoadapter there is no artifacts while playing DXVA_NVidia_bug.ts and such files in Win7 with both DXVA2 and QuickSync in my experiments too.
Another my experiment: even integrated in chipset for AMD processor old nVIDIA 8200 has artifacts in Win7.

P.J
7th November 2016, 22:02
No, thats not possible. Which hardware can handle 720p but not 1080p? and if you decode 1080p in software, why not lower resolutions as well?

My GeForce 8600M GT DDR2 can't handle 1080i60/p60 while Core2 Duo T9300 can decode/de-interlace 1080i60 well.

kral2008
7th November 2016, 23:10
Excuse me, huhn, for not believing about Intel - with integrated in Intel's processor videoadapter there is no artifacts while playing DXVA_NVidia_bug.ts and such files in Win7 with both DXVA2 and QuickSync in my experiments too.
Another my experiment: even integrated in chipset for AMD processor old nVIDIA 8200 has artifacts in Win7.

Victor,
According to these links:
https://devtalk.nvidia.com/default/topic/971350/cuda-setup-and-installation/cuda-hw-acceleration-works-for-x264-but-x265-hevc-gives-me-quot-no-cuda-capable-device-is-detected-quot-/
and
https://developer.nvidia.com/nvidia-video-codec-sdk
You can't use CUVID HEVC with FFMPEG on linux even if you have 770 and older cards.
You can compile ffmpeg by association of CUVID HEVC but you can't use it to play files. Of course it compiles well without occuring any error, but you may face the error when you want to play HEVC encoded files.
So, I'm not sure about anything right now.

nevcairiel
8th November 2016, 01:09
My GeForce 8600M GT DDR2 can't handle 1080i60/p60 while Core2 Duo T9300 can decode/de-interlace 1080i60 well.

That doesn't answer why you wouldn't just decode everything in software then, your CPU is clearly fast enough.

I'm not a fan of adding more options for rare/exotic use-cases.

VictorLS
8th November 2016, 12:46
Victor,
According to these links
So, I'm not sure about anything right now.
First, you are wrong quote my post - I rise two themes here:
1. h265 10bit decoding via CUVID in Windows (not WinXP only) - Linux as a working example only;
2. artifacts while playing some files or SAT programs via DXVA2 in Win7-. You are quoted this theme, but asked me about first: As svencdack said only Maxwell 2-nd generation (as my named by bad marketer GTX750v2, I think GTX910 - GTX940 would be much better if we speak about h265 decoding) and Pascal-based videocards has full (not hybrid) hardware accelerator inside GPU.
http://www.palit.com/palit/vgapro.php?id=2254&lang=en
My GeForce® GTX 750 StormX OC (1024MB GDDR5) NE5X750THD01-2065F based on Maxwell 2-nd generation GM206-150 but smaller NE5X750S1301-1073F on same page based on GK107 is bad videocard for h265 decoding. NE5X750THD01-2065F has dissapeared in many Russian stores (I always buy new - not used - things) already.
And I am sure GM206 and GP1.. can h265 10bit hardware decoding via CUVID not only in Linux but in Windows too, but nevcairiel do not want even try (

huhn
8th November 2016, 13:09
youtube released yesterday VP9 profile 2 videos with HDR.

at the moment the HDR meta can't be used with madVR.

https://www.youtube.com/playlist?list=PLyqf6gJt7KuGArjMwHmgprtDeY8WDa8YX

youtubeDL -f 337 will get you the 10 bit hdr version.

kral2008
8th November 2016, 15:44
First, you are wrong quote my post - I rise two themes here:
1. h265 10bit decoding via CUVID in Windows (not WinXP only) - Linux as a working example only;
2. artifacts while playing some files or SAT programs via DXVA2 in Win7-. You are quoted this theme, but asked me about first: As svencdack said only Maxwell 2-nd generation (as my named by bad marketer GTX750v2, I think GTX910 - GTX940 would be much better if we speak about h265 decoding) and Pascal-based videocards has full (not hybrid) hardware accelerator inside GPU.
http://www.palit.com/palit/vgapro.php?id=2254&lang=en
My GeForce® GTX 750 StormX OC (1024MB GDDR5) NE5X750THD01-2065F based on Maxwell 2-nd generation GM206-150 but smaller NE5X750S1301-1073F on same page based on GK107 is bad videocard for h265 decoding. NE5X750THD01-2065F has dissapeared in many Russian stores (I always buy new - not used - things) already.
And I am sure GM206 and GP1.. can h265 10bit hardware decoding via CUVID not only in Linux but in Windows too, but nevcairiel do not want even try (

Quoting wrong post or anything else is not important for me, I've just tried to tell you what I understood.


About our discussion:
You must try CUVID by yourself;
Installing the Nvidia driver is easy on most of Linux dists and you can do that, then compile the FFmpeg connecting it to CUVID as they explained in the given links. And finally, you can play your files by mpv (https://mpv.io)player using CUVID.

If the outcome is proper and without any errors and lags, then I'm an adherent of you and we ask LAV to implement it for people like us. Besides, I'm ready to help him, in this case, I'll do what I could do for him.

nevcairiel
8th November 2016, 16:11
If the outcome is proper and without any errors

The outcome will not be "proper and without any errors" because CUVID does not support 10-bit output at this time, it can only do 8-bit. I explained this numereous times before. It may decode 10-bit, but then it only outputs 8, and data is lost.
I do not plan to implement any decoding mode where I know that it will deliver anything but the original unmodified image (and I also would not accept a patch or pull request to that effect, because it goes against my design philosophy)

And like I also repeated numereous times before, there is no advantage to using CUVID. Any hardware that can handle HEVC 10-bit in CUVID can also handle it in DXVA2 - so use that instead!

Please just drop this topic, its not going to get you any further. CUVID is hanging on by a thread as it is, I'm more likely to drop it entirely then to spend more time arguing about it.

huhn
8th November 2016, 16:34
aside from VP9 HDR primaries(if they are even present) there is another issue i have with primaries and color matrix with DVD playback the primaries and matrix isn't delivered to madVR. the DVD Navigator is used by default for this and is not able to deliver this information is this possible with the lav decoder?

nevcairiel
8th November 2016, 17:42
aside from VP9 HDR primaries(if they are even present) there is another issue i have with primaries and color matrix with DVD playback the primaries and matrix isn't delivered to madVR. the DVD Navigator is used by default for this and is not able to deliver this information is this possible with the lav decoder?

If the bitstream doesn't contain the data, then LAV cannot find it.

But DVDs are likely always the same old boring matrix anyway, aren't they? Why does madVR guess the wrong one?

huhn
8th November 2016, 18:16
well madVR usually guesses the primarie smpte C but most DVDs i have seen are smpte 170m.
but if the disc can be created without flags then this is not a lavfilter problem.

i'm decrypting a different disc right now where the mkv remux have flags. damn these region codes...
edit: works fine so with that disc so everything is fine on this side.

VictorLS
8th November 2016, 21:23
you must try CUVID by yourself
I do not owe anything to anyone ;)
but I will try CUVID in Ubuntu when will be time. I'll send you PM if I will need help. Thanks for your support.
If the outcome is proper and without any errors and lags
I think Ubuntu will be my second OS in this case - not Win7 )
Repeat I have to boot Win7 for h265 10bit hardware decoding only.
Ask LAV to implement it for people like us. Besides, I'm ready to help him, in this case, I'll do what I could do for him.
This is against nevcairiel's philosophy (

davidsama
9th November 2016, 00:46
Why has not VictorLS been banned yet? He is nothing but a bully and a troll. Always demanding things that he has no business demanding. Also remember since you pay or paid nothing for lav filters you have no right to ask or get any anything from nevcariel.

CruNcher
9th November 2016, 04:09
No he's not he got some strong points but it's up to nevcairiel decision how he want's to buildup lav filters no one else and he made his point clear if someone doesn't like it fork it and buildup your own.
If he says he doesn't like such workarounds for something which in his idea makes no sense if you display 10 bit at 8 bit needing to deband again just to make it possible for a non complete 10 bit chain (including) output to display it, then that is his decision and you have to accept it.
This decision lefts out some users of course (like VictorLS) but the idea behind 10 bit is to display it in a complete Native 10 bit chain end to end and not 8 bit even if that workaround is possible via CUVID.

And costs for that have gone down a lot as 10 bit devices become more widespread now.

Vista (Longhorn) was Designed with 10 bit in mind on the GFX side XP (Whistler) not in 1 second.

On XP overall you will be limited to 8 bit and most obviously you wont be able to play any premium content.

and on Vista and Up it works but you still need workarounds on the driver side especially for HDR.


You get even 12 bit playback for roughly 80$ nowadays

VictorLS
9th November 2016, 07:48
Also remember since you pay or paid nothing for lav filters you have no right to ask or get any anything from nevcariel.
Just read last two strings of my post http://forum.doom9.org/showthread.php?p=1784923#post1784923 and take it easy.
Besides I even agree some pay for LAV CUVID Decoder with h265 10bit decoding because I will not buy new OS from Microsoft ;)
CruNcher
Thanks for explaination position of nevcairiel more clearly for others. I wrote here http://forum.doom9.org/showthread.php?p=1784804#post1784804 "nevcairiel is perfectionist - maximum quality despite of artifacts and so on..." and "I think nevcairiel not implement h265 10bit support in CUVID because of noone bit could not be lost" and I was right.
You get even 12 bit playback for roughly 80$ nowadays
Are you about some cheap GTX1050? It is quite new for me but while SAT channels are maximum h265 10bit this is not worry me much.

GCRaistlin
9th November 2016, 11:51
Is DXVA2 hardware decoding supported on Windows XP? I can't get it enabled playing the BDRemux:

h264 high L4.1, yuv420p, 1920x1080
LAV Video settings: http://i63.tinypic.com/29qbqbo.jpg
LAV 0.68.1.35, Radeon driver v14.4, HD7850. Driver is reinstalled after DDU clean up. Tried on a clean Windows XP installation, too, with no luck.

sneaker_ger
9th November 2016, 12:57
Windows XP doesn't support DXVA2.(*)


(*) Some people claimed success after installing .NET but it may be driver depended and is unlikely to work with LAV Video Decoder. I recommend not to waste time on it.

huhn
9th November 2016, 13:00
DXVA2 decoding isn't supported on XP. but there were still some case it worked with a video renderer that supports DXVA and some very old driver and other stuff (dotnet 3.5).

it was working for me for a long time a long time ago with pretty old hardware.

VictorLS
9th November 2016, 14:20
Is DXVA2 hardware decoding supported on Windows XP?
As other guys said - not supported. Long time ago I have extracted EVR from .NET3.5 (I don't like .NET at all too) and it worked not bad (I prefer VMR7w) in WinXP but why don't you use any DXVA1 decoder for h264 high L4.1, yuv420p, 1920x1080? I.e. Arcsoft or Cyberlink? Or free standalone_filters-mpc-be? They play FullHD h264 4:2:0 even 60Hz (and even with REF 16 - I tried with nVIDIA GT220 videocard) perfectly with hardware acceleration in WinXP.

captaiŋadamo
9th November 2016, 16:30
This is against nevcairiel's philosophy (

And yet despite being told 'no' over and over again you still bring it up. Just drop it.

VictorLS
10th November 2016, 09:07
captaiŋadamo
As minimum while in LAV Video Decoder there isn't option to disable HQ DXVA Processing when NVIDIA CUVID is active I will tell to all people who see artifacts there is good free LAV CUVID Decoder (with choice to uncheck HQ DXVA Processing) instead (or commercial CoreAVC) and only ban can stop me because supported decoder with supported OSes must first of all (in my philosophy) just work (when it is possible at all but with CUVID hardware acceleration of h264 4:2:0 without artifacts on nVIDIA's videoadapters in Win7-8 is possible and I really don't understand why nevcairiel give not same choice in LAV Video Decoder).
PS. Problem with artifacts quiet global: even in WinXP with DXVA1 I see same artifacts with many DXVA decoders - only CUVID helps. Thanks to nevcairiel.

filler56789
10th November 2016, 11:15
I really don't understand why nevcairiel give not same choice in LAV Video Decoder).

Oh, but you actually understand. You just do not accept nev's decision, and you SHOULD.

only ban can stop me

Unfortunately, I am not a moderator.

VictorLS
10th November 2016, 15:02
You just do not accept nev's decision
Show me link where nevcairiel say no about DXVA processing which cause artifacts even when CUVID hardware acceleration is selected in supported Win7-8.
I am not ask automatic switch between CUVID and DXVA2 already - just possibility to turn off HQ DXVA processing in LAV Video Decoder's interface (as in LAV CUVID Decoder done). Or philosophy of nevcairiel has changed in last few years?
you SHOULD
Repeat, http://forum.doom9.org/showthread.php?p=1785378#post1785378 : I do not owe anything to anyone.
Unfortunately, I am not a moderator.
Fortunately, you are not a moderator as minimum for all people with old weak computers with nVIDIA videocards (usually SAT-amateurs with DVB cards as me) who receive channels with artifacts and use LAV Video Decoder. While right I have one more hope unreal assumption: nevcairiel decided (or somebody paid him) to real support Win10 (which not support CUVID at all) only so drop real support of Win7-8. So he has written on this page: "I'm more likely to drop it entirely". Repeat, hope for all those people I'm wrong in my assumption.

captaiŋadamo
10th November 2016, 17:15
I really don't understand why nevcairiel give not same choice in LAV Video Decoder).

Because he doesn't want to implement hacky workarounds. If you want the feature, fork the code and implement it yourself or pay someone to do so. Otherwise, again, all you're doing is thread shitting when you've repeatedly been told no.

madshi
10th November 2016, 17:18
Guys, just let it rest. The best way to stop these fruitless discussions is to not fuel them with further posts.

VictorLS
10th November 2016, 20:16
madshi
You are right. All I ask now - only one working check (as in LAV CUVID Decoder to maintain continuity: Use HQ DXVA Processing or other as nevcairiel come up) imho there is space over LAV Video Decoder 0.xy.z in its settings and this is not "hacky workarounds". If not so, for example, Enable Adaptive HW Deinterlacing is "hacky workarounds" too but it is in LAV Video Decoder's settings.

clsid
10th November 2016, 22:20
I have said this before, but you like to ignore people. If you run the player in XP compatibility mode (on Windows 7), then HQ processing should get disabled automatically because LAV is tricked into thinking you are using XP. It should have no other negative effect.

captaiŋadamo
10th November 2016, 22:31
madshi
You are right. All I ask now - only one working check (as in LAV CUVID Decoder to maintain continuity: Use HQ DXVA Processing or other as nevcairiel come up) imho there is space over LAV Video Decoder 0.xy.z in its settings and this is not "hacky workarounds". If not so, for example, Enable Adaptive HW Deinterlacing is "hacky workarounds" too but it is in LAV Video Decoder's settings.

And he said 'no'. Does the word 'no' somehow have a different meaning to you than to other people?

VictorLS
11th November 2016, 00:32
Why do not you hear smart madshi http://forum.doom9.org/showthread.php?p=1785510#post1785510 ?
I have said this before, but you like to ignore people.
I almost never ignore smart enough people and of course I answered you here http://forum.doom9.org/showthread.php?p=1784954#post1784954
And he said 'no'
Repeat, Show me link where nevcairiel say no ...
Full text read here http://forum.doom9.org/showthread.php?p=1785493#post1785493

lvqcl
11th November 2016, 17:34
Why do not you hear smart madshi http://forum.doom9.org/showthread.php?p=1785510#post1785510 ?
Why don't you listen to him yourself ?

Repeat, Show me link where nevcairiel say no ...
Here:
Please just drop this topic, its not going to get you any further. CUVID is hanging on by a thread as it is, I'm more likely to drop it entirely then to spend more time arguing about it.

VictorLS
11th November 2016, 19:05
lvqcl
You are not hear madshi first, more you don't understand what talking about. Read http://forum.doom9.org/showthread.php?p=1785311#post1785311 : I almost forget about 1 (you quoted) and talking about 2 - DXVA Processing causing artifacts ...

steakhutzeee
11th November 2016, 19:09
Hi :)

I'm using MPC-BE and Madvr, and trying to add Lav Filters.
I've three questions for you:

1- I deselected all internal filters (decoder audio and video ones, i've to deselect all in first tab "Source Filters" too?)

2- Atm, i've enabled this external filters: xysubfilter, lav audio, lav video, lav splitter, lav splitter source. I've to use the last two togheter? What's the difference between them?

3- I edited only lav video setting, selected DXVA2 (copy-back). It's ok for my gpu? it's in the signature. Don't know, it says 'OK' next to it, so yes maybe?
I've to edit other filters too or they're ok with their default settings?

Thank for the answers, i'm trying to learn :)

huhn
11th November 2016, 19:43
you should select the subtitle filter of your choice under mpc-be-> options -> subtitles.

1. there is no need to disable anything if you set the external filter as preferred.

3. should be fine.

steakhutzeee
11th November 2016, 20:08
Thanks :)

So i've to delete xysubfilter from external filters? I've it setted in subtitle options yet.

1. yes, i set them as preferred. I have to turn back selected internal filters or i can leave them deselected? asking just to be sure :P

huhn
11th November 2016, 20:19
So i've to delete xysubfilter from external filters? I've it setted in subtitle options yet.
you can you don't have to. i personally would remove the external filter so it is easier to change the subtitle filter if needed.
1. yes, i set them as preferred. I have to turn back selected internal filters or i can leave them deselected? asking just to be sure :P

doesn't matter i recommend to change as least options as possible.

steakhutzeee
11th November 2016, 20:44
Ok, thanks.

Removed it from ex. filters. So i'll leave internal disabled.

What about difference between lav splitter and lav splitter source? But it automatically download subs too?

strumf666
12th November 2016, 00:17
What is the difference between splitter/source?

Magik Mark
12th November 2016, 09:49
Hi nevcairiel!

I just need to be clarified if lav supports hardware acceleration on a video that is is 4:2:2 10bit x265?

Experimented on one today. It seems the "GPU" icon doesn't show in MPC-BE which is an indicator that GPU is being utilized. Lav icons are no where to be found as well in the task bar. Is it a bug?

nevcairiel
12th November 2016, 09:50
4:2:2 is generally not hardware accelerated. Only 4:2:0.

Magik Mark
12th November 2016, 11:53
4:2:2 is generally not hardware accelerated. Only 4:2:0.

May I ask why? Is this a lav limitation or GPU?

nevcairiel
12th November 2016, 11:57
May I ask why? Is this a lav limitation or GPU?

Its a hardware limitation.

uneedme
12th November 2016, 16:19
pretty strange......

I have got a second-hand display card

when i use this one to play movies it is causing tearing of the screen......

when i chose filters other than lavfilter everything went well......

it never happened on my old card......

My card is amd hd 6700 series (asus 6750)

drivers are all the latest......

http://i1234.photobucket.com/albums/ff401/moviepreview/The.Eternal.Zero.2013.Chi_Jap.BluRay.1080p.x265.mkv_20161112_225343.292_zpsj0tyz2vo.jpg

http://i1234.photobucket.com/albums/ff401/moviepreview/The.Eternal.Zero.2013.Chi_Jap.BluRay.1080p.x265.mkv_20161112_225408.356_zpsbgyyzame.jpg

http://i1234.photobucket.com/albums/ff401/moviepreview/The.Eternal.Zero.2013.Chi_Jap.BluRay.1080p.x265.mkv_20161112_225501.936_zpslgfdwl2n.jpg

http://i1234.photobucket.com/albums/ff401/moviepreview/The.Eternal.Zero.2013.Chi_Jap.BluRay.1080p.x265.mkv_20161112_225650.542_zpsjtnpfvxf.jpg

only when use "lavfilter" filter could have this issue so i could be sure it is lavfilter's problems.......

wish it could be fixed in the later version......

Thx for all your greatwork

LigH
12th November 2016, 16:33
I can't see your images inline, because PhotoBucket wraps them in an ad-bloated website... so here as links:

http://i1234.photobucket.com/albums/ff401/moviepreview/The.Eternal.Zero.2013.Chi_Jap.BluRay.1080p.x265.mkv_20161112_225343.292_zpsj0tyz2vo.jpg
http://i1234.photobucket.com/albums/ff401/moviepreview/The.Eternal.Zero.2013.Chi_Jap.BluRay.1080p.x265.mkv_20161112_225408.356_zpsbgyyzame.jpg
http://i1234.photobucket.com/albums/ff401/moviepreview/The.Eternal.Zero.2013.Chi_Jap.BluRay.1080p.x265.mkv_20161112_225501.936_zpslgfdwl2n.jpg
http://i1234.photobucket.com/albums/ff401/moviepreview/The.Eternal.Zero.2013.Chi_Jap.BluRay.1080p.x265.mkv_20161112_225650.542_zpsjtnpfvxf.jpg

^ These artefacts are not what people would usually mean by the term "tearing" (which is instead an asynchronity between frame rate and screen refresh rate, and you won't be able to capture that in a screenshot).

In your case, it seems to be either a decoding error or a rendering error. Regarding the amount of issues and their pattern in the 4th image, probably the latter.

uneedme
12th November 2016, 19:48
I can't see your images inline, because PhotoBucket wraps them in an ad-bloated website... so here as links:



^ These artefacts are not what people would usually mean by the term "tearing" (which is instead an asynchronity between frame rate and screen refresh rate, and you won't be able to capture that in a screenshot).

In your case, it seems to be either a decoding error or a rendering error. Regarding the amount of issues and their pattern in the 4th image, probably the latter.


I dont know how to describe it...... so i say tearing......

did some test on it after the post...

potplayer:


lavfilter decoder:

vmr9 -rare occasions
EVR(CP) -always
d3d9 -always
madshi randerer -never
opengl randerer -never


ffmpeg decoder:

vmr9 -rare occasions and less effect
EVR(CP) -rare occasions and less effect
d3d9 -rare occasions and less effect
madshi randerer -never
opengl randerer -never

steakhutzeee
13th November 2016, 18:11
I've to enable and prefer "File Source (Async)" using lav splitter?
In this page i read that lav splitter source is an old version of lav splitter, so which i've to use?
https://bypureland.wordpress.com/2011/12/23/lav-splitter-vs-lav-splitter-source-%E8%BD%89%E8%BC%89/

huhn
13th November 2016, 18:37
don't think to much about just add all 4 and you are fine the rest is automatic.

steakhutzeee
13th November 2016, 20:29
All right, thanks :)

clsid
13th November 2016, 22:21
LAV Splitter Source = LAV Splitter combined with its own file source filter

Adding both is fine.

Nintendo Maniac 64
14th November 2016, 02:15
No, thats not possible. Which hardware can handle 720p but not 1080p? and if you decode 1080p in software, why not lower resolutions as well?

That doesn't answer why you wouldn't just decode everything in software then, your CPU is clearly fast enough.

I'm not a fan of adding more options for rare/exotic use-cases.

Sorry for the delayed response; I had email notification set to "weekly".



My reason is simple - as I am on a laptop, I don't want to unnecessarily produce more heat/spin up the fans/consume more power than necessary when on battery.

In other words, I don't want to completely disable DXVA2 and deal with the according reduction in battery life (especially with 60fps 720p videos) just because I want to be able to watch 1080p videos when plugged in to the wall.

VictorLS
14th November 2016, 10:59
In other words, I don't want to completely disable DXVA2 and deal with the according reduction in battery life (especially with 60fps 720p videos) just because I want to be able to watch 1080p videos when plugged in to the wall.
Do your laptop not support 1080p hardware acceleration? Can you provide hardware (model of laptop, CPU, GPU if present) and software (OS and player with renderer you use or tried) configuration? Although in any case you have to manually switch from None to DXVA2 in settings of LAV Video Decoder depending on resolution of played video and on battery/on electrical line.
PS. You are lucky - you have this possibility - many people of the world who see artifacts with DXVA can not switch it of in LAV Video Decoder and they don't know about LAV CUVID Decoder. They have to switch off hardware acceleration because they have no choice (but sometimes with weak CPU it is impossible to decode smooth 1080p without hardware acceleration). I hope for them that nevcairiel will add possibility to switch off DXVA Processing in LAV Video Decoder.

TheShadowRunner
15th November 2016, 13:01
Hi nev, I have a strange subtitle bug when using LAV splitter 0.68.1.
It's certainly related to the fact my htpc is still running XP 32bit, but I hope a fix is possible ^^;
In effect, when using LAV Splitter Source, some subtitles signs are missing:
http://videoff7.free.fr/samplecbbp_LAV.png
http://videoff7.free.fr/samplecbbp_haali.png
sample: http://videoff7.free.fr/samplecbbp.mkv
when using Haali, it displays just fine.
Absolutely everything else in the decoding chain is unchanged, I only alter the splitter source.
Can you make sense of it? I looked/tried everything and couldn't ^^;
Thanks.

LigH
15th November 2016, 14:23
Interesting issue. Apart from the exclamation mark and double quotes being handled like "non-printable characters" and being substituted by empty placeholders (just a kind of space char, with a wider width than the excl.), all other alphanumeric characters appear to be quite identically rendered.

sneaker_ger
15th November 2016, 14:29
How does it play when you remove the attached fonts?

TheShadowRunner
15th November 2016, 15:27
How does it play when you remove the attached fonts?
Yes it works correctly (the signs are displayed), but I'd rather keep the original/intended font which works just fine with Haali ^^;
Edit: if you test the sample on your side do you have the issue?

LigH
15th November 2016, 16:45
MPC-HC 1.7.10-207 x64 with internal LAV 0.68.0.28: No issues.
MPC-HC 1.7.10-269 x64 with internal LAV 0.68.1.33: No issues.

Subtitles appear in the attached font face "Neo Sans" like in your screenshot. Overriding the ASS font with "Standard style" as defined in MPC-HC's options (default: Arial) works well too.

Attached are OpenType fonts. Not sure if their support in Windows XP was limited in some surprising details...

I did not test with external filters and system-wide installed LAV Filters. But I would expect that if a splitter supports extracting and temporarily registering an attached font at all, then it should be supported as a whole. Hard to imagine reasons to exempt single characters.

uneedme
15th November 2016, 17:01
I dont know how to describe it...... so i say tearing......

did some test on it after the post...

potplayer:


lavfilter decoder:

vmr9 -rare occasions
EVR(CP) -always
d3d9 -always
madshi randerer -never
opengl randerer -never


ffmpeg decoder:

vmr9 -rare occasions and less effect
EVR(CP) -rare occasions and less effect
d3d9 -rare occasions and less effect
madshi randerer -never
opengl randerer -never


After did a "Platform update", i dont know what that is......, the problem is gone. Looks like it is Windows' some hardware usage (graphics stack) glitch......been fixed by patches......

After I mounted the new 2nd-hand display card, I re-installed the win7...So the system might roll back to the glitchy conditions...And this is the first time I heard about a big patch called "Platform update"......

:mad:

https://www.microsoft.com/en-us/download/details.aspx?id=36805

TheShadowRunner
15th November 2016, 17:02
Thanks for your feedback.
Attached are OpenType fonts. Not sure if their support in Windows XP was limited in some surprising details...
It cannot be.. otherwise the flaw would be there for Haali Splitter as well(?)

But I would expect that if a splitter supports extracting and temporarily registering an attached font at all, then it should be supported as a whole. Hard to imagine reasons to exempt single characters.
Yes it's an odd bug indeed..

nevcairiel
15th November 2016, 17:11
You don't happen to have a font with the same/similar name installed in the system already, do you?
For some reason it won't let you install a new font properly if there is already one with the same basename, for example. It can result in rather odd looking issues. Not sure if the font registering or the font usage in MPC-HC is to blame.

As mentioned above, the font name is "NeoSans". Anything with that name in your Windows font list?

There isn't exactly much one can do wrong when registering fonts. Take the font blob from the mkv and give it to some windows API.

TheShadowRunner
15th November 2016, 17:39
You don't happen to have a font with the same/similar name installed in the system already, do you?
No, no similar font is installed on the system.

As mentioned above, the font name is "NeoSans". Anything with that name in your Windows font list?

No.. :X

There isn't exactly much one can do wrong when registering fonts. Take the font blob from the mkv and give it to some windows API.
Hmm I'm not sure I follow, NeoSans isn't installed, it's only available as attachment in the MKV. If I remux without it, I fall back to the default (and ugly) font.
But everything is ok when using Haali hence my surprise.
It seems it's LAV Splitter itself that isn't passing everything it should to Directvobsub (latest 1.7.9.0).

Telion
15th November 2016, 18:27
I have an XP, too, so I tried this with LAV, MPC-BE, XySubFilter, madVR, no NeoSans installed and got the same behaviour.
But since MPC-BE can load external fonts (from the "fonts" subfolder of a folder with video) I tried to extract the fonts there and remux the original mkv without them - the problem is gone. Then I tried to play the original mkv while the "fonts" subfolder is still there - there is no problem, either. So I conclude there is something that LAV Splitter is doing wrong since MPC-BE font loading does it right.

nevcairiel
15th November 2016, 18:35
Loading Fonts from memory and from files is probably the big difference. Maybe Haali writes it out into a temporary file to avoid that issue? Sounds a bit ugly to manage some temp files for that.
I could probably hack something up for testing, a basic version shouldn't be too hard, just need to think about the issues of avoiding leaving behind orphan font files in the temp folder everywhere.

Telion
15th November 2016, 19:17
Loading Fonts from memory and from files is probably the big difference. Maybe Haali writes it out into a temporary file to avoid that issue?
Seems you are right. IIRC Haali does indeed extract fonts to %TEMP% folder. TheShadowRunner, can you please confirm this? And I checked the MPC-BE's internal mkv splitter - it doesn't write temp files and does have this issue.

Sarasa
15th November 2016, 19:18
Tested the sample "samplecbbp.mkv" with MPC-HC 1.7.10-269 (86/x64), LAV 0.68.1.35 (Install version), madVR 0.90.24, XySubFilter 3.1.0.746
I don't have the bug and I don't have any "NEO sans" font installed

Xp Limitation ?

clsid
15th November 2016, 20:59
Yes, works fine on Win7. The temp file workaround should only be needed on XP. Has anyone tried on Vista?

TheShadowRunner
15th November 2016, 23:27
Seems you are right. IIRC Haali does indeed extract fonts to %TEMP% folder. TheShadowRunner, can you please confirm this? And I checked the MPC-BE's internal mkv splitter - it doesn't write temp files and does have this issue.
Yes you guys have found the culprit!
(with Haali) I have indeed some temp files created in:
C:\Documents and Settings\user\Local Settings\Temp
with name such as mkf4B7.tmp.
I opened one in a hexeditor and bingo I can see it's related to the font (OTTO, Neo Sans is a trademark of AGFA ,etc..). It's also deleted once I exit the player (ZP).
The mystery is solved, thanks for testing.

VictorLS
17th November 2016, 14:54
My prayers were answered: my former (until 1991 in USSR) and current (from march 2014 in Russia) compatriot, true master of programming and developer of MPC-BE Aleksoid1978 has implemented h265 10bit (and VP9 8bit I not tried yet) hardware decoding (using philipl's investigation https://devtalk.nvidia.com/default/topic/965840) in LAV Video Decoder 0.68.1.35git via CUVID in one or two days and it works great in WinXP. I can watch 12 UHD channels in WinXP with 50Hz settings absolutely smooth in DVBViewer. I can receive also one 19e2 channel VR Demo h265 Main@L6@Main 10000x1700 25fps 4:2:0 8bit without hardware acceleration, of course.
I want repeat to nevcairiel from here http://forum.doom9.org/showthread.php?p=1784923#post1784923: sometimes much easier to do something then seems simply say no. But I want say to nevcairiel THANKS for LAV Filters once more.
Link for patch https://yadi.sk/d/5NtWmfjPyoQZe (64kB)
Link for installer of patched LAV Filters https://yadi.sk/d/M5KOnw9YyoQWo (10MB)
PS. I will try patched LAV Filters in Win10x64 at weekend too - may be it will work in it.

clsid
17th November 2016, 17:06
Tried that patch, but HEVC10 decoding is broken and crashes my driver (373.06).

VP9 Profile 0 is working.
VP9 Profile 2 does not fall back to software decoding. sample (https://mega.nz/#!hJdFEIBI!uSOjZtkkjIVYSfqD9aSfONf1yq__uQvlsf47pCtFvdQ)

davidsama
17th November 2016, 19:17
VictorLS, i want repeat to nevcairiel from here http://forum.doom9.org/showthread.ph...3#post1784923: sometimes much easier to do something then seems simply say no.
I read that line as sometimes much easier to do to what i tell you to do and do not argue with me about it then seems simply say no.

davidsama
17th November 2016, 20:07
Clsid, Have you tried https://www.nvidia.com/download/driverResults.aspx/111032/

VictorLS
17th November 2016, 20:52
I read that line as sometimes much easier to do to what i tell you to do and do not argue with me about it then seems simply say no.
You are some right - some because nevcairiel's argue about philosophy not enough for me - nothing real argue that possibility of h265 10bit decoding in LAV Video Decoder through CUVID will worse for somebody (even if so there is always choice to set None hardware decoding as happens automatically now). I said many times - choice must be given for people and they choose the best. For example, question about artifacts: nevcairiel give not choice in LAV Video Decorer as I mentioned in some pages in this thread before. I know this isn't difficult to realize, it will not take much space in LAV Video Decoder's interface but his philosophy prohibits do that again.
PS. I don't see difference between cuvid and DXVA2 on my 8bit monitor. People with 9,10bit monitors have choice to choose DXVA2. I think all satisfied...
This is my point of view.

VictorLS
17th November 2016, 21:24
VP9 Profile 0 is working.
Yes, but 4K 60fps plays with some judder instead of smooth 1080p 60fps and 4K 30fps - may be my GTX750 is too weak for 4K 60fps VP9 profile 0.
Tried on The Curvature of Earth 4K 60FPS-UceRgEyfSsc.webm downloaded with youtube-dl https://www.youtube.com/watch?v=UceRgEyfSsc --f 315 (313, 303)
PS. Just knew about youtube-dl. It's great console utility - I have no much internet at home.
VP9 Profile 2 does not fall back to software decoding.
Yes, with both The World in HDR.mkv and The Redwoods.mkv
Has anybody VP9 Profile 1 sample?

VictorLS
17th November 2016, 22:32
may be my GTX750 is too weak for 4K 60fps VP9 profile 0
I was wrong in this case - MadVR has big advantage over VMR7 and OverlayMixer in WinXP and plays that 4K 60fps video smooth instead of old renderers (first time see that).
GTX750v2 is great videocard.
PS. Samsung_HDR_Wonderland.ts http://forum.doom9.org/showthread.php?p=1785832#post1785832 (monitor's frequency set to 47,952Hz in nVIDIA Control Panel) in WinXP with patched by Aleksoid1978 LAV Video Decoder 0.68.1.35-git plays without dropped frames with MadVR. In Win7x64 frames are always dropped (both with CUVID and with DXVA2) with MadVR but with EVR plays smooth as in WinXP with MadVR and OverlayMixer.

clsid
17th November 2016, 22:40
Clsid, Have you tried https://www.nvidia.com/download/driverResults.aspx/111032/I haven't tried recent drivers, since those are full of bugs.

If the code requires a minimum driver version, then it should check for that. Crashes are unacceptable.

Sarasa
18th November 2016, 00:01
Don't use the "375.86 WHQL" they have a bug
Low memory clocks on certain factory-overclocked Pascal cards.

use the new one "375.95 Hotfix" ;)
Can be found here > http://nvidia.custhelp.com/app/answers/detail/a_id/4260

VictorLS
18th November 2016, 12:50
VP9 Profile 2 does not fall back to software decoding.
Redownload and install patched LAV Filters https://yadi.sk/d/M5KOnw9YyoQWo (10MB)
Aleksoid1978 said VP9 Profile 2 (and other video that CUVID can not accelerate) must fall to software decoding now.

kathykit
18th November 2016, 14:34
Don't use the "375.86 WHQL" they have a bug
Low memory clocks on certain factory-overclocked Pascal cards.

use the new one "375.95 Hotfix" ;)
Can be found here >

:thanks: back drop
I am just try download that, but my computer just warn me.
maybe thats the reason.

clsid
18th November 2016, 23:05
Redownload and install patched LAV Filters https://yadi.sk/d/M5KOnw9YyoQWo (10MB)
Aleksoid1978 said VP9 Profile 2 (and other video that CUVID can not accelerate) must fall to software decoding now.
VP9 fallback works now. Do you have the patch too?
Hevc10 looks like this: pic (http://i65.tinypic.com/1zxmmc7.png)

nussman
19th November 2016, 04:30
I think Aleksoid1978 should explain this patch here.

VictorLS
19th November 2016, 05:48
VP9 fallback works now.
Yes, in WinXP too.
Do you have the patch too?
I've asked Aleksoid1978's permission to give link.
Hevc10 looks like this
Upload your screenshot on other site, please. For example as me here http://forum.doom9.org/showthread.php?p=1785832#post1785832

Aleksoid1978
19th November 2016, 06:06
Here is a patch - https://yadi.sk/d/laQCuqFAyso7D

LigH
19th November 2016, 08:32
Upload your screenshot on other site, please.

I mirrored it there (http://frupic.frubar.net/shots/34634.png).

VictorLS
19th November 2016, 08:53
I mirrored it
Thanks

VictorLS
19th November 2016, 21:38
I've formated C: and installed there Windows 10 Anniversary Update 1607 build 14393 Enterprise x64 from 14393.0.160715-1616.rs1_release_CLIENTENTERPRISE_VOL_x64fre_ru-ru.efr.iso from 4GB flash then install update windows10.0-kb3200970-x64.msu and 375.95-desktop-notebook-win10-64bit-international.hf.exe
I was twice well surprised:
1. Win10's Movies&TV plays many (LAV Splitter opens much more my SAT recordings) of h265 8 and 10bit and VP9 with DXVA2 (because I see artifacts in h264 RussiaHD.ts http://forum.doom9.org/showthread.php?p=1784923#post1784923) without installing any filter.
2. I not see artifacts with CUVID in Aleksoid1978's patched filters (I did regsvr32 them - not install from his exe) in RussiaHD.ts and other such files as in Win7 happens.
I haven't seen any unexpected playback issues (including clsid's http://frupic.frubar.net/shots/34634.png) while playing more than 200 h265 4K files with CUVID (many people here told CUVID not work in Win10 at all - it isn't true in my experiment).
But Win10 is still bad for me:
1. It hangs up in a couple of second after booting begins. I have to press Reset button of my PC - second boot successful but cause HDD check in a future;
2. Not work my old radioremote control ATI Remote Wonder (may be someone knows how to?);
3. Not work my favorite version of DVBViewer;
4. Not friendly interface (for example do Ctrl+Shift instead of Alt+Sift to switch languages is some difficult) and many many other causes...
PS. With CUVID hardware decoding in Win7 I can use again my favorite KMPlayer 4.0.7.1 by 7sh3 without advertising and not send what file is played to someone. IMHO it best with ATI Remote Wonder and it has almost ideal interface (but in KMP I can not set native size of 4K video to see 1/4 of square on my FullHD monitor as MPC-HC can), because DXVA2 (copy-back) glitches sometimes and LAV's DXVA2 (native) not work in KMP at all.

gpower2
19th November 2016, 22:02
1. It hangs up in a couple of second after booting begins. I have to press Reset button of my PC - second boot successful but cause HDD check in a future;
Usually a sign that one of the disks is failing, or some other external device is blocking the boot sequence (I've seen that to a PC that had 2 keyboards connected at the same time, one in PS2 and one in USB).
You should check with as little peripherals as you can in order to pinpoint the exact problem in your system.
2. Not work my old radioremote control ATI Remote Wonder (may be someone knows how to?);
You should check the Hardware IDs at the Details tab from Device Manager for the remote control device and check Google in case there is a driver for Windows 10 for that specific device.
3. Not work my favorite version of DVBViewer;
You should check ProgDVB, it has frequent updates and it is written by a Russian developer, so you could have a lot of feedback for your local channels ;)
4. Not friendly interface (for example do Ctrl+Shift instead of Alt+Sift to switch languages is some difficult) and many many other causes...
Uhm, you can change that key combination from the control panel???
PS. With CUVID hardware decoding in Win7 I can use again my favorite KMPlayer 4.0.7.1 by 7sh3 without advertising and not send what file is played to someone - imho it best with ATI Remote Wonder and it has almost ideal interface (but in KMP I can not set native size of 4K video to see 1/4 on my FullHD monitor as MPC-HC can), because DXVA2 (copy-back) glitches sometimes and LAV's DXVA2 (native) not work in KMP at all.
I find latest nightly build of MPC-HC to be exceptionally good with every video I feed to it (having disabled all the internal splitters and decoders in order to use latest ofiicial LAV), even better that MPC-BE or other commonly used players out there.

nevcairiel
19th November 2016, 22:20
2. I not see artifacts with CUVID in Aleksoid1978's patched filters (I did regsvr32 them - not install from his exe) in RussiaHD.ts and other such files as in Win7 happens.

Thats because the HQ DXVA mode doesn't work on Windows 10, and it falls back to the CUDA mode - which is just one problem CUVID has on Windows 10, the other one is that it can deadlock when OpenCL is used, ie. by madVR, which is really quite an annoying bug.

VictorLS
19th November 2016, 22:42
check with as little peripherals as you can in order to pinpoint the exact problem in your system.
I'll check.
check Google in case there is a driver for Windows 10 for that specific device.
Even if I will find working driver, there must be program for ATI Remote Wonder. Even Win8x64 last official version worked not stable.
check ProgDVB
I respect Prog (for example he implement Maincocept HEVC Video Decoder support instead of nevcairiel, but ProgDVB on .NET and works very slowly compared with DVBViewer. Although ProgDVB has some advantages: for example, it can receive multistream transponders.
for your local channels
Artifacts is a global problem of DXVA on nVIDIA and AMD videocards in Win7 as minimum, but nVIDIA has CUVID to decide problem instead of AMD. nVIDIA's Level2 support hasn't answered me about artifacts yet )
you can change that key combination from the control panel???
I did it in one minute but it is so deep compared with Win7 ad XP.
I find latest nightly build of MPC-HC to be exceptionally good with every video I feed to it, even better that MPC-BE or other commonly used players out there.
I believe but what about remote control and user friendly interface?
having disabled all the internal splitters and decoders in order to use latest ofiicial LAV
Why so difficult - I just replace all 12 files in MPC-HC\LAVFilters(64) folder ;)
But I use Aleksoid1978's patched filters.

Thats because the HQ DXVA mode doesn't work on Windows 10, and it falls back to the CUDA mode - which is just one problem CUVID has on Windows 10
Thanks for explanation.
the other one is that it can deadlock when OpenCL is used, ie. by madVR, which is really quite an annoying bug.
I haven't tried MadVR in Win10 yet. I hope will be time for that before I uninstall Win10 )

TheShadowRunner
20th November 2016, 07:35
nev, should I report the font / temp file (missing characters bug) on the GitHub project page?

gpower2
20th November 2016, 10:22
Even if I will find working driver, there must be program for ATI Remote Wonder. Even Win8x64 last official version worked not stable.
You could use a generic remote control application that lets you assign specific application macros. ;)
I respect Prog (for example he implement Maincocept HEVC Video Decoder support instead of nevcairiel, but ProgDVB on .NET and works very slowly compared with DVBViewer. Although ProgDVB has some advantages: for example, it can receive multistream transponders.
Well ProgDVB uses ngen during installation, so .NET code gets compiled in native code, so it's not really a matter of .NET vs native code.
I believe but what about remote control and user friendly interface?
User friendliness is quite subjective. As for the remote control capabilities, I strongly suggest to use a generic application.
Why so difficult - I just replace all 12 files in MPC-HC\LAVFilters(64) folder ;)
It's not wise to replace those files, since a simple API change in the filters can crash the whole player. ;)

VictorLS
20th November 2016, 10:56
You could use a generic remote control application that lets you assign specific application macros. ;)
I can but better simply stay on quite stable WinXP )
I don't want waste much time for this.
Well ProgDVB uses ngen during installation, so .NET code gets compiled in native code, so it's not really a matter of .NET vs native code.
Thanks, I didn't know. By the way for mulistream transponders I use old good fast (but not stable) AltDVB with LAV Video (CUVID acceleration) and VMR7 both in WinXP and in Win7.
User friendliness is quite subjective.
I agree. User friendliness of KMP the best on my own. But I have to mention KMP works with filters and renderers worse then MPC-HC(BE) or POT Player.
As for the remote control capabilities, I strongly suggest to use a generic application.
If you want help me to set up generic application to remote control MPC-HC please write PM - it's offtop here.
It's not wise to replace those files, since a simple API change in the filters can crash the whole player. ;)
Theoretically you are right, but practically I've never seen any problem both in KMP and in MPC-HC.

PS. I tried disconnect all connected to my PC devices excluding SAT-card but including keyboard and mouse and second HDD - Win10 still hangs up (

Nintendo Maniac 64
21st November 2016, 02:01
Do your laptop not support 1080p hardware acceleration? Can you provide hardware (model of laptop, CPU, GPU if present) and software (OS and player with renderer you use or tried) configuration? Although in any case you have to manually switch from None to DXVA2 in settings of LAV Video Decoder depending on resolution of played video and on battery/on electrical line.
PS. You are lucky - you have this possibility - many people of the world who see artifacts with DXVA can not switch it of in LAV Video Decoder and they don't know about LAV CUVID Decoder. They have to switch off hardware acceleration because they have no choice (but sometimes with weak CPU it is impossible to decode smooth 1080p without hardware acceleration). I hope for them that nevcairiel will add possibility to switch off DXVA Processing in LAV Video Decoder.

I did some quick-and-dirty testing and I think "None" actually doesn't hit my CPU anywhere near as hard as I thought it would; I think I'm too used to web browsers which not only usually have less efficient decoders but also can have fancy-pants javascript-heavy video players (hello twitch.tv!).

Not only that, but because it's an older laptop that uses discrete graphics rather than integrated, it seems that doing GPU decoding (DXVA or CUVID) pulls more power than one would expect as well.


I'll try using "None" for the next few weeks or so and see how it goes.

CruNcher
21st November 2016, 10:27
Depends on the Decoder sure the Discrete Decoder can drain the battery very fast Quicksync i guess you refer to will be always more energy efficient, then going the discrete path of AMD or Nvidia.

And yes depending on the Decoder the CPU can be in certain Scenarios more efficient as well, for example in a Hybrid Decoding Scenario you mostly allways better of using the CPU decoder for the Web :)

But of course if the other side doesn't care about efficiency in their Render Stack that will go to hell pretty fast ;)

har3inger
22nd November 2016, 01:38
I have a quick question about matrix encoding in LAV audio for 5.1-> 2.0. If I select either dolby pro logic I or II, the audio center moves to the right when played back regularly on headphones. Is this intended behavior? More specifically, the center channel stays center after downmixing, but the music from the other channels all moves to the right.

nevcairiel
22nd November 2016, 03:02
Matrix encoding is only useful if you have a decoder on the other end that understands these matrix encodings. For playing on a stereo system or headphones, use regular downmixing.

LigH
22nd November 2016, 08:38
Well, in my experience, Pro-Logic downmixes should be quite compatible to common stereo playback systems. You may not have a really distinct front/back separation, but the phase shifted weighted mix of surround channels into left and right channels still gives an impression of a less clearly located source.

A heavy weight on only one channel is certainly not the expected result, especially not when the source is mostly centered with only little surround impact; the center channel should be mixed equally to left and right if your downmix matrix is correct. Only surround channels should have a chance to get mixed with unequal weights.

har3inger
22nd November 2016, 19:14
That's what I thought expected behavior to be. I'd assume that there is a bug with the way the matrix is being encoded currently? I have tried several samples where the audio clearly shifts to the right (even visible in the LAV sound channel volume tab) when switching from "none" to "pro logic II". Can anyone else reproduce to ensure it's not a config problem on my end?

I'm using matrix encoding for when I plug my computer into my TV with its 5.1 speaker setup, but leave it on for computer-only because of laziness.

VictorLS
22nd November 2016, 21:45
I did some quick-and-dirty testing and I think "None" actually doesn't hit my CPU anywhere near as hard as I thought it would
You want to say: despite of "None" in LAV Video decoder some hardware acceleration are active? I think this is impossible.

ryrynz
22nd November 2016, 23:59
You want to say: despite of "None" in LAV Video decoder some hardware acceleration are active? I think this is impossible.

He means to say that it's well optimized, as Nev has said earlier in the thread software decoding is preferred for most systems.. less issues and performance is very good.

LigH
23rd November 2016, 08:40
To say it very generally:

Hardware chipset support speeds up the decoding process only if the decoder chip is faster than the CPU. Which is not anymore the default case. The current fast multi-core CPUs with SIMD instruction set extensions are equal or even superior to GPU decoders in many cases. Using hardware support is not generally an "acceleration".

NikosD
23rd November 2016, 09:48
This is totally wrong.

I mean it is dead wrong.

Even from 2011, Intel's Sandybridge iGPU using QuickSync - a dedicated ASIC inside the GPU - was a lot faster than Core i7 CPU in all three codecs supported - H.264, MPEG2, VC-1/WMV3.

And the hardware decoder was present even in Core i3.

Nowadays, Intel's Skylake/Kabylake iGPU and Nvidia's Maxwell GM206/ Pascal have only increased the performance difference from the fastest Core i7 CPUs.

And the hardware decoders of Intel are present and activated even in Celerons/Pentiums since Haswell.

The latest variations of hardware decoders have added HEVC (8bit/10bit) and VP9 (mostly 8bit and Kabylake 8bit/10bit) with resolutions supported up to 8K.

Hardware dedoders are no match even for the fastest CPUs nowadays.

VictorLS
23rd November 2016, 10:27
ryrynz, LigH, NikosD
I investigate hardware acceleration by videocards inserted in PCs with very weak CPUs since MPEG2 appeared and I agree with NikosD. On old lap top I'm sure it's must be more visible. It's a pity Nintendo Maniac 64 not answered my questions: Can you provide hardware (model of laptop, CPU, GPU if present) and software (OS and player with renderer you use or tried) configuration?
So I can't tell him what happens.

LigH
23rd November 2016, 10:29
Okay, my scope in the previous reply was probably wrong. I remembered early Nvidia PureVideo generations being limited to common display framerates, they were an excecption to the generalized opinion that GPU decoding is "always" faster. And just displaying is also a different purpose than converting, where the result of the GPU decoding has to be transferred back to the RAM. :o

nevcairiel
23rd November 2016, 10:47
It makes no difference how fast a decoder is for realtime playback if all options can play all your videos fast enough, however.

The key point is that even CPUs these days are plenty fast for FullHD H264 playback without any serious CPU usage, without requiring some i7 high-end CPU, so software decoding is a valid and viable option for a lot of people. Only if you go 4k or exorbitantly high bitrates it may no longer work - but thats far from what the majority actually plays.

Aleksoid1978
23rd November 2016, 11:57
Latest NV CUvid with 375.xx drivers support P016 output and HEVC 12 bit decoding(not tested yet).

nevcairiel
23rd November 2016, 12:00
Latest NV CUvid with 375.xx drivers support P016 output and HEVC 12 bit decoding(not tested yet).

They would need to release an updated SDK to make that properly available. We'll see if/when they do that.

huhn
23rd November 2016, 12:06
even a 39 mbit BD doesn't need more than 22 % CPU usages on an old I3 4130 and the i3 isn't even using it highest clock speed.

Aleksoid1978
23rd November 2016, 12:10
They would need to release an updated SDK to make that properly available. We'll see if/when they do that.

I tested(do modify LAVVideo) - perfect working P016(decoding HEVC 10 bit) output with MadVR using CUVID.

NikosD
23rd November 2016, 12:36
H.264 codec is going to an end.

It has been replaced by VP9 in Youtube, which means that probably 80% of Internet's video traffic uses that codec now.

Also, FullHD is the minimum nowadays for almost everything.

Bluray UHD is obviously UHD (2160p) and it uses H.265 10bit and YouTube along with other online services use 4K and even has started testing 8K (!)

Generally speaking, we shouldn't talk so much about H.264 but H.265 and VP9 and a little more of UHD than FullHD.

VP9 and HEVC are a lot more demanding than H.264

We are on late 2016 afterall.

All of these cases are handled a lot better by hardware decoders which are necessary (probably a requirement) when we talk about laptops.

huhn
23rd November 2016, 12:43
the number of UHD screen and the number of UBD players on the market is still super low.

UHD is not important yet!

and about youtube and VP9 80% traffic just no: http://appleinsider.com/articles/16/01/20/netflix-boasts-37-share-of-internet-traffic-in-north-america-compared-with-3-for-apples-itunes

NikosD
23rd November 2016, 13:19
You are really unlucky because Netflix is moving to 4K and HEVC 10bit of course:

http://arstechnica.com/gadgets/2016/11/netflix-4k-streaming-pc-kaby-lake-cpu-windows-10-edge-browser/

I have to repeat myself and I hate that.

The world is moving to VP9/HEVC and to larger than 1080p resolutions.

huhn
23rd November 2016, 13:26
no they are going back to mpeg2...

UHD will be important sometime in the future.
just read your own link and they got the specs wrong too...

And then there's the browser: 4K streaming only works in Microsoft Edge, because it's the only browser that supports PlayReady DRM. Basically, streaming 4K Netflix on a PC requires a CPU that's in barely any devices right now (desktop chips aren't expected until sometime in 2017), the latest version of Windows 10, and using an unpopular browser, making it a largely useless feature.

NikosD
23rd November 2016, 13:35
I'm not trying to convince anyone that he clearly doesn't want to.

I'm just saying that hardware decoding is a lot faster than CPU decoding and it is necessary for codecs like VP9 and HEVC that are more and more used everyday, especially for resolutions above 1080p.

Just facts.

Aleksoid1978
23rd November 2016, 13:41
nevcairiel
Bug in YUV 12bit 444 ->RGB conversion.

yuv2rgb.cpp -> yuv2rgb_convert_pixels() finction.

// Shift to 12 bit
if (shift > 4) {
xmm1 = _mm_srli_epi16(xmm0, shift-4);
xmm3 = _mm_srli_epi16(xmm2, shift-4);
} else if (shift < 4) {
xmm1 = _mm_slli_epi16(xmm0, 4-shift);
xmm3 = _mm_slli_epi16(xmm2, 4-shift);
}

forgot about shift == 4.
fix:

else {
xmm1 = xmm0;
xmm3 = xmm2;
}


Short sample - https://yadi.sk/i/u8pggKFqzJLcR

CruNcher
23rd November 2016, 14:44
I'm not trying to convince anyone that he clearly doesn't want to.

I'm just saying that hardware decoding is a lot faster than CPU decoding and it is necessary for codecs like VP9 and HEVC that are more and more used everyday, especially for resolutions above 1080p.

Just facts.

an I5 (2nd Generation) is still very capable of playing back HEVC 10 Bit 4K at lower complexity (WEB VOD) without any Hardware support even at 60 FPS if done right.

And it becomes really interesting to see how close H.265 and VP9 get then at this merging point of complexity :)

The only area where CPU is not enough anymore is very High IPTV requirements and Higher Complexity Broadcast and partly 360 Video, especially when you have all the DRM overhead coming into play additionally.

And VP9 is a little less complex in decoding requirements overall.

From a Content Provider view it would be rather dumb not to catchup this wider reach possibility ;)

Though obviously you more energy efficient on Nvidias or AMDs current IP even on the complete card overhead side to around 11-15W then pushing 4 cores to around 95W/65W, and try to get that stable with magic draining the batteries in no time ;)
And then there is Hybrid which can be usefull depending on the Scenario supporting and lowering the overall drain a little further :)

NikosD
23rd November 2016, 16:54
As I have said before, my extremely fast, capable and expensive Core i7-4790 CPU can't decode YouTube 4K 60fps VP9 clips in realtime using latest Chrome x64 browser.

Not that I disagree with all of the above though.

davidsama
23rd November 2016, 18:23
To decode YouTube 4K 60fps VP9 clips in realtime You have to use windows 10 IE edge browser as it should have hardware acceleration. I can play 2160 youtube in IE edge with no frame drops using Intel's Skylake processor.

NikosD
23rd November 2016, 18:59
Haswell processors have no hardware acceleration of VP9.

Not even hybrid, like Broadwell and better.

huhn
23rd November 2016, 21:55
good that this is the lavfilter thread because lavfilter is more than fast enough to decode VP9 none 10 bit in real time on an i7.
https://abload.de/img/wellwhatevera1uia.png

NikosD
23rd November 2016, 22:01
It's obvious that you don't follow the VP9 thread and the YouTube thread.

It is very well known that off-line decoding of VP9 clips downloaded from Youtube are a lot easier to decode by media players than on-line clips using browsers.

huhn
23rd November 2016, 22:08
this is the lavfilter thread.

and software decoding is fast enough for the usual files people will encounter.

and it is still the same clip.

frames are dropped in the browser even with VP 9 hardware decoding.

NikosD
23rd November 2016, 22:43
I'm not talking about occasional frame dropping.

I'm talking about huge loss of frames every second.

And you don't have to remind people reading this thread, what thread we are reading.

ocyl
24th November 2016, 01:42
It is very well known that off-line decoding of VP9 clips downloaded from Youtube are a lot easier to decode by media players than on-line clips using browsers.
Are you suggesting that different software can deliver different performance levels when playing back the same clips on the same hardware?

VictorLS
24th November 2016, 06:24
I tested(do modify LAVVideo) - perfect working P016(decoding HEVC 10 bit) output with MadVR using CUVID.
Without dithering?
Short sample - https://yadi.sk/i/u8pggKFqzJLcR
Such sample was in this tread about month ago with no reaction from nevcairiel
Are you tried 12bit 4:4:4 after your changes? Shows video-x265-12bit-444.mp4 well?

VictorLS
24th November 2016, 06:29
NikosD
Please try to insert youtube VP9 link in MPC-BE and choose 4K while playing it. I have to mention that MPC-BE much better than any browser I tried in playing video. This experiment will be answer for ocyl's question.

Aleksoid1978
24th November 2016, 07:02
VictorLS
CUVID also as other HW decoder - support decoding only 4:2:0 :)

huhn
24th November 2016, 07:57
Are you suggesting that different software can deliver different performance levels when playing back the same clips on the same hardware?

this is a software(browser) problem and nothing else. it is not harder to decode on line streams.

i get about 3-6 frames dropped per sec with hardware decoding in browsers.
it should be the browser my internet is more than fast enough.
but again this has nothing to do with lavfilter.

VictorLS
24th November 2016, 08:45
CUVID also as other HW decoder - support decoding only 4:2:0 :)
I know. I asked two different qustions: Without dithering about native 10bit CUVID decoding and Are you tried 12bit 4:4:4 after your changes? Shows video-x265-12bit-444.mp4 well? about None hardware acceleration in LAV Video Decoder. Now video-x265-12bit-444.mp4 plays bad (with color problems).

Aleksoid1978
24th November 2016, 09:07
About P016 output - of course without dithering. About 12 bit 444 - I fix in mpc-be and color is right, LAV must fix by author.

VictorLS
24th November 2016, 10:46
About P016 output - of course without dithering.
That's very cool. Where and when we can see working solution for that?
About 12 bit 444 - I fix in mpc-be and color is right, LAV must fix by author.
I agree, but even such simple things nevcairiel usually doing very hard.

nevcairiel
24th November 2016, 10:57
nevcairiel
Bug in YUV 12bit 444 ->RGB conversion.

yuv2rgb.cpp -> yuv2rgb_convert_pixels() finction.

[snip]

Short sample - https://yadi.sk/i/u8pggKFqzJLcR

Fixed, thanks.
Generally I would recommend to not rely on the RGB conversion though, its really going to be slow on high resolutions.

VictorLS
24th November 2016, 12:02
Fixed
Thank you, I'm sorry I'm wrong this case. And what about possibility to disable Use HQ DXVA Processing with CUVID?

VictorLS
24th November 2016, 12:41
Guys, can you try with software and hardware acceleration this sample Men.in.Black.1997.2160p.WEB-DL.mkv (2,3GB) https://yadi.sk/i/I8FFU8PdzNRpt I made from 112GB movie with mkvtoolnix. Is there syncronization between audio and video in both cases?

Aleksoid1978
24th November 2016, 13:01
Guys, can you try with software and hardware acceleration this sample Men.in.Black.1997.2160p.WEB-DL.mkv (2,3GB) https://yadi.sk/i/I8FFU8PdzNRpt I made from 112GB movie with mkvtoolnix. Is there syncronization between audio and video in both cases?

With DXVA - perfect playback, A/V sync. In software - x86/x64 build is not enough.

VictorLS
24th November 2016, 13:09
Appologies, some add: in Win_x64 try with x64 software decoding, x86 IMHO hasn't even small chance with any modern processor.

sneaker_ger
24th November 2016, 13:27
I don't know if it's mkvtoolnix or the sample but if you extract the timecodes using mkvextract before and after demux->mux the number of TrueHD timecodes is different. This may indicate something is broken in the sample which may result in a/v desync without LAV being at fault.

VictorLS
24th November 2016, 14:07
sneaker_ger
But this is not answer on question: why with hardware acceleration syncronization quite well? Otherwise, whole 112GB movie with Core i7 software decoding has same desync.

sneaker_ger
24th November 2016, 14:22
I don't understand why you posted the sample, then. It's complex so you need either a very fast CPU for software decoding or a hardware decoder. If decoding is too slow you may experience this as a/v desync. If you are only interested in performance comparisons we have a whole thread dedicated to that topic (http://forum.doom9.org/showthread.php?t=171219) with lots of different samples, decoders and hardware.

VictorLS
24th November 2016, 15:36
I don't understand why you posted the sample.
Because of from http://forum.doom9.org/showthread.php?p=1787000#post1787000 until this page.

sneaker_ger
24th November 2016, 16:13
So you wanted to proof software decoding is not always faster than hardware decoding? No one disagrees, we don't need more proof.

NikosD
24th November 2016, 16:40
What a sample!

It's a HEVC 10bit sample at 3840 x 2080 resolution with a mythical 211Mbps (!) bitrate.

Using my Core i7-4790 the sample is completely unwatchable...It's pity I don't have a hardware HEVC decoder to watch that sample flawlessly ;)

@sneaker_ger
Software decoding of HEVC is always slower than HW decoding when we compare any desktop Intel CPU (including Skylake Core i7) with HW decoders of Skylake/Kabylake and GM206 Maxwell/ Pascal

VictorLS
24th November 2016, 17:14
What a sample!
I did my best ;)
But there is one file with more than 900Mbps but HDD is narrow neck - I plan to use virtual HDD in RAM.
It's a HEVC 10bit sample at 3840 x 2080 resolution with a mythical 211Mbps (!) bitrate.
Using my Core i7-4790 the sample is completely unwatchable...
But my cheap ~100$ GTX750v2 on GM206-150 plays that absolutely smooth even in WinXP http://forum.doom9.org/showthread.php?p=1784954#post1784954 with 47,952Hz and patched decoder http://forum.doom9.org/showthread.php?p=1786045#post1786045. One thing - frequency of GPU get to the maximum and Video Engine load some increase.
Software decoding of HEVC is always slower than HW decoding when we compare any desktop Intel CPU (including Skylake Core i7) with HW decoders of Skylake/Kabylake and GM206 Maxwell/ Pascal
You are quite right but I some agree with
The key point is that even CPUs these days are plenty fast for FullHD H264 playback without any serious CPU usage, without requiring some i7 high-end CPU, so software decoding is a valid and viable option for a lot of people. Only if you go 4k or exorbitantly high bitrates it may no longer work - but thats far from what the majority actually plays.
After buying 3-core CPU instead of 1-core after playing 4:2:2-4:4:4 files I sometimes forget switch to hardware decoding from "None" in LAV Video Decoder and h264 1080 plays smoothly by software - but when I look on 40-60% CPU load I switch to HW and CPU load decrease to 5-10%.

nevcairiel
24th November 2016, 17:42
Please move performance discussions to the existing performance threads, like thisone: http://forum.doom9.org/showthread.php?t=171219. It doesn't really fit in here.
There is no question that NVIDIA and Intel hardware decoders are much faster then software. The only argument was that for the available commercial content in FullHD, software decoding works just as well on the majority of systems.

NikosD
24th November 2016, 19:01
I only posted here because of a comment regarding HW decoders vs SW decoders.

BTW, the code of HW decoding of recent codecs like H.264/H.265/VP9 inside LAV filters is it explicitly yours ?

I mean you write it on your own and give it to FFMPEG or is it a work of a team of developers ?

nevcairiel
24th November 2016, 19:50
BTW, the code of HW decoding of recent codecs like H.264/H.265/VP9 inside LAV filters is it explicitly yours ?

I mean you write it on your own and give it to FFMPEG or is it a work of a team of developers ?

I contributed HEVC and VP9 DXVA2 decoding to FFmpeg, and I'm the maintainer of the DXVA2 code in FFmpeg. H264 and the older codecs are from someone else before my time, however.

It's important to note however that the hw decoders tightly integrate into the software decoders, so without the people writing those the hw implementations wouldn't have been possible.

NikosD
24th November 2016, 20:00
Great job with HW decoders.

VictorLS
24th November 2016, 20:41
Great job with HW decoders.
I agree, but some add:
1. Without HW acceleration CyberLink Video Decoder (PDVD Generic) much more fast then LAV Video Decoder, but CyberLink not so universal;
2. Without HW acceleration Elecard & Mainconcept HEVC Video Decoders have useful feature: decoding not all frames (i.e. I-frames only), but only Elecard can connect to LAV Splitter.
3. Aleksoid1978's patches very great too, i.e. LAVFilters-0.68.1-35.exe (10МБ) https://yadi.sk/d/M5KOnw9YyoQWo with "hacky workarounds" - possibility to uncheck Use HQ DXVA processing - and with unchecked Enable Adaptive HW Deinterlacing I see same deinterlacing quality (can anyone check?) but RussiaHD.ts and such other files and SAT channels are playing without artifacts and with hardware acceleration in LAV Video Decoder in Win7. I haven't to install LAV CUVID Decoder anymore - one LAV Video Decoder with NVIDIA CUVID hardware acceleration quite enough for me now in all ocсasions.

NikosD
24th November 2016, 21:11
Last time I checked Cyberlink's HW decoder it was perfect for my hybrid iGPU.

LAV Video is generally more optimized for Nvidia HW.

Also I remember Cyberlink supporting OpenCL decoding and it had a very smooth fallback to SW when sample is incompatible with HW decoders.

Generally speaking, it is definitely a more polished decoder than LAV Video but...it is commercial and supported by a company and a few developers who are being paid to do their job.

In case of LAV filters we have a lonely cowboy doing all the job for free and for fun.

Like we all do here actually, contributing to the community with one or the other way.

That's a big difference from Cyberlink and the other companies.

har3inger
25th November 2016, 00:45
I'm checking back regarding the bug with Dolby Pro logic II matrix encoding: I can reliably reproduce on two systems an audible and visible shift in audio center and misplacement of audio channels following 5.1 to stereo downmixing. Looking at how Dolby pro logic II is supposed to work, it introduces phase shifts, but shouldn't change relative channel volume. I think maybe there's an error with which channels are going where in LAV audio?

ocyl
25th November 2016, 05:32
but again this has nothing to do with lavfilter.
I agree. My last question was intended to be rhetorical. Sorry for taking forum space.

CruNcher
25th November 2016, 15:34
Last time I checked Cyberlink's HW decoder it was perfect for my hybrid iGPU.

LAV Video is generally more optimized for Nvidia HW.

Also I remember Cyberlink supporting OpenCL decoding and it had a very smooth fallback to SW when sample is incompatible with HW decoders.

Generally speaking, it is definitely a more polished decoder than LAV Video but...it is commercial and supported by a company and a few developers who are being paid to do their job.

In case of LAV filters we have a lonely cowboy doing all the job for free and for fun.

Like we all do here actually, contributing to the community with one or the other way.

That's a big difference from Cyberlink and the other companies.

Nope it can use a very big amount of decoding tricks, to enhance the user experience that is actually what PowerDVD does dynamically if necessary.

The very small advantage it has in it's Hardware Decoding modes are way way smaller then the CPU deficiencies.

In it's core optimization it doesn't really performs that well these days, the Chinese did way better over at Strongene, very impressive low level optimization threading and memory management work from scratch there ;)




I agree, but some add:
1. Without HW acceleration CyberLink Video Decoder (PDVD Generic) much more fast then LAV Video Decoder, but CyberLink not so universal;
2. Without HW acceleration Elecard & Mainconcept HEVC Video Decoders have useful feature: decoding not all frames (i.e. I-frames only), but only Elecard can connect to LAV Splitter.
3. Aleksoid1978's patches very great too, i.e. LAVFilters-0.68.1-35.exe (10МБ) https://yadi.sk/d/M5KOnw9YyoQWo with "hacky workarounds" - possibility to uncheck Use HQ DXVA processing - and with unchecked Enable Adaptive HW Deinterlacing I see same deinterlacing quality (can anyone check?) but RussiaHD.ts and such other files and SAT channels are playing without artifacts and with hardware acceleration in LAV Video Decoder in Win7. I haven't to install LAV CUVID Decoder anymore - one LAV Video Decoder with NVIDIA CUVID hardware acceleration quite enough for me now in all ocсasions.

1. It would be the difference between the 32 and 64 bit path but i would highly disagree anyways, but depends on the overall System status if you measure in very high resolution that's possible on the Windows Kernel Edge, keeping the overall thread fluctuations to a possible minimum.

You can pinpoint the tools and optimizations Cyberlinks Decoder fails on compared to ffmpeg/libav very easily if you stress the decoder enough and bring it to it's limits additionaly enabling a power save mode and you will see it very fast braking down.

2. It would be easy peasy for nevcariel to make them interoperable but decoder is heavily splitter optimized because of the frame accurate nature of the whole decoder core ;)

And yeah both never parted really that far away from each other especially in their UI Structure either and both still share the same Russian HQ location roughly 3km away from each other :)

2005

Elecard and MainConcept AG team up

2006

Elecard Ltd and MainConcept AG separate and split resources


Elecard head office is located in Akademicheskiy district of Tomsk.

3 Razvitiya ave. Tomsk, 634055, Russia


MainConcept - DivX LLC operates as a subsidiary of MainConcept GmbH. Razvitiya avenue 3. Tomsk, 634021. Russia.

VictorLS
25th November 2016, 20:48
CruNcher
1. Sorry, I don't understand even with translator. May be this is answer: I measured fps (min/avg/max) with DXVA Checker in equal conditions in Win7x64.
2. I didn't know. I know why Elecard and Mainconcept almost equal now )
Prog easy add Mainconcept's HEVC Video Decoder support in ProgDVB, DVBViewer has support since h265 support.
Elecard's HEVC Video Decoder always connects with LAV Splitter, but when Elecard HEVC Video Decoder connected to DVBViewer's source it can not decode h265 10bit in right way. So before I buy GTX750 I had to use Mainconcept in DVBViewer and Elecard in KMPlayer (because Mainconcept's Demuxer can not mkv) with Skip PB.

Gravitator
25th November 2016, 20:49
This file is played with a scattering of squares through DXVA2 (CUDA normally). > hotfuzz.vc1 (https://drive.google.com/open?id=0BzeF_1syecQwakhsX3RuZGhWcjA) (before playing it is desirable to pack the file through mkvtoolnix to .mkv).
Win10x64, Core2duo 3GHz, DDR3 8GB, GTX750v1 2GB d375.95, MPC-HC-x64 v1.7.10, madVR v0.91, LAVx64 v0.68.1.36.

VictorLS
26th November 2016, 03:08
Gravitator
http://forum.doom9.org/showthread.php?p=1784805#post1784805 and some posts lower.
I don't use DXVA at all and I'm happy with CUVID now despite of 10->8bit dithering I don't see on my 8bit (for one color) monitor.
PS. I guess you are using Win10?
Because even CUVID is useless to destroy scattering of squares in Win7 - only patched by Aleksoid1978 decoder can or turning off hardware acceleration.

Gravitator
26th November 2016, 08:28
VictorLS
My video card based on GM107 :angry:
Can theoretically simultaneously CUDA and DXVA2 push to decode?

huhn
26th November 2016, 10:02
CUVID and DXVA use the same decoder so clearly no.

VictorLS
26th November 2016, 10:17
My video card based on GM107 :angry:
I suppose GK107 (Kepler core, not even Maxwell 1-st generation with hybrid h265 decoder). I was hunting for GTX750v2 for a long time - even nVIDIA's support didn't know about GTX750 on GM206 even this year when GPU out on stock!
Can theoretically simultaneously CUDA and DXVA2 push to decode?
I havn't downloaded hotfuzz.vc1 yet, but for h265 huhn right: clearly no.

nevcairiel
26th November 2016, 10:52
Please refrain from pointing people at wrong "solutions". Clearly your H264 problem is entirely unrelated to any VC-1 decode issues.
I'll have a look at that vc-1 clip later.

VictorLS
26th November 2016, 12:07
nevcairiel
I think h264 and VC1 almost the same, especially with hardware acceleration. Will see.

nevcairiel
26th November 2016, 12:38
nevcairiel
I think h264 and VC1 almost the same, especially with hardware acceleration. Will see.

They are entirely different, and the corruption seen in the movie is also nothing like that in your H264 clips.
Also, it works with CUVID with DXVA processing enabled.

Like I said, please refrain from making baseless claims.

CruNcher
26th November 2016, 16:30
VictorLS
My video card based on GM107 :angry:
Can theoretically simultaneously CUDA and DXVA2 push to decode?

Yes you can use both API simultaneously they don't exclude each other it seems but performance isn't really holding steady on both the same way if mixed but here we get now more into scheduling and who wins what were when and why no good compare base.

Though no idea why someone would even try todo something like this in Realtime running both at the same time except yeah maybe for problematic side by side stream analysis that runs on CUVID but fails on DXVA2 for certain filter/demux chain reasons.

I already found edge cases where CUVID does better in Playback stability but these where more problematic done bitstreams so far that CUVID can handle a little bit better doing different decisions mostly on the Playback chain side, that finally result in a better playback experience of these mostly weird done streams with Nvidias Decoder :)

http://i1.sendpic.org/t/im/imWfl6e1OEZCapsQDo78cnk9eiP.jpg (http://sendpic.org/view/1/i/dK6uApWnCn2PU5RmIXImYdknoAq.png)

Gravitator
26th November 2016, 17:54
CUDA - is a basic calculator. DXVA2 - separate computing unit in the GPU (Mini auxiliary processor for video).
Can a CUDA software engaged decoding 10bit or down 10bit to 8bit? Then feed DXVA2 :) Though somehow relieve the load on weak Core2duo.

CruNcher
26th November 2016, 18:33
CUVID is Nvidias own API to either a CUDA Based Hybrid Decoder/Encoder (NVCUVID/NVCUVENC) or a Fixed Function one (NVDEC/NVENC) and it shows that it works partly better with the Hybrid Decoder/Encoder especially :)

Latency in combination with the Hybrid Decoder is mostly very bad via DXVA2n CUVID fixes that with a higher default Frequency you can workaround this problem using dxva2 copy back (which automaticly switches to a higher frequency) but it's not optimal and you lose optimal results for both decoding/encoding cases switching to DXVA2n with Nvidias Driver.
CUVID is optimized for both Scenarios while DXVA2 is not really optimal for Nvidias CUDA Hybrid case and you have to switch manualy and you still will have inferior performance results with Nvidias Dynamic Arbitrator (Power Management).

Nvidia optimized CUVID to Perform the best for both Scenarios no matter what with their Driver it's in it's base a Compute/3D balance thing ;)

Compute requires higher Frequencies you have to manage that for both Scenarios efficiently on Nvidias Architecture or else you run preemption wise (running both at the same time) into problems affecting your overall latency heavily.

Paxwell has a Software Async Optimization which cleverly used can further reduce these issues.

On AMDs GCN if used right there are not such issues because both can run virtually in parallel (Hardware supported) without affecting each others Performance.

drew_afx
26th November 2016, 19:32
I'm currently using intel iGPU as DXVA2 Copy-Back by connecting both HDMI and DP cables to same monitor (only using discrete gpu as source on the monitor of course) and have windows 10 extend the desktop.

Is it not possible to use QuickSync as DXVA2 CB without connecting the iGPU to monitor with a cable? Or, does selecting QuickSync as HW decoding option have the same effect?

I've been using my discrete gpu for DXVA2 CB and madvr, but wanted to see if adding iGPU would bring any improvement.

VictorLS
26th November 2016, 21:15
This file is played with a scattering of squares through DXVA2 (CUDA normally). hotfuzz.vc1 (before playing it is desirable to pack the file through mkvtoolnix to .mkv).
Win10x64, Core2duo 3GHz, GTX750v1, driver 375.95, LAVx64 v0.68.1.36.
I couldn't repeat "scattering of squares" while playing hotfuzz.vc1 muxed with some mp3 (without audio it isn't playing) in either XP or 7x64 or 10x64. What player do you use in 10x64 and what renderer in it and what DXVA2 mode in LAV (native or copy-back) to see squares?
But I'm agree - file some strange - in XP with commercial Cyberlink and ArcSoft Decoders it stutters with DXVA1. With MPC decoder plays well with DXVA1. With LAV CUVID well too, of course.
They are entirely different, and the corruption seen in the movie is also nothing like that in your H264 clips.
Because, VC1 is progressive? I think you are right.

Anybody see "scattering of squares" in hotfuzz?

CruNcher
26th November 2016, 21:51
Latency Render Issue DXVA2 Native Nvidia Hybrid CUDA Decoder
Low Complex HEVC Main 8 Bit
EVR CP D3D9E
GTX 970 Windows 7 SP1 Platform Update WDDM 1.1

Lav CUVID 0.3xx ms

http://i1.sendpic.org/t/73/73hokcx1v5gY4IoZLdkBkAQ6UiI.jpg (http://sendpic.org/view/1/i/rcw7H2m9PKCyBk8BDBGbQ60VoHU.png)
http://i1.sendpic.org/t/Mt/Mt3zHbW9k3qWEmBwgg3Mhi90gR.jpg (http://sendpic.org/view/1/i/xnvQb2wUrHfSkt2JRYkIqHwQJAa.png)



Lav DXVA2 Native 9 ms (heavy render fluctuations throughout)

http://i1.sendpic.org/t/7B/7BcHJA0yW4BOgJbIstmbUwMzMDk.jpg (http://sendpic.org/view/1/i/iY2gH2i5hSABb1bhfVu3FHzotMa.png)
http://i1.sendpic.org/t/sF/sFblaLRHXQdt81oAGNnAgYLqZ27.jpg (http://sendpic.org/view/1/i/c28YAzmjc7xOh7VeEfbzYn1hMY2.png)


So you can guess until this issue is fixed once and for all im personally no fan of removing CUVID like nevcariel seems to be thinking of now.


PS: Though it becomes rather interesting now Frequency behaviour seems to be since some driver perform very close to each other and still the render latency issues occur with DVXA2 Native/Copy-Back even with lower Memory Frequency Decission for CUVID, the whole thing needs another evaluation.

So CUVID by now overall more efficient under WDDM 1.1 EVR-CP (at least) then DXVA2 natively ?

And if you look at that example that is no small gain here we talking about Windows 7 DXVA2 would be beaten by Nvidia CUVID by now from the Driver side look at the frame drops of DXVA2n and the heavy jitter compared to CUVID for merely a very few amount of more resources ;)

Lav DXVA2 has absulutely no chance here i need to evaluate with more DXVA2 implementations but it could be the case :)

sneaker_ger
26th November 2016, 22:12
I'm currently using intel iGPU as DXVA2 Copy-Back by connecting both HDMI and DP cables to same monitor (only using discrete gpu as source on the monitor of course) and have windows 10 extend the desktop.

Is it not possible to use QuickSync as DXVA2 CB without connecting the iGPU to monitor with a cable? Or, does selecting QuickSync as HW decoding option have the same effect?

I've been using my discrete gpu for DXVA2 CB and madvr, but wanted to see if adding iGPU would bring any improvement.
LAV does not support "headless" mode for DXVA2.

jkauff
27th November 2016, 00:29
LAV does not support "headless" mode.
Headless mode requires Win 8.1 or greater, which would leave out a lot of users. Not to mention what I would guess would be a substantial coding effort.

The "fake display" trick still works, though.

nevcairiel
27th November 2016, 01:20
Actually it should work with the QuickSync decoder as long as the GPU is enabled and a driver installed (and Win 8.1 or newer). It can use D3D11 to access it. I haven't tested it in ages though, as my current primary system doesn't have a Intel iGPU.

CruNcher
27th November 2016, 01:51
Some nice optimizations took place on the Driver side with CUDA and CUVID everything got more render efficient and latency improved through the bank :)

Makes the Hybrid Decoder more stable to use with Lav CUVID :)

Love the overall Perf Characteristics of that Driver branch of 375.63 [r375_45-10]

http://i1.sendpic.org/t/lW/lWSAvFjCLtPzZGZb1GYwxxL3Cf5.jpg (http://sendpic.org/view/1/i/3La2f5szcDRu84nW750x2GJ43AT.png)

sneaker_ger
27th November 2016, 13:13
Is the latest nightly (.37) supposed to work with HDR from Matroska/WebM? Doesn't seem to be triggering madVR's HDR mode for me.

nevcairiel
27th November 2016, 13:20
Is the latest nightly (.37) supposed to work with HDR from Matroska/WebM? Doesn't seem to be triggering madVR's HDR mode for me.

No, it is not.

Gravitator
27th November 2016, 17:16
What player do you use in 10x64 and what renderer in it and what DXVA2 mode in LAV (native or copy-back) to see squares?
Native and copy-back.
___________________________________________________________________________________________________
Win10x64, Core2duo 3GHz, DDR3 8GB, GTX750v1 2GB d375.95, MPC-HC-x64 v1.7.10, madVR v0.91, LAVx64 v0.68.1.36.

VictorLS
27th November 2016, 21:39
Gravitator
It's a pity I can't see your attachment (anybody can?) but you can ask your question about "squares" here http://forum.ixbt.com/topic.cgi?id=10:56858 or here http://forum.ixbt.com/topic.cgi?id=10:60902 - may be someone repeat "squares" and answer you.

Nintendo Maniac 64
28th November 2016, 01:38
It's a pity Nintendo Maniac 64 not answered my questions: Can you provide hardware (model of laptop, CPU, GPU if present) and software (OS and player with renderer you use or tried) configuration?

The main reason I have not is because I want to gather more data points first and therefore my initial concerns may or may not turn out to even be all that accurate depending on the results.

TheShadowRunner
28th November 2016, 09:10
Nev, another issue with LAV Splitter that baffles me ^^;
It has to do with matroska and aspect ratio.
Sample: http://videoff7.free.fr/wrongAR_sample.mkv
Display width of the video track is set to: 704x528 (4/3)
With Haali Splitter, it displays properly at 4/3.
With LAV, it's wrong (16/9) and video resolution is reported as 704x400.
It seems LAV Splitter isn't taking into account the display width that was set for the video track?
Again for this test, only the splitter is altered in the whole decoding chain.

LigH
28th November 2016, 09:18
There is a difference between two aspect ratio values reported by MediaInfo:

Width : 704
Width : 704 pixels
Height : 400
Height : 400 pixels
Sampled_Width : 704
Sampled_Height : 400
Pixel aspect ratio : 0.758
Original pixel aspect ratio : 1.000
Display aspect ratio : 1.333
Display aspect ratio : 4:3
Original display aspect ratio : 1.760
Original display aspect ratio : 16:9

Respecting the "Original ..." flags is not desired here, correct?

Just to check all possible reasons: Is your LAV Filters set up to prefer container or content AR flags? – But the container has no AR flag reported in MediaInfo. So the content AR should be the only relevant.

nevcairiel
28th November 2016, 09:31
Works fine for me, plays as 704x528. Note that ultimately its up to the video decoder to use an aspect ratio, and if you use other decoders then LAV Video, there is no telling what aspect ratio information they use, so if anything you would have to ask them. LAV Video prefers the container AR when its set and valid.
Haali does some evil hackery and actually overwrites the aspect ratio inside the h264 bitstream so it may work with more video decoders - but i'm not in the business of evil hackery.

TheShadowRunner
28th November 2016, 09:34
There is a difference between two aspect ratio values reported by MediaInfo:

Width : 704
Width : 704 pixels
Height : 400
Height : 400 pixels
Sampled_Width : 704
Sampled_Height : 400
Pixel aspect ratio : 0.758
Original pixel aspect ratio : 1.000
Display aspect ratio : 1.333
Display aspect ratio : 4:3
Original display aspect ratio : 1.760
Original display aspect ratio : 16:9

Respecting the "Original ..." flags is not desired here, correct?

Just to check all possible reasons: Is your LAV Filters set up to prefer container or content AR flags? – But the container has no AR flag reported in MediaInfo. So the content AR should be the only relevant.

Yes, the original (encode) ratio isn't desired here.
And I don't see any AR setting in LAV Splitter 0.68.1..
With Haali, the video AR source is reported as 704x528, with LAV it's 704x400..
I'm using ffdshow to decode the video stream (but that shouldn't make any difference?)

TheShadowRunner
28th November 2016, 09:41
Works fine for me, plays as 704x528. Note that ultimately its up to the video decoder to use an aspect ratio, and if you use other decoders then LAV Video, there is no telling what aspect ratio information they use, so if anything you would have to ask them. LAV Video prefers the container AR when its set and valid.
Haali does some evil hackery and actually overwrites the aspect ratio inside the h264 bitstream so it may work with more video decoders - but i'm not in the business of evil hackery.
Ah yes, with LAV Video dec, the AR is correct.
It's still strange, with Haali + ffdshow, ffdshow is indeed using the container AR.
But with LAV + ffdshow, ffdshow doesn't..?
(the stream is divx5 so i don't think Haali does anything evil ^^;)

nevcairiel
28th November 2016, 15:32
Use LAV Video and everything works fine. Or fix ffdshow. Its the decoders job to pick an appropriate aspect ratio, my decoder does so. There is nothing else to do. And Yes, Haali does quite a bunch of evil things to work around broken things like ffdshow, which was one of the key ideas I started on - not to repeat those.

nevcairiel
28th November 2016, 15:32
Is the latest nightly (.37) supposed to work with HDR from Matroska/WebM? Doesn't seem to be triggering madVR's HDR mode for me.

The next nightly (ie. tomorrows) should support those streams.

sneaker_ger
28th November 2016, 16:43
Great, thank you. Will it prefer container or bitstream (e.g. HEVC) or are both passed on and the renderer decides?

TheShadowRunner
28th November 2016, 16:57
Or fix ffdshow. Its the decoders job to pick an appropriate aspect ratio, my decoder does so.
And so does ffdshow when used with Haali :rolleyes:
Haali split + ffdshow: OK
Haali split + LAV dec: OK
LAV split + LAV dec: OK
LAV split + ffdshow: NG
this is.. unexpected, just saying.

And Yes, Haali does quite a bunch of evil things to work around broken things like ffdshow, which was one of the key ideas I started on - not to repeat those.
Indeed a wise choice, though I'm not sure it applies here since Haali split + LAV dec is OK.

nevcairiel
28th November 2016, 16:57
Great, thank you. Will it prefer container or bitstream (e.g. HEVC) or are both passed on and the renderer decides?

For basic color info, like colorspace/primaries/range/etc, it will prefer the container, and for HDR info it'll use the bitstream if present, otherwise the container.

I could probably add some more checks if the bitstream only has partial info to switch to the container HDR info, or something, but noone ever specifies how two conflicting sets of information are meant to be interpreted.

nevcairiel
28th November 2016, 17:00
this is.. unexpected, just saying

No, this is exactly what one would expect to happen. Haali Splitter hacks the new AR into the bitstream so it works with all decoders (including LAV), LAV Splitter relies on the decoder to be smart and do the right thing.
Nothing else about it.


Indeed a wise choice, though I'm not sure it applies here since Haali split + LAV dec is OK.

If you would want to codec AR to be used instead of the stream AR, then you would be screwed with Haali, since it gives you no choice.

LAV Splitter + LAV Video gives you all the choices, and it takes the correct one by default. So thats all thats to it.

ffdshow is dumb and can't use the constainer AR, so Haali does something evil and changes the AR in the codec bitstream to match the container AR, and it magically works everywhere. But its still evil, and you should just use a smarter decoder if you care about this.
In any case, I do not support any usage with ffdshow or Haali anymore, both of those are entirely dead, so if you want to keep using them, you are on your own either way.

sneaker_ger
28th November 2016, 17:08
I could probably add some more checks if the bitstream only has partial info to switch to the container HDR info, or something, but noone ever specifies how two conflicting sets of information are meant to be interpreted.
For AR LAV prefers container over bitstream by default, right? I guess doing the same for HDR would at least be consistent. Plus editing MKV container info is easier done than editing the bitstream info. Muxing is last step of production anyways.

(Then again, we have Matroska default values. E.g. matrix must be "unspecified" if element is missing. :rolleyes: )

nevcairiel
28th November 2016, 17:34
For AR LAV prefers container over bitstream by default, right? I guess doing the same for HDR would at least be consistent. Plus editing MKV container info is easier done than editing the bitstream info. Muxing is last step of production anyways.


I suppose I can make it prefer container, one wouldn't put it in there if its not supposed to be used, right?


(Then again, we have Matroska default values. E.g. matrix must be "unspecified" if element is missing. :rolleyes: )

I treat unspecified as unset, and if bitstream is set it'll use that. Thats really the only way to handle those.

sneaker_ger
28th November 2016, 17:37
I suppose I can make it prefer container, one wouldn't put it in there if its not supposed to be used, right?
Yes, I guess so.

TheShadowRunner
28th November 2016, 17:38
Roger that, it makes sense now.
Indeed Haali shouldn't alter the codec bitstream AR as a workaround for ffdshow not using container AR, it's bad.
I'm moving slowly to everything LAV so excuse the late discoveries ^^

Mercury_22
28th November 2016, 20:44
Quick question : Why HDR it's not working for MPC-BE + madVR v0.91.3 + LAVFilters-0.68.1-37 but it's working for MPC-BE + madVR v0.91.3 + MPC-BE's internal filters ?
On the same (driver, os, madVR settings, ...) system no other changes (native & copy-back & SW tested )
Do I need to enable / disable something in LAV's default settings ?
Samples : VP9 Profile 2 HDR (http://kodi.wiki/view/Samples)

har3inger
28th November 2016, 20:45
I've done some testing to try and narrow down the problem with Dolby II matrix: Seems like the problem exists way back even in version 0.60.1. of LAV filters.

I'm now wondering if it's possible the source is simply strange. Maybe the channels are encoded in 90 degrees phase from each other, which somehow causes cancellation when Dolby combines and phase shifts the signals? Nevcairel, I've got a vid sample I could share with you if you'd be interested to see. For what it's worth, even when I put the down-mixed signal into my 5.1 system that expects to receive 2.0 Dolby Pro Logic II, the audio center is very much moved to the right.

nevcairiel
28th November 2016, 20:49
Quick question : Why HDR it's not working for MPC-BE + madVR v0.91.3 + LAVFilters-0.68.1-37 but it's working for MPC-BE + madVR v0.91.3 + MPC-BE's internal filters ?
On the same (driver, os, madVR settings, ...) system no other changes (native & copy-back & SW tested )
Do I need to enable / disable something in LAV's default settings ?
Samples : VP9 Profile 2 HDR (http://kodi.wiki/view/Samples)

If you would read the last couple posts, you would know that its not supported in -37 yet but will need the next nightly.

Mercury_22
28th November 2016, 20:51
If you would read the last couple posts, you would know that its not supported in -37 yet but will need the next nightly.

Ooooops Sorry !

CruNcher
29th November 2016, 03:24
@nevcairiel

Any idea how to improve this Nvidia Hybrid Decoder situation with Lav DXVA ?

every DXVA implementation shows the same latency problem with it and DXVA copy-back is still sub optimal CUVID Performs the most stable with it on EVR CP but CUVID is not the optimal at playback for the Fixed Function Decoder there DXVA is.

I guess a viable solution to this problem could be using CUVID for the Hybrid Decoder as preferred and DXVA for the Fixed Function Decoder.

The more complex the Bitstream the more problematic this issue becomes here on the GTX 970.


Nvidia Hybrid HEVC Decoder EVR-CP DXVA Native Latency issue

Lav DXVA

http://i1.sendpic.org/t/ha/haqPKrCDHz60YljJw3D3vSgm4H8.jpg (http://sendpic.org/view/1/i/fyUNDmGDHRu3dXvOh37JrH5KXij.png)

http://i1.sendpic.org/t/oy/oyD2iaXo20TZmuNn1uT1lgTWrlI.jpg (http://sendpic.org/view/1/i/gZAZCRrezMhuukElrMtjLu5SdlU.png)

Lav CUVID

http://i1.sendpic.org/t/36/36GrOaL7LwI4nrO7pMuQOAkqGOW.jpg (http://sendpic.org/view/1/i/f1kA0RVJ1DeLj4q7TqxqQJoG9FZ.png)

http://i1.sendpic.org/t/kl/kl1ekaXRwoC5M2USrS9KyqRTstk.jpg (http://sendpic.org/view/1/i/a8QkH14lxXUw7WiEQIl0C8g0sej.png)


you see their up to 20 ms render spikes with DXVA it stutters like crazy with CUVID the present is ultra smooth either Windowed or Fullscreen.

PS: i will close this case now as for me finally i can exactly reproduce it and i can be sure that this is the exact issue and have to reevaluate a lot now based on it (First testing different EVR-CP implementations and how they behave with the CUDA Decoder and DXVA).

Especially finding the exact reason now why the CUDA Decoder behaves like that with DXVA and EVR-CP (very unstable) on my System of course it would be rather nice if some LAV DXVA Nvidia Maxwell users could maybe try to reproduce it on their Systems under at least similar properties (Maxwell HEVC Cuda Decoder DXVA and EVR CP presumably on Windows 7) especially if they where surprised why Bitstreams that would rather fall absolutely in the Decoder Specs behave problematic like that with DXVA and spiking like crazy on the present render times.

The major difference is the Core Frequency with CUVID it stays with the sample test above constantly @ 1126 MHz CPU: 23% GPU 22%

DXVA Native want's to go down immediately to 7xx MHz rises up to 1126 but present latency doesn't improve.

And when DXVA Copy Back decides to go as low as Memory 747 MHz and Core 911 MHz it goes totally out of sync.

And becomes a mega present disaster

http://i1.sendpic.org/t/qw/qwTIsqvJcCFCH0hCLVKX1mS93Ft.jpg (http://sendpic.org/view/1/i/rHRRktakhW0BTKW2efyHkVz3Q3n.png)


It seems Nvidia never really tested the CUDA Decoder on something like EVR-CP and it's reliability their with DXVAs Dynamic Frequency Decisions.

It completely fails to understand how to get the playback stable it seems the Frequency decisions taken are totally wrong for the CUDA Decoders stability.

I guess there is really no other way to maintaining stability for the CUDA Decoder then to switch Dynamically to CUVID for this specific Playback Scenario.

sneaker_ger
29th November 2016, 09:59
The next nightly (ie. tomorrows) should support those streams.
Working good. (not that I expected any different)

Kotik
1st December 2016, 14:57
There is an issue with 3D subtitles, specifically in Life Of Pi, the 3D effects of the movie cut through the subtitles.

I am opening the proper .mpls file directly from the disc, using latest lav nightly and latest madvr.

The other issue is with my Avatar 3D disc, with this one if I open directly the .mpls then the 3D subtitles have the correct 3D depth but if I repack the movie with makemkv then the subtitles are not getting the correct 3D depth, I noticed that makemkv is picking up 00852.mpls as "Title 0" and if I play directly this .mpls then the subtitles have the proper depth, this could be a makemkv bug.

Regarding Life Of Pi though there is no makemkv involved so I tend to believe it is a splitter issue.

Thanx in advance.

PS. My tv is passive 3D and the movies themselves are playing fine.

madshi
1st December 2016, 16:25
@Kotik, sounds like 2 different issues:

1) MakeMKV created MKV files not working properly. Could be MakeMKV's or LAV's fault.

2) Life of Pi not working correctly, even when playing the .mpls file directly. This could be madVR's or LAV's fault. Can you create a Life of Pi sample? MakeMKV obviously isn't suitable for that. We'd need all the Blu-Ray supports files (like playlists etc), plus a small portion of the movie m2ts file.

Kotik
1st December 2016, 19:29
Can you create a Life of Pi sample? MakeMKV obviously isn't suitable for that. We'd need all the Blu-Ray supports files (like playlists etc), plus a small portion of the movie m2ts file.
Here (https://www.mediafire.com/?yvnt116d4u77aur) are the essential files from the Life Of Pi 3D bluray disc. Keep in mind i didn't include any video files cause i am not sure how am i supposed to cut a small sample of a .ssif fille.

NikosD
1st December 2016, 19:46
@Cruncher

If I understand correctly your final review on the subject is that on specific environment (Maxwell, Hybrid HEVC decoder, Win 7, EVR-CP) the CUVID (CUDA API on top of DXVA) hybrid HEVC decoder is better in playback difficult streams than DXVA native/ copy-back.

Did you try other decoders/ implementations for your specific environment, like Cyberlink's or PotPlayer ?

If I were you I wouldn't spend so much time testing HEVC hybrid decoder.

I would go to fixed-fuction HEVC decoder, buying new hardware of course.

CruNcher
1st December 2016, 20:30
Revisiting another test case issue (Scenecut Spikes)

Lav Video/MPC Video

http://i1.sendpic.org/t/6g/6gCgm0ENVDV8Gvy498CHKSk2ftu.jpg (http://sendpic.org/view/1/i/jcJLCef8cYKZBnRAsrGKQlSPPTL.png)

Lentoid

http://i1.sendpic.org/t/bi/biFgpiFLCvrRPx8rH8KOamqfl5x.jpg (http://sendpic.org/view/1/i/5hWRIE5eo5VJJywdT5YwY6nvbMO.png)

PTC works better for LAV Video but creates still 1 down spike at least per scenecut (perceptible stutter)

Really interesting how much more of the Samsung ATEME Kyrion Encoder Streams have this issue actually that Lentoid avoids very successful.


@NikosD

Yes i tried MPDN Renderer it works ok with DXVA Copy Back and Lav Video for the CUDA Decoder but it has major issues with stable Multithreaded CPU Playback with Lav Video (decoding queue stalls very fast) compared to EVR-CP in MPC-BE

Also Potplayer works rather ok with its D3D Renderer but jitters to much with DXVA Copy Back on EVR-CP compared to CUVID with the CUDA Decoder as well.

@Aleksoid1978 and VictorLS

3. Aleksoid1978's patches very great too, i.e. LAVFilters-0.68.1-35.exe (10МБ) https://yadi.sk/d/M5KOnw9YyoQWo with "hacky workarounds" - possibility to uncheck Use HQ DXVA processing - and with unchecked Enable Adaptive HW Deinterlacing I see same deinterlacing quality (can anyone check?) but RussiaHD.ts and such other files and SAT channels are playing without artifacts and with hardware acceleration in LAV Video Decoder in Win7. I haven't to install LAV CUVID Decoder anymore - one LAV Video Decoder with NVIDIA CUVID hardware acceleration quite enough for me now in all ocсasions.
There is a mjor problem with Aleksoids HQ DXVA Processing patch addition to Lav Video CUVID is not gonna work with every Stream that way if HQ DXVA Processing is disabled and is falling back to the CPU Decoder instead of CUVID.

I can play now your RussiaHD.ts without block distortions with Lav CUVID but LG_4K_View-the-Feeling.ts for example doesn't want to work anymore with CUVID with HQDXVA option disabled many other streams as well fail now and falling back to the CPU Decoder, the patch looks not that stable yet.

So this workaround practically is for now pretty much needed to be done fully manual on first sight of the Decoding issues and reverted back for other streams that might not interop with it at all ;)

nevcairiel
2nd December 2016, 00:35
Here (https://www.mediafire.com/?yvnt116d4u77aur) are the essential files from the Life Of Pi 3D bluray disc. Keep in mind i didn't include any video files cause i am not sure how am i supposed to cut a small sample of a .ssif fille.

From the metadata files alone I can't see anything wrong. It marks the 5 PG streams with 5 different subtitle offsets, and LAV reads those fine.

For further samples - LAV doesn't read the .ssif file, it reads the two split m2ts files.
In this case, 01217.m2ts for the 2D view, and 01218.m2ts for the 3D extension.

You can split them with any binary file splitter, on Linux I would just use the "dd" tool for that... :)

madshi
2nd December 2016, 10:21
@Kotik, at which runtime is the first subtitle (of any language) which has an incorrect 3D depth? If it's very early, you should be able to simply truncate the 2 m2ts files (mentioned by nevcairiel) after a couple hundreds MBs. If you need help how to do that, let me know, it's pretty easy with a decent (freeware) hexeditor.

Kotik
2nd December 2016, 14:05
I am currently uploading a 1GB chunk for each .m2ts file, it is going to take some time since my line has slow upload speeds.

I believe i will be done in around 3 hours.

madshi
2nd December 2016, 17:05
And the problem can be reproduced with these chunks? If so, that'd be great! Might make sense to send the link to nevcairiel and me via PM instead of posting them here in the forum, because we don't want to violate any copyright stuff. Just chasing bugs...

Kotik
2nd December 2016, 18:33
I think I have sent to both of u a message with the links, but I am not sure if u got it, the last days the forums behave weirdly. If u didn't get any pm let me know.

nevcairiel
2nd December 2016, 18:42
I didn't get anything.

Kotik
2nd December 2016, 18:47
Well i actually think private messages are down :(

nevcairiel
2nd December 2016, 18:48
Now i got a whole bunch of them. Crazy forum is falling apart. But I can't open them because I get a error 500.

Kotik
2nd December 2016, 18:50
Exactly.... i am getting error 500 when sending them:)

Kotik
2nd December 2016, 18:56
Just sent them again, this time without hyperlinks :) still got an error 500 :(

nevcairiel
2nd December 2016, 18:57
I managed to trick the forum by directly opening them in the reply window (manually fudging with the url ftw), and got to the links now.

Kotik
2nd December 2016, 18:59
Great!!!

nevcairiel
3rd December 2016, 00:31
On my end everything looks fine. I didn't check on a 3D screen yet, but LAV Splitter reads 5 different offset ids for the 5 PGS subtitle streams (ids 1 to 5 for the 5 streams), and the decoder reads per-frame offsets for those 5 ids and reports them to the renderer (in total it reads 32 offsets, but only the first 5 are used for subtitles, which is pretty common for Blu-rays to just declare all 32 offset slots even if most are zero)

There is about 30 seconds of subtitles at the end of the samples, can you confirm the issue already exhibits right there? The sample goes until around 04:40 (until "I was named after a swimming pool"). And if so, with which subtitle stream specifically?

madshi
3rd December 2016, 01:05
Yep, would be good to know which exact subtitle (runtime and exact text) is shown incorrectly, and which subtitle track.

BTW, do you guys also have problems quoting someone? If I try, I get server error 500.

Kotik
3rd December 2016, 02:47
I am getting server error 500 half the day:-) i will play the movie with my glasses on to tell u exactly the moment it looks wrong. But i can tell u already that during the lizard scene (towards the end of the file) the movie cuts through the subtitles.
I noticed something very interesting. Subtitles in 3D movies have various depth based on the current scene, i have no idea how this depth is instructed, but i know for sure that their depth is never static, to see this u need to watch the movie without glasses on.
Whether these depth instructions are stored in the subtitle file itself or the .mpls file is beyond me. But it should never be static, this is where the lizard scene comes, the lizard has a pop out of the screen effect and the subtitles should also get this effect, but in this particular scene they remain unaffected, by noticing this i started paying attention to the rest of my movies and i indeed can confirm that in the working movies the subtitles are constantly changing their depth.
I hope this information is of some help. Meanwhile i am trying to obtain another copy of life of pi disc. But yes @nevcairiel, towards the end of the file, the lizard scene is totally off for me and most of the subs that follow that scene are off too.
Let me know if u need further info.

Kotik
3rd December 2016, 03:03
Ok let me be more specific: minute 04:13, subtitle line "who was there to check on the Bengal monitor lizard."

This is absolutely an eye killer:-) the lizard pops out of the screen while the subtitles look as if they are behind the lizard.

Sarasa
3rd December 2016, 12:26
@madshi

Yeah seem the forum as caught a cold, in my case some thread show also as empty (for example xy-VSFilter & ASSFilterMod)

Aleksoid1978
3rd December 2016, 14:00
Kotik is right. MadVR set "3D depth" static for any subtitles - 4 pixel offset when call subtitles redraw. But in SEI can stored different values for different frames/timestamp. LAV Video Decoder read it and store in IMediaSideData interface. I think MadVR just ignore it.

Another problem - that "3D depth" may be different for different subtitles tracks for one frame/timestamp. But - madVR don't know what subtitles track is rendering right now. I think need get biggest value for "3D depth"(pixel offset) and use it.

nevcairiel
3rd December 2016, 15:08
Kotik is right. MadVR set "3D depth" static for any subtitles - 4 pixel offset when call subtitles redraw. But in SEI can stored different values for different frames/timestamp. LAV Video Decoder read it and store in IMediaSideData interface. I think MadVR just ignore it.

This entire interface was designed for madVR, so I would be surprised if it just ignores it.


Another problem - that "3D depth" may be different for different subtitles tracks for one frame/timestamp. But - madVR don't know what subtitles track is rendering right now. I think need get biggest value for "3D depth"(pixel offset) and use it.

LAV Splitter can tell it which subtitle track is currently active, and therefor which offset index to use (ask IPropertyBag for "stereo_subtitle_offset_id", thats the index for the currently active subtitle track)

Kotik
3rd December 2016, 15:28
Kotik is right. MadVR set "3D depth" static for any subtitles - 4 pixel offset when call subtitles redraw. But in SEI can stored different values for different frames/timestamp. LAV Video Decoder read it and store in IMediaSideData interface. I think MadVR just ignore it.

Another problem - that "3D depth" may be different for different subtitles tracks for one frame/timestamp. But - madVR don't know what subtitles track is rendering right now. I think need get biggest value for "3D depth"(pixel offset) and use it.

I am pretty sure that madvr properly reads dynamic subtitle depth for most movies, how else could we explain that it works with some other 3D movies? I tried yesterday Despicable Me 2 3D and this one works perfectly fine by either opening the .mpls file or after repacking it with makemkv. And i can confirm that subtitle are dynamic during the whole movie in this case. It is just Life Of Pi that has this issue, and this is why i am trying to obtain another disc of this movie. At this point i am not sure of anything, it is a very strange issue and since i am unable to reproduce it with my other movies.

Kotik
3rd December 2016, 15:48
Nevcairiel could explain please if the offset index is present in the .mpls or is it located in the .m2ts?
Why i am asking, during the tests with other movies i noticed that subtitle 3D depth is properly working even with external subtitles which is a nice feature, but if i completely remove the 3D subtitle from the .mkv then the external subtitles do not get any dynamic depth.
This led me to the conclusion that the depth index is not stored in the subtitle itself but rather somewhere else and this is activated only when an internal su title track is present. Is that a correct theory or i am talking bs:-)?

nevcairiel
3rd December 2016, 15:50
The m2ts has a list of different offsets per video frame, up to 32 different "slots" that subtitles and interactive elements can use, for each single video frame. The mpls assigns these "slots" to subtitle tracks and other elements. So you really need both for it to function properly. The mpls to tell you "subtitle track #1 uses offset slot #1", and the m2ts info that tells you "offset slot #1 uses an offset of 5 pixels for this video frame".

Kotik
3rd December 2016, 16:11
Thanx for the info, I think now I understand why external 2D subtitles .idx/.sub actually work if u play a 3D .mkv movie. I think what happens in this case is that external subtitles are assigned the same offset slot with the internal one and then they behave the same way with the internal one during playback. This also explains why it doesn't work if I remove the internal subtitle track from the .mkv, there is no offset slot present for madvr/lav to tie the external sub to.

CruNcher
3rd December 2016, 19:20
@VictorLS

Did you get my PM ?

VictorLS
3rd December 2016, 21:55
@VictorLS

Did you get my PM ?

Yes, I've answered you.

Aleksoid1978
4th December 2016, 05:05
Currently MadVR always call draw subtitles with 4 pixel offset.

CruNcher
4th December 2016, 05:24
@Aleksoid1978

With Aleksoids Patch if by default HQ DXVA Processing is checked then your RussiaHD.ts plays with block distortions (errors) with CUVID if unchecked it plays without block distortions,
but when HQ DXVA Processing is unchecked then LG_4K_View-the-Feeling.ts is falling back to avcodec if checked again it uses CUVID but then again RussiaHD.ts gets block distortions.

Player is MPC-BE EVR-CP, nothing restarted just on the fly uncheck load play look at the status.

So this means currently if i want to play RussiaHD.ts without errors (block distortions) i have to uncheck HQ DXVA Processing but then i lose CUVID for LG_4K_View-the-Feeling.ts unless i check it again then it works via CUVID and the Hybrid HEVC Decoder as it should.

This is a relative small usage problem but still not convenient.

So for me it's currently impossible to playback RussiaHD.ts and LG_4K_View-the-Feeling.ts with the same setup via CUVID error free either i chose HQ DXVA Processing on or off one file is going to fail, both stable via CUVID isn't possible with the same HQ DXVA Processing off i have to check/uncheck it based on which file i want to playback accelerated via CUVID, that's a usage problem.

Any Idea why your Patch behaves like that with the LG_4K_View-the-Feeling.ts Stream when HQ DXVA Processing is unchecked and why it then falls back to avcodec instead of using CUVID as with HQ DXVA Processing checked ?

Aleksoid1978
4th December 2016, 07:42
@Aleksoid1978



Any Idea why your Patch behaves like that with the LG_4K_View-the-Feeling.ts Stream when HQ DXVA Processing is unchecked and why it then falls back to avcodec instead of using CUVID as with HQ DXVA Processing checked ?
I'm not interesting to support it :)

NikosD
4th December 2016, 08:50
@NikosD

Yes i tried MPDN Renderer it works ok with DXVA Copy Back and Lav Video for the CUDA Decoder but it has major issues with stable Multithreaded CPU Playback with Lav Video (decoding queue stalls very fast) compared to EVR-CP in MPC-BE

Also Potplayer works rather ok with its D3D Renderer but jitters to much with DXVA Copy Back on EVR-CP compared to CUVID with the CUDA Decoder as well.



I was trying to reply since yesterday but obviously the forum had some problems.

I was referring to test Cyberlink's and Potplayer's decoders, not renderers.

Test different hybrid HEVC decoders using same EVR-CP on your same platform (OS, drivers etc)

nevcairiel
4th December 2016, 10:54
Please move discussions about other decoders, players or renderers to other threads, thanks. :)

NikosD
4th December 2016, 11:14
I was mentioned by CruNcher in his post and I just wanted to be polite and reply to him in order to clarify my suggestion.

There is no discussion actually.

As I said before, it is no so meaningful to insist on hybrid HEVC decoders as they are actually an intermediate stage from SW to fixed-fuction HW decoders.

Also, I have clearly understood that you don't invest so much time in optimizing further your decoders as long as they work fine.

But you have to understand that sometimes we have to refer or mention other decoders than yours, in order to make comparisons, find bugs or find the best solution/ implementation for the situation described by the user.

CruNcher
4th December 2016, 13:59
Your suggestion would mean investing into new Hardware for some target that still can be achieved on the current one absolute no go for me, especialy seeing this is a core stability issue it needs to be fixed in some way ;)

Cyberlinks decoder is pure crap except of its very nice decoding tricks layer especially in combination with sliced bitstreams the rest is out of date.

It's performance is still inferior to a decoder of the 2015 SOA time period and that's ridiculous.

Which might be suggesting that Cyberlink is about to giving up to Hardware Decoders fully in their targets.

nevcairiel
4th December 2016, 14:11
Also, I have clearly understood that you don't invest so much time in optimizing further your decoders as long as they work fine.


What you have "understood" is far from reality, through.
I am always open to optimizations within reason (ie. a decent advantage to be gained)

What you have to understand however is that hardware decoding is a huge black box. You give the video to the hardware and get images back. All I can do to optimize this is one of two things - make sure everything on my side is as efficient as possible, which brought you things like dxva2cb "direct" mode, and secondly try to tweak the very few knobs that the hardware interface gives you - which are very little, and the ones I do have (or know about) are already tuned differently for different hardware based on testing.

So "optimizing" hardware decoding is mostly a big guessing game, try random changes and see if something changes. Clearly this has no guarantees of success and without any insight from the respective GPU manufacturers also quite unproductive.

If anyone has any suggestions on how to make hybrid decoding work more smoothly, do speak up.

CruNcher
4th December 2016, 14:20
It's surely not easy especially with all the different combinations of Hardware Firmwares and self made Bios versions and Driver as well.

But anyway i wouldn't suggest implementing Aleksoids patch as it is currently is it will endup in a lot of negative Feedback and support needs as switching off DXVA HQ Processing has negative issues here on the Hybrid CUDA Decoder (unless explicitly advising that it could endup in CUVID not working on specific streams in maybe certain hardware OS and render combinations if DXVA HQ Processing is turned off and in it's worst case fallback to avcodec then) im not sure why as i don't understand yet the relation of it and what is going wrong here or if anything at all is going wrong or if it's even expected to behave like this from Nvidias side for some reason (uknown).

Surely it could be my System stability as well i can't guarantee that's not the case at all, but it looks more like something going wrong on the Software interop layer of things.

So as it stands now it really fixes the Playback Render error behavior for RussiaHD.ts but it has side effects, that can overshadow it using it as default especially (the fallback to avcodec where it's not supposed to fallback with DXVA HQ Processing enabled).

But it really is a viable workaround currently for fixing these Render issues no doubt about that arguable though if it's the right way todo it, but it could be especially for Low Latency Broadcast users with specific Bitstream Decoding needs (as VictorLS clearly is Hardcore) the salvation for their Problems as RussiaHD.ts clearly shows.

Maybe it would be even time to get Nvidia Engineers already into the Discussion.

Though i didn't test so much Bitstreams Container combinations myself yet to see if their is maybe a detectable pattern about this issue or if it's a general interop issue (maybe even a issue on the specific bitstream signal layer).

Better would be much more Feedback from different Systems with Aleksoids patch applied and by default HQ DXVA Processing disabled to maybe find a useful pattern :)

VHT
5th December 2016, 09:39
It is just Life Of Pi that has this issue, and this is why i am trying to obtain another disc of this movie. At this point i am not sure of anything, it is a very strange issue and since i am unable to reproduce it with my other movies.

I've had the same 3D subtitle problem (finnish subs.) with Jungle Book and new Ghostbusters using LAV+madVR.

Kotik
8th December 2016, 21:38
Good evening, i think i got some extra info regarding the 3D subtitles issue, i already ordered from amazon.de a german version of the Life Of Pi disc, meanwhile yesterday i started troubleshooting a bit deeper and i made an interesting discovery!!

So we know that there are movies out there that are using different eye information for base view, i did an experiment, i started the movie and reversed the 3D view on my TV settings, guess what!! the 3D subtitles this way look fine but the movie now looks wrong, as if these two elements exchanged the issue, now i wonder, do we respect the base view (which eye is used as base view) information for subtitles as well? i know we do it for the movie, but are we using this information for subtitles as well?

nevcairiel
8th December 2016, 21:47
I don't think subtitles have this information, but I can check. Maybe madVR accidentally applied that information wrong to the subtitles.

Kotik
8th December 2016, 21:57
Would be nice to know, cause it is a huge coincidence that if i reverse the 3D base view, suddenly the non working 3D subtitles start working perfectly fine, of course the video looks crazy this way but it is an indication that something is wrong around that area (which eye is used for base view), it could also explain why most people don't notice this issue, it is possible that the CEE release of Life Of Pi has reversed eye for base view? it is a possibility and this is why i made sure to order a completely different version of the movie this time.

Kotik
8th December 2016, 22:17
@nevcairiel is there an easy way to see whether a movie has reversed base view? and if there is could u point me to the right direction?

Thanx

nevcairiel
8th December 2016, 22:19
I checked the specs, and subtitles don't care what order of views the video uses. Left eye should always use "+offset" and Right eye always "-offset". madshi would have to say if thats how he implemented it in madVR.

For the base view, LAV tells you in the stream listing. "lr" at the end means "left-right" (ie. normal), and "rl" the opposite.

madshi
8th December 2016, 22:22
@Kotik, please don't use PM and forum at the same time. I read this thread, so if you post here, you don't have to PM me, as well.

@nevcairiel, how did we solve the 3D eye swapping for those weird movies where it's the unusual order? Are you doing the swapping or am I doing that? Couldn't find the swapping in my code, on a quick check. If you do swap the eyes in the decoder, then maybe you need to negate the subtitle depth information? Because in that case I simply don't know that any swapping took place.

Kotik
8th December 2016, 22:29
@Kotik, please don't use PM and forum at the same time. I read this thread, so if you post here, you don't have to PM me, as well.


Sorry, i was just too excited with the discovery that i went ahead with it without thinking too much :(

Kotik
8th December 2016, 22:36
I checked the specs, and subtitles don't care what order of views the video uses. Left eye should always use "+offset" and Right eye always "-offset". madshi would have to say if thats how he implemented it in madVR.

For the base view, LAV tells you in the stream listing. "lr" at the end means "left-right" (ie. normal), and "rl" the opposite.

Ice Age Continental Drift 3D is reported as "rl" by LAV splitter and the 3D subtitles are as expected wrong in this one, i just checked it.

madshi
8th December 2016, 22:42
I think it's likely that the eye swapping is the cause of the issue, because it would explain the problem oh so nicely. It's probably my fault. I'll see what I can do during the following weekend.

nevcairiel
8th December 2016, 22:43
Seems reasonable, the offset going in the wrong direction looks totally weird.

Kotik
8th December 2016, 22:47
I think it's likely that the eye swapping is the cause of the issue, because it would explain the problem oh so nicely. It's probably my fault. I'll see what I can do during the following weekend.

I don't think that it has to be someones fault, i am glad that both u and nevcairiel contribute to this community.

I for one am glad that it might be a bug, if it indeed is then eventually it will be one bug less.

Keep up the good work guys, both of u. I really appreciate ur work.

Thanx.

LigH
9th December 2016, 09:00
Authoring studios can make mistakes too. I remember some DVDs which contain falsely flagged video streams. Flagging 3D BD subtitles with the wrong eye preference is merely an accidental check in a box in their authoring software, I guess?

Aleksoid1978
9th December 2016, 09:46
I think renderer must reverse subtitle offset based on flag from splitter.

nevcairiel
9th December 2016, 11:13
Flagging 3D BD subtitles with the wrong eye preference is merely an accidental check in a box in their authoring software, I guess?

Like I explained above, subtitles don't have an eye preference, only the video stream does - and we already established that the video stream is flagged properly in these cases.

The easiest solution for the renderer would be to flip the video views to normal L/R order before applying subtitles to them, and everything should be fine - otherwise if the flow doesn't allow flipping first, the subtitle offset needs to be inverted based on the video view order flag.

red5goahead
9th December 2016, 13:42
to anyone interested VisualSubSync-Enhanced there are the Lav codec Delphi/Pascal interfaces in use in that project

LavAudioSettingsInterface.pas
LavSplitterSettingsInterface.pas
LavVideoSettingsInterface.pas

Would be useful in developer_info folder on github code section

nevcairiel
11th December 2016, 16:53
LAV Filters 0.69

LAV Splitter
- NEW: Support for extracting HDR metadata from YouTube HDR VP9 streams
- Fixed: Reading MKV files could crash when encountering tags for unknown or disabled streams

LAV Video
- NEW: Support for 10-bit UtVideo
- NEW: MagicYUV decoding support
- NEW: Experimental support for CineformHD decoding
- Fixed: Converting 12-bit 4:4:4 YCbCr to RGB32 would result in a garbled image
- Fixed: Decoding certain H.264 streams could drop a few frames at the start of playback

LAV Audio
- NEW: DTS Express (LBR) decoding support


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

Its been a long time since the last release, and some of these features have been in the nightly builds for a long time. Nevertheless, LAV Filters are far from dead, even if slowing down a bit as the list of important features still in need of development shrinks.

YouTube HDR
This version introduces support for YouTube HDR streams, which utilize VP9 Profile2 10-bit streams, and HDR metadata in the container.
For this metadata to be properly passed to the video renderer, you'll need LAV Splitter and LAV Video, as well as a video renderer that can understand it - at this time only madVR.

DTS Express support
DTS Express was the last missing piece of full DTS support, and eventhough its only typically used for commentary tracks on Blu-rays and not primary audio tracks, its still noteworthy for people trying to archive and potentially transcode all the available audio.

More!
In addition to the major points listed above, there is a whole list of small fixes and improvements mainly on the side of FFmpeg that this build makes available to LAV Filters users.

As always, please report any regressions or bugs with the appropriate information to fully analyze it, even better with a sample file to reproduce it!
Thanks, and have fun.

PS:
I'll be on vacation in Australia all through January, so don't be alarmed when there is no responses.

madshi
11th December 2016, 16:59
Thanks! :)

I'll be on vacation in Australia all through January
Sounds amazing! You may need to prepare for a cold weather shock, though, when you come back to Germany in February!! :scared:

pirlouy
11th December 2016, 17:38
Arf, I guess I don't come here the right day. I have a feature request (hoping I don't say something wrong).
In France, several of our Internet providers use RTSP streams for IPTV. Unfortunately, with LAV splitter, it often results in errors when trying to read the channel. You have to try several time hoping it will work at some point. I've tried to change "Stream Analysis Duration" values, but without success.
With VLC (which is recommended by provider), there's no problem at all (except VLC quality).

From what I understood, LAV filters use FFMPEG for RTSP, whereas VLC Uses live555.com RTSP implementation. Do you think you can do something about it ? I know it's not really motivating, I don't have links to test, since the RTSP content is between computer and the Provider router.

nevcairiel
11th December 2016, 18:15
I don't have any plans to work on streaming sources, sorry. It doesn't fit the existing architecture very well and if someone were to do a proper streaming source filter it would probably be better to do that entirely differently.

TheShadowRunner
11th December 2016, 18:26
nev, the missing characters (in subtitles) issue on XP isn't fixed, was it supposed to be?

CruNcher
11th December 2016, 18:30
- Fixed: Decoding certain H.264 streams could drop a few frames at the start of playback

Nice this was a big difference to DIAVC (not having this problem), CoreAVC has this issue as well :)

@nevcairiel

when and who fixed it ?

nevcairiel
11th December 2016, 18:35
nev, the missing characters (in subtitles) issue on XP isn't fixed, was it supposed to be?

Since it turned out to be an XP only issue, I've postponed any considerations. I'm yet undecided if I'll even try to fix it at all - juggling a temporary file to write the font out into sounds like a bit of a pain, wouldn't want those files to stay around too long etc.
Honestly, XP is mostly just dead to me. I'm somewhat happy to keep building LAV in a way that keeps running on XP as long as it doesn't block any new things, but writing new code just for XP... not feeling it, sorry.

TheShadowRunner
11th December 2016, 18:48
The first part of your reply sounds like there's hope, but the 2nd part is the contrary.. xD
Indeed XP is long outdated/dead for most people but if LAV is still compatible I think it should be 100%.
If anyone else is able to code this little change (temp file) for font loading on XP, by all means please do.

nevcairiel
11th December 2016, 20:36
Indeed XP is long outdated/dead for most people but if LAV is still compatible I think it should be 100%.

You should be careful with what you wish for, because there is two possible outcomes to that. ;)

TheShadowRunner
11th December 2016, 23:02
I'm highly skeptical my opinion on the matter has any weight in the decision process, sadly ^^

Aleksoid1978
12th December 2016, 08:42
nevcairiel
Why don't add VP9 10 bit DXVA support ?? Nvidia 1050/1050 Ti support it.

Seegs108
12th December 2016, 08:52
I've got an issue and I'm wondering if anyone can explain what's happening. I'm trying to playback an mk3d file in MPC-HC. This is essentially a remux of a full 3D blu-ray disc (frame packed sequential 3D). I have the latest LAV Filters installed (0.69.0) with the H.264 MVC 3D Decoder installed as well. I also have the latest MadVR version installed as well. For whatever reason I cannot get LAV Filters to use the proper video decoder on my desktop PC (that I normally use as an HTPC for my projector). It uses "avcodec" instead of "msdn mvc" like it should.

I have the same software installed on my laptop and it plays back PERFECTLY. The only difference that I can tell between each setup is that my laptop is running Windows 10 and my desktop is running Windows 8.1. As far as I'm aware this should work in Windows 8.1 too. Am I wrong? Is there anything else I should try?

Edit: I got it working. I needed to disable some of the internal filters even though I had LAV Filters set to "Prefer" in the External Filters menu. Something was throwing it off...

nevcairiel
12th December 2016, 10:02
nevcairiel
Why don't add VP9 10 bit DXVA support ?? Nvidia 1050/1050 Ti support it.

I don't have any hardware to develop it on.

Aleksoid1978
12th December 2016, 10:47
I don't have any hardware to develop it on.

It's easy - i can help :)

nevcairiel
12th December 2016, 10:51
I'm getting a kaby lake laptop this week, I think that should support it already, I'll just do it on there.

CruNcher
12th December 2016, 14:23
Nice this was a big difference to DIAVC (not having this problem), CoreAVC has this issue as well :)

@nevcairiel

when and who fixed it ?

Ah nope must be a general Decoder efficiency issue DIAVC still handles such bitrate spikes more efficiently, without exploding in enormous render times though Lav Video does better in that case then Mainconcept not to say much much much better then Cyberlink (which almost die on such a overflow).

Must be another issue you talked about.

But the characteristics of CoreAVC and Lav Video failing are crazy similar compared to DIAVC pretty nice balancing of schweinsz beating both still with ease on Windows stability and when it gets really to the limit :D

http://i1.sendpic.org/t/pq/pqxjOO6Q3bY6pq7KSJcXyEf0beM.jpg (http://sendpic.org/view/1/i/dm3WTcMca2Hwlw0lCf5rQxBv7Gp.png)

DIAVC survives that it's masterfull work

Lav Video fails

http://i1.sendpic.org/t/ot/otg621mPeT2VEHjTkUzTm2EzoYr.jpg (http://sendpic.org/view/1/i/g8WeBAXQ9OTgsE6CICnKOd37uAk.png)

CoreAVC fails pretty much the exact same way

http://i1.sendpic.org/t/ft/ftoIq44GbGWmcv3gvkmJaarYkwm.jpg (http://sendpic.org/view/1/i/mMVJWzgfoWiyhMqVoZEmdPgLM9x.png)

DIAVC spawns much more threads over itself on auto while lav video does over msvcrt and by default much less hmm i guess that would explain at least the huge memory difference


oha now we come close to the same behavior with that overflow interesting

woha with 2 threads i get in latency regions of Mainconcept on that overflow with Lav Video

with 1 thread around 67 ms

DIAVC with 1 thread around 103 ms crazy now it starts to fall apart single threaded on that encoder overflow


X264 Encoder Overflow test


DIAVC 64bit

1 thread = 103 ms (jitter clearly perceptible,sync graph explodes out of render surface)
2 threads = 42 ms (jitter clearly perceptible,sync graph explodes inside render surface)
3 threads = 20 ms (jitter clearly perceptible,sync graph explodes above box threshold)
4 threads = not clearly measurable (jitter slightly perceptible,sync graph slightly visible still in box threshold boundaries)

LAV Video 64 bit (avcodec)

1 thread = 67 ms (jitter clearly perceptible,sync graph explodes out of render surface)
2 threads = 41 ms (jitter clearly perceptible,sync graph explodes out of render surface)
3 threads = 30 ms (jitter clearly perceptible,sync graph explodes inside render surface)
4 threads = 24 ms (jitter clearly perceptible,sync graph explodes above box threshold boundaries)

madshi
15th December 2016, 10:02
@nevcairiel,

there's a bug in both madVR and LAV, when playing the video file attached here:

http://bugs.madshi.net/view.php?id=456

The bug in LAV is that it sends NV12 to madVR although the stream is GBR (matrix_coefficients = 0). The bug in madVR is that it uses the decoding matrix for GBR although LAV sends NV12. My bug is "bigger" :) but I think we should both fix this.

nevcairiel
15th December 2016, 10:07
@nevcairiel,

there's a bug in both madVR and LAV, when playing the video file attached here:

http://bugs.madshi.net/view.php?id=456

The bug in LAV is that it sends NV12 to madVR although the stream is GBR (matrix_coefficients = 0). The bug in madVR is that it uses the decoding matrix for GBR although LAV sends NV12. My bug is "bigger" :) but I think we should both fix this.

The reason for that is that it is encoded as 4:2:0, ie. subsampled RGB.
I could upscale it to 4:4:4 I guess, but that seems hardly ideal - and there is no subsampled RGB media type otherwise.

madshi
15th December 2016, 10:12
Wow, that's weird! I didn't even know that such a weird encoding format was possible. I suppose NV12 is the best output format then, so nothing for you to do.

nevcairiel
15th December 2016, 10:16
It is rather uncommon, but nothing in the format prevents it from being used as the colorspace is just a flag independent of the subsampling ratio.
I could just convert it to proper RGB32, however my problem with that is that such a stream can also be decoded by every hardware decoder, and I don't have automatic conversion setup for those because they typically only output nv12 and as such don't need any conversions, so the result would be inconsistent at best, or a lot of work for a odd niche format.

madshi
15th December 2016, 10:26
After thinking about it, I'm slightly confused now. Is the Green channel full resolution and Red and Blue are half resolution? Or how does RGB subsampling work? How are you doing the RGB -> NV12 conversion if red/blue have lower resolution than green? Do you upsample chroma first? With which algorithm? And then you convert to YCbCr and downsample to 4:2:0 again?

nevcairiel
15th December 2016, 10:29
I would assume Green is full size and Blue/Red are smaller, as simple as that. I don't do anything to the video, just output it how it comes out of the video decoder. What happened during encoding - it was probably never converted to YCbCr, just planar RGB and two planes got downsampled like chroma would.

madshi
15th December 2016, 10:39
Strange. If I treat the data as GBR, it turns magenta. I have to treat it as true NV12 to make it display correctly. So it seems the ffmpeg decoder does all the conversions internally? It would then have to upsample red/blue, convert to YCbCr and downsample to 4:2:0 again. Having all that done by ffmpeg doesn't sound like it's going to be high quality, to be honest. If we're lucky it's bilinear, maybe nearest neighbor. But then, I almost consider a video like this "broken", so maybe we simply shouldn't care too much about it.

nevcairiel
15th December 2016, 11:07
Nah the decoder does nothing of that sort. Maybe the flag is just wrong and it isn't actually RGB. Considering it plays fine with EVR, that seems like the most likely explanation.

madshi
15th December 2016, 11:19
Agreed, in that case it would seem the flag is just wrong.

LAV reports "unknown" decoding matrix to madVR, so madVR checks the h264 bitstream headers, sees "GBR" there and thus uses that as the decoding matrix, which results in the magenta color shift. I'll add an extra check to not use "GBR" matrix if the data format is NV12.

nevcairiel
15th December 2016, 11:25
Well, like I said before, there is nothing actually stopping anyone from making such a file properly, even if its kinda insane.

madshi
15th December 2016, 11:34
So basically that means if we leave LAV unchanged, the way madVR currently behaves is actually correct (using GBR matrix). However, sending NV12 with an "unknown" matrix is not really a good way for LAV to output such video streams, because all other video renderers will simply auto guess the matrix to be either BT.601 or BT.709 in that situation and thus produce incorrect colors.

The big question is if such crazy files are worth investing any time into. First of all we'd need a correctly encoded file with such a format to even bother with it, and I'm not aware of any such files. So maybe we should simply ignore this, until properly encoded real world files with subsampled RGB appear (if ever)?

nevcairiel
15th December 2016, 11:36
I could make one if you want to. :P Considering it'll likely not work on 99% of all video players, its probably not something to worry about, people would need to very weird to create a file that doesn't work properly anywhere.

madshi
15th December 2016, 11:39
My vote would be to ignore this issue for now. At least until we run across properly encoded real world content with this format. Or what do you think?

nevcairiel
15th December 2016, 11:44
Ignoring is fine with me.

MasterNobody
15th December 2016, 19:44
From H.264 specs:
matrix_coefficients shall not be equal to 0 unless both of the following conditions are true:
– BitDepthC is equal to BitDepthY,
– chroma_format_idc is equal to 3 (4:4:4).
The specification of the use of matrix_coefficients equal to 0 under all other conditions is reserved for future use by ITU-T | ISO/IEC.
So this stream is simply out of the specs so can be ignored.

madshi
15th December 2016, 22:25
Good catch!

Damien147
17th December 2016, 17:12
I get black screen using dxva2(native) in some videos,am I the only one?

CruNcher
17th December 2016, 17:29
A Black Screen can have many issues (mostly it's simple not supported decoding wise or a bug in the directshow layer, directshow hell (interfering filters,decoder), renderer or even driver itself), , or like we lastly had non spec compliant encoder output.
First of system information and sample with that you have problems decoding wise not getting any output from but a black standing screen with lav video/audio and or filters is a good start.

Hardware Decoder (Discrete non Discrete):
Renderer used (Playback Software/Directshow Chain):
Decoding Mode: (None, DXVA Native, Copy Back, CUVID or Quicksync)
CPU:
Driver:
OS:
Sample:

And then Problem Description: "Black Screen no Playback" ;)

Damien147
18th December 2016, 18:18
Just checked again,I think I made a fault.The movies that give me black screen in dxva2(native) are P010 WHEN using madvr,trying evr cp and the file plays well,my bad.

huhn
21st December 2016, 23:37
HEVC 10 bit hardware decoded to p010 should work on modern GPUs if the codec is not HEVC lavfilter should fall back to software.

khanmein
23rd December 2016, 10:51
I get black screen using dxva2(native) in some videos,am I the only one?

y don't u use DXVA2 copy-back (CB) ??

Zach_N85
26th December 2016, 18:47
Hi guys,

I'm having an issue with PotPlayer and LAV Audio Decoder.

Using PotPlayer with LAV Audio Decoder, when I play a DTS-HD movie, I get the following:

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

6 -> 8 Channels which is good
However, the bit depth becomes 16 from 24.

With DTS:

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

6 -> 2 channels, I don't understand why? My RX-V681 reads DTS and I get sound on all 6 speakers.
Bit Depth becomes 16 from 32, again I don't understand why.

Here are my LAV Audio Decoder settings:

http://i.imgur.com/2JvARpv.png?1

My Audio Renderer in PotPlayer is set to Auto, but it happens if I change it as well.

My video card is a GTX680 which is capable of outputting 24bit sound. I think this is actually more a PotPlayer issue then an LAV issue because it happens if I use the built in decoder as well.

I've tried many websites and boards but couldn't find a solution.
Can someone help me with this please? Thanks

nevcairiel
26th December 2016, 19:17
If you are bitstreaming, those values have no meaning and are just a technical detail how the bitstreaming works. DTS-HD is always "packed" into a 8 channel signal, and normal DTS always in a 2 channel signal - the receiver receives the full DTS bitstream and decodes the original channels.

Zach_N85
26th December 2016, 19:31
Finally someone who is able to answer the question! Yes I am bitstreaming, currently using LAV + ReClock with the following settings, and everything works well:

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

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

So whatever it says on the playback file is meaningless in bitstream? I had no idea. When I check the file info I do see 6/7/8 channels in DTs/DTS-HD it just always bothered me when I saw the signal "downsampled" to 16 bits or 2 channels.

So I'm getting the original 24 bit depth on my streams? If you can please explain more about why DTS is packed into 2 channels and not 6 I would love to know.

Thanks.

P.S.
Are there any benefits in using ReClock without SVP? I just set it up as my Audio Renderer but I would like to know if it helps with something. Using madVR as video renderer. I didn't reinstall SVP because I actually like how my TV handles the motion so I dunno if I need the extra effort on my CPU with interpolation.

nevcairiel
27th December 2016, 01:34
If you can please explain more about why DTS is packed into 2 channels and not 6 I would love to know.

Basically because thats how its defined by Microsoft and the SPDIF/HDMI specification. It has to do with the required bandwidth to fit the audio streams into, not the encoded audio properties.

oddball
30th December 2016, 10:57
LAV Audio filter refuses to load with a TrueHD track. Only MPC-BE's audio filter loads (and won't pass anything but stereo PCM even if enabled or AC3 encoding). I am using the TV's HDMI input with ARC so may be why.

kiwijunglist
30th December 2016, 22:03
Can someone recommend me a directshow filter that does individual crossover frequencys for each channel.

I use MPC-HC, my current path is

LAV Splitter -> LAV Audio Filter (Mix to 5.1, except leave 2.0 alone) -> Reclock

I'd like to go

LAV Splitter -> LAV Audio Filter (Mix to 5.1, except leave 2.0 alone) -> [Adjust crossover freq] -> Reclock

I want to crossover my fronts and centre at 60hz and my rears at 100hz. My AVR doesn't support individual crossovers for speakers.

Can anyone recommend which directshow filter I should look into?

Thanks
Kiwi

e-t172
30th December 2016, 22:43
You might want to look into EqualizerAPO (https://sourceforge.net/projects/equalizerapo/) which is flexible enough to let you do advanced stuff like that, provided you are willing to spend the time to understand how it works (you'll have to implement bass management yourself - example (http://pastebin.com/zrZpbLaK) and result (http://i.imgur.com/ha1SUrq.png)). Also that's a cleaner solution because that kind of processing should ideally be done at the audio output, not the video player, such that it benefits all Windows applications.

Snecx
3rd January 2017, 15:44
Hello

I have an issue with the LAVVideo.ax.
I use Kodi 17 dsplayer with internal LAV 0.69 and madVR 0.94.
I have tried some 4k test files and most are fine. But some 4k files causes Kodi to crash. I have tried to debug and saw the LAVVideo.ax causes the crash. I have downloaded the symbols of LAVFilter and the source of 0.69. I put all into VS but i'm not good in this stuff so maybe someone can help. After starting the test file
here is the link http://jell.yfish.us/media/jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv kodi crashes.
Some other test files play fine. Even 4k UHD 10bit. So i'm not sure it's an issue with Kodi or the lav filter.
i made a screenshot of the debug window. Maybe someone can help me to understand where the issue is. If you need more information i will try to help. Kodi crashes with the error:Exception thrown at 0x51D01DE9 (LAVVideo.ax) in kodi.exe: 0xC0000005: Access violation writing location 0x00000000.
http://i990.photobucket.com/albums/af29/snecxxx/lav_zps0vlivijr.jpg (http://s990.photobucket.com/user/snecxxx/media/lav_zps0vlivijr.jpg.html)

loa-ash
10th January 2017, 11:06
Guys there is a way to force software like Adobe Audition to use lav filters to make a sort of frameserving to open mkv and editing audio?

LigH
10th January 2017, 11:21
Probably not in general. Sample editors may open WAV files and use ACM codecs to decode audio streams in a format not supported by their own decoders. Having LAV Filters decode an audio stream would require both creating a pseudo frameserving WAV file and a pseudo ACM codec using LAV Filters' audio decoder via either DirectShow or a native API. But what works rather well for AVI files with discrete frames (see makeAVIS in the ffdshow package) would probably not be just as easy for WAV files with a more or less continuous audio stream. Frameserving video works because for each frame, you can store metadata to request a decoder to deliver this frame by some other API call. Producing such metadata for every audio sample would be larger than PCM, though; and I am not sure if you could instead fake some compressed audio stream with fixed-width "audio frames".

loa-ash
10th January 2017, 11:47
I remember that with Audition 1.5 I've opened mkv but i don't know if I have also ffdshow installed too also with lav filters

LigH
10th January 2017, 11:57
In this case, it may even support opening media files via DirectShow? Possibly via additional plugins? But that's not really a core question for the LAV Filters thread; any DirectShow filter may or may not be supported if the DirectShow API is supported at all.

nautilus7
10th January 2017, 18:59
Hi, does LAV filters support DSD format (the audio format found in SACD)?

I have some .dff files and while ffplay plays them correctly, LAV in mpc-hc can't open them. Here (https://drive.google.com/open?id=0B5mWdAHFT9Xwd3QtRnRsWEpQLU0) is a sample of such a file.

SeeMoreDigital
10th January 2017, 19:18
Hi, does LAV filters support DSD format (the audio format found in SACD)?

I have some .dff files and while ffplay plays them correctly, LAV in mpc-hc can't open them. Here (https://drive.google.com/open?id=0B5mWdAHFT9Xwd3QtRnRsWEpQLU0) is a sample of such a file.
Just in-case you did not know... MPC-BE (without LAV) is able to play your (6Ch) .dff sample ;)

nautilus7
10th January 2017, 19:35
Hi, I didn't know. Thanks.

So, it needs to be added in LAV filters I guess.

clsid
10th January 2017, 23:43
It plays ok with MPC-HC and LAV Filters when using the internal audio renderer of MPC-HC.

The standard audio renderer fails because the media type indicates the audio is 352800Hz. That is probably a bug in LAV Audio decoder (or rather FFmpeg).

nevcairiel
11th January 2017, 00:26
The standard audio renderer fails because the media type indicates the audio is 352800Hz. That is probably a bug in LAV Audio decoder (or rather FFmpeg).

No, DSD audio is this high sample rates when converted to PCM. Its not a bug. DSD itself is 1-bit audio at 2.8MHz sample rate, converted to PCM you usually use 1/8th sample rate, which is 352kHz, or 1/16th, which would be 172kHz (although ffmpeg chose the higher quality 1/8th mode)

There is even higher DSD variants, Double-rate, Quad-rate and Octuple-rate, which you can guess the sample rates of. ;)

So yes, LAV supports DSD playback converted to PCM, at the original high samplerate, and not every audio renderer supports those.
The default (internal) audio renderer of MPC-BE supports them I believe and resamples them to a hardware compatible format, so its more of a player thing and not related to LAV.

nautilus7
11th January 2017, 00:44
Yes, I switched to the internal audio renderer and it works.

So yes, LAV supports DSD playback converted to PCM, at the original high samplerate, and not every audio renderer supports those.

Do you mean that my file is not a DSD file, but a a high sample rate PCM?

Vasilich
11th January 2017, 01:01
Do you mean that my file is not a DSD file, but a a high sample rate PCM?
DSD playback requires special hardware (special 1bit DACs), that PCs do not have. So the only way to play it back on PCs is to convert DSD to PCM, what LAV obviously does.

CruNcher
11th January 2017, 11:19
@madshi
is gonna use your dithering options (apart from debanding) inside the renderer cause additional overhead if lav video is used or will madvr detect it and disable its internal dithering when lav video is used ?
though this would only work for decoder directly supported right, so if a non supported decoder does internal dithering madvr will apply its own ontop if selected ?

Also any Shaders running (not only inside MadVR) being taken account of in the Rendering Stats ?

http://i1.sendpic.org/t/Gi/GiVjF5MdVhMUWSNaTs8Pm4nGsh.jpg (http://sendpic.org/view/1/i/xl5qjOgQjfIbs0joewDDQcTs6w9.png)

http://i1.sendpic.org/t/rc/rcsjISuF5ZRTBwrHbYBDs6Y8jP9.jpg (http://sendpic.org/view/1/i/rIBn317yuN4GPprN1GqQMPq1HlK.png)


Oh ok seems to be overall taken into account so the denoiser causes the frame drops, a graphical Sync display (Graph) like in EVR Sync or EVR Custom would be a really nice addition so occuring 1ms jitter interupts (that doesn't have to cause frame drops) could be immediately detected as well EVR Sync does that nicely :)

Could you add the achieved Render Framerate as FPS as well to the Stats that's shown in MPC-BE Statistics Window ?

http://i1.sendpic.org/t/qD/qDnmdOMhM8nHF2MqQZUaYzZcL0i.jpg (http://sendpic.org/view/1/i/8IoZh1slYF2fznUGTPb0AHVqq43.png)

Though i wonder why it doesn't get in Sync with the Render Stats at all it is really slow updating overall, motion and that Render Stats and actually shown FPS doesn't match at all.

huhn
11th January 2017, 12:36
dithering is used for conversation where the bit deep is lowered.
so it doesn't really matter if lavfilter or any other "decoder" is dithering before.

even a YCbCr -> RGB conversation creates float point data and needs dithering.

in term of "over" head lavfilter is using the CPU for conversations madVR the GPU and this can't be compared.

CruNcher
11th January 2017, 13:02
Yes but there is a dithering option in MadVR and i wonder if those would overlay each other once from the decoder and once from MadVR if the decoder doesn't do any dithering at all (most are stupid) that would be no problem leaving it all the time enabled then but if a decoder does it like lav video what happens then if MadVRs dithering is enabled additionally, theoreticaly the logic would be they interfer with each other in case of Lav Video that has being avoided ?


Lav Video for example takes p010->dither->nv12 on a 8 bit output, now if in MadVR the dithering option is selected what happens then another dithering step ontop ? (didn't test it yet), and yeah what you say is perfect having that capability to chose where todo the dithering actually on (and which) but Lav Video would force it's CPU dithering most probably first if their is no logic in MadVR avoiding it telling Lav Video to disable it's CPU dithering (either Random or Ordered), yourself can't disable it manually in Lav Video there is no option for it.

nautilus7
11th January 2017, 13:16
DSD playback requires special hardware (special 1bit DACs), that PCs do not have. So the only way to play it back on PCs is to convert DSD to PCM, what LAV obviously does.

Yes, I know that PCs don't have DSD DACs.

I got confused (with the way Nev put it) that my file was not actual DSD, but PCM at 352KHz and LAV filters only convert it to 48KHz or 96KHz or whatever...

sneaker_ger
11th January 2017, 13:29
Lav Video for example takes p010->dither->nv12 on a 8 bit output, now if in MadVR the dithering option is selected what happens then another dithering step ontop ?
Yes, madVR will dither as well even then (like huhn said). madVR does a lot of processing in high-bitdepth so at the end of the whole scaling/filtering chain it has a high-bitdepth picture even with 8 bit input so it needs to dither again to downconvert before sending it to the display.

(didn't test it yet), and yeah what you say is perfect having that capability to chose where todo the dithering actually on (and which) but Lav Video would force it's CPU dithering most probably first if their is no logic in MadVR avoiding it telling Lav Video to disable it's CPU dithering, youself can't disable it manually in Lav Video there is no option for it.
You need dithering every time you downconvert from a high bitdepth so as to not create banding. The dither in madVR doesn't remove banding, it just avoids creating it. There is no reason for madVR to tell LAV to turn it off. As long as you don't turn off any output formats in LAV it will output the video as is without dithering.

Asmodian
11th January 2017, 23:47
There is nothing wrong with double dithering either, it isn't ideal but it is much better than rounding instead. The only downside is the increased noise.

Pat357
15th January 2017, 02:24
A wise man told me that if the signal needs further processing with (more) conversions/dithering one should use dithering based on triangular PDF(Probability Density Function) noise.
This is to avoid increasing the noise floor to much and to avoid some colors from bleeding out from their frequencies.

Anyone knows what kind of dithering Nev uses in LAV-video ?

nevcairiel
15th January 2017, 02:36
TPDF is generally more useful with audio, imho, since the built-in high pass helps to shift noise into higher frequencies, for video I don't think the same principles apply as such.

LAV uses standard random dithering, or ordered dithering, depending on the settings, and both as weak as possible, ie. only affecting any high bit depth data that would be cut off otherwise, and as such only ever modifying at most one bit in the output.

When I introduced these two modes they have shown to be quite effective without a perceived increase in noise. That said, if you use a modern renderer like madVR, LAV wouldn't ever be in a situation where it even had to perform dithering, as the image can be passed to the renderer untouched.

SeeMoreDigital
15th January 2017, 11:08
...I got confused (with the way Nev put it) that my file was not actual DSD, but PCM at 352KHz and LAV filters only convert it to 48KHz or 96KHz or whatever...Yes it's a DSD stream. Which has been transcoded by LAV to a PCM stream.

Over the years there's been loads of heated discussions on various forums about 'the best way' to transcode DSD to PCM along with which sample rates and bit-depths should be used.

Personally, I'm just happy that after many years it's now possible to actually play 2-channel and multi-channel DSD streams using a software player on a PC.

Refinement of the DSD-to-PCM process probably deserves a topic of its own ;)

CruNcher
15th January 2017, 11:32
TPDF is generally more useful with audio, imho, since the built-in high pass helps to shift noise into higher frequencies, for video I don't think the same principles apply as such.

LAV uses standard random dithering, or ordered dithering, depending on the settings, and both as weak as possible, ie. only affecting any high bit depth data that would be cut off otherwise, and as such only ever modifying at most one bit in the output.

When I introduced these two modes they have shown to be quite effective without a perceived increase in noise. That said, if you use a modern renderer like madVR, LAV wouldn't ever be in a situation where it even had to perform dithering, as the image can be passed to the renderer untouched.

But is this also currently happening in the exact scenario you describe here between Lav-Video->MadVR ?

So Lav-Video isn't going to dither then on the CPU and leaves the decision up to the Renderer in this case MadVR (so a dynamic pass it Untouched is being done and any Lav-Video dithering setting ignored automatically) ?

nevcairiel
15th January 2017, 11:43
LAV only ever dithers if it reduces the bitdepth of the image in any way. This just does not happen when you use madVR (and you didn't change the LAV default settings, ie. turned off output formats).
Even with other renderers it doesn't happen with the majority of content, ie. if you output normal 4:2:0 8-bit content as NV12 or YV12 to EVR, there is no dithering in LAV, because its not needed.

Thats the most basic thing about dithering, its entire purpose is to spread the "error" when you reduce the bitdepth of a signal. If you don't reduce the bitdepth, you don't dither.

CruNcher
15th January 2017, 11:51
so if the case is

Main10->p010->MadVR->Driver 8 bit out

CPU dithering will not take place from Lav-Videos side ?

Main10->p010->nv12/yv12->MadVR->Driver 8 bit out

CPU dithering will take place from Lav-Videos side ?

nevcairiel
15th January 2017, 11:53
No, since P010 is full untouched 10-bit 4:2:0.

CruNcher
15th January 2017, 12:17
But if you disable p010 as output format which then does a nv12/yv12 conversion so the second case then yes not No ?

in this case here Lav Video dithering takes place in this example Ordered Dithering ?

http://i1.sendpic.org/t/qN/qNp21VEy0PUIu6IDUlQS2R6NMzv.jpg (http://sendpic.org/view/1/i/xj9P8AEP86Pyv97W6mjGN4Gd2D4.png)

And in this case you can't avoid the dithering you just doesn't allow it to be untouched because if would cause severe visible banding in this specific example, do i understand it right and the logic behind your GUI decisions and the enforcement of the dithering option ?

nevcairiel
15th January 2017, 12:28
Like I said, if LAV reduces the bitdepth, then it dithers. And only then. Its really not any more complex.

CruNcher
15th January 2017, 12:44
Ok at least things i posted previously where valid then and i understood it correctly whats going on :)

Would be still nice to have the option to avoid the CPU dithering entirely in that case and get the pure untouched 8 bit output, that should look more like this untouched by the dithering ;)

http://i1.sendpic.org/t/dn/dnEDaw3QhkHecbyG2fVCMdLFygN.jpg (http://sendpic.org/view/1/i/52tEVVFThc2qs34EFnTS1TjjmqB.png)

huhn
15th January 2017, 12:51
seriously for what?

outputting P010 is faster and cheaper...

nevcairiel
15th January 2017, 22:39
Would be still nice to have the option to avoid the CPU dithering entirely in that case and get the pure untouched 8 bit output, that should look more like this untouched by the dithering ;)

There is no "pure untouched 8 bit output" if the file is 10-bit, you have to touch it in some way to make it 8-bit, and the correct way to do that is by dithering. Disabling dithering is just wrong and should never be done, hence LAV will never allow it.
If you don't want LAV to dither, then output the proper bitdepth.

CruNcher
16th January 2017, 00:16
Ok i meant non dithered 8 bit output that shows banding untouched was just meant in the way of non dithered not non converted testing the debanding this way seems interesting as its very high quality banding that you can straight process with it :)

nussman
16th January 2017, 01:13
Ok i meant non dithered 8 bit output that shows banding untouched was just meant in the way of non dithered not non converted testing the debanding this way seems interesting as its very high quality banding that you can straight process with it :)
And that "would be still nice to have"? Why?
Your posts about dithering all over doom9 are really hard to unterstand (pure nonsense imho).

bongobarry
16th January 2017, 15:20
Question on output levels for full range (0-255)

I have my TV set to accept levels from 0-255 - I know that my TV can accept and display these levels because I've sucessfully tried the AVS HD709 calibration disc on two separate blu-ray players.

However, when playing AVS HD709 files via LAV filters and MadVR, only limited range is played. I have an NVIDIA GT640, which I know is outputting full range 0-255 as desktop - I've tested it.

When I do a CTRL+J during play-back of the BTB and WTW levels on AVS HD709, MadVR reports that the input levels are Limited (says upstream).

Is LAV Video incorrectly reporting the output levels of this test file?

huhn
16th January 2017, 17:15
no everything is working as intended.

the video file is flagged as limited range and madVR is doing the rest.

the AVS HD709 black clipping file is created in a way that it is reporting limited range but the video signal holds full range data.
16 and lower are black else your setup is wrong.

the lavfilter range setting has nothing todo with that this is only used when lavfilter is converting to RGB and that is something that is not going to happen with madVR so it doesn't matter what you select there.

bongobarry
16th January 2017, 21:47
I'm not sure that I understand. The black clipping file contains video signal which goes below 16 (ie BTW). On my setup currently (LAV & MadVR), I'm unable to see 16 and below

If the signal is there in the file, why am I unable to see it on my TV? The signal from 16 and below is presented when I play the same file on a blu-ray player.

nussman
16th January 2017, 21:59
Unable to see 16 and below is right.

Your bluray player sends limited range (?) and you tell your TV to expect full range (=> 16 and below is visible => wrong).
If you set up your TV to expect limited range it should be ok with your bluray player (16 and below = black)

huhn
16th January 2017, 22:01
than your BD player chain is setup wrong.

if your BD player is outputting limited range and your TV is setup to full range you would see 16 and below.

just as a reminder this is wrong 16 and low is supposed to be black.

this has nothing todo with lavfilter.

bongobarry
16th January 2017, 23:51
My TV is set to expect full range. My NVIDIA card is set to output full range. MadVR is set to output full range. The AVS HD709 file contains full-range content.

If I turn-up the brightness on my TV, the black bands below 16 should be visible, if the player is outputting 0-255.

If the BTB (0-16) video content is there in the file, why is it not being sent to my TV?

clsid
17th January 2017, 00:00
The BTB content is present in that file so you can see if your playback chain is configured correctly or not. If it is all black then things are correct. If you can see those bars then things are configured incorrect!

nevcairiel
17th January 2017, 02:40
My TV is set to expect full range. My NVIDIA card is set to output full range. MadVR is set to output full range. The AVS HD709 file contains full-range content.

Technically, the AVS HD709 files contain limited-range with BTB/WTW content. Its a distinction to actual full-range content.

Its meant to be played as limited range, so you can use BTB/WTW to calibrate the black point (ie. tune it in such a way that 1-16 all look the same - black). However, if you use full-range output, there is no room for BTB/WTW anymore, since you use the full range for the relevant image signal - and you can tune the blackpoint differently, ie. by tuning brightness so that you can barely make out the distinction between 0 and 1.

As others have said, it contains the BTB content so you can test if your playback system is setup properly - and "proper" here is that you cannot actually see 1-16, its meant to be invisible.

Whiter
17th January 2017, 06:44
:helpful:

Hello.
Can anyone help? Problem in building the "release" of the new version.

By script "build_ffmpeg" build ffmpeg. In VS2015 build .ax. "debug" without problem, but release ....

http://forum.doom9.org/attachment.php?attachmentid=15717&d=1484631317

Artofeel
22nd January 2017, 11:47
LAV Video currently does not allow "processing" the 3D video in any way, it can only output it to a 3D aware video renderer - madVR 0.90 or later. In the future it might be possible to have LAV Video render the video as Side-by-Side, but not in this release.
please add support for SbS\TB output
it will be possible to use anaglyph shaders in MPC (with madVR it not working, because shaders applies before render)
also it will be easy to convert video with avisynth

Ajvar
23rd January 2017, 07:38
Guys, I just jumped back on Nvidia and suddenly no more see an option for choosing gt 650m as DXVA-copy-back or Cu-vid device. Is this connected to driver version (372)?
Did nvidia ditched not just encoder by now but DECODER too?
Thanks.

nevcairiel
23rd January 2017, 07:55
On Optimus devices you only get access to the GPU your player is configured to run on, which is most typically the Intel GPU for power saving reasons.

andybkma
23rd January 2017, 10:56
Guys, I just jumped back on Nvidia and suddenly no more see an option for choosing gt 650m as DXVA-copy-back or Cu-vid device. Is this connected to driver version (372)?
Did nvidia ditched not just encoder by now but DECODER too?
Thanks.

Ah finally, a question that I can help with :-)

I also have a laptop with optimus and happen to have the same video card (though that last part doesn't matter). All you have to do is start your media player as the "high performance video processor" which will then give you all the nvidia cuda & copy back options you seek. This can be done either one of two ways. 1) Right click on the shortcut you use to access the media player and select "high performance... " under the Run with graphics processor option or 2) set your media player to always run with nvidia high performance under the nvidia options. Easy :-)

Of course this all will only work if you actually have the Nvidia drivers installed. I have the most recent drivers GeForce 650M drivers installed (Version: 376.33 WHQL
Release Date: 2016.12.14) which can found on Nvidia's site and all is good.

andybkma
23rd January 2017, 11:10
On Optimus devices you only get access to the GPU your player is configured to run on, which is most typically the Intel GPU for power saving reasons.

nev, you can actually either manually select which video card you want to use with your video player or you can set it up in the Nvidia options which card to always use. I have mine set up in Nvidia options to always use Nvidia as I am not trying to save power and prefer Cuvid over Quicksync. Plus had to overclock my 650M a bit to use with mVR

Ajvar
23rd January 2017, 18:17
@nevcariel and @andybkma, Thank you but something is still wrong. Nvidia GPU is perfectly being used by PotPlayer x86 when I set Nvidia CUDA decoder in built-in codec/transform option (even though option to pick preferred GPU in NVCP is greyed out for PotPlayerMini.exe). But even though PotPlayer is running on Nvidia, the Nvidia GPU is still missing in DXVA CopyBack (built-in codec/transfom in addition to LAV decoder).
So yes, looks like it's not LAV problem, for some reason my OS doesn't let me choose Nvidia GPU as DXVA CopyBack device. Strange.


P.S. DXVA checker shows no supported accelerations for device GT 650M. Nobody ever heard about anything like this?

P.P.S. OK, for some freaking reason my OS believes that Intel HD4000 device is nvumdshim.dll which clearly means that it calls my Nvidia GPU as an Intel GPU. Is it Intel drivers fault or Nvidia - I don't know. Nobody ever met this problem?

nevcairiel
24th January 2017, 01:02
nev, you can actually either manually select which video card you want to use with your video player or you can set it up in the Nvidia options which card to always use. I have mine set up in Nvidia options to always use Nvidia as I am not trying to save power and prefer Cuvid over Quicksync. Plus had to overclock my 650M a bit to use with mVR

Of course you can, but only one at a time, hence why I said "your player is configured to run on" - set it up to run on NVIDIA, and you can run it on that, but by default the profiles usually put media players on the Intel.

andybkma
24th January 2017, 05:23
@nevcariel and @andybkma, Thank you but something is still wrong. Nvidia GPU is perfectly being used by PotPlayer x86 when I set Nvidia CUDA decoder in built-in codec/transform option (even though option to pick preferred GPU in NVCP is greyed out for PotPlayerMini.exe). But even though PotPlayer is running on Nvidia, the Nvidia GPU is still missing in DXVA CopyBack (built-in codec/transfom in addition to LAV decoder).
So yes, looks like it's not LAV problem, for some reason my OS doesn't let me choose Nvidia GPU as DXVA CopyBack device. Strange.


P.S. DXVA checker shows no supported accelerations for device GT 650M. Nobody ever heard about anything like this?

P.P.S. OK, for some freaking reason my OS believes that Intel HD4000 device is nvumdshim.dll which clearly means that it calls my Nvidia GPU as an Intel GPU. Is it Intel drivers fault or Nvidia - I don't know. Nobody ever met this problem?


The only problem I have ever had using PotPlayer with my Optimus laptop is that I had to rename the default PotPlayerMini.exe to just PotPlayer. Then set PotPlayer.exe to use with Nvidia. Then all was fine. Perhaps this may help your problem? Wouldn't that be nice....

P.J
27th January 2017, 22:12
Is 1050Ti 4GB better than 1060 6GB for 4K/8K HEVC (10bit)?

Ah sorry, wrong topic =/

JoeyMonco
27th January 2017, 23:29
Is 1050Ti 4GB better than 1060 6GB for 4K/8K HEVC (10bit)?

Unlikely especially with a narrower memory interface (128bit vs 192bit) and lower memory bandwidth (112 GB/sec vs 192GB/sec).

TheShadowRunner
29th January 2017, 02:13
@nev Do you have plans to implement the TRACKSET/TRACKSETEX (http://forum.doom9.org/showpost.php?p=1703159&postcount=18366) feature for Matroska in LAV Splitter?
It's really a must for multi-language!

hubblec4
29th January 2017, 11:36
@nev Do you have plans to implement the TRACKSET/TRACKSETEX (http://forum.doom9.org/showpost.php?p=1703159&postcount=18366) feature for Matroska in LAV Splitter?
It's really a must for multi-language!

I have ask this too for a long time, and I get never an answer.

hubblec4
29th January 2017, 11:56
Hi nevcairiel

I have a feature request and maybe it is possible and not so much work.

I have some Matroska menu files with a lot of chapters inside. When I use the tray icon to select a chapter it takes a lot of time, cause I must scroll down a while to find the correct chapter.

Is it possible to make a small arrangement for the chapters?
What I like to have is, that nested chapters are displayed as a sub-menu of a chapter with level 1.

Here you find such a menu-mkv. (http://forum.gleitz.info/attachment.php?attachmentid=99279&d=1485686941)

Best regards

egandt
29th January 2017, 23:50
I have a 7700K, and a Nvidia 1070 GTX, normally I use the GTX for all decoding, but when I hit 4K HDR, using the 1070 for both LAV and MadVR is to much for teh card, as such I want to be able to use the QuickSync for this use case.

I have the system set as follows:
1070 HDMI -> 4K (1)
1070 DVI -> 1080P (2)
Intel HDMI -> 1080P (3): currently I'm using a Genfen sink so I do not need a physical monitor, but so that Windows thinks it exists.

This all works, I have 2 and 3 shared and 1 as a seperate ouput, the Intel driver is loaded and running, however LAV states that QuickSync is not is NA. What am I doing wrong as QuickSync is not being disabled as enabled?

Intel Driver 21.20.16.4550 is currently installed and running.

Thanks,
ERIC

huhn
30th January 2017, 11:01
DXVA decoding shouldn't put any stress on the GPU.

nevcairiel
30th January 2017, 11:13
If QuickSync doesn't work, its usually either that the driver install wasn't quite right, make sure to get a package directly from Intel and not a Windows Update driver, as it lacks QS parts sometimes, or the GPU isn't actually active.
But as huhn said, DXVA decoding impact is minimal at best, it should not have any real impact on madVRs capabilities to render the image.

All that said, QuickSync wouldn't work for you either way. It doesn't support HEVC, and even if that were implemented one day, it also doesn't have the ability to export the HDR metadata required by madVR for proper HDR handling.
QuickSync should generally be considered "on life support", and DXVA2 decoding should generally be favored. If your Intel GPU is properly setup and active, it could however even be used for DXVA2 decoding, and wouldn't require QuickSync.

madshi
30th January 2017, 11:24
I'm having trouble with the LAV VC-1 decoder. No problems at all with MPEG2 or h264.

Recently I noticed that when playing VC-1 movies with my new Windows 10 HTPC, for a while (can be a minute or 2) things appear to run smoothly. But then audio/video sync gradually desyncs until finally there is some heavy stuttering and sync corrects itself. Also audio plays with some crackling noise in it sometimes, and when all this spook happens, the madVR OSD suddenly reports a big jump up in audio clock deviation. So as a test I've disabled the LAV VC-1 decoder. As a result the MS DMO becomes active, and all problems have totally vanished. With the MS DMO playback works perfectly, same as LAV with MPEG2/h264.

I'm not fully sure how a software decoder can result in audio crackling noise etc, it seems weird to me. Maybe we should ignore that. My best guess why the audio/video sync problems might occur is that the decoder might output weird (shuffled) timestamps somehow. madVR tries to detect that problem and correct it, but it doesn't always work perfectly. FWIW, all this is with VC-1 MKV files, I haven't tested with m2ts files.

Does any of this ring any bells?

I suppose I'm fine with leaving VC-1 disabled in LAV, so I don't really depend on a fix. But I thought I should report it, in case it's something you want to look into?

nevcairiel
30th January 2017, 11:28
Doesn't sound like something that happened to me. I have a bunch of Blu-ray sourced VC-1 MKV files (made with MakeMKV), and I don't remember ever seeing any troubles with them. Thats basically all the VC-1 content i generally watch, however.
I assume you don't use any HW codecs, and didn't disable the MS DMO checkbox in the LAV Video -> Formats settings? (or in other words active decoder reports "wmv9 mft" when playing such a file?)

How big of a jump does your OSD show? On a quick check, I sometimes see jumps from 0.000x to 0.03x, which seems like a huge difference, but couldn't really spot desync yet.

huhn
30th January 2017, 12:16
Recently I noticed that when playing VC-1 movies with my new Windows 10 HTPC, for a while (can be a minute or 2) things appear to run smoothly. But then audio/video sync gradually desyncs until finally there is some heavy stuttering and sync corrects itself. Also audio plays with some crackling noise in it sometimes, and when all this spook happens, the madVR OSD suddenly reports a big jump up in audio clock deviation. So as a test I've disabled the LAV VC-1 decoder. As a result the MS DMO becomes active, and all problems have totally vanished. With the MS DMO playback works perfectly, same as LAV with MPEG2/h264.

this kind of reminds me of a problem with MPDN.
using latencymon i had DPC spikes in the 10000.
tool link: http://www.resplendence.com/downloads

maybe something worth checking.

egandt
30th January 2017, 21:14
All that said, QuickSync wouldn't work for you either way. It doesn't support HEVC, and even if that were implemented one day, it also doesn't have the ability to export the HDR metadata required by madVR for proper HDR handling.
QuickSync should generally be considered "on life support", and DXVA2 decoding should generally be favored. If your Intel GPU is properly setup and active, it could however even be used for DXVA2 decoding, and wouldn't require QuickSync.

From what I've read the 7 Series actually includes HDR/10bit and REC.2020 support, basically the only thing Intel did for Kabi lake was add this support, it is said to be about 2.6x faster now http://www.anandtech.com/show/10610/intel-announces-7th-gen-kaby-lake-14nm-plus-six-notebook-skus-desktop-coming-in-january/3[/URL] I fully understand that it is currently a very small proportion of chips currently so it may not be worth the time to support this, but unlike previous generations it should now be possible on Kabi Lake processors.

:thanks:

ERIC

nevcairiel
30th January 2017, 22:24
From what I've read the 7 Series actually includes HDR/10bit and REC.2020 suppor

That doesn't mean the QuickSync decoder in LAV supports any of that.

madshi
31st January 2017, 00:12
Doesn't sound like something that happened to me. I have a bunch of Blu-ray sourced VC-1 MKV files (made with MakeMKV), and I don't remember ever seeing any troubles with them. Thats basically all the VC-1 content i generally watch, however.
I assume you don't use any HW codecs, and didn't disable the MS DMO checkbox in the LAV Video -> Formats settings? (or in other words active decoder reports "wmv9 mft" when playing such a file?)

How big of a jump does your OSD show? On a quick check, I sometimes see jumps from 0.000x to 0.03x, which seems like a huge difference, but couldn't really spot desync yet.
Hmmmm... After some tests it seems the crackling occurs regardless of decoder. It seems the other issues only occur when playing VC-1 + FLAC. But it's all rather weird. And my PC definitely has DPC latency issues which might be related. The MS DMO does still seem to work better for me, but it might be a happy coincidence and not the sign of a bug in LAV. For now I'd say ignore this one.

Reino
31st January 2017, 16:24
Hello Hendrik,

I have a feature request. Have LAV Source accept optional start en stop time, like File Source (URL).
When I open http://content.omroep.nl/avrotros/transcoding/klassiek/79_1485337306/79_704x396_1485337306.m4v?start=295&end=537 (http://content.omroep.nl/avrotros/transcoding/klassiek/79_1485337306/79_704x396_1485337306.m4v?start=295&end=537) with File Source (URL) --> LAV Splitter, the video is trimmed and starts at 04:55 and ends at 08:57.
LAV Source ignores the suffix and opens the entire video.

nevcairiel
31st January 2017, 16:52
I do not plan to support that, but you already have a working combination of things, so why not use that?

NikosD
31st January 2017, 18:19
@nevcairiel

I have just read an explanation regarding H.264 issue with Polaris cards.

What do you think ?

"The corruption with the clip only occurs on seeking.

When user perform seek, the player supposed to locate the key frame first. I’ve verified that the first frame that decoder received is indeed a key frame and the output is fine without corruptions.

However, the issue starts happens in the next frame player sent out – the reference frame. While the bitstream is correct, the picture parameter sent by the player is not correct. You can reference the following dxva2 specification provided by Microsoft:

https://msdn.microsoft.com/en-us/library/windows/desktop/cc307941(v=vs.85).aspx

The picture parameter provided for the second frame shows 4 frames in reference list:

However, there should only be one because this frame is right after the I-frame (key frame), analyzer shows this as well:

This triggers the driver code that when it detects a frame is outside the reference list, it will mark this frame as an error frame and trying to conceal this error by copying from the latest frame in reference frame buffer. This error propagates and user will see some image flipping and corruptions

Why this issue doesn’t happen with software decoder? In software decode it always keeps all reference frame in memory and will not destroy it, so it will always able to find the reference frame even though it is outside the limit."

nevcairiel
31st January 2017, 18:34
The entire explanation sounds a bit fishy to me.


The picture parameter provided for the second frame shows 4 frames in reference list:

However, there should only be one because this frame is right after the I-frame (key frame), analyzer shows this as well:

Just because a frame is right after an I frame doesn't mean there is no further references, those can go beyond I frames in H.264.

It is fully possible that a reference frame might be missing right after a seek. When this is the case, a empty frame is generated in place of the missing frame, so its not actually missing - just an empty dummy frame. This will lead to corruption when its used as a reference, but this happens to all decoders - software or any hardware. The information just isn't available. When this corruption happens, it fixes itself as soon as new key frames arrive, which is typically rather quickly.



Why this issue doesn’t happen with software decoder? In software decode it always keeps all reference frame in memory and will not destroy it, so it will always able to find the reference frame even though it is outside the limit.

This is not true, on a seek all reference frames are destroyed, and all reference frames that are available are also given to the hardware. Software doesn't have any "extra" frames unavailable to the hardware.
The real question should be: Why does this issue not happen with any other hardware, even older AMD cards? It sounds to me like trying to deflect the blame, instead of just fixing it.

NikosD
31st January 2017, 18:38
The real question should be: Why does this issue not happen with any other hardware, even older AMD cards? It sounds to me like trying to deflect the blame, instead of just fixing it.

Yes, this is what we all say.

I'll use your post to reply to them.

Pat357
1st February 2017, 23:03
The MS DMO does still seem to work better for me, but it might be a happy coincidence and not the sign of a bug in LAV. For now I'd say ignore this one.
What really puzzles me is that the LAV decoder actually *uses* the MS DMO if you have this option checked in LAV-Video. (is default checked IIRC)
How can the MS DMO give better results in this case ?
(= rhetorical question in case you wondered ;-)

An idea is to check LAV-Splitter under format settings : try to disable/enable "time-stamp corrections for VC1".
The fact that this option is available indicates that this is not the first time that there were or still are problems with VC1 and time-stamps.

nevcairiel
2nd February 2017, 11:02
An idea is to check LAV-Splitter under format settings : try to disable/enable "time-stamp corrections for VC1".
The fact that this option is available indicates that this is not the first time that there were or still are problems with VC1 and time-stamps.

The option can probably be removed these days, I'm not aware of any cases where its realistically still needed to be changed.

eddman
2nd February 2017, 17:24
Bit of a newbie question. I want to use the latest LAV with MPC-HC as external filters but without registering/installing them on windows.

I know that I can add .dll or .ax files in MPC-HC.

My question is, when adding LAV, do I have to add all the files or just .ax files?

clsid
2nd February 2017, 17:45
Why external if you don't register them? In that case you can simply overwrite the internal ones.

The latest nightly already contains the latest LAV:
http://nightly.mpc-hc.org

TheShadowRunner
3rd February 2017, 15:05
I have ask this too for a long time, and I get never an answer.
So yeah, seems like nev is immune to addressing requests, odd xD

nevcairiel
3rd February 2017, 15:45
I do not plan to support such undocumented and unofficial Matroska features. And while we're at it, I certainly hope that the CELLAR working group cleans up this whole Matroska mess and removes any mention of all those unused mis-features - which is looking pretty good so far.

eddman
3rd February 2017, 18:13
In that case you can simply overwrite the internal ones.

I didn't know that. I just checked and the internal ones are named differently, for example:

old: avcodec-lav-56.dll
new: avcodec-lav-57.dll

Do I delete the old ones and simply copy the new ones, or should I rename the new files to the old names?

Say for academical purposes I have to add another LAV as an external filter. Do I add just the .ax files or all of them?

JoeyMonco
3rd February 2017, 18:29
I didn't know that. I just checked and the internal ones are named differently, for example:

old: avcodec-lav-56.dll
new: avcodec-lav-57.dll

Do I delete the old ones and simply copy the new ones, or should I rename the new files to the old names?

Say for academical purposes I have to add another LAV as an external filter. Do I add just the .ax files or all of them?

You delete and replace them. Incrementing that revision number usually will imply some sort of API and/or ABI compatibility break.

TheShadowRunner
3rd February 2017, 20:24
I do not plan to support such undocumented and unofficial Matroska features. And while we're at it, I certainly hope that the CELLAR working group cleans up this whole Matroska mess and removes any mention of all those unused mis-features - which is looking pretty good so far.

Thanks for your clear reply.
Are there other matroska (official) features that allow to replicate what TrackSet/TrackSetEx do? I'm all for sticking to the official way of doing things, but for this case specifically, there is no equivalent I could find. Please enlighten me (not necessarily nev!)
What I would like to do is just link a subtitle and an audio track and have the splitter menu propose it.
Exemple: consider a matroska file with :
- 1 video track
- 1 jpn audio track
- 1 jpn commentary audio track
- 1 eng subs track
- 1 eng commentary subs track
I would like to link the jpn audio track and eng subs track and call it "Original audio edition". And then obviously link the jpn comm audio track and eng comm subs track and call it "Commentary edition".
TrackSet/TrackSetEx allow to do exactly that, nothing more, nothing less, and it works beautifully without breaking the official editions / segment linking features.
So is there an official way to replicate this, specifically?

If not, why not support it if it's the only way to do things, and it doesn't break anything else?

hubblec4
4th February 2017, 12:38
Hi TheShadowRunner

There is no "official way" at the moment to replicate the Haali-TRACKSETEX feature.
The only way will be, that nevcairiel implements the support of ChapterTrack/ChapterTrackNumber, but I know he will never do this.
Maybe a small "workaround" could help. But you have than 3 files. One is the mainmovie.mkv and the other two are "start/loading"-mkv's.

I don't know enough to write a new Matroska Splitter(maybe in a far future).

TheShadowRunner
4th February 2017, 13:13
Thanks for your input hubblec4, understood.
It's pretty strange that the matroska specs are so detailed and in depth for some areas (exemple: the tags), but such a somewhat basic feature is nowhere to be found ^^;

hubblec4
4th February 2017, 16:38
It's pretty strange that the matroska specs are so detailed and in depth for some areas (exemple: the tags), but such a somewhat basic feature is nowhere to be found ^^;

Yupp, thats a big problem. A good documentation is needed to realize a feature. Matroska still has a lot of catching up to do in this area.
I read every email from CELLAR, but mostly topics are about implementing new things like VP8,VP9, colormatrix, keep meta-infos and many others, but no one talks about "Matroska playing stuff".

Without LAV-Splitter we would not even have a working Chapter-Segment-Linking system (many thanks to you, nevcairiel), cause Haali works not correctly.

NikosD
10th February 2017, 17:06
In this recorded video, it seems that Cybelink's H.264 DXVA decoder works fine, without errors using Polaris cards.

For the same clip LAV filters DXVA H.264 decoding gives errors.

https://drive.google.com/file/d/0B2TV8ofJYDdsel9zRm83bmRPYkU/view

There are only two cases for the video above:

1) Cyberlink has managed to use H.264 DXVA in a different way than LAV filters for Polaris cards, without errors.

2) Cyberlink has managed to identify the specific clips that cause trouble to Polaris cards and use CPU as a fallback to DXVA HW acceleration, without warning to the users.
So although it says that it uses DXVA HW acceleration in general, the truth is that for those specific clips it falls back to SW decoding.

I personally believe it's the second case, so in order to be sure, someone can show us CPU usage for the specific clip using Cyberlink H.264 DXVA and LAV filters H.264 DXVA.

UPDATE:

It seems that Cyberlink's H.264 DXVA decoder works with 2% CPU usage, so there is probably an incompatibility with LAV DXVA H.264 decoder and Polaris HW decoder/driver.

clsid
10th February 2017, 19:11
That file does not contain H.264 video. It is H.263.

NikosD
10th February 2017, 19:12
How do you know ?

And there is no HW acceleration for H.263 files.

In AMD's forum there are a lot of H.264 files including mine, that can play fine with Cyberlink's H.264 DXVA decoder.

The issue could be a proprietary non standard implementation of DXVA H.264 decoder by AMD for Polaris driver/HW that causes problems with free/ open source projects like LAV filters that Cyberlink has managed to resolve.

huhn
10th February 2017, 20:04
it is not that clear that the video shows the problem but is not the problem it self.
and there is hardware acceleration for h263.

nussman
11th February 2017, 00:20
"Cyberlink's DXVA Decoder" always works "different" with special workarounds for special circumstances.
Especially for LiveTV this is very well known.

Anyway ... LiveTV H.264 is working with LAV (and MS Decoder) for years now with every other hardware. I still think its AMD to blame ...

huhn
11th February 2017, 03:50
i guessing doesn't fix this issue and if AMD polaris needs special treatment why isn't AMD providing a patch for FFmpeg this is the really strange part!

nevcairiel
11th February 2017, 07:32
There is so many things AMD could do to resolve such issues -

- Fix them in the drivers
- Send patches to open-source projects like FFmpeg to work-around their quirks
- Or at the very least, document their quirks somewhere so developers can work around them themselves.

Of course anything but the first option feels a bit silly, vendor-specific quirks for *new* hardware in 2017 is just crazy, but if they can't do 1, then any other option is better then doing nothing.

There is also the simple option of it being a subtle bug somewhere in FFmpeg or LAV and not an actual quirk, but then again AMD could follow option 2 or 3 and reach out to FFmpeg, which powers the large majority of all media players out there.

NikosD
11th February 2017, 13:31
I tried today MS DS and MS MFT H.264 DXVA decoders and have both the same problems as LAV during playback and seeking.

It would be a crazy coincidence if the decoders of the developers of Microsoft and FFMPEG (LAV) had exactly the same bug.

Also, I think now that it's not proprietary DXVA implementation because you couldn't use it at all.

It's probably what you call quirks, but hopefully it's not hardware (since Cybelink seems to work OK)

clsid
11th February 2017, 17:54
Hi nev, which toolchain are you currently using? I tried MSYS2 since the MSYS pack from XhmikosR that I used has some old libs (like openssl, which gives issues, see mpc-hc tracker). FFmpeg builds fine. But VS gives "error LNK2026: module unsafe for SAFESEH image" for x86 build. Disabling SAFESEH is of course bad idea. Do you perhaps have any tips?

nevcairiel
11th February 2017, 18:25
I use MSYS2 with my own compiler (https://files.1f0.de/mingw/ - which is the same compiler build XhmikosR packages in his MSYS1 zips)

I doubt that MPC-HC uses OpenSSL though, and LAV certainly doesn't (it uses the Windows TLS/SSL support, and no, I'm not interested in silly reports of XP not supporting websites which require new encryption schemes).

clsid
11th February 2017, 19:09
It is working properly again with your GCC build. Thanks. Should have tried that earlier. I am curious why their vanilla mingw build didn't work.

aufkrawall
14th February 2017, 16:35
Would "native" CUDA decoding require a backend in the video renderer?
I tried it with mpv and it seems to give me by far the lowest overhead on both GPU and CPU, compared to copyback modes (on Linux too, btw.).

nevcairiel
14th February 2017, 16:52
Yes, it would. If you want absolutely minimal overhead then DXVA Native is your only choice.

MisterXDTV
15th February 2017, 00:19
Does or will LAV Video support DXVA for VP9 Profile 2 (10 bit) videos from youtube? I can't hardware decode it with LAV decoder no matter what I select (native, copy-back, NVIDIA CUVID). With another decoder it works fine

NikosD
15th February 2017, 09:26
OK...

So, with the release of the new non-WHQL AMD driver 17.2.1, the decoding problem of corrupted image during playback and seeking with DXVA ffmpeg based decoders, like LAV and the H.264 video files (MBAFF, progressive, interlaced) using Polaris cards, has gone.

The image is fine like all other HW decoders from AMD, Nvidia, Intel.

The only compromise is a black screen for about 2 secs in the beginning of the file, while you can hear the sound and when you seek you get a frozen image for about 1 sec before normal playback starts again (while you can hear the sound).

NikosD
16th February 2017, 21:30
According to AMD and based on some Jellybean samples, there is a bug in FFMPEG DXVA H.264 decoder (and LAV of course)


Based on the clip provided:

When the user performs a seek, the player is supposed to locate the key frame first. The first frame that the decoder received is indeed a key frame and the output is displayed without corruption.

However, the issue starts happens with the next frame player sends out – the reference frame. While the bitstream is correct, the picture parameter sent by the player is not correct and not following DXVA2 specs supported by Microsoft.

The picture parameter provided for the second frame shows 4 frames in reference list. However, there should only be 1 because this frame is right after the I-frame

This triggers the driver code that when it detects a frame is outside the reference list, it marks this frame as an error frame and trying to hide the error by copying from the latest frame in reference frame buffer. This propagates the error and results in image flipping and corruption.

In software decode, the reference frame in always kept in memory, so it is always able to find the reference frame even though it is outside the limit.

nevcairiel
16th February 2017, 21:36
Thats the same silly explanation you posted weeks ago, and it still has holes. Software decoders don't have access to any extra reference frames, neither does any other hardware.
If references are missing, there will be corruption, there is no doubt about that, but for some reason AMD never manages to recover afterwards, which it should.

NikosD
16th February 2017, 21:38
Ok, but is the DXVA2 specification restricted the way it's described and ffmpeg DXVA2 respects that restriction?

nevcairiel
16th February 2017, 21:47
The decoder works in accordance to the H264 specification. If a reference frame is missing, a dummy frame is generated (ie. a blank one) to take its place, so its very well possible that the second frame after a seek already lists 4 references - 3 of those may just be empty dummy frames that are not available due to the seek.

That entire explanation is not logical, it talks about having too many reference frames and then talks about a missing reference frame. Thats not even the same thing.
Not to forget that the Microsoft decoder showed the same behavior, you would think Microsoft would implement their own DXVA2 specification correctly, right?

ibius
17th February 2017, 00:10
Does or will LAV Video support DXVA for VP9 Profile 2 (10 bit) videos from youtube? I can't hardware decode it with LAV decoder no matter what I select (native, copy-back, NVIDIA CUVID). With another decoder it works fine

Same here, is it by design? The hint says VP9 decoding is experimental, on what hardware exactly?

Win 8.1 x64, GP107 on Nvidia 376.33 drivers.

CruNcher
17th February 2017, 01:36
The decoder works in accordance to the H264 specification. If a reference frame is missing, a dummy frame is generated (ie. a blank one) to take its place, so its very well possible that the second frame after a seek already lists 4 references - 3 of those may just be empty dummy frames that are not available due to the seek.

That entire explanation is not logical, it talks about having too many reference frames and then talks about a missing reference frame. Thats not even the same thing.
Not to forget that the Microsoft decoder showed the same behavior, you would think Microsoft would implement their own DXVA2 specification correctly, right?

Ehmm the Decoder Core isn't theirs but it would be funny if they oversaw this issue together with Mainconcept :D

Cyberlink does it right and Mainconcept and FFmpeg wrong ?

According to AMD and based on some Jellybean samples, there is a bug in FFMPEG DXVA H.264 decoder (and LAV of course)

Are you sure you meant jellybean or those jellyfish samples ?

nevcairiel
17th February 2017, 07:08
Same here, is it by design? The hint says VP9 decoding is experimental, on what hardware exactly?

Win 8.1 x64, GP107 on Nvidia 376.33 drivers.

VP9 10-bit will be supported in a future version when I find the time to finish it.

Shii
17th February 2017, 08:31
Nvidia released new 378.66 driver with VP9/HEVC 10/12-bit decoding support.
Changelog:
New Features - Video SDK 8.0
High-bit-depth (10/12-bit) decoding (VP9/HEVC)
OpenGL input surface support for encoder
Weighted Prediction
H.264 ME-only mode enhancements

huhn
17th February 2017, 08:54
the SDK 8.0 isn't released yet.
and this is maybe a comeback for cuvid.
i have mixed feeling about this.

LigH
17th February 2017, 08:57
@ huhn:

"Don't be a chicken!" :D (insider for Germans)

CruNcher
17th February 2017, 10:13
New Features - Video SDK 8.0
High-bit-depth (10/12-bit) decoding (VP9/HEVC)
OpenGL input surface support for encoder
Weighted Prediction
H.264 ME-only mode enhancements

Another time :) though i wonder who uses it at all instead of CPU ME

Weighted Prediction would be another quality boost vs Intels Encoder.

wonder if they realize it over CUDA again like the VBR 2pass and Lookahead.


@Huhn
not sure what you fearing but all this means longer support possibilities for Windows bellow 10 mostly not sure why you find that so bad having more direct access than that what Microsoft supplies with DXVA.
You also have mixed feelings about Vulkan and a CUVID Vulkan Render backend ?
Nvidia invests a lot to be independent of Microsoft on the Unix/Linux side and CUVID/VDPAU is a important part of that for the whole Tegra Ecosystem not sure why you have mixed feelings about it and the possibility of backwards compatibility without being forced to 1 OS Version.
Unless you want to consume DRM Protected HQ 4K content, which will be only possible with Windows 10 in the near Future.

You don't seem to understand what Windows 10 is but it is the continuation of TCPA in full force mode in a absolute avg user enforcing way we ever saw being tasked out it's extremely critical what happens currently industry wide and we need to talk about it much more and make the future generation understand to what they currently not so silently agree upon it's their future.

What's New in Video Codec SDK 7.1:
---------------------------------
In NVIDIA Video Codec SDK release 7.1, following features have been added:

1) Enhancements to H.264 motion estimation only mode:
a) Ability to select specific motion vector partitions and intra mode enable/disable for motion estimation only mode.
b) Performance enhancement for stereo mode motion-estimation.
2) Streamlined the nomenclature of rate control modes.
3) Quality improvement for H.264 Temporal Adaptive Quantization(TAQ).

Sarasa
17th February 2017, 11:00
Again Nvidia as released an Hotfix X days after an WHQL, 378.72HF -_-;
- Fixed hardware encoding in Steam (In-Home Streaming).
- Resolved PhysX being forced to CPU when "Optimize for Compute Performance" setting is OFF.

huhn
17th February 2017, 20:11
@Huhn
not sure what you fearing but all this means longer support possibilities for Windows bellow 10 mostly not sure why you find that so bad having more direct access than that what Microsoft supplies with DXVA.
You also have mixed feelings about Vulkan and a CUVID Vulkan Render backend ?
Nvidia invests a lot to be independent of Microsoft on the Unix/Linux side and CUVID/VDPAU is a important part of that for the whole Tegra Ecosystem not sure why you have mixed feelings about it and the possibility of backwards compatibility without being forced to 1 OS Version.
Unless you want to consume DRM Protected HQ 4K content, which will be only possible with Windows 10 in the near Future.

CUVID is currently buggy and was just rotting around.
getting user in trouble for years now with no real patch.
running an openCL program and CUVID at the same time is not funny at all.
users where running in these bugs all the time.

i don't know why you think Vulkan or DX12 will add anything in term of video rendering? lower CPU overhead that is not used or what? video rendering isn't gaming.

while VDPAU is important for linux it doesn't mean CUVID is important.
VDPAU is used to connect to hardware decoder from AMD and NVIDIA. while CUVID is a nvidia only thing.

my concern is only about CUVID and that it will rotten again. they need to fix the bugs or it never stops rotting it is not like windows 10 is released yesterday.

nevcairiel
17th February 2017, 20:12
running an openCL program and CUVID at the same time is not funny at all.

For the record this is a CUDA problem, not CUVID as such, and it happens only on 32-bit, 64-bit is fine.

aufkrawall
17th February 2017, 21:59
while VDPAU is important for linux it doesn't mean CUVID is important.
VDPAU is used to connect to hardware decoder from AMD and NVIDIA. while CUVID is a nvidia only thing.

Currently, Nvidia allows HEVC 10 bit/VP9 decoding only via Cuvid on Linux.
So it's really useful there, thanks to Nvidia not supporting VDPAU well (but I'd be surpised if AMD was any better with VDPAU).
Just Intel is doing fine, with bleeding edge updates of open VAAPI.

khanmein
18th February 2017, 05:28
Another time :) though i wonder who uses it at all instead of CPU ME

Weighted Prediction would be another quality boost vs Intels Encoder.

wonder if they realize it over CUDA again like the VBR 2pass and Lookahead.


@Huhn
not sure what you fearing but all this means longer support possibilities for Windows bellow 10 mostly not sure why you find that so bad having more direct access than that what Microsoft supplies with DXVA.
You also have mixed feelings about Vulkan and a CUVID Vulkan Render backend ?
Nvidia invests a lot to be independent of Microsoft on the Unix/Linux side and CUVID/VDPAU is a important part of that for the whole Tegra Ecosystem not sure why you have mixed feelings about it and the possibility of backwards compatibility without being forced to 1 OS Version.
Unless you want to consume DRM Protected HQ 4K content, which will be only possible with Windows 10 in the near Future.

You don't seem to understand what Windows 10 is but it is the continuation of TCPA in full force mode in a absolute avg user enforcing way we ever saw being tasked out it's extremely critical what happens currently industry wide and we need to talk about it much more and make the future generation understand to what they currently not so silently agree upon it's their future.

What's New in Video Codec SDK 7.1:
---------------------------------
In NVIDIA Video Codec SDK release 7.1, following features have been added:

1) Enhancements to H.264 motion estimation only mode:
a) Ability to select specific motion vector partitions and intra mode enable/disable for motion estimation only mode.
b) Performance enhancement for stereo mode motion-estimation.
2) Streamlined the nomenclature of rate control modes.
3) Quality improvement for H.264 Temporal Adaptive Quantization(TAQ).

+1 ignored that fella always like to act pro at here. that dude simply accuse me & said my AMD card got issue but that shill don't even know i'm NV fan boy.

Jasch
19th February 2017, 13:46
I have not testet on my rx460 now, but on my Fury X the bug is still there, even with newest drivers.



OK...

So, with the release of the new non-WHQL AMD driver 17.2.1, the decoding problem of corrupted image during playback and seeking with DXVA ffmpeg based decoders, like LAV and the H.264 video files (MBAFF, progressive, interlaced) using Polaris cards, has gone.

The image is fine like all other HW decoders from AMD, Nvidia, Intel.

The only compromise is a black screen for about 2 secs in the beginning of the file, while you can hear the sound and when you seek you get a frozen image for about 1 sec before normal playback starts again (while you can hear the sound).

el Filou
19th February 2017, 15:36
I have not testet on my rx460 now, but on my Fury X the bug is still there, even with newest drivers.I was under the impression that the H.264 DXVA corruption bug only affected Polaris GPUs, are you sure it's not your files that have encoding problems?

thrawnrulz68
20th February 2017, 06:06
I was perusing the mplayer sample files today and tested CDXL and the old Sega FILM (.cpk) files and encountered some issues using LAV. I know that LAV lists these formats as supported in the splitter.

CDXL video will not play at all. Only the audio is rendered.
CPK files play but the audio (basic PCM, according to MPC-BE and LAV), does not play correctly. It plays with a great deal of static instead.

Has anyone else encountered this?

Aleksoid1978
20th February 2017, 06:49
PCM Planar can't handle by audio-renderers. LAV(libavformat) must convert to standart PCM or output with different mediatype that some audio-decoder can handle it and convert.

Jasch
20th February 2017, 08:31
I was under the impression that the H.264 DXVA corruption bug only affected Polaris GPUs, are you sure it's not your files that have encoding problems?

Yes its the same Problem, i can reproduce it every time.
I also ment. it in the Thread in Amd forum which was now closed.
Amd didint respond on that.

File is fine, for testing i use DVB-C(Astra 19.2)
Half of all channels show this behavior(doesnt matter 720p 1080i)
It happens with lav and MS decoder.
With other Hardware Intel, NV or older Amd ,A10-7800 APU, 7970 its fine.

PS.: after work i will test RX460 in my HTPC today, to look if its really fixed there.

CruNcher
20th February 2017, 15:41
It remembers me a bit about UVD 1 in HD2400 times and what a catastrophe that was with Broadcast Decoding compared to Nvidia ;)

It's sad but before that ATI stand for the Video Decoding Quality (MPEG) but somehere that timeframe certain Nvidia acquisitions triggered something and they overan ATI in Video in no time.

And since then every UVD release they where running behind VPX somewhere.

With Tegra and Mobile Nvidias investments also got extremely higher and more and more resources where put into VPX now Multiplatform.

AMD tries to recover currently and get back on track and they surely made some progress.

Also VPX has become a not unimportant part in Nvidias Automotive Strategy and CV :)

Liandri
22nd February 2017, 22:25
Here I am again with complaints about Advanced Subtitle Selection mode. It just doesn't work with some files. I've watched hundreds of shows and there is still no way to make it work like I want for all files. I occasionally need to switch subtitle streams for each single episode by hand for the whole show.

Here is the current case:
S: Forced (captions) [rus] (ass) [default,forced]
S: Full [rus] (ass)
S: No subtitles
I've tried "*:rus|!d" and ":rus|!d". It always selecting the first stream, and I need the second one.

I think I need some white and black lists of subtitle stream properties I could edit. I need to be able to ignore default and/or forced ones at the very least. As of now, there is simply no way to remember subtitle stream selection between episodes if it's a non-regular choice that can't be properly set through Advanced mode.

If this could be improved, that would be great.

nevcairiel
22nd February 2017, 22:27
You can use the "|n" (normal/unflagged stream) modifier to select streams that are not default or forced, so perhaps "*:rus|n" might do what you want.

sneaker_ger
22nd February 2017, 22:34
Or explicitly override both: *:rus|!df

You might also be interested in mkvpropedit (and its GUI JMkvpropedit). You can batch change flags of whole folders within seconds.

Liandri
22nd February 2017, 23:05
Thank you, both worked. (I feel stupid, again)

As for editing mkv, thanks but it's not a very good idea for me since the files need to be seeded.

Damien147
22nd February 2017, 23:58
Hello!

DXVA2(copy-back) slowdown/''skips'' with HEVC.Other non HEVC sources play smoothly.
DXVA(native) plays smoothly too HEVC with EVR.
Any solutions for DXVA2(copy-back)?

lav 0.69
GPU:RX 470(amd) with latest drivers.

nevcairiel
23rd February 2017, 07:30
Copy-Back has historically not been that great on AMD, so either it works or it doesn't, can't really change anything either way.
Especially when handling 4K 10-bit content you need a lot of memory bandwidth just to download and upload the image again, which AMD cards don't seem to like doing very much.

nussman
23rd February 2017, 08:35
Did you see my report? https://forum.doom9.org/showthread.php?p=1798395#post1798395
I am not sure what is going on, but HEVC 4K 10bit works fine with madVR for me (AMD RX460 4GB) if I disable P010 and P016 output in LAV.
CPU load decreases from over 70% to ~35% without P0 output.

nevcairiel
23rd February 2017, 09:02
All that would do is lower the memory bandwidth requirement on uploading the images back to the GPU, which I suppose can already help. LAV performance is not really different between NV12 or P010 output, both are similar in efficiency. If anything P010 should be slightly more efficient since its the native GPU format and doesn't require dithering. But its double in size so maybe that balances out.

Make sure LAV is using direct mode (ie. decoder is "dxva2cb direct"), but if its using P010 or NV12 output there rarely is a reason why it wouldn't use direct mode.
Of course it goes without saying to avoid any software post-processing filter like ffdshow or others, as those will eat your performance on 10-bit content.

nussman
23rd February 2017, 09:26
"DXVA2cb direct" is used.
Double in size ... mhm sounds like a problem with the memory bandwith? I will check this.

With EVR / EVR Custom LAV outputs P010 or NV12 @default for HEVC 10bit content?

nevcairiel
23rd February 2017, 09:32
EVR doesn't accept P010, so it would use NV12 then.

Damien147
23rd February 2017, 10:56
Copy-Back has historically not been that great on AMD, so either it works or it doesn't, can't really change anything either way.
Especially when handling 4K 10-bit content you need a lot of memory bandwidth just to download and upload the image again, which AMD cards don't seem to like doing very much.

The thing is that another user with same GPU(RX470) reported that DXVA2(copyback) works for him with 10bit HEVC.I tried Display Driver Uninstaller for that reason but no luck,same result.With Madvr it's worst than EVR but the problem stays.So to conclude there's nothing you can do?


Did you see my report? https://forum.doom9.org/showthread.php?p=1798395#post1798395
I am not sure what is going on, but HEVC 4K 10bit works fine with madVR for me (AMD RX460 4GB) if I disable P010 and P016 output in LAV.
CPU load decreases from over 70% to ~35% without P0 output.

I tried what you said about disabling P010,P016 but result stays the same.The point is to make DXVA2(copyback) play smoothly without these workarounds.RX470 4GB here and I can't get smooth 10bit HEVC playback.EVR with DXVA2(native) gives smooth 10bit HEVC playback.

nevcairiel
23rd February 2017, 10:58
The thing is that another user with same GPU(RX470) reported that DXVA2(copyback) works for him with 10bit HEVC.I tried Display Driver Uninstaller for that reason but no luck,same result.With Madvr it's worst than EVR but the problem stays.So to conclude there's nothing you can do?

If it works for some users but not for you, then its most likely something in your system, so there is even less we can do.

Damien147
23rd February 2017, 11:15
Yes,it points my system if that happens but I don't know what else to do beyond Display Driver Uninstaller.Maybe format:((<---boring procedure)
Thank you very much for answering.Have a nice day.:)

nussman
23rd February 2017, 11:43
The point is to make DXVA2(copyback) play smoothly without these workarounds.

The point is to understand what happens here and help the developers to fix it in right place. ;)

NikosD
23rd February 2017, 12:31
Hello!

DXVA2(copy-back) slowdown/''skips'' with HEVC.Other non HEVC sources play smoothly.
DXVA(native) plays smoothly too HEVC with EVR.
Any solutions for DXVA2(copy-back)?

lav 0.69
GPU:RX 470(amd) with latest drivers.

Just tried various 10 bit 4K HEVC sources with MPC-HC using LAV 0.69 and EVR-CP and had no problem with my RX 470 in DXVA Copy-back (Direct) mode.

The performance looks like the same of DXVA native, but of course I can see spikes of 100% GPU utilization and full clock speed for core/ memory (1300MHz/ 2000MHz)

nussman
23rd February 2017, 14:20
Did you try madVR with P010 output?

Aleksoid1978
23rd February 2017, 14:33
EVR doesn't accept P010, so it would use NV12 then.

On Win10 - EVR/EVR Custom accept P010. Checked on Nvidia 960/AMD RX460.

Damien147
23rd February 2017, 15:38
The point is to understand what happens here and help the developers to fix it in right place. ;)


We are saying the same thing.

Just tried various 10 bit 4K HEVC sources with MPC-HC using LAV 0.69 and EVR-CP and had no problem with my RX 470 in DXVA Copy-back (Direct) mode.

The performance looks like the same of DXVA native, but of course I can see spikes of 100% GPU utilization and full clock speed for core/ memory (1300MHz/ 2000MHz)

Oh boy...another one with RX470 and smooth playback with 10 bit 4K HEVC and dxva2(copy-back).
Can you tell which driver version you are using?I'm gonna try that.I am with 17.2.1 WHQL that came out yesterday and I can't get smooth playback with 10 bit 4K HEVC and dxva2(copy-back).Picture slows down,framerate drops.

p.s. Γεια σου Ελλαδάρα!!

NikosD
23rd February 2017, 15:59
17.2.1 beta, I think there are no differences with WHQL.

I don't think that really matters but my RX 470 as I've already posted has 2000MHz GDDR5 memory and 1300MHz GPU clock.

Win 10 x64 of course.

Try to use the clean install of AMD drivers which uninstalls previous drivers and not DDU.

But it seems as an issue of your system.

P.S
Δεν νομίζω να καταλαβαίνει κανένας τι γράφουμε στα Ελληνικά και υπάρχει κανόνας να γράφουμε Αγγλικά εδώ, αλλά δεν άντεξα την πρόκληση ;)

CruNcher
23rd February 2017, 16:01
On Win10 - EVR/EVR Custom accept P010. Checked on Nvidia 960/AMD RX460.

It would be rather bad if it wouldn't so DXVA also should work with P010 already

Though definitely some of those things that will only work with Windows 10 EVR Render Backend and you need other ways (APIs) todo it pre Windows 10 with acceleration though of course you never gonna get it to work under DWM windowed so in a browser and HTML5 you gonna fail completely with 10 Bit support under Pre Windows 10 when using the Native Microsoft APIs.


don't think that really matters but my RX 470 as I've already posted has 2000MHz GDDR5 memory and 1300MHz GPU clock.

Nvidia allways had the better DCE and aside that PCIE-Compression only VEGA is about maybe to change that finally the advances in Polaris where not enough ;)

Also because the overhead of AMDs Driver is overall higher it can make a difference which advanced CPU you have and which instructions AMD makes use of ;)

We should see further improvements overall here due to the tuning for Zen which is partly also gonna effect the Intel overall Performance due to the similiar nature of both compared to the old Athlons and Bulldozer

clsid
23rd February 2017, 16:26
Perhaps it is a DPC latency issue?
http://www.resplendence.com/latencymon

Damien147
23rd February 2017, 16:30
17.2.1 beta, I think there are no differences with WHQL.

I don't think that really matters but my RX 470 as I've already posted has 2000MHz GDDR5 memory and 1300MHz GPU clock.

Win 10 x64 of course.

Try to use the clean install of AMD drivers which uninstalls previous drivers and not DDU.

But it seems as an issue of your system.

P.S
Δεν νομίζω να καταλαβαίνει κανένας τι γράφουμε στα Ελληνικά και υπάρχει κανόνας να γράφουμε Αγγλικά εδώ, αλλά δεν άντεξα την πρόκληση ;)


Was with 17.2.1 beta too and the problem was there.Don't update to WHQL if you want,it's the same thing. About clean install I've tried that and THEN I tried DDU to see if there is a problem.Nothing changes.I have lower clocks but yes you are right.It seems that it is my system and not in general.:scared:


:thanks:


P.S.
Σιγά,ένα γειά ανταλλάξαμε.Καλή συνέχεια.



Perhaps it is a DPC latency issue?
http://www.resplendence.com/latencymon

Gonna have to learn to use that I guess.

CruNcher
23rd February 2017, 16:35
Perhaps it is a DPC latency issue?
http://www.resplendence.com/latencymon

I bet its a inefficiency of overall CPU optimization albeit the CPU he uses and Chipset is pre Sandy Bridge era that wont cut it anymore especially copy back with AMDs Driver overhead and not so optimized DCE.

But yeah if you think about a SOC at 7W is completely destroying it overall but only with Zero Copy with Copy Back most Socs would die also for 4K Hevc.

Damien147
23rd February 2017, 17:06
latencymon (http://imgur.com/a/W3yp0):confused:

CPU (http://imgur.com/a/Laier) performance wise I think I am like i5 2400(sandy bridge) with the OC but yes,it's pre sandy.
I can play 59fps 4k 10bit HEVC 75Mbps with no problem with DXVA2(native)

nevcairiel
23rd February 2017, 17:30
It would be rather bad if it wouldn't so DXVA also should work with P010 already

Previously it worked only in DXVA mode, if you tried to use it in software mode it failed and playback got stuck. But apparently it got fixed, wonder if Microsoft had to do that in EVR or the GPU drivers managed to do that.

nussman
23rd February 2017, 18:46
Hm P010 with EVR is for Win10 only?
I am on Win 8.1. Any possibility to verify what LAV sends to EVR?

CruNcher
23rd February 2017, 20:35
latencymon (http://imgur.com/a/W3yp0):confused:

CPU (http://imgur.com/a/Laier) performance wise I think I am like i5 2400(sandy bridge) with the OC but yes,it's pre sandy.
I can play 59fps 4k 10bit HEVC 75Mbps with no problem with DXVA2(native)

Zero Copy should work always the most efficient CPU Load is then allways dependent on the Driver and Memory Management (Bandwith) and PCI-E Internals except at high enough bitrate also I/O can become a bottleneck itself and push on the SATA/USB3 part.

MadVR is generally more heavy internally then EVR-CP though you can optimize it's complexity downwards with it's advanced options system.
But a small higher overhead per clock cycle then EVR-CP will always stay especially on the CPU side.

Laencymons own pooling overhead though should be allways taken into account it doesn't work for Free and can itself depending on which edge you are impact the overall result ;)

You shouldn't give much about the Hard pagefaults look in Latencymons own statistics it creates the most overhead trough to it's Pagefile handling, you most of the times need to run it several times before it's own impact is minimized ;)

And it's own pooling and resource usage can also impact the result of it's "Video will run BAD latency wise with crackle and pops result display" ;)

Overall LatencyMon is as a 32bit ETW Tracer not really efficient.

http://i1.sendpic.org/t/l2/l2Hot0U5pvuFbjalRbwQkJ5CoPV.jpg (http://sendpic.org/view/1/i/nq60fy28pGngqmBQ2OGloGseBhL.png)
http://i1.sendpic.org/t/dd/dd5YEkipw9kdyXkKG0r9xZGZON.jpg (http://sendpic.org/view/1/i/rkqXxrBtqTiC7IyGIsUWcfGPZNr.png)


http://i1.sendpic.org/t/y2/y2nYyhi5EMbzkreY8a0utk1a5nt.jpg (http://sendpic.org/view/1/i/y9OMy0ksljADBv2T0rSqUxHYwsh.png)
http://i1.sendpic.org/t/nd/ndKIAhEpp517RJQWa5hBL8lVZay.jpg (http://sendpic.org/view/1/i/cVcxloS0qvaWpFsXcRUABc6t24t.png)


On Nvidias side Drivers are now very stable the last DPC issue was this

https://forum.doom9.org/showpost.php?p=1776490&postcount=1235

Damien147
24th February 2017, 10:42
Non 10bit HEVC files play smooth with dxva2(copyback).
So to conclude there isn't any solution for the slow on 10bit HEVC dxva2(copyback) in my system?An AMD driver could solve that?

NikosD
26th February 2017, 13:15
What is it so special with this HEVC 8bit clip ?
https://www.sendspace.com/file/4aw5y1

It seems that only LAV Video can decode it in HW.

MS decoder fails and PotPlayer falls back to SW decoding.

Aleksoid1978
26th February 2017, 14:44
What is it so special with this HEVC 8bit clip ?
https://www.sendspace.com/file/4aw5y1

It seems that only LAV Video can decode it in HW.

MS decoder fails and PotPlayer falls back to SW decoding.

MPC-BE also decode in HW(DXVA) this file.

sneaker_ger
26th February 2017, 18:09
What is it so special with this HEVC 8bit clip ?
https://www.sendspace.com/file/4aw5y1

It seems that only LAV Video can decode it in HW.

MS decoder fails and PotPlayer falls back to SW decoding.
Probably broke in some way during muxing with old DivX/"Rovi" experimental mkvmerge.

Damien147
28th February 2017, 12:47
I think that I've read somewhere here that with dxva2(native) and NVIDIA you get a bit worst quality.With AMD and dxva2(native) everything's fine?No quality loss?

huhn
28th February 2017, 13:49
that's a madVR issue not a general one.

Intel/AMD could have the same issue. nvidia has this issue for sure.

Damien147
28th February 2017, 14:16
Oh,I see.Thought that because someone pointed NVIDIA problem was gonna be specific and not apply to others.Thanks.

aufkrawall
28th February 2017, 19:42
Intel/AMD could have the same issue. nvidia has this issue for sure.
afair I didn't have the issue with a R9 390.
Well, but of course others in exchange.

Asmodian
28th February 2017, 23:12
I remember when madshi identified the issue it only applied to Nvidia GPUs, but probably any GPU could spontaneously develop it with a driver update.

Damien147
1st March 2017, 08:55
Good news then,AMD here.:DThanks again.

groen
5th March 2017, 19:06
Recently mpc-be has been reverting to mpc Audio Decoder (low merit) in some instances. The audio files show up as E-AC-3

ID : 2
Format : E-AC-3
Format/Info : Enhanced Audio Coding 3
Format settings, Endianness : Big
Codec ID : A_EAC3
Duration : 57 min 48 s
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 187.500 FPS (256 spf)
Compression mode : Lossy
Stream size : 265 MiB (14%)
Language : English
Default : Yes
Forced : No

This happened in the past with the MS DTV-DVD Audio Decoder, setting that audio filter to disabled in the mpc-be options disabled it. However this time the MPC Audio Decoder does not display in the available filters to block. The problem is that DTS or DD passthrough does not work when this MPC Audio Decoder is used instead of lav filters. Does lav filters support E-AC-3? I am sure it does as it supports most audio. This might be an mpc-be problem...

http://i.imgur.com/nQp2WJa.jpg

Aleksoid1978
6th March 2017, 08:38
MPC-BE Audio Decoder support all type passthrough - AC3/E-AC3/DTS/DTS-HD/TrueHD.

clsid
6th March 2017, 15:12
You should disable passthrough for E-AC3. Then LAV Audio will work fine. Your receiver (or sound driver) does not support E-AC3 bitstreaming. LAV Audio decoder does not (yet) have a fallback to normal decoding when passthrough fails.

Vasilich
6th March 2017, 23:36
LAV Audio decoder does not (yet) have a fallback to normal decoding when passthrough fails.
Is it planned to implement such fallback? is it possible for audio decoder to get such info?

Aleksoid1978
7th March 2017, 02:06
Is it planned to implement such fallback? is it possible for audio decoder to get such info?

I don't know about LAV Audio Decoder - but i know that is possible.

Jasch
7th March 2017, 08:57
Just to recap, i made some test at the weekend, and on my systems, h264 is now working without errors on Rx and Fury with the latest Driver (17.2.1)+ Lavfilter with DXVA and CB
Changelog:
On some Radeon GCN products DXVA H.264 encoded video may experience corruption when fast forwarding or seeking through content

NikosD
7th March 2017, 08:59
There is a new 17.3.1 driver but I haven't managed to test it yet, if anything changed for the better.

clsid
7th March 2017, 15:09
Is it planned to implement such fallback? is it possible for audio decoder to get such info?It is planned. But you simply shouldn't enable it if your hardware doesn't support it. So solution is simple, disable it and everything will work.

Vasilich
7th March 2017, 20:10
But you simply shouldn't enable it if your hardware doesn't support it. So solution is simple, disable it and everything will work.
I did it already long time ago. But it is not always possible (or really time-consumnig) to find out which formats are supported by hardware, e.g. if you try to help people, who post their setups on forums, making sometimes wrong assumption that their hardware should support some specific formats they have problems with.

el Filou
8th March 2017, 15:08
I did it already long time ago. But it is not always possible (or really time-consumnig) to find out which formats are supported by hardware, e.g. if you try to help people, who post their setups on forums, making sometimes wrong assumption that their hardware should support some specific formats they have problems with.
With HDMI, if you want to be sure you can use Monitor Asset Manager from EnTech Taiwan: http://www.entechtaiwan.com/util/moninfo.shtm

It shows in detail which audio formats are supported by your HDMI sink, e.g. on my AVR:
CE audio data (formats supported)
LPCM 8-channel, 16/20/24 bit depths at 32/44/48/88/96/176/192 kHz
DTS 6-channel, 1536k max. bit rate at 44/48/88/96 kHz
AC-3 6-channel, 640k max. bit rate at 32/44/48 kHz
DTS-HD 8-channel, 16-bit at 44/48/88/96/176/192 kHz
DD+ 8-channel at 44/48 kHz
DVD-A 6-channel at 44/48/88/96/176/192 kHz
DVD-A 8-channel at 44/48/88/96 kHz

It is more useful than Windows' Sound Control Panel applet which on my system doesn't even list all the codecs.

NikosD
10th March 2017, 09:24
The 4K HEVC 10bit clip below, has decoding problems with LAV Video latest version in both SW decoding and HW decoding during normal playback and after seeking.

The same clip plays fine using PotPlayer SW & HW decoding, during playback and after seeking.

https://www.sendspace.com/file/sdd6wk

Octo-puss
10th March 2017, 10:38
Is there any parameter for silent installation with which I could only install the 64bit version?

sneaker_ger
10th March 2017, 11:44
The 4K HEVC 10bit clip below, has decoding problems with LAV Video latest version in both SW decoding and HW decoding during normal playback and after seeking.

The same clip plays fine using PotPlayer SW & HW decoding, during playback and after seeking.

https://www.sendspace.com/file/sdd6wk
What problems? It seems to work fine here. Are you using LAV Splitter? The clip uses open-gop in mp4 which some muxers and demuxers seem to have problems with. I recommend to turn off open-gop for mp4 container.

NikosD
10th March 2017, 12:09
The framerate drops significantly during playback and after seeking and it's clearly visible like a small stuttering.

You have to decode it in a player that can handle it flawlessly to see the difference.

davidsama
10th March 2017, 19:15
That 4K HEVC 10bit clip dropped 12 frames and had a clearly visible stuttering in Mpc-hc 1.7.11.13 using lav filters 0.69.0.4.

CruNcher
11th March 2017, 00:43
The framerate drops significantly during playback and after seeking and it's clearly visible like a small stuttering.

You have to decode it in a player that can handle it flawlessly to see the difference.

Yeah its strange at the limit overall @ P010 MPC Video Decoder with MadVR and Lav splitter dropps less frames, with EVR Custom/Sync Lav Video is even strangely jumping between detected framerates sometimes it shows 60 FPS instead of 25 FPS and is only Decoding with 15 FPS Graph result looks weird.

Almost same behavior as with the FTC needed but FTC doesn't help at all this time.

MPC Video Decoder + Lav Splitter +EVR Sync/EVR Custom (smooth)

http://i1.sendpic.org/t/sI/sIPHF4YFjDvB93nOVNiCG8ertId.jpg (http://sendpic.org/view/1/i/5wkQTGktmf1kJfs9OOWjhdTKhvZ.png)
http://i1.sendpic.org/t/xD/xDwc7L43mdwW4l2HVQ9G5SDrblq.jpg (http://sendpic.org/view/1/i/hzE9H9vhsZ4xntxCHvcgvUe7T6R.png)

MPC Video Decoder + Lav Splitter + MadVR (smooth)

http://i1.sendpic.org/t/zV/zVeAfOiRwBLnbjRHbYsrgxelj1H.jpg (http://sendpic.org/view/1/i/ipE1dE2g4zXG5nf5E8AIghFxv2I.png)

Lav Video Decoder + Lav Splitter + EVR Sync/EVR Custom (stutters like crazy, dropp count)

http://i1.sendpic.org/t/pb/pblBg5lmFXHR7Vm6qQpopvol0Cl.jpg (http://sendpic.org/view/1/i/rj6UViM53EUTFGl3cE7VQJQRMDM.png)
http://i1.sendpic.org/t/aB/aB6YmqFQhtns9yP0Chj8e423Yll.jpg (http://sendpic.org/view/1/i/5RrcD11327Wm65zQF7P6m4yG4lC.png)

Lav Video Decoder + Lav Splitter + MadVR (stutters like crazy, dropp count)

http://i1.sendpic.org/t/cy/cy54sqZkqA6EPOQdRT7uRBULeo.jpg (http://sendpic.org/view/1/i/5FjwdpCkyMclw8Z5jOB8PML0rBp.png)

I really wonder what goes on here that the Match is so crazy off with Lav Video and Hysteresis in the end so heavy and half of the frames get dropped, instead of 0.50 seconds 1 frame every second.

nevcairiel
11th March 2017, 10:18
There is no performance issue with that clip, but a timestamp issue. I have not figured out yet if the file is just broken or something screws up in the middle.
Other decoders often ignore input timestamps to some degree and create their own new ones, which can hide such issues but in other situations could potentially cause other issues instead (like sync problems).

Some basic checking shows that the decoder definitely receives wrong timestamps from the source. If the splitter screws something up or the file has "issues" is yet to be determined.

CruNcher
11th March 2017, 10:40
yeah it was pretty clear seeing the jumping framerate detection it couldn't really be a Performance issue but more container or bitstream parsing related.

Also performance mostly unlikely as MPC Video Decoder and Lav Video buildup on the same Decoder core anyways and as you said the differences are more internal tuning to the Playback chain (stability) and overall behavior with every internal part.

nevcairiel
11th March 2017, 11:17
Turns out the file is kind of broken, it has no CTTS box which is used to map the DTS to PTS timestamps, which for proper HEVC would be required to generate proper timestamps from mp4.
I applied a work-around I already had in place for H264, so when you use LAV Splitter + LAV Video, it should work now. With other source filters or other decoders, there are no such guarantees.

A long term task for me is to make LAV Video automatically detect if DTS timestamps are provided and somehow make that work (right now it relies on LAV Splitter to tell is that), but its a weird heuristic with some problems, so I'm not too eager to try to do this just to fix some broken files.

sneaker_ger
11th March 2017, 12:02
Turns out the file is kind of broken, it has no CTTS box which is used to map the DTS to PTS timestamps, which for proper HEVC would be required to generate proper timestamps from mp4.
But only when b frames are used (like in this sample), right? Or is it always required for HEVC in mp4?

nevcairiel
11th March 2017, 12:26
But only when b frames are used (like in this sample), right? Or is it always required for HEVC in mp4?

Without b frames it's probably fine without.

sneaker_ger
11th March 2017, 12:52
I see, thx.

CruNcher
11th March 2017, 13:43
Turns out the file is kind of broken, it has no CTTS box which is used to map the DTS to PTS timestamps, which for proper HEVC would be required to generate proper timestamps from mp4.
I applied a work-around I already had in place for H264, so when you use LAV Splitter + LAV Video, it should work now. With other source filters or other decoders, there are no such guarantees.

A long term task for me is to make LAV Video automatically detect if DTS timestamps are provided and somehow make that work (right now it relies on LAV Splitter to tell is that), but its a weird heuristic with some problems, so I'm not too eager to try to do this just to fix some broken files.

Understandable though i sometimes wonder if it's good at all to fix or workaround such broken streams without indicating and making those workarounds visible/selectable in the GUI as chose able paths, as Dedicated Hardware wont be so forgiving at all to whoever creates such out of specs files ;)

And a failing file is a good indicator to someone, hey you do something wrong ;)

So every parsing workaround that is Hardware Critical in some way should be rather choseable like a strict spec working mode which more imitates how dedicated hardware would react to such a stream.

Also i wonder what for regressions such a workaround could cause that without such mode switching abilities would be rather rushing through.

Currently Lav Filter only expose the VC-1 timestamp workarounds inside Lav Splitter to the outside but pretty much non of the rest that's going on in Lav Splitter and pretty much 0 of what is behind the scenes done inside Lav Video.

NikosD
12th March 2017, 14:27
Similar case with the previous file, only worst.

You can't even seek, even using latest LAV filters 0.69.08 (splitter + decoder)

HEVC 4K 8bit:
https://mega.nz/#!5lEhEKLA!MR6D8yPHFZRxdV9uECh3iQ3AYDqpZQYM3fQqXW9gd4s

sneaker_ger
12th March 2017, 14:32
Again a sample muxed with old/broken DivX "Rovi" mkvmerge. That muxer was experimental and should never be used.

NikosD
12th March 2017, 14:34
But the previous similar file didn't have such issues with LAV filters.

sneaker_ger
12th March 2017, 14:38
No I frames are marked as IDR or CRA in the bitstream (except the very first frame). Bad encode.

CruNcher
12th March 2017, 15:23
Again a sample muxed with old/broken DivX "Rovi" mkvmerge. That muxer was experimental and should never be used.

Old you mean used in their Divx Suite for Production or Beta ?, because their own released samples never had issues.

Like

fitness-trailer-8000.mkv
hollywood-makeover-8000.mkv
KAZU_(SUBTITLES)_4K23.98p_HEVC_10Mbits.mkv
SHANE_ONEIL 4K24p_HEVC_10Mbits.mkv


Writing application : DivXMKVMux 4.0.10.1893
Writing library : libDivXMediaFormat 4.0.0.0578

Writing application : DivXMKVMux 4.0.10.2513
Writing library : libDivXMediaFormat 4.0.0.0578

sneaker_ger
12th March 2017, 15:32
I don't know about DivXMKVMux. If in doubt: avoid it. Especially if it's older than HEVC support in official mkvmerge.

CruNcher
12th March 2017, 15:42
it looks like though some used it for Production and those broken streams are circulating now or some strange de/muxing operation created those non interoperable files now

Similar case with the previous file, only worst.

You can't even seek, even using latest LAV filters 0.69.08 (splitter + decoder)

HEVC 4K 8bit:
https://mega.nz/#!5lEhEKLA!MR6D8yPHFZRxdV9uECh3iQ3AYDqpZQYM3fQqXW9gd4s


Seeking though works somewhat here just takes ages also because the 4 cores are under practical full load and even the MadVR overhead seems already to much ;)

Runs a bit better without MadVR overhead but it's at the Edge of the Cores with some Latency issues here and there though not using latest lav decoder not sure if any improvements where done on the CPU decoding part it seems partly still underutilized.

Though threading efficiency is problematic in this lav decoder and 99% is at such a critical edge there are no words for it how critical without efficient threading ;).

That tractor scene kills it for some seconds pretty much at its motion peak (which most probably is also the complexity peak of the whole encode) ;)

http://i1.sendpic.org/t/hA/hA5bD6NZ9MgS6stZeuetPv65j5u.jpg (http://sendpic.org/view/1/i/6Kw5qrkg0SznVGMQVmERWng4d4r.png)

And that is also pretty much DivX Profile target here ;)

Wonder if i can lower the complexity with Nvidias Encoder in Realtime without hurting it much, especially in those high motion scenes they are anyway semi perceptible overall already :)

PS: Either i imagine things or some frames look very familiar from somwhere.

Hmm

That Cowboy, Rollercoster and Skateboard scene trigger something.

groen
13th March 2017, 14:00
You should disable passthrough for E-AC3. Then LAV Audio will work fine. Your receiver (or sound driver) does not support E-AC3 bitstreaming. LAV Audio decoder does not (yet) have a fallback to normal decoding when passthrough fails.

Thanks for the reply.

The reason this was not working was it requires hdmi cable rather than optical cable to passthrough.

It works fine over HDMI. Probably because of the bitrate requirements.

Sorry to bother.

LigH
14th March 2017, 09:01
I do remember that S/P-DIF or TOS-Link were limited to bitrates of 48 kHz stereo (1536 kbps). No chance to use it for 6-channel PCM. Some HD audio formats may surpass this as well.

clsid
14th March 2017, 16:41
AviSynth scripts crash with AviSynthPlus r1576. Got broken between 0.68.1-25-82c5743 and 0.68.1-33-4fde984

nevcairiel
14th March 2017, 18:15
LAV now requires AviSynth 2.6, and 2.5 is no longer supported, and I cannot comment on AVS+. If it doesn't match AVS 2.6 behavior/features, then its not supported.

clsid
14th March 2017, 22:58
The most recent changes in FFmpeg regarding AVS are for AVS+ specific (extra) colorspaces. So it is supposed to work with AVS+ as well.

nevcairiel
14th March 2017, 23:02
LAV just uses ffmpeg, so if it doesn't work then it doesn't work. There is no AVS specific code in LAV itself.
Feel free to test with ffmpeg itself to see if it works there.

djesteban
15th March 2017, 04:40
AviSynth scripts crash with AviSynthPlus r1576. Got broken between 0.68.1-25-82c5743 and 0.68.1-33-4fde984

Thanks for reporting it here clsid! I was about to post this too!
I will try to test it with the latest release of ffmpeg and post the result here.

djesteban
15th March 2017, 05:11
Hahaha! omg here's the message I got when trying to play my avs script in ffplay (comes with ffmpeg).
AviSynth version is too old. Please upgrade to either AviSynth 2.6 >= RC1 or AviSynth+ >= r1718.
So, i went to the Avisynth+ website thinking maybe I didn't click the right thing earlier this week when I upgraded my version... and it still downloads build r1576.....
So I checked here on Doom9 and found this post (https://forum.doom9.org/showthread.php?p=1643908#post1643908) that was updated last July with a fork of the project hosted on github.
Newest version there is r2440
There is no installer, but you can use the installer from r2294 (http://www.dropbox.com/s/f0a55fixmvagroa/AviSynth%2B%20r2294.7z?dl=0) and overwrite the files manually after.
Will then work with ffmpeg , lav and mpc-hc :)

LigH
15th March 2017, 08:40
Do not go to the AviSynth+ website to download (it may still link the "ancient" non-MT release). Instead, check the forum thread (https://forum.doom9.org/showthread.php?t=168856) for MT releases by pinterf, like Avisynth+ r2440-MT (https://forum.doom9.org/showthread.php?p=1800445#post1800445), or his releases on github (https://github.com/pinterf/AviSynthPlus/releases).

Q-the-STORM
16th March 2017, 02:34
Is there a way to get the correct HDR infoframe from a file with LAV?

I use MPC-HC + LAV + madVR and a HDFury integral, so I can use HDR passthrough mode with madVR, but I still need the infoframe from the file for the Integral.

clsid
16th March 2017, 03:03
HDR passthrough mode in MadVR has not been implemented yet. It doesn't do anything right now...

Q-the-STORM
16th March 2017, 04:55
HDR passthrough mode in MadVR has not been implemented yet. It doesn't do anything right now...
the passthrough of HDR metadata via infoframe has not been implemented. But, I don't need it if I use the Integral to inject the Infoframe myself. I just need the infoframe from the file so I can inject it.

sneaker_ger
16th March 2017, 12:17
Use MediaInfo to read HDR metadata from HEVC or MkvInfo to read from mkv/webm.

CruNcher
16th March 2017, 12:56
or
https://hdr.avtop.com/hdr_solutions_avtop

EpsilonX
18th March 2017, 02:01
@nevcairiel
Hi nev, I ran into a tiny problem with recent LAV, the last working revision was 0.68.1-46.
Since then, some videos became a stuttery mess, It can only be played normally if I disable DXVA.
Here's a short sample...

http://mir.cr/6KNZUMGL

PS:
Pay no attention to the video source :devil:

NikosD
18th March 2017, 05:52
@nevcairiel
Hi nev, I ran into a tiny problem with recent LAV, the last working revision was 0.68.1-46.
Since then, some videos became a stuttery mess, It can only be played normally if I disable DXVA.
Here's a short sample...

http://mir.cr/6KNZUMGL

PS:
Pay no attention to the video source :devil:

Can you upload it to sendspace.com or somewhere else that it doesn't need registration like your host ?

EpsilonX
18th March 2017, 07:31
Can you upload it to sendspace.com or somewhere else that it doesn't need registration like your host ?

What registration..? :rolleyes:
just click on "Click Here", I upload it to 4 host...
No registration needed...

NikosD
18th March 2017, 07:51
What registration..? :rolleyes:
just click on "Click Here", I upload it to 4 host...
No registration needed...

Right, I was blind.
Dropjiffy is OK to download.

That H.264 SD clip in MP4 container plays fine with CPU decoding, but using DXVA2 of LAV video has issues.

But on the other hand, PotPlayer can decode it fine in both SW&HW decoding.

So, the file seems not broken, maybe LAV splitter's issue ?

EpsilonX
18th March 2017, 09:07
That H.264 SD clip in MP4 container plays fine with CPU decoding, but using DXVA2 of LAV video has issues.

But on the other hand, PotPlayer can decode it fine in both SW&HW decoding.

So, the file seems not broken, maybe LAV splitter's issue ?

Exactly, only DXVA which is affected...
I'm using ZoomPlayer + LAV + MadVR...
Maybe this commit..?

https://github.com/Nevcairiel/LAVFilters/commit/6a03ce4a405e7fad4231201433df12099ff90bb4

nevcairiel
18th March 2017, 22:50
It was indeed caused by that commit, it is however technically not a "bug", but a limitation resulting from how the hardware decoder works (ie. it runs out of surfaces due to the combination of 16 ref frames and strict mode).
In any case, I'll make it disable strict mode when hwaccel is used, it may result in losing one frame or so at the start of a badly cut stream, but not double the requirement of surfaces, which can even result in failure.

NikosD
23rd March 2017, 18:13
It was indeed caused by that commit, it is however technically not a "bug", but a limitation resulting from how the hardware decoder works (ie. it runs out of surfaces due to the combination of 16 ref frames and strict mode).
In any case, I'll make it disable strict mode when hwaccel is used, it may result in losing one frame or so at the start of a badly cut stream, but not double the requirement of surfaces, which can even result in failure.

There is a HUGE problem with every HEVC clip I tried using latest nightly 0.69.14 and HW acceleration with my Haswell Core i3-4170.

I tried both DXVA native and copy-back.

Whenever it starts decoding in the middle of the file, it stucks there and can't go on.

You have to set the player to remember last position of playback, move forward the file to a random position, then close the player and reopen it.

It stucks there, can't decode a single frame!

LigH
23rd March 2017, 19:09
I bet if you disable HW acceleration, so the whole decoding is done on your CPU with LAV Filters' decoding software, this won't happen? ... So you can't blame LAV Filters for your hardware failure?

NikosD
23rd March 2017, 19:58
Have you done any tests using LAV latest nightly after all those changes in HW decoding of the last commits and everything is working fine with HEVC ?

Because on my exact same HW, the HW decoding of H.264 works fine.

So, I bet you have no idea what I'm talking about and what are you talking about.

LigH
23rd March 2017, 20:09
OK, you will be right here. :o

CruNcher
23rd March 2017, 20:59
Have you done any tests using LAV latest nightly after all those changes in HW decoding of the last commits and everything is working fine with HEVC ?

Because on my exact same HW, the HW decoding of H.264 works fine.

So, I bet you have no idea what I'm talking about and what are you talking about.

Hm could be the same issue nev spoke about the same way this ref 16 sample fails with it on Nvidias Decoder, it just freezes.

Cyberlink DXVA
Potplayer DXVA
Mainconcept DXVA
CoreAVC 3.0.1 DXVA
MPC DXVA
Microsoft DTV-DVD DXVA (Mainconcept)

dont fail on this sample like Lav DXVA does currently freeze, some seem to fallback to CPU though ;)

oha in case of CoreAVC DXVA it seems to be rather completely broken by now (no bitstream works anymore it's completely dead and falling back to CPU for anything, CUVID decoding is still working also with this sample but DXVA seems pretty dead with CoreAVC it totally stooped working).

nevcairiel
23rd March 2017, 23:54
There is a HUGE problem with every HEVC clip I tried using latest nightly 0.69.14 and HW acceleration with my Haswell Core i3-4170.

I tried both DXVA native and copy-back.

Whenever it starts decoding in the middle of the file, it stucks there and can't go on.

You have to set the player to remember last position of playback, move forward the file to a random position, then close the player and reopen it.

It stucks there, can't decode a single frame!

Works fine for me on every clip I tried.

Hm could be the same issue nev spoke about the same way this ref 16 sample fails with it on Nvidias Decoder, it just freezes.

16 references is invalid for HEVC, and the 16ref H.264 sample above plays just fine with the latest version.

NikosD
23rd March 2017, 23:57
Did you try with a hybrid HEVC decoder like Haswell's ?

I didn't have such problems with LAV 0.69.08 nightly.

nevcairiel
24th March 2017, 00:01
There are no changes to HEVC decoding between 8 and 14, only a fix for H264 (which has zero impact on HEVC), two audio related changes, and a bit of minor cleanup without an actual impact.

NikosD
24th March 2017, 00:05
There were a few changes to HW acceleration because you fixed that HEVC clip that couldn't seek using DXVA and then I saw a few others in recent commits.

nevcairiel
24th March 2017, 00:14
There were a few changes to HW acceleration because you fixed that HEVC clip that couldn't seek using DXVA and then I saw a few others in recent commits.

There was no seek fix, only the fix for some stuttering files (wrong timestamps in some hevc mp4 files), which already was in 8, and the other more recent changes only affect H264 (and possibly MPEG2).
I do know what I changed, afterall.

NikosD
24th March 2017, 08:24
OK, you will be right here. :o
There was no seek fix, only the fix for some stuttering files (wrong timestamps in some hevc mp4 files), which already was in 8, and the other more recent changes only affect H264 (and possibly MPEG2).
I do know what I changed, afterall.

It seems that I was wrong.

I tried my 2nd system with Win 10 x64 system (same version/updates) with a RX 470 and works fine.

So, I went back to my Haswell system and tried:

MPC-HC 1.7.11.13 + LAV 0.69.14
MPC-HC 1.7.11 Stable + LAV built-in
MPC-HC 1.7.10 Stable + LAV built-in
MPC-HC 1.7.9 Stable + LAV built-in
MPC-HC 1.7.8 Stable + LAV built-in
MPC-HC 1.7.7 Stable + LAV built-in (oldest MPC-HC app with LAV HEVC HW decode support)

They all crashed with my Core i3 4170!

Something is broken in my system.
I can't think of anything else.

Sorry for the false alarm.

Octo-puss
24th March 2017, 09:39
Is there anything I can do with LAV settings so that .mkv files play in Windows Media Player?

sneaker_ger
24th March 2017, 11:00
Did you run the LAV installer with MKV activated during setup? What version of Windows/Media Player?

In newer Windows versions you may need to deactivate Media Foundation or set preferred filter or something. I'm not 100% sure what's best. https://www.codecguide.com/windows7_preferred_filter_tweaker.htm
But it might have side effects so I'd recommend using e.g. MPC-HC instead.

LigH
24th March 2017, 14:45
@ NikosD:

Well, I am even surprised how much a (presumed) pure software decoder is involved in hardware accelerated decoding. ;)

NikosD
24th March 2017, 15:35
Which is pure SW decoder?

LAV video is the first HW decoder of the open source community that the other developers follow (copy)

LigH
24th March 2017, 15:58
That may be my mistake. I only imagined LAV Filters as a DirectShow interface to libavfilter and libavcodec. I did not think of an additional interface to hardware decoding APIs; but this is obviously more relevant than ever.

tahaa7
25th March 2017, 21:38
I recently bought a new laptop, which has a iGPU (Intel HD 630) and also a dedicated NVIDIA GTX 1050. However, I cannot get LAV Video Decoder to use the NVIDIA for hardware accelerated decoding using DXVA, either native or copy-back. Both of these options trigger only the iGPU, and I cannot manually select the NVIDIA chip. The only way I can get to use the NVIDIA is by selecting CUVID, but shouldn't it supposed to work with DXVA as well? What am I missing?

P.S.: My operating system is Windows 10 x64.

sneaker_ger
25th March 2017, 21:45
You can only use the GPU which is set to run your player which is usually the iGPU. You can change that (http://nvidia.custhelp.com/app/answers/detail/a_id/2615/~/how-do-i-customize-optimus-profiles-and-settings) (hope this guide is still valid). But: why do you want to do this? Using the Intel decoder saves battery, doesn't it? Intel Kaby Lake is a powerful decoder.

tahaa7
26th March 2017, 00:05
You can only use the GPU which is set to run your player which is usually the iGPU. You can change that (http://nvidia.custhelp.com/app/answers/detail/a_id/2615/~/how-do-i-customize-optimus-profiles-and-settings) (hope this guide is still valid). But: why do you want to do this? Using the Intel decoder saves battery, doesn't it? Intel Kaby Lake is a powerful decoder.

Well, I read in a NVIDIA whitepaper on Optimus (http://www.nvidia.com/object/LO_optimus_whitepapers.html) that DXVA calls automatically trigger the dedicated NVIDIA GPU. However, with LAV Video's (or MPC's) DXVA calls, that seems not to be the case for some reason (I checked using NVIDIA's notification area tool).

Also, I know about the options that the guide you linked to describes, but you can't do that with MPC-HC unfortunately, since it is greyed out in the NVIDIA Control Panel to "Integrated graphics" (as the preferred graphics chip):

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

Also, right-clicking MPC's exe and selecting "Run with -> high perfromance NVIDIA graphics" does not change anything.

sneaker_ger
26th March 2017, 00:11
I vaguely remember renaming mpc-hc.exe to e.g. mpc-hc2.exe solves this. But again: why when Intel does decoding just fine?

P.J
26th March 2017, 06:56
Well, I read in a NVIDIA whitepaper on Optimus (http://www.nvidia.com/object/LO_optimus_whitepapers.html) that DXVA calls automatically trigger the dedicated NVIDIA GPU. However, with LAV Video's (or MPC's) DXVA calls, that seems not to be the case for some reason (I checked using NVIDIA's notification area tool).

Also, I know about the options that the guide you linked to describes, but you can't do that with MPC-HC unfortunately, since it is greyed out in the NVIDIA Control Panel to "Integrated graphics" (as the preferred graphics chip):

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

Also, right-clicking MPC's exe and selecting "Run with -> high perfromance NVIDIA graphics" does not change anything.

Wonder if it works one day!

nevcairiel
26th March 2017, 10:11
They specifically tie (known) video players to the intel GPU for power efficiency. Rename the executable and that limit goes away. In any case, not a LAV problem. It can only get access to the hardware that the OS/Drivers expose.

tahaa7
26th March 2017, 12:33
OK, so it seems their statement about DXVA calls automatically triggering the NVIDIA GPU is not entirely accurate.

clsid
26th March 2017, 16:04
You can change which GPU is used by MPC-HC with NvidiaProfileInspector (https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts).

P.J
26th March 2017, 20:01
You can change which GPU is used by MPC-HC with NvidiaProfileInspector (https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts).

How? :confused:

CruNcher
26th March 2017, 20:32
http://i1.sendpic.org/t/dq/dqPslg4L1txOxsxX1o0p1GczNsC.jpg (http://sendpic.org/view/1/i/h3h8FOKfR86eOBW4n0K6a5kwGmb.png)

Maybe it still routes around it though it stopped some time ago for the transcoding itself (was discussed here) i think might work for the Decode as well maybe also gonna occasionally go through driver regressions you never know ;)

Worth a try, though ehh dont come to the idea using this for benchmarking though this is overhead as these cheap systems are directly connected to the Intel IGPU and have no option to go physical around it you need to copy the framebuffer ;)

Before Nvidia implemented it right into the driver you had to use LucidLogix Virtu for this, which was awesome coding work that goes really deep into NT 6 :)

https://youtu.be/SHSs0HRsWzU?t=334

Thus Nvidia and Lucid came to a point of heavy arguing and Nvidia cut them off

http://stks.freshpatents.com/Lucidlogix-Technologies-Ltd-nm1.php

Lucid Engineers where practically on the forefront of what wee see comeback as DX12 and Vulkan MultiGPU ;)

API Intercept no Sli Bridge ;)

https://youtu.be/37_mRvzUOOU?t=7

khanmein
27th March 2017, 05:41
@nevcairiel for NV's laptop users have 5 choices like e.g. Adaptive, High Performance, Nvidia Driver controlled, Prefer Consistent Performance, and Optimal power.

which one should u recommend? currently, i chosen the prefer consistent performance on my bro lappy GT640M.

chros
27th March 2017, 10:08
I vaguely remember renaming mpc-hc.exe to e.g. mpc-hc2.exe solves this.
But again: why when Intel does decoding just fine?
MadVR? :)

@nevcairiel for NV's laptop users have 5 choices like e.g. Adaptive, High Performance, Nvidia Driver controlled, Prefer Consistent Performance, and Optimal power.

which one should u recommend? currently, i chosen the prefer consistent performance on my bro lappy GT640M.
Leave it on default: adaptive. Result of this setting depends also on driver version. (You can see my specs in my signature.)
You can see its effect on the monitor of nvidiainspector.

Blight
27th March 2017, 10:50
Hi nev,
A user has submitted a ".dsf" audio file.
The LAV Source filter and decoder seem to connect just fine, but it fails to connect to the audio renderer with "VFW_E_UNSUPPORTED_AUDIO (0x8004025C)" unless the audio renderer is using WSASPI output (on the user's system, I haven't tested it) or connecting the LAV Audio decoder to ffdshow audio processor first.

Here is the user submitted sample file:
https://www.dropbox.com/s/at8nk6so3nxc4b9/David%20Elias%20-%20The%20Window%20-%20Vision%20of%20Her%20%28DSD64%29%20%5B2.0_192kHz%5D.dsf?dl=0

Any feedback would be appreciated.

Octo-puss
27th March 2017, 10:59
Did you run the LAV installer with MKV activated during setup?

I don't even understand what are you talking about. There is no mkv option during installation.

sneaker_ger
27th March 2017, 11:01
I don't even understand what are you talking about. There is no mkv option during installation.
mkv = Matroska
https://abload.de/img/lav_setup_mkv_option_5pqbo.png

Octo-puss
27th March 2017, 13:47
Ah ok. In that case that is installed.
OS=Windows 7 x64.

nevcairiel
27th March 2017, 15:07
Hi nev,
A user has submitted a ".dsf" audio file.
The LAV Source filter and decoder seem to connect just fine, but it fails to connect to the audio renderer with "VFW_E_UNSUPPORTED_AUDIO (0x8004025C)" unless the audio renderer is using WSASPI output (on the user's system, I haven't tested it) or connecting the LAV Audio decoder to ffdshow audio processor first.

Here is the user submitted sample file:
https://www.dropbox.com/s/at8nk6so3nxc4b9/David%20Elias%20-%20The%20Window%20-%20Vision%20of%20Her%20%28DSD64%29%20%5B2.0_192kHz%5D.dsf?dl=0

Any feedback would be appreciated.


dsf audio files (containing DSD audio) have extremely high sample rates after being decoded to PCM, many audio devices do not support this. So unless you have an audio mixer somewhere that can resample this down to something the audio device supports, thats just going to fail.

clsid
27th March 2017, 15:59
You can change which GPU is used by MPC-HC with NvidiaProfileInspector (https://ci.appveyor.com/project/Orbmu2k/nvidiaprofileinspector/build/artifacts).1) Select the "Media Player Classic" profile on top left.
2) Set "Power Management Mode" to Adapative
3) Set "Enable application for Optimus" to 0 for Intel or 1 for Nvidia or 0x10 for the global default.
4) Press Apply changes button on top right.

tahaa7
27th March 2017, 17:47
OK, I've discovered another solution: simply deleting the MPC-HC profile using ProfileInspector. That way, if you just run MPC-HC, it'll detect the integrated GPU (or whichever is set as the global default), but if you right-click it and select "Run with graphics processor -> High performance NVIDIA processor", it'll specifically detect the NVIDIA.

Thunderbolt8
27th March 2017, 18:32
3) Set "Enable application for Optimus" to 0 for Intel or 1 for Nvidia or 0x10 for the global default.
4) Press Apply changes button on top right.
I have the problem that this setting never gets saved for me and that I have to set it to "1" again every time after restarting windows. I only had this once with one version of graphics drivers and the profile inspector that it would be saved automatically. with any other combination I am back to re-setting this every time I start the PC.

the only thing which helped was renaming the MPC-HC64.exe file

Blight
28th March 2017, 13:38
nev:
I tried enabling LAV mixer and it didn't have an effect (I guess it only mixes channels).
Is it possible to add a setting to cap (downsample) the sample rates higher than a certain user specified value?

clsid
28th March 2017, 14:01
I have the problem that this setting never gets saved for me and that I have to set it to "1" again every time after restarting windows. I only had this once with one version of graphics drivers and the profile inspector that it would be saved automatically. with any other combination I am back to re-setting this every time I start the PC.

the only thing which helped was renaming the MPC-HC64.exe fileI did some searching and the following works for a lot of people with similar problems:
Delete this folder: %programdata%\NVIDIA Corporation\Drs
(this is where the profiles are stored)

Uninstall Geforce Experience, or at least disable its services.

Edit: fixed location

Thunderbolt8
28th March 2017, 19:58
I did some searching and the following works for a lot of people with similar problems:
Delete this folder: %appdata%\NVIDIA Corporation\Drs
(this is where the profiles are stored)

Uninstall Geforce Experience, or at least disable its services.there is no "Drs" folder in my username\appdata\local\nvidia corporation folder

(I deleted the mpc-hc profile yesterday though in profileinspector)

LigH
28th March 2017, 20:08
%APPDATA% (C:\Users\user\AppData\Roaming) is not %LOCALAPPDATA (C:\Users\user\AppData\Local).

Thunderbolt8
28th March 2017, 20:48
appdata\local is the only directory containing a folder "nvidia corporation" for me

clsid
28th March 2017, 23:11
It's in %programdata% (C:\ProgramData)

Blight
30th March 2017, 13:34
nev:
An interesting issue, trying to use LAV source to load this MP3 stream and it fails (right after specifying the URL):
http://downloads.royalsociety.org/events/2017/03/gene-therapy/gene-therapy.mp3

No issue downloading and then playing the same file, any ideas?

I verified it fails in GraphStudio as well.

LigH
30th March 2017, 13:53
Maybe the leading ID3 tag with XMP metadata confuses a streaming client to estimate the bitrate?

videoh
30th March 2017, 14:00
I tried to run MPC-HC 1.7.11 (using internal LAV splitter) on Win10 to open an Avisynth script delivering YV12. It failed to render the script. When I downgraded to MPC-HC 1.7.10 everything worked. I would like to know if this is a possible LAV splitter bug and if so, if there is a work-around. Thank you.

LigH
30th March 2017, 14:25
I guess LAV Splitter may prefer to analyze input files (only by binary file content, without considering VfW hooks) to discover their container format, and may not recognize AviSynth scripts as media containers. If this depends on the MPC-HC version, it seems there is a handling exception for this case missing.

videoh
30th March 2017, 14:46
Thank you for your reply. I should have mentioned that if I add ConvertToRGB24() at the end of the script then MPC-HC 1.7.11 opens it fine. So it seems that it is not an issue of Avisynth support but rather it is specifically limited to YV12 support.

clsid
30th March 2017, 15:14
Other solutions:
- install external LAV Filters
- fix your i420 codec:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32
vidc.i420 = iyuv_32.dll
(certain Webcam software fuck up this registry value and don't restore it during uninstall)

LigH
30th March 2017, 15:30
Still funny that it works with MPC-HC 1.7.10, so there must be a difference in handling raw YUV formats?!

videoh
30th March 2017, 15:40
Other solutions:
- install external LAV Filters Still fails.

- fix your i420 codec:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32
vidc.i420 = iyuv_32.dll It's already correct.

Maybe Nev can shed some light.

max79
3rd April 2017, 16:33
If using "LAV Splitter Source" stream playback reload from start after returning from pause state. Steps to reproduce:
1. Add "LAV Source" to GraphStudio, use "http://podcast.dimitrysmirnov.ru/blog/wp-content/uploads/2017/02/propoved-82258/propoved-82258_i.mp4" as the URL.
2. Add "LAV Video Decoder", "LAV Audio Decoder", "EVR" and "Default DirectSound Renderer"
3. Connect filters.
4. Press play and let the video continue for 30seconds.
5. Pause the video.
6. Wait 1-2 minutes (network timeout on connection?)
7. Press play.
8. Content plays for 20-50 seconds (remaining buffer?) and then stops automatically before the video ends.

Any feedback would be appreciated.

max79
3rd April 2017, 16:36
AC3_5.1 selected by default rather than DTSHDMA_5.1. This value didn't work for .MKV files:
[HKEY_CURRENT_USER\Software\LAV\Splitter]
"PreferHighQualityAudio"=dword:00000001

Any feedback would be appreciated.

max79
3rd April 2017, 16:53
On my NVidia video card[Asus-GTX1060_6Gbyte] LAVVideoDecoder can play "AVC High@L4" without green image distortion only in "DVXA2 (native)" mode. Why "NVIDIA CUVID" mode didn't work well(and "DXVA2 (copy-back)" too) on all possible for downloading drivers for Windows_10_64bit from official NVidia site?

Any feedback would be appreciated.

sneaker_ger
3rd April 2017, 18:02
AC3_5.1 selected by default rather than DTSHDMA_5.1. This value didn't work for .MKV files:
[HKEY_CURRENT_USER\Software\LAV\Splitter]
"PreferHighQualityAudio"=dword:00000001

Any feedback would be appreciated.
Is the AC3 track marked default or forced? Different languages? Is your player overriding LAV choice?

max79
3rd April 2017, 18:49
Is the AC3 track marked default or forced? Different languages? Is your player overriding LAV choice?

I don't understand what do you mean "forced"? My settings:
[HKEY_CURRENT_USER\Software\LAV\Splitter]
"substreams"=dword:00000000
"prefAudioLangs"="rus,eng"

If the answer on one of the your two remaining questions was- "Yes", then the same problem would be and with other types of containers. But i have problem ONLY with MKV!

Info from "Media Info" about .MKV-file with two RUS-audio tracks:
Audio Menu ID: 1(have AC3 format)
Audio Menu ID: 2(have DTS HD MA format)

max79
4th April 2017, 12:07
Problem with "LAV Splitter Source" & "LAV Splitter". This DASH(AVC)-video stop automatically after try to starts:
https://www.dropbox.com/s/5ydixpwtg9rnl4z/%D0%9A%D0%B0%D0%BB%D0%B5%D1%82%D0%B8%D0%BD%20%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9.mp4?dl=0

Any feedback would be appreciated.

nevcairiel
4th April 2017, 12:11
Problem with "LAV Splitter Source" & "LAV Splitter". This DASH(AVC)-video stop automatically after try to starts:
https://www.dropbox.com/s/5ydixpwtg9rnl4z/%D0%9A%D0%B0%D0%BB%D0%B5%D1%82%D0%B8%D0%BD%20%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9.mp4?dl=0

Any feedback would be appreciated.

The file plays fine here with the latest nightly version.

videoh
4th April 2017, 12:16
Maybe Nev can shed some light. Apparently not.

nevcairiel
4th April 2017, 12:21
If using "LAV Splitter Source" stream playback reload from start after returning from pause state. Steps to reproduce:
1. Add "LAV Source" to GraphStudio, use "http://podcast.dimitrysmirnov.ru/blog/wp-content/uploads/2017/02/propoved-82258/propoved-82258_i.mp4" as the URL.

Try with tomrrows nightly version, I enabled reconnect for http connections.

nevcairiel
4th April 2017, 12:49
Apparently not.

I tried the most basic YV12 script, something like:

Version()
ConvertToYV12()

And it plays fine in latest MPC-HC. Even more so if you install stand-alone LAV Filters, as it will then use LAV Video to convert the video, instead of relying on a system I420 codec.

So whatever is wrong, is on your end. You didn't exactly give much information other then "it doesn't work" though, so there is nothing i can do.

sneaker_ger
4th April 2017, 12:51
@videoh
Which AviSynth version are you using?

videoh
4th April 2017, 15:50
Avisynth+ 2085

Kadano
5th April 2017, 13:35
I downloaded a version of LAV Filters that allows setting a priority chain for Hardware Decoders (see screenshot below). However, I don't remember where I found it, and I can't find it with Google any longer. Yet I want to install it on a different PC too. Does anybody know where this version is being released?

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

clsid
5th April 2017, 14:49
That is tmod version:
http://tmod.nmm-hd.org/LAVFilters/
But chain is usually pointless. Just use DXVA2 copyback.

Avisynth+ 2085
Here you can get a newer version:
http://avisynth.nl/index.php/AviSynth%2B

videoh
5th April 2017, 15:56
Thanks, clsid, I'll try it out today. These are just my growing pains from moving to Win10. :rolleyes:

max79
6th April 2017, 09:50
to sneaker_ger:
I don't understand what do you mean "forced"? My settings:
[HKEY_CURRENT_USER\Software\LAV\Splitter]
"substreams"=dword:00000000
"prefAudioLangs"="rus,eng"

If one of the two remaining questions the answer was- "Yes", then the same problem would be with other types of containers.

Info from "MediaInfo" about .MKV-file with two RUS-audio tracks:
Audio Menu ID: 1(have AC3 format)
Audio Menu ID: 2(have DTS HD MA format)

sneaker_ger
6th April 2017, 10:07
In MKV tracks can be marked as "default" and "forced". If the AC3 track is marked "default" that will have priority over quality.

https://abload.de/img/lav_mkv_default_flag_nzutj.jpg
MediaInfo should also show those flags. Unfortunately, you cut the log down...

the same problem would be with other types of containers.
Post a sample if that is the case.

max79
6th April 2017, 13:26
to sneaker_ger:
Thank you! I got an answer to my question)
If so, why I have no problems with other types of containers? And if the AC3 track is marked "forced" and not "default" what is the difference in that case?

nevcairiel
6th April 2017, 13:30
No other container defines a "Default" stream flag, only Matroska does - and LAV listens when its set. "Forced" is only used for subtitles by LAV, on an audio stream it doesn't have any impact.

LigH
6th April 2017, 14:52
@ max79:

You can inspect (and change) MKV container flags with the MKVToolnix GUI. (Also with mkvpropedit and some GUI for it, but that's rather outdated now, and not so user friendly, editing XML control files etc.)

max79
6th April 2017, 16:37
Why these HLS-streams stoped after few minutes?:
http://www.djing.com/tv/live.m3u8
http://www.djing.com/tv/animation.m3u8
http://www.djing.com/tv/classics.m3u8
http://www.djing.com/tv/dancefloor.m3u8
http://www.djing.com/tv/underground.m3u8

I can play it only through this:
https://www.hlsplayer.net/

to LigH:
Thank you for information!

Any feedback would be appreciated.

nevcairiel
6th April 2017, 16:39
Streaming support is provided "as is", it either works or it doesn't. Streaming doesn't fit very well into the current design of LAVs internals (its designed for file playback).

Helios61
8th April 2017, 15:32
LAV: 0.69.0
Mediaportal 1 current version
INTEL HD 4600 HD Audio
HDMI Connection HTPC -> Yamaha RX-V681



Hi @nevcairiel, Hi @all
I've noticed a lot of audio dropouts while playback of live tv (DVB/C) in Mediaportal with RTL TV, only the AC3 stream. With other stations and MPEG audio streams all is working fine. LAV Audio AC3 bitstreaming is configured in MediaPortal 1.
Testfile ->Link (https://www.dropbox.com/s/sak22gpwjt0c236/Der%20Blaulicht%20Report.ts?dl=0)<-

Have made some tests:
1. Playback in MP with LAV Audio (passthrough): Drop Outs
2. Playback in MP with AC3Filter (passthrough): Drop Outs
3. Playback in MP with MS DTV-DVD Audio (passthrough): Playback is fine
4. Have demuxed the audio stream from the .ts container. Playback of the ac3 stream in Foobar2000 (WASAPI) ist working fine without drop outs. In MPC/HC (LAV Audio) again dropouts.

Could you please look at this behaviour?

Best regards
Helios

max79
8th April 2017, 23:18
to nevcairiel:
I'm checked. In v0.69.0.18-git my SUPPORT REQUEST - #1 not(!) fixed. :(
And my SUPPORT REQUEST - #4 fixed now. :)

max79
9th April 2017, 00:01
Problem with "LAV Splitter Source" but only just in information delivery about audio channels. It's show 5.1ch but E-AC3_Audio-file[http://s1.demo-world.eu/hd_trailers.php?file=dolby_digital_plus_channel_check_lossless-DWEU.mkv] have 7.1ch(please see pic in attachment). Anyway this DD+ file plays correctly through "LAV Splitter Source"+"CyberLink Audio Decoder (PDVD Generic)[v9.4.0.2221]".
https://forum.doom9.org/attachment.php?attachmentid=15846&d=1491692385

Any feedback would be appreciated.

max79
9th April 2017, 00:04
Problem with "LAV Audio Decoder". It's show 5.1ch but E-AC3_Audio-file[http://s1.demo-world.eu/hd_trailers.php?file=dolby_digital_plus_channel_check_lossless-DWEU.mkv] have 7.1ch. And plays BACK channels in SIDE channels(please see pic in attachment).
https://forum.doom9.org/attachment.php?attachmentid=15847&d=1491692662
https://forum.doom9.org/attachment.php?attachmentid=15848&d=1491692670

Any feedback would be appreciated.

sneaker_ger
9th April 2017, 00:18
ffmpeg decoder doesn't decode eac3 substreams. You have to bitstream or use a different decoder. Activate "Use legacy 5.1 channel layout" to output back instead side.

max79
9th April 2017, 00:28
to sneaker_ger:
I think you are wrong! Look at my pic from my SR-#7: Codec = eac3. All DD+ audio files with 5.1ch plays fine! Problem only with DD+ 7.1ch.

huhn
9th April 2017, 06:25
looks like an ffmpeg limitation: https://trac.ffmpeg.org/ticket/4608
bitstreaming should work fine.

adding attachments doesn't mean we can see them.

nevcairiel
9th April 2017, 08:37
Please test these streams with ffmpeg, if it outputs 5.1 there, then you should report the problem there. LAV just uses ffmpeg for decoding, it doesn't implement its own decoders.
As sneaker_ger has said, dependent substreams (ie. as found on Blu-ray EAC3 tracks) are not supported, which is often used for 7.1

PS:
"Side" is the default 5.1 surround channel for Dolby codecs.

nevcairiel
9th April 2017, 08:55
Hi @nevcairiel, Hi @all
I've noticed a lot of audio dropouts while playback of live tv (DVB/C) in Mediaportal with RTL TV, only the AC3 stream. With other stations and MPEG audio streams all is working fine. LAV Audio AC3 bitstreaming is configured in MediaPortal 1.
Testfile ->Link (https://www.dropbox.com/s/sak22gpwjt0c236/Der%20Blaulicht%20Report.ts?dl=0)<-

The stream seems to be broken (the frame CRCs don't match on the audio frames with glitches). Did you have bad reception when recording it?

max79
9th April 2017, 10:36
to huhn:
Sorry. I didn't know. Now i'm fix that.

sneaker_ger
9th April 2017, 10:39
You can't fix attachments. A moderator needs to approve them manually and that often takes days. That's why most people here upload to external hosters instead. (like imgur.com, abload.de for images or sendspace.com, mediafire.com, mega.nz for other files)
But in this case we probably don't need your screenshots. You know it's an ffmpeg feature limitation.

max79
12th April 2017, 11:51
to nevcairiel:
I'm checked. In v0.69.0.20-git my SUPPORT REQUEST - #1 still did not fixed...

nevcairiel
12th April 2017, 11:53
Repeatedly asking will also not fix it. LAV Filters is provided "as is", I cannot fix every obscure use-case immediately, sorry.
Feel free to send a patch that fixes it.

Helios61
12th April 2017, 17:05
The stream seems to be broken (the frame CRCs don't match on the audio frames with glitches). Did you have bad reception when recording it?
It is german Unitymedia cable TV. Quality and signal strength are 100%. TV card is Digital Devices cine DVB-C/C2/T2.

nevcairiel
12th April 2017, 17:43
Well, the stream still appears to be corrupt, the checksums don't match for a bunch of audio frames. Can't really try to improve playback if the first message i get is wrong frame checksums - who knows what happened to the stream exactly.

manolito
12th April 2017, 19:20
@Helios61

Your stream is MPEG2-TS, and these streams ALWAYS need to be converted to PS elementary streams (with PropjectX or PVAStrumento. I prefer ProjectX).

I ran your file through ProjectX, and for the AC3 stream there were many complaints about missing sync words. But after ProjectX had repaired the audio and I remuxed it to an MPEG2 program stream it played perfectly, no dropouts and no sync problems.

Looks like UnityMedia is sending out corrupt AC3 streams...


Cheers
manolito

manolito
12th April 2017, 19:28
@nevcairiel

Since the good old DVB-T is history (in Germany), I do have lots of problems with DVB-T2... :mad:

I decode the files (mTS container, HEVC video, audio either eac3 or aac-latm) using LAVFilters with DSS2Mod. Basically this works, but it looks like leading B-Frames cannot be decoded. See this post by Mr. Cypheros (TS-Doctor):
https://cypheros.de/forum_ger/index.php?PHPSESSID=79ba096d4857235c2d131cc16234f552&topic=3702.msg25288#msg25288

Is this true? I mean, is LAV splitter to blame?


Cheers
manolito

LigH
12th April 2017, 20:03
Sounds like a usual "open GOP" issue? To support easy channel switching, video streams should be encoded with closed GOPs, I believe; but that reduces efficiency slightly...

sneaker_ger
12th April 2017, 20:43
Here (https://drive.google.com/open?id=0B5YjHFt4OQFFb2tlTy1INXFzZDQ)'s a recent sample if needed. Seeking breaks the picture until what I assume is the next keyframe. (And only one program can be used but IIRC that's by design/a known LAV limitation.)
MPC-BE splitter + LAV Video works fine.

nevcairiel
12th April 2017, 22:13
The FFmpeg TS demuxer does not offer such functionality (it doesn't know what kind of frames are in the stream, since thats codec dependent information and mpeg-ts itself does not carry such flags), and I do not currently plan to work on this myself.
I could maybe hide the frames (like h264 does) if that makes you feel better? :) It would still start decoding a "proper" image at the same spot as it does now though.

MPEG-TS is generally not a format you should expect "perfect" seeking on, because the format itself has basically no seeking support. Even finding the appropriate timecode in the file is already a slow process, and with broadcast streams can even be really annoying (ie. with wrap-around).

manolito
13th April 2017, 00:01
@sneaker_ger

Your sample is even nastier than the files I get from my new Xoro DVBT2 receiver... :mad:

MediaInfo reports 7 video and audio streams. Pretty weird already. Repacking it to MKV using the current MKVMerge works without errors, but the resulting MKV does not show any video, neither in VLC nor in DirectShow based players.

Using FFmpeg to repack the file to MKV does work, but I get a nasty A/V sync error. I need to determine the delay manually, taking the values from MediaInfo does not work.

I need to convert my HEVC TV captures to AVC because my streaming box (XTreamer Sidewinder) does not support HEVC, and I desperately need to develop an automatic way to make these conversions. Looks like I got some work ahead of me...

Cheers
manolito

Helios61
14th April 2017, 08:35
Well, the stream still appears to be corrupt, the checksums don't match for a bunch of audio frames.


Looks like UnityMedia is sending out corrupt AC3 streams...

The issue seems to be over. I didn't have noticed dropouts within the last days.
Big Thanks for yor support @nevcairiel and @manolito

oddball
14th April 2017, 15:16
I've just reinstalled Windows 10 Creators Update and I can't seem to get subs to NOT display using XYSubFilter with MPC-BE. Normally I put eng:eng|f;eng:off;*:eng;*:* in both the audio and subtitle fields under 'Advanced' in LAV Splitter. But it's not working. Subs are displaying no matter what.

Any ideas?

sneaker_ger
14th April 2017, 15:30
Do you have "Default track preference" ticked in MPC-BE "Options">"Playback"? It overrides LAV's selection.

P.S.: audio priority is only simple like e.g. "eng,jap,spa" ..., only subtitle field accepts pairs

oddball
15th April 2017, 00:07
Do you have "Default track preference" ticked in MPC-BE "Options">"Playback"? It overrides LAV's selection.

P.S.: audio priority is only simple like e.g. "eng,jap,spa" ..., only subtitle field accepts pairs

That may be why and I am sure I have asked this before and forgot about it :)

Budtz
17th April 2017, 12:04
I get presentation glitches in madvr (one every 5 minutes) with dxva copy back but not cuvid? What could cause this?

Budtz
17th April 2017, 14:21
I get presentation glitches in madvr (one every 5 minutes) with dxva copy back but not cuvid? What could cause this?

I think setting my gtx1060 to optimal performance fixes the issue. but this kind of nagates the point of using dxva in the first place since my cpu can handle 1080p just fine.

any1 got any experiance in this?

Asmodian
17th April 2017, 15:03
It is an Nvidia driver issue, while adaptive often works well the optimal power mode(s) can be too aggressive when saving power.

nevcairiel
17th April 2017, 16:09
Using CUVID puts your GPU into high performance mode at all times, thats the only reason it sometimes is perceived as "better" - you can however do the same setting in the control panel regardless of decoder API used.
So yes, put your card into Adaptive mode, avoid Optimal Power.

Budtz
17th April 2017, 18:15
thx for the info. I wonder how many turns this stuff on who dont need it thinking it gets things running more effeciently when really - unless the cpu cant handle the decoding - its drains more power

lots of sites and forums recommand turning it on to save resourses - seems it most likely will do the opposate on a modern desktop pc

I need it for HECV 4k material but its so far and few between im cosidering running decoding of the cpu to save the resourses.

I cant get HECV 4k matirial to decode. does cuvid not support this? is that why I couldnt get it to work?

I see lots of older sites saying cuvid is the best but i have a feeling that nowadays its dxva thats best

sneaker_ger
17th April 2017, 18:24
I need it for HECV 4k material but its so far and few between im cosidering running decoding of the cpu to save the resourses.
Only tick the respective "UHD 4K" and "HEVC" boxes in LAV Video. It's automatic, then.

I cant get HECV 4k matirial to decode. does cuvid not support this? is that why I couldnt get it to work?

I see lots of older sites saying cuvid is the best but i have a feeling that nowadays its dxva thats best
DXVA2 (copy-back) is recommended. CUVID can be problematic.

But what exactly do you mean by "I cant get HECV 4k matirial to decode."? Only CUVID? Not at all? Black screen? Error message? Software fallback (see "active decoder" in LAV settings during playback)? OS? HEVC 8 bit or 10 bit or 12 bit ... ?

Budtz
18th April 2017, 14:15
Only tick the respective "UHD 4K" and "HEVC" boxes in LAV Video. It's automatic, then.

Thats a good idea. thou i have set my card to run at max performance for dxva to be stable so i guess its using the resourses anyway

DXVA2 (copy-back) is recommended. CUVID can be problematic.

But what exactly do you mean by "I cant get HECV 4k matirial to decode."? Only CUVID? Not at all? Black screen? Error message? Software fallback (see "active decoder" in LAV settings during playback)? OS? HEVC 8 bit or 10 bit or 12 bit ... ?

checking active decoder its not using hardware decodoing. i get no balck screens or anything - it just uses software which resaults in 100% cpu usage

i can only get lav to decode the 4k hevc files using dxva copy back

nevcairiel
18th April 2017, 14:27
As sneaker_ger suggested, your video is likely 10-bit then, which CUVID does not support properly at this time (still waiting for NVIDIA to release the new Video Codec SDK).
In anycase, as mentioned above, DXVA is generally favorable for decoding.

nevcairiel
21st April 2017, 22:08
I've been working the last couple days on refactoring some internals of LAV Video to reduce overhead and make it more efficient, as well as generally cleaning up the code and updating to newer API standards of FFmpeg.
There is still some more work to come, but the big chunks are done. As a result, video decoding in basically all modes is slightly faster (except DXVA2-Native, which stays mostly the same, as it by-passed much of the logic already).

The catch is that I refactored *a lot* of the internals of the LAV Video avcodec module (primary software decoder, and also for the DXVA2 modes), and it is possible that there are new bugs in there that I did not find yet. So to everyone using nightly builds, it would be greatly appreciated if you would report any issues that appear in todays nightly (0.69.0-32 and newer), which did not occur before - either with earlier nightlies, or the 0.69 release.

You can find the latest nightly here:
https://files.1f0.de/lavf/nightly/

The changes I described are in 0.69.0-32 and newer builds.

ryrynz
22nd April 2017, 00:33
Any change as far as memory consumption goes? Akim asked over at the madVR Forum so I figured i might as well ask here since this is pretty significant code overhaul.

Sent from my Nexus 5X using Tapatalk

nevcairiel
22nd April 2017, 00:36
It could slightly reduce it, but memory is not a real focus. There is always a tradeoff between CPU and memory - ie. if you are memory constrained you can turn off multi-threaded decoding and it'll cut the memory usage down drastically, but of course everything will also be drastically slower.

max79
22nd April 2017, 14:30
to nevcairiel:
I'm report about issue with "LAVVideoDecoder"(+"Dmitri Render"+"EVR") in last v0.69.0.33-git for h264_main_L4.0_yuv420p & h264_high_L3.0_yuv420p i didn't see picture(all in green color) in ZP. I have issue only in NVIDIA_CUVID mode. Without "Dmitri Render" i have no issue. Please see attachment.
https://forum.doom9.org/attachment.php?attachmentid=15858&stc=1&d=1492867735

max79
22nd April 2017, 14:37
Problem with "LAV Splitter Source". It's doesn't show Album picture for remote mp3-files. Example: http://promodj.com/download/5944747/SVET%20feat.%20SevenEver%20-%20Is%20It%20Love%20%28Radio%20Mix%29%20%5BAttractive%20Music%5D%20%28promodj.com%29.mp3

Any feedback would be appreciated.

nevcairiel
22nd April 2017, 15:49
I'm report about issue with "LAVVideoDecoder"(+"Dmitri Render"+"EVR") in last v0.69.0.33-git for h264_main_L4.0_yuv420p & h264_high_L3.0_yuv420p i didn't see picture(all in green color) in ZP. I have issue only in NVIDIA_CUVID mode. Without "Dmitri Render" i have no issue.

You posted your own solution there - disable Dmitri Renderer, and it works fine.
I recommend to get support from them, its a paid product afterall, and it doesn't function in debug mode, so I can't figure out whats wrong with it.

Problem with "LAV Splitter Source". It's doesn't show Album picture for remote mp3-files. Example: http://promodj.com/download/5944747/SVET%20feat.%20SevenEver%20-%20Is%20It%20Love%20%28Radio%20Mix%29%20%5BAttractive%20Music%5D%20%28promodj.com%29.mp3


I get cover art just fine.

max79
22nd April 2017, 21:52
to nevcairiel:
Interesting, why i need to disable Dmitri Renderer? In v0.69 with my GTX-460SE i have no problem with CUVID mode. If you have NVidia card then download 30-day trial version DmitriRender_v3.0.0.1 install:
https://yadi.sk/d/IQBNSOIhjkHFc
After that you can update to v4_beta, download dmitriRender.dat from this link:
https://yadi.sk/d/qM2snDWU34fU8r
and copy it to your DmitriRender directory ("c:\Users\%username%\AppData\Roaming\DmitriRender").

About mp3: just fine if you previously download and playback him as local file. I'm asking about live stream playback.

nevcairiel
22nd April 2017, 22:26
Interesting, why i need to disable Dmitri Renderer? In v0.69 with my GTX-460SE i have no problem with CUVID mode.

I tried the trial version and its green in all decoding modes, in 0.69 as well as the latest nightly.

Anyway, like I said, I can't test it properly, because in Debug mode it refuses to load. Ask the developer of that software for help instead.

max79
23rd April 2017, 12:12
to nevcairiel:
If you have NVidia 1000series card you need to update to v4_beta, in other case you will always have green image.
About mp3-file: Why my Zoom Player didn't show album art if i playing this file in live stream mode?

romulous
24th April 2017, 13:38
So to everyone using nightly builds, it would be greatly appreciated if you would report any issues that appear in todays nightly (0.69.0-32 and newer), which did not occur before - either with earlier nightlies, or the 0.69 release.

I have a .ts file which in -24 (the last version prior to -32) plays fine, but in -32 and later, shows this at the very start of the clip (effect lasts for about 1 second before it clears up):
http://i.imgur.com/ILCe69U.png

LAV Splitter, LAV Video, Lav Audio - no hardware acceleration in use in LAV Video, just software.

romulous

nevcairiel
24th April 2017, 13:46
If you can share the file (or the start of it where this happens), then I'll see whats up.

clsid
24th April 2017, 14:17
You can cut a sample from the start of the file with DGSplit (http://www.datafilehost.com/d/9cbba0ed)

romulous
25th April 2017, 01:11
If you can share the file (or the start of it where this happens), then I'll see whats up.

Using clsid's suggestion of DGSplit, I split off the first 5 seconds of the video:
https://1drv.ms/v/s!AksqZk_W5dGsgZ9xB6vvZVy7wnc-MQ

Thanks!

nevcairiel
25th April 2017, 10:13
That was a silly mistake due to a missing update to the build script, which was needed from recent ffmpeg changes. Should hopefully be better now.
I also started a manual nightly run... during the day! :) There should be a new file in half an hour or so.

NikosD
25th April 2017, 10:37
I also started a manual nightly run... during the day! :) There should be a new file in half an hour or so.

Did you get a RyZen ? ;)

nevcairiel
25th April 2017, 10:42
No. LAV builds don't even take that long, ~20 minutes for full clean build for both architectures on the box the nightlies run on (if its not doing anything else right now), some haswell quad core.

romulous
25th April 2017, 10:55
That was a silly mistake due to a missing update to the build script, which was needed from recent ffmpeg changes. Should hopefully be better now.
I also started a manual nightly run... during the day! :) There should be a new file in half an hour or so.

Yep, fixed in -43, many thanks! :)

biship
26th April 2017, 01:57
For years I've been able to bitstream DTS with LAV. This stopped working about a month ago. I always run LAV bleeding edge.
I can no longer get the LAV Audio decoder to connect to my Denon AVR.
Can anyone tell me what's wrong or what I can try next?
I've spent too many years of my life trying to fix it.
(DTS will stream if I tell LAV to ignore it - then it goes out via the MC DTV-DVD Audio Decoder)

biship
26th April 2017, 11:35
Something broke on my HTPC about a month ago. I don't know if its LAV. I've tried almost every version of LAV since 0.69. DTS & DTS-MA bitstreaming with LAV used to work for me, and now it doesn't. Can someone please tell me whats wrong with this - or point me in the direction to try to fix it? (I've spend many hours and my head hurts).

If I enable bitstreaming in LAV, then MS DTV-DVD audio decoder is used (and not LAV), however I can not hear anything on my AVR.

If I disable bitstreaming in LAV, then LAV is used, and I can hear DTS on my AVR, however my Denon says its PCM.

dipje
28th April 2017, 10:22
Recent (and even not so recent) builds of ffmpeg playback DNXHR_444 files OK (reported as yuv444p10, ffmpeg flags them as 'tv' levels while most of the time they are 'full range' levels) (and there is even encoding support now).

I can't get playback (through MPC-HC) working with recent nightlies of the LAVFilters (which according to the changelog have some 'updated ffmpeg' commits done to them). Does LAVFilters need special support? Or at least a tag somewhere to accept to codec ID or something like that? It would make my life a lot easier if I could play back those files through MPC-HC.

Is a sample needed for this? ffmpeg / ffprobe reports the streams as "Stream #0:0(eng): Video: dnxhd (DNXHR 444) (AVdh / 0x68645641), yuv444p10le(tv, bt709/unknown/unknown),".
The built-in encoder for After Effects reports itself as 'RGB 10bit' but actually writes back yuv 444 with fullrange data (which ffmpeg wrongly reports as tv range).
Davinci Resolve's built-in encoder for DNXHR 444 lets you specify 'video levels' or 'full levels', but whatever you choose ffmpeg labels it as tv-range.
If there some way to override this in LAVFilters just for a single codec (or at least a single decoding- / playback session), or even just always assume fullrange levels for DNXHR in the source?

nevcairiel
28th April 2017, 11:00
I added handling for the AVdh type for DNxHR streams in the next build, check back in tomorrows nightly.
Overriding source range through LAV is not possible and not planned. I would recommend to report this to FFmpeg, maybe there is a flag in the bitstream somewhere which it can read (and doesn't right now).

dipje
28th April 2017, 11:16
Awesome, will check it then! :)

richardpl
28th April 2017, 14:47
It could be that 444 is always full range, but in spec its nowhere mentioned.
Could you upload 444 full and limited encoding somewhere?

dipje
28th April 2017, 16:29
if you want to check, test clip straight from resolve 14 public beta, dnxhr 10bit 444 in quicktime.

full levels: https://1drv.ms/u/s!AgtoBEiLfbmcpwdYM7OXzWbOqiI_
video levels: https://1drv.ms/u/s!AgtoBEiLfbmcpwidcI4aOuNevjcK

Resolve labels the dnxhr files als 'AVDn' I see, and they play back fine in MPC-HC with LAVFilters... or maybe I picked dnxhd 444 by accident instead of dnxhr? Rechecked the settings and it looked like dnxhr was still set :). Filesize is way smaller than the source, which is also DNXHR 444 10bit out of After Effects...

So it seems After Effects and ffmpeg itself label dnxhr_444 (and dnxhr_hqx apparently) as 'AVdh' but Resolve labels it as 'AVdn'... or Resolve public beta sneakily uses DNXHD encoder instead of DNXHR encoder if you seleect DNXHR 444 10bit..

The clip shows pure white and a bit of gray (95% white) and pure black and a dark gray (5% black), so if your levels are correct you should see the difference.

ffmpeg / ffplay labels the files as 'tv range' both, and indeed one of them shows all white/black, while the other shows the 5% and 95% patches.

chros
28th April 2017, 18:16
I've been working the last couple days on refactoring some internals of LAV Video to reduce overhead and make it more efficient, as well as generally cleaning up the code and updating to newer API standards of FFmpeg.
There is still some more work to come, but the big chunks are done. As a result, video decoding in basically all modes is slightly faster (except DXVA2-Native, which stays mostly the same, as it by-passed much of the logic already).
Thanks Nev for your continuous work on LAV!
I've just updated to x-43, will report back if something isn't good.

Edit: 1 question though:
why the install package contains old dlls? (avfilter-lav-5, avformat-lav-56, avresample-lav-2, avutil-lav-54, swscale-lav-3, avcodec-lav-56)
Are these also need?

richardpl
28th April 2017, 18:17
I checked files, and they have exactly same ACLR atom, the one which holds full/limited range flag.

Bandits
28th April 2017, 22:52
When using Enable Automatic Forced Subtitle Stream, is it always set to English language?

nevcairiel
28th April 2017, 23:11
Thanks Nev for your continuous work on LAV!
I've just updated to x-43, will report back if something isn't good.

Edit: 1 question though:
why the install package contains old dlls? (avfilter-lav-5, avformat-lav-56, avresample-lav-2, avutil-lav-54, swscale-lav-3, avcodec-lav-56)
Are these also need?

The installer does not contain those files, but its possible that previous versions may not have removed them when upgrading. They are not required.

BluesFanUK
30th April 2017, 01:55
I've got an issue whereby MadVR is making some of my videos look a weird purple/green colour, says the Matrix is GBR (says bitstream). The videos output type are NV12.

How do I play the vids normal? It's annoying me to no ends. I've got MadVR and Lavfilters installed using PotPlayer.

huhn
30th April 2017, 13:24
if the file is flagged for GBR and isn't you should contact the creator because the file has a wrong flag.

it is possible to create a GBR nv12 video but it is not practical this is a pretty bad fail.

try to add "matrix=bt709" with no " to the file name.

BluesFanUK
30th April 2017, 14:04
if the file is flagged for GBR and isn't you should contact the creator because the file has a wrong flag.

it is possible to create a GBR nv12 video but it is not practical this is a pretty bad fail.

try to add "matrix=bt709" with no " to the file name.

That worked, thanks :)

chros
30th April 2017, 17:52
The installer does not contain those files, but its possible that previous versions may not have removed them when upgrading. They are not required.
Oh, it could happen, my fault then. :o

dipje
30th April 2017, 21:30
The new AVDh tag for dnxhd / dnxhr files seems to work OK btw for me!

IanD
2nd May 2017, 06:15
Using LAV with MPC-BE under Windows 8.1 EVR (Custom) to play 3D, selecting the Line Interleaved option doesn't produce a 1920x2160 frame but a 1920x1080 frame in a window consisting of 2 truncated, wrapped around, offset and interleaved images, regardless of the MPC options I set.

If I select the OU option I do get the expected 1920x2160 frame in a window.

MPC stats suggest a 1920x1080 video which doesn't sound correct when there are 2 eye view frames joined together.

Is there a bug in the Line Interleaved handling or is MPC just not setup to handle unusual aspect ratio video without scaling to regular aspect ratios?

nevcairiel
2nd May 2017, 09:12
LAV is not involved in handling 3D rendering, you would have to ask the MPC-BE people what their renderer does.
One thing to generally keep in mind however is that most 3D display devices wouldn't accept 1920x2160 signals, so it may be intentional to compress it into 1920x1080 for HDMI transmission - but ask them why it does what it does.

Your best option is to use frame-packed 3D output anyway, if you have a HDMI 1.4 3D TV/Projector, which AFAIK only madVR implements for DirectShow players.

IanD
2nd May 2017, 11:20
LAV is not involved in handling 3D rendering, you would have to ask the MPC-BE people what their renderer does.
One thing to generally keep in mind however is that most 3D display devices wouldn't accept 1920x2160 signals, so it may be intentional to compress it into 1920x1080 for HDMI transmission - but ask them why it does what it does.

Your best option is to use frame-packed 3D output anyway, if you have a HDMI 1.4 3D TV/Projector, which AFAIK only madVR implements for DirectShow players.
Since LAV, MPC-BE and MadVR are all involved in 3D output, it's difficult to know which one is not handling Line Interleaved properly as I have no idea how much bidirectional communication occurs through the playback chain.

I have an LG passive 3D 4k OLED which I want to send 3D interleaved to as its native 3D presentation format with minimum processing by TV or player, but have not been able to achieve so far. I can get 1920x2160 as over/under correctly, so not sure why interleaved is not working in a similar way.

I get the same result using EVR or MadVR, so it is unlikely to be an issue with the renderer.

How does LAV present the decoded 3D to the player? Does it vary depending on an output type flag sent by the player application or is that all handled by the player itself?

My next stop will be to ask MPC-BE.

I don't want frame packed output but 4k 2D output with the 3D presented as Line Interleaved and since MPC-BE has a switch to select it, it theoretically should work.

madshi
2nd May 2017, 11:33
LAV sends the decoded left and right eye frames separately. LAV doesn't care what happens with the frames during rendering, that's the job of the video renderer.

madVR's "line alternative" mode was made for passive 1080p displays. In this mode half of the vertical resolution is lost because both left and right eye views are downscaled to 1920x540 and then interleaved. For passive 4K displays your best solution is to send frame packed 3D. The display should then automatically display this properly - and in full resolution. I don't know what EVR's "line interlaced" mode does, but it's probably similar to madVR's line alternative mode.

I suppose in theory it should be possible to also support a line alternative mode for 4K displays, which would then upscale the 1920x1080 left and right eye views to 3840x1080 (each) and then interleaves them to create a 3840x2160 line alternative view. This would be the most "native" 3D form the display would work with. I'm actually not sure what madVR does in line alternative mode if the output display mode is 4K. Have you tried that already? Maybe it already works? One thing is for sure, though: Sending 1920x2160 makes zero sense. That's neither a usual format, nor is it what your LG would natively display. If you want to keep the LG's internal processing at a minimum, you need to send 3840x2160 and not 1920x2160.

Anyway, this is the wrong thread for this discussion. Out of the 3 parties involved, LAV is the one which has nothing to do with line interleaved vs frame packed.

nevcairiel
2nd May 2017, 11:54
Just to confirm, as madshi said, LAV only sends the image to the renderer, both eyes as separate images. Its all up to the renderer/player to convert it into a particular format for display. There is no bidirectional communication.

IanD
2nd May 2017, 12:14
madVR's "line alternative" mode was made for passive 1080p displays. In this mode half of the vertical resolution is lost because both left and right eye views are downscaled to 1920x540 and then interleaved.

I guessed as much since a window on the 4k desktop always shows 1920x1080 and when enlarged to full 4k screen it looks softer than it should as though there is downscaling then upscaling.

Seems a little shortsighted to limit line interleaved to 1080 displays since the release of LG's passive 4k displays which can show the full 3D eye views natively without downscaling.

For passive 4K displays your best solution is to send frame packed 3D

I want more control over processing because frame packed 3D is forced to 24fps only and manipulation within the TV which I can't get access to.

I don't know what EVR's "line interlaced" mode does, but it's probably similar to madVR's line alternative mode.

EVR doesn't have a line interleaved mode: I think that is handled by MPC before passing to the renderer. However it produces the same results as MadVR, which now suggests MPC-HC is the culprit (although I think MadVR might also upset the end result if it is only configured for 1080 displays).

I suppose in theory it should be possible to also support a line alternative mode for 4K displays, which would then upscale the 1920x1080 left and right eye views to 3840x1080 (each) and then interleaves them to create a 3840x2160 line alternative view. This would be the most "native" 3D form the display would work with.

That is actually what I was expecting the LAV->MPC-BE->MadVR processing chain to do, but it isn't for Line Interleaved.

Sending 1920x2160 makes zero sense. That's neither a usual format, nor is it what your LG would natively display.

I think you misunderstand: to ensure the process chain is doing what it should, I first display output in a window on the desktop. Since I am displaying 3D as two 2D eye view frames joined together in some way on a 4k desktop, the window shows me whether the processing is being done correctly. This is how I discovered the Line Interleaved difference. Over/Under mode displays as a 1920x2160 window, but Line Interleaved displays as a 1920x1080 window when they should both be the same (albeit with the eye views structured differently within that window).

When I actually want to view the 3D as 3D, I enlarge the window to fullscreen and switch the TV to 3D mode (which means no special mode for Line Interleaved except putting on the 3D passive glasses).

If I only view the result in fullscreen, I can't definitively tell whether the process chain is working correctly.

As it happens, both Over/Under and Line Interleaved show as 3D in fullscreen, but Line Interleaved is significantly softer, which suggests the 3D is being downscaled to 1920x1080, then upscaled to 3840x2160 and throwing away vertical detail in the process. This is confirmed by viewing in a window.

Thanks for explaining how MadVR works though as it suggests there is a flaw when it comes to displaying 3D on a 4k desktop in Line Interleaved mode, however I expect there is also a similar issue in MPC-BE, perhaps for the same reason.

IanD
2nd May 2017, 12:18
Just to confirm, as madshi said, LAV only sends the image to the renderer, both eyes as separate images. Its all up to the renderer/player to convert it into a particular format for display. There is no bidirectional communication.

Thanks for the clarification and confirmation: it's not obvious to a layman such as myself.

Fabulist
2nd May 2017, 16:31
Hello everyone, excuse me if this is a silly question, but I have been researching for awhile and I cannot come up with a definite answer.

Is there a reason the mixer's levels are set at 0.71 and not at 1.0? Why would you not want the "Surround Mix Level" set at 1.0 when 7.1 are being downmixed to 5.1?

Thanks to anyone who responds in advance.

nevcairiel
2nd May 2017, 16:35
Its typically done because the front channels are more important, and one might not want the surround channels to overshadow the fronts.
Note that the Surround Mix Level is only relevant for Stereo down mix, for 7.1 -> 5.1, its not used.

Fabulist
2nd May 2017, 17:39
I see, thank you. So none of the options available concern 7.1 to 5.1?

e-t172
2nd May 2017, 18:32
Is there a reason the mixer's levels are set at 0.71 and not at 1.0?

Because that's what the standard mandates. (https://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.775-3-201208-I!!PDF-E.pdf#page=11)

Fabulist
2nd May 2017, 19:53
I see, thanks. So there none of the options serve for 7.1 to 5.1 downmixing? There is nothing I can change that will affect that in the mixer settings?

Midzuki
2nd May 2017, 20:09
I see, thanks. So there none of the options serve for 7.1 to 5.1 downmixing? There is nothing I can change that will affect that in the mixer settings?

You can always tell LAV to leave the decompressed audio unchanged, and then let ffdshow or AC3Filter do the post-processing.
And you'd better know what you're doing (or trying to do), of course :)

Fabulist
3rd May 2017, 14:57
Sorry but I did not understand what you said and how it is relevant to my question.

What I do is downmix 7.1 sources (95% blu-ray movies) to 5.1, by mixing the side speakers to the rear speakers. For technical reasons, the setup is a "legacy 5.1" setup, meaning I lack the side channels but have the rear ones - this is how the receiver is also setup.

Due to difficulties with the room, the rear speakers are set on a 90° diagonally behind me, on a 3 meter distance. So I wanted to know the 'best' way to mix the side channels to the rear ones and have relative sound accuracy.

However, seeing that the settings I mentioned do not consider this setup, I suppose there is nothing else I can do but let it be?

mclingo
6th May 2017, 00:38
I've switched off bitstreaming a while back to use reclock but after deciding to go back to bit stream I cant get DTS to bitstream at all, I just get silence and sometimes even no picture.

Its defo a LAV filter issue as its working fine in KODI and Windows 10 films and TV player.

I think i've tried everything, totally wiped MPC-BE settings and reinstalled, still no joy. I get the same problems with any media player using LAV filters.

I'm using ATI RX480, anyone have any ideas?


EDIT: doesnt work in KODI so it must be an issue with FFMEG as well on my PC, might try some different GFX drivers.

max79
6th May 2017, 14:54
Problem with LAV Splitter Source(v0.69.0-45_Nightly_32-bit) I have zero duration in GraphEdit(& ZoomPlayer) for this remote file if playback him as live-stream on first attempt run:
http://s1.demo-world.eu/hd_trailers.php?file=lg_beyond_reality-DWEU.mkv

Any feedback would be appreciated.

max79
6th May 2017, 15:13
Problem with LAV Audio Decoder(v0.69.0-45_Nightly_32-bit). This .TS-file have only 5.0 channels without LFE but audio filter can somehow output LFE(and output the audio as 5.1) despite the fact that Mixing is disable:
https://www.dropbox.com/s/i5euiw7gzx40z3b/stream_cid%3D4560.ts?dl=0

Any feedback would be appreciated.

mkver
6th May 2017, 15:47
Problem with LAV Audio Decoder(v0.69.0-45_Nightly_32-bit). This .TS-file have only 5.0 channels without LFE but audio filter can somehow output LFE(and output the audio as 5.1) despite the fact that Mixing is disable:
https://www.dropbox.com/s/i5euiw7gzx40z3b/stream_cid%3D4560.ts?dl=0

Any feedback would be appreciated.
Untick "Convert Output to Standard Channel Layouts" (which adds silent channels as appropriate).

max79
6th May 2017, 16:17
to mkver: Thank you!

mclingo
6th May 2017, 21:55
is it just my machine or is LAV audio totally messed up, or is it the creaters update?

I cant get DTS to bitstream and its not sending the right information to my speakers. Rears are summed and i'm getting not height, height is being summed to front left and right.

if i play my test audio files in windows films and TV it works find, its just anything with LAV filters, whats going on???

edit:

found this....

Microsoft Response
The Creators Update, and Windows Insider builds 14980 and later, broke "encoding Audio Processing Objects" that are used in third-party drivers to power things like Dolby Digital Live and DTS Connect, where the output of the Windows shared-mode audio engine is sent to an external decoder such as a S/PDIF audio receiver.
We have a fix in Insider builds 16183 and later. Depending on how well this works we will consider pushing out an update to the Creators Update. from Matthew v - Microsoft Engineer
i am on 15063.250 (1703) right now so hopefully we will get this sooner then the gap to 16183 fee

el Filou
7th May 2017, 22:46
Microsoft Response
The Creators Update, and Windows Insider builds 14980 and later, broke "encoding Audio Processing Objects" that are used in third-party drivers to power things like Dolby Digital Live and DTS Connect, where the output of the Windows shared-mode audio engine is sent to an external decoder such as a S/PDIF audio receiver.
We have a fix in Insider builds 16183 and later. Depending on how well this works we will consider pushing out an update to the Creators Update. from Matthew v - Microsoft Engineer

What that Microsoft engineer is describing is the re-encoding in real-time of what's coming from the Windows mixer to DTS/Dolby, not the passthrough of a source DTS/Dolby bitstream.
I'm not sure waiting for this fix from MS will fix your problem.
Or are you really decoding your DTS to LPCM in LAV, and then re-encoding it with DTS Connect?

mogli
8th May 2017, 07:07
Btw converting floats to 32bit integers can still cause clicks for loud sounds after all this years. Recommendation in the past was to use 24bit integers instead but for my setup this means the need to do another conversion to 32bit next.

nevcairiel
8th May 2017, 09:25
If the audio exceeds 100%, then it can't be converted to integer without loss. Thats just how it is, and your audio file is likely bad for exceeding the valid range.

mclingo
8th May 2017, 10:46
What that Microsoft engineer is describing is the re-encoding in real-time of what's coming from the Windows mixer to DTS/Dolby, not the passthrough of a source DTS/Dolby bitstream.
I'm not sure waiting for this fix from MS will fix your problem.
Or are you really decoding your DTS to LPCM in LAV, and then re-encoding it with DTS Connect?


I thought that initially but if you read the thread it relates to just playback of DTS files.

DTS files play fine in the windows apps, just not in LAV filter and FFD filter apps.

If you're right than i'm not sure where to do, anyone else on creaters update have fulling working DTS-DTX - note, it might appear to be working ok but mine is summing chanels together that shouldnt be.

max79
8th May 2017, 14:18
Problem with LAV Audio Decoder(v0.69.0-45_Nightly_32-bit) with MP3 format. I have audio distortion with this HLS-stream:
http://wse.planeta-online.tv:1935/live/soyuz.stream/playlist.m3u8

p.s. If i use "Nero Audio Decoder 2" i didn't have such problem.

Any feedback would be appreciated.

mogli
8th May 2017, 14:35
What I don't get is why it only happens when converting to 32bit integers and not 16 or 24bit. It also happens when downmixing with limiting. I'm using LavFilters 32bit btw.

max79
8th May 2017, 14:45
Problem with LAV Audio Decoder(v0.69.0-45_Nightly_32-bit) with TrueHD+AC3 format. I have audio distortion with this file:
https://www.dropbox.com/s/8x1i95a15w24wl8/Courtesy%20of%20One%20Six%20Right%20-%20The%20Romance%20of%20Flying_%5BTrueHD%5D.thd%2Bac3?dl=0

p.s. If i use "ffdshow Audio Decoder" i didn't have such problem.

Any feedback would be appreciated.

nevcairiel
8th May 2017, 15:30
Problem with LAV Audio Decoder(v0.69.0-45_Nightly_32-bit) with TrueHD+AC3 format. I have audio distortion with this file:
https://www.dropbox.com/s/8x1i95a15w24wl8/Courtesy%20of%20One%20Six%20Right%20-%20The%20Romance%20of%20Flying_%5BTrueHD%5D.thd%2Bac3?dl=0

Raw files with combined ac3+thd are not actually any valid file format. Don't create them. LAV does not support them and never will.
You can't just mix two audio codecs into one stream, and expect software to figure it out. We have containers with multiple-stream support for this.

nevcairiel
9th May 2017, 00:12
LAV Video was already updated to the new SDK in the last couple hours to make use of the new functionality.

thrawnrulz68
9th May 2017, 00:45
Has anyone ever been able to get LAV Filters to play id software ROQ files or VivoActive VIVO files? They have never worked for me.

Any help would be appreciated!!!

mclingo
9th May 2017, 01:14
pretty sure the problems I am having with windows 10 creaters update and DTS are connected to LAV filters, if I add the FFDSHOW filters and knock off DTS from LAV formats I get full bitstreaming back in in MPC-BE and KODI.

its a ballache to have to add these filters but at least I have a workaroud now.

Recap: cant get DTS to bit stream using LAV filters and PCM is no longer outputting DTS-X height dignals.

I dont think this is purely LAV though as i went back to 68.1 and that didnt fix the problem, its a combination for LAV and creaters update I think.

Some people might not even know theres is broke, few people bit stream, fewer have DTS-X speakers setups with ceiling or heights.

Have all of you using creaters update tested your DTS setups?

nevcairiel
9th May 2017, 01:17
Either you bitstream, or you don't. There is no way to half-bitstream and somehow lose your height channels.
Bitstreaming still works perfectly fine for me (receiver recognizes DTS-HD MA and everything), but I don't have any DTS:X hardware, and not going to buy any. If Creators Update broke it, I suggest you complain to Microsoft and/or your graphics drivers, which control HDMI bitstreaming.

sneaker_ger
9th May 2017, 07:43
Has anyone ever been able to get LAV Filters to play id software ROQ files or VivoActive VIVO files? They have never worked for me.
Do they work in ffplay/ffmpeg?

mclingo
9th May 2017, 11:07
Either you bitstream, or you don't. There is no way to half-bitstream and somehow lose your height channels.
Bitstreaming still works perfectly fine for me (receiver recognizes DTS-HD MA and everything), but I don't have any DTS:X hardware, and not going to buy any. If Creators Update broke it, I suggest you complain to Microsoft and/or your graphics drivers, which control HDMI bitstreaming.

i never suggested I was half bit streaming, I just cant bit stream with DTS for some reason using LAV filters. I can get audio back when I turn off bit stream but for some reason i'm not getting any DTS-X height information, its getting summed to front left and right.

I've no idea if creaters update has caused this or not, I think it has as I rolled back LAV, MADVR, reclock and graphics/HDMI drivers back a few months and it didn't fix it.

clsid
9th May 2017, 12:42
ROQ is supported by LAV Splitter. To make playback work the RoQV mediatype {56516F52-0000-0010-8000-00AA00389B71} needs to be added to the video decoder by nevcairiel.
VIVO is only partially supported by FFmpeg. Most samples don't play.

thrawnrulz68
9th May 2017, 23:05
ROQ works with MPC-BE's internal splitter (ROQ Source) and decoder (ROQ Video Decoder) but it will not work with LAV Filters far as I can tell. Judging by the list of supported formats in the configuration for LAV, what clsid is saying makes sense... adding that would be great!

VIVO files are very hit or miss all around. VLC and LibreOffice claim to play them but both choke on most of them. SMPlayer fairs better but is also not quite perfect. I have not seen LAV Filters work with them at all... not sure if this is possible? Maybe a handful of files out there do work? As I understand it, most of the files are H263 and G723...

mclingo
10th May 2017, 00:34
think i've found the problem with windows 10 creaters update with DTS and LAV filters, its the AC3 filter, disable it and everything comes back to life, bitstreaming everything, boom.

nevcairiel
10th May 2017, 12:50
ROQ works with MPC-BE's internal splitter (ROQ Source) and decoder (ROQ Video Decoder) but it will not work with LAV Filters far as I can tell. Judging by the list of supported formats in the configuration for LAV, what clsid is saying makes sense... adding that would be great!

I added the RoQ Video format to LAV Video

Aleksoid1978
10th May 2017, 14:01
I have Windows 10 creaters update - and no any issue with AC3/E-AC3/DTS/DTS-HD/True-HD spdif/bitstream hdmi output.

mclingo
10th May 2017, 15:08
I have Windows 10 creaters update - and no any issue with AC3/E-AC3/DTS/DTS-HD/True-HD spdif/bitstream hdmi output.

Do you have ATMOS height or ceiling speakers, does you AMP display the decoder information on the screen?

IanD
12th May 2017, 00:43
Just to confirm, as madshi said, LAV only sends the image to the renderer, both eyes as separate images. Its all up to the renderer/player to convert it into a particular format for display. There is no bidirectional communication.
Does LAV send the 3D eye views as separate images in a standardised form that can be interpreted by subsequent directshow filters as regular video, such as 1920x1080 48fps interleaved, or does any following filter need to be written specially to interpret the incoming data?

I have tried connecting LAV Video Decoder to Ffdshow Raw Video filter, but it doesn't seem to interpret 3D as anything other than 1920x1080 24fps video.

Are there any other readily available directshow filters that can take the 3D output from LAV and simply interleave or even just stack it into a 1920x2160 window for display on a 4k passive 3D TV?

nevcairiel
12th May 2017, 00:45
Its a special format for 3D videos that contains both views separately, and a filter would have to be specifically adapted to support it. Nothing like that exists.

IanD
12th May 2017, 01:23
Its a special format for 3D videos that contains both views separately, and a filter would have to be specifically adapted to support it. Nothing like that exists.

Unfortunate, but thanks for confirming that situation.

On a separate issue, I have noticed that LAV Video Decoder has undefeatable dithering with only the option to select ordered or random. Since MadVR has its own more advanced options for dithering, is it possible to disable LAV's dithering as I wouldn't think dithering an already dithered source would be desirable?

huhn
12th May 2017, 01:27
lavfilter output is bit perfect if possible.
if that is not the case and bit perfect output is impossible than it may use dither for conversation.

dithering is for example used in RGB output with YCbCr source but as long as you are not outputting RGB with lavfilter it is not doing that.

thrawnrulz68
12th May 2017, 04:26
I added the RoQ Video format to LAV Video

Thanks!!

Is this in the nightly version 0.69.0-71? I don't see RoQ in the Video Decoder configuration for that version

LigH
12th May 2017, 08:17
Because it is mainly a container format. The contained video appears to be similar to MotionJPEG (https://wiki.multimedia.cx/index.php/RoQ#0x1012_-_RoQ_JPEG).

nevcairiel
12th May 2017, 10:15
Thanks!!

Is this in the nightly version 0.69.0-71? I don't see RoQ in the Video Decoder configuration for that version

Not every minor format got a option, which means you just can't turn it off, but it still works.

nevcairiel
12th May 2017, 10:43
On a separate issue, I have noticed that LAV Video Decoder has undefeatable dithering with only the option to select ordered or random. Since MadVR has its own more advanced options for dithering, is it possible to disable LAV's dithering as I wouldn't think dithering an already dithered source would be desirable?

As huhn already said, LAV Video only dithers when it needs to, if it wouldn't that would deteriorate quality.

If you use madVR and don't mess with LAVs output format settings, then it'll generally never dither, since it can output bit-exact images.

IanD
13th May 2017, 07:52
I suppose in theory it should be possible to also support a line alternative mode for 4K displays, which would then upscale the 1920x1080 left and right eye views to 3840x1080 (each) and then interleaves them to create a 3840x2160 line alternative view. This would be the most "native" 3D form the display would work with. I'm actually not sure what madVR does in line alternative mode if the output display mode is 4K. Have you tried that already? Maybe it already works? One thing is for sure, though: Sending 1920x2160 makes zero sense. That's neither a usual format, nor is it what your LG would natively display. If you want to keep the LG's internal processing at a minimum, you need to send 3840x2160 and not 1920x2160.

If output display mode is 4k, MadVR still only creates a 1920x1080 window containing 3D information (structured as SBS, Top/Bottom or Line Interleaved). When this window is enlarged to full screen, I suspect it is simply scaling the 1920x1080 window to 3840x2160 because the 3D image looks a bit soft and especially in Line Interleaved mode it pains the eyes to look at (presumably because the independent left and right eye views have now been scaled to cross both polariser strips on the display).

If you want to be pedantic, sending 1920x2160 (line interleaved 3D) to a window on the display will not provide the proper aspect ratio and retain the 3D nature of the source, but then neither does sending 3840x2160 because the window frame makes scaling necessary which undoes the line interleaved 3D registration anyway. The only way to properly view such 3D is in fullscreen mode. I have only mentioned 1920x2160 because that is the bound of the data when you interleave the left and right eye 1920x1080 views.

If you could see your way to providing a 4k 3D option that simply interleaves the unmodified left and right eye views (or stacks them horizontally or vertically depending on output mode) and utilises fullscreen scaling to create the proper aspect ratio, those of us with 4k passive 3D displays would be appreciative. Since processing is minimal, it should also lower display render times.

thrawnrulz68
13th May 2017, 16:45
Hey nevcairiel,

I've been looking through the list of supported types in the splitter and testing some file types located at the ffmpeg archive. I've been having trouble getting the following types to play:

Yamaha SMAF - http://samples.ffmpeg.org/A-codecs/suite/MMF/ - will not play; is listed in LAV splitter

Also, the following types appear to be working in the splitter but, like ROQ before it was fixed, they all seem to have a standard codec that is used which is NOT supported in LAV:

Microsoft XMV - http://samples.ffmpeg.org/game-formats/xmv/ - the audio plays but the video codec for all the files has the FOURCC of 2VMW which will not play.
Commodore CDXL Video - http://samples.ffmpeg.org/game-formats/cdxl/ - audio plays but the CDXL video does not. Is it possible to add support?
Wing Commander III Movie - http://samples.ffmpeg.org/game-formats/wc3-mve/ - audio plays but FOURCC WC3V does not appear to be supported.

Is it possible to add these?

max79
17th May 2017, 14:25
to nevcairiel:
Problem with LAV Splitter Source. I have error message: E_FAIL (0x80004005) in GraphEdit if playback this MP3-file that have built in chapters(like in .CUE-files) as live-stream:
http://www.electromixes.com/zik/electromix_v118.mp3

p.s. If i use "FileSource(URL)+LAVSpltter" i didn't have such problem.

Any feedback would be appreciated.

Artofeel
19th May 2017, 11:24
Its a special format for 3D videos that contains both views separately, and a filter would have to be specifically adapted to support it. Nothing like that exists.
so that why I can't play 3D with LAV in Stereoscopic Player?
it expects two streams, but LAV gives one...

https://forum.doom9.org/attachment.php?attachmentid=15891&stc=1&d=1495189030

can you just split it in two streams? Option maybe?

also there is no 3D at all in new versions (from LAVFilters-0.69-45-av1_test30-git-r3851)

LAVFilters-0.69-av1_test15-git-r3806(42b9649)
https://forum.doom9.org/attachment.php?attachmentid=15892&stc=1&d=1495191044

LAVFilters-0.69-76-av1_test31-git-r3882(f72d508)
https://forum.doom9.org/attachment.php?attachmentid=15893&stc=1&d=1495191068

nevcairiel
19th May 2017, 11:55
I do not plan to offer alternate 3D transport modes, using 2 streams is inherently inferior since it requires manual synchronization, instead of just getting both views in one stream. Also, I cannot offer any support for modified custom builds.

amayra
19th May 2017, 16:54
I do not plan to offer alternate 3D transport modes, using 2 streams is inherently inferior since it requires manual synchronization, instead of just getting both views in one stream. Also, I cannot offer any support for modified custom builds.
since we are talking about modified custom builds "tmod" Is there any particular reason why you didn't use it this as patch/pull for vanilla builds ?

nevcairiel
19th May 2017, 17:03
since we are talking about modified custom builds "tmod" Is there any particular reason why you didn't use it this as patch/pull for vanilla builds ?

I can only review or comment on patches if they are submitted to me.
I'm not spending my little time on trolling the web for any changes someone made without the slightest attempt of submitting them to me.

But since you mentioned this set specifically I looked it up, and not one of the patches in there is something I would apply without serious questioning.

Budtz
19th May 2017, 22:26
I an using latest nightly.

In hdr files using cuvid madvr says unknown properties with reagrd to hdr. With dxva it corectly converts the content.

nevcairiel
19th May 2017, 22:28
I an using latest nightly.

In hdr files using cuvid madvr says unknown properties with reagrd to hdr. With dxva it corectly converts the content.

You just answered your own question, didnt you? Use DXVA.
CUVID doesn't support a bunch of things, including HDR metadata, and thats unlikely to change, since the NVIDIA API doesn't export that data.

I have said this in the past - DXVA2 Copy-Back should generally be preferred over CUVID.

Artofeel
20th May 2017, 13:10
I do not plan to offer alternate 3D transport modes, using 2 streams is inherently inferior since it requires manual synchronization, instead of just getting both views in one stream
fine then
anyway what this format IS, name? it's not field\frame separated, so then how?
and it's normal that LAV doesn't play Subset MVC (MEDIASUBTYPE_EMVC) ?
it's listed here but it's not working
https://github.com/Nevcairiel/LAVFilters/blob/master/common/includes/moreuuids.h
*using latest nightly build

nevcairiel
20th May 2017, 19:12
The format doesn't have any particular descriptive name. Its something simple and effective which madshi and myself designed last year for 3D image transport. If anyone wanted to support it, the technical descriptions are publicly available in LAVs repository.

LAV Video requires the MVC stream to be interleaved, like LAV Splitter outputs it as well. So no, that subset format is not supported (and also will not be, since its inherently more complex and a bit pointless).

Warlock
21st May 2017, 02:36
Is anyone having problems with nightly versions? Kaspersky is deleting all versions of https://files.1f0.de/lavf/nightly/, it is considering all of them as virus UDS.DangerousObject.Multi.Generic. I downloaded the official version of github, which it normally accepts, but the versions posted at https://files.1f0.de/lavf/nightly/ it deletes immediately. Is it some false positive or some other problem?

ryrynz
21st May 2017, 02:45
Will be a false positive. Best you submit a report and add whatever it detects to your trust list. You won't ever have to worry about infections from Nevcairiel's host.

nevcairiel
21st May 2017, 08:47
You can always check with eg. VirusTotal: https://www.virustotal.com/en/file/96b5cb89201bc01f4ff0d1835aac2b9b0e491f10e72f9cfafdf233e421315d68/analysis/1495352742/
If only one or two of 60 solutions find something, its often a false-positive from a heuristic match - especially when its called "generic" or something.

Warlock
21st May 2017, 13:57
Will be a false positive. Best you submit a report and add whatever it detects to your trust list. You won't ever have to worry about infections from Nevcairiel's host.

:thanks:

You can always check with eg. VirusTotal: https://www.virustotal.com/en/file/96b5cb89201bc01f4ff0d1835aac2b9b0e491f10e72f9cfafdf233e421315d68/analysis/1495352742/
If only one or two of 60 solutions find something, its often a false-positive from a heuristic match - especially when its called "generic" or something.

Got it, no problem. The most interesting is that it has no problems with the normal version, LAV 0.69 (https://www.virustotal.com/pt/file/ca247ddea684e5000647b20cfeb0e91eb83b91faed14e15add07750f515369a6/analysis/1495370695/), it passes 100%. Checking the kaspersky logs, it is deleting the test versions because of two files: unins000.exe and a temp file called LAVFilters-0.69.0.7x.tmp, because of these two files, it deletes any of the test versions . In the normal version, these 2 files pass smoothly, they consider them safe, does it be because of some different information between the files is causing the false positive?

NikosD
24th May 2017, 07:49
New (?) DXVA specs for known codecs flavors:

DirectX Video Acceleration Specification for H.264/MPEG-4 AVC Multiview Video Coding (MVC), Including the Stereo High Profile
https://www.microsoft.com/en-us/download/details.aspx?id=25200

DirectX® Video Acceleration Specification for Windows Media Video® v8, v9 and vA Decoding (Including SMPTE 421M "VC-1")
https://www.microsoft.com/en-us/download/details.aspx?id=25228

RealSnoopyDog
25th May 2017, 13:28
I tested two nightlies: 0.69.0-43 and 0.69.0-73. Everything seems to work fine except that i can not playback Blu-Rays anymore using the DLLs libaacs.dll and libbdplus.dll. When media playback should start it says "Can not render Video/Output pin, error: 0x80004005 unknown error".

With the last official LAV release 0.69 this still works.

nevcairiel
25th May 2017, 14:00
Try again with -80, it may also depend where you put those DLLs. In the directory where the players executable is should probably work best.

Mark Regalo
26th May 2017, 19:25
Why is there an audible difference between "Don't mix Stereo sources" enabled and disabled when the input is stereo and output is 5.1? What is being downmixed? The output is still stereo AFAIK but the sound is quieter when "Don't mix Stereo sources" is disabled.

nevcairiel
26th May 2017, 20:28
Why would it have to be downmixed for that option to do something? With the option on, stereo is output as stereo, with the option off, its output as 5.1, certainly there can be an audible difference between those two depending on how your audio device handles this.

Mark Regalo
26th May 2017, 21:08
Why would it have to be downmixed for that option to do something? With the option on, stereo is output as stereo, with the option off, its output as 5.1, certainly there can be an audible difference between those two depending on how your audio device handles this.

Ah, it was actually due to MpcAudioRenderer. Unchecking "Use system output channels" in it fixed the audible difference.

Am I correct in understanding that the rest of the channels are silent when stereo is mixed to 5.1+? Is this useful in situations where downstream handling of the audio is unpredictable when the number of channels output is not constant?

Pat357
27th May 2017, 15:02
Blu-Rays anymore using the DLLs libaacs.dll and libbdplus.dll.


Interesting ! Where did you get this .dll's ?

clsid
27th May 2017, 17:09
Here:
http://www.labdv.com/aacs/updater.php

If you try it out, let us know if it works good. I am curious and don't have a bluray drive.

nevcairiel
27th May 2017, 21:53
AACS decryption used to work OK-ish with discs that don't use the most recent encryptions. BD+ removal is more miss then hit though.
Haven't really tested for a long time though.

max79
28th May 2017, 11:10
to nevcairiel:
Problem with LAV Splitter Source. I can't see duration in GraphEdit for remote MP3-file:
https://media.ashevchenko.org/podcasts/media/2017-02-21_porok.mp3

Any feedback would be appreciated.

max79
28th May 2017, 11:12
to nevcairiel:
Problem with LAV Splitter_v0.69.0-80. In LAV Splitter_v0.69 i can see built in chapters on control timeline bar in ZoomPlayer_v13.5 even if playback this MP3-file as stream(or as local file):
http://www.electromixes.com/zik/electromix_v118.mp3

Any feedback would be appreciated.

wanezhiling
30th May 2017, 09:28
Hi, lav video supports 10-bit vp9 hardware decoding now, but it works with lav splitter only? at least not working with mpc-be's splitter

nevcairiel
30th May 2017, 10:03
Hi, lav video supports 10-bit vp9 hardware decoding now, but it works with lav splitter only? at least not working with mpc-be's splitter

I would imagine that DXVA2-CopyBack would work regardless of splitter used, but Native decoding requires certain information to be present during decoder startup, which LAV expects in a certain format (to be precise, the "vpcC" format used in MP4 files, similar to "avcC" used for H264 and whatnot)

leeperry
30th May 2017, 10:56
Am I missing something or can't LAV decode "XVID" fourcc videos?

sneaker_ger
30th May 2017, 11:03
Works fine here. Upload a sample and tell us which LAV version you are using and what error you get.

nevcairiel
30th May 2017, 11:32
Both "XVID" and "xvid" are in the list of supported FourCCs, fwiw.

leeperry
30th May 2017, 12:25
Oh OK thanks, I had to enable it in ffdshow otherwise PotP refused to play it.

Pat357
30th May 2017, 17:01
That would mean that lav-video is not configured properly in PotPlayer to decode xvid format.

max79
30th May 2017, 23:15
Is it possible to add MEDIASUBTYPE_Vorbis with GUID={CDDCA2D5-6D75-4F98-840E-737BEDD5C63B} in LAVAudioDecoder ?

Any feedback would be appreciated.

nevcairiel
30th May 2017, 23:18
Is it possible to add MEDIASUBTYPE_Vorbis with GUID={CDDCA2D5-6D75-4F98-840E-737BEDD5C63B} in LAVAudioDecoder ?


No. The Vorbis Decoder requires decoder initialization data, which is not provided in the MEDIASUBTYPE_Vorbis type. Instead, you should use MEDIASUBTYPE_Vorbis2 and FORMAT_VorbisFormat2/VORBISFORMAT2 format structures, which is already supported by LAV Audio (and output by LAV Splitter)

max79
31st May 2017, 11:09
Please test these streams with ffmpeg, if it outputs 5.1 there, then you should report the problem there.


If you tell me how to do it and to what address I can send bug request I'll do it.

max79
31st May 2017, 11:10
to nevcairiel:
Thanks! If i'm understand you properly it's not ffmpeg(LAVAudioDecoder) limitation but by the VORBIS format structures? We always need to use MEDIASUBTYPE_Vorbis with MEDIASUBTYPE_Vorbis2 and not separately, right ?

clsid
31st May 2017, 15:21
If you tell me how to do it and to what address I can send bug request I'll do it.
http://ffmpeg.zeranoe.com/builds/
Create a new ticket here:
http://trac.ffmpeg.org/
FFmpeg output:
ffmpeg version N-86310-g220b24c Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.1.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 63.100 / 55. 63.100
libavcodec 57. 96.101 / 57. 96.101
libavformat 57. 72.101 / 57. 72.101
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 90.100 / 6. 90.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Input #0, matroska,webm, from 'dolby_digital_plus_channel_check_lossless-DWEU.mkv':
Metadata:
encoder : libebml v1.3.0 + libmatroska v1.4.1
creation_time : 2015-04-06T16:08:55.000000Z
Duration: 00:01:34.50, start: 0.000000, bitrate: 4842 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
[eac3 @ 00000000032767e0] Dependent substream decoding is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.

nevcairiel
31st May 2017, 15:51
eac3 dependent substreams not working is a known limitation either way, so there is already tickets for that.

nevcairiel
2nd June 2017, 11:59
Just as a FYI, the next official release of LAV Filters (and any nightlies as of now) will require a SSE2 capable CPU. SSE2 has been available for 15 years, and performance tests have shown up to 10% differences in some workloads (although more typical are 2-5% for common decoders).
Even though the 64-bit build has always used SSE2 (since every 64-bit CPU supports SSE2), many people still use 32-bit - often because not all other components are available in 64-bit, and at this point I feel its a better choice to offer better performance to users of more recent hardware, then cater to over 15 year old CPUs instead.

There is no strict limitations that require this in the code, so anyone could still do custom builds simply removing the flags that instruct the compilers to use SSE2, if someone desperately needs to.

NikosD
2nd June 2017, 12:11
Have you done any speed comparisons of the current version vs the new "SSE2" ?

Because I can see that SSE2 is faster, but your current version already contains a SSE2 path, right ?

So, why the "fatter" older version supporting both older than SSE2 code and SSE2 or newer code and a new SSE2 code and better version should have any difference ?

Those questions are out of curiosity, no complaints regarding your decision.

nevcairiel
2nd June 2017, 12:15
The manually optimized assembly code is not affected, as those indeed already used SSE2 (and newer things) - the difference is in the parts of the code that are not manually optimized in assembly, ie. the code thats in C/C++, and which the compiler optimizes. Now the compiler is allowed to use SSE2 for this, resulting in a performance improvement. The compiler can't very easily generate "two paths" automatically, like we can do for the manually optimized assembly functions, which often not only support two but even more, so it needs to be told the level of optimizations it can use - which is now SSE2.

The numbers I mentioned above where tested on the current Git version, with SSE2 on and off. It varies a lot based on the files and codecs used, but generally there was always a measurable improvement.

NikosD
2nd June 2017, 12:29
So, the C/C++ compiled code affects that much (~15%) the performance, even though the manually optimised assembly parts are in full use.

Interesting, thanks.

nevcairiel
2nd June 2017, 12:30
So, the C/C++ compiled code affects that much (~15%) the performance, even though the manually optimised assembly parts are in full use.

There is a lot more C code then assembly code. Many things are very hard to fully write in assembly, but the compiler can do small optimizations in those functions using SSE/SSE2, so it helps.

max79
2nd June 2017, 17:15
Problem with LAV Splitter Source. Why it can't play this stream:
mms://online.svitle.org/Emmanuel
As workaround i must change URL like this:
mmst://online.svitle.org/Emmanuel

Any feedback would be appreciated.

p.s. Thank you for quick response clsid!

max79
2nd June 2017, 17:33
Problem with LAV Splitter Source. Why it can't play this remote file:
http://trailers.divx.com/hevc/SHANE_ONEIL 4K24p_HEVC_10Mbits.mkv
As workaround i must change URL like this:
http://trailers.divx.com/hevc/SHANE_ONEIL%204K24p_HEVC_10Mbits.mkv

Any feedback would be appreciated.

max79
2nd June 2017, 17:37
If i use "FileSource(URL)+LAVSpltter" in GraphEdit sometimes i have error message about "....TIMEOUT: ..." for this remote file:
http://trailers.divx.com/hevc/SHANE_ONEIL%204K24p_HEVC_10Mbits.mkv
And in other cases if graph builds I noticed another problem with wrong video duration. Have a look-
https://forum.doom9.org/attachment.php?attachmentid=15913&stc=1&d=1496421383

Any feedback would be appreciated.

nevcairiel
2nd June 2017, 17:52
Why it can't play this stream:
mms://online.svitle.org/Emmanuel
As workaround i must change URL like this:
mmst://online.svitle.org/Emmanuel

Thats just how mms streams work. mms:// is for HTTP transport, mmst:// is for TCP transport, it depends what kind that server is offering and you need to use the correct URL.

Why it can't play this remote file:
http://trailers.divx.com/hevc/SHANE_ONEIL 4K24p_HEVC_10Mbits.mkv
As workaround i must change URL like this:
http://trailers.divx.com/hevc/SHANE_ONEIL%204K24p_HEVC_10Mbits.mkv

Spaces in URLs always have to be encoded, thats just how URLs work. If anyone gives you a URL with a space in it, they are doing it wrong.

max79
2nd June 2017, 19:41
Thats just how mms streams work. mms:// is for HTTP transport, mmst:// is for TCP transport, it depends what kind that server is offering and you need to use the correct URL.

Spaces in URLs always have to be encoded, thats just how URLs work. If anyone gives you a URL with a space in it, they are doing it wrong.

Ok, but why LAVfilter doesn't use this order of connection?:
https://en.wikipedia.org/wiki/Microsoft_Media_Server
Enduser have no idea about correct URL or not. I've got live stream URL from radio station site. All my ten other players which is not use LAV playback stream from my example without any changes in URL name!

DIVX.COM site administrator doing it wrong. JFI- such URLs work without problems through FileSource(URL)...

Thank you!

nevcairiel
2nd June 2017, 20:34
Its just how MMS works in ffmpeg, you are always free to not use LAV for it. In general, I would recommend to use dedicated streaming filters for streaming sources, as LAV is not very optimized for it. Its optimized for local file playback, and thats what it does well.

RealSnoopyDog
6th June 2017, 23:22
Interesting ! Where did you get this .dll's ?

It is only ONE DLL that comes along with MakeMKV and you have to duplicate it ;)

@nevcairiel: With the latest libbluray.dll changes, Blu-Ray playback is working again!

max79
7th June 2017, 15:42
Try with tomrrows nightly version, I enabled reconnect for http connections.

Nev, please, can you clarify what you did with example? I have no positive changes in any of my HTTP problems with LAVSplitter_v0.69.0-87. You may try this new one trouble:
http://cdn.theoplayer.com/video/star_wars_episode_vii-the_force_awakens_official_comic-con_2015_reel_(2015)/index.m3u8
For this HLS-remote file i have got blank black box after autoreplay him by any of my media players.

Any feedback would be appreciated.

max79
7th June 2017, 15:55
Its just how MMS works in ffmpeg, you are always free to not use LAV for it. In general, I would recommend to use dedicated streaming filters for streaming sources, as LAV is not very optimized for it. Its optimized for local file playback, and thats what it does well.

What exactly DirectShow filter would you recommend?
Can you do reconnect for MMS://-streams to be able playback him without any changes in URL?

I have the same trouble and with RTSP://-streams! This stream didn't start at all if i try to play him as:
rtsp://rtsp-v3-spbtv.msk.spbtv.com/spbtv_v3_1/30_110.sdp
But if I change the URL it can start to play! What order of the connections?:
1) RTSPh (didn't start to play)
2) RTSPu (sometimes playback)
3) RTSPt (always playback)
rtspt://rtsp-v3-spbtv.msk.spbtv.com/spbtv_v3_1/30_110.sdp
4) RTSPm (didn't start to play)

Can you do reconnect for RTSP://-streams to be able playback him without any changes in URL?

Any feedback would be appreciated.

nevcairiel
7th June 2017, 17:52
I do not plan to spend much time on streaming problems, if any at all, sorry. Like I said, a dedicated streaming filter would be more appropriate. I do not know if any exist, but that doesn't change what I focus LAV on.

clsid
7th June 2017, 19:07
That RTSP:// url works here in MPC-HC.

If I play it with FFplay, then I get the warning "UDP timeout, retrying with TCP", so reconnection with different transport seems to be done automatically already.

XMonarchY
10th June 2017, 19:08
MPC-HC latest nightly uses 0.69-91 version. Can I replace the -87 files with -91 files?

mzso
10th June 2017, 19:17
So, for some incomprehensible reason using the hw deinterlacer is tied to using HW accelerated decoding, which I don't want to use because it's slower than software decoding.

But can I at least work around it? I only want to use deinterlacing for my DVB program. Can I somehow get lav to use different settings for this (cuvid+deinterlacing) program than any other? Maybe some other trick?

lvqcl
10th June 2017, 19:27
MPC-HC latest nightly uses 0.69-91 version. Can I replace the -87 files with -91 files?
0.69-91 is 0.69.0.87 + several MPCHC-specific patches.

huhn
10th June 2017, 20:42
So, for some incomprehensible reason using the hw deinterlacer is tied to using HW accelerated decoding, which I don't want to use because it's slower than software decoding.

But can I at least work around it? I only want to use deinterlacing for my DVB program. Can I somehow get lav to use different settings for this (cuvid+deinterlacing) program than any other? Maybe some other trick?

using the hardware deinterlnacer with software decoding with use up a lot of performence.
you have to up and download it from the GPU and EVR/madVR use the same deinterlnacer in the end anyway so it is just a waste to do it this way.

mzso
10th June 2017, 21:02
using the hardware deinterlnacer with software decoding with use up a lot of performence.
you have to up and download it from the GPU and EVR/madVR use the same deinterlnacer in the end anyway so it is just a waste to do it this way.

I fail to see why it is so. After decoding the video is passed to the GPU for deinterlacing and rendering it doesn't need to come back to the CPU.

I don't know about EVR, but madVR's deinterlacer performs pretty sadly. But I don't want to use either. I want LAV's HW deinterlacer, which looks far superior to madVR's and to LAV's SW deinterlacer.

huhn
10th June 2017, 22:06
they are the same deinterlancer.

only DXVA native is connecting directly to the GPU after decoding and there are serious limitations too for this.
for hardware deinterlancing you have to do the same process.

issues with deinterlancing could be driver related too.

el Filou
10th June 2017, 22:12
I don't know about EVR, but madVR's deinterlacer performs pretty sadly. But I don't want to use either. I want LAV's HW deinterlacer, which looks far superior to madVR's and to LAV's SW deinterlacer.
madVR option "force video mode" uses the GPU's hardware deinterlacer and should provide the results you want.

mzso
10th June 2017, 22:23
madVR option "force video mode" uses the GPU's hardware deinterlacer and should provide the results you want.

Sadly it doesn't. I get rather pronounced combing, compared to the none with LAV. It seems vastly inferior to LAV's HW deinterlacer.

huhn
10th June 2017, 23:27
a sample a screen from the madVR OSD and your used hardware and i should be able to tell you what is happening.

mzso
11th June 2017, 00:34
a sample a screen from the madVR OSD and your used hardware and i should be able to tell you what is happening.

Just posted in the madVR thread. Though I don't see any interesting information. (My GPU is a GTS450)

Pat357
11th June 2017, 23:23
It is only ONE DLL that comes along with MakeMKV and you have to duplicate it ;)
I guess you mean libmmbd.dll and libmmbd64.dll ?

Almost unbelievable that such small files (28 KB, 35 KB!) should do the trick.
The one I found (libaacs.dll + libbdplus.dll), but didn't test yet, where distributed together with MPV and where each over 1.2 MB.

I can't test it right now, but I assume it works for you ?
What players are supported ? MPV, MPC-HC , MPC-BE, PotPlayer, VLC ,.. ?

RealSnoopyDog
12th June 2017, 18:07
With Google, you will find e.g.

https://forum.kodi.tv/showthread.php?tid=189402

but this should not be discussed in detail here in this thread, because this here is all about LAV. If you find the time, just test it.

sauma144
12th June 2017, 22:43
Hello nevcairiel,
Could you add a way to enable/disable/configure acompressor in LAV Audio?
https://ffmpeg.org/ffmpeg-filters.html#acompressor

nevcairiel
12th June 2017, 23:27
Hello nevcairiel,
Could you add a way to enable/disable/configure acompressor in LAV Audio?
https://ffmpeg.org/ffmpeg-filters.html#acompressor

I'm not really interested in all sorts of random processing features at this time, sorry.

sauma144
13th June 2017, 07:32
I'm not really interested in all sorts of random processing features at this time, sorry.
OK. My neighbors will continue to scream because I make too much noise in the evening. ;)

LigH
13th June 2017, 07:53
There are additional audio processors available (e.g. DeDynamic or TFM for DirectShow). LAV Filters may well be pure decoders.

nevcairiel
15th June 2017, 10:37
LAV Filters 0.70

General
- Official LAV Filters builds require a SSE2 capable CPU

LAV Splitter
- Fixed: Certain MP4/MOV files didn't play or seek correctly in recent versions of LAV Splitter
- Fixed: HEVC in MP4 without PTS timestamp is being signaled appropriately
- Fixed: Closing RTSP streams did not properly call the TEARDOWN function

LAV Video
- NEW: CUVID support for VP9 8/10-bit and HEVC 10/12-bit decoding
- NEW: DXVA2 support for VP9 10-bit decoding
- Changed: Simplified the internal dataflow to reduce overhead and improve performance
- Changed: Enabled P010 output to EVR on Windows 10 Creators Update
- Fixed: Y416 output was incorrect (required by madVR 0.91.8 and newer)
- Fixed: Parsing H.264 MVC SEI NALs could fail in some cases
- Fixed: CUVID decoding could deinterlace progressive streams under certain circumstances, degrading the quality

LAV Audio
- Fixed: LATM AAC streams with Program Config Elements (PCE) (common in DVB-T2 broadcast) played with audible distortions
- Fixed: Very short PCM audio streams didn't play properly


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

Its already been half a year again since the last release, so it was about time.

NVIDIA finally released the updated NVDEC SDK (formerly CUVID), which allowed adding support for new codecs and proper 10/12-bit decoding without too much trouble, for those people that still cling to NVDEC/CUVID decoding.
In addition to that, DXVA2 also supports VP9 10-bit decoding now - with the required hardware support of course.

Overall I spend some time cleaning and optimizing LAV Video, which should lead to a small performance increase across the board - it does depend on the video and decoding mode however, so the improvements vary.

Otherwise the same as every release, a bunch of fixes that didn't make the log, some in LAV and some inherited from FFmpeg.
As always, please do report regressions, preferably with a sample file to reproduce them.

madshi
15th June 2017, 10:41
Very nice, thank you!

Can you add some details for "Fixed: Parsing H.264 MVC SEI NALs could fail in some cases"? I'm asking just in case it might also be something I need to fix in my code somewhere.

nevcairiel
15th June 2017, 10:44
Can you add some details on "Fixed: Parsing H.264 MVC SEI NALs could fail in some cases"? I'm asking just in case it might also be something I need to fix in my code somewhere.

Doubtful. You don't parse any raw H.264 stuff anywhere, do you?

The problem was that I tried to parse the SEI without un-escaping it first, which would fail if the data contained a double zero byte (which is forbidden and therefor escaped). I don't know if any real world problems came from this (at worst the subtitle offsets might have been wrong), but it logged errors in some cases.

manolito
15th June 2017, 10:51
General
- Official LAV Filters builds require a SSE2 capable CPU

Could you please tell me which 0.69 nightly is the last version which works without SSE2? I'm too lazy to try them all... :scared:

Cheers
manolito

madshi
15th June 2017, 10:55
Doubtful. You don't parse any raw H.264 stuff anywhere, do you?

The problem was that I tried to parse the SEI without un-escaping it first, which would fail if the data contained a double zero byte (which is forbidden and therefor escaped). I don't know if any real world problems came from this (at worst the subtitle offsets might have been wrong), but it logged errors in some cases.
Thanks.

(Actually I do parse h264 in some situations in madVR. I'm doing that to extract video header information in case the video decoder doesn't properly report that to me. Not needed when using LAV Video Decoder, obviously.)

sneaker_ger
15th June 2017, 11:04
Could you please tell me which 0.69 nightly is the last version which works without SSE2? I'm too lazy to try them all... :scared:
Try LAVFilters-0.69.0-85.exe.

nevcairiel
15th June 2017, 12:36
Note that you can still make non-SSE2 builds if you choose to, it'll be slightly slower but it will work. Only the official builds will require it, the source itself does not.

manolito
15th June 2017, 14:08
I cannot build the binaries myself...
Any reliable source for "non-official" builds?

Virtual_ManPL
15th June 2017, 18:15
@ nevcairiel - Thank you very much for the new stable release! :thanks:

mzso
16th June 2017, 12:10
for those people that still cling to NVDEC/CUVID decoding.

I for one am not clinging to it, but I'm forced to use it since apparently that's the only way I can get decent deinterlacing. LAV's deinterlacer wouldn't work without HW accelerated decoding, madVR's apparently doesn't work at all.

huhn
16th June 2017, 16:51
because it doesn't work for does mean it doesn't work in general.

does it work with EVR? it is using the exact same deinterlancer.

nussman
16th June 2017, 17:40
I for one am not clinging to it, but I'm forced to use it since apparently that's the only way I can get decent deinterlacing. LAV's deinterlacer wouldn't work without HW accelerated decoding, madVR's apparently doesn't work at all.
LAV's deinterlacer = ?
GPU HW Deinterlacers work with software, dxva native and dxva copyback (and cuvid). With software or dxva it depends on the videorenderer, but with madVR and EVR / EVR Custom HW deinterlacing is just fine here (Win7, Win 8.1, Win10).

nevcairiel
16th June 2017, 17:44
His problems seem to come from his TV player application which somehow does a bad job of re-initing the directshow graph on channel changes, causing madVR to drop the deinterlacing. Could probably be fixed in madVR somehow, or perhaps in the player (or using a different one).

mzso
16th June 2017, 18:49
LAV's deinterlacer = ?
GPU HW Deinterlacers work with software, dxva native and dxva copyback (and cuvid). With software or dxva it depends on the videorenderer, but with madVR and EVR / EVR Custom HW deinterlacing is just fine here (Win7, Win 8.1, Win10).

In LAV I can only enable HW deinterlacing when I enabled HW acceleration.

because it doesn't work for does mean it doesn't work in general.

does it work with EVR? it is using the exact same deinterlancer.

It seems like deinterlacing is fine with EVR, when it works. Apparently ProgDVB crashes with LAV 0.70 and disabled HW acceleration.

His problems seem to come from his TV player application which somehow does a bad job of re-initing the directshow graph on channel changes, causing madVR to drop the deinterlacing. Could probably be fixed in madVR somehow, or perhaps in the player (or using a different one).

Sadly I can't find a better one. So far this seems to be the most decent. (Despite being buggy.)

nussman
16th June 2017, 19:57
You dont have to enable HW deinterlacing in LAV.
GPU/Hardware Deinterlacing setting is for cuvid/quicksync (?) only.

You can try another deinterlacing mode (aggressive or force) in LAV or another TV-Player (i.e. DVBViewer Pro).

P.S. I hope you are not using WinXP? :)

mzso
16th June 2017, 22:52
You dont have to enable HW deinterlacing in LAV.
GPU/Hardware Deinterlacing setting is for cuvid/quicksync (?) only.

You can try another deinterlacing mode (aggressive or force) in LAV or another TV-Player (i.e. DVBViewer Pro).

P.S. I hope you are not using WinXP? :)

I'm not sure what you're trying to say. (I took a look at DVBViewer, but I found the interface really cumbersome)

(I'm on 8.1)

el Filou
17th June 2017, 10:00
I'm not sure what you're trying to say. (I took a look at DVBViewer, but I found the interface really cumbersome)

(I'm on 8.1)
MediaPortal 1 supports madVR now, maybe try it?

I'll try the free version of ProgDVB when I have time, to see if I have the same problems as you.

mzso
17th June 2017, 10:42
MediaPortal 1 supports madVR now, maybe try it?

I'll try the free version of ProgDVB when I have time, to see if I have the same problems as you.
I believe I tried MediaPortal for something a while ago. But if memory serves it has a very cumbersome tv/remote oriented UI. (which is aggravated by the fact that I'm using a desktop pc to watch TV)

manolito
17th June 2017, 13:52
Try LAVFilters-0.69.0-85.exe.
Thanks... :thanks:

Yes, this is the last version which works without SSE2.

egandt
21st June 2017, 00:33
Any idea, it is a new setup using 0.70, and is working well, but I'm getting dual LAV splitters with what appear to be doing the same thing. When I look at the playback graph I see only one copy however.

Thanks,
ERIC

nevcairiel
21st June 2017, 07:05
Perhaps the player is using it to load external subtitles or an external audio file.

mzso
21st June 2017, 12:48
MediaPortal 1 supports madVR now, maybe try it?

I'll try the free version of ProgDVB when I have time, to see if I have the same problems as you.

Hi!

So, did you try it?

el Filou
21st June 2017, 18:17
Hi!

So, did you try it?
Yes, I've answered you with a screenshot in the madVR thread.
I can use GPU deinterlacing without any problem with LAV software decoding + madVR.

huhn
21st June 2017, 21:29
can you keep this to one thread please?

nussman
21st June 2017, 21:48
I think @mzso should start a new thread for his issue with all infos from LAV and madVR thread about it for supporters.

mzso
21st June 2017, 22:16
I think @mzso should start a new thread for his issue with all infos from LAV and madVR thread about it for supporters.

If I couldn't find a solution in the dedicated thread of the stuff I'm having troubles with I doubt there'd be any in a separate thread.

nussman
21st June 2017, 22:48
Do what ever you want, but hardware deinterlacing works just fine for most LAV/madVR users. So my guess is there must be something different on your system, but if you spread out the informations in different threads its harder to help you.

mzso
22nd June 2017, 08:35
Do what ever you want, but hardware deinterlacing works just fine for most LAV/madVR users. So my guess is there must be something different on your system, but if you spread out the informations in different threads its harder to help you.

I didn't I asked here whether I could have different LAV settings for a specific app, after which the conversation trailed toward to be identical to the one in the madVR thread.

chros
22nd June 2017, 19:57
@ nevcairiel - Thank you very much for the new stable release! :thanks:
Me too :)

VictorLS
27th June 2017, 22:33
nevcairiel

LAV Filters 0.70
LAV Video
- NEW: CUVID support for VP9 8/10-bit and HEVC 10/12-bit decoding
- Fixed: CUVID decoding could deinterlace progressive streams under certain circumstances, degrading the quality

That's great (Russian says in such cases "better later than never") - with my GTX750 on GM206 work both NVIDIA CUVID h265 10bit HW decoding and playing all artifacted files without artifacts by switching off Enable CUVID DXVA Processing in Win7x64.
But it's a pity in WinXP h265 10bit HW decoding still not work as with previous versions of LAV Video Decoder - except is 0.68.1.35 modified by Aleksoid1978 which works pretty well in WinXP - correct it in future releases, please.

nevcairiel
27th June 2017, 22:38
If its broken on XP, it'll likely remain broken.

VictorLS
28th June 2017, 06:40
If its broken on XP, it'll likely remain broken.
It's a pity 2.
Where you lost your Perfectionism?

QBhd
28th June 2017, 08:02
Are you kidding? XP is beyond old! Why would you think any developer would keep supporting this? Get a grip. Besides, XP is horrible for media playback.

QB

lvqcl
28th June 2017, 11:38
There are 2 ways to make LAVFilters more perfect:
1) fix all problems with WinXP (apparently won't happen)
2) make them require Vista+

(so VictorLS should be happy that nevcairiel isn't perfectionist ;) )

VictorLS
28th June 2017, 17:53
lvqcl
Logically you're quite right, but I like first variant ;)

XP is beyond old!
But works almost perfect, incl. while playing 4K h265 10bit with hardware acceleration with LAV Video Decoder 0.68.1.35 modified by Aleksoid1978.
Why would you think any developer would keep supporting this?
Aleksoid1978 even gave diff-file. Why just implement it in modern version of LAV Video Decoder with some updates to work in XP correctly?
Besides, XP is horrible for media playback.
You're right - if playing more then one videostream, sometimes WinXP lags, but I usually plays one videostream simultaneously )
And in one videostream in KMPlayer or donateware SAT-program SmartDVB it shows all ~20 4K h265 8-10bit SAT channels I can receive quite well without any stuttering (my monitor supports 50Hz input frequency natively) - in Win7x64 I see some stutter sometimes.
PS. I saw Smurfs2 4K h265 10bit HDR in WinXP with KMPlayer and MadVR with HDR->SDR conversion setting without any stutter too (my monitor supports 2*23,976=47,952Hz input frequency natively too).

nevcairiel
28th June 2017, 19:32
As I've mentioned many times in the past - before I'll spend time trying to fix something on XP (nevermind something that requires hardware decoding, and thus XP on actual hardware, not even a VM), I'll just disable XP support entirely. So if you still use XP, I would be very careful with what you ask for. :)

VictorLS
28th June 2017, 20:14
As I've mentioned many times in the past - before I'll spend time trying to fix something on XP (nevermind something that requires hardware decoding, and thus XP on actual hardware, not even a VM)
As usual first of all thanks for reply.
I know many people (and from various forums too) using LAV in WinXP but they don't watch 4K h265 10bit because they haven't GM206-based videocard, so they are satisfied, but I require maximum possible.
I want mention, Aleksoid1978 is MPC-BE developer and MPC-BE not work in WinXP many times ago, so people I know have to use MPC-HC instead, but Aleksoid1978 spend some (very few) time to modify LAV Video Decoder work perfect in WinXP.
So if you still use XP
Of course still - as minimum while my computer supports it.
I'll just disable XP support entirely
OK. I'll just use modified 0.68.1.35 as do it now :)
It's a pity I can't use LAV Splitter and Audio Decoder separately LAV Video Decoder. When was MpegSplitter.ax, MpaDecFilter.ax and MPCVideoDec.ax it was easy possible.

PS. If you want I can ask Aleksoid1978 (or you can ask him by yourself) what the secret of h265 10bit support under WinXP implementing. I hope he'll answer to me (or you).

Groucho2004
28th June 2017, 21:29
I'll just use modified 0.68.1.35 as do it now :)Got a link for that?

P.J
28th June 2017, 21:56
Why does the edge of saturated colors look bad in prores format?
I have this problem only with prores videos :confused:

http://screenshotcomparison.com/comparison/213956

sneaker_ger
28th June 2017, 21:59
It's probably a different output format than your other videos (10 bit 4:2:2?) and your renderer/GPU driver/OS messes up. Try madvr. (Or set LAV to only output RGB/4:4:4. I assume it has a better conversion.) It's a common artifact of low quality chroma upsampling.

nevcairiel
28th June 2017, 23:31
That certainly sounds like a possibility. 4:2:2 -> RGB upsampling appears to be of weird quality on some GPUs, so using madVR or LAVs upsampling (which might not be very fast on high resolutions, though, maybe I should make an AVX variant of it) could help.

VictorLS
29th June 2017, 06:04
Got a link for that?
It was here http://forum.doom9.org/showthread.php?p=1786045#post1786045
New link to download LAVFilters-0.68.1-35.exe (10MB) https://yadi.sk/d/ylhX_1Es3KapC6

P.J
29th June 2017, 10:13
It's probably a different output format than your other videos (10 bit 4:2:2?) and your renderer/GPU driver/OS messes up. Try madvr. (Or set LAV to only output RGB/4:4:4. I assume it has a better conversion.) It's a common artifact of low quality chroma upsampling.

Yes, prores is (8 bit) 4:2:2 and avchd is 8 bit 4:2:0
I'm using Win10 GTX960 EVR-CR


That certainly sounds like a possibility. 4:2:2 -> RGB upsampling appears to be of weird quality on some GPUs, so using madVR or LAVs upsampling (which might not be very fast on high resolutions, though, maybe I should make an AVX variant of it) could help.

LAVs upsampling = set LAV to only output RGB/4:4:4 ?

sneaker_ger
29th June 2017, 10:25
Correct.

Groucho2004
29th June 2017, 10:44
It was here http://forum.doom9.org/showthread.php?p=1786045#post1786045
New link to download LAVFilters-0.68.1-35.exe (10MB) https://yadi.sk/d/ylhX_1Es3KapC6Thanks.

nevcairiel
29th June 2017, 11:08
LAVs upsampling = set LAV to only output RGB/4:4:4 ?

Or at least disable 4:2:2 modes, that'll force 4:2:2 to 4:4:4/RGB but keep 4:2:0 as-is.

P.J
29th June 2017, 12:08
Or at least disable 4:2:2 modes, that'll force 4:2:2 to 4:4:4/RGB but keep 4:2:0 as-is.

Yea, I actually did that and now it's much better :thanks:
http://screenshotcomparison.com/comparison/214003

I'll test with Intel HD4600 too, not sure what to blame :D

e-t172
29th June 2017, 18:29
Of course still - as minimum while my computer supports it.

Running a decades-old OS which has stopped getting security updates long ago, and therefore constitutes a significant threat for yourself and others, is not a "matter of course". If anything, nev would be making the world a better place by disabling XP support, as it would encourage people like you to move to a more secure OS.

manolito
29th June 2017, 20:06
... as it would encourage people like you to move to a more secure OS.

A more secure OS like Win10 for example? :devil:
That's a good joke...
(You do not read any security news, do you? "Security" and "Microsoft", these two terms are mutually exclusive.)

e-t172
29th June 2017, 20:48
Okay, I'll bite. You do realize that both OSes we are talking about were developed by the same company, right?

In addition, can you point me to at least one article from a serious website that claims that Windows XP is even comparable to Windows 10 in terms of security?

Let me suggest an experiment you could try: gather a list of the most reputed security specialists in the field (people like Bruce Schneider, Tavis Ormandy, Troy Hunt, and others) and tell them with a straight face that it's a "joke" that Win10 is more secure than WinXP. I would be curious to see how many facepalms you get.

I could go on and list all the security features that Win10 has that are not present in WinXP (UAC, Secure Boot, ASLR, BitLocker, TPM support, full DEP, service hardening, driver signing, etc.), but I have better things to do with my time. Come back when you have actual data proving that Win10 has more security vulnerabilities than WinXP (or even the same order of magnitude), then we'll talk. I would also be curious to see you explain how an OS that is not getting security updates anymore could possibly be more secure than one that is being actively patched today, because that just defies basic logic to me.

el Filou
29th June 2017, 21:33
My 2 cents regarding XP and LAV: I upgraded my HTPC (Core 2 Duo/2 GB RAM, so not a high end setup) directly from XP to Windows 10, and it is massively faster and smoother at absolutely everything, all while only consuming a few hundreds more MBs of RAM.
On my newer desktop PC, it's snappier than Windows 7 too.
Modern OSes give you all kinds of advantages when it comes to media playback, there just isn't any incentive for developers to keep supporting XP, it's a waste of time for everybody, sorry VictorLS.

VictorLS
29th June 2017, 21:47
Running a decades-old OS which has stopped getting security updates long ago...
That's offtop here but WinXP (namely embedded version) must be supported until 2020. Updates for WinXP Embedded are good for ordinary WinXP. There are good offline updatepacks for WinXP - I have limited mobile internet only and WinXP not download any byte I don't want, Win7x64 downloads few kilobytes, but Win10 seems can't leave without Internet and when I connect it begins neverending download and upload despite of turned off Windows Updates and others. There is even AntiWannaCry in KB4012598 (ms17-010) for WinXP because necessary for many old programs Windows 2003 Server is almost WinXP )
Besides, as in Win98 time when all virus writers had been written viruses for WinXP I used Win98 until 2006 and hadn't any virus. I came from Win98 to WinXP exlusively due to DirectX (DXVA). Now history repeats with H265, but thanks nVIDIA for CUVID (and LAV Video Decoder for support) - I don't need DXVA (not supported in any drivers for any videocard for H265 in WinXP) anymore.
sorry VictorLS.
Not for - I wrote my experiments with Win10 in this thread before and that's true - Win10x64 is fast on my PC too but boot from second time (after Power on my PC first boot hangs up) and check my HDDs for a long time after and not working my radioremote and Internet consumption and HDD using (head positioning all time) in any Windows after WindowsXP and many other small things )
Thanks.
You're welcome.

P.J
30th June 2017, 07:00
Windows 7 is far better than XP. I may use XP on old atom netbooks...

mzso
30th June 2017, 08:27
Windows 7 is far better than XP. I may use XP on old atom netbooks...

Since the conversation headed this way... I found 8/8.1 to be the best compromise, for now. It doesn't have all the crap of 10 (with sh*tty older hardware support), and is more efficient than 7.

P.J
30th June 2017, 10:46
Or at least disable 4:2:2 modes, that'll force 4:2:2 to 4:4:4/RGB but keep 4:2:0 as-is.

But there's a problem, de-interlacing doesn't work in RGB32 mode at all :(

huhn
30th June 2017, 11:38
you could output 4:2:0 this can still be deinterlanced if the source was 4:2:2 but it is generally not a good idea to subsample even more. on the other side 99% of all sources are 4:2:0 anyway.

can EVR-CP/madVR not handle this?

P.J
30th June 2017, 17:43
you could output 4:2:0 this can still be deinterlanced if the source was 4:2:2 but it is generally not a good idea to subsample even more. on the other side 99% of all sources are 4:2:0 anyway.

can EVR-CP/madVR not handle this?

Prores videos are mostly 4:2:2. How to output 4:2:2 as 4:2:0?
EVR-CP or plain EVR, same issue :( Haven't tried madVR yet.

Well, I tested Intel HD4600 and it has no issue at all, blaming Nvidia for outputting 4:2:2 badly xD

http://screenshotcomparison.com/comparison/214147

Interesting that Intel can de-interlace in RGB32 mode but Nvidia :scared:
I can upload a short sample if you're interested in :)

P.J
30th June 2017, 18:16
Now another topic about Inverse Telecine/IVTC pulldown, Nvidia GTX960 vs Intel HD4600

https://0-t.imgbox.com/wyuAnAkk.jpg (http://imgbox.com/wyuAnAkk) https://1-t.imgbox.com/1VpmnckY.jpg (http://imgbox.com/1VpmnckY)

http://screenshotcomparison.com/comparison/214157
http://screenshotcomparison.com/comparison/214159

Intel has very bad IVTC, sometimes works and sometimes not at all :scared:

huhn
30th June 2017, 21:20
it is technically not possible to deinterlance a 4:2:0 source that is transformed to RGB the image is scaled vertical so it can't be deinterlanced anymore. (well there is a very a technically way to do that but... complicated and unnecessary)

so RGB deinterlancing support is just bad.

if EVR-CP can handle 4:2:2 correct you should report this to MPC-HC/BE.
EVR normal has nothing to do with that.

you can force 4:2:0 by disabling everything that is not 4:2:0

dude2012
30th June 2017, 23:40
The Brave Bluray has a EAC3 track (French language). When I set Lav Audio to bitstream, my receiver displays Dolby Digital Plus +7.1. If I change Lav Audio to PCM, however, the receiver shows Multichannel 4.0 track. I know it's not an issue with my receiver or Lav Audio settings because with other Dolby Digital Plus 7.1 samples my receiver correctly shows Multichannel 7.1. Any ideas?

sneaker_ger
1st July 2017, 08:33
https://forum.doom9.org/showthread.php?p=1803228#post1803228

nevcairiel
1st July 2017, 17:42
LAV Filters 0.70.1

LAV Video
- NEW: DXVA2-CopyBack uses D3D9Ex to allow headless operation
- Changed: Increased the maximum number of decode threads to 32
- Changed: Rebalanced the "Auto" thread strategy to use the exact number of available CPU cores, instead of 1.5x the cores
- Fixed: Certain H264 streams could crash in 0.70 due to lack of buffer padding


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

Check the 0.70 release notes (https://forum.doom9.org/showthread.php?p=1809683#post1809683) for additional details.

DXVA2-CopyBack Headless

Using D3D9Ex allows using DXVA2-CopyBack decoding on the primary GPU of headless systems. Note that this only allows using the primary GPU on entirely headless systems, secondary GPUs without an attached screen are not available. This helps on media server systems to utilize DXVA2 for transcoding, for example.

Threading changes and benchmarking

LAV Video 0.70.1 rebalances the "Auto" threading strategy to use one thread for every available CPU "thread" (ie. real cores and virtual cores). Previously, LAV used 150% of the CPU threads to slightly boost benchmarking, however playback results have shown that overly taxing the CPU can cause playback glitches that wouldn't otherwise be present.

When you are benchmarking, this change should be kept in mind, and if needed the thread count adjusted manually to achieve comparable numbers.

In addition, the maximum number of threads (both in auto and manual) has been increased to 32 (from 16), to allow utilizing upcoming new CPUs with higher core counts.

PS:
It may be possible that this is the last version to work on Windows XP. I'm working on some new module that requires D3D functionality thats not available in the Windows SDK used when building with XP support, and using a newer SDK automatically removes XP support.
More details on this will follow as this feature is being developed.

NikosD
1st July 2017, 17:57
In addition, the maximum number of threads (both in auto and manual) has been increased to 32 (from 16), to allow utilizing upcoming new CPUs with higher core counts.

Knowing that you are an Intel guy, you should put max. threads to 36, according to the latest HEDT CPU Extreme Edition (XE) from Intel (18C/36T) and not 32, following AMD's HEDT CPUs - Threadripper 16C/32T

Unless of course you are like me and you don't believe that this thing - 18C/36T - can be delivered on time, later this year according to Intel ;)

nevcairiel
1st July 2017, 18:14
There is actually a 32 thread maximum limit in a few decoders, so going over that and introducing inconsistent behavior didn't seem very ideal.
Also, 32 is a much nicer number, being a power of 2 and all. :)

But no, I don't believe that CPU will likely launch this year (even though its basically just an existing CPU out of their Xeon lineup anyway, its not like they are making something new). Makes no huge difference to me either way, not something I would buy. :)

legatinho
5th July 2017, 18:04
has anyone been able to successfully output AAC 5.1 audio with LAV?

I'm running Kodi Dsplayer, with a 5.1 setup, and everything works properly (DTS, AAC, PCM, etc), but if the audio source is AAC, somehow it gets converted down to 2.0.

Windows is configured as 5.1, LAV is using default settings. I tried outputting to "default audio device", to "directsound: default audio device", to "Onkyo TX-NR709", all give the same result.

If I output to reclock, and use WASAPI, then it works fine (AAC 5.1 comes out as 5.1). If I use Sanear, same problem, 2.0 output.


Any ideas?

nevcairiel
5th July 2017, 23:17
LAV Filters 0.70.2

LAV Video
- Fixed: DXVA2 decoding could fail in 0.70 after a dynamic media type change


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

Check the 0.70 release notes (https://forum.doom9.org/showthread.php?p=1809683#post1809683) and 0.70.1 release notes (http://forum.doom9.org/showthread.php?p=1810861#post1810861) for additional details.

One regression fix for DXVA2 decoding in 0.70 which mostly occured with TV playback, as type changes are not common in file playback.

PS:
I originally posted this in the 0.70.1 notes, but to increase visibility I'll repost it here:
It may be possible that this is the last major version to work on Windows XP. I'm working on some new module that requires D3D functionality thats not available in the Windows SDK used when building with XP support, and using a newer SDK automatically removes XP support.
More details on this will follow as this feature is being developed.

Note that this is only meant as an early information. I do not plan to debate this. If new features turn out to really require this change, then it will happen.

clsid
6th July 2017, 00:05
has anyone been able to successfully output AAC 5.1 audio with LAV?

I'm running Kodi Dsplayer, with a 5.1 setup, and everything works properly (DTS, AAC, PCM, etc), but if the audio source is AAC, somehow it gets converted down to 2.0.

Windows is configured as 5.1, LAV is using default settings. I tried outputting to "default audio device", to "directsound: default audio device", to "Onkyo TX-NR709", all give the same result.

If I output to reclock, and use WASAPI, then it works fine (AAC 5.1 comes out as 5.1). If I use Sanear, same problem, 2.0 output
Are you using a SPDIF connection to your receiver? That is limited to 2.0 for uncompressed audio (PCM).
You either have to use HDMI connection or re-encode to AC3 audio (which is what reclock does).

legatinho
6th July 2017, 04:33
Are you using a SPDIF connection to your receiver? That is limited to 2.0 for uncompressed audio (PCM).
You either have to use HDMI connection or re-encode to AC3 audio (which is what reclock does).

I'm using HDMI, and I'm not re-encoding to AC3 with reclock, so the output is 5.1 uncompressed PCM, and it works fine, the only major difference being that Reclock uses Wasapi.

huhn
6th July 2017, 09:17
does it work properly with MPC-HC?
can you check the lav audio status or even make a screen when the problem happens?

chros
6th July 2017, 17:18
I'm using HDMI, and I'm not re-encoding to AC3 with reclock, so the output is 5.1 uncompressed PCM, and it works fine, the only major difference being that Reclock uses Wasapi.

You mentioned sanear: try out MPC-BE wasapi implementation (it's not the same as sanear) since sanear has a big bug regarding to the channel numbers.

VictorLS
6th July 2017, 21:13
nevcairiel
Not for discussing, but I believe it will be great before stop supporting WinXP release version of LAV Video Decoder (i.e. 0.70.3 or later) which can hardware decode h265 4K 10bit via NVIDIA CUVID in WinXP?

nevcairiel
6th July 2017, 21:15
Not for discussing, but I believe it will be great before stop supporting WinXP release version of LAV Video Decoder (i.e. 0.70.3 or later) which can hardware decode h265 4K 10bit via NVIDIA CUVID in WinXP?

I will not spend time on XP support. I have made this point quite clear in the past.

max79
7th July 2017, 22:19
Problem with "LAV Splitter". I can't playback these TV-streams:
http://event.radio-satisfaction.de:8550/;
http://81.169.229.251:9500/videopromo
Through players[VLC as example] which didn't using LAV i can hear only audio.

Any feedback would be appreciated.

max79
7th July 2017, 22:21
Problem with "LAV Splitter Source". From this radio-stream i got metadata("Now playing" tag) but only through RTMP-protocol, why HLS-protocol didn't show this metatag in Zoom Player? Examples:
rtmp://wse.planeta-online.tv:1935/live/channel_13
http://wse.planeta-online.tv:1935/live/channel_13/playlist.m3u8

And why RTMP-protocol not enabled by default in installer? It works without any trouble.

Any feedback would be appreciated.

max79
7th July 2017, 22:23
Problem with "LAV Splitter Source" metadata delivery for all Opus & Vorbis IceCast streams. "get_AuthorName" and "get_Description" functions work but the "get_Title" function fails[The error code is 0x80040216]. Examples:
http://209.126.66.166:10999/192.opus
http://209.126.66.166:10999/192.ogg

Any feedback would be appreciated.

max79
7th July 2017, 22:24
Problem with "LAV Splitter Source" metadata delivery. For this Vorbis IceCast stream "Artist" tag didn't delivered, only "Title":
http://ai-radio.org:8000/radio

Any feedback would be appreciated.

max79
7th July 2017, 22:25
Please add oportunity to deliver metadata tags from mmsT:// Radio-streams. Now it works only for mms:// streams. Example:
mmst://wm12.spacialnet.com/Julianradio

Any feedback would be appreciated.

max79
7th July 2017, 22:27
Problems with "LAVSplitter" & "LAVSource". Seeking didn't work for .DTSMA & .MLP-files and appear wrong mediafile duration[00:00:00] for that reason seeking is impossible. Examples:
https://www.dropbox.com/s/1mevg3htmr7zv7c/Blondie%20-%20Good%20Boys_%5B24bit_5.1_48kHz%5D.mlp?dl=0
https://www.dropbox.com/s/yh6ly2jw0k85tya/Sea%20Wolf%20-%20Old%20Friend_%5B24bit_7.1_96kHz%5D.dtsma?dl=0

Any feedback would be appreciated.

max79
7th July 2017, 22:30
Problem with "LAV Splitter Source", i can't play this SHOUTcast stream, source recognize it as <Subtitles>:
http://base-jam-music.com:8155/listen.pls?sid=1

p.s. Today this radio server is offline :(

Any feedback would be appreciated.

nevcairiel
7th July 2017, 22:36
I already told you that I'm not very interested in streaming stuff. Streaming is delivered "as is", either it works or it doesn't. If something doesn't work, test with and report to ffmpeg.

LigH
7th July 2017, 22:42
FONT="Comic Sans MS"

:o Somehow I am biased... :sly:

max79
7th July 2017, 23:41
I already told you that I'm not very interested in streaming stuff...
Okey. But through LAV Splitter_v0.69 i can see built in CUE marks(Chapters) for MP3 remote files(from my SR#15) and now in v0.70(and newer) it's broken, you did not answer why it happened...
And my SR#27 was about local file playback. You did not answer too.

clsid
8th July 2017, 00:09
Problems with "LAVSplitter" & "LAVSource". Seeking didn't work for .DTSMA & .MLP-files and appear wrong mediafile duration[00:00:00] for that reason seeking is impossible. Examples:
https://www.dropbox.com/s/1mevg3htmr7zv7c/Blondie%20-%20Good%20Boys_%5B24bit_5.1_48kHz%5D.mlp?dl=0
https://www.dropbox.com/s/yh6ly2jw0k85tya/Sea%20Wolf%20-%20Old%20Friend_%5B24bit_7.1_96kHz%5D.dtsma?dl=0
Any feedback would be appreciated.Raw audio and video files do not have a known duration, and hence seeking will not work. You need to put it into a container format if you want seeking. Duration can only be determined (accurately) by parsing the whole file.

max79
8th July 2017, 00:23
Raw audio and video files do not have a known duration, and hence seeking will not work. You need to put it into a container format if you want seeking. Duration can only be determined (accurately) by parsing the whole file.

Thanks again for quick response clsid. But you are wrong! Through other filters duration shows and seeking works too. Have a look:
https://forum.doom9.org/attachment.php?attachmentid=15962&stc=1&d=1499469771
https://forum.doom9.org/attachment.php?attachmentid=15961&stc=1&d=1499469744

nevcairiel
8th July 2017, 00:26
He is not wrong. raw vbr audio files have no duration information and you need to read the entire file from start to finish to figure it out, and LAV/ffmpeg does not do this (and will likely not start doing this, either).

LigH
8th July 2017, 09:56
VBR MP3 may have an additional non-audio frame with per-frame bitrate statistics (e.g. "Xing VBR frame").

Or not. Then the decoder would have to scan the whole file and build such statistics before playing.

Anyway, no decoder is forced to care about non-audio frames.

P.J
9th July 2017, 12:37
it is technically not possible to deinterlance a 4:2:0 source that is transformed to RGB the image is scaled vertical so it can't be deinterlanced anymore. (well there is a very a technically way to do that but... complicated and unnecessary)

so RGB deinterlancing support is just bad.

if EVR-CP can handle 4:2:2 correct you should report this to MPC-HC/BE.
EVR normal has nothing to do with that.

you can force 4:2:0 by disabling everything that is not 4:2:0

The source is 4:2:2 and the problem happens with both EVR/EVR-CP
Also deinterlacing doesn't work correctly when forcing 4:2:2 to play in NV12/YV12 mode, ghost colors...

huhn
9th July 2017, 12:59
when EVR CP is creating such artifacts you should contact the MPC-BE MPC-HC team. there is no need to use NN on chroma.

edit:
i got the chroma sub sampling wrong 4:2:2 is half horizontal not half vertical. you can't scale it to 4:2:0 because you can't scale an interlanced image vertical without "deinterlancing" it before.

VictorLS
13th July 2017, 06:01
Due to Aleksoid1978 I get hardware acceleration of h265 10bit via NVIDIA CUVID again - diff for 0.70.2.1-git https://yadi.sk/d/9xRWsX343KyoFB - and he said: "in WinXP CUVID not supported P016 output (even for HEVC 10/12bit)".
nevcairiel, before you stop support WinXP can you spend some minutes of coding LAV Video Decoder to force NV12 output in case of decoding h265 10bit via NVIDIA CUVID in WinXP like it done in diff in future releases of LAV Filters?

TheShadowRunner
13th July 2017, 23:02
nev did you implement TrackSet/TrackSetEx or am I dreaming!?

nevcairiel
13th July 2017, 23:03
There is no support for this, and unlikely to ever be.

TheShadowRunner
13th July 2017, 23:09
I'm confused as hell, using LAVSplitter in the graph for certain and getting this:
http://videoff7.free.fr/lav_editions.jpg
Going to explore how it's done..

nevcairiel
13th July 2017, 23:11
Editions have been supported for a couple years now. But thats unrelated to TrackSets.

TheShadowRunner
13th July 2017, 23:18
Oh right, bad memory on my end. What's not possible with Editions is to pre-define which given audio/sub tracks should be used.

hubblec4
14th July 2017, 12:53
nev did you implement TrackSet/TrackSetEx or am I dreaming!?

The TrackSet/TrackSetEx functionality is a Haali-Splitter feature and not a Matroska feature.
It is not possible to build a TrackSetEx with the Matroska-Elements.
Only with multiple editions and the ChapterTrackNumber(s) you could have a kind of TrackSetEx, but if you change the edition(to change the Tracks) always the movie start from beginning.

I would say, TrackSetEx are easy to implement. Its only a Tag like the edition-tags. LAV-Splitter could read this "new Tag".
All editions are shown in the TrayIcon-menu and now here could shown the TrackSetEx also.

When I change an audio or subtitle track, I make a click on the new track and LAV change it for me. Why can't LAV change two things at the same time.
A click on a "TrackSetEx" change first the audio and then the subtitle track.

DragonQ
15th July 2017, 19:34
Due to Aleksoid1978 I get hardware acceleration of h265 10bit via NVIDIA CUVID again - diff for 0.70.2.1-git https://yadi.sk/d/9xRWsX343KyoFB - and he said: "in WinXP CUVID not supported P016 output (even for HEVC 10/12bit)".
nevcairiel, before you stop support WinXP can you spend some minutes of coding LAV Video Decoder to force NV12 output in case of decoding h265 10bit via NVIDIA CUVID in WinXP like it done in diff in future releases of LAV Filters?
You know you can submit a pull request in GitHub, right?

I don't think nev is planning to "stop" Windows XP support, I'm pretty sure he stopped supporting it years ago (as did Microsoft).

VictorLS
17th July 2017, 06:02
You know you can submit a pull request in GitHub, right?
I don't know why nevcairiel don't want spend about 5 minutes to add h265 10bit hardware acceleration via CUVID in WinXP by implementing 100% working code in LAV Filters https://github.com/Nevcairiel/LAVFilters/issues/145 and then officially stop WinXP support in LAV Filters. All people using WinXP (I often see here in the bottom of posts too) will know i.e. 0.70.3 is last fully functional in WinXP version of LAV Filters and if they have (or buy) GM206-based videocard h265 10bit hardware acceleration via CUVID must work in their old sweet WinXP. I believe that's right.
PS. May be nevcairiel affraid National Security Agency (NSA) prohibit using WinXP to easier watch for people all over the world? ;)

fijam
17th July 2017, 09:01
Is the development of LAV Filters going to be impacted by MPC-HC ceasing development?

LigH
17th July 2017, 09:10
LAV filters can also be used via DirectShow API (which is used in MPC-HC when you disable internal decoders and splitters), in case LAV Filters might become incompatible to an older build of MPC-HC as substitute for internal filters.