View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
tuco76
17th September 2014, 13:21
With madVR, LAV will never perform any dithering. Dithering in LAV is only performed when required, ie. when converting from 10-bit to 8-bit.
Thanks the quick reply nev!
NikosD
17th September 2014, 15:31
The file is invalid, seems like it was created before the spec was finalized.
It seems that latest official LAV filters 0.62 decode it fine!
Also, some nightly builds - even the newer ones - decode it fine.
Something from the very latest nightly builds, broke the compatibility.
nevcairiel
17th September 2014, 15:48
That doesn't change the reason though. There were a lot of checks added against broken samples that otherwise caused a crash, as a side-effect that can cause invalid samples that worked before (by accident) to stop working, but the sample has always been invalid, so its not a big concern.
NikosD
17th September 2014, 15:54
OK
Just to be sure that it's not a bug of the decoder/splitter or FFMpeg.
jebediah
19th September 2014, 13:46
Any idea why i don't get the correct sound from this source?
I'm using the latest Lav filter and it works great with ffdshow.
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1h 51mn
Bit rate : 5 606 Kbps
Width : 1 920 pixels
Height : 802 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.146
Stream size : 4.38 GiB (95%)
Writing library : x264 core 130 r2273 b3065e6
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=62500 / vbv_bufsize=78125 / crf_max=0.0 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00
Default : Yes
Forced : No
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Format settings, Endianness : Big
Codec ID : A_AC3
Duration : 1h 51mn
Bit rate mode : Constant
Bit rate : 192 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 154 MiB (3%)
Default : Yes
Forced : No
filler56789
19th September 2014, 14:42
Any idea why i don't get the correct sound from this source?
I'm using the latest Lav filter and it works great with ffdshow.
Please define "correct sound" :)
Also, and IMHO, 192kbps :confused: is not sufficient bitrate for 5.1 channels...
So you have either a buggy version of MediaInfo, or a bad AC3 stream...
Codec ID : A_AC3
Duration : 1h 51mn
Bit rate mode : Constant
Bit rate : 192 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Kurtnoise
19th September 2014, 15:27
Without sample, this doesn't mean nothing...
jebediah
19th September 2014, 18:44
Please define "correct sound" :)
Also, and IMHO, 192kbps :confused: is not sufficient bitrate for 5.1 channels...
So you have either a buggy version of MediaInfo, or a bad AC3 stream...
There's no sound at all, but every 5 sec or so there's a short popping sound.
filler56789
19th September 2014, 19:33
There's no sound at all, but every 5 sec or so there's a short popping sound.
Then please demux the audio stream and post it to a filesharing site.
As Kurtnoise said, without a sample file, there will be no solution to the problem
(assuming that the problem is in the LAV filters, bien entendu).
jebediah
19th September 2014, 20:41
Then please demux the audio stream and post it to a filesharing site.
As Kurtnoise said, without a sample file, there will be no solution to the problem
(assuming that the problem is in the LAV filters, bien entendu).
That's way out of my league and i have no clue how to do that.
ThurstonX
19th September 2014, 22:16
That's way out of my league and i have no clue how to do that.
Can you find a tool that will allow you to edit it such that you can create a 5-10 second clip? If so, post that on a decent file sharing site and provide the link. People here love to analyze clips and provide feedback, but without a clip there are so many possibilities. Gotta meet 'em half way.
sneaker_ger
19th September 2014, 22:28
That's way out of my league and i have no clue how to do that.
Get mkvtoolnix and start mkvmerge GUI. Drop the file into it and uncheck everything except the audio track. Go to the "global" tab, choose "split by parts based on timecodes" and enter "-1:00" (without the quotes) under "Parts". Now start muxing and upload the resulting file to a service like file-upload.net (http://en.file-upload.net/).
shadowdogg
20th September 2014, 10:56
Doesn't seem to be able to handle Dolby Atmos track on transformers extinction, it just reads at dolby digital 5.1
mastan
20th September 2014, 13:19
Geforce GTX 980 video decoding speed:
http://www.3dnews.ru/assets/external/illustrations/2014/09/19/902100/dxva.png
Looks like 4K hw decoding is finally coming!
nevcairiel
20th September 2014, 13:22
Its the same video decoder the 750 (Ti) had, not really "news", but it is plenty fast.
User 2014
20th September 2014, 14:48
i've a noob question: why ffmpeg doesn't add dts audio codecs? (only supports dts)
Elbart_
20th September 2014, 18:31
Bug with LAV Splitter (at least 0.58.2 and newer) playing WebM made from GIFs:
1.) Convert test.gif to test.webm with ffmpeg using:
ffmpeg -i test.gif -an -c:v libvpx test.webm
2.) Play it in MPC-HC (1.7.0 and newer) using the built-in Matroska Source Filter (which is using LAV Splitter).
3.) The video will look something like this: http://i.imgur.com/CTA8EYc.png
In Firefox, Chrome, ffplay, VLC and MPC-HC using Haali's Splitter, the video is playing fine.
test.gif and already encoded test.webm can be found here: https://www.mediafire.com/folder/yk7ur0ewnkilk/LAVSplitter_GIF_WebM-Matroska
wanezhiling
21st September 2014, 04:59
Doesn't seem to be able to handle Dolby Atmos track on transformers extinction, it just reads at dolby digital 5.1
I cut a sample file: https://www.sendspace.com/file/m2106p
PetitDragon
21st September 2014, 12:49
Will there be any Dolby ATMOS integrated TrueHD software decoder soon in the near future?
LigH
21st September 2014, 13:16
This implies the question: Is a decoding algorithm already publicly known?
But documentation is only one factor. Legal state (license protection) may be another.
nevcairiel
21st September 2014, 14:07
Those TrueHD tracks should play again in the latest Git version, I've also send a patch for this to the ffmpeg mailing list, and its included in their repository as well now.
clsid
21st September 2014, 18:17
Which GPUs support the new HEVC acceleration? Just the second gen Maxwell cards, or also older ones like the 750 Ti?
nevcairiel
21st September 2014, 18:43
No idea about the 750, since its somewhat slow, but high-end Kepler cards like my 780 also support it.
DragonQ
21st September 2014, 19:52
No idea about the 750, since its somewhat slow, but high-end Kepler cards like my 780 also support it.
As far as I can tell, there are no nVidia cards with pure hardware HEVC decoders. Some of the newer ones feature a "hybrid" decoder, which basically does all of the parts that overlap with AVC decoding in hardware and the rest in software. I suppose that counts as acceleration but how does it compare with the newly-optimised HEVC decoding in ffmpeg that you added to the nightly builds recently?
The 970/980 do have a full HEVC hardware encoder though.
nevcairiel
21st September 2014, 19:55
Thats why it only works on high-end Kepler cards, it needs a certain amount of shader performance to do it, and also why I'm not sure it would work on the 750.
SeeMoreDigital
21st September 2014, 21:24
Which GPUs support the new HEVC acceleration? Just the second gen Maxwell cards, or also older ones like the 750 Ti?I asked the same question myself last month... (http://forum.doom9.org/showthread.php?t=170987) Given the speed that HEVC decoders have made it into televisions, I find it odd that they've not made it into GPU's :eek:
nevcairiel
21st September 2014, 21:45
TVs are huge devices, you can just plug a new chip in some corner of the thing and call it a day. A GPU needs to incorporate the decoding function into its own silicon, sounds like a much more complicated task.
foxyshadis
21st September 2014, 22:42
Will there be any Dolby ATMOS integrated TrueHD software decoder soon in the near future?
It took about a year and a half for an open source decoder for TrueHD to be written, so I'd expect roughly 1-2 years for Atmos, unless someone is truly dedicated.
nevcairiel
21st September 2014, 22:44
Considering that Atmos is not even a "normal" audio codec as such, probably longer.
We don't even have a bitexact DTS-HD MA decoder in open-source yet, and that format is way old now!
Megalith
21st September 2014, 23:58
Okay, I'm a complete noob at this. How would I go about updating the internal LAV filters in MPC so TrueHD tracks with Atmos can play correctly? I'm looking at the Git page but am not sure what files I need.
huhn
22nd September 2014, 03:15
you can't update the internal filter in mpc-hc you need a new version of mpc hc for this.
you can build a lavfilter with "atmos" "decoding" support by following this:
Compiling
=============================
Compiling is pretty straight forward using VC++2013 (included project files).
Older versions of Visual Studio are not supported.
It does, however, require that you build your own ffmpeg and libbluray.
You need to place the full ffmpeg package in a directory called "ffmpeg" in the
main source directory (the directory this file was in). There are scripts to
build a proper ffmpeg included.
I recommend using my fork of ffmpeg, as it includes additional patches for
media compatibility:
http://git.1f0.de/gitweb?p=ffmpeg.git;a=summary
libbluray is compiled with the MSVC project files, however a specially modified
version of libbluray is required. Similar to ffmpeg, just place the full tree
inside the "libbluray" directory in the main directory.
You can get the modified version here:
http://git.1f0.de/gitweb?p=libbluray.git;a=summary
maybe the next nightly in mpc-hc gets this new lavfilter version.
Arm3nian
22nd September 2014, 04:59
I can't seem to play Age of Extinction. Everything else works with my settings in mpc-be. Tried just a clean install of mpc-hc and no video/audio in there either. It says playing but stays at the 0 time stamp. I can click around and get different frames in the video but it doesn't play. The video does play in a clean install of VLC however.
Megalith
22nd September 2014, 05:20
you can't update the internal filter in mpc-hc you need a new version of mpc hc for this.
you can build a lavfilter with "atmos" "decoding" support by following this:
maybe the next nightly in mpc-hc gets this new lavfilter version.
Guess I'll just wait for the next MPC-HC update, then.
I can't seem to play Age of Extinction. Everything else works with my settings in mpc-be. Tried just a clean install of mpc-hc and no video/audio in there either. It says playing but stays at the 0 time stamp. I can click around and get different frames in the video but it doesn't play. The video does play in a clean install of VLC however.
It's because of the Atmos track. It should play fine if you select the 640 kbps lossy audio track.
wanezhiling
22nd September 2014, 05:25
Latest lav (http://pan.baidu.com/s/1gd1its3#dir/path=%2F%E8%87%AA%E7%BC%96%E8%AF%91%E8%BD%AF%E4%BB%B6)
Sparktank
22nd September 2014, 05:29
Latest lav (http://pan.baidu.com/s/1gd1its3#dir/path=%2F%E8%87%AA%E7%BC%96%E8%AF%91%E8%BD%AF%E4%BB%B6)
Leads to a blank page with Chinese characters that are not clickable.
All my plugins are disabled and it's still an unusable page for me.
EDIT: works in chrome.
Just not Palemoon (Firefox variant)
User 2014
22nd September 2014, 07:25
nevcairiel, please add default button to each tab of your lav decoders & splitters.
foxyshadis
22nd September 2014, 09:26
you can't update the internal filter in mpc-hc you need a new version of mpc hc for this.
you can build a lavfilter with "atmos" "decoding" support by following this:
maybe the next nightly in mpc-hc gets this new lavfilter version.
mpc-hc nightlies never get nightly LAV filters, they always use stable. Wait for nev to release a new preview (which should be better tested) or try wanezhiling's, but you have to disable the internal filters in mpc-hc first.
sneaker_ger
22nd September 2014, 10:02
mpc-hc nightlies never get nightly LAV filters, they always use stable.
Not true (https://github.com/mpc-hc/mpc-hc/commit/12cf1a98232192b07a3e2215f615a24a848585df). But they don't have the new Nvidia HEVC stuff yet.
wanezhiling
22nd September 2014, 14:37
http://i.imgur.com/zCI3H9y.jpg
Is it really working? :)
nevcairiel
22nd September 2014, 14:40
If it says active then of course its working.
Please don't post giant screenshots though.
wanezhiling
22nd September 2014, 14:41
But 'Video Engine Load' in GPU-Z is still zero...
Hmmm.. why?
nevcairiel
22nd September 2014, 14:48
You should read what "Hybrid HEVC decoding" means. =)
wanezhiling
22nd September 2014, 14:52
:o Oh it eats shaders...
So now we can say that lav is the world's first h265 hw decoder?:p
NikosD
22nd September 2014, 15:59
Kudos to nevcairiel for HEVC hybrid decoder.
My first tests with signature system - HD 4600@1200MHz - using HEVC DXVA2 decoder show that it's limited by GPU power.
It can decode even 4K HEVC but with low bitrate and low fps clips.
Definitely slower than CPU HEVC, at least on my Core i7-4790 using latest HEVC CPU optimizations, probably more useful for laptops or desktops with HD 4600 and slower CPUs.
HEVC DXVA2 could be faster than those CPUs using HD 4600 and can be used in situations where CPU is utilized at max, during CPU HEVC decoding.
I will try Intel's GPA monitor tool later, in order to check out if any fixed-function HW is used (QuickSync), but from the decoding speed, it's almost impossible.
The power usage using HEVC DXVA decoder was 3 times more (!) than using pure CPU on signature system for 4K HEVC clips.
wanezhiling
22nd September 2014, 17:13
http://i.imgur.com/H9v5WvY.jpg
Even 10-bit hevc materials can be also decoded with cuvid mode??:confused:
nevcairiel
22nd September 2014, 17:15
I see no evidence that its 10-bit. But no, 10-bit doesn't really work.
wanezhiling
22nd September 2014, 17:23
General
ID : 0 (0x0)
Complete name : D:\Videos\HD\Test\[三星专用.4K.演示片] UHD 4+3混搭.ts
Format : MPEG-TS
File size : 1.38 GiB
Duration : 3mn 51s
Overall bit rate mode : Constant
Overall bit rate : 51.4 Mbps
Video
ID : 257 (0x101)
Menu ID : 1 (0x1)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.2
Codec ID : 36
Duration : 3mn 50s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Writing library : ATEME Titan KFE 3.5.1 (4.5.1.0)
Maybe just an accident, hehe..
Elbart_
22nd September 2014, 19:24
Added another test-file "test2" to https://www.mediafire.com/folder/yk7ur0ewnkilk/LAVSplitter_GIF_WebM-Matroska (mentioned here (http://forum.doom9.org/showthread.php?p=1694320#post1694320)).
Apparently playback is only broken up until a "hard" scene-change, after which the video is played back just fine, until it hits the next problem.
And I added "test3", which shows all kinds of brokenness when played with LAV Splitter.
nevcairiel
22nd September 2014, 19:49
Should be fixed in the next version.
truexfan81
23rd September 2014, 07:06
if it eats shaders, how would it affect those of us that are pushing the limit with madvr?
huhn
23rd September 2014, 10:31
if it eats shaders, how would it affect those of us that are pushing the limit with madvr?
obvious you can't use it than. hardware decoder are most useful in combination with a weak CPU.
Elbart_
23rd September 2014, 10:49
Should be fixed in the next version.
Thanks!
I found another issue with VPx, this time in the video decoder:
When the height is not modulo 2, the decoder shows a green bar at the bottom. A non-mod2 width is no problem.
http://i.imgur.com/2IgLeoZ.jpg (image made from the vp9-file, but vp8 is also affected)
https://www.mediafire.com/folder/nl0gc7dq6z7e5/LAVVideoDecoder_VPx_modulo_2_%3D_1_green
romulous
23rd September 2014, 11:11
Hi nev,
I added a comment to a closed bug report on your tracker (#479). Assuming you probably didn't get a notification of the addition, was just wondering if you had any assistance you could offer? Comments #5 and #6.
Thanks!
nevcairiel
23rd September 2014, 12:16
I found another issue with VPx, this time in the video decoder:
When the height is not modulo 2, the decoder shows a green bar at the bottom. A non-mod2 width is no problem.
http://i.imgur.com/2IgLeoZ.jpg (image made from the vp9-file, but vp8 is also affected)
https://www.mediafire.com/folder/nl0gc7dq6z7e5/LAVVideoDecoder_VPx_modulo_2_%3D_1_green
They look fine here, might be the video renderer causing the problem.
Note that non-mod2 height with 4:2:0 chroma subsampling is technically an invalid format.
jiayiming
23rd September 2014, 13:25
LAV doesn't support QHD with HSW/HD4600?
ex:http://www.libde265.org/hevc-bitstreams/tos-4096x1720-tiles.mkv
but,the latest pot can play this file..
http://i.imgur.com/IR7lnfv.jpg
--------------------
BTW,HSW also eat shader like Kepler cards?
NikosD
23rd September 2014, 14:14
The clip above plays fine here with both LAV DXVA x86/x64
jiayiming
23rd September 2014, 14:49
The clip above plays fine here with both LAV DXVA x86/x64
thanks,maybe my drivers is too old or some other problem.
mindbomb
23rd September 2014, 18:12
I just heard arcsoft went out of business. This makes software dts-hd decoding more difficult in the future.
nevcairiel
23rd September 2014, 18:40
The decoder still works, doesn't it. Maybe an open source alternative will be available soon as well.
SeeMoreDigital
23rd September 2014, 20:22
I just heard arcsoft went out of business. Something has indeed changed over at Arcsoft... As their TotalMedia Theatre (http://www.arcsoft.com/totalmedia-theatre/?icn=foot&ici=click) media player is stated as being: "no longer maintained and updated"...
vood007
24th September 2014, 15:56
I have a problem when LAVAudio is connected to FFDShow Raw Audio Proc. Playback does not start on mp4 or mkv files. After a first seek forward it starts. Problem exists since LAV Builds around 16. Sep.
NikosD
24th September 2014, 18:37
Is it possible to fix HEVC DXVA2 decoder to fall back to software mode for 10bit HEVC ?
I have tried more than 60 HEVC samples and this little detail is the only incompatibility I have found out.
huhn
24th September 2014, 18:49
i guess this will work in the future.
nearly for sure 4K BD will be 10 bit.
these are currently hybrid decoder without fix function so they can be changed and optimized.
NikosD
25th September 2014, 15:02
Latest nightly (.47) is crashing using DXVAn with both Nvidia and Intel using HEVC DXVA2 decoder.
Copy-back and CUVID are fine.
Also in previous .46 build, when an incompatible GPU is used like GT610 (Fermi), it allows me to select DXVAn with HEVC and use that mode in HEVC files.
When you try to decode it, it uses CPU only.
I saw your fix for fall back in .47 build, maybe you can include this "strange" behavior for non-compatible GPUs too.
wanezhiling
25th September 2014, 15:24
The crash issue was fixed few minutes ago..
So wait for betaking to compile a new build again..:p
nevcairiel
25th September 2014, 15:28
Also in previous .46 build, when an incompatible GPU is used like GT610 (Fermi), it allows me to select DXVAn with HEVC and use that mode in HEVC files.
When you try to decode it, it uses CPU only.
I saw your fix for fall back in .47 build, maybe you can include this "strange" behavior for non-compatible GPUs too.
It already falls back to software decoding just fine if your GPU doesn't support HEVC.
Note that your version numbers are wrong. The latest now is 0.62-52, the one that crashed was -50.
NikosD
25th September 2014, 15:41
Yes I saw it falling back to sw and I wrote that above, but it was strange to be able to select it and use it on an incompatible GPU.
I was talking about the possibility of not selecting at all HEVC for incompatible GPUs.
But this is minor.
nevcairiel
25th September 2014, 15:42
No, the options do not know, and they never will.
cyberbeing
25th September 2014, 18:33
The latest LAV Filters git-1d591 build still seems to fail to software fallback with CUVID on every UHD 10bit HEVC TS sample I've tried.
It seems to actually attempt to decode them, but fails miserably with varying degrees of corruption or black output depending on the sample. Same problem reported earlier in the thread by wanezhiling.
http://i.imgur.com/H9v5WvY.jpg
Even 10-bit hevc materials can be also decoded with cuvid mode??:confused:
General
ID : 0 (0x0)
Complete name : D:\Videos\HD\Test\[三星专用.4K.演示片] UHD 4+3混搭.ts
Format : MPEG-TS
File size : 1.38 GiB
Duration : 3mn 51s
Overall bit rate mode : Constant
Overall bit rate : 51.4 Mbps
Video
ID : 257 (0x101)
Menu ID : 1 (0x1)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.2
Codec ID : 36
Duration : 3mn 50s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Writing library : ATEME Titan KFE 3.5.1 (4.5.1.0)
Maybe just an accident, hehe..
nevcairiel
25th September 2014, 18:38
All the 10-bit samples I have tried fallback to software decoding perfectly. Note that it requires that the video profile is actually encoded properly in the SPS (and that a SPS is present in the media type), if either is not true, then it has no data to check against.
Provide one that doesn't work, or there is nothing I can do. Most of my samples are encoded by x265, I didn't take the grand tour through the net fishing for samples, sorry. :p
cyberbeing
25th September 2014, 18:44
The two 10bit UHD HEVC TS samples linked in the other thread both do this:
Astra-UHD@50fps-18Mbps (10bit)
https://www.dropbox.com/s/6rbqlrrhhvbz79l/Astra%20UHD.ts?dl=0
UHD_ENT_Transformer_Quad@24fps-51Mbps (10bit)
http://demo-uhd3d.com/files/uhd/Transformers_extinction_Trailer_4K.zip
FWIW, previously this fallback issue also occurred with DXVA2 Copyback (only Native unaffected), but you seem to have fixed that in the past few days. Only fallback for CUVID remains broken on samples like these in the latest build. Unless DXVA2 can somehow fallback much later than CUVID, I'd assume that means the information needed is somehow present.
nevcairiel
25th September 2014, 19:00
Both CUVID and Copyback can in theory fallback any time, they just need to check. Native needs to know from the media type, it cannot check any later.
I've fixed CUVID though, it should check more aggressively.
vood007
26th September 2014, 00:32
I have a problem when LAVAudio is connected to FFDShow Raw Audio Proc. Playback does not start on mp4 or mkv files. After a first seek forward it starts. Problem exists since LAV Builds around 16. Sep.
Seems fixed now, thanks!
NikosD
26th September 2014, 12:11
Latest nightly LAV HEVC DXVA is still crashing for Nvidia in all modes (DXVAn & cb, CUVID)
Intel plays fine - falls back to SW.
https://www.sendspace.com/file/tzzzqi
nevcairiel
26th September 2014, 12:21
Works perfectly here. Your setup must be broken in some way, the code doesn't care one bit if you use NVIDIA or Intel.
Note that when playing 10-bit on recent NVIDIA drivers, you need to disable P010 output in LAV Video, or you'll run into a NVIDIA driver bug, at least if you're using EVR.
NikosD
26th September 2014, 14:42
The reason I posted that specific clip was, that only for that I clip I get a crash with P010 output enabled.
For all the other 10 bit samples I have tried, it doesn't crash with P010 output enabled using Nvidia.
I get just a black screen with no decoding, which I think it's different than crashing.
So I thought it was just a different case.
Nvidia drivers are buggy lately, more than they used to be.
nevcairiel
26th September 2014, 16:10
Its the same bug, sometimes it crashes, sometimes it fails silently. I added another check to make it fail silently more often, but its still the same thing.
NikosD
26th September 2014, 16:11
Works perfectly here. .
After the last two fixes in LAV, the decoder is almost perfect for handling 10 bit clips using Nvidia.
The Gravity trailer and all other samples don't crash using P010 output, they give black screen for DXVA native and CUVID.
But DXVA copy-back broke and it doesn't work for any 10bit clips.
So, one last step left...
nevcairiel
26th September 2014, 16:24
Copy-back isn't meant to work on any 10-bit clips, it falls back to software decoding just like all the other modes, which it does just fine.
NikosD
26th September 2014, 16:28
Well, it doesn't after the last two fixes.
That's why I said it broke, because indeed it was working before the two fixes.
It's crashing during the enumeration, I think.
nevcairiel
26th September 2014, 16:30
Works perfectly for me. And the last two fixes are also impossible to influence anything there.
NikosD
26th September 2014, 16:36
I tried it many times to all 10 bit samples. Not even one worked in copy back.
Everything else (native, cuvid) is working fine for all clips.
Update:
Besides 740M, I tried latest nightly with a GT610.
Exactly the same behavior with 10 bit clips.
Fall back is working for DXVA native and CUVID, but not for DXVA copy-back (it's crashing during enumeration)
The only common of these different systems (Laptop w/740M and Desktop w/ GT610) is the Nvidia's driver version 344.11 and LAV filters.
nevcairiel
27th September 2014, 12:09
Still works just perfectly here, on two systems with NVIDIA. And like I mentioned before, the code just doesn't care if its run on NVIDIA or Intel, and the only changes made in that last version are impossible to cause issues like this. Noone else seemed to complain, either.
NikosD
27th September 2014, 12:21
OK.
For my systems, LAV 0.62.55 and LAV 0.62.57 have major differences specifically and only on 10 bit HEVC using Nvidia DXVA.
But maybe it's just me.
Don't expect though, a lot of people chasing latest nightly builds, checking compatibility issues with specific samples.
NikosD
28th September 2014, 13:26
I see no evidence that its 10-bit. But no, 10-bit doesn't really work.
I've just tried latest x64 version of PotPlayer using Intel's HEVC DXVA decoder and it can play fine most of my 10bit HEVC samples in HW.
Not all of them, because some they are just crashing the app.
The picture is not perfect, but how is even possible to decode 10 bit resolution in HW using HD 4600 ?
nevcairiel
28th September 2014, 13:42
Eh, the difference isn't that big, you can get away with most things by just throwing it at the same code, but anything thats not a perfect picture is absolutely not acceptable, and while a 8-bit decoder can potentially decode a partial picture of a 10-bit stream, its never going to be 100%. The decoder cannot even output a 10-bit picture, only 8-bit images, and as such its already impossible to get a 100% image out of it.
cyberbeing
29th September 2014, 15:44
Your latest nightly builds are no longer sending the subtitle styles from the correct segment on certain samples with mkv ordered chapters. This breakage appears to coincide with the recent FFMPEG library version jump, since the LAV 0.62.0 stable using the older libraries is unaffected.
nevcairiel
29th September 2014, 15:51
Fixed that just now.
DragonQ
29th September 2014, 17:23
Nev, is the source of your custom version of ffmpeg available anywhere? Most of the time when I see an interesting change in the LAV Filters tracker, it's just "update ffmpeg" so I can't see what actually has changed in the code.
nevcairiel
29th September 2014, 17:26
Its linked both in the readme or the first post of this thread.
DragonQ
30th September 2014, 01:22
Cheers.
NikosD
30th September 2014, 09:06
4K HEVC 8bit is crashing Intel's DXVA.
http://demo-uhd3d.com/files/uhd/Hispasat_UHD_NAB-2014_HEVC.zip
CPU plays fine.
Tell me if you want me to cut a small sample.
cyberbeing
30th September 2014, 17:29
Your latest nightly builds are no longer sending the subtitle styles from the correct segment on certain samples with mkv ordered chapters. This breakage appears to coincide with the recent FFMPEG library version jump, since the LAV 0.62.0 stable using the older libraries is unaffected.
Fixed that just now.
Thanks. I've now tested and confirmed your change yesterday fixed the issue. So it would seem that FFMPEG depreciating their internal AV_CODEC_ID_SSA format (http://git.1f0.de/gitweb?p=ffmpeg.git;a=commit;h=c7d8dbad14ed5fa3c217a4fc1790021d6c0b6416;js=1) was the underlying cause.
DragonQ
30th September 2014, 20:16
Hmm, I found a weird issue today. I wanted to add an audio delay on my HTPC (I used to do this using my AVR but I need that set to no delay for other purposes) so I added a 280 ms delay in the LAV Audio settings. However, now I get a regular ~1 second pause in video every ~7.5 seconds (very regular) in MediaPortal (using EVR). It's entirely reproducible and once I turn off the delay everything's fine. What could cause this?
Motenai Yoda
2nd October 2014, 15:56
Just me or there are some nasty artefacts with 62.0 and lossless x264 encodes?
sneaker_ger
2nd October 2014, 15:59
Old x264 lossless encodes are not spec-compliant and the ffmpeg decoder is now following the spec more strictly. It's recommended to re-encode with a current x264 version. The next LAV version will restore the old behavior, though, simply because 99% of the lossless H.264 files out there were encoded using x264. New x264 encodes are compatible with every LAV version.
/edit:
Try this version (or a newer nightly):
http://forum.doom9.org/showpost.php?p=1693385&postcount=18024
nevcairiel
3rd October 2014, 08:32
LAV Filters 0.63
LAV Splitter
- NEW: Support for playing AES encrypted HLS streams
- NEW: Advanced Subtitle selection allows selecting subtitles by a string match on the stream title
- NEW: Support for rtspu, rtspm, rtspt and rtsph URLs to force the RTSP transport protocol
- NEW: Animated GIF image support
- Fixed: Improved timestamp handling of badly muxed/corrupted H.264 streams
- Fixed: 4K ProRes streams in MKV didn't play reliably
- Fixed: Some HEVC streams in MKV/MP4 didn't play properly
- Fixed: VobSubs in MP4 didn't properly export their color palette
- Fixed: Streaming MP3s through the Microsoft URL filter could result in the last audio frame to be partially repeated
- Fixed: The duration of MP3 files would be wrong if it contained long IDv3 tags
- Fixed: TrueHD streams with an Dolby Atmos sub-stream were not demuxed properly
LAV Video
- NEW: Experimental support for CUVID and DXVA2 HEVC acceleration
- Faster: HEVC decoding is up to 100% faster
- Fixed: DVD subtitle rendering could crash in 64-bit builds
LAV Audio
- Fixed: TrueHD streams with an Dolby Atmos sub-stream did not decode
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.63.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.63.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.63-x64.zip)
Its been a long time since the last release, which had a multitude of reasons which prevented me from working on LAV as much as I wanted, but I finally finished most of the things I did have planned for this version, so here it is!
Subtitle selection on string match
This feature was contributed to LAV, and it seems at least mildly useful. You can now select subtitle streams based on their title, however its limited to single words, as spaces are a separator for a new token.
Example Syntax:
eng@signs - Select any english subtitle tracks with "signs" in their title.
Note that string matches are case-sensitive, now that I'm writing this, it may make sense to change that to case-insensitive for the next version, maybe?
HEVC HW Acceleration
This version introduces experimental support for CUVID and DXVA2 HEVC HW acceleration on Intel Haswell and recent NVIDIA cards. On the current hardware, this is only a "Hybrid" acceleration, which means it uses the GPUs 3D shaders to perform calculations, and not dedicated decoding hardware like H.264 or MPEG-2 decoding would.
Only 4:2:0 8-bit is supported for now, we'll have to see if the GPU vendors support 10-bit properly at a later time. DXVA2 defines a specification for 10-bit, but its not supported by the GPU drivers (yet?).
Note that I still consider this feature highly experiemental, and it is disabled by default, but it seems to work quite decently nevertheless.
TrueHD Atmos
Really just a bugfix, but maybe still worth mentioning, TrueHD streams with an Atmos substream decode perfectly in this version. Its important to note that the Atmos data is just discarded and not decoded in any way, but the lossless TrueHD stream is decoded perfectly now, while before the Atmos extension screwed up decoding.
Anyway, have fun, and if you find any new issues, please do report them!
Boltron
3rd October 2014, 10:43
Thank you.
ryrynz
3rd October 2014, 10:56
Back into the swing of things, feels like a fairly quiet year in software development for AV related things compared to last year. Great release.
Elbart_
3rd October 2014, 12:41
They look fine here, might be the video renderer causing the problem.
Note that non-mod2 height with 4:2:0 chroma subsampling is technically an invalid format.
When the WebM-reference-decoder is used within mpchc, there's no green line.
I'll do another test-run today.
octal9
3rd October 2014, 13:52
i've been try to get the new splitter sub string match feature to work, so far without success. my settings on the splitter: set to advanced with the following selection written "jpn:eng@ass;jpn:eng@subrip" (i'm trying to get the following setup: japanese audio - english sub with ass, if ass not available then japanese audio with english subrip).....what am i doing wrong and how can i get my sub selection to work properly? thanks to nev for the excellent ongoing work!
Snowknight26
3rd October 2014, 13:58
Does the Title element (http://matroska.org/technical/specs/index.html#Title) contain the string 'ass' or 'subrip'?
nevcairiel
3rd October 2014, 14:40
You can only match the title of the subtitle stream, not its codec. The codec has zero relevance for its actual content, so I don't think it makes any sense to try to match over it.
filler56789
3rd October 2014, 14:45
LAV Filters 0.63
\o/
:thanks:
Qaq
3rd October 2014, 15:54
Great release, thanks!
ddjmagic
3rd October 2014, 16:50
Great release, thanks!
+1 Thanks for the new release :)
Djfe
3rd October 2014, 19:20
Feature Request:
video decoder settings for handling side-by-side 3D (sorry, this might have been asked already, I'm not following the thread closely, be kind with me)
show A/left image, B/right image, side-by-side(untouched), Anaglyph and maybe even real 3D
Telion
3rd October 2014, 23:10
Nev, can you please modify the installer so that it would delete obsolete files from previous versions (like avcodec-lav-xx.dll, avfilter-lav-x.dll etc.)
octal9
4th October 2014, 05:14
Does the Title element (http://matroska.org/technical/specs/index.html#Title) contain the string 'ass' or 'subrip'?
mpc-be under sub selection defines it as "Srt-Sub[eng](subrip)(english)", so would this be written in the lav sub splitter as "jpn:eng@subrip" or "jpn:eng@Srt-Sub" or something else?
edit: figured it out (finally) - the syntax is as follows to choose subrip "jpn:eng@Srt-Sub" - awesome new feature nev. (although it would be more user-friendly if it were non-case-sensitive)!
Snowknight26
4th October 2014, 05:31
I don't know how that player displays tracks, but you can find the track Title by checking 'Track name' in mkvmerge, using eac3to or ffmpeg to parse the file, MediaInfo to display the elements, etc.
Elbart_
4th October 2014, 09:45
When the WebM-reference-decoder is used within mpchc, there's no green line.
I'll do another test-run today.
Here are the results:
I'm using the ffdshow video decoder because of its Resize and Crop filters, but only for uncompressed video. So it's loaded at the end of whatever the previous decoders are doing.
When playing a webm with uneven height, the results are:
LAV for VP8-decoding + ffdshow = green line
http://i.imgur.com/fgrpvj5.jpg
LAV and no ffdshow = works
http://i.imgur.com/MwLDlm0.jpg
WebM reference decoder + ffdshow = works
http://i.imgur.com/6u4DGKX.jpg
I had to use the WebM-Splitter because either LAV or MPCHC would always fallback to LAV Video Decoder instead of the WebM decoder, for some reason, even when setting a "Block"-rule in "External Filters", or unchecking them in the MPCHC-settings.
EDIT: The fallback only happens as long as LAV Splitter is used. When Haali's or the WebM Splitter is used, the WebM decoder can be used, too.
nevcairiel
4th October 2014, 09:45
Feature Request:
video decoder settings for handling side-by-side 3D (sorry, this might have been asked already, I'm not following the thread closely, be kind with me)
show A/left image, B/right image, side-by-side(untouched), Anaglyph and maybe even real 3D
Those are not things a video decoder should necessarily be doing, but tasks for your video renderer. I suggest you request them from your player or video renderer.
shadowdogg
4th October 2014, 09:57
Many thanks for atmos fix
apgood
4th October 2014, 11:01
Does your atmos fix mean that even if bitstreaming the atmos substream is discarded (I.e. won't get to an atmos capable avr)? If so do you plan on fixing it so that the atmos substream will be passed onto the car when bitstreaming?
Sent from my LG-D802T using Tapatalk
nevcairiel
4th October 2014, 11:03
Its not discarded when bitstreaming, its just ignored when decoding.
apgood
4th October 2014, 12:10
Ok. Thanks for the clarification.
Sent from my LG-D802T using Tapatalk
tuco76
4th October 2014, 13:11
LAV Filters 0.63
+1 Thanks for your steady work, awesome! :)
Xaurus
4th October 2014, 14:31
+1 Thanks for your steady work, awesome! :)
Another +1 from me, thanks nevcairiel. And I want to add a -1 to whoever complains about LAV - it's free so if you don't like it, use something else or write your own suite.
Superb
4th October 2014, 23:55
Great release!
P.J
5th October 2014, 14:16
The new decoder is quite faster but both CUVID and DXVA2 didn't work for HEVC :(
James Freeman
5th October 2014, 14:50
The new decoder is quite faster but both CUVID and DXVA2 didn't work for HEVC :(
Same here with GTX660.
I tick the HEVC box and play a movie, then return to the Video Decoder preferences the box becomes un-ticked.
nevcairiel
5th October 2014, 15:21
The 660 is probably too old and/or too weak. The driver decides if its supported.
P.J
5th October 2014, 15:58
I have 750Ti and i3 4150 HD4400 but I tested this video:
http://demo-uhd3d.com/fiche.php?cat=uhd&id=26
I will try these videos here, maybe they work:
http://forum.doom9.org/showthread.php?p=1694699
aufkrawall
5th October 2014, 16:10
Thanks for the new release.
DXVA seems to be working fine with HEVC 720p on GM204, but HEVC 4k is not accelerated. Is this by design?
sneaker_ger
5th October 2014, 16:15
I think 10 bit decoding is not supported - does your 4k file use that?
aufkrawall
5th October 2014, 16:23
Yes. Sorry, didn't pay attention to that.
P.J
5th October 2014, 18:03
Ok, it works fine with the videos here by Cuda but stutters with DXVA (EVR/Custom):
http://forum.doom9.org/showthread.php?p=1694699
Motenai Yoda
5th October 2014, 19:24
Old x264 lossless encodes are not spec-compliant and the ffmpeg decoder is now following the spec more strictly. It's recommended to re-encode with a current x264 version. The next LAV version will restore the old behavior, though, simply because 99% of the lossless H.264 files out there were encoded using x264. New x264 encodes are compatible with every LAV version.
Maybe (but I used 2377 taro's build, in mp4 with --no-remux switch).
btw works well with v. <60, anyway if I'll get again a file with this problem where I can report?
sneaker_ger
5th October 2014, 19:29
You don't need to report it, it's a known x264 issue. Newest LAV 0.63 should play it back again like old builds. If you want to fix your broken files you need to re-encode with a recent x264 build (or deactivate i8x8 IIRC).
Motenai Yoda
5th October 2014, 19:33
yep with 0.63 is "fixed", and no blocked anymore.
Nachbar
5th October 2014, 23:28
Thanks very much for this release! The subtitle selection works nicely :) I do agree you should make it case insensitive for the next release as I am listing a few things twice but otherwise a happy camper
theoneofgod
6th October 2014, 03:40
I have an issue that relates to using Quck Sync. This is just an example file that does it but I have many, ranging from mkv's to mp4's. Most of them were encoded using MSI Afterburner (desktop recording). With version .62 it appeared like things were moving in fast motion but now it's more juddery? in .63
Windows 8.1 x64 - Intel 3770k - MPC-HC 1.7.7
https://www.sendspace.com/file/0w4e7l
nevcairiel
6th October 2014, 08:45
Files recorded with MSI Afterburner are usually terrible files, I'm not surprised. I would recommend getting a better tool.
Reino
6th October 2014, 09:22
LAV Splitter
- NEW: Support for playing AES encrypted HLS streams
Confirmed. Thanks a lot for this new release!
Reino
6th October 2014, 12:48
Request:
Embedded cuesheet:
REM GENRE Soundtrack
REM DATE 2014
REM COMMENT
PERFORMER "Ramin Djawadi"
TITLE "Game Of Thrones: Season 4"
FILE "Ramin Djawadi - 2014 - Game Of Thrones- Season 4" WAVE
TRACK 01 AUDIO
TITLE "Main Title"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "The Rains Of Castamere"
PERFORMER "Sigur Rós"
INDEX 01 01:43:44
TRACK 03 AUDIO
TITLE "Breaker Of Chains"
INDEX 01 04:25:68
TRACK 04 AUDIO
TITLE "Watchers On The Wall"
INDEX 01 08:31:11
...
http://www.ld-host.de/uploads/images/ebcd5e36af756161ab45b439e78ecdb0.png
Left: current situation
Right: imo ideal situation
It can actually read the cover art, but it doesn't tell anyone about it. Should it make it a fake video stream, or export through some metadata? I don't know.
- Have you given this any thought in the meantime? Coverart would be really cool.
I noticed MPC-HC 1.7.7 now supports external coverart, so my request for embedded coverart still stands.
- "Chapter"-line on Information-bar if LAV detects ogm/xml-chapters. "Track"-line if LAV detects embedded cuesheet.
- Have the "Track"-line AND "Navigate - Chapters"-menu only show the track-title.
- "Author"-line shows the album-performer, unless a different track-performer is specified, as in the cuesheet above.
nevcairiel
6th October 2014, 15:56
What good is not knowing the artist at all? If its different for every track, just the track title is rather meaningless.
MajorEvent
6th October 2014, 16:11
Greetings!
I'm hoping one of you LAVFilters experts might lend a hand.
jdobbs over in the BD-Rebuilder thread (http://forum.doom9.org/showthread.php?t=143716) has gotten kean on switching BD-Rebuilder over to using LAVFilters, he really likes it. Thing is some of us are having a problem with out of sync audio after installing LAVFilters. Now I know we're talking about beta on top of beta so I don't expect anything but if there's some kind soul out there that can help sort us out, it would be greatly appreciated.
The issue starts with this post (http://forum.doom9.org/showthread.php?p=1695726#post1695726) (made by me). The skinny is that using ffdshow/haali, there is no problem but after installing LAVFilters (on top of ffdshow/haali or independently) some of us get an audio out of sync issue where the audio is out of sync by at least 2-3 seconds from the start of the content. There is no difference in the time index of either but the audio is delayed in the re-encoded content. I've listed my directshow filters here (via InstalledCodecs) (http://forum.doom9.org/showthread.php?p=1695764#post1695764) and here (via Windows Media Player 12) (http://forum.doom9.org/showthread.php?p=1695766#post1695766).
I'm happy to provide additional information on request. Just tell me what you want. I'll also understand if you don't think you can help.
TIA
Edit: I should mention that while 0.62 is still in use there, I also tried with 0.63.
Reino
6th October 2014, 16:17
Please have a look at the cuesheet again.
The album artist is Ramin Djawadi, in which case there's no need to specify a track artist for each track.
Track 2 is the only track with a different artist, namely Sigur Rós.
nevcairiel
6th October 2014, 16:51
Please have a look at the cuesheet again.
The album artist is Ramin Djawadi, in which case there's no need to specify a track artist for each track.
Track 2 is the only track with a different artist, namely Sigur Rós.
And in that case its crucial information, since its different. It should really show the artist for all tracks instead maybe, instead of for none.
theoneofgod
6th October 2014, 18:40
Files recorded with MSI Afterburner are usually terrible files, I'm not surprised. I would recommend getting a better tool.
Most of them were encoded with MSI Afterburner, not all of them. The issue still exists. Did you play the VOB file I uploaded?
Soukyuu
6th October 2014, 19:15
And in that case its crucial information, since its different. It should really show the artist for all tracks instead maybe, instead of for none.I second this.
You could, theoretically, offer a configuration option for it (something like foobar's title formatting), but that's rather overkill for a splitter/decoder mainly used for video files.
HeadlessCow
6th October 2014, 19:44
I second this.
You could, theoretically, offer a configuration option for it (something like foobar's title formatting), but that's rather overkill for a splitter/decoder mainly used for video files.
I think what he wants is the track artist shown in the artist field at the bottom, rather than the album artist.
CharlieCL
9th October 2014, 03:00
I tested 0.63 in Core i7 Haswell Dual-Core 2.4GHz laptop. HEVC clips can run in smooth on CPU usage 60% to 30%. That is an awesome software HEVC codec. And the video quality on my 1080p laptop is very sharp. Thanks nev.
johtaja
10th October 2014, 08:54
Would it be possible to LAV check on each start which audio output is in use and use different settings for different outputs? When I use comp speakers, I need LAV to decode audio, when I use HDMI I want LAV to bitstream AC3, DTS etc. Now I have to change it manually, but it would be great if LAV would auto select it.
nevcairiel
10th October 2014, 09:04
There are no plans for that, sorry.
clsid
10th October 2014, 14:31
What about a decoding fallback for when bitstreaming is enabled? The MPC-HC audio switcher has been fixed to properly support that, and works fine with for example AC3Filter.
Hera
12th October 2014, 00:16
Get black screen in playback in MPC:HC custom with half of media.
Do a lot of debugging, even do a system rollback.
Finally someone here says to disable P010 output and... everything plays again.
FYI if anyone else is having an issue.
EDIT: 344.11 driver may be the issue ?
vivan
12th October 2014, 01:29
Yes, it's nvidia driver issue - http://forum.doom9.org/showthread.php?p=1694190#post1694190
P.J
12th October 2014, 16:12
Get black screen in playback in MPC:HC custom with half of media.
Do a lot of debugging, even do a system rollback.
Finally someone here says to disable P010 output and... everything plays again.
FYI if anyone else is having an issue.
EDIT: 344.11 driver may be the issue ?
What kind of videos? No problem here with 344.11
nevcairiel
12th October 2014, 18:50
10-bit videos.
Reino
12th October 2014, 21:03
And in that case its crucial information, since its different. It should really show the artist for all tracks instead maybe, instead of for none.Late reply, sorry.
Afaik track performer and even title are officially optional. But anyway,... I've been managing my cuesheets this way for god knows how long and foobar2000, my primary music player, has always succesfully parsed my cuesheets:
http://www.ld-host.de/uploads/images/97839414a0f0d5876e6a3b9403531948.png
Unless a track artist is specified, set album artist = track artist. Is this such an odd request?
Have you given my other suggestions any thought?
DragonQ
12th October 2014, 23:20
Is that Windows XP classic UI? O_o
nevcairiel
13th October 2014, 00:00
Unless a track artist is specified, set album artist = track artist. Is this such an odd request?
And how do you imagine it would do this?
There is exactly one artist metadata field that DirectShow offers, since its one big track. The CueSheet is used to produce the chapters, and possibly set the global artist and album values, but DirectShow doesn't expose any way to set per-chapter metadata, short of its name.
It does the best it can do with what DirectShow offers, simply add all the information it has into the chapters name, ie. if a track artist is specified, it'll show up there.
If you want individual metadata, split it into individual tracks, or use a proper music player which can present such files with a CueSheet as individual tracks to you.
Music often requires quite different handling than video files, which both DirectShow and LAV are not designed for.
And no, I'm not going to switch around the global artist field based on the playback position (most players wouldn't re-read the metadata after opening anyway).
LigH
13th October 2014, 08:46
Is that Windows XP classic UI? O_o
Most probably; Windows 7 still allows "not" to use an Aero design. But guess what ... there are already applications which fail when you don't use an Aero design (e.g. the ChessBase UI used for engines like Fritz or Shredder).
P.J
13th October 2014, 12:53
10-bit videos.
HEVC yes, only black screen but the rest are ok.
Just tried to play a 12bit video but LAV can't play it smoothly while CPU is only about 50% and Jitter is 1
AVC High 4:4:4@L5.1 (SONY Japan BRAVIA 4K Upscaling Demonstration 2014)
Reino
13th October 2014, 17:53
Fair enough, nevcairiel. If DirectShow is the limiting factor,...no problem.
What about embedded coverart?
Is that Windows XP classic UI? O_o
Yes it is.
mastan
14th October 2014, 02:12
Just tried to play a 12bit video but LAV can't play it smoothly while CPU is only about 50% and Jitter is 1
AVC High 4:4:4@L5.1 (SONY Japan BRAVIA 4K Upscaling Demonstration 2014)
Found this video. On mine Core i5-3570K CPU load is also about 50% on each of 4 cores on MPC-HC + LAV x32+madVR and about the same in PotPlayer x64.
In MPC madVR shows decoder queue is 14-16 all the time, the other queues 6-8 or 7-8. But the video is still jittery in both players, so the problem is probably in the video itself.
Further analysis shows that pretty frequently frames repeat previous ones, for example at time(in seconds) 11.778 & 11.811, 11.878 & 11.911, 12.278 & 12.312, 12.379 & 12.412 etc.
P.J
14th October 2014, 20:55
How did you find the duplicated frames?
Deihmos
15th October 2014, 03:31
Every release after 0.59.1 introduced a bug when I resume from sleep. When I leave WMC open when resume from sleep nothing will play unless I restart the program. Version 0.59.1 works perfectly fine so something must have changed to cause this behavior. Any ideas what is causing this?
It happens on all my computers so I continue to use 0.59.1.
huhn
15th October 2014, 20:22
How did you find the duplicated frames?
open it in avisynth.
use control + arrow right/left in mpc hc
use madVR IVTC on it and read the cadence (only made for things like 24 fps in 60 fps not for 1 repeated frame every couple sec).
there are a lot of ways to do this.
mastan
15th October 2014, 22:17
How did you find the duplicated frames?
Actually I used Avidemux and right/left buttons.
hubblec4
20th October 2014, 01:03
Hi Nev
I did a little experimenting with mkv segment linking.
Maybe I'm come across a bug in the LAV Splitter.
I have two part mkv's, which are each 10 seconds long.
In the first mkv file is a chapter.xml with 4 chapters.
The fourth chapter contains the ChapterSegmentUID tag, with the SegmentUID of the second mkv file.
The playing time is displayed correctly with 20 seconds in MPC-HC.
When the fourth chapter is reached, the video jumps to the end and stops.
The same happens when you directly to chapter 4 jumps (Chapter Menu).
If you select in the timeline the timestamp 00:00:11.000, then the rest of the video is played.
I then tested the whole thing with the Haali Splitter and there everything was played correctly.
Settings: MPC-HC 1.7.7 (32bit), LAV Splitter (0.63) external, madVR 0.87.10, LAV Video HW-Decoder: NVIDIA CUVID
I have uploaded the test files. If the upload somewhere else would be better let me know.
http://www.share-online.biz/dl/4QP1TPDN0F
sneaker_ger
20th October 2014, 04:57
First frame of Part2.mkv is not marked with IdrPicFlag but since it's a recovery point it should probably work anyways. Not sure if that's the reason. Either way be careful when splitting open gop, make sure splits are only at IDR frames.
cyberbeing
20th October 2014, 10:50
hubblec4's sample does work with Haali Splitter though, so it should probably be fixed either way.
sneaker_ger
20th October 2014, 11:21
Yes, if that's really the problem it should definitely be fixed.
nevcairiel
20th October 2014, 11:28
Should be fixed, the problem was that Haali's MatroskaParser outputs unsigned timestamps, but the second segment actually has a negative timestamp due to not starting with a full IDR. I bet it only works by accident in Haalis splitter.... :)
Its still rather ugly since it somewhat relys on casts between signed and unsigned since I didn't want to rewrite the entire MatroskaParser API to be signed, but yeah.
hubblec4
20th October 2014, 11:35
First frame of Part2.mkv is not marked with IdrPicFlag but since it's a recovery point it should probably work anyways. Not sure if that's the reason. Either way be careful when splitting open gop, make sure splits are only at IDR frames.
I have made a new test where i split on IDR frames.
With Haali Splitter works all fine, LAV Splitter not.
hubblec4
20th October 2014, 15:01
Should be fixed, the problem was that Haali's MatroskaParser outputs unsigned timestamps, ....
Where i can find this fix? Next LAV release?
sneaker_ger
20th October 2014, 17:41
Yes, but you can already get a nightly:
http://pan.baidu.com/s/1gd1its3#dir/path=%2F自编译软件
hubblec4
21st October 2014, 12:21
@ sneaker_ger
Thanks for this link.
@ nevcairiel
Thanks for that fix, it works now.
filler56789
21st October 2014, 20:22
Apologies for the "apparent" OT, but...
regarding the publicly-available builds of LAV Filters,
«nightlies» is a big MISnomer;
also, at least at this exact moment,
I cannot download anything from betaking's directory @ baidu :mad:
It's really unbelievable, there is only one source of up-to-date builds, and that source is in an Orwellian country :(
nevcairiel
21st October 2014, 20:25
The source is freely available, you are free to build your own. Otherwise, I'm under no obligation to provide frequent "alpha" builds. :p
NikosD
21st October 2014, 20:55
Always here if you want to override Orwell and Huxley:
http://tmod.nmm-hd.org/LAVFilters/
cyberbeing
22nd October 2014, 15:27
http://tmod.nmm-hd.org/LAVFilters/
Keep in mind that astrataro's tmod builds contain custom patches, while betaking provides unmodified stock builds.
NikosD
22nd October 2014, 15:56
I think only cosmetic patches, not functional.
wanezhiling
22nd October 2014, 17:18
the difference of 06_taro's build: https://www.nmm-hd.org/newbbs/viewtopic.php?f=17&t=431
:p
Tacio
22nd October 2014, 19:24
the difference of 06_taro's build: https://www.nmm-hd.org/newbbs/viewtopic.php?f=17&t=431
:p
Could you please briefly translate it into English? :)
06_taro
23rd October 2014, 03:44
Could you please briefly translate it into English? :)
Posted here (http://astrataro.wordpress.com/2014/10/22/lavfilters-tmod/).
Mostly dirty hacks....
filler56789
23rd October 2014, 05:10
The source is freely available, you are free to build your own. Otherwise, I'm under no obligation to provide frequent "alpha" builds.
Of course you have no obligation to provide frequent alpha builds of LAV Filters. I only tried to say, it's unfortunate that
open-source ++ "7.xyz billion people" in the world DOES NOT lead to
dozens of download URLs for ready-to-use binaries u_u
@NikosD && @06_taro: Thanks! :thanks:
ryrynz
23rd October 2014, 10:17
Nvidia driver 344.48 has been released and fixes the 10 bit output issue
Changes and Fixed Issues in Version 344.48
344.11: Green screen when certain videos played back in Media Player Classic Home
Cinema. [1556111]
Mostly dirty hacks....
"5. Some colorspace conversion inside LAV Video does not have custom optimization and uses libswscale routine. I changed the prefered kernel from Bilinear to Bicubic, which has a better quality."
Would it make sense to have that by default?
nevcairiel
23rd October 2014, 10:52
None of those conversions are used in normal operation of LAV, especially not with a decent renderer like madVR. And Bicubic in swscale is butt-slow.
Even with EVR you'll have to find some special videos and combinations to even trigger those conversion.
If you force a non-native output for some crazy reason, its your own fault. :p
M@xim
24th October 2014, 09:17
Intel QuickSync Decoder Version 0.45 or older?
James Freeman
25th October 2014, 14:18
nev,
Weren't there a rumor that a native DTS-HD support will soon to come to LAV?
How is that coming around?
foxyshadis
25th October 2014, 21:03
nev,
Weren't there a rumor that a native DTS-HD support will soon to come to LAV?
How is that coming around?
Right now it's on the list for a new round of sponsored improvements for next year: DTS / DCA Improvements (https://trac.ffmpeg.org/wiki/SponsoringPrograms/OPW/2014-12#DTSDCAImprovements)
IIIuXep
25th October 2014, 22:04
Need help...
Blank screen on Windows 8.1 with DVXA2
It worked fine at the begining (version 0.58) but at some point stopped. I didn't catch the moment when it happened, videos just become green screen, I updated 58 to 63 and green changed to black, and that's it...
Videocard is Radeon 4850
wanezhiling
26th October 2014, 14:14
https://www.sendspace.com/file/h6ahhs
Can't play it, wmp12 works fine.
filler56789
26th October 2014, 14:42
https://www.sendspace.com/file/h6ahhs
Can't play it, wmp12 works fine.
Looks like the single video frame is borked.
MKVmerge GUI returns a warning message.
MediaInfo says, width=1280, height=1024, DAR=16:9 — WTF? :confused:
Gravitator
28th October 2014, 18:08
Салам!
Video mode CUDA crumbles and falls with error VCRedist through DirectX (software normally) > sample (http://files.videohelp.com/u/227452/LAV%20(hevc%20hardware).mkv)
I suspect that due to the high P16-B16 frames...
Win7x64, Core2Duo E6600, GTX750 2GB (driver v344.11), DDR3 8GB, MPCx32 v1.7.7, LAV v0.6.3.
Aleksoid1978
29th October 2014, 14:03
Bug in seeking HEVC + mpeg-ts. After seek - huge CPU load and picture is freeze. Tested in MPC-HC/MPC-BE/Graphstudio. MPC-BE's MPEGSplitter seek fine(little image corruption after seeking, but playback don't stop).
Samsung_UHD_Soccer_Real_Madrid_Celta_Vigo.ts (http://demo-uhd3d.com/fiche.php?cat=uhd&id=43)
namaiki
30th October 2014, 13:59
Decoding MP3 with LAV Splitter-> LAV Audio-> MPC Audio Renderer (MPC-BE).
I have found that LAV Audio decoder by itself prefers to output 16-bit audio. However, when connected with MPC Audio Renderer from MPC-BE, LAV Audio decoder sends 32-bit float audio to MPC Audio Renderer which converts that to 24-bit audio.
Is one method more correct than the other?
edit: something is a bit funny with my testing. Actually, it seems that LAV Audio decoder does not prefer to output 16-bit audio in either situation.
Blight
30th October 2014, 14:45
nev:
I got a report from a user about a non-audio playing MP4 files, basically files downloaded from https://www.singstar.com/community.html
I uploaded a short sample here:
http://zoomplayer.com/t/noaudio_mp4sample.zip
Both the Microsoft DTV and the old gabest mpeg audio decoder seem capable of decoding the audio (using LAV splitter as source filter), so I'm wondering if LAV audio decoder can support these.
Aleksoid1978
31st October 2014, 02:09
nev:
I got a report from a user about a non-audio playing MP4 files, basically files downloaded from https://www.singstar.com/community.html
I uploaded a short sample here:
http://zoomplayer.com/t/noaudio_mp4sample.zip
Both the Microsoft DTV and the old gabest mpeg audio decoder seem capable of decoding the audio (using LAV splitter as source filter), so I'm wondering if LAV audio decoder can support these.
It's ffmpeg's bug. Create ticket in ffmpeg.
mirkosp
31st October 2014, 10:32
Can anything be done for subtitles that start before or at the chapters points when segment linking? When it's simple chapters normal playback is fine and there are a couple of ways around when seeking, but when it comes to ordered chapters with segment linking the issue is opposite. I can get it to work properly when seeking to the chapter, but during normal playback, if it's switching segment and there's a subtitle which starts at the chapter point, it won't get loaded, meaning the next best thing I can do is get a blinking frame without sign... how does it decide which subs get loaded?
nevcairiel
31st October 2014, 13:46
edit: something is a bit funny with my testing. Actually, it seems that LAV Audio decoder does not prefer to output 16-bit audio in either situation.
It prefers to output whatever the internal decoder decodes the audio to, if anything else happens, then the audio renderer didn't accept it.
mirkosp
31st October 2014, 14:45
Just to update, for the time being I worked around the issue by manually rounding the timecode for the chapter start frame so it's at a .xx0 ms in the video stream, and made sure that same timecode was used both as the starting point in the ordered chapters and the subtitle timecode in the .ass. Kind of a dirty hack but a <10ms difference at chapter points isn't perceptible in playback anyway.
Weirdo
1st November 2014, 02:28
Hello there, it seems YouTube's Dash separated audio files (.m4a) cannot be decoded (sample here (http://www.solidfiles.com/d/4f5a321eda/Dash_audio_sample.zip)). Any plans to support them? Thanks.
vivan
1st November 2014, 03:19
I don't have any problems with that sample (LAV 0.63.0.0 x86)...
Sparktank
1st November 2014, 03:53
The 0.63.0.2 (x86) version packed with KLCP doesn't have any issues either.
External filters for MPC-HC (internal disabled).
foxyshadis
1st November 2014, 11:17
Just to update, for the time being I worked around the issue by manually rounding the timecode for the chapter start frame so it's at a .xx0 ms in the video stream, and made sure that same timecode was used both as the starting point in the ordered chapters and the subtitle timecode in the .ass. Kind of a dirty hack but a <10ms difference at chapter points isn't perceptible in playback anyway.
When you say ordered chapters, are you talking about split files? In that case, doubled-up subtitles make sense, if they cross a chapter boundary. As you say, manually editing everything so that subtitles never cross a chapter boundary is also effective.
Vasilich
1st November 2014, 20:41
Hi Nev,
any plans to support teletext subtitles in TS files as separate stream?
Weirdo
2nd November 2014, 12:59
Thanks for testing. Strange, I cannot play such files either with MPC-HC + LAV or with Media Center (which uses LAV).
Hello there, it seems YouTube's Dash separated audio files (.m4a) cannot be decoded (sample here (http://www.solidfiles.com/d/4f5a321eda/Dash_audio_sample.zip)). Any plans to support them? Thanks.
I don't have any problems with that sample (LAV 0.63.0.0 x86)...
mastan
2nd November 2014, 18:07
Hello there, it seems YouTube's Dash separated audio files (.m4a) cannot be decoded (sample here (http://www.solidfiles.com/d/4f5a321eda/Dash_audio_sample.zip)). Any plans to support them? Thanks.
Also no problem playing file on MPC-HC 1.7.6 x32 + external LAV 0.63.0.
Audio decoder status tab shows that file format is 32bit Float. Try disabling 32-bit floating point output on Audio Settings tab to check if its the issue with your audio device.
Anakunda
2nd November 2014, 19:58
HIYAS
I have problem with LAV Audio component...if I select it on video player as preferred audio decoder for AC3, it fails to play some way...either it passes playback control to system next preferred decoder (POT Player) or it is silent (DVB Dream). If I choose ACfilter or ffdshow for AC3 they're able to playback (POT). I tried to tweak system and DS settings by CodecTweakTool, everywhere is LAV as preferrad AC3 decoder, though POT always selects another decoder (I remark when starting playback video with AC3 track that LAV Audio icon flashes for a second in the tray before it's replaced by the another codec icon...from that it looks like initially decoding control is really given to LAV Audio but it for some reason gives up)
For other audio codecs LAV seems to behave flaswlessly. Any ideas?
Weirdo
2nd November 2014, 22:51
Thanks mastan. Tried it but still, MPC-HC actually crashes and Media Center will not play them.
Also no problem playing file on MPC-HC 1.7.6 x32 + external LAV 0.63.0. Audio decoder status tab shows that file format is 32bit Float. Try disabling 32-bit floating point output on Audio Settings tab to check if its the issue with your audio device.
karoloydi
5th November 2014, 12:40
Hi guys. Quick question. If I have full range speakers, do I leave the LFE Mix level at 0? Or do I set it up normally.
When I do the surround sound speaker test theres no sound for the LFE channel if I set it at 0, but the bass sounds really loud when I set it up normally.
nevcairiel
5th November 2014, 14:06
Set it to whatever sounds good to you.
foxyshadis
6th November 2014, 22:40
Moved posts about file associations/splitting to Troubleshooting LAV Filter associations (https://forum.doom9.org/showthread.php?t=171359).
salam2009
7th November 2014, 01:27
http://oi61.tinypic.com/256cvio.jpg
I get format output change when I use 'MPC-BE Audio Renderer' in both "Exclusive/Shared but the second uses float" while having LAV, Reclock (set to WASAPI with recommended settings) and playing a DTS-HD video (with dtsdecoderdll.dll copied)!
Is that normal?
foxyshadis
7th November 2014, 01:59
It is if your audio driver prefers 32-bit over 24-bit.
LigH
8th November 2014, 08:49
Does LAV Filters support AVI Drop frames (by repeating the last decoded frame)?
I don't know if I own any test samples, but I heard complaints from another user of the german doom9/Gleitz forum that LAV Filters return a strange average frame rate instead, with async results. If anyone knows about a sample (it seems to be used together with multiple frame rates to simulate VFR), I'd be interested in testing, the index file is human-readable AFAIR, so there should possibly be hints about this case.
nevcairiel
8th November 2014, 10:21
Frames will not be repeated. You will get VFR out of such files. The drop frames only exist because AVI doesn't allow VFR, they serve no practical purpose after decoding.
LigH
8th November 2014, 11:28
:o Uh, sorry, probably wrong thread here ... the question was rather about L-SMASH Works using LwLibavSource. AviSynth only supports CFR, here it would make sense to use drop frames as designed in AVIs...
wanezhiling
8th November 2014, 17:24
https://www.sendspace.com/file/fq7gc6
The file doesn't work properly with all hw decoders, but works fine with sw decoders.
Hmm.. do you know what's wrong?
jkauff
8th November 2014, 20:11
https://www.sendspace.com/file/fq7gc6
The file doesn't work properly with all hw decoders, but works fine with sw decoders.
Hmm.. do you know what's wrong?
I'm guessing here, but probably Intel QuickSync and Nvidia CUDA only decode the most common formats. I would expect LAV to fall back to SW decoding for other formats, but maybe it doesn't do that automatically or isn't doing it in this particular case for some reason.
clsid
8th November 2014, 23:55
That sample seems a bit broken. FFmpeg shows "Possibly too many slices".
NikosD
11th November 2014, 00:10
https://www.sendspace.com/file/fq7gc6
The file doesn't work properly with all hw decoders, but works fine with sw decoders.
Hmm.. do you know what's wrong?
Intel QuickSync decoder is a lot better than both DXVA native/ copy-back, but still struggling to decode it.
At least you can see images moving with a strange frame-rate, while DXVA shows only a black/green image.
Traps
11th November 2014, 18:42
I have issues with the sound coming from my ASUS Xonar DG sound card when using LAVFilters. When playing videos that have AC3 or AAC audio it makes it impossible to listen because of all the weird sounds, pops and crackling. I'm using Media Player Classic Home Cinema. It also happens on youtube videos if watching them on Chrome, but it doesn't happen with Firefox or Opera 12.
Here's an example i recorded from Downton Abbey opening, file was the iTunes WEB-DL 1080p with AAC audio.
https://www.dropbox.com/s/t7yed9f7s106don/errors.wav?dl=0
I have figured out that AAC/AC3 audio works if i switch audio decoder from LAVFilters to FFDShow (i have to switch the decode library in FFDShow from libavcodec to libfaad2 if i want it to work properly without issues). No fixes for Chrome.
Most of the audio works fine though, games work, Skype works, winamps works...
I don't think it's the audio card, i tried a new ASUS Xonar DGX from a friend and it didn't change anything.
nevcairiel
11th November 2014, 18:50
Disable 32-bit floating point output in LAV Audio, it should help.
Ortix
13th November 2014, 22:18
Hi guys!
I'm trying to extract thumbnails from a torrent stream by downloading the first couple of chunks to get the headers, another set of chunks from somwhere around the middle and then concat them to have a single video file.
For this I'm using nodejs but I'm having trouble with the concatenation part. Obviously the headers include the length of the video so if I simply concat another chunk to the end of the headers chunk, it won't work.
In other words, I have 2 chunks of a video file: The first one contains the headers and some material and the other one is fully composed of a video stream. I want to combine the two to form a single video file So my question is how can I make this work properly if at all?
Luke M
14th November 2014, 09:26
The auto A/V sync correction feature works, but it has a terrible side effect. Every time it resyncs, there's an audio discontinuity and a very annoying "pop" noise.
It sucks having to choose between out of sync audio and bad audio. Isn't there some way to create smooth audio transitions?
Midzuki
14th November 2014, 17:35
I'm trying to extract thumbnails from a torrent stream by downloading the first couple of chunks to get the headers, another set of chunks from somwhere around the middle and then concat them to have a single video file.
For this I'm using nodejs but I'm having trouble with the concatenation part. Obviously the headers include the length of the video so if I simply concat another chunk to the end of the headers chunk, it won't work.
In other words, I have 2 chunks of a video file: The first one contains the headers and some material and the other one is fully composed of a video stream. I want to combine the two to form a single video file So my question is how can I make this work properly if at all?
What does that have to do with LAV Filters? :confused:
Ortix
14th November 2014, 18:45
What does that have to do with LAV Filters? :confused:
I am incredibly sorry! I had 2 question for 3 different boards and I pasted in the wrong one.. my bad
SamuelMaki
18th November 2014, 20:32
Not sure if this has been asked yet, but would it be possible to get special headphone option for mixing instead of only speakers? Either with virtual surround or crossfeed.
Anima123
18th November 2014, 23:35
The real media splitter that is included in LAV Filters based on ffmpeg seems bugged, which will cause A/V unsync after seek.
I remembered read before somewhere in this forum that someone is planned to write a better one, but cannot recall the exact thread. So I am asking here if anyone know how's the status of the plan? I am afraid this format is just too obsolete that not worth doing anymore. Real media is quite popular years ago before mp4 bump in as I recall.
buchanan
21st November 2014, 15:22
Hello,
I have a problem with the two following files :
output_compare.265 (http://www.buchanan-caps.com/divers/essais_hevc/output_compare.265) (raw HEVC file, encoded with x265)
output_compare.mkv (http://www.buchanan-caps.com/divers/essais_hevc/output_compare.mkv) (mkv file containing the previous HEVC video track, written with mkvmerge, no audio)
The raw HEVC file plays fine in MPC-HC, but the MKV file doesn't play : black screen, and progress bar cursor jumping forward and backward very quickly
To confirm the problem could be located in LAV, I ran the following tests in GraphSudio with hand-built graphs :
Raw HEVC file: LAV splitter source + LAV Decoder + EVR = OK
Raw HEVC file: LAV splitter source + Lentoid HEVC decoder + EVR = OK
MKV file: LAV splitter source + LAV Decoder + EVR = KO (black screen)
MKV file: LAV splitter source + Lentoid HEVC decoder + EVR = OK
Versions used:
LAV 0.63.0
MPC-HC 1.7.7 (internal LAV 0.63.0)
Lentoid HEVC decoder 2.0.2.5
mkvmerge 7.3.0.0
x265 1.4+67
Gravitator
22nd November 2014, 12:39
MKV file: LAV splitter source + LAV Decoder + EVR = KO (black screen)
Exists for software decoding (hardware normally).
NikosD
22nd November 2014, 13:09
MKV file: LAV splitter source + LAV Decoder + EVR = KO (black screen)
Versions used:
LAV 0.63.0
MPC-HC 1.7.7 (internal LAV 0.63.0)
Lentoid HEVC decoder 2.0.2.5
mkvmerge 7.3.0.0
x265 1.4+67
Exists for software decoding (hardware normally).
It's a very strange situation.
I tried MPC-HC 1.7.7.128 x64 (LAV 0.63.5) and when I load the output.mkv clip alone, then the player is set to paused mode, displaying a black screen using S/W decoding or even H/W decoding.
BUT, when I use a play list using two or more clips (and one of the them of course is the output.mkv) then output.mkv can be played using both S/W and H/W decoding.
Using DXVA Checker it doesn't work at all.
PotPlayer can decode it fine single or in playlist in both S/W and H/W mode.
qtwebkit
22nd November 2014, 13:57
RK3288 is said to be able to hw decode 10bit+hevc+4k videos.
Is it true or just a gimmick?
NikosD
22nd November 2014, 17:07
All 5 HEVC files (4K and UHD) from the link below, don't work with HW Intel HEVC decoder and don't fall back to SW decoder properly.
A black screen with audio only using signature system and MPC-HC x64 v1.7.7.128
They work fine in HW with PotPlayer.
http://www.imaging-resource.com/news/2014/11/19/samsung-nx1-4k-video-samples-and-new-full-res-frame-grabs-available-for-do
Deihmos
23rd November 2014, 01:58
Ever since lav 0.59.1 when my PC sleeps and resumes I am unable to play any videos until I restart the player. When the PC resumes lav is still loaded in the background but the opposite when I use 0.59.1.
buchanan
24th November 2014, 22:23
Hello,
Regarding the problem with the .mkv file mentionned in my previous post, I've been able to narrow down the problem somwhere between LAV 0.62.0.15 and LAV 0.62.0.26 using the nightly builds archive of MPC-HC :
MPC-HC x64 1.7.6.217 (LAV 0.62.0.15 internal) = OK
MPC-HC x64 1.7.6.235 (LAV 0.62.0.26 internal) and following versions = KO
Dexter_prog
24th November 2014, 23:42
Hey. I'd like to know how to blacklist LAV for an application, specifically Deadly Premonition (it's this crappy game that crashes if you use LAV). I searched on google and found out about some registry keys which are nonexistent in my LAV installation (not under HKLM). I found one in HKCU and tried added Blacklist and then the DWORD using the proper exe, but it still loads LAV as the splitter and thus, the game crashes.
mastan
27th November 2014, 09:56
Hey. I'd like to know how to blacklist LAV for an application, specifically Deadly Premonition (it's this crappy game that crashes if you use LAV). I searched on google and found out about some registry keys which are nonexistent in my LAV installation (not under HKLM). I found one in HKCU and tried added Blacklist and then the DWORD using the proper exe, but it still loads LAV as the splitter and thus, the game crashes.
http://pcgamingwiki.com/wiki/Deadly_Premonition:_The_Director%27s_Cut#Game_crashes_after_intro_movie
nevcairiel
27th November 2014, 10:22
There is no Blacklist feature in LAV, I have no idea where they pull this obviously wrong information from.
LigH
27th November 2014, 16:25
There is one in ffdshow; but they use a semicolon separated list.
Maybe someone forked LAV Filters without telling you?!
__
P.S.: Another report (http://shark007.net/forum/Thread-Is-there-a-way-to-stop-LAV-filters-kicking-in-every-movie-during-gameplay?pid=35128#pid35128) with some "appreciation" to you. :rolleyes:
Also know, this blacklisting is not a feature of the 'author released' version of LAV filters.
nevcairiel
27th November 2014, 16:30
Yeah he is one of those people that base their entire work on my project and then do nothing but complain and demand.
There isn't even a huge reason against a blacklist feature in LAV itself, especially if someone contributes the code (and is willing to adjust it after review), but that would require actual contributions and not just bad mouthing.
Shark007
27th November 2014, 17:24
Sorry to have offended you.
I use LAV binaries compiled and distributed by clsid. Maybe after reading this, he'll offer a patch.
MrC
27th November 2014, 23:21
Hi nevcairiel
first of all thanks for all your effort in LAV Filters development. :)
Do you think it is possible to add the 5.0 channels configuration to the audio Output Mixer? I know this feature request is somehow academic, but I'm interested in because DVD standard allows it.
;)
Bye
Dexter_prog
28th November 2014, 03:52
Ahh, thanks guys, this sucks, well, for this shitty game, because I'm not uninstalling LAV just to play this goddamn pc port. I didn't know there wasn't a blacklist feature nor that it was hard to implement, sorry :/
Sarasa
29th November 2014, 10:01
@Dexter_prog
I know it's not the best solution,
but have you try putting in LAV Video Config > Hardware Accelaration "none"
play the game or games, and when you want to watch movie/etc reactivate in LAV Video Config your Hardware Accelaration ? ;)
DragonQ
29th November 2014, 15:01
Hi nevcairiel
first of all thanks for all your effort in LAV Filters development. :)
Do you think it is possible to add the 5.0 channels configuration to the audio Output Mixer? I know this feature request is somehow academic, but I'm interested in because DVD standard allows it.
;)
Bye
If you have no subwoofer and no full-range speakers, just set LAV to 5.1 output with LFE at 0. If you have no subwoofer but want the LFE channel sent to your full-range speakers, then set LAV to 5.1 and then set your receiver up so that it knows to mix the LFE channel with the front channels (for example).
detmek
29th November 2014, 19:00
Hi nev. Is it possible to support reading ReplayGain tags from MKV and MP4 containers and adjust audio level during playback?
I use foobar2000 as music player and all my audio tracks are scanned with it and have RG tags so those sound equally loud during playback.
Foobar2000 can scan MKV and MP4 files and write RG values in tags but no video player supports reading those tags. Since your audio decoder already has some normalizing feature (it changes audio during playback) it might be possible to change audio according to RG values.
Using RG tags might be a better then transcoding audio to make it equally loud and it is non-destructive.
mzso
30th November 2014, 20:09
Hello!
I downloaded a trailer from Rotten tomatoes (Youtube has half the bitrate...) it was in several small files which I remuxed with mkvmerge.
When LAV's the decoder I get small gaps and crackle. When using mpv or Potplayer's internal audio decoder the playback is fine.
https://drive.google.com/file/d/0ByfdfPvnoDuzMDhPdlhYcHQ4TmM/view?usp=sharing
MrC
30th November 2014, 20:27
@DragonQ
thanks for the suggestion, but actually the interest into 5.0 channels configuration is driven by the full support to LAV Filters into AVStoDVD, trying to cover all the possibilities.
:)
Bye
theoneofgod
1st December 2014, 04:09
Hello!
I downloaded a trailer from Rotten tomatoes (Youtube has half the bitrate...) it was in several small files which I remuxed with mkvmerge.
When LAV's the decoder I get small gaps and crackle. When using mpv or Potplayer's internal audio decoder the playback is fine.
https://drive.google.com/file/d/0ByfdfPvnoDuzMDhPdlhYcHQ4TmM/view?usp=sharing
It also stutters when playing through the HTML5 stream. I think you messed up :)
mzso
1st December 2014, 14:23
It also stutters when playing through the HTML5 stream.
I don't see how that's relevant. Then the HTML5 player is bugged also, more bugged judging by the frequency of stuttering. Also it works with other decoders so even less significant.
I think you messed up :)
Joining a few files in mkvmerge can be messed up how exactly?
vood007
1st December 2014, 15:03
AFAIK frame timestamps can be messed up/missing. LAV can be picky with this, although its not LAV fault, the file is just broken. Other players may have hacks to allow playback. Just re-encode the merged file or use another player.
theoneofgod
2nd December 2014, 07:12
I don't see how that's relevant. Then the HTML5 player is bugged also, more bugged judging by the frequency of stuttering. Also it works with other decoders so even less significant.
Joining a few files in mkvmerge can be messed up how exactly?
It's relevant because if 2 players are having the same problem, chances are it could be the media causing it.
trandoanhung1991
3rd December 2014, 19:33
Hi guys, I have a little bit of an issue with LAV crashing.
I have both HD4000 and GTX970, and I'm trying to use NVCUVID for decoding. If I enable HW Adaptive Deinterlace using NVCUVID, it'll cause MPC to crash.
It doesn't crash if I use QuickSync, though.
This did not happen with 0.62, IIRC.
EDIT: I dig around a bit more and apparently High Quality Processing is what's crashing MPC.
COOLak
4th December 2014, 15:14
Hello.
I'd like to report a compatibility issue with a game, Worms Clan Wars. The name of the game's executable is WormsClanWars.exe. LAV Filters always load during cutscenes and make a black screen appear instead of them.
The cutscenes' media info:
Video
Format : MPEG-4 Visual
Format profile : Simple@L1
Codec ID : FMP4
Color space : YUV
Writing library : Lavc52.108.0
Audio
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
I tried unchecking all MPEG-4 and PCM related options in the LAV Splitter's demuxing section, LAV Filters still load both for video and audio of the game's cutscenes.
I'm asking to please blacklist this game in the next updates, and if there is a temporary solution for me to block LAV from loading in this game, I'd be grateful for revealing it to me. Thank you.
LigH
4th December 2014, 15:20
Please read before posting; the "blacklisting feature not (yet) implemented in the 'author released' version" was already discussed one page ago (http://forum.doom9.org/showthread.php?p=1700725#post1700725)... it is an addition in a codec pack.
Thank you for the codec's FourCC, though. "FMP4" is a hint towards ffmpeg's generic MPEG4 ASP codec.
COOLak
4th December 2014, 15:24
Please read before posting; the "blacklisting feature not (yet) implemented in the release build" was already discussed one page ago (http://forum.doom9.org/showthread.php?p=1700960#post1700960)...
Thank you for the info, I have edited my message accordingly.
"FMP4" is a hint towards ffmpeg's generic MPEG4 ASP codec.
Would you please point me to this codec's ID in the Splitter's "Input Formats" section so I could disable it?
bouwew
5th December 2014, 17:34
Is it me, or do the latest two LAV-nightlies crash MPC-BE and MPC-HC while closing the applications?
Source: pan.baidu.com and http://tmod.nmm-hd.org/LAVFilters/
0.63.7 is ok, 0.63.12 an .13 are not OK.
nevcairiel
5th December 2014, 17:46
Works fine here. What are you playing before the close?
HotShot
5th December 2014, 18:02
Is it me, or do the latest two LAV-nightlies crash MPC-BE and MPC-HC while closing the applications?
Source: pan.baidu.com and http://tmod.nmm-hd.org/LAVFilters/
0.63.7 is ok, 0.63.12 an .13 are not OK.
The same here, Stereoscopic Player chrashes reproducible while fastforwarding, switching tracks and closing, since v0.63.12 ...
bouwew
5th December 2014, 19:01
Doesn't matter what I play, happens always.
I play an .mkv, then close the player app via File, Exit or Alt-F4, followed by the Windows error message telling me MPC-xx has crashed. Somehow during the closing of the app LAV causes it to crash.
Happens also with MediaPlayerDotNet_x86.
Will test in more detail tomorrow...
LigH
5th December 2014, 19:03
Would you please point me to this codec's ID in the Splitter's "Input Formats" section so I could disable it?
I have no clue how the original LAV Filters can be configured to ignore a specific content format; but as far as I remember from previous explanations, this would be the responsibility of the decoder rather than the splitter not to register as matching filter. The splitter is responsible for containers, not for contents. Which container this video uses is not available in your cut report above.
In the "LAV Video Configuration", you will find a selection of video formats the decoder shall be responsible for. But there seems to be no exclusive option for FMP4, only a general option for MPEG-4 Part 2 (means, including DivX 4+ and Xvid) or MS MPEG4 (DivX 3 and its MS ancestors).
clsid
5th December 2014, 19:22
@COOLak, disable "AVI" in the splitter.
COOLak
5th December 2014, 19:55
@COOLak, disable "AVI" in the splitter.
The container of the video is .wmv, and I couldn't find it in the splitter's settings.
nevcairiel
5th December 2014, 23:46
Doesn't matter what I play, happens always.
I play an .mkv, then close the player app via File, Exit or Alt-F4, followed by the Windows error message telling me MPC-xx has crashed. Somehow during the closing of the app LAV causes it to crash.
Happens also with MediaPlayerDotNet_x86.
Will test in more detail tomorrow...
I assume you were bitstreaming?
If yes, then the issue is resolved in the latest version now.
Thanks for reporting!
LigH
6th December 2014, 00:13
WMV is a variant of ASF.
Still, I doubt that the splitter is the better location than the decoder to exclude such files.
the_weirdo
6th December 2014, 04:46
The container of the video is .wmv, and I couldn't find it in the splitter's settings.
Those cutscenes of Worms Clan Wars have "wmv" extension, but they're actually AVIs.
bouwew
6th December 2014, 11:07
I assume you were bitstreaming?
If yes, then the issue is resolved in the latest version now.
Thanks for reporting!
Indeed, I was bitstreaming.
Thanks for the fix! Will test when the corresponding build is available.
HotShot
6th December 2014, 21:05
I assume you were bitstreaming?
If yes, then the issue is resolved in the latest version now.
Thanks for reporting!
With v0.63-16-git-r3354 my problems with a crashing Stereoscopic Player are gone - thanks!
romulous
7th December 2014, 03:20
Hi nev,
What media-types does LAV Video support for ProRes? I know {68637061-0000-0010-8000-00AA00389B71} is one, but it appears that ProRes has multiple media-types, as per the uuid list for MPC-BE:
https://github.com/jeeb/mpc-be/blob/master/include/moreuuids.h (search for ProRes, and there appears to be about 15 by my count)
Thanks,
romulous
nevcairiel
7th December 2014, 09:53
There is exactly 5 ProRes mediatypes, matching the 5 ProRes profiles.
apch - 68637061
apcn - 6e637061
apcs - 73637061
apco - 6f637061
ap4h - 68347061
bouwew
7th December 2014, 09:56
With v0.63-16-git-r3354 my problems with a crashing Stereoscopic Player are gone - thanks!
Same here, problem solved!
romulous
7th December 2014, 10:43
There is exactly 5 ProRes mediatypes, matching the 5 ProRes profiles.
apch - 68637061
apcn - 6e637061
apcs - 73637061
apco - 6f637061
ap4h - 68347061
Thanks, was creating a ProRes profile for Zoom Player, and wanted to be sure I had the right values.
(Oddly, the ProRes whitepaper from Apple - December 2013 version - says there are 6 profiles, not 5. Those being 4444 XQ, 4444, 422HQ, 422, 422 LT and 422 Proxy - maybe two of those have the same value.)
nevcairiel
7th December 2014, 10:47
Seems like 4444 XQ is relatively new, that would be ap4x then, but I don't know if it can even decode that.
Sarasa
7th December 2014, 11:01
Not sure if I’m the only one, but when I try to use “LAVFilters-0.63-15-git-r3353(87805fe)” or “LAVFilters-0.63-16-git-r3354(2bf8910)” (from tmod) or the equivalent down from betaking.
And launch LAV Splitter it give me an error >
There was a problem starting C:\Program Files (x86)\LAV Filters\x86\LAVSplitter.ax
The specified module could not be found
With LAV Video configuration >
There was a problem starting C:\Program Files (x86)\LAV Filters\x86\LAVVideo.ax
The specified module could not be found
But I don't have that problem with "LAVFilters-0.63-13-git-r3351(3eb2028)" or the equivalent down from betaking.
A bug when they compiled the source ?
betaking
7th December 2014, 14:08
Not sure if I’m the only one, but when I try to use “LAVFilters-0.63-15-git-r3353(87805fe)” or “LAVFilters-0.63-16-git-r3354(2bf8910)” (from tmod) or the equivalent down from betaking.
And launch LAV Splitter it give me an error >
There was a problem starting C:\Program Files (x86)\LAV Filters\x86\LAVSplitter.ax
The specified module could not be found
With LAV Video configuration >
There was a problem starting C:\Program Files (x86)\LAV Filters\x86\LAVVideo.ax
The specified module could not be found
But I don't have that problem with "LAVFilters-0.63-13-git-r3351(3eb2028)" or the equivalent down from betaking.
A bug when they compiled the source ?
dou you test LAVFilters-0.63.0_x86.7z? I test no problem
PS:my firend test install exe have no problem too!
wanezhiling
7th December 2014, 14:36
Not sure if I’m the only one
Fine here, check your system, administration right etc.
Sarasa
7th December 2014, 16:55
Oh well, I will stay with the 3351 version for the moment, work correctly with my files :)
@betaking
I install the two version LAVFilters-0.63.0_x86.7z & LAVFilters-0.63.0_x64.7z
and when I try to launch either config, same message.
I also tried some minute ago your LAVFilters-0.63.0.exe and it give me
C:\Program Files (x86)\LAV Filters\x86\LAVSplitter.ax
Unable to register the DLL/OCX:RegSvr32 failed with exit code 0x3
@wanezhiling
Tried with "Run as administrator" even if I have already full Admin Right
I also tried a Clean Boot, same result.
06_taro
8th December 2014, 07:58
Have you restricted unsigned exes? tmod does not not have coding signature, while nev's vanilla builds have.
mzso
8th December 2014, 12:22
It's relevant because if 2 players are having the same problem, chances are it could be the media causing it.
Well, if no-one examines the file I linked we'll never know. Anyway in HTML5 it's a re-encode and the decoder they use might be the same or have the same origin as LAV.
nevcairiel
8th December 2014, 14:08
Well, if no-one examines the file I linked we'll never know. Anyway in HTML5 it's a re-encode and the decoder they use might be the same or have the same origin as LAV.
The file does have screwed up timestamps.
On several occasions, the timestamps go backwards for a bit, and then jump back forward to their proper time.
To ensure proper audio/video sync, LAV will try to obey input timestamps as good as possible, which results in audible glitches in this sample.
If such problems are short enough, LAV can detect and simple ignore them, but if the problem persist for a bit and only corrects itself later, LAV thinks there was a timestamp gap or something like that, and has to adjust accordingly.
So in short, timestamps are wrong.
PS:
Other decoders may ignore small timestamp offsets and not show the glitches because of that, but that might easily result in out-of-sync audio instead, so its not an option really.
NikosD
8th December 2014, 14:33
Tried latest LAV x64 0.63.18 after the FFMpeg update and those pesky 10bit HEVC UHD files from Samsung, are still stuttering during playback.
Any info on that ?
Sarasa
8th December 2014, 15:44
Well after some reinstall (MSYS fullpack from xhmikosr site) and tweaking again build.bat, I was able to finally compile it myself.
I had some gcc error before when I was trying to compile it, but not when compiling vsfilter.
And after compiling from rev 3350 (62f5a08) to 3356 (de098da), I can confirm that the last revision that work for me before finding the WHY was > 3351 (3eb2028)
Now why it give me an error ? Well I don't install the audio part (LAVAudio.ax & avresample-lav-2.dll), but it seem that since revision 3352 (cbed09b) nevcairiel have added an dependency for it and you need it to be in the folder even if you don't use it or if you use the installer have it installed to not have the error ;)
nevcairiel
8th December 2014, 15:51
Now why it give me an error ? Well I don't install the audio part (LAVAudio.ax & avresample-lav-2.dll), but it seem that since revision 3352 (cbed09b) nevcairiel have added an dependency for it and you need it to be in the folder even if you don't use it or if you use the installer have it installed to not have the error ;)
Technically I didn't add a dependency myself, the dependency comes through the Opus decoder, which needs a resampler to function and uses avresample for this task.
LAVAudio.ax is not required if you really don't want it.
DoctorJ
8th December 2014, 16:59
I am testing LAV on Windows 8.1. Is there a way to get it to use the LAV decoders by default, during install or otherwise? It appears the MS decoder is always being used but LAV splitter is loading. Testing with graphedit.
:thanks:
Vasilich
8th December 2014, 17:20
DoctorJ, look there http://www.codecguide.com/windows7_preferred_filter_tweaker.htm
DoctorJ
8th December 2014, 17:25
DoctorJ, look there http://www.codecguide.com/windows7_preferred_filter_tweaker.htm
Yep, know about filter tweaker but I was hoping for something more end user and less tweaking. Does not make sense to make a decoder install package that does not default to being used after install.
nevcairiel
8th December 2014, 17:33
Mostly because many actual players disregard the "preferred" codec thing Microsoft came up with, plus overriding this option can break a bunch of things (mostly TV related in WMC/WMP), so as a consequence for many players not actually needing it, and it possible breaking things.. it works just fine like this.
Additionally, those entries are actually thoroughly protected by the OS, and modifying them is a tad bit annoying.
DoctorJ
8th December 2014, 18:54
Mostly because many actual players disregard the "preferred" codec thing Microsoft came up with, plus overriding this option can break a bunch of things (mostly TV related in WMC/WMP), so as a consequence for many players not actually needing it, and it possible breaking things.. it works just fine like this.
Additionally, those entries are actually thoroughly protected by the OS, and modifying them is a tad bit annoying.
My player uses the preferred so using filter tweaker is the only way to get LAV to work. If it can be done by filter tweaker then can it be done on install? Need something an end user can install and be done with.
clsid
8th December 2014, 19:38
Changing the preferred DirectShow decoders is pretty safe. The options that can break stuff are mostly the ones that disable the MS codecs. Live TV needs the MS DTV-DVD video decoder.
mzso
8th December 2014, 19:55
The file does have screwed up timestamps.
On several occasions, the timestamps go backwards for a bit, and then jump back forward to their proper time.
To ensure proper audio/video sync, LAV will try to obey input timestamps as good as possible, which results in audible glitches in this sample.
If such problems are short enough, LAV can detect and simple ignore them, but if the problem persist for a bit and only corrects itself later, LAV thinks there was a timestamp gap or something like that, and has to adjust accordingly.
So in short, timestamps are wrong.
PS:
Other decoders may ignore small timestamp offsets and not show the glitches because of that, but that might easily result in out-of-sync audio instead, so its not an option really.
Huh. Good to know.
Are these timestamps in the container file (meaning mkvmerge's fault)?
(I would have tried with ffmpeg but the concat filter was not designed for human beings, and I didn't find any usable gui-s.)
nevcairiel
8th December 2014, 20:36
Yes, the timestamps are in the container.
betaking
10th December 2014, 05:16
can not comp last git
filler56789
10th December 2014, 12:53
^ Fixed:
http://code.google.com/p/lavfilters/source/detail?r=3e5b69263d27f8a1fa0621b141f542485d718a9a
THP
10th December 2014, 13:42
I was wondering if anyone has been able to correctly decode the Samsung Transformers 4K clip (http://demo-uhd3d.com/fiche.php?cat=uhd&id=22)?
I think there is an issue with the LAV splitter/source with that clip. Every +-2 seconds, there seems to be a hickup in the motion, as if there is a frame missing or being skipped. The reason I think it's a problem in the splitter/source filter is that I've tried using different HEVC/h265 decoders in a graph and all of them showed this behavior, of course always using the LAV splitter/source.
What I didn't find was an alternative to LAV splitter/source which works with this specific file so I could say for sure that the problem is indeed with the LAV splitter/source filter.
nevcairiel
10th December 2014, 14:09
From what I can tell, there is a bug in the FFmpeg/OpenHEVC HEVC decoder that causes that, any software based on that would suffer from the problem. Its not a source filter issue.
Of course the alternative might be that the HEVC stream is actually not 100% compliant, which causes these hicups.
THP
11th December 2014, 10:43
Hmm, interesting, so if I would want to create a valid stream starting from this faulty stream, which tools could I use? I have tried TSDoctor before on this stream, but the HEVC stream wasn't detected properly. I don't know of a any other tools that support HEVC content.
It does seem though that some players (f.e. a HW player, unknown SoC) are capable of handling this type of files. Could be that Samsung purposely introduced an error/fault in it to prevent it from being played correctly on other devices.
NikosD
11th December 2014, 14:13
All 5 HEVC files (4K and UHD) from the link below, don't work with HW Intel HEVC decoder and don't fall back to SW decoder properly.
A black screen with audio only using signature system and MPC-HC x64 v1.7.7.128
They work fine in HW with PotPlayer.
http://www.imaging-resource.com/news/2014/11/19/samsung-nx1-4k-video-samples-and-new-full-res-frame-grabs-available-for-do
Same problem still with LAV 0.63.18 in both internal and external LAV.
Is it the Intel's driver ?
James Freeman
11th December 2014, 16:13
Audio question,
Should I downmix to Stereo using LAV or let windows (DirectSound) do it?
I generated a test file with all 5.1 channels hitting -0.1 at the same time, DirectSound does a good job downmixing the matrix and playing them all together, the master fader hits -0.1.
I can't play my test file using LAV because its a multichannel WAV.
Is there a way to force LAV and MPC-HC to play WAV files too?
EDIT:
Figured a way.
I exported FLAC instead of WAV.
LAV downmix is exactly to spec.
DirectSound pans rear channels a little closer to the center and not exactly -3db compared to L/R.
DirectSound also mixes the LFE -10db below the L/R channels which lowers the volume of the overall mix.
nevcairiel
11th December 2014, 16:34
I prefer LAVs downmixing over DirectSound because it generally results in a louder mix, and since I generally only use it when i'm at a laptop with somewhat weak speakers, a bit of extra volume without needing after-the-fact boosting or something is always welcome.
James Freeman
11th December 2014, 16:52
I use the "Normalize Matrix" function to keep the original dynamics, LAV mix is a little louder because I omit the LFE completely whether DirectSound has a good mix but not exactly to spec and its also keeps the LFE in which is not very good for the Stereo mix.
Thanks nev.
NikosD
11th December 2014, 17:41
Tried latest LAV x64 0.63.18 after the FFMpeg update and those pesky 10bit HEVC UHD files from Samsung, are still stuttering during playback.
Any info on that ?
I was wondering if anyone has been able to correctly decode the Samsung Transformers 4K clip (http://demo-uhd3d.com/fiche.php?cat=uhd&id=22)?
From what I can tell, there is a bug in the FFmpeg/OpenHEVC HEVC decoder that causes that, any software based on that would suffer from the problem. Its not a source filter issue.
Of course the alternative might be that the HEVC stream is actually not 100% compliant, which causes these hicups.
Since that bug was first mentioned here http://forum.doom9.org/showthread.php?p=1695243#post1695243 almost 2 months ago and because we still don't know what's going on, I decided to do a further investigation.
I tried LAV x64 0.59 - 0.60 - 0.61 - 0.62 versions.
I found out that up to 0.61 version, ALL Samsung clips play just fine.
0.62 version broke that, so I think it's something between those two versions 0.61 - 0.62, probably an FFMpeg update introduced a bug in HEVC decoding, in order to be faster.
Since then, all FFMpeg versions, even latest have this bug.
Case solved (from user point of view)
clsid
11th December 2014, 18:16
You can find old builds of FFmpeg here:
http://ffmpeg.zeranoe.com/builds/win32/static/
You could use that to further narrow down when the problem was introduced.
You can submit a bug report here:
http://trac.ffmpeg.org/
NikosD
11th December 2014, 18:25
Thanks, but I'm not familiar with those procedures.
That's why I wrote case solved - from user point of view - hoping for a developer to investigate it further.
clsid
11th December 2014, 21:16
The procedure is very simple.
1) Test playback with FFplay to find last working and first broken version.
command: ffplay samplefile.mp4
2) Generate FFmpeg output log (preferably with the newest build you can find):
command: ffmpeg -i samplefile.mp4 2> output.txt
3) Submit a bug report. Just give a clear description of the problem and copy/paste the entire log. Adding the date and/or git hash of the last working and first broken build will make their life easier. Upload a sample to www.datafilehost.com (that is their preferred host) and include the link.
THP
12th December 2014, 08:40
Since that bug was first mentioned here http://forum.doom9.org/showthread.php?p=1695243#post1695243 almost 2 months ago and because we still don't know what's going on, I decided to do a further investigation.
I tried LAV x64 0.59 - 0.60 - 0.61 - 0.62 versions.
I found out that up to 0.61 version, ALL Samsung clips play just fine.
0.62 version broke that, so I think it's something between those two versions 0.61 - 0.62, probably an FFMpeg update introduced a bug in HEVC decoding, in order to be faster.
Since then, all FFMpeg versions, even latest have this bug.
Case solved (from user point of view)
Good work! As you mentioned, from a user point of view, a workaround is indeed possible. So something must have changed in recent versions.
Thunderbolt8
13th December 2014, 16:22
Does the "Expand mono to stereo" option also work with bitstreaming? so when I bitstream a 1.0 track then I will get sound from the left and right speaker instead of the center one?
nevcairiel
13th December 2014, 17:50
Nothing works with bitstreaming.
kiwijunglist
14th December 2014, 10:58
Hi
My audio chain is as follows.
Source -> LAv Audio Filter -> PCM -> Mediaportal Audio Renderer -> PCM -> Audio Receiver
The MP Audiorenderer does the same thing as re-clock.
I have the arcsoft dll file so I can decode HD audio.
My speakers are 5.1, but I have a 9.1 capable receiver.
http://static.commentcamarche.net/en.kioskea.net/pictures/audio-images-configuration-spatiale-5-1.png
My rear speakers are set at ~95 degrees.
What is the best way to downmix any 7.1 audio tracks to my 5.1 speakers?
Preferably I'd like to send the Surround Rear channel to both the speakers at a 70/30 ratio. ie, Right surround back is sent to 0.7 Right surround side speakers and 0.3 to the left sound side speaker. This creates a virtual surround rear speaker.
Regards
Kiwi
nevcairiel
14th December 2014, 11:03
LAV does not support such kind of mixing. Only mixing it offers is a plain mix of left rear into left side/surround, and vice versa.
filler56789
14th December 2014, 12:27
What is the best way to downmix any 7.1 audio tracks to my 5.1 speakers?
Preferably I'd like to send the Surround Rear channel to both the speakers at a 70/30 ratio. ie, Right surround back is sent to 0.7 Right surround side speakers and 0.3 to the left sound side speaker. This creates a virtual surround rear speaker.
Use ffdshow's Audio Processor, or AC3Filter (with its DTS decoder disabled, of course).
balkerman
14th December 2014, 22:21
LAV does not support such kind of mixing. Only mixing it offers is a plain mix of left rear into left side/surround, and vice versa.
Let the receiver down-mix 7.1 to 5.1
Sent from my GT-I9100 using Tapatalk
kalston
15th December 2014, 09:58
Hey,
So I tried to watch a freshly acquired blu-ray (The Scorpion King, I like my cheesy action flick now and then) the other day and noticed distortion several times (fairly rare but happened enough to make me switch back to the DTS core). The DTS core is fine and so are the other languages (not DTS-HD though) but LAV + ArcSoft dtsdecoder cannot seem to decode the lossless part properly. I tried with different versions of the dll (1.1.0.0, 1.1.0.5, 1.1.0.7, 1.1.0.8) and the same happened every time.
Uploaded a sample here :
https://www.dropbox.com/s/li0ocwv2jbcoahq/dthssampledistorted.mka?dl=0
I tried different software for playback as well as disabling all post processing and I even tried ASIO/wasapi/directsound but nope.
nevcairiel
15th December 2014, 10:10
I can't say I can hear any obvious distortions in that sample, and trying to audibly compare it to the core also doesn't reveal anything obvious.
There is also nothing odd happening in the decoder behaviour, if there is a glitch in there and I just didn't hear it, then the decoder outputs it like that, and there isn't anything I can do anyway.
Edit:
I found the distortion, its in the LFE which I had disabled on this system.
Sounds like its just clipping badly, but again, its just output out of the decoder like this.
kalston
15th December 2014, 10:19
Hum it is super obvious to me, night and day between the core and -hd version. I do suspect it's the decoder and not LAV though. It's like, really loud crackling (it's brief though, I think it's in the first 10 sec or so of the sample)
edit : ah there you got it too :)
Well, I'm just surprised because this is the first time I see Arcsoft decoder failing but I do not have any other DTS-HD decoder to compare it with so I'm not really sure what to think. Not that this matters much, it's by no means a great film but I've never had anything like it before. Just makes me lose some faith in the Arcsoft decoder :(
nevcairiel
15th December 2014, 10:29
We've confirmed before that the ArcSoft decoder operates lossless, so its quite certainly possible that the video is mastered terribly. Of course it could also be an obscure bug in the decoder that happens on 0.1% on all audio streams only.
I've actually seen a similar problem before that caused corruption in the LFE due to clipping, but not this strong.
mzso
15th December 2014, 11:47
We've confirmed before that the ArcSoft decoder operates lossless, so its quite certainly possible that the video is mastered terribly. Of course it could also be an obscure bug in the decoder that happens on 0.1% on all audio streams only.
I've actually seen a similar problem before that caused corruption in the LFE due to clipping, but not this strong.
Didn't anyone try to make an open source decoder?
nevcairiel
15th December 2014, 15:16
There is development underway, unfortunately the developer working on this hasn't been very active for the last couple months, presumably because of lack of time.
e-t172
15th December 2014, 16:20
I found the distortion, its in the LFE which I had disabled on this system.
Makes sense. Poor mastering resulting in various artifacts in the LFE channel are not that unlikely, because most systems (including systems used for production) low-pass LFE at 120 Hz or less. Therefore people doing the mastering would not hear any artifacts if they are above 120 Hz, but on the other hand, simply downmixing LFE into the main channels (which is something that LAV can do) would make them audible again. This is why such issues can easily go unnoticed during production.
One solution would be to add an option for an LFE 120Hz low-pass filter in LAV Audio before downmixing, but it's not clear if it's really worth the hassle.
nevcairiel
15th December 2014, 16:35
If I low-pass the audio manually at 120 Hz, the artifacts are barely audible, you can only make them out when you listen to the LFE track alone.
I wonder if its worth providing such an option, and how much effort it would actually be ... I would think ffmpeg has all the tools somewhere..
kalston
15th December 2014, 16:52
Huum interesting, I'm not at home but I think JRiver has such option so maybe I could actually look into that.
zambelli
16th December 2014, 02:09
I noticed that when I open any H.264 video (I tried MP4, TS and MKV containers) with LAV source filter (v0.60.0) and the Microsoft DTV-DVD Video decoder, the first 15 frames or so are completely missing from the output - the decoded stream starts at frame #15, for example. If I replace the Microsoft decoder with the LAV decoder, the problem goes away, but of course it can be tricky to adjust filter merits on every machine.
Is this a known issue? Is there a workaround that doesn't involve changing filter merits?
Anakunda
16th December 2014, 13:38
hi
I have problem with LAV video decoder not using HW acceleration even if the GPU supports MPEG-2. It reports the state only as availabe but rather using avcodec software decoder.
http://i.imgur.com/rYVJIne.png
The same player already uses HW acceleration when watching HD channel (H.264.AVC), so this must be related to MPEG-2. Possibly another filter is stealing the precedence?
Curious because this only happens with certain player while primary offline video player which is also configured to use LAV for everything uses HW acceleration succesfully for the exactly same format. Any hints to resolve the problem? (or debug LAV to see why it's actually not using HW decoder)
LigH
16th December 2014, 13:56
I am not sure but wonder if it is related to the selected renderer. See if you can change the preferred renderer of the players to prefer one which supports acceleration (possibly EVR).
Anakunda
16th December 2014, 14:10
Renderer is EVR by default, changing it to EVR Custom Present or anything else doesn't make any change.
I know the problem is not on side of the codec (stream copy of the broadcast can be HW decoded by PotPlayer+LAV)
Strange is that if I change HW decoder in LAV control to NVIDIA CUVID and reopen the stream, cuvid is active.
This happen only for QuickSync (even that in Nvidia control I have chosen the live player's preference to always use Intel GPU)
jkauff
17th December 2014, 03:25
What version of Windows are you running? Prior to 8.1, QuickSync would not run unless the iGPU was connected to a display. You can set up a "fake" display in the Screen Resolution settings that will make it work in earlier versions of Windows.
Also, make sure you have the latest version of the Intel drivers installed.
theoneofgod
17th December 2014, 20:52
What version of Windows are you running? Prior to 8.1, QuickSync would not run unless the iGPU was connected to a display. You can set up a "fake" display in the Screen Resolution settings that will make it work in earlier versions of Windows.
Also, make sure you have the latest version of the Intel drivers installed.
It also works fine with 8.
hubblec4
18th December 2014, 19:19
Hi Nev
I hope you're not too much stress at the time and not immediately say, no.
Would it be possible to support the Haali TRACKSETEX function(HTS)?
This function is very helpful and easy to use.
I have in almost all videos 2 or more languages with subtitles.
If I change the language, I still have a second time to switch in the menu the subtitle.
http://forum.gleitz.info/attachment.php?attachmentid=98396&d=1418478803
In the Haali menu you see above the Trackset's.
They can be accessed directly and the corresponding tracks are being loaded.
Is a Trackset linked to an edition, they are also loaded the Trackset's when selecting this editon.
The HTS code is also constructed quite simple.
To use, add a tag with the Name set to TRACKSETEX, and the String value set to: EditionUID VideotrackUID AudiotrackUID
SubtitletrackUID Three-letter_language_code Optional_name
No Target is necessary. Setting any of the track UID’s to “.” (a dot, full stop, whatever; without quotes) means “don’t change”,
setting the subtitle track UID to “x” (lowercase letter X; again without quotes) means “disable subtitles”.
When the edition given by the EditionUID is activated, the given set of tracks will be chosen. The track UID’s can be found with
mkvinfo. If you’re too lazy for that you can also just specify track numbers if you say # before the number.
I have installed in my chapterEditor an HTS editor. You can then save those Trackset's directly into a Matroska file.
http://forum.gleitz.info/attachment.php?attachmentid=98400&d=1418483969
If you could set it up, it would be great if you could use the Haali Trackset code.
Here you will find a Tags.xml (http://forum.gleitz.info/attachment.php?attachmentid=98413&d=1418926160) with three examples of Trackset codes.
Thank you and best regards.
NikosD
19th December 2014, 14:42
@Nev
Thanks for the last LAV x64 build 0.63.27 (13/12)
It has fixed the 10 bit HEVC issue with Samsung video files.
I don't know who I have to thank for mentioning the bug to FFMpeg developers, but thanks :rolleyes:
nevcairiel
19th December 2014, 23:33
I reported it to the developers of course, however they haven't moved yet, hopefully in the next year when the end-of-the-year stress dies down.
In the meantime, I applied a quick&dirty fix myself, its probably not 100% correct, but it works for most of the cases anyway.
v0lt
20th December 2014, 19:51
@nevcairiel
I opened .dff file and received the following media type:
Audio: 0x5344 705600Hz stereo 11289kbps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_DSD {20445344-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 256000
cbFormat: 18
But when I opened .dsf file, then got the wrong media type:
Audio: 0x0000 705600Hz stereo 11289kbps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {00000000-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 256000
cbFormat: 18
Please fix it.
nevcairiel
21st December 2014, 09:50
@nevcairiel
I opened .dff file and received the following media type:
But when I opened .dsf file, then got the wrong media type:
Please fix it.
I updated the DSD media types, however because there is 4 different DSD encoding styles, there is 4 media types now: DSDL, DSDM, DSD1 and DSD8, which match the 4 DSD codec IDs in ffmpeg.
DSD1 seems to be the most common type, nevertheless all the others are supported as well right away.
ryrynz
21st December 2014, 12:11
Nevcairiel, ATM, Microsoft's DTV-DVD decoder works to output the Dolby stream when my receiver is off so that my TV accepts it (stereo)
Would LAV sometime be able to support that? MPDN only supports LAV and the file fails to playback, plus I guess it would be nice to be using LAV exclusively in this instance. Cheers.
nevcairiel
21st December 2014, 12:13
Just tell LAV to bitstream Dolby Digital/AC3? I don't see any problems there.
ryrynz
21st December 2014, 12:38
I do that, it's fine when the receiver is on for certain files, I get 6 channels, but when the receiver is off some files load the DTV-DVD decoder.
The only difference I can see in the audio properties with them is the lsample size is 1 for the file that loads the DTV-DVD decoder rather than 24.
nevcairiel
21st December 2014, 13:21
Sounds like it falls back to decoding and mixing to stereo, rather than bitstreaming.
This automatic fallback is currently not supported with LAV, but is something I plan to work on in the future.
v0lt
21st December 2014, 15:55
I updated the DSD media types, however because there is 4 different DSD encoding styles, there is 4 media types now: DSDL, DSDM, DSD1 and DSD8, which match the 4 DSD codec IDs in ffmpeg.
I think it would be enough of one media type. We could write the type of DSD in wFormatTag.
nevcairiel
21st December 2014, 16:10
This is easier to understand. The bitstream of the different codecs is distinctly different, so a different media type is warranted.
Thunderbolt8
21st December 2014, 22:40
is LAVaudio able to decode DTS Express tracks?
nevcairiel
21st December 2014, 23:07
is LAVaudio able to decode DTS Express tracks?
Only if you provide the ArcSoft DTS decoder DLL.
P.J
22nd December 2014, 20:13
@Nev
Thanks for the last LAV x64 build 0.63.27 (13/12)
It has fixed the 10 bit HEVC issue with Samsung video files.
I don't know who I have to thank for mentioning the bug to FFMpeg developers, but thanks :rolleyes:
Where did you get build 0.63.27?
hubblec4
23rd December 2014, 13:18
Where did you get build 0.63.27?
here! (http://tmod.nmm-hd.org/LAVFilters/)
P.J
23rd December 2014, 22:41
here! (http://tmod.nmm-hd.org/LAVFilters/)
:thanks:
@Nev
Thanks for the last LAV x64 build 0.63.27 (13/12)
It has fixed the 10 bit HEVC issue with Samsung video files.
I don't know who I have to thank for mentioning the bug to FFMpeg developers, but thanks :rolleyes:
But I can't still play them, just black screen :confused:
Arm3nian
24th December 2014, 07:37
Is there any theoretical difference if lav or reclock does float to integer conversion? For example inputting a 8 channel dtshd ma 24bit file, downmixing to stereo, outputting the 32bit float, and letting reclock convert to 24bit int to output via wasapi. Versus unchecking 32bit float support in lav, which I'm guessing would convert to float for the mix, then convert back to 24bit to output it, so reclock would not touch it.
Thunderbolt8
24th December 2014, 09:28
Only if you provide the ArcSoft DTS decoder DLL.I had a dts express track named the same way as I named a blu-ray remux (it was a mkv remux so I couldnt mux it into it), but I wasnt able to find and pick up that track from any menu in mpc-hc (audio switcher is activated). any idea why that is?
filler56789
24th December 2014, 10:46
I had a dts express track named the same way as I named a blu-ray remux (it was a mkv remux so I couldnt mux it into it), but I wasnt able to find and pick up that track from any menu in mpc-hc (audio switcher is activated). any idea why that is?
Please correct me if I am wrong: you've got a "pure" DTS-Express stream, and LAV Splitter does not support 'containerless' DTS Express --- you would need to wrap it in an .m2ts file, at least. You might add a .WAV header to the stream as well.
Thunderbolt8
24th December 2014, 11:03
Please correct me if I am wrong: you've got a "pure" DTS-Express stream, and LAV Splitter does not support 'containerless' DTS Express --- you would need to wrap it in an .m2ts file, at least. You might add a .WAV header to the stream as well.yes, a pure stream just with the .dts file extension.
I tried muxing that stream into a m2ts file with tsmuxer, but the result is still the same. cannot find or select the file with mpc-hc
I also cant play the .m2ts file with the dts express track itself, mpc-hc then says I cannot render the file. tried with mpc internal LAV audio and standalone LAV audio, with the dtsdecoderdll.dll placed in those directories
filler56789
24th December 2014, 11:42
^ Make sure the checkbox for "Secondary (audio)" is ticked in the TSmuxer GUI.
filler56789
24th December 2014, 11:59
...but I wasnt able to find and pick up that track from any menu in mpc-hc (audio switcher is activated).
You said "menu"? :confused:
Control + O, select the video file, then choose the "dub" file.
(I'm still using MPC-HC Lite, and I presume/hope the "LAVved" MPC-HC still supports the same trick).
P.S.: As a last resort, you will have to add a proper .WAV header to the DTSX stream:
http://forum.doom9.org/showthread.php?p=1641949#post1641949
Thunderbolt8
24th December 2014, 13:10
^ Make sure the checkbox for "Secondary (audio)" is ticked in the TSmuxer GUI.that field is greyed out for me.
You said "menu"? :confused:
Control + O, select the video file, then choose the "dub" file.
(I'm still using MPC-HC Lite, and I presume/hope the "LAVved" MPC-HC still supports the same trick).well, I meant right click into the picture and then either audio or filters + audio switcher or filters + lav audio. cant see the dts express track anywhere there.
didnt work with ctrl + o and then the dub file either. only can see the standard 5.1 track of that movie.
filler56789
24th December 2014, 13:13
I added a P.S. to my previous post.
Yes, it seems TSmuxer has something against 24-bit DTS Express :confused:
P.S.:
that field is greyed out for me.
Ooops, by using TSmuxer.exe, not the GUI, it's possible to add manually the secondary switch to the .META file.
Thunderbolt8
24th December 2014, 13:49
thanks for the link to the waveheader. however I dont understand how to edit it. Do I edit the hex field or the text field? and what If the numbers I need exceed the space of the symbols? (e.g. \\\\ for number of bytes arent enough for that many digits I need to express the size in bytes). the track I have is a 1.0 48kHz 96kbps 24-bit track with a size of 80.674.816 bytes
I are confused
filler56789
24th December 2014, 13:55
Before going into more complications,
please give a try to my last P.S. :)
Thunderbolt8
24th December 2014, 15:12
alright, the muxing worked. I can now select the track in mpc-hc. however I still cannot play the track. whenever I switch to it, the video just stops and doesnt continue any more -.-
do I maybe need a certain version of arcsoft here? currenly I am using 1.1.0.1
filler56789
24th December 2014, 15:37
Versions 1.1.0.8 and 1.1.0.9 support mono DTS Express.
1.1.0.8 converts mono to stereo, whereas 1.1.0.9 redirects the front center channel to the front left channel :scared:
Thunderbolt8
24th December 2014, 16:02
its working now with 1.1.0.8. thanks! :)
filler56789
24th December 2014, 16:09
Yeah, about time! :D
Boltron
25th December 2014, 12:36
Merry Christmas.
Santa Nevcairiel, my Christmas wish is for a way to display the LAV Audio Input/Output details as shown on the Status properties on the screen much like madVR displays stats when ^J is hit.
I use JRiver with LAV and madVR. This would be an awesome addition.
Thanks and all the best for the New Year!
nevcairiel
25th December 2014, 12:52
How would the audio decoder ever show stuff on screen? Just look at the status panel, that's what its for.
If a player wanted to, it could access this information and show it on screen, but LAV will never do that.
Boltron
25th December 2014, 13:34
I know the player needs to perform the display but it all starts by making the info available to the player. So my first stop was to see if LAV can provide the details by perhaps an API call. Does this already exist?
Thanks.
arestarh
25th December 2014, 14:38
nevcairiel
Can you confirm that in .mkv sample below lav splitter doesn't detect subtitles at all?
Mkvinfo and mediainfo reported that two subtitle .srt strteams presented...
Sample:
http://nekaka.com/d/orXLPiFTUv
or
http://sendfile.su/1065583
cyberbeing
26th December 2014, 01:32
nevcairiel
Can you confirm that in .mkv sample below lav splitter doesn't detect subtitles at all?
This occurs in LAVFilters because "Track FlagEnabled" is set to false. Which is defined as 'Set if the track is usable.' in the MKV spec. You can fix this with either MKVToolNix Header Editor, or by demuxing the subtitles and muxing them in again.
How much LAV's literal interpretation of this flag makes sense to the end-user is somewhat debatable though, since why would you mux a subtitle track which could never be displayed during playback? The real question is how this flag was originally set, was it user error or something else? Which mkvmerge version was the original untrimmed version of that video muxed with?
Granted, Haali Splitter still makes such tracks available even when that flag is set. If this encode was originally muxed way back in early April 2011 when the Blu-ray was released, Haali was probably the only thing it was ever tested on. Though I suspect this is a somewhat more recent behavior in LAV Filters as a result of him refactoring, so if this was an older encode it may have even worked with LAV way back then.
arestarh
26th December 2014, 08:38
cyberbeing
Thanks for pointing me out.
I think this was user error.
Blight
28th December 2014, 23:18
Nev:
I got this MKV+VC1 clip that causes an access violation in ntdll.dll when trying to remove the 'LAV Video Decoder' filter from the graph.
It doesn't always throw the error, perhaps some sort of race condition? Hardware acceleration is set to 'none'.
Switching the video decoder to Microsoft's DMO and the error isn't triggered anymore.
Here's the clip:
http://zoomplayer.com/t/vc1ar_anamorphic.zip
filler56789
28th December 2014, 23:36
......
Here's the clip:
http://zoomplayer.com/t/vc1ar_anamorphic.mkv
The server returns:
404 - File or directory not found.
Blight
28th December 2014, 23:47
filler:
I fixed the link, server didn't have MKV listed as a valid extension to serve.
http://zoomplayer.com/t/vc1ar_anamorphic.zip
nevcairiel
29th December 2014, 11:54
Nev:
I got this MKV+VC1 clip that causes an access violation in ntdll.dll when trying to remove the 'LAV Video Decoder' filter from the graph.
It doesn't always throw the error, perhaps some sort of race condition? Hardware acceleration is set to 'none'.
Switching the video decoder to Microsoft's DMO and the error isn't triggered anymore.
Here's the clip:
http://zoomplayer.com/t/vc1ar_anamorphic.zip
I cannot make it crash. Any more details?
Blight
29th December 2014, 14:53
nev:
I can't recreate it anymore. You can ignore for now until I manage to find a more reliable way to recreate it.
Nachbar
29th December 2014, 18:49
nevcariel:
When I open the index.bdmv of a blu ray, lav splitter will incorrectly report all streams as English. However if I navigate and find the m2ts file it will report the streams as the correct language. I would prefer if it detected the languages correctly for the .bdmv file since it also contains chapter marks and it is a file that is on all blu ray discs which I can set windows to autoplay from.
Here are a few screenshots:
from bdmv: http://i.imgur.com/33DGRtp.jpg
from .m2ts: http://i.imgur.com/dO34Efk.jpg
nevcairiel
29th December 2014, 18:54
Screenshots are not helpful. If i cannot reproduce a problem, then I cannot fix it.
aufkrawall
29th December 2014, 23:39
Is it decoder or x265 bug that makes I444 HEVC look destroyed?
Sample: http://www67.zippyshare.com/v/39922457/file.html
Happens also with 8 bit.
It also seems that colormatrix flagging of x265 isn't working, but with this sample assumed BT.709 is right.
marsovac
30th December 2014, 07:28
What is the proper way to select a subtitle stream when there are more then one stream per language?
SetAdvancedSubtitleConfig() doesn't seem to support this, at least from what I read on the 1f0.de docs.
Is there a way to select the subtitle stream by index (and during playback)?
http://s29.postimg.org/s74ezug1z/subs.png
In this case I always get the Styled ASS.
Thanks
nevcairiel
30th December 2014, 09:48
Is there a way to select the subtitle stream by index (and during playback)?
IAMStreamSelect on MSDN (http://msdn.microsoft.com/en-us/library/windows/desktop/dd319793%28v=vs.85%29.aspx)
marsovac
30th December 2014, 10:20
IAMStreamSelect on MSDN (http://msdn.microsoft.com/en-us/library/windows/desktop/dd319793%28v=vs.85%29.aspx)
Yes I ultimately made it with IAMStreamSelect, thanks.
nevcairiel
30th December 2014, 11:30
Is it decoder or x265 bug that makes I444 HEVC look destroyed?
Sample: http://www67.zippyshare.com/v/39922457/file.html
Happens also with 8 bit.
I wouldn't know. Both could be broken, or only one, without another reference point its hard to say anything.
Nachbar
30th December 2014, 11:57
I apologize nevcairiel. I guess this one movie that I tried was having the problem not displaying the languages correctly with the index.bdmv file (it displays correctly with the .m2ts file minus chapters). When I tried a different movie it was fine. The movie that was having the problem is Evangelion 2.22 with ISBN of 1-4210-2287-7 in case you have it. If there's something you'd like me to look at with it just let me know.
nevcairiel
30th December 2014, 12:01
If you could upload all the files from the BDMV folder except the STREAM subfolder, that might help to debug it. It should only be a few MBs.
Nachbar
30th December 2014, 12:29
Thanks nevcairiel. Here it is: http://www.mediafire.com/download/aa113nrnocbwvsv/Eva_1.11_BDMV.zip
aufkrawall
30th December 2014, 14:22
I wouldn't know. Both could be broken, or only one, without another reference point its hard to say anything.
I also tried newest x265 build I could get (12-29 from here: http://builds.x265.eu/), no difference.
Maybe I should try it in the HEVC section if devs are reading there.
Plutotype
1st January 2015, 12:08
Happy New year to everyone.
Will be LAVaudio ready to properly decode and map DTS:X, Dolby Atmos and AURO 3D streams using the usual LPCM/Reclock workflow?
nevcairiel
1st January 2015, 16:47
Those formats are not supported, and if they are ever supported (which is somewhat doubtful), it'll be a very long time.
DragonQ
1st January 2015, 21:55
Does anyone else use LAV Audio's delay feature? If so, does it work correctly for you?
I ask because I'm getting "sync drift" when watching long videos. For example, at the start of a 45 minute video the sync will be correct, but by about half way through the audio/video sync is noticeably out. If I disable LAV Audio's delay feature and instead apply the same audio delay on my AVR, it's fine for the entire duration of the video. It's not just a single file either, I've noticed this on everything I've watched today (5 or 6 episodes of TV shows, all of which are 1080p/24 with DTS or AC3 sound).
Nachbar
2nd January 2015, 02:37
DragonQ: I haven't used it recently but back when I did use it I had to use it for a video that had its audio out of sync by five seconds and lasted forty-five minutes long. It worked fine for me.
DragonQ
2nd January 2015, 15:05
5 seconds is a huge sync difference. My standard delay is 90 ms and by the time the episode is nearly over, the audio is probably 100 ms too early (hard to measure). I thought that maybe the "Auto A/V Sync correction" option was causing the audio delay to disappear but disabling that caused much worse sync problems.
Nachbar
3rd January 2015, 00:22
I meant the video itself had a 5 second difference between audio and video to begin with. I corrected it (-5000ms) with the same option you described and played it.
I remember seeing a BBC audio sync video on youtube. You could try taking that video and extending it out to an hour and see how far it is off then.
Also if you are using it with reclock, try without it. Conversely if you aren't using reclock give it a try.
DragonQ
3rd January 2015, 01:10
I do have some sync videos, which is how I came up with the +90 ms figure to begin with. I wasn't able to find a 23.976 fps one though, only 29.97 and 25 fps.
LigH
3rd January 2015, 09:49
Such a large difference can happen when someone tries to convert e.g. a VOB file like it was authored on DVD, without extracting the main movie PGC, which would have removed a leading-in trailer in a different PGC that shofted the beginning of audio streams.
ocyl
4th January 2015, 07:20
I'm getting weird behavior with mpc-hc and lav now and then. It's pretty rare, so I can't seem to reproduce it. Sometimes, jumping to next chapter in an mkv results in loss of audio. Jumping back to the start of the chapter "revives" it again. Any idea what could be causing this?
I have experienced similar loss of audio during seeking (doesn't have to be a chapter jump) from time to time, too. Reseeking would bring audio back.I have seen it happen a few times too. Only with AAC audio. It is pretty rare though.I've experienced this too. Also with AAC. Not sure about other formats.
Its really impossible to reproduce this problem reliably, and as such impossible to fix it reliably as well. How do I know its fixed and not just not happening at the moment.
In any case, I applied some changes to how AAC is handled after a seek, maybe we get lucky. Assuming its actually in LAV Audio, and not in LAV Splitter.
I am sorry to report that I have continued to experience the same issue with AAC tracks, and tonight with an AC3 track, as well.
LAV Version: 0.63.0.29
File Info
Type: Matroska
Video: MPEG4 Video (H264) 1024x576 23.976fps [V: English [eng] (h264 high 10 L5.0, yuv420p10le, 1024x576) [default]]
Audio: Dolby AC3 48000Hz stereo 224kbps [A: ac3, 48000 Hz, stereo, 224 kb/s [default]]
Subtitle: Advanced SubStation Alpha [S: ass [default]]
Subtitle: UTF-8 [S: No subtitles]
Instead of reseeking right away (to restore audio), I kept the video running tonight and something interesting happened about two minutes later. The video froze, but the audio started to come back intermittently. This went on for about a minute and then audio was fully back on. Another half minute passed and then video resumed on its own, in sync with audio.
nevcairiel, I don't know if the above description provides any additional clue on where the issue may be. Please let me know if there is anything that you would like me to try (e.g. changing any particular setting).
Soukyuu
4th January 2015, 16:07
I can confirm it's still happening here as well.
colinhunt
4th January 2015, 22:48
I'd appreciate some help with video and audio freezing when skipping directly to any part - except for the very start - of a HEVC MP4 file. Player is latest stable version of MPC-HC, and I'm running LAV version 0.63. Same issue affects also MPC-BE which is set to use LAV. Noticed the same problem with VLC, just now.
File was encoded on MeGUI and muxing (HEVC + AC3) was done using MeGUI's internal MP4 muxer.
update: issue not limited to MP4; same thing happens with MKV, muxed with latest mkvtoolnix.
Any recommendations?
ocyl
4th January 2015, 23:02
I am sorry to report that I have continued to experience the same issue with AAC tracks, and tonight with an AC3 track, as well.
LAV Version: 0.63.0.29
File Info
Type: Matroska
Video: MPEG4 Video (H264) 1024x576 23.976fps [V: English [eng] (h264 high 10 L5.0, yuv420p10le, 1024x576) [default]]
Audio: Dolby AC3 48000Hz stereo 224kbps [A: ac3, 48000 Hz, stereo, 224 kb/s [default]]
Subtitle: Advanced SubStation Alpha [S: ass [default]]
Subtitle: UTF-8 [S: No subtitles]
Instead of reseeking right away (to restore audio), I kept the video running tonight and something interesting happened about two minutes later. The video froze, but the audio started to come back intermittently. This went on for about a minute and then audio was fully back on. Another half minute passed and then video resumed on its own, in sync with audio.
nevcairiel, I don't know if the above description provides any additional clue on where the issue may be. Please let me know if there is anything that you would like me to try (e.g. changing any particular setting).
I can confirm it's still happening here as well.
It happened to me again today, this time with an AAC track.
File Info
Type: Matroska
Video: MPEG4 Video (H264) 1280x720 23.81fps [V: h264 high L4.0, yuv420p, 1280x720 [default,forced]]
Audio: AAC 44100Hz stereo [A: aac lc, 44100 Hz, stereo [default,forced]]
Subtitle: Advanced SubStation Alpha [S: ass [default,forced]]
Subtitle: UTF-8 [S: No subtitles]
Turn of Events
Video and audio were playing fine.
I used the "Jump Backward (medium)" key in MPC-HC to go back five seconds in time. The "Fast seek (on keyframe)" option had been unchecked.
Audio output disappeared upon reseeking, and video playback continued. This went on for about a minute.
Video output froze, but the audio portion that was supposed to have been played back in the past minute was played. This went on for about two minutes, during which audio output continued but video frame remained static.
Video and audio resumed and were in sync. MPC-HC stats showed that no frame had been dropped.
Unfortunately, I was not able to reproduce the issue afterwards.
nevcairiel
6th January 2015, 10:45
LAV Filters has official nightly builds now:
http://files.1f0.de/lavf/nightly/
The builds are started every night at 01:30 CET, so they are "true" nightly builds (one every night) and there won't be a single build for every change during the day. However, I may increase the number of builds if I ever see a reason for it.
This should make test versions of LAV more accessible to everyone, instead of relying on third-parties who may even provide modified builds only, which can make tracking down issues much harder.
The first nightly was build last night after successful testing of my scripts, and will continue from now on.
All my builds are digitally signed with a new certificate now, using a SHA256 hash. Note that these certificates cannot be validated on Windows XP, but official support for XP has ceased anyway, and anyone still using it should be urged to upgrade.
filler56789
6th January 2015, 11:39
LAV Filters has official nightly builds now:
http://files.1f0.de/lavf/nightly/
:goodpost: and :thanks: :thanks: :thanks:
nevcairiel
6th January 2015, 11:42
Turn of Events
Video and audio were playing fine.
I used the "Jump Backward (medium)" key in MPC-HC to go back five seconds in time. The "Fast seek (on keyframe)" option had been unchecked.
Audio output disappeared upon reseeking, and video playback continued. This went on for about a minute.
Video output froze, but the audio portion that was supposed to have been played back in the past minute was played. This went on for about two minutes, during which audio output continued but video frame remained static.
Video and audio resumed and were in sync. MPC-HC stats showed that no frame had been dropped.
Unfortunately, I was not able to reproduce the issue afterwards.
Interesting, at least this rules out the audio decoder actually failing to decode the audio for some reason (which was the assumption i was working on before).
However, it makes it even more of a mystery.
Which Audio Renderer are you using? DirectSound? WaveOut? ReClock?
Warlock
6th January 2015, 14:34
LAV Filters has official nightly builds now:
http://files.1f0.de/lavf/nightly/
Awesome! Great! :goodpost:
PS: Nevcairiel , dxva-cb are having problems with vgas nvidia GTX 970/980? I'm asking for the reason I have enough presentation glitches with the 970. If I enable Cuvid , the problem disappears . I'm using the latest driver available. In a 720p video with dxva-cb enabled, is alternating between 10 ~ 15ms , with cuvid , the rate is below 2ms . I'm using madVR with the following settings :
artifact removal : default - high / high - strength
scaling :
chroma - jinc3
image doubling - luma always 64 neurons
image upscaling - jinc3
image downscaling - cm AR / LL enabled
rendering settings default , only changed dithering for ED2 and trade quality with all the options disabled .
What do you think is causing this increased presentation glitches ?
wanezhiling
6th January 2015, 14:35
LAV Filters has official nightly builds now:
http://files.1f0.de/lavf/nightly/
Thanks, that's really wonderful.:D
Hmm.. only installer? not .bat version? :o
nevcairiel
6th January 2015, 14:49
Hmm.. only installer? not .bat version? :o
Installer is the recommended way to install it. Extra choices just confuse people! :)
mood
6th January 2015, 20:20
LAV Filters has official nightly builds now:
http://files.1f0.de/lavf/nightly/
:thanks::thanks::thanks:
STaRGaZeR
7th January 2015, 12:47
If I enable Cuvid , the problem disappears . I'm using the latest driver available. In a 720p video with dxva-cb enabled, is alternating between 10 ~ 15ms , with cuvid , the rate is below 2ms .
It seems Cuvid forces a higher P-State, this causes higher GPU and memory frequencies, that result in lower rendering times.
ocyl
7th January 2015, 12:51
Interesting, at least this rules out the audio decoder actually failing to decode the audio for some reason (which was the assumption i was working on before).
However, it makes it even more of a mystery.
Which Audio Renderer are you using? DirectSound? WaveOut? ReClock?
I am using DirectSound.
Turn of Events
Video and audio were playing fine.
I used the "Jump Backward (medium)" key in MPC-HC to go back five seconds in time. The "Fast seek (on keyframe)" option had been unchecked.
Audio output disappeared upon reseeking, and video playback continued. This went on for about a minute.
Video output froze, but the audio portion that was supposed to have been played back in the past minute was played. This went on for about two minutes, during which audio output continued but video frame remained static.
Video and audio resumed and were in sync. MPC-HC stats showed that no frame had been dropped.
I noticed something else today. In MPC-HC's statistics panel, there are three buffers: [0], [1], and [2]. When audio disappeared upon reseeking, buffer [0] would start dropping towards 0/0. Once video froze and audio came out, buffer [0] would begin to be replenished while buffer [1] would start dropping towards 0/0. The two buffers would more or less return to normal levels when video and audio were in sync again. Buffer [2] is always 0/0 for me.
nevcairiel
7th January 2015, 15:18
Yes it looks like that for some reason audio is not being delivered to the audio renderer properly .. its stuck somewhere. Maybe in the renderer? How it manages to resume eventually is as much of a mystery.
Buffer 0 is video, which you said would continue playing, but because the audio buffer is exceeding its size limit, the video buffer isn't being filled anymore. Buffer 2 is subtitles, its normal for that to be empty.
I may provide a build with extra logging, I'll have to think about the problem a bit.
mindbomb
7th January 2015, 16:32
new intel broadwell gpu's apparently have vp9 hardware decode
fagoatse
8th January 2015, 18:52
new intel broadwell gpu's apparently have vp9 hardware decode
Speaking of which, supposedly AMD's Carrizo APUs can hardware decode h265 4k vidoes. Which means that they've either updated UVD or it's some kind of hybrid decoding(opencl).
James Freeman
10th January 2015, 17:58
@nevcairiel
I just read that there were some speed improvements of CPU HEVC decoding in the past few days.
Will this be implemented into LAV Filters?
clsid
11th January 2015, 01:22
Where did you read that? You probably misunderstood or confused things with a different decoder.
James Freeman
11th January 2015, 08:56
Probably.
Sorry for that.
nekromantik
12th January 2015, 12:51
Hi
Any news regarding LAV Audio to failback to non bitstream if no bitstream is available?
ryrynz
13th January 2015, 00:27
I think you may wish to determine why powerdvd streams from your source but lav does not.. Are you sure powerdvd is streaming? Upload a sample perhaps.
nekromantik
13th January 2015, 07:52
I think you may wish to determine why powerdvd streams from your source but lav does not.. Are you sure powerdvd is streaming? Upload a sample perhaps.
I know as my av shows sound format when its bitstreaming, if you send pcm to it just displays pcm abd not format (DTS, Dolby etc).
Nachbar
13th January 2015, 08:16
lav sends pcm just fine here. Maybe your receiver doesn't support what it is being sent? For me I have to have expand 6.1 to 7.1. If you have an older receiver you may need to uncheck dts-hd and dolby truehd.
Are you sure lav filters is in the chain? What other filters and renderers are you using?
In my setup I have all the bitstream formats unchecked so reclock can do its thing and send PCM to my receiver via wasapi with "set to matching speaker configuration" checked so I get 2.0, 5.1, or 7.1 depending on the content and my receiver matrixes it from there.
ryrynz
13th January 2015, 09:11
lav sends pcm just fine here. Maybe your receiver doesn't support what it is being sent?
It does, PowerDVD bitstreams this particular title to his receiver fine but LAV doesn't. He should upload a sample ideally so someone can determine exactly what's going on.
nekromantik
13th January 2015, 10:35
I got a new av which supports HD codecs.
The problem is when playing ac3 stream and its bitstreaming MPC does not use LAV it falls back to Microsoft.
It happens on ALL files including dvds which has ac3 or dts.
When Im at home I will try show sample.
Nachbar
14th January 2015, 03:58
In mpc do you have lav filters selected as an external filter set to prefer?
Also I do get the same problem if reclock is set to not accept bitstream formats. However once you do set it to accept bitstream lav audio shows up again. Maybe check how your audio renderer is configured and make sure there are no other audio filters trying to do something. If you could list all your filters when it is playing properly and then list all your filters when it isn't playing properly would help.
nekromantik
14th January 2015, 07:43
In mpc do you have lav filters selected as an external filter set to prefer?
Also I do get the same problem if reclock is set to not accept bitstream formats. However once you do set it to accept bitstream lav audio shows up again. Maybe check how your audio renderer is configured and make sure there are no other audio filters trying to do something. If you could list all your filters when it is playing properly and then list all your filters when it isn't playing properly would help.
In MPC HC its got built in LAV Audio and Video and so I dont have any addtional filters added. When I dont have bitstream selected it loads LAV Video. Audio and splitter but when I check bitstream it loads LAV Video, Splitter and Microsoft DTV-DVD Audio decoder. Using default system audio renderer.
ryrynz
14th January 2015, 07:45
Hey Nev, could you look into the patch (https://code.google.com/p/lavfilters/issues/detail?id=302&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary%20Modified) for supporting Matroska's CueDuration and CueRelativePosition? Thanks.
Nachbar
14th January 2015, 15:16
If I disable reclock I get your same behavior.
reclock enabled and set to accept bitstream:
Filters currently loaded:
- ReClock Audio Renderer
- XySubFilter (=> madVR)
- madVR
- LAV Audio Decoder
- LAV Video Decoder
- LAV Splitter
- File Source (Async.)
reclock disabled, using system default:
Filters currently loaded:
- Default DirectSound Device
- XySubFilter (=> madVR)
- madVR
- Microsoft DTV-DVD Audio Decoder
- LAV Video Decoder
- MPC-HC AVI<->AC3/DTS
- LAV Splitter
- File Source (Async.)
Now if I add Microsoft DTV-DVD Audio Decoder as an external filter and set it to Block this is what I get:
Filters currently loaded:
- Default DirectSound Device
- XySubFilter (=> madVR)
- madVR
- LAV Audio Decoder (internal) (low merit)
- LAV Video Decoder
- MPC-HC AVI<->AC3/DTS
- LAV Splitter
- File Source (Async.)
I'm not sure how to configure the MPC-HC AVI<->AC3/DTS filter. I wonder if thats the problem or if its something before that. This may be something that the mpc-hc staff needs to know about.
nevcairiel
14th January 2015, 16:49
I just tried with AC3, DTS, and DTS-HD, through DirectSound or WaveOut, and bitstreaming through HDMI works every time on my NVIDIA card.
Maybe AMD or Intel GPUs in use? I need to setup my test system again..
So in general, some hardware infos are always helpful.
Also, as a hint, do not disable the MPC-HC internal audio switcher, it can break bitstreaming for some reason on some setups.
NikosD
14th January 2015, 18:38
Nev, how difficult/possible is to increase the maximum number of threads configured by the user for LAV video from 16 to 24 ?
I would like to test LAV x64 CPU HEVC decoder, under some certain circumstances.
clsid
14th January 2015, 19:49
The AVI2AC3DTS filter of MPC-HC changes the output mediatype and messes a bit with the bitstream headers.
https://github.com/mpc-hc/mpc-hc/blob/develop/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.cpp
Could you guys copy the details of the input pin and output pin of this filter from the MPC-HC filter list (Play > Filters)? That info might be useful for nevcairiel.
NikosD
14th January 2015, 20:03
Nev, latest drivers from Intel v.4080 claim: (it's official in the release notes)
a) Improved video playback through partial hardware acceleration support for the VP9 video format.
b) GPU accelerated decode of HEVC video file format including both 8-bit and 10-bit support. This will provide improved video playback capabilities on the platforms.
I tried 10bit HEVC clips with latest LAV Video 0.63.41 and I got a black image with no decoding.
Also I see no VP9 DXVA decoder device, or maybe DXVA Checker doesn't recognize it yet.
nevcairiel
14th January 2015, 20:20
There is no VP9 DXVA specification (to my knowledge), so there is nothing to support.
NikosD
14th January 2015, 20:26
Possibly that means Intel's MSDK support in a proprietary way ?
OpenCL support ?
nekromantik
14th January 2015, 20:50
I just tried with AC3, DTS, and DTS-HD, through DirectSound or WaveOut, and bitstreaming through HDMI works every time on my NVIDIA card.
Maybe AMD or Intel GPUs in use? I need to setup my test system again..
So in general, some hardware infos are always helpful.
Also, as a hint, do not disable the MPC-HC internal audio switcher, it can break bitstreaming for some reason on some setups.
It happens on both laptops, one with Intel/AMD and other Intel/Nvidia.
Audio switcher is enabled. I will try with Direct Sound and try block Ms decoder.
Nachbar
15th January 2015, 04:06
I just tried with AC3, DTS, and DTS-HD, through DirectSound or WaveOut, and bitstreaming through HDMI works every time on my NVIDIA card.
Maybe AMD or Intel GPUs in use? I need to setup my test system again..
So in general, some hardware infos are always helpful.
Also, as a hint, do not disable the MPC-HC internal audio switcher, it can break bitstreaming for some reason on some setups.
Well enabling the audio switcher seemed to have done the trick.
Filters currently loaded:
- Default DirectSound Device
- XySubFilter (=> madVR)
- madVR
- Audio Switcher
- LAV Video Decoder
- LAV Audio Decoder
- LAV Splitter
- File Source (Async.)
I have an intel 3570k processor and nvidia 560 ti card. I tried directsound and waveout. Both of them worked but waveout I would get audio glitches.
The AVI2AC3DTS filter of MPC-HC changes the output mediatype and messes a bit with the bitstream headers.
https://github.com/mpc-hc/mpc-hc/blob/develop/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.cpp
Could you guys copy the details of the input pin and output pin of this filter from the MPC-HC filter list (Play > Filters)? That info might be useful for nevcairiel.
I can't get it to use that filter now. Its like enabling the audio switcher fixed it permanently even if I disable the audio switcher. I could've sworn I had played around with the audio switcher before. Maybe its something that only appears on a fresh install or new mpc-hc version?
edit: I got it to come back but only when I switch my display to my monitor only and not my receiver. Maybe make sure your default playback device is properly selected and shows that it is dts/dolby digital capable? For example:
http://i.imgur.com/lOXWLw6.jpg
Qotscha
15th January 2015, 08:04
I have a few NDVR recordings with which seek doesn't work using LAV Splitter. With MPC-BE's internal MPEG Splitter or VLC seek works. Here (https://app.younited.com/?shareObject=e0d45bd1-c5d6-58fc-5553-8e5c728411a7) is a bit lengthy sample but if I cut that even 10 MB shorter from either end, seek works.
Nintendo Maniac 64
15th January 2015, 10:13
For anyone that has not updated to the newest Intel iGPU driver, can you confirm that 10-bit h.264 plays fine (as in via software) when LAVfilters is set to DXVA2 (native)?
I ask this because I think on the newest driver, trying to play 10-bit h.264 with LAVfilters set to DXVA2 (native) results in the video and audio not playing at all rather than just playing via software.
FYI I'm using the LAVfilters built into MPC-HC v1.7.7 64bit.
foxyshadis
15th January 2015, 11:41
Possibly that means Intel's MSDK support in a proprietary way ?
OpenCL support ?
I downloaded the Media SDK and it hasn't been updated, so I don't know where the hell this is supposed to be. Only VP8 is in there now. I'm guessing we'll see another new Media SDK soon.
For anyone that has not updated to the newest Intel iGPU driver, can you confirm that 10-bit h.264 plays fine (as in via software) when LAVfilters is set to DXVA2 (native)?
Works fine here, on old drivers.
NikosD
15th January 2015, 12:15
I downloaded the Media SDK and it hasn't been updated, so I don't know where the hell this is supposed to be. Only VP8 is in there now. I'm guessing we'll see another new Media SDK soon.
Right.
Intel's drivers even install VP8 MFT codecs, but no sign of VP9.
Early statement I suppose or Broadwell only feature ?
Nintendo Maniac 64
15th January 2015, 12:23
Is hardware decoding of VP8 even useful? I mean, I've done pure software decoding of 720p 30fps VP8 on the likes of a 1.6GHz first gen single core Intel Atom, a 2GHz Pentium 4 Northwood, and a 1.7GHz Athlon XP Thoroughbred.
nevcairiel
15th January 2015, 13:24
Hardware Decoding for those codecs is mostly designed for mobile usage to reduce energy consumption and increase battery life.
NikosD
15th January 2015, 13:47
VP8 is like H.264 in terms of decoding complexity, so your question is like if HW decoding of H.264 is even useful.
zerowalker
15th January 2015, 14:38
I noticed when i use Quick Sync to decode h264 i can't use Slow Playback and stuff like that in Zoom Player.
Or well i can but it doesn't work as intended, video goes to fast, audio goes out of sync etc.
I wonder is this something that can be fixed in the Filter or is it the Player?
Asmodian
15th January 2015, 20:29
I bet it would need driver support, neither the filter or the player can fix it.
Nintendo Maniac 64
16th January 2015, 02:38
VP8 is like H.264 in terms of decoding complexity, so your question is like if HW decoding of H.264 is even useful.
I can't say I agree. Those same three low-performance CPUs had issues decoding the very same video in 720p 30fps 8bit h.264. I did note however that more recently LAVfilter's own h.264 decoder is quite a bit more optimized than h.264 decoders were 5+ years ago, and when I tried it on the previously-mentioned Intel Atom it did manage to play back fine (though I would imagine multithreading helped, which isn't present on the Athlon XP and Pentium 4 in question)
One thing to note is that YouTube's single remaining VP8 format is used on the Nintendo Wii due to the lack of CPU performance for software decoding - and no surprise, the Wii also has a single core CPU.
zerowalker
16th January 2015, 08:53
I bet it would need driver support, neither the filter or the player can fix it.
But what's there to support, isn't the only difference that FPS is halved?
Audio is played at half samplerate etc, this is done software of course.
If so Quick Sync should be able to decode it if player/filter tells it to only decode 15fps (if 30fps) right?
Nintendo Maniac 64
16th January 2015, 20:22
I noticed when i use Quick Sync to decode h264 i can't use Slow Playback and stuff like that in Zoom Player.
Or well i can but it doesn't work as intended, video goes to fast, audio goes out of sync etc.
I wonder is this something that can be fixed in the Filter or is it the Player?
It's the player because it works perfecetly fine in MPC-HC 64bit v1.7.7 with the internal built-in LAVfilters set to use QuickSync...
ashlar42
17th January 2015, 04:40
I browsed several pages with no luck.
On a machine configured with a Core2 Quad Q9550S and a GTX 660 what's the preferred decoder for HEVC? DXVA native or CUVID?
Nintendo Maniac 64
17th January 2015, 04:59
On a machine configured with a Core2 Quad Q9550S and a GTX 660 what's the preferred decoder for HEVC? DXVA native or CUVID?
You could always test it yourself and see which one works better - that is, which one uses less GPU usage and/or which gives better performance with really demanding content (1440p, 4k, 60fps, etc).
Though, if it's anything like QuickSync, DXVA native will be better than CUVID while CUVID will be better than DXVA copy-back (save for content with fancy subtitles).
foxyshadis
17th January 2015, 08:00
I browsed several pages with no luck.
On a machine configured with a Core2 Quad Q9550S and a GTX 660 what's the preferred decoder for HEVC? DXVA native or CUVID?
Do you even get CUVID? Check with DXVAChecker to find out (load a file onto the Directshow Decoder tab). When I have DXVA selected in LAV it works fine, with CUVID I only get "Unsupported", and my card is GK107 (755M), just one step down from your GK104. Well, it is about half as powerful, that might have something to do with it; on 1080p Big Buck Bunny I get 200 fps DXVA so I'm guessing you'd get around 300, unless you end up CPU limited.
On CPU I get almost 400 FPS, but this is a Haswell i7-4700MQ; I'd guess your CPU only would be about 250 fps on this same file. I could bench the HTPC (same CPU as you!) but I don't want to turn it on.
Then again, maybe my driver is just misconfigured.
Nintendo Maniac 64
17th January 2015, 08:03
on 1080p Big Buck Bunny I get 200 fps DXVA so I'm guessing you'd get around 300, unless you end up CPU limited.
On CPU I get almost 400 FPS, but this is a Haswell i7-4700MQ; I'd guess your CPU only would be about 250 fps on this same file.
I've seen people quoting such FPS numbers all the time but I could never figure out how people are running in such a benchmark mode or the like. Is there a memo somewhere that I've missed, or does it not work with MPC-HC and its internal LAVfilters?
foxyshadis
17th January 2015, 09:07
I've seen people quoting such FPS numbers all the time but I could never figure out how people are running in such a benchmark mode or the like. Is there a memo somewhere that I've missed, or does it not work with MPC-HC and its internal LAVfilters?
Here's how I do it (https://forum.doom9.org/showthread.php?p=1705156#post1705156). I use decode, but full playback is nearly the same (unless you force MadVR, of course). With internal LAV you'd have to register it, or get the external.
Note that the LAV in MPC-HC has no HEVC DXVA support, unless you replaced them with a current build. CPU decoding is a lot faster too.
Nintendo Maniac 64
17th January 2015, 09:11
Note that the LAV in MPC-HC has no HEVC DXVA support, unless you replaced them with a current build. CPU decoding is a lot faster too.
Coding-related things are my biggest weakpoint, so compiling a newer revision than 0.63 is out the question for me.
wanezhiling
17th January 2015, 09:16
LAV could enable UHD (4K) option by default now, I think.
:)
foxyshadis
17th January 2015, 09:40
Coding-related things are my biggest weakpoint, so compiling a newer revision than 0.63 is out the question for me.
There are nightly builds (http://files.1f0.de/lavf/nightly/) now, at least anytime there's a change. (Horray!) I've had no problems with the most recent one so far.
zerowalker
17th January 2015, 12:06
It's the player because it works perfecetly fine in MPC-HC 64bit v1.7.7 with the internal built-in LAVfilters set to use QuickSync...
Interesting will do a test. If that's the case for me as well i will ask Zoom Player about it.
Hope it can be solved:)
EDIT:
Confirmed that it works with MPC HC.
Asked on the Zoom Player forum if it can be solved.
nevcairiel
17th January 2015, 15:46
For anyone that has not updated to the newest Intel iGPU driver, can you confirm that 10-bit h.264 plays fine (as in via software) when LAVfilters is set to DXVA2 (native)?
I ask this because I think on the newest driver, trying to play 10-bit h.264 with LAVfilters set to DXVA2 (native) results in the video and audio not playing at all rather than just playing via software.
Intel broke their drivers, similar to the problem that NVIDIA had quite recently.
For some reason, EVR tries to accept a 10-bit/16-bit input (P016 in this case), but it fails at it, resulting in overall playback failure.
NVIDIA had the same problem a few weeks back, when a driver update caused P010 to be accepted by EVR, but EVR did not handle it properly and failed.
Someone should bring this to Intels attention.
You can work around this problem by disabling P010 and P016 output in LAV if you use EVR.
wanezhiling
17th January 2015, 17:02
Maybe microsoft will make something big in the future, so inform these GPU manufacturers of preparation in advance. :p
Nintendo Maniac 64
17th January 2015, 21:54
There are nightly builds (http://files.1f0.de/lavf/nightly/) now, at least anytime there's a change. (Horray!) I've had no problems with the most recent one so far.
Fun fact: the DLLs and stuff in that installer seem to be perfectly compatible with MPC-HC.
In other words, if you run the installer in something like sandboxie, you can copy the contents from the x86 and/or x64 folder into the LAVFilters and/or LAVFilters64 folders in the MPC-HC directory and everything will "just work".
Now I can finally use those 32bit VP9 optimizations for glorious 1080p 60fps VP9 interpolated to 120fps, all with black frame insertion to boot!
(previously 1080p 60fps VP9 was too intensive to even use the lowest quality & fastest interpolation)
ryrynz
17th January 2015, 23:27
There are nightly builds (http://files.1f0.de/lavf/nightly/) now, at least anytime there's a change.
These aren't udpdated nightly or even weekly? Last update was the 6th.
nevcairiel
17th January 2015, 23:30
These aren't udpdated nightly or even weekly? Last update was the 6th.
If nothing changes in the code, there are no new builds, obviously.
ryrynz
17th January 2015, 23:33
If nothing changes in the code, there are no new builds, obviously.
Ahhh, I see.. those changes were made within 24 hours. :p
zerowalker
18th January 2015, 09:33
Nearcarrier, i got answer from bLight (Zoom Player) about Quick Sync and Slow Play. He says it's the filter that's the culprit most likely, as Zoom Player only tells the video to play at the rate the filter states.
Even if it works on MPC-HC he says it may be the culprit.
So is it something you can look at?
Thanks
EDIT: Noted, MPC-HC only works with the internal version of LAV Filter.
EDIT2: Okay it was cause the internal used DXVA2 Copy-Back. Quick Sync never works.
NikosD
18th January 2015, 12:00
Fun fact: the DLLs and stuff in that installer seem to be perfectly compatible with MPC-HC.
In other words, if you run the installer in something like sandboxie, you can copy the contents from the x86 and/or x64 folder into the LAVFilters and/or LAVFilters64 folders in the MPC-HC directory and everything will "just work".
Nice.
You can grab the .zip version of nightly builds from betaking here http://pan.baidu.com/s/1gd1its3#dir/path=%2F%E8%87%AA%E7%BC%96%E8%AF%91%E8%BD%AF%E4%BB%B6 and you can just copy-paste the unzipped content to LAVfilters/LAVfilters64, as you described.
So, we don't have to wait for a new MPC-HC nightly, only to use a new version of internal LAV nightly.
We can manually update MPC-HC ourselves.
Fun fact 2:
In the About box of MPC-HC, the nightly build version of LAV filters is recognized properly with the new version number, after the manual update.
Gravitator
18th January 2015, 12:28
Привет,
girl's day - darling.hevc.1080p.60fps.mp4 (https://yadi.sk/d/qE_vlYMNc8y2q) (direct download (https://zima108g.storage.yandex.net/rdisk/99477aa7fff1035ace0695744638214a/54bba3d1/ce78-FXJXXMKmTzBgI1VmNl9gHbjCxBkw_fgT2mObIhdu56-yuzwZm4gUTU37g4nj-DfXcv7H7tGoAb3vVMg_w==?uid=0&filename=girl%27s%20day%20-%20darling.hevc.1080p.60fps.mp4&disposition=attachment&hash=NGMKIfxsNJAXJiIO/JjqU7nOuyuXZLnEDmGUOJXvtWQ%3D&limit=0&content_type=video%2Fmp4&fsize=272151390&hid=a0a54b1bebc53cd2447da67f9fbf394c&media_type=video&rtoken=cc71142ba7d4e86abe013c146898df9d&rtimestamp=54bb6b91&force_default=no)) > HEVC 8bit played better after DXVA2 native (through cuda sound out of sync).
MPC-HCx32 v1.7.7, LAV v0.63.0.48, madVR v0.87.4, Win7x64, Core2Duo E6600 3.45GHz, GTX 750 d344.11, DDR3 8GB.
mindbomb
18th January 2015, 23:21
Is hardware decoding of VP8 even useful? I mean, I've done pure software decoding of 720p 30fps VP8 on the likes of a 1.6GHz first gen single core Intel Atom, a 2GHz Pentium 4 Northwood, and a 1.7GHz Athlon XP Thoroughbred.
I've found it problematic actually, with a low clocked athlon x2, and playing the video through chrome's html5. That might have been more an issue with chrome's decoder though.
Nintendo Maniac 64
18th January 2015, 23:34
I've found it problematic actually, with a low clocked athlon x2, and playing the video through chrome's html5. That might have been more an issue with chrome's decoder though.
That's VP9 - YouTube no longer makes the VP8 formats available other than for 360p (which on PC is a "plan C" behind VP9's "plan A" and h.264's "plan B", though it's used as "plan A" on low-performance embedded platforms like the Nintendo Wii).
You can see which format is being used via right-clicking on the video and then selecting "Stats for nerds".
FYI, I used an Athlon 64 x2 4800+ as my main PC until the mobo died 6 months ago.
ryrynz
19th January 2015, 07:59
All 64 bit chips have SSE2 don't they? I take it 64 bit LAV is built with the same requirements as the 32 bit builds.
If so, how come the 64 bit versions don't have SSE2 requirements? When I tested an SSE2 32 bit build there wasn't much of an improvement
but maybe things are a bit different now with the newer codecs or maybe 64 bit builds would stand to gain a larger speed increase.
When were you planning on implementing the future SSE2 requirement Nev?
LigH
19th January 2015, 08:08
As far as I remember, HEVC decoding can have a measurable speed difference between 32 bit and 64 bit code, making good use e.g. of the wider and more CPU registers.
And yes, SSE2 should be available on quite all common 64 bit CPUs for desktop PCs. It was introduced in the intel Pentium 4 and adapted for Athlon64 by AMD.
nevcairiel
19th January 2015, 09:46
All 64 bit chips have SSE2 don't they? I take it 64 bit LAV is built with the same requirements as the 32 bit builds.
If so, how come the 64 bit versions don't have SSE2 requirements?
All 64-bit builds automatically make use of SSE2, since as you say its available in all 64-bit CPUs.
NikosD
19th January 2015, 09:49
x64 is an architecture built by AMD as an extension to x86, which was built by Intel and Intel originally had no plans of being compatible with x64, but after a while followed AMD.
SSE2 is a requirement for x64 architecture, but not for x86.
So you can build a 32bit application without SSE2, although the first Pentium 4 processors were x86 and they had SSE2, but not the x86 Athlons which had SSE only.
About LAV x64 and HEVC decoding specifically, it's a lot faster than LAV x86.
Not because of the superiority of x64 vs x86 architecture, but because of specially written assembly code available only to x64 HEVC decoding algorithm.
The x86 HEVC lucks that assembly optimised code and most likely the ffmpeg developers of x64 assembly will never port it to x86 assembly.
Moreover, Nevcairiel uses a special coding of intrinsics from OpenHEVC project only for LAV x64 version, which further increase the speed of LAV x64 vs LAV x86 for HEVC decoding.
nevcairiel
19th January 2015, 09:53
Moreover, Nevcairiel uses a special coding of intrinsics from OpenHEVC project only for LAV x64 version, which further increase the speed of LAV x64 vs LAV x86 for HEVC decoding.
Actually thats not true, many of the intrinsics are also available in 32-bit builds, however due to the limited number of registers in 32-bit they are not as fast as in a 64-bit build, because it needs to load/store from memory more often.
NikosD
19th January 2015, 10:30
The difference is huge between LAV x64 and LAV x86 and I wouldn't say "not as fast as".
If the problem is in the limitations of x86 architecture and because the real number of registers is huge in all modern processors, maybe converting intrinsics to assembly code could produce close to x64 performance for x86 ?
Because other implementations of x86 HEVC decoders like Strongene's Lentoid, Cyberlink's PowerDVD and above all Microsoft's Windows 10 HEVC decoder are usually faster or a lot faster than LAV x86.
ryrynz
19th January 2015, 10:33
All 64-bit builds automatically make use of SSE2, since as you say its available in all 64-bit CPUs.
Was meaning the compiler optimization from the future build, if they all have the instruction set then might as well make it a requirement for the 64 bit build.
LigH
19th January 2015, 10:50
In x86-64 (AMD64) execution mode, twice as many CPU registers are available as in x86-32 mode. You can't use the other half while executing a Win32 application, there are no valid opcodes for accessing these registers in this mode.
Avoiding RAM access by preferring CPU register access instead may cause a remarkable speedup. And the more often it can be avoided repeatedly in tight loops, the more it will affect the overall performance.
nevcairiel
19th January 2015, 11:05
Was meaning the compiler optimization from the future build, if they all have the instruction set then might as well make it a requirement for the 64 bit build.
SSE2 is active for x64 builds already. Like I said, unless you specifically go out of your way to turn it off, its always on for 64-bit builds.
If the problem is in the limitations of x86 architecture and because the real number of registers is huge in all modern processors, maybe converting intrinsics to assembly code could produce close to x64 performance for x86 ?
It would yield quite significant speed-ups for 32-bit as well. You are welcome to do that. :)
The problem is that its quite complex work and requires a lot of time, and most developers just don't care about 32-bit anymore. Why would they? You could just use 64-bit and get all the speed-ups without weeks and weeks of extra developer work! :)
The only reason to use 32-bit is legacy stuff. The solution is to get rid of legacy software and use modern solutions instead!
NikosD
19th January 2015, 11:13
For many people (but clearly not me) in this forum and similar, a good reason for x86 apps is MadVR, since is still x86 I think :)
Personally I always use the x64 version, if both exist.
madshi
19th January 2015, 11:23
There will be an x64 version of madVR sooner or later. There was no good reason for that until now, but HEVC decoder performance is something I can't ignore. However, there's not much real HEVC content out there, yet, so x64 madVR is still not at the very top of my priority list.
NikosD
19th January 2015, 11:30
Good to know for many people using and loving - I could say - MadVR.
I personally have used a lot more times eac3to and other programs developed by you than MadVR, but I could be the only one here :)
zerowalker
19th January 2015, 11:31
nevcairiel did you see my question before about QS and Zoom Player?
nevcairiel
19th January 2015, 11:40
nevcairiel did you see my question before about QS and Zoom Player?
Use DXVA2-CB if you want trick mode playback (faster or slower playback).
bergqvistjl
19th January 2015, 13:09
Hi, I have files that i've recorded via satellite h.264 video with AC3 audio where the Audio stream changes mid-playback from a 192kbps 2.0 feed into a 384kbps 5.1 feed (Still AC3, and still on a single audio stream). Now it seems that LAV isn't registering the change from 2.0 to 5.1 or vice versa. It seems to only take the channels specified in the file's container header (I think), which appears to be the audio format at the first frame of the video, and then use that throughout. I can see this in the Status tab of the audio decoder.
It still says that the format is AC3 - 2.0 channels yet a couple of seconds into the video, the channels switch to 5.1, yet the Mixer tab doesn't appear to have recognised this change.
I know the audio track is correct as VLC player correctly switches as appropriate. According to the makers of VideoRedo (which I use to re-edit my videos - if i remove those first few seconds of stereo, LAV correctly plays back the file as 5.1), "However any player that can play AC3 will ignore the container header and simply decode the frames based on the channel counts in their individual headers."
Does LAV do this, and if not, could it be changed so it does, thereby picking up the channel change when it occurs.
It's strange because it appears to be inconsistent. Sometimes it detects when the input audio changes, and output's it as 5.1, yet sometimes it only detects that the input audio has changes, but outputs it in stereo instead :/
OK i've got it. This assumes what i've said about the container header holding the number of channels in the first frame of the video is right:
LAV detects when the Input audio changes from 5.1 to 2.0 and vice versa correctly, no matter what the container header appears to be. However it outputs the audio in always the format that the container header is. So if the file starts with the audio in stereo, then it'll always output that no matter what the input audio currently is. However if the file starts with the audio in 5.1, then it'll always output it in 5.1, no matter whether the input audio is stereo or not. Is this the desired behaviour? Surely (if i'm not wanting LAV to up or downmix the audio or anything like that), it should be outputting in the same format that the input currently is, not what the container header is?
Obviously using the channels in the container header doesn't matter if the audio channels don't change, but when they do, that container header is incorrect from that point on.
nevcairiel
19th January 2015, 13:28
On-the-fly changes work just fine with AC3. The only reason it would downmix is if the audio renderer doesn't accept the new format, then it would try to convert to the previous format.
Note that the status tab doesn't update its info when its already visible, you would need to re-open it for the changes to become visible.
If you want further assistance, I suggest you cut a small sample that demonstrates what you think is the problem.
PS:
TS files (as recorded from TV) don't have a "container header" for its streams.
zerowalker
19th January 2015, 13:56
Use DXVA2-CB if you want trick mode playback (faster or slower playback).
But isn't that only GPU decoding then?
It doesn't use QS.
bergqvistjl
19th January 2015, 14:33
On-the-fly changes work just fine with AC3. The only reason it would downmix is if the audio renderer doesn't accept the new format, then it would try to convert to the previous format.
Note that the status tab doesn't update its info when its already visible, you would need to re-open it for the changes to become visible.
If you want further assistance, I suggest you cut a small sample that demonstrates what you think is the problem.
PS:
TS files (as recorded from TV) don't have a "container header" for its streams.
OK, well the RAW file in question (recorded using MythTV - lets assume no container header exists) starts off with the audio in 5.1 (end of previous program), and as you can see, the input format has been detected correctly, but the output format is in Stereo according to LAV:
http://i.imgur.com/Yc1A21j.jpg
After this, the input audio drops back to 2.0 again for the trailers:
http://i.imgur.com/iLqmfXQ.jpg
When the main program starts & switches to 5.1 again, this is what LAV picks up:
http://i.imgur.com/M1igvQD.jpg
Now, the audio switches from 2.0 to 5.1 a second or so after the main program begins. If I do a fast-frame copy using video redo, including that second or so where the audio is in Stereo I get the same results
as above, i.e. when the program switches to 5.1, the output remains in 2 channels (because the container header is set to 2.0 as thats what the file begins with - that doesnt' explain the raw file from above as that starts in 5.1, has no container header yet LAV outputs that in stereo too).
However if I do a fast-frame copy using videoredo chopping the video a bit more so that i begin with the audio starts when it's already switched to 5.1 (so VRD has set the container header to 5.1 then perhaps?), this is what i see throughout - LAV is now outputting in 5.1:
http://i.imgur.com/COS8uRu.jpg
nevcairiel
19th January 2015, 15:08
Obviously it manages to decode the audio properly and also notices that the input is 6 channel. Like I said in my previous post, the only reason it would ever downmix (short of you configuring it to in the Mixer settings) would be if the audio renderer refuses to accept the new format. LAVs entire design is based on the fact to try to deliver the audio as untouched and close to the original as possible, every time the input changes, it'll try to send it 1:1 to the audio renderer. If this one refuses the new format, it'll resort to trying to make it happy.
In short, check with your audio renderer, or supply a sample file. Repeated explanations, with or without screenshots, don't bring you any closer to any solutions I'm afraid.
bergqvistjl
19th January 2015, 15:23
Obviously it manages to decode the audio properly and also notices that the input is 6 channel. Like I said in my previous post, the only reason it would ever downmix (short of you configuring it to in the Mixer settings) would be if the audio renderer refuses to accept the new format. LAVs entire design is based on the fact to try to deliver the audio as untouched and close to the original as possible, every time the input changes, it'll try to send it 1:1 to the audio renderer. If this one refuses the new format, it'll resort to trying to make it happy.
In short, check with your audio renderer, or supply a sample file. Repeated explanations, with or without screenshots, don't bring you any closer to any solutions I'm afraid.I'll supply sample files tomorrow :) In the mean time, where would I find out what my audio renderer is? It seems like it's being inconsistent then, accepting some versions of the file yet refusing others
nevcairiel
19th January 2015, 15:42
In most cases its part of your player.
bergqvistjl
19th January 2015, 15:45
In most cases its part of your player.Well this is on Windows Media Player on Windows 8.1 x64, though i've disabled Media Foundation so I can use LAV. I thought LAV was the one decoding the audio though?
I'll link you 3 files tomorrow:
1. The raw file as captured by MythTV
2. The trimmed file of just the program in question (including the first few seconds in Stereo)
3. That same trimmed file, but trimming off those first few stereo seconds, so that it only contains the 5.1 portion.
2 & 3 trimmed using VideoRedo. My above problems occur when playing back files 1 and 2. 3 plays back fine but then the audio stays at the same number of channels throughout.
nevcairiel
19th January 2015, 16:34
Windows Media Player uses certain audio post processing components which are unfortunately incapable of reliably switching their input format, so for WMP there is no solution I'm afraid.
bergqvistjl
19th January 2015, 17:01
Windows Media Player uses certain audio post processing components which are unfortunately incapable of reliably switching their input format, so for WMP there is no solution I'm afraid.
So from what it seems like, is that WMP will accept a 5.1 audio track if that's what the file starts out as, but if you try to change the channels mid-stream, it won't accept the change and will continue to play the audio as though the number of channels was the same at the start?
I've just played the files through MPC-HC and the LAV audio status page is outputting the files correctly, on the fly, so that's that solved. Thanks :)
Seems like WMP adheres to the container flag if present - (then if not i guess defaults to stereo) to determine the channels it will accept for playback. Rather annoying...
nevcairiel
19th January 2015, 17:29
So from what it seems like, is that WMP will accept a 5.1 audio track if that's what the file starts out as, but if you try to change the channels mid-stream, it won't accept the change and will continue to play the audio as though the number of channels was the same at the start?
Pretty much, yes.
It'll generally always accept whichever format the file starts with, as thats what LAV will also present to it on creation of the video playback chain, but it cannot switch to another format on-the-fly unfortunately.
bergqvistjl
19th January 2015, 17:38
Pretty much, yes.
It'll generally always accept whichever format the file starts with, as thats what LAV will also present to it on creation of the video playback chain, but it cannot switch to another format on-the-fly unfortunately.Damn. Although that doesn't explain why it puts my raw ts file that starts with 5.1 audio down to stereo as well :/ But maybe thats because that file lacks the container header that VRD creates when I trim the files down (so it defaults to stereo), yet when there IS a container header, whether 5.1 or stereo, it follows that?
Magik Mark
20th January 2015, 06:32
Playing around with hevc file I recently downloaded. No problem with CPU decoding. I can't seem to activate the hardware acceleration. No problem with other file formats. I'm using the latest nightly version of lav v.48
Any thoughts?
LigH
20th January 2015, 09:21
To use hardware acceleration for decoding, both your hardware has to be capable of supporting this format, and your video has to be compatible (e.g. limited encoding complexity, maybe even resolution constraints). Apart from that, we can't give you much more help than you gave us details.
Magik Mark
20th January 2015, 11:34
To use hardware acceleration for decoding, both your hardware has to be capable of supporting this format, and your video has to be compatible (e.g. limited encoding complexity, maybe even resolution constraints). Apart from that, we can't give you much more help than you gave us details.
Thanks for the prompt reply LigH. I'm new to Hevc. I'm using Nvidia GTX 550ti. Not sure if this hardware supports this file format. Guess Not. Do you happen to know where I can get a list of supported hardware?
LigH
20th January 2015, 11:51
Hardware decoding support for HEVC is very rare. Consider only the most recent GPU models.
Are there any GPU's that support HEVC yet? (http://forum.doom9.org/showthread.php?t=170987) ... Nvidia Maxwell. Certainly not a 550, several years old.
NikosD
20th January 2015, 12:37
For Nvidia cards you need a Kepler or Maxwell 1/2 card, preferably with a lot of shaders.
For AMD cards, even 2009 ATI's cards can do the job (Radeon 5000 series and above) and you need again a lot of shaders.
For Intel iGPUs, you need latest Haswell CPUs (I' m not sure about Ivy)
nevcairiel
20th January 2015, 13:18
No current GPU supports HEVC. All the pseudo-support is done in drivers and drivers alone (by using the GPUs shaders).
Rumor is that maybe the upcoming NVIDIA GTX 960 may support HEVC completely, but we'll have to see.
NikosD
20th January 2015, 13:39
It's a very real support of GPUs, offloading a part of decoding load from CPU to GPU shaders, which is not so efficient like dedicated HW for that purpose in terms of speed and power consumption.
But it's 100% real support.
nevcairiel
20th January 2015, 13:44
OpenCL or shader usage is not "real support". Its just GPGPU, any GPU with enough processing power can do that, its just a driver feature - its entirely software! Its obvious because even the old Kepler cards can do that, or the even much older AMD cards, which clearly have no hardware for HEVC at all.
"Real support" is a dedicated hardware decoding ASIC for that codec.
This "hybrid" support is slow and inefficient. At 4K its barely usable because its too slow.
Its like saying my CPU has HEVC support because I have a decoder which runs on the CPU. :)
NikosD
20th January 2015, 14:05
You are making a big mistake here.
The whole concept of HW acceleration is to have another processor than CPU to accelerate a specific task.
So, by definition the GPU support of HEVC video acceleration is a real HW support assistance to CPU using a different processor - the GPU.
Of course the HW of a dedicated ASIC is much more efficient than GPU shaders.
About speed, you are definitely making another big mistake, If you see the results of Nvidia 770 using GPU shaders on 4K HEVC content at my signature link.
Looking at benchmark results, it's clear that 770 is faster than most CPUs available today!
nevcairiel
20th January 2015, 14:40
Eh, believe what you want, but the argument is not if its useful or faster or anything really, its just that the GPU does not actually support it, or even need to support it.
The GPU supports OpenCL and Shader Programming. The driver supports HEVC. The driver uses OpenCL and Shaders to decode HEVC.
There is a HUGE difference to this mode and actual proper hardware decoding with actual decoding hardware. Its a important and crucial difference to make, and if you consider it all the same then the mistake is yours.
The hybrid decoding can work on any hardware that is fast enough. Full hardware decoding requires actual decoding hardware. Its a drastic difference in functionality, and absolutely important to differentiate.
PS:
The fact remains that UHD/4K is unfortunately still too slow, even with GPU decoding. If its faster than most CPUs is irrelevant if its still too slow for fluid playback.
An average of ~30 fps on low bitrate clips is sadly not enough to call "fast enough".
Wasn't that even part of your "conclusion" in your own thread? That we need pure hardware decoders for 4K?
NikosD
20th January 2015, 15:00
GPU shaders are not pseudo hardware or hardware emulation.
GPU shaders are real hardware and any video decoding process executing there, it's called HW decoding (partial or full)
I'm the one who always used and asked for ASIC HW decoding, so I don't have anything else to add on this.
Just that we have 3 different types of decoding: SW, Hybrid (SW and HW) and HW decoding just like the name of my thread about the evaluation of HEVC decoders.
Nothing else to add.
P.S
Nvidia 770 without being the fastest card out there, reaches between 120fps to 190 fps on 4K HEVC clips on average.
LigH
20th January 2015, 15:35
If I understand the situation correctly: In contrast to HEVC decoding with software for highly parallelizable processors (not specifically made for the needs of a HEVC decoder, only for generic mathematical instructions), AVC decoding is done in a dedicated decoding processor (specifically made for decoding AVC and other video, e.g. the PureVideo decoder chip for Nvidia cards).
So AVC decoding is done like cutting a tree using one chainsaw (intended for this purpose), HEVC decoding is done like using hundreds of pocket knife saws (not intended but capable due to the huge number).
NikosD
20th January 2015, 15:38
The key questions for the subject are:
1) What is hybrid decoding ?
2) Is hybrid decoding a HW decoding ?
3) How could we call ASIC decoding ?
Replies:
1) Hybrid decoding can be called the partial HW decoding, meaning that you need SW (CPU) decoding for a part of the video decoding algorithm and HW (ASIC or GPU) decoding for the rest of the part of the algorithm.
Hybrid decoding can also be called every mixed SW(CPU) and HW(GPU) solution, not evolving ASIC.
But then how could we call ASIC based decoding ?
2) Whatever option you prefer of the previous reply, Hybrid decoding engages HW.
That's why you see the phrase 'Playing [H/W]' when DXVA HEVC is used by MPC-HC for GPU assisted HEVC decoding.
3) We call it HW decoding, but because hybrid decoding is HW decoding too, we could call it pure HW decoding.
That's all!
NikosD
20th January 2015, 18:35
I'm using Nvidia GTX 550ti. Not sure if this hardware supports this file format. Guess Not.?
There is no HEVC DXVA driver support for Fermi cards like yours, but if Nvidia decides to build a decent, real OpenCL driver, then you will have hybrid HEVC OpenCL acceleration using Lentoid or Cyberlink HEVC decoders.
Ask for a real OpenCL driver from Nvidia.
nussman
20th January 2015, 19:15
Hi,
I am a little bit confused about 10bit HEVC GPU decoding.
It works for 8bit HEVC but fails for 10bit (Nvidia GTX750i Ti, Driver 347.09).
Is this a driver, renderer (EVR/madVR) or decoder (LAV) issue?
NikosD
20th January 2015, 19:28
There is no 10bit HEVC hybrid decoder yet, only SW.
It should fall back to SW mode, decoded by CPU automatically.
nussman
20th January 2015, 19:35
That means: driver does simply not support 10bit (yet?)?
As nevcairiel already pointed out "HEVC hybrid decoder" ist just "software" on GPU.
So why no 10bit support?
NikosD
20th January 2015, 20:01
For the same reason that there is no DXVA HEVC support for AMD cards, no DXVA HEVC support for Nvidia Fermi cards or Ivybridge iGPU.
For Intel there is a table here which shows which iGPUs will get 10bit HEVC and VP9 partial acceleration.
https://communities.intel.com/thread/59216
So if we want to be more exact, some Broadwell iGPUs already have 10bit HEVC but LAV doesn't support it yet.
NikosD
21st January 2015, 10:13
That's VP9 - YouTube no longer makes the VP8 formats available other than for 360p (which on PC is a "plan C" behind VP9's "plan A" and h.264's "plan B", though it's used as "plan A" on low-performance embedded platforms like the Nintendo Wii).
You can see which format is being used via right-clicking on the video and then selecting "Stats for nerds".
I'm using latest Chrome under Win 8.1 and I'm trying to play Youtube videos in VP8 codec, but it seems impossible.
Even if I manually select 360p or even 240p, I always get VP9 codec.
Is there any setting inside Chrome or any preference in youtube.com service to "force" Youtube servers to send VP8 stream with Chrome or IE or any other browser ?
Nintendo Maniac 64
21st January 2015, 23:59
I'm using latest Chrome under Win 8.1 and I'm trying to play Youtube videos in VP8 codec, but it seems impossible.
Even if I manually select 360p or even 240p, I always get VP9 codec.
Is there any setting inside Chrome or any preference in youtube.com service to "force" Youtube servers to send VP8 stream with Chrome or IE or any other browser ?
There is no way to force YouTube to use VP8 because all versions of chrome have built-in h.264 support. You would need to use Chromium for that, and possibly on an OS without built-in h.264 support (such as XP). You would also need a video without VP9 encodes (most commonly found on videos that were uploaded less than 20 hours ago).
Honestly it's easier to just download the VP8 version via a YouTube downloader and play the WebM file directly in Chrome.
ryrynz
22nd January 2015, 04:25
Nev could you hammer through the CueDuration and CueRelativePosition support?
Telion
22nd January 2015, 08:38
Yeah, that would be much appreciated.
Stereodude
22nd January 2015, 17:21
Rumor is that maybe the upcoming NVIDIA GTX 960 may support HEVC completely, but we'll have to see.
No longer a rumor. The 960 has full HEVC decoding.
On a feature note, while GM206 is officially classified as a Maxwell 2 part there is one small but very notable feature difference that needs to be pointed out, and we’ll get to in-depth in our full review. When it comes to HEVC (H.265) decoding, GM204, GM1xx, and GK1xx GPUs all offer limited HEVC decoding via a hybrid process that offloads some parts to the GPU fixed function units and shaders, and other parts to software entirely. However as of GM206 NVIDIA’s fixed function HEVC decoder has been completed and rolled into this GPU, making this the first discrete GPU with full HEVC decoding support.
turnip
22nd January 2015, 19:20
I'm using LAVSplitter.ax 0.63 and ffdshow video decoder on Windows. I can play an AVI from the first frame, but if I start playback from anywhere else I get no video.
I can see that when played from the start the splitter video stream includes the SPS & PPS NAL units, but after a set position these units are absent from the start of the video stream. I believe this is the reason the decoder fails to work.
Is there a way to make the LAV splitter insert the SPS and PPS NAL units into the video stream following a set position?
LigH
22nd January 2015, 21:02
Your AVI container is probably incomplete. Try to re-multiplex it. VirtualDub would probably offer to re-index it upon opening, I guess?
turnip
22nd January 2015, 21:22
I have no control over the AVI files. I must try to play the AVI files I am given from the point the user specifies, which may not be the start.
LigH
22nd January 2015, 22:41
If you try to jump into the middle of an un-indexed AVI, the splitter may not be able to detect where any frame starts; not to mention discovering the timecode of the frame, if it finds one at all. And correct decoding can even only start at specific frames, not any (usually I frames, possibly even IDR for AVC).
It is not the job of a decoder to fix an incomplete file. If it doesn't have any keyframe index, then the best a decoder can do is to slowly scan the file around the given position until it finds a valid decoding start position, which will take its time (up to the previous playing time), or start to decode whatever it finds, which will cause video errors (maybe even decoder crashes). But only if the splitter is able to discover where the multiplexed frames of video and audio streams start at all. That may require to linearly decode from the beginning to the seek position. Which may take a lot of time... VirtualDub's re-indexing will also start from the beginning, scanning the rest sequentially, to rederive a keyframe index.
If you must be able to play from an arbitrary seek position, first fix the media file.
By the way, which content formats do such AVIs contain? Possibly "online recorder" AVIs with AVC video? I'm curious about a MediaInfo analysis.
foxyshadis
23rd January 2015, 10:18
I have no control over the AVI files. I must try to play the AVI files I am given from the point the user specifies, which may not be the start.
Remux them as they come in then. Use ffmpeg or mkvmerge to immediately create a new file that allows arbitrary seeking, and you won't have to worry about that.
nevcairiel
23rd January 2015, 10:20
Is there a way to make the LAV splitter insert the SPS and PPS NAL units into the video stream following a set position?
If LAV Splitter would know the SPS/PPS, then it wouldn't be a problem in the first place. :)
However, for it to fail, it must be lacking the SPS/PPS information, in this case they need to be repeated in the stream .. if the stream only contains them once right in the beginning, then you are screwed and the stream is not seekable.
turnip
23rd January 2015, 11:43
1. Thank you all for taking time to respond to my question.
2. As I say, my circumstances are that the user presents an AVI and I either play it successfully or I fail to play it. It is not an option for me to tell the user to re-encode his video.
3. This may or may not be relevant: I notice in LAVFilters\qsdecoder\frame_constructors.cpp in CAVCFrameConstructor::ConstructHeaders() the comment "// Keep a copy of the SPS/PPS to be placed into the decode stream (after each new segment)." This code is not used when splitting my AVI, but it suggests to me there are circumstances when it is necessary to insert these NAL units into a video stream. (I have only a very limited understanding of the LAV splitter code. But I have built the splitter from scratch which, contrary to the comment in the README "Compiling is pretty straight forward using VC++2013", took me an embarrassingly long time to overcome one problem after another.)
4. Nev, your comment has made my heart sink! The stream does indeed have the SPS/PPS just once at the beginning. I hoped there might be a simple way I could get the splitter to read the stream start to obtain the SPS/PPS units and then insert them at the start of the stream following a set position.
5. The Mediainfo output for a sample AVI file is below.
General
Complete name : C:\test.AVI
Format : AVI
Format/Info : Audio Video Interleave
File size : 26.7 MiB
Duration : 33s 170ms
Overall bit rate : 6 756 Kbps
Video
ID : 0
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Format settings, GOP : M=1, N=8
Codec ID : H264
Duration : 33s 167ms
Bit rate : 6 550 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.237
Stream size : 25.9 MiB (97%)
Audio
ID : 1
Format : ADPCM
Codec ID : 2
Duration : 33s 170ms
Bit rate mode : Constant
Bit rate : 192 Kbps
Channel(s) : 1 channel
Sampling rate : 48.0 KHz
Bit depth : 4 bits
Stream size : 782 KiB (3%)
Interleave, duration : 42 ms (1.27 video frame)
If I grep for "nal_unit_type" shows SPS and PPS appear only at start of BWV.avi
nal_unit_type : 7 ( Sequence parameter set )
nal_unit_type : 8 ( Picture parameter set )
nal_unit_type : 5 ( Coded slice of an IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 5 ( Coded slice of an IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
nal_unit_type : 1 ( Coded slice of a non-IDR picture )
...neither SPS nor PPS occur ever again
nevcairiel
23rd January 2015, 12:13
It might help if you can share one of those files.
turnip
23rd January 2015, 12:40
Hi Nev. Yes I will upload a sample this evening. (I just tried but it fails with some "security token failure", so I'll have to try again when I get home tonight.)
turnip
23rd January 2015, 20:07
Hi Nev, The only sample I have is 27 MB. I've attached it truncated to 200KB. I've put the original here: https://www.dropbox.com/s/ecpj1iabog8e8bo/turnip.avi?dl=0
The sample is produced by a portable video camera. On Monday I'll be able to get a smaller complete sample.
nevcairiel
23rd January 2015, 21:17
27MB isnt exactly huge, so thats ok.
nevcairiel
23rd January 2015, 23:01
Looking for Samples!
I'm interested in adding support for AAC 960, and for that I need a few samples using this format.
Its a AAC format primarily used in DAB+ broadcasts, and if anyone is interested in this feature, and has a sample at hand that he can share with me, it might expedite its availability!
Thank you for listening. :)
rd1979
24th January 2015, 16:56
There is no VP9 DXVA specification (to my knowledge), so there is nothing to support.
Who would be responsible for creating the spec? Microsoft? If so, I don't expect to see it. Ever.
Aleksoid1978
25th January 2015, 02:36
Hi Nev. I need your help :) How can i check DXVA compatibility without connect to the renderer ? Can you help ?
LigH
25th January 2015, 09:57
I'm interested in adding support for AAC 960, and for that I need a few samples using this format.
How about http://www.dabmon.de:8002/? (via (https://trac.ffmpeg.org/ticket/1407)) – tested with VLC 2.1.5 and foobar2000 1.3.6, so chances are good that you can grab a stream
Noticed a flaw trying Energy München: Plays well in foobar2000 during music but breaks when switching to moderation
Reino
25th January 2015, 11:10
I'm interested in adding support for AAC 960, and for that I need a few samples using this format.
See post 1643189.
SeeMoreDigital
25th January 2015, 12:10
Looking for Samples!
I'm interested in adding support for AAC 960, and for that I need a few samples using this format.
Its a AAC format primarily used in DAB+ broadcasts, and if anyone is interested in this feature, and has a sample at hand that he can share with me, it might expedite its availability!
See post 1643189.The HE-AAC v2 (Arrow Classic Rock) sample might present a challenge...
mindbomb
25th January 2015, 16:19
I'm having an issue with recordings made with the amd gaming app. When played with dxva copyback or native, there is a large audio delay. The delay still exists with software decoding, but it is reduced a lot. When muxed to an mkv, the problem goes away, but mkvmerge gives the warning "The AVC video track is missing the 'CTTS' atom for frame timecode offsets. However, AVC/h.264 allows frames to have more than the traditional one (for P frames) or two (for B frames) references to other frames. The timecodes for such frames will be out-of-order, and the 'CTTS' atom is needed for getting the timecodes right. As it is missing the timecodes for this track might be wrong. You should watch the resulting file and make sure that it looks like you expected it to"
sample: https://www.mediafire.com/?1osasr6dr80c6ls
nevcairiel
25th January 2015, 16:23
Try with the latest nightly it should work better. Even better would be yelling at AMD to write better files.
mindbomb
25th January 2015, 17:28
Try with the latest nightly it should work better. Even better would be yelling at AMD to write better files.
ok, that helped a lot, the delay seems gone with the nightly. So does this type of thing not happen when using nvidia's shadowplay?
romulous
26th January 2015, 01:31
So does this type of thing not happen when using nvidia's shadowplay?
I've not ever had any problems running any of my Shadow Play videos with LAV. I can't guarantee that Shadow Play would never produce a broken file, but I can say that it hasn't done that on my system. The only real issue I've ever had with it is the way that it doesn't properly capture 16:10 at that exact native resolution (my 1920x1200 is captured at 1188xsomething) - but that is by design apparently. Stupid NVIDIA.
nevcairiel
26th January 2015, 09:55
Hi Nev, The only sample I have is 27 MB. I've attached it truncated to 200KB. I've put the original here: https://www.dropbox.com/s/ecpj1iabog8e8bo/turnip.avi?dl=0
The sample is produced by a portable video camera. On Monday I'll be able to get a smaller complete sample.
This sample seems to work fine, and while there are no SPS/PPS in the stream at a later point, LAV Splitter manages to find the SPS/PPS and puts them into the media type for the decoder to use even after seeking.
Are you actually using LAV Splitter for this, and not the Microsoft AVI Splitter or something else? I can reproduce the problem with other AVI Splitters, but not with LAV Splitter.
Edit:
I just read you use ffdshow video decoder, maybe try with LAV Video instead? It works fine for me with LAV Splitter + LAV Video in any case.
mastan
26th January 2015, 13:43
ok, that helped a lot, the delay seems gone with the nightly. So does this type of thing not happen when using nvidia's shadowplay?
I've recordered several dozens of shadowplay 1920x1080 60fps videos and didn't encounter any problems converting, playing it with MPC HC/LAV or directly uploading to youtube.
LigH
26th January 2015, 13:52
^ Such success will depend heavily on the used hardware. Don't even try this on a laptop with energy-saving harddisk (I doubt it will even be offered for on-board GPUs); hardware dedicated for both gaming and video editing will be recommendable.
turnip
26th January 2015, 14:52
Nev, You're a busy guy, but can you give me a quick pointer to help me understand this?
I've found that the AVI I uploaded here will play from any point if I use the LAV splitter and LAV video decoder, but not if I use the LAV splitter and ffdshow video decoder. How is the LAV video decoder able to function correctly without SPS/PPS? Is it able to deduce whatever it needs from just the IDR and non-IDR NAL units? Could you point me at the source file where this might be done?
Edit: sorry, I just realised you had asked me to try this above. Note that the LAV splitter does not send SPS/PPS to the LAV decoder after a seek, yet the video plays correctly. (Also, for various reasons, I cannot simply switch to the LAV decoder.)
nevcairiel
26th January 2015, 14:55
LAV Splitter actually discovers the SPS/PPS from the beginning of the stream and sets it in the media type (a global struct with stream information for the decoder), from where the decoder can read it. Apparently, ffdshow just doesn't read this info.
turnip
26th January 2015, 15:02
Thank you. I'll investigate. If ffdshow requires the information in the SPS/PPS, and the LAV splitter has the information, perhaps I could fabricate SPS/PPS for ffdshow...?
nevcairiel
26th January 2015, 15:55
ffdshow also has the information, it just needs to make use of it. But ffdshow is old, out of date and no longer under development, so unless you somehow manage to fix it yourself, there is probably not much thats going to happen.
red5goahead
28th January 2015, 14:13
ffdshow also has the information, it just needs to make use of it. But ffdshow is old
Yes, it's true and I'm stuck since a long time with Lav filter, the best. So do you never consider to add some kind of post-processing as ffdshow does? Imho most of these ones are useless but some not , as sharpen
foxyshadis
28th January 2015, 19:45
Yes, it's true and I'm stuck since a long time with Lav filter, the best. So do you never consider to add some kind of post-processing as ffdshow does? Imho most of these ones are useless but some not , as sharpen
Use the ffdshow Raw video processor. You can just uninstall or reduce the merit of the main decoder, but still use it for post-processing while LAV does the decoding.
red5goahead
28th January 2015, 21:07
Use the ffdshow Raw video processor. You can just uninstall or reduce the merit of the main decoder, but still use it for post-processing while LAV does the decoding.
Of course I did and I use it with Media Portal but imho would be fine if was embedded in Lav codec to simplify besides the ffdshow is no longer under development
Hikari
29th January 2015, 00:50
Thanks for the hard work bro. You're tha man!
salam2009
29th January 2015, 01:30
Hey guys,
I'm so frustrating with MPC-BE crashes everytime I seek in any video ONLY if (EVR -custom-) was selected which I prefer to use among the others! (like MadVR, Haali, etc.)
Also, I use LAV Filters as "External" and I can't get them to work unless I change the video renderer!
Your help would definitely make my day!
Thank you!
Cheers,
Salaam
Nintendo Maniac 64
29th January 2015, 04:59
Hey guys,
I'm so frustrating with MPC-BE crashes everytime I seek in any video ONLY if (EVR -custom-) was selected which I prefer to use among the others! (like MadVR, Haali, etc.)
Also, I use LAV Filters as "External" and I can't get them to work unless I change the video renderer!
Doesn't MPC-BE have internal LAVfilters like MPC-HC does? In that case you should be able to follow the process I spoke of before:
There are nightly builds (http://files.1f0.de/lavf/nightly/) now, at least anytime there's a change. (Horray!) I've had no problems with the most recent one so far.
Fun fact: the DLLs and stuff in that installer seem to be perfectly compatible with MPC-HC.
In other words, if you run the installer in something like sandboxie, you can copy the contents from the x86 and/or x64 folder into the LAVFilters and/or LAVFilters64 folders in the MPC-HC directory and everything will "just work".
06_taro
29th January 2015, 07:06
The installers are compiled by Inno Setup. If you need DLLs only, you can use an unpacker like innounp (http://innounp.sourceforge.net/) or innoextract (http://constexpr.org/innoextract/) instead of using sandboxie:
innounp -x -dDIR INSTALLER.EXE
innoextract -e -dDIR INSTALLER.EXE
sneaker_ger
29th January 2015, 10:56
Doesn't MPC-BE have internal LAVfilters like MPC-HC does?
I think it doesn't. It still comes with filters based on the original ones by Gabest.
salam2009
29th January 2015, 11:05
Doesn't MPC-BE have internal LAVfilters like MPC-HC does? In that case you should be able to follow the process I spoke of before:
I think it doesn't. It still comes with filters based on the original ones by Gabest.
Exactly! I had to add it as external but couldn't figure out why MPC-BE crashes during seeking whereas MPC-HC doesn't while the last one uses LAV as internal!
The problem only occurs with EVR (custom) which I need to use.
clsid
29th January 2015, 16:11
There may be differences in the EVR-CP implementations of MPC-BE and MPC-HC.
bilditup1
30th January 2015, 06:33
I'm having some trouble playing back a vfr mp4 with MPC-HC, using the LAV filters it ships with - the audio keeps going out out of sync, slowly, over time, until it becomes noticeable/awful.
I made the file like so:
Generated timecodes v1 file with 2-pass TFM()/TDecimate() (http://avisynth.nl/index.php/VFR#encoding_to_vfr_.28mkv.29).
Inputted that file into x264 when encoding, using --tc-filein, and specifying an output timecodes v2 file using --tc-fileout. For some reason, x264's automatic time base generation failed multiple times, so I manually specified "1001/360000", which is a total shot in the dark that I just copied based on old logs.
Took the 264 output and muxed it to mp4 (without anything else).
Used mp4fpsmod (http://github.com/nu774/mp4fpsmod) to add the timecodes outputted by x264 to the mp4, using -c switch to enable dts compression.
Muxed that file into a new mp4 with audio and subs, with -ipod switch to ensure iDevice compatibility.
On two different machines running MPC-HC 32-bit, one on Win8.1 Pro x64 and one running Win7 Pro x64, and shutting down all CPU- and GPU-eating processes that could possibly affect playback, the file slowly drifts out of sync until things become seriously unwatchable, about two and a half minutes in. The same file plays fine on an iPad Mini 2 running iOS 8.1.2.
I'm pretty sure the same thing happens if I mux audio and subs first, and then add timecodes, but need to double-check.
I can provide a section of it here, but need to test to make sure the same issue happens again with the shorter file. Noteworthy is that this does not seem to happen with every vfr mp4 I've made (this is only the second one). This one though is about 30% video, whereas the other one had a few hundred frames at most.
Any ideas?
foxyshadis
30th January 2015, 09:09
What happens if you feed the original timecode file into mp4fpsmod, instead of x264's output? They should be the same, since x264 doesn't add or drop frames, but the TDecimate version is definitely correct -- or the cause of the other problems. Make sure you use tcfv1=False in TDecimate though, to generate v2 timecodes.
I'm so out of touch I didn't know that program existed, so I guess I can update the wiki once I test it out.
nautilus7
30th January 2015, 12:15
@Nev
Hi, I have a video file (https://mega.co.nz/#!ixhkBaTb!h15OTDcw90FaE0d1ThORuopxO9xHCve9PQWYg9-4BUY) that doesn't playback using mpc-hc with internal LAV filters. It is a satellite capture (DVB-S2) and VLC can playback it fine. Could you please have a look what is wrong? Thanks.
hello_hello
30th January 2015, 22:58
@Nev
Hi, I have a video file (https://mega.co.nz/#!ixhkBaTb!h15OTDcw90FaE0d1ThORuopxO9xHCve9PQWYg9-4BUY) that doesn't playback using mpc-hc with internal LAV filters. It is a satellite capture (DVB-S2) and VLC can playback it fine. Could you please have a look what is wrong? Thanks.
I can't tell you much regarding the "why" but I had a quick play and MPC-HC can display it if ffdshow is decoding and the mpeg2 codec is set to libavcodec. Switch to libmpeg2 and it displays the same way as when LAV is decoding. Just a black screen. MPC-BE 1.4.3 with it's internal decoder = black screen. PotPlayer default settings = black screen.
Muxing programs don't seem to have a good time with it. MKVMergeGUI won't acknowledge the video stream exists, and TSMuxer only sees a single audio stream, although GDSMux sees the video and two audio streams. Even after remuxing as an MKV, the problem of the video not displaying remains.
nautilus7
30th January 2015, 23:13
Yes, I know mkvmerge can't deal with this video stream. Thanks for the advice about ffdshow.
bilditup1
31st January 2015, 00:18
What happens if you feed the original timecode file into mp4fpsmod, instead of x264's output? They should be the same, since x264 doesn't add or drop frames, but the TDecimate version is definitely correct -- or the cause of the other problems. Make sure you use tcfv1=False in TDecimate though, to generate v2 timecodes.
I'm so out of touch I didn't know that program existed, so I guess I can update the wiki once I test it out.
The original timecodes I've been generating are v1, had no idea that you could generate v2. When I used the v1 generated by TDecimate directly, I think the sync issues were worse, but I never checked them on both MPC-HC and my iPad, and anyway by now I'm confused enough with all my attempts that I'll just do it over.
Ha, I only discovered mp4fpsmod after copious searching (which natch led me to a couple of threads back here).
Thanks for chiming in, will report back...
-TiLT-
1st February 2015, 08:39
First of all, if this idea came up on the 929 other pages of this thread, please excuse me. I did not read them all.
I am focussing on audio streams with "stretch by" switch (altering the default duration) in mkv.
Situation:
Video track @ 25fps
1st audio sync to video @ 25fps
2nd audio sync to video @ 23.976fps
Ways to deal with this:
1. Speedup or Slowdown one of the audio streams (plus remux at a different video framerate if needed)
2. Timestretch one of the audio streams
3. Use the "stretch by" switch of mkvmerge
Problems:
1. Despite the fact of a quality loss due to reencoding, speedup and slowdown cause human voices and music to sound irritating to some audiences. And irritating means chimpunkish when speed up or dozy when slowed down.
2. Again, reencoding would reduce the quality and timestretching artifacts can be even more disturbing.
3. The "stretch by" feature is beeing dealt with different approaches, all with their own disadvantages
I. Ignoring the setting and causing Audio/Video desynchronization
II. Dropping or looping portions of the audio. (The most primitive timestretching)
III. Timestretching on the fly with the above inherent problems and a high cpu usage
IV. Playing back the audio untouched and dropping or duping video frames on a regular and short interval to prevent notably desynchronisation (this is what LAV Filters do, I think) but with the drawback of juddery motion.
Approaches I. and II. fail miserably, approach III. does what the name of the setting intends but fails on slow machines and produces hearable artifacts.
Approach IV. almost spot lands, as the audio-quality is preserved and the stream can even be passed through, but tumbles on the finishing straight by adding judder to the video whereas a simple adjustment of the videos framerate would suffice.
I tried to spot the reason for the frame-duping/dropping and the only thing I came up with was that a rate-change during playback might possibly violate the rules of a playback processing-chain. So this could be solved by re-initialising the chain with a different framerate.
My research brought up a deprecated mkv option TrackTimecodeScale http://matroska.org/technical/specs/index.html#TrackTimeCodeScale
So we cannot use this.
But as LAV Filters are able to calculate the amount of video frames to be duped or dropped when using a switch-stretched audio track, the same calculation could be used to determine a new video framerate, I assume.
Or at least, the calculation shoud be close enough to reduce drops/dupes to a minimum (E.g. one adjustment every 10 minutes).
I kindly ask to change the way LAV deals with switch-stretched audio to a complete framerate change instead of dropping/duping frames or at least adding a switch to let the user choose the behavior.
Cheers
nevcairiel
1st February 2015, 10:45
LAV just outputs the audio/video as they are in the file. I could explain more, but thats what it comes down to, and thats where it already ends. You cannot have two audio streams with different timings in the same file and magically expect it to work, it just won't, and it never will.
"stretch by" doesn't work with audio, it'll result in endless glitching. stretching only works with video or subtitles, however if you have two different audio timings, you can of course not sync to both at the same time, so what you are trying to do is just not going to work.
The only way to solve it is to timestretch one of the audio tracks and reencode it. There are high-quality time stretchers around that do not alter the pitch of the audio, so the quality loss is minimal.
NikosD
1st February 2015, 11:07
I did a quick test on DXVA copy-back between the last two versions 0.67 vs 0.64.
I used Core i7-4790 and iGPU HD 4600 in Playback Performance benchmark mode at 1280x720 on two HEVC files (1080p & 2160p)
The results are impressive.
Huge drop of CPU usage about 40% for 1080p with a slight increase in performance ~10%
Big drop of CPU usage about 30% for 4K with a significant 40% increase in performance!
DXVA native in Playback Performance uses more CPU than DXVA copy-back!
My question is if DXVA native could benefit from these optimizations, too.
nevcairiel
1st February 2015, 11:11
All I optimized is exclusively in use for CB (ie. the code that copies the video to system memory), Native doesn't use any of it.
I would be somewhat surprised if Native used more CPU, but maybe that CPU usage is in the renderer somewhere?
detmek
1st February 2015, 12:35
My CPU (Pentium G3220) does not support HEVC decoding but I tested H.264/720p file. DXVA Copy-back in 0.67 nightly LAV works much better compared to intel QuickSync decoding.
http://www.dodaj.rs/t/2s/pD/3AUxZ4Pc/lav-qs.jpg (http://www.dodaj.rs/?2s/pD/3AUxZ4Pc/lav-qs.png)http://www.dodaj.rs/t/31/mw/aIth3oa/lav-cb.jpg (http://www.dodaj.rs/?31/mw/aIth3oa/lav-cb.png)http://www.dodaj.rs/t/2X/MT/3LInFGNn/dec-lav-qs.jpg (http://www.dodaj.rs/?2X/MT/3LInFGNn/dec-lav-qs.png)http://www.dodaj.rs/t/30/8r/3yYjQB8Y/dec-lav-cb.jpg (http://www.dodaj.rs/?30/8r/3yYjQB8Y/dec-lav-cb.png)
Half the CPU usage with pure decoding and higher speed with lower CPU usage with rendering! Very nice. Thank you nev!
stax76
1st February 2015, 15:00
@nevcairiel
Showing the config dialog from the windows start menu result in a blurry mess on a High DPI system, it can be fixed with calling SetProcessDPIAware.
clsid
1st February 2015, 16:58
This post details a buffer/queue hack to improve stability during network streaming.
http://forum.doom9.org/showthread.php?p=1707887#post1707887
Perhaps you can think of a more proper way to improve on existing behavior? Does a larger default queue size have any disadvantages other than higher memory usage and startup delay? Maybe the min queue size could be made dependent on the max size and total free memory. Something like at most half the max queue size and at most a quarter/eight of total free mem.
nevcairiel
1st February 2015, 17:02
Startup delay is a significant disadvantage. The current buffers are for about 1 - 1.5 minutes of video, if your WiFi is that terrible, you should invest in a new one.
I suppose I could make it configurable, but people tend to shot themselves into the foot when giving the option to do so...
clsid
1st February 2015, 18:00
It is not a problem that I have personally, but an option would be useful considering that apparently there are people who do have issues. The tooltip could of course warn about the increased delay.
bilditup1
1st February 2015, 19:15
What happens if you feed the original timecode file into mp4fpsmod, instead of x264's output? They should be the same, since x264 doesn't add or drop frames, but the TDecimate version is definitely correct -- or the cause of the other problems. Make sure you use tcfv1=False in TDecimate though, to generate v2 timecodes.
I have since generated the timecode v2 file using TDec. When I inputted it into x264, automatic timebase generation failed again. After manually entering the numerator for the timebase, 1001, timebase generation succeeded and the encode proceeded. The resulting timecodes_v2 file from x264 appears to be the same except for every third frame in the 20000-30000 range being rounded up by .00001, and the use of UNIX instead of CRLF line endings (which resulted in a smaller file).
After muxing with either timecodes file, however, the audio progressively slipped further and further behind the video on MPC-HC 1.7.8 (have not tested them on the iPad).
I also did an encode without inputting a timecodes file, and then muxed the resulting .264 with the TDec-generated timecodes. Exactly the same result.
Should I post the timecodes here? Or the first few minutes of muxed files that keep going out of sync?
kasper93
1st February 2015, 19:30
It is not a problem that I have personally, but an option would be useful considering that apparently there are people who do have issues. The tooltip could of course warn about the increased delay.
I agree with that. I've heard about issues with insufficient buffering a lot. Especially with live streams where data flow can be unstable.
SeeMoreDigital
1st February 2015, 20:17
Oh wow...
I've just discovered I can play DSD.dsf audio files using LAV 0.63.0.41-git and MPC-BE 1.4.4 (build 66) beta - Amazing work :)
nautilus7
2nd February 2015, 01:17
@Nev
Hi, I have a video file (https://mega.co.nz/#!ixhkBaTb!h15OTDcw90FaE0d1ThORuopxO9xHCve9PQWYg9-4BUY) that doesn't playback using mpc-hc with internal LAV filters. It is a satellite capture (DVB-S2) and VLC can playback it fine. Could you please have a look what is wrong? Thanks.Any update? :)
Nintendo Maniac 64
2nd February 2015, 02:28
My CPU (Pentium G3220) does not support HEVC decoding but I tested H.264/720p file. DXVA Copy-back in 0.67 nightly LAV works much better compared to intel QuickSync decoding.
Half the CPU usage with pure decoding and higher speed with lower CPU usage with rendering! Very nice. Thank you nev!
Do you have more specific details on what kind of video you are using? On a 1080p 60fps 8bit h.264 video my CPU usage on my Pentium G3258 is still the highest with Copy-back followed by QuickSync in the middle and then Native with the least CPU utilization.
EDIT: I tried again with a 720p 30fps 8bit video but this time underclocked my CPU to 800MHz so that it would definitely stay in the lowest pstate, and even then my CPU usage followed the same as I described above. And yes I'm using the 0.67 nightly.
For reference I used the following as my guinea pig for both test cases (ftm299 for 1080p60, fmt22 for 720p30):
https://www.youtube.com/watch?v=5I-nQtsJuhE
EDIT 2: You know the bug where 10bit h.264 videos don't playback in MPH-HC on the newest Intel GPU drivers unless you set the LAVfilters to "none"? Well I figured out a "fix" outside of disabling LAV's 10bit decoding - just add and enable the "ffdshow raw video decoder" to MPC-HC external filters and suddenly you'll have a working video.
SeeMoreDigital
2nd February 2015, 10:38
Any update? :)Interesting...
The MPEG-2 video stream has been encoded using 4:2:2. Its use is usually reserved for up-linking outside broadcast content to a studio. It's not intended to be viewed by the public :eek:
nevcairiel
2nd February 2015, 10:53
Any update? :)
Your stream does not have any key frames, and because of that its not supported.
Do you have more specific details on what kind of video you are using? On a 1080p 60fps 8bit h.264 video my CPU usage on my Pentium G3258 is still the highest with Copy-back followed by QuickSync in the middle and then Native with the least CPU utilization.
The new mode is only active in a clean "direct" output scenario (decoding -> nv12 output, no yadif, no nothing). And when its active, it will definitely reduce CPU usage, and more than likely below the level of QuickSync.
You can check if its on by checking the config page, it should say "dxva2cb direct" instead of just "dxva2cb"
EDIT 2: You know the bug where 10bit h.264 videos don't playback in MPH-HC on the newest Intel GPU drivers unless you set the LAVfilters to "none"? Well I figured out a "fix" outside of disabling LAV's 10bit decoding - just add and enable the "ffdshow raw video decoder" to MPC-HC external filters and suddenly you'll have a working video.
The "fix" required is to convert the 10-bit video to 8-bit, if you do that in LAV by disabling P010 and P016 output, or add a ffdshow processor doesn't change whats happening. The only difference is that I know that LAVs 10->8 conversion is high quality and dithered properly, and fast at the same time, which are things I cannot guarantee for ffdshow.
nautilus7
2nd February 2015, 14:03
Interesting...
The MPEG-2 video stream has been encoded using 4:2:2. Its use is usually reserved for up-linking outside broadcast content to a studio. It's not intended to be viewed by the public :eek: Yes, indeed.
Your stream does not have any key frames, and because of that its not supported.But, since libavcodec can decode it, why not support it in lav filters?
-TiLT-
2nd February 2015, 14:27
LAV just outputs the audio/video as they are in the file. I could explain more, but thats what it comes down to, and thats where it already ends. You cannot have two audio streams with different timings in the same file and magically expect it to work, it just won't, and it never will.
"stretch by" doesn't work with audio, it'll result in endless glitching. stretching only works with video or subtitles, however if you have two different audio timings, you can of course not sync to both at the same time, so what you are trying to do is just not going to work.
The only way to solve it is to timestretch one of the audio tracks and reencode it. There are high-quality time stretchers around that do not alter the pitch of the audio, so the quality loss is minimal.
Did you actually read what I wrote?
I exactly said what you repeated, I even worked out what is missing for a perfect solution.
Secondly, high-quality time-stretchers only exist for specific, mostly academic scenarios. There is no good general purpose stretcher on the market. Most aren't even acceptable. Without sophisticated tuning the results are horrible.
Timestretching is not an option.
Anyway, it is a rare szenario, if LAV is not meant to deal with it, it is obviously better to keep it general purpose.
:sly:
nevcairiel
2nd February 2015, 16:09
But, since libavcodec can decode it, why not support it in lav filters?
Because I require key frames in mpeg 2 streams for now, and there is no way to change that without causing regressions for other streams.
detmek
2nd February 2015, 16:16
Do you have more specific details on what kind of video you are using? On a 1080p 60fps 8bit h.264 video my CPU usage on my Pentium G3258 is still the highest with Copy-back followed by QuickSync in the middle and then Native with the least CPU utilization.
EDIT: I tried again with a 720p 30fps 8bit video but this time underclocked my CPU to 800MHz so that it would definitely stay in the lowest pstate, and even then my CPU usage followed the same as I described above. And yes I'm using the 0.67 nightly.
For reference I used the following as my guinea pig for both test cases (ftm299 for 1080p60, fmt22 for 720p30):
https://www.youtube.com/watch?v=5I-nQtsJuhE
EDIT 2: You know the bug where 10bit h.264 videos don't playback in MPH-HC on the newest Intel GPU drivers unless you set the LAVfilters to "none"? Well I figured out a "fix" outside of disabling LAV's 10bit decoding - just add and enable the "ffdshow raw video decoder" to MPC-HC external filters and suddenly you'll have a working video.
Nothing special. I just tried with the clip you linked:
720pCB:
http://www.dodaj.rs/t/3h/Cf/1ZFhxik/720pcb.jpg (http://www.dodaj.rs/?3h/Cf/1ZFhxik/720pcb.png)
720pQS:
http://www.dodaj.rs/t/Y/aV/TbQcaFh/720pqs.jpg (http://www.dodaj.rs/?Y/aV/TbQcaFh/720pqs.png)
1080pCB:
http://www.dodaj.rs/t/1W/sS/MgBu89L/1080pcb.jpg (http://www.dodaj.rs/?1W/sS/MgBu89L/1080pcb.png)
1080pQS:
http://www.dodaj.rs/t/2M/84/3r4nDcE1/1080pqs.jpg (http://www.dodaj.rs/?2M/84/3r4nDcE1/1080pqs.png)
Driver version - 10.18.10.3960.
LAV nightly 0.67
DXVA Checker 3.3.2 x64
clsid
2nd February 2015, 18:41
Would it be possible to also have a YV12 direct output mode? Filters such as vanilla VSFilter and ffdshow raw video filter don't support NV12 input.
STaRGaZeR
2nd February 2015, 18:51
Nev, what is this new direct mode all about? It's just using SSE4 instead of SSE2 or is there something more to it?
nevcairiel
2nd February 2015, 19:53
It uses an optimized 1-step (direct) operation to get the video frame from the GPU to the renderer, instead of the generic 2-step process it used before. The advantage is obviously speed, the disadvantage is that it doesn't work when you need to do any processing like YADIF, or pixel format conversions, which is why it has to be specifically implemented for every single case (because reading from the GPU has certain restrictions as well, if you want full speed anyway).
madshi
2nd February 2015, 20:08
Have you done a benchmark? How much faster is it? :)
nevcairiel
2nd February 2015, 20:09
Speed is limited by the hardware decoder before and after mostly, maybe with a 10% increase (bringing it closer to the speed of DXVA2-Native), but CPU usage is halfed in many cases.
A huge advantage can be seen when dealing with 10-bit 4K HEVC on the GTX 960, not only half CPU usage there, but also 80-100% more speed because it became a real bottleneck due to the extra large frames.
madshi
2nd February 2015, 20:22
Sounds good. Btw, does HEVC DXVA (native) already support 10bit output? If so, which format are the surfaces to be expected in? I think madVR currently only supports DXVA NV12 surfaces...
nevcairiel
2nd February 2015, 20:25
The surfaces out of the decoder are P010, but EVR also doesn't like them, so I disabled it in native mode. Somehow I doubt Microsoft is going to change that for DirectShow EVR anytime soon, so it'll probably remain disabled.
madshi
2nd February 2015, 21:09
So basically you're enforcing copyback for 10bit HEVC? What if I add support for P010 DXVA surfaces? That said, I don't know how DXVA deinterlacing would deal with them. What kind of hardware would I need to test that?
nevcairiel
2nd February 2015, 21:11
The NVIDIA GTX 960 is the only card which supports 10-bit decoding so far.
The DXVA2 Processor Devices support P010 input on NVIDIA mostly, but not output, so you can deinterlace it .. but only to NV12.
madshi
2nd February 2015, 21:16
Have you actually tried DXVA P010 output? The processor devices have a quite limited number of "reported" capabilities, but they often support more than advertized. E.g. at least AMD and NVidia can output to 16bit int/float RGB, even 32bit float RGB, although this capability is not reported. So there's a chance P010 could be supported, too. But of course it's just a wild guess, and chances are it won't be supported (yet?).
Edit: Oh, I just remembered: All the new format specifications don't support interlaced, anymore, anyway. So we probably won't ever need to deinterlace 10bit HEVC.
nevcairiel
2nd February 2015, 21:19
HEVC has interlaced in the spec, I'm afraid.
They didn't include fancy coding modes, but you can still code fields individually, and there is metadata in the HEVC headers that tell you how to put it back together.
LAV/ffmpeg does not support that yet, though.
madshi
2nd February 2015, 21:25
Yeah, but neither UHD broadcasts nor UHD Blu-Ray are supporting interlaced in any way. And usually custom encodes are progressive, too. So I don't see where interlaced HEVC content could be coming from. Well, maybe DVB-T HD could do that, but then it will most likely be 8bit, so we'd be at NV12 again. I don't see any likely 10bit interlaced HEVC sources. Just from what I've seen so far, of course. I could be wrong.
kasper93
2nd February 2015, 21:38
Let's hope interlaced 10-bit content will not appear anyway. This would be step back.
Vasilich
2nd February 2015, 22:41
according to Wikipedia https://en.wikipedia.org/wiki/Ultra-high-definition_television#Resolution there is no interlaced content defined for UHD, so even if codec itself can support it, any UHD-compatible source won't have interlace.
e-t172
3rd February 2015, 00:02
And that's awesome. Good riddance! We can finally see the day when we'll be able to forget all about this deinterlace, even/odd fields and other IVTC bullsh*t.
DragonQ
3rd February 2015, 00:23
I agree but it might end up being a poisoned chalice. With HD channels, the broadcasters have to upscale any SD sources, which if done in real-time is invariably done badly (looks worse than simple bilinear). With UHD channels, the broadcasters have to continue this practice but also deinterlace existing 480i/576i/1080i footage. I am not confident most would do this well either.
I'm just disappointed that DVB-UHDTV Phase 1 doesn't include frame rates higher than 60 Hz. Phase 2 likely will but I bet we'll be stuck with hardware and infrastructure only supporting phase 1.
Stereodude
3rd February 2015, 18:58
I tried playing an older DVD (from 1998) over the weekend with MPC-HC 1.7.7 (built in LAV filters). The MPEG-2 video stream is 23.976Hz progressive with a soft 3:2 pulldown applied to it. Long story short, LAV is set to use avcodec for MPEG-2 DVD. It decodes the video but it doesn't report the output video stream as interlaced. Other DVDs I've tried that are similarly encoded with a soft pulldown do report they're interlaced. If LAV is applying a soft pulldown shouldn't it always indicate the output is interlaced?
I can provide a sample later today if that will help.
SeeMoreDigital
3rd February 2015, 19:12
Nevcairiel,
Does the 'LAV Audio Configuration' option actually contain a DSD decoder filter? I can't find an enable/disable option...
Cheers
nevcairiel
3rd February 2015, 19:18
I tried playing an older DVD (from 1998) over the weekend with MPC-HC 1.7.7 (built in LAV filters). The MPEG-2 video stream is 23.976Hz progressive with a soft 3:2 pulldown applied to it. Long story short, LAV is set to use avcodec for MPEG-2 DVD. It decodes the video but it doesn't report the output video stream as interlaced. Other DVDs I've tried that are similarly encoded with a soft pulldown do report they're interlaced. If LAV is applying a soft pulldown shouldn't it always indicate the output is interlaced?
I can provide a sample later today if that will help.
Soft-Pulldown is progressive content really, so if anything this disc is more correct than others. But at the end it'll just report what the MPEG-2 bitstream says. If it contains a progressive sequence flag, then thats what LAV will use.
Stereodude
3rd February 2015, 20:44
Soft-Pulldown is progressive content really, so if anything this disc is more correct than others. But at the end it'll just report what the MPEG-2 bitstream says. If it contains a progressive sequence flag, then thats what LAV will use.
Well, something isn't right. When I used the QuickSync decoder option in LAV on the same DVD it reported it was interlaced.
I'd be thrilled if LAV played soft pulldown DVDs at 23.976Hz, ignored the 3:2 pulldown, and reported a 23.976Hz framerate upstream, but that doesn't seem to happen. madVR still shows the framerate as 29.97Hz on the DVDs I've ever tried. The 29.97Hz reported rate causes all sorts of difficulties (like enabling smooth motion if you force a 23.976Hz refresh rate, or preventing the refresh rate from changing).
I've only been able to get correct 23.976Hz playback of DVDs by having the MPEG-2 decoder output "interlaced" video (post 3:2 pulldown) which madVR then IVTC's to 23.976Hz on the fly. This particular disc was a pain because madVR didn't see it as interlaced so I couldn't IVTC it, until I realized I could force enable deinterlacing in madVR.
I realize that it's possible to remove the soft pulldown flagging when demuxing from the .vob's with something like eac3to and remux in a .mkv (assuming the mpeg-2 stream is 100% soft pulldown), but I want to be able to just put a disc in the drive and watch it, not process a disc for 30 minutes to a .mkv first.
foxyshadis
3rd February 2015, 21:34
Yes, indeed.
But, since libavcodec can decode it, why not support it in lav filters?
Why not just tag some frames as key frames, at least the first? Sure, they'll be corrupt until the intra refresh is finished, but that's how it works anyway. Keyless streams are pretty rare, and I'm sure they'd be a pain to support (since seeking would always either be corrupt or have to decode back X frames and hope it's enough).
foxyshadis
3rd February 2015, 21:38
I have since generated the timecode v2 file using TDec. When I inputted it into x264, automatic timebase generation failed again. After manually entering the numerator for the timebase, 1001, timebase generation succeeded and the encode proceeded. The resulting timecodes_v2 file from x264 appears to be the same except for every third frame in the 20000-30000 range being rounded up by .00001, and the use of UNIX instead of CRLF line endings (which resulted in a smaller file).
After muxing with either timecodes file, however, the audio progressively slipped further and further behind the video on MPC-HC 1.7.8 (have not tested them on the iPad).
I also did an encode without inputting a timecodes file, and then muxed the resulting .264 with the TDec-generated timecodes. Exactly the same result.
Should I post the timecodes here? Or the first few minutes of muxed files that keep going out of sync?
Sounds like the problem is in the script or the input, not in the encoding and muxing. Have you checked sync against the original input file? And when forcing 24 fps IVTC (for testing even if it looks jerky)? That'll conclusively rule out a timecode problem.
SeeMoreDigital
3rd February 2015, 22:15
This particular disc was a pain because madVR didn't see it as interlaced so I couldn't IVTC it, until I realized I could force enable deinterlacing in madVR.Which disc is it. Do you have a sample?
Stereodude
4th February 2015, 01:32
Which disc is it. Do you have a sample?
It's 12 Monkeys. I cut a short 1 minute sample (http://stereodude.net/12_Monkeys_trimmed.7z).
I need to recant what I said about the QuickSync decoder in LAV. It behaves differently, but not in the manner I stated earlier. If you force deinterlacing when decoding with QS madVR doesn't see a 3:2 pattern. When decoding with CUVID and avcodec madVR will see the 3:2 pattern when forced to deinterlacing. I am a tad puzzled about how madVR finds a 3:2 pattern when the video output doesn't appear interlaced from any of the decoders. :confused:
huhn
5th February 2015, 14:15
It's 12 Monkeys. I cut a short 1 minute sample (http://stereodude.net/12_Monkeys_trimmed.7z).
I need to recant what I said about the QuickSync decoder in LAV. It behaves differently, but not in the manner I stated earlier. If you force deinterlacing when decoding with QS madVR doesn't see a 3:2 pattern. When decoding with CUVID and avcodec madVR will see the 3:2 pattern when forced to deinterlacing. I am a tad puzzled about how madVR finds a 3:2 pattern when the video output doesn't appear interlaced from any of the decoders. :confused:
i guess the file is soft telecine.
madVR switches to 23p on it own and plays this file totally smooth without using madVR IVTC or deinterlacing.
Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : Main@Main
Format settings, BVOP : Yes
Format settings, Matrix : Default
Format settings, GOP : M=3, N=12
Duration : 59s 977ms
Bit rate mode : Variable
Bit rate : 3 437 Kbps
Maximum bit rate : 7 500 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.332
Time code of first frame : 00:59:58;15
Time code source : Group of pictures header
Stream size : 24.6 MiB (87%)
Stereodude
5th February 2015, 17:26
i guess the file is soft telecine.
madVR switches to 23p on it own and plays this file totally smooth without using madVR IVTC or deinterlacing.
In my testing it engages Smooth Motion if the PC refresh rate is set to "23p" because the "source filter" reports the frame rate is 29.97Hz. Yes, I know smooth motion can be turned off, but I'm not sure how it handles it then because it still sees a mismatch between the source filter and the display refresh.
If it wants to decode it as progressive that's great, but why then misreport the framerate?
huhn
6th February 2015, 05:54
it looks like madVR is taking these informations from the source filter lav source (madVR OSD: "says source filter"). the source filter clearly says 29p.
smoothmotion = SM
ffdshow with lavfilter as source splitter
SM engages, madVR uses 23p and no deinterlacing or IVTC is used. it is work ok with ffdshow looks like ffdshow is correctly correcting the frame duration. playback is 23p with 23 hz input so madVR SM should not trigger. so there is an issue with madVR looks like madVR uses the source filter and refreshrate informations to trigger SM I wonder why it is able to switch to 23p and why it isn't using this information for SM.
lavfilter
SM engages, madVR uses 23p and no deinterlacing or IVTC is used. looks like the frame duration is not corrected and madVR is blending frames the wrong why. not easy to judge with the sample. SM shouldn't trigger madVR still get's 23p from somewhere.
lavfilter should at least correct the frame duration like ffdshow.
mpc video decoder DXVA and lavfilter source
SM doesn't engages, madVR uses 59p and no deinterlacing or IVTC is used. playback is not smooth at all.
mpc video decoder and lavfilter source
same as lavfilter.
not sure how to fix this or even where the issue is coming from madVR libav?
and I have not tested QS, CUVID and DXVA from INTEL, NVIDIA and AMD and as you can see the decoder has something to do with this.
my display modes:
1080p23, 1080p24, 1080p50, 1080p59, 1080p60
THX-UltraII
6th February 2015, 09:14
Is LAV video filter able to deal with MVC MKV 3D files that are made with Makemkv?
Stereodude
6th February 2015, 13:28
Is LAV video filter able to deal with MVC MKV 3D files that are made with Makemkv?
I'm pretty sure the answer is no, but I haven't tried it. AFAIK, LAV is built on FFMPEG which, AFAIK, can't decode MVC H.264.
THX-UltraII
6th February 2015, 13:59
I'm pretty sure the answer is no, but I haven't tried it. AFAIK, LAV is built on FFMPEG which, AFAIK, can't decode MVC H.264.hmmmm. I m looking for a solution to play 3D movies in MPC-HC + LAV filters + madVR as output renderer......
videonerd
7th February 2015, 10:52
Hi developers, fantastic software. I am using mpchc/madvr/built-in lav.
I observe that using CUVID, seeking is delayed/lag (skip forward/back) however with software decoding, seeking is instant. Is this expected or are there other related settings that may be in play? Nvidia Titan.
Thank you!
LigH
7th February 2015, 11:11
May depend on whether fast seeking is enabled in the player: Either the playback starts immediately at the nearest GOP start (coarse seeking), or it has to decode up to the seek position from the previous GOP start (fine seeking, but delayed playback). Hardware decoding may not support both, but I don't know details here. At least I know that hardware decoding speed may be limited to about realtime in earlier decoding chip generations, while software decoding (especially multithreaded) can be a lot faster.
DragonQ
7th February 2015, 13:55
I've finally found a way of recording the Astra UHD test stream currently broadcasting. I suppose I shouldn't be surprised that my laptop's Core i5-3320M can't cope with it at all, even with MPC-HC x64 + LAV Filters + EVR. :(
It gets 37-40 fps with ~85% CPU usage and ~40% GPU usage. I assume it's using the GPU just for resizing to 1080p.
DragonQ
7th February 2015, 16:44
I've finally found a way of recording the Astra UHD test stream currently broadcasting. I suppose I shouldn't be surprised that my laptop's Core i5-3320M can't cope with it at all, even with MPC-HC x64 + LAV Filters + EVR. :(
It gets 37-40 fps with ~85% CPU usage and ~40% GPU usage. I assume it's using the GPU just for resizing to 1080p.
Wow I didn't realise quite how much better HEVC decoding was in the 64-bit build. The sample works fine on my desktop (Xeon X5650 @ 4 GHz) when using MPC-HC x64, with CPU usage at 20-40% and GPU usage at 20-25% depending on the scene being decoded. With MPC-HC x86, I can't watch it smoothly because some scenes send the CPU to near-100% (12 cores not enough!) and frames are dropped. This is all with EVR by the way, MadVR is a no-go even with all settings at minimal levels.
bcec
8th February 2015, 06:42
Is there any image quality difference between selecting None vs NVIDIA CUVID for Hardware Decoder setting in Lav Video?
wanezhiling
8th February 2015, 08:08
No.
If a decoding method hurts quality, it should never exist.:)
tobindac
8th February 2015, 19:29
I'll drop a note. The splitter appears unable to see different channels on an MPEG-TS file (recorded on VLC from a digital tv tuner). The Haali Splitter appears to normally offer to change channels in the stream.
Vasilich
8th February 2015, 22:09
what channels? do you mean several video streams?
part of that recorded file can help to analyze.
nevcairiel
8th February 2015, 22:34
Multi-Program TS streams are not supported. You will just get one program of LAVs choosing.
tobindac
9th February 2015, 03:54
Multi-Program TS streams are not supported. You will just get one program of LAVs choosing.
Haali does give a choice to selecte a Channel/Program, but it doesn't let you seek!
littleD
10th February 2015, 10:54
It would be nice to have issue #3 fixed ;)
Blight
10th February 2015, 13:50
nev:
I've been testing hardware accelerated video decoding on one of the new breed of sub-$99 windows 8.1 tablets.
In this case, it's a 7" 1280x800 running on Intel Baytrail Z3735G Quad-core processor with 1GB of ram.
I tried playing an 1080p h264/aac clip and I'm getting some strange results:
Software decoding : 40% CPU
QuickSync : 44% CPU (active decoder "quicksync")
DXVA Copyback : 72% CPU (active decoder "dxva2cb")
DXVA native : 3% CPU (active decoder "dxva2n")
This is with EVR used as the video renderer.
I also tried the same file on an Asus T100 10" convertible 2-in-1 running on an Intel Baytrail Z3740 with 2GB ram and received the same results.
Does it make sense that the memory overhead of the copy-back function used in QuickSync and DXVA2-Copyback takes so much CPU power that it is even slower than software decoding?
andyvt
10th February 2015, 13:59
nev:
I've been testing hardware accelerated video decoding on one of the new breed of sub-$99 windows 8.1 tablets.
In this case, it's a 7" 1280x800 running on Intel Baytrail Z3735G Quad-core processor with 1GB of ram.
I tried playing an 1080p h264/aac clip and I'm getting some strange results:
Software decoding : 40% CPU
QuickSync : 44% CPU (active decoder "quicksync")
DXVA Copyback : 72% CPU (active decoder "dxva2cb")
DXVA native : 3% CPU (active decoder "dxva2n")
This is with EVR used as the video renderer.
I also tried the same file on an Asus T100 10" convertible 2-in-1 running on an Intel Baytrail Z3740 with 2GB ram and received the same results.
Does it make sense that the memory overhead of the copy-back function used in QuickSync and DXVA2-Copyback takes so much CPU power that it is even slower than software decoding?
FWIW, I noted similar results with the Baytrail NUC. In that case I think it is because of the RAM speed and that it is single-channel. If the devices that you are testing are configured in a similar way (one channel of slow RAM), it probably memory overhead as well.
That said, you can't rely on utilization % by itself if the chip supports dynamic throttling. To make it useful you have to normalize % to current frequency.
nevcairiel
10th February 2015, 14:14
Native DXVA2 is really the only mode that is going to work reliably on such low power devices. That said, the upcoming LAV version with the new DXVA2-CB Direct mode should reduce its CPU overhead significantly, somewhere below the QuickSync number, and presumably below software decoding as well.
NikosD
10th February 2015, 20:03
Does it make sense that the memory overhead of the copy-back function used in QuickSync and DXVA2-Copyback takes so much CPU power that it is even slower than software decoding?
You could try latest nightly version 0.63.0.75 with the new DXVA Copy-Back direct enabled and post your results if you see any difference.
P.J
10th February 2015, 21:17
Anyway to boost the volume in stereo ac3 tracks? PowerDVD can do it very well but LAV Audio :(
nevcairiel
10th February 2015, 22:40
LAV is a decoder, not a volume booster.
LigH
10th February 2015, 23:12
ffdshow has post processing features for audio too. LAV Filters are rather pure, in comparison.
P.J
11th February 2015, 19:00
LAV is a decoder, not a volume booster.
I mean the Dynamic Range setting: :confused:
http://phota.me/zYIy.png
Snowknight26
11th February 2015, 19:44
The most you can do is change the mixing levels from 0.71 to 1.0. Otherwise you'll need something like ffdshow.
Schwartz
12th February 2015, 21:14
32 bit MPC-HC, madVR, internal LAV Filters 0.63.0.52: DXVA native works.
64 bit Media Player .NET, external LAV Filters 0.63 or 0.63.0.75: DXVA native falls back to avcodec.
Using Windows 8.1, ATI R9 270x, Catalyst 14.12. Playing MPEG4 Video (H264).
Is there a way to fix this?
huhn
12th February 2015, 23:15
32 bit MPC-HC, madVR, internal LAV Filters 0.63.0.52: DXVA native works.
64 bit Media Player .NET, external LAV Filters 0.63 or 0.63.0.75: DXVA native falls back to avcodec.
Using Windows 8.1, ATI R9 270x, Catalyst 14.12. Playing MPEG4 Video (H264).
Is there a way to fix this?
MPDN has to support native DXVA and it looks like it doesn't do that.
you can use copyback. not sure if the new copy back direct which is not released yet will work with MPDN.
06_taro
13th February 2015, 01:51
copyback direct works with MPDN.
Anakunda
13th February 2015, 12:15
Where's LAV 0.64 to download? (I don't want source codes)
huhn
13th February 2015, 12:21
Where's LAV 0.64 to download? (I don't want source codes)
it's not released yet. the newest official nightly builds are always here:
http://files.1f0.de/lavf/nightly/
Anakunda
13th February 2015, 12:25
Oh, to soon. It's here tho
https://github.com/Nevcairiel/LAVFilters/releases/download/0.64/LAVFilters-0.64-Installer.exe
0.64.0 - 2015/02/13
General
NEW: Individual LAV Filters can now be blacklisted through the registry by creating a key with the executable name in HKCU\Software\LAV<Filter>\Blacklist
LAV Splitter
NEW: Support for RTMP using rtmpdump-style parameter syntax
NEW: Support for Opus-in-TS
Fixed: The language reported for audio/subtitle streams on some Blu-rays could be wrong
LAV Video
NEW: HEVC Main10 decoding in DXVA2 Copy-Back mode
Faster: DXVA2 Copy-Back in direct output mode uses up to 50% less CPU and performance is improved accordingly
Fixed: H.264 streams with only DTS timestamps would play out of sync with DXVA2
Fixed: DXVA2 could crash on some MPEG-2 streams
Fixed: Improved compatibility with a few HEVC streams when using DXVA2
nevcairiel
13th February 2015, 12:36
LAV Filters 0.64
General
- NEW: Individual LAV Filters can now be blacklisted through the registry by creating a key with the executable name in HKCU\Software\LAV\<Filter>\Blacklist
LAV Splitter
- NEW: Support for RTMP using rtmpdump-style parameter syntax
- NEW: Support for Opus-in-TS
- Fixed: The language reported for audio/subtitle streams on some Blu-rays could be wrong
LAV Video
- NEW: HEVC Main10 decoding in DXVA2 Copy-Back mode
- Faster: DXVA2 Copy-Back in direct output mode uses up to 50% less CPU and performance is improved accordingly
- Fixed: H.264 streams with only DTS timestamps would play out of sync with DXVA2
- Fixed: DXVA2 could crash on some MPEG-2 streams
- Fixed: Improved compatibility with a few HEVC streams when using DXVA2
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.64.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.64.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.64-x64.zip)
DXVA2 HEVC Main10 (10-bit) support
LAV Video now supports 10-bit HEVC decoding through DXVA2, on hardware which supports the Main10 profile!
It has been developed and tested on the NVIDIA GTX 960, which is the first desktop GPU with a full hardware HEVC decoder, and it works quite nice and fast (4k @ 100-120 fps)
At this time I have no information if it also works on Intels Main10 decoding on the Broadwell iGPU, since I do not have access to such hardware.
Note that at this time 10-bit decoding is limited to DXVA2 Copy-Back mode, because the video renderers did not want to cooperate in Native 10-bit mode.
DXVA2 Copy-Back "Direct" mode
To reduce the CPU overhead and the speed limitations of the DXVA2 Copy-Back mode, LAV Video 0.64 introduces a new "Direct" mode.
Direct Mode reduces the CPU overhead by up to 50%, resulting in significantly reduced CPU usage figures.
The concept is simple: When possible, LAV Video will do one processing step less, and try to copy the video image from the GPU to the video renderer as directly as possible.
This has a few limitations however. It only works in specifically designed output paths, specifically NV12 decoding -> NV12 output, P010 decoding -> P010 output, and P010 decoding -> NV12 output.
In addition, direct mode cannot be used when YADIF deinterlacing is required.
Direct Mode is not an option, it'll simply turn on when its possible to be used, and turn off when not (ie. with YADIF or when an unsupported conversion is required).
More...
Everything else should be pretty self-explanatory. Nothing too fancy. RTMP is now officially supported using the same parameter syntax as librtmp/rtmpdump use. The feature was contributed by the MPC-HC authors.
Opus in MPEG-TS streams can now be demuxed and decoded. To make this possible, Opus is now decoded by the "native" ffmpeg Opus decoder, and no longer libopus.
Soon..
I have some plans to work on a few of the long standing feature requests and a few of my own ideas very soon, so a new feature push may not be too far out.
In any case, have fun!
PS:
Impatient people, don't even allow an hour to post the versions everywhere and write a post, jeez.
huhn
13th February 2015, 12:52
direct mode even works with xy vsfilter nice.
Virtual_ManPL
13th February 2015, 12:56
Thank you very much nevcairiel, good job! :thanks:
64bit build performance is really getting more and more awesome in HEVC decoder, compared to 32bit one. :cool:
madshi
13th February 2015, 13:23
Is there anything specific the renderer has to do to make direct mode work, or to optimize performance, or anything like that?
Blight
13th February 2015, 13:23
nev:
Will DXVA2-CD directmode improve performance when using "lav video -> directvobsub -> evr" ?
wanezhiling
13th February 2015, 13:36
EVR doesn't support native 10-bit mode, how about madVR?
nevcairiel
13th February 2015, 13:37
Is there anything specific the renderer has to do to make direct mode work, or to optimize performance, or anything like that?
Just the usual, make sure memory buffers are using at least 16-byte aligned allocations, and the stride it requests is at least 16 pixel aligned.
Most renderers do this anyway. Post-processors like ffdshow don't always do it.
nev:
Will DXVA2-CD directmode improve performance when using "lav video -> directvobsub -> evr" ?
Maybe. DirectVobSub is stupid. It can help if the video width is mod 16 (common 1920, 1280, ... are OK), if its not, then Direct Mode doesn't work with DirectVobSub, since it doesn't request a stride from the video decoder.
manolito
13th February 2015, 15:39
Thanks a lot for the new version... :thanks:
Somehow I can't get the blacklist feature working. :stupid:
Tried it with these formats, but both do not have any effect:
http://i59.tinypic.com/2j6wk6.jpg
http://i57.tinypic.com/b4jokw.jpg
Please explain the exact way how to add this to the registry...
Thanks
manolito
nevcairiel
13th February 2015, 15:42
It needs to be a DWORD value with the name of the executable as name and a non-zero value, so "avstodvd.exe" with value "1" should work.
You can set it to 0 to disable the blacklist for that process, which makes testing easier than always deleting and re-creating the entry.
manolito
13th February 2015, 15:57
Thanks very much, I would never have found this by myself...
Cheers
manolito
STaRGaZeR
13th February 2015, 16:06
Thanks for the new version!
JarrettH
13th February 2015, 16:37
This has likely been asked in the past, but what is a situation for needing hardware decoding? On my machine, an old one (Core 2 Duo E6600, GTX 550 TI), using hardware decoding makes my rendering times in madvr slower, and back home on my Mom's i3 with a GT 730, it also is unnecessary. Are we past the point where hardware decoding is relevant? :thanks:
huhn
13th February 2015, 17:20
This has likely been asked in the past, but what is a situation for needing hardware decoding? On my machine, an old one (Core 2 Duo E6600, GTX 550 TI), using hardware decoding makes my rendering times in madvr slower, and back home on my Mom's i3 with a GT 730, it also is unnecessary. Are we past the point where hardware decoding is relevant? :thanks:
than try to use software decoder for UHD with 80+ mbit.
with stuff up to 40 mbit AVC and a CPU like a i3 it's not really needed and using hardware decoding with a powerful GPU can easily waste power and doesn't save any. but for HEVC we will need hardware decoder again.
a PC with a INTEL iGPU can save a lot of power by using hardware decoding. and it is totally needed for mobile devices.
SithUK
13th February 2015, 19:27
I have experienced a stuttering issue with playback using mpc HC recently. I investigated and found the issue was with insufficient buffering with LAV filter. I've copied the post in the original thread below.
http://forum.doom9.org/showthread.php?t=153450
I have found a fix to the stuttering issue.
The stuttering issue is due to the buffer size not being the 256MB set under "Maximum Queue Memory" in the splitter settings (view->options->internal filters). I observed a significantly smaller buffer size of approximately 10MB instead of 256MB.
The smaller buffer size was insufficient to deal with the performance variability over my wireless network.
The fix involves using a hex editor to modify the LAVSplitter.ax file in the LAVfilters subfolder of the MPC-HC installation folder. The details of the fix are at the following link.
http://superuser.com/questions/84220...e-aggressively
I have carried out the fix on version 1.7.7 of MPC-HC and can verify that it resolved my buffering issue. I can see that the program is buffering 256MB instead of approximately 10MB when I turn on "statistics" (view->statistics).
Playback performance has been rock solid since.
sneaker_ger
13th February 2015, 19:35
64bit build performance is really getting more and more awesome in HEVC decoder, compared to 32bit one. :cool:
I am testing HEVC 64 bit decoding performance from time to time and could not measure any improvements compared to 0.63 (when Nev ported all those HEVC optimizations) at all. (Core i7-860)
clsid
13th February 2015, 20:20
There have been a whole bunch of HEVC improvements in the past week. So performance will be even better once Nev updates FFmpeg again. Good news is that new optimizations for x86 have been added as well.
Thanks for the new version!
JarrettH
13th February 2015, 22:52
:readfaq:than try to use software decoder for UHD with 80+ mbit.
with stuff up to 40 mbit AVC and a CPU like a i3 it's not really needed and using hardware decoding with a powerful GPU can easily waste power and doesn't save any. but for HEVC we will need hardware decoder again.
a PC with a INTEL iGPU can save a lot of power by using hardware decoding. and it is totally needed for mobile devices.
Thanks. And yeah, none of what I decode is as intensive as a blu-ray.
Is DXVA2-CB preferred over Quicksync? I thought I read something about Quicksync not being recommended (this is for a laptop)
Snowknight26
14th February 2015, 00:39
It seems like with 0.64, seeking in an H.264 stream with DXVA on causes pixelation for the first frame after the seek. At least it happens consistently with my R9 290 on Windows 7.
foxyshadis
14th February 2015, 07:39
than try to use software decoder for UHD with 80+ mbit.
with stuff up to 40 mbit AVC and a CPU like a i3 it's not really needed and using hardware decoding with a powerful GPU can easily waste power and doesn't save any. but for HEVC we will need hardware decoder again.
a PC with a INTEL iGPU can save a lot of power by using hardware decoding. and it is totally needed for mobile devices.
AVC hardware decoding is NEVER wasting power, it's always going to be lower-power than CPU decoding because it's dedicated low-power hardware. The last AMD/NVidia GPUs that used hybrid decoding were released in 2006, and Intel has always either supported it totally (since 2009) or not at all, no hybrid option. Using hardware decoding lets both your CPU and GPU clock down to minimum, assuming you don't use a lot of fancy post-processing.
huhn
14th February 2015, 10:56
AVC hardware decoding is NEVER wasting power, it's always going to be lower-power than CPU decoding because it's dedicated low-power hardware. The last AMD/NVidia GPUs that used hybrid decoding were released in 2006, and Intel has always either supported it totally (since 2009) or not at all, no hybrid option. Using hardware decoding lets both your CPU and GPU clock down to minimum, assuming you don't use a lot of fancy post-processing.
the problem is the GPU enters a mid powerstate or with CUVID even highest powerstate and this eats on powerful cards more power than CPU decoding.
they don't stay at min clock. of course i can't say this for all cards i don't have all.
and hybrid decoding is back in intel and nvidia with HEVC in nearly all cards but that's not the point here.
nevcairiel
14th February 2015, 12:55
the problem is the GPU enters a mid powerstate or with CUVID even highest powerstate and this eats on powerful cards more power than CPU decoding.
they don't stay at min clock. of course i can't say this for all cards i don't have all.
and hybrid decoding is back in intel and nvidia with HEVC in nearly all cards but that's not the point here.
NVIDIA at least doesn't do this with DXVA2 decoding, its pure load based scaling.
CUVID is special since it uses CUDA, which always forces the GPU into max performance mode for the best performance. Personally I see no use for either CUVID and QuickSync these days anymore, though.
huhn
14th February 2015, 13:06
NVIDIA at least doesn't do this with DXVA2 decoding, its pure load based scaling.
CUVID is special since it uses CUDA, which always forces the GPU into max performance mode for the best performance. Personally I see no use for either CUVID and QuickSync these days anymore, though.
I think quicksync can be very useful when used in a PC with a powerful GPU that's is entering a mid powerstate when using DXVA. but about CUVID I don't see a use for it too.
looks like NVIDA does a good job on this topic. unlike my not used AMD 6770 that enter mid powerstate when DXVA is used and can't even go to high performance mode.
Virtual_ManPL
14th February 2015, 13:33
Is there anything specific the renderer has to do to make direct mode work, or to optimize performance, or anything like that?
How about finally releasing madVR which supports 64bit? :devil:
It will be a nice performance boost, especially when some decoders are clearly better in 64bit, than in 32bit builds.
I am testing HEVC 64 bit decoding performance from time to time and could not measure any improvements compared to 0.63 (when Nev ported all those HEVC optimizations) at all. (Core i7-860)
I never said that I'm comparing performance of only 2 latest builds of LAV Filters (0.63 and 0.64 ones).
My point was that comparing first release of LAV Filters (0.59 version) with H.265/HEVC support and the latest one (0.64 version),
we can see that 64bit build performance is really getting better and better in HEVC decoder, compared to 32bit one build with each new release.
Finally the 64bit builds are getting serious attention. :cool:
sneaker_ger
14th February 2015, 20:53
Well, 0.63 is old. The git had the optimizations in August 2014, that's why I had to wonder about your comment. It's not getting better and better with each new release, it got better once 6 months ago.
DragonQ
14th February 2015, 22:44
Personally I see no use for either CUVID and QuickSync these days anymore, though.
Hardware deinterlacing + post-processing.
huhn
14th February 2015, 23:22
Hardware deinterlacing + post-processing.
the CUVID deinterlacer is the same as the DXVA.
DragonQ
15th February 2015, 00:56
the CUVID deinterlacer is the same as the DXVA.
Don't see how that's relevant.
aufkrawall
15th February 2015, 11:45
CUVID is special since it uses CUDA, which always forces the GPU into max performance mode for the best performance.
Almost. At least with Maxwell 2, memory doesn't run with full clock in CUDA P2 state.
But not very relevant regarding energy consumption.
With GTX 960, HEVC decoding is still ALU-hybrid? Or just with 10 bit?
Gravitator
15th February 2015, 12:31
Can make a binding decoder to the format? I need to H.264 through CUDA, and H.265 through DXVA2 (priority decoder/format).
nevcairiel
15th February 2015, 13:13
With GTX 960, HEVC decoding is still ALU-hybrid? Or just with 10 bit?
Both 8 and 10-bit are 100% decoded by a dedicated ASIC on the GTX 960.
aufkrawall
15th February 2015, 19:32
That's good. Do you also know if H.264 decoding has become faster?
afair, with GM204 it's still slower than Haswell (e.g. too slow for 4k lossless).
nevcairiel
15th February 2015, 19:47
Lossless decoding is not supported in hardware on any device.
The speed is the same however, around 80-90 fps on complex H264 4K.
aufkrawall
15th February 2015, 19:50
Ah, yes. File has crf 1, not 0.
Deihmos
16th February 2015, 00:18
I normally just install the splitter. The new version .64 fails with an error. I am using win 8.1 64bit. It installed fine if I install all the filters but I only use the splitter.
https://dl.dropboxusercontent.com/u/61945547/Capture.PNG
nevcairiel
16th February 2015, 01:15
I normally just install the splitter. The new version .64 fails with an error. I am using win 8.1 64bit. It installed fine if I install all the filters but I only use the splitter.
https://dl.dropboxusercontent.com/u/61945547/Capture.PNG
Fixed the dependencies in the installer for the next version.
Deihmos
16th February 2015, 01:16
Thanks. I will look out for the next version.
sdancer75
16th February 2015, 09:17
I created an async AVI source filter that works just fine with the original avi splitter but with the LavSplitter I get some incompatibilities.
This means, that under graphedit, the graph is not starting at all, but if I scroll forward the graphedit progress bar then it plays just fine.
Can you recommend anything to change inside my code ? I am attaching you my source filter.
Best Regards,
PS:Where to see inside your LavSplitterSource to change the offset (in bytes) from the start of the input video file ?
eddman
16th February 2015, 17:54
Both 8 and 10-bit are 100% decoded by a dedicated ASIC on the GTX 960.
What?! I didn't expect that. I thought only tegra X1 had 10-bit support. Now that's a nice surprise.
Is that for h.265 only?
P.J
17th February 2015, 20:34
The most you can do is change the mixing levels from 0.71 to 1.0. Otherwise you'll need something like ffdshow.
It doesn't work, think I have to leave LAV Audio :(
huhn
17th February 2015, 20:48
nearly all player have this option.
mpc-HC and BE have audio boost. AC3 filter has DRC function.
all can destroy audio quality by the way...
iSunrise
17th February 2015, 23:00
What?! I didn't expect that. I thought only tegra X1 had 10-bit support. Now that's a nice surprise.
Is that for h.265 only?
Tegra X1 is documented to have a 4K60fps decoder (http://images.anandtech.com/doci/8811/Tegra%20X1%20Spec.PNG), while the decoder on GM206 seems even more powerful. Both need to support HEVC 10-bit, because it apparently was designed to meet the new Ultra HD Blu-ray standard.
ryrynz
18th February 2015, 09:01
I've found partially downloaded MKV files to continue playing audio but not refresh video when it continues to the next downloaded piece in the file.
Changing the video window size in any manner will force a refresh of the video and it displays normally, could LAV detect that the video has been interrupted and refresh itself automatically?
foxyshadis
18th February 2015, 09:05
Anyway to boost the volume in stereo ac3 tracks? PowerDVD can do it very well but LAV Audio :(
Use ffdshow with only raw audio processor installed, it'll run after LAV. You can do whatever you want to the sound then.
This is the way it SHOULD be done, and it's only not because Directshow is a PITA and players don't cooperate to make it simpler (or handle it all themselves), so everyone wants all the functionality built into a single filter. There are tons of audio processing filters out there, most non-free, but ffdshow has a lot of basic capabilities.
yonta
18th February 2015, 10:20
Starting from v1.7.7.174 mpc-hc crashes on some youtube vp9 webm files. It's not only mpc-hc's problem because latest mpc-be/mplayer/mpv all crash on the same files. I've found the last working mpc-hc version is v1.7.7.157.
sample (https://drive.google.com/file/d/0B1mCVSSmbT2LcW9pajdYMGFtX1E/view?usp=sharing)
eddman
18th February 2015, 14:36
Tegra X1 is documented to have a 4K60fps decoder (http://images.anandtech.com/doci/8811/Tegra%20X1%20Spec.PNG), while the decoder on GM206 seems even more powerful. Both need to support HEVC 10-bit, because it apparently was designed to meet the new Ultra HD Blu-ray standard.
Yes, I knew about the X1.
I also knew that GM206's HW decoder supports h.265, it's just that nvidia didn't mention 10-bit support.
Thanks for the info about Ultra HD blu-ray.
I just wonder if it supports 10-bit HW decoding for h.264 too, but since commercial hardware stick to the first version of codecs apparently, perhaps not, which is a shame.
nevcairiel
18th February 2015, 14:38
I just wonder if there is 10-bit decoding for h.264 too, but since commercial hardware stick to the first version of codecs, perhaps not, which is a shame.
Commercial Hardware sticks to codecs with commercial interest, and there is absolutely zero commercial content in H.264 10-bit, so there is no logic in supporting that.
wanezhiling
18th February 2015, 16:06
So the native dxva decoder for h.265 10-bit will never be implemented before microsoft makes some changes?
huhn
18th February 2015, 19:28
So the native dxva decoder for h.265 10-bit will never be implemented before microsoft makes some changes?
maybe with madVR.
but very unlikely we see it with directshow EVR.
maybe media foundation EVR can do it but that would mean all directshow filter needs to be rewritten for media foundation very unlikely any time soon.
sdancer75
19th February 2015, 10:11
I created an async AVI source filter that works just fine with the original avi splitter but with the LavSplitter I get some incompatibilities.
This means, that under graphedit, the graph is not starting at all, but if I scroll forward the graphedit progress bar then it plays just fine.
Can you recommend anything to change inside my code ? I am attaching you my source filter.
Best Regards,
PS:Where to see inside your LavSplitterSource to change the offset (in bytes) from the start of the input video file ?
Problem found ! The problem with the original code, was the check of the pllAvailable variable.
So, the original code, returns zero (0) for the pllAvailable all the time.
Mysteriously, AVISplitter handled somehow this error, and it worked just fine.
HRESULT CAsyncIo::Length(LONGLONG *pllTotal, LONGLONG *pllAvailable) {
CheckPointer(pllTotal,E_POINTER);
HRESULT hr = S_OK;
LONGLONG llAvailable = 0;
hr = m_pStream->Length(pllTotal, &llAvailable);
// *pllAvailable can be NULL.So dont pass anything if pointer does not exist
if (pllAvailable != NULL) /* original code if (*pllAvailable) returns always false */
*pllAvailable = llAvailable;
//Despite of the original error, it worked just fine with AVISplitter but not
//with the LavSplitter
return hr;
}
Nintendo Maniac 64
20th February 2015, 09:14
So uh, question - I'm using the newest LAV v0.64 in MPC-HC 64bit v1.7.8 and I'm wondering how do I take advantage of the super-low CPU-usage mode or whatever in DXVA2 copy-back? I'm using a stock MPC-HC and I get pretty much the same CPU utilization on QuickSync as I do copy-back while native is much lower...
Do I need an HSA/hUMA compatible AMD APU or something to take advantage of the super-efficient DXVA2 copy-back? For refreence my CPU is a Pentium G3258 and my GPU is the integrated Intel Haswell graphics.
I've been testing with the 1080p 60fps h.264 version of this YouTube video:
https://www.youtube.com/watch?v=5I-nQtsJuhE
Starting from v1.7.7.174 mpc-hc crashes on some youtube vp9 webm files. It's not only mpc-hc's problem because latest mpc-be/mplayer/mpv all crash on the same files. I've found the last working mpc-hc version is v1.7.7.157.
sample (https://drive.google.com/file/d/0B1mCVSSmbT2LcW9pajdYMGFtX1E/view?usp=sharing)
No crash over here on MPC-HC v1.7.8 + LAVFilters v0.64, and that's in both the 32bit and 64bit versions.
Also that's the first video I've ever seen where it being recorded vertically makes more sense (at that distance recording horizontally would have resulted in cropped off head or legs)
NikosD
20th February 2015, 12:58
So uh, question - I'm using the newest LAV v0.64 in MPC-HC 64bit v1.7.8 and I'm wondering how do I take advantage of the super-low CPU-usage mode or whatever in DXVA2 copy-back? I'm using a stock MPC-HC and I get pretty much the same CPU utilization on QuickSync as I do copy-back while native is much lower...
Do I need an HSA/hUMA compatible AMD APU or something to take advantage of the super-efficient DXVA2 copy-back? For refreence my CPU is a Pentium G3258 and my GPU is the integrated Intel Haswell graphics.
I've been testing with the 1080p 60fps h.264 version of this YouTube video:
https://www.youtube.com/watch?v=5I-nQtsJuhE
Using a Win 8.1 Pro x64 system with HD 4600 (Core i7-4790), I can't see a real difference between QS and DXVA-CBD for that clip during playback mode.
When I measured normal playback, CPU utilization was about the same, just like Power consumption.
If you push the test to the limits by doing some benchmark test in Playback mode, then you 'll see that CPU utilization using QS decoder is 3 times more than DXVA-CBD.
And the power consumption is about 50% more, with only 10% faster framerate for QS.
So, it sure works.
No crash over here on MPC-HC v1.7.8 + LAVFilters v0.64, and that's in both the 32bit and 64bit versions.
Also that's the first video I've ever seen where it being recorded vertically makes more sense (at that distance recording horizontally would have resulted in cropped off head or legs)
It's crashing for me too ,like the original poster.
bcec
20th February 2015, 18:48
If I want MadVR to be the one performing chroma conversion for 4:2:0 sources to 4:4:4, what should I select in Lav Decoder options?
Currently, I have everything checked in Output Formats, and RGB Output Levels is set to Untouched.
detmek
20th February 2015, 19:17
Leave as it is. LAV Video decoder will always output same colorspace format as long as render can accept it. Since madVR accepts 4:2:0 LAV Video decoder will output 4:2:0 if it is a source colorspace/color subsample format.
RGB output levels are only used if LAV Video decoder converts source format to RGB. Else, it does nothing.
bcec
20th February 2015, 23:22
Leave as it is. LAV Video decoder will always output same colorspace format as long as render can accept it. Since madVR accepts 4:2:0 LAV Video decoder will output 4:2:0 if it is a source colorspace/color subsample format.
RGB output levels are only used if LAV Video decoder converts source format to RGB. Else, it does nothing.
Thank you!
Nintendo Maniac 64
21st February 2015, 05:41
If you push the test to the limits by doing some benchmark test in Playback mode, then you 'll see that CPU utilization using QS decoder is 3 times more than DXVA-CBD.
Ok, that's great and all, but what does "push the test to the limits" mean? A 4k 60fps video?
It's crashing for me too ,like the original poster.
Ok, but what version of MPC-HC and LAVFilters are you using?
Aleksoid1978
21st February 2015, 05:50
Hi nevcairiel.
I buy GTX 960, test LAV Video Decoder on HEVC 10bit, then modify MPC-BE's video decoder. And ... perfect work DXVA HEVC 10bit, EVR Custom accept P010 DXVA input.
Here test build - http://aleksoid.voserver.net/MPC-BE/mpc-be.exe_DXVA_HEVC_4K_10Bit.7z
NikosD
21st February 2015, 08:22
Ok, that's great and all, but what does "push the test to the limits" mean? A 4k 60fps video?
Pushing to the limit, depends on the system - CPU and GPU.
For example, it means go in benchmark mode.
In real life, means something more difficult than that clip - which has a very low bitrate btw.
Ok, but what version of MPC-HC and LAVFilters are you using?
1.7.8.61 and 0.64
huhn
21st February 2015, 12:31
Hi nevcairiel.
I buy GTX 960, test LAV Video Decoder on HEVC 10bit, then modify MPC-BE's video decoder. And ... perfect work DXVA HEVC 10bit, EVR Custom accept P010 DXVA input.
Here test build - http://aleksoid.voserver.net/MPC-BE/mpc-be.exe_DXVA_HEVC_4K_10Bit.7z
is it supposed to accept P010 from software decoder too or only from DXVA?
MrC
22nd February 2015, 15:55
Hi nevcariel,
first of all thanks for the new 0.64 release.
Do you see any possibility to implement the 5.0 audio channels configuration support in the future?
http://forum.doom9.org/showthread.php?p=1701021#post1701021
Thanks in advance
;)
Bye
RealSnoopyDog
22nd February 2015, 17:38
@nev: You should change the release date in the first post to 2015 ;)
Changelog
0.64.0 - 2016/02/13 - Release Notes
DragonQ
22nd February 2015, 22:17
Hi nevcariel,
first of all thanks for the new 0.64 release.
Do you see any possibility to implement the 5.0 audio channels configuration support in the future?
http://forum.doom9.org/showthread.php?p=1701021#post1701021
Thanks in advance
;)
Bye
What's the reason for requiring this? Can you not just set it to 5.1 and then tell either your AVR or Windows that you don't have a subwoofer?
foxyshadis
23rd February 2015, 02:07
What's the reason for requiring this? Can you not just set it to 5.1 and then tell either your AVR or Windows that you don't have a subwoofer?
I'm sure he wants the LFE mixed into the speakers. I would just disable LAV's mixer and add ffdshow to the chain to transform into custom formats.
Nintendo Maniac 64
23rd February 2015, 06:50
I can finally confirm for myself that copy-back does indeed use less CPU than QuickSync, though you need something like 4k resolution to really see the difference in CPU utilization. Oddly enough though, 4k 60fps seems to run at around 30fps in copy-back but seems to do around 40fps in QuickSync (native DXVA2 can do the full 60fps).
Either way, it's still not lower than native DXVA2 - maybe that is what would require some HSA/hUMA capabilities? (I'm not on Kaveri, so...)
sheppaul
23rd February 2015, 07:02
Oddly enough though, 4k 60fps seems to run at around 30fps in copy-back but seems to do around 40fps in QuickSync
It means the actual performance of quicksync is better than copy-back regardless of cpu usage.
it's still not lower than native DXVA2
You must be joking. It's simply impossible to exceed DXVA2 as copy-back operation is occurring after DXVA2 decoding.
Nintendo Maniac 64
23rd February 2015, 07:17
You must be joking. It's simply impossible to exceed DXVA2 as copy-back operation is occurring after DXVA2 decoding.
Then what the heck is this guy smoking?
I did a quick test on DXVA copy-back between the last two versions 0.67 vs 0.64.
I used Core i7-4790 and iGPU HD 4600 in Playback Performance benchmark mode at 1280x720 on two HEVC files (1080p & 2160p)
The results are impressive.
Huge drop of CPU usage about 40% for 1080p with a slight increase in performance ~10%
Big drop of CPU usage about 30% for 4K with a significant 40% increase in performance!
DXVA native in Playback Performance uses more CPU than DXVA copy-back!
My question is if DXVA native could benefit from these optimizations, too.
Also, I've been throwing around HSA/hUMA regarding copy-back since it was the only way I could imagine the above to be remotely possible, but does LAV even have any HSA/hUMA optimizations in the copy-back decoder?
NikosD
23rd February 2015, 08:31
Then what the heck is this guy smoking?
That guy is not smoking at all.
You have to be more polite and understand what you read, before you make such statements.
You have to leave your Nintendo for a while and think by yourself, doing a lot of tests and rethink about them.
I've been doing tests before you were born and that statement of mine was and is absolutely right.
If you don't understand what I wrote or if you are unable to reproduce it, ask me.
Maybe, after my instructions, you will be able to verify it by yourself, like you did with CBD vs QS cpu utilisation.
Nintendo Maniac 64
23rd February 2015, 09:04
Look, I have two different people telling me two completely contradictory things - I'm just completely and utterly baffled as to how the heck such a contradictory situation between what NikosD says and and what sheppaul refutes is even possible.
This is why I said about smoking something, because at this rate it feels like I'm the one that's doped up. Please don't shoot the messenger when they don't even have the slightest clue what to believe.
Is this even real life?
NikosD
23rd February 2015, 10:07
Probably you are doped up, because I'm NikosD and it was me that replied you before.
They are not contradictory what I and sheppaul say.
They refer to different situations.
I wrote above that DXVA-CBD has lower cpu utilisation in Playback Performance, meaning during benchmark test.
Because benchmark test push the system to its limit, high performance decoder like DXVA native can cause higher CPU utilisation with HEVC decoder which is a hybrid decoder, meaning it uses CPU and GPU, not ASIC (because there is no ASIC inside Haswell capable of HEVC decoding)
So, using DXVA native with a hybrid HEVC decoder in benchmark Playback Performance mode, causes more CPU utilisation than DXVA-CBD in the same test situation.
Is it clear now ?
You can test it on your own, to verify it.
ajp_anton
23rd February 2015, 14:07
Just to clarify, because I'm also seeing the contradiction.
Not knowing what "benchmark Playback Performance mode" is, going by its name I'm guessing that it runs it as fast as it can, and DXVAn causes higher CPU usage because it also achieves higher performance. But if it were that simple, you would've just said it...?
NikosD
23rd February 2015, 14:21
Yes, I'm talking about DXVA checker used in benchmark mode for playback and no it's not that simple because the previous version of Copy-Back before direct mode, had higher cpu utilisation on the same benchmark conditions than DXVA native.
P.J
23rd February 2015, 15:46
Use ffdshow with only raw audio processor installed, it'll run after LAV. You can do whatever you want to the sound then.
This is the way it SHOULD be done, and it's only not because Directshow is a PITA and players don't cooperate to make it simpler (or handle it all themselves), so everyone wants all the functionality built into a single filter. There are tons of audio processing filters out there, most non-free, but ffdshow has a lot of basic capabilities.
Thanks, but even WMP has this 3 options for Dolby Digital:
http://i.imgur.com/xknhMEX.jpg
http://i.imgur.com/M2zBh1V.png
vuquanghai
23rd February 2015, 18:21
Hi. I installed lav filter 0.63. How can i update to 0.64? Just download 0.64 setup file and install it or anything else?
One more question: Should i use lav splitter source or spliter?
Thank you guys!
Asmodian
23rd February 2015, 20:27
Thanks, but even WMP has this 3 options for Dolby Digital:
WMP is not be used as an example of how things should be done.
Just download 0.64 setup file and install it
Yes :)
One more question: Should i use lav splitter source or spliter?
What does an auto generated graph use?
DragonQ
24th February 2015, 01:21
I'm sure he wants the LFE mixed into the speakers. I would just disable LAV's mixer and add ffdshow to the chain to transform into custom formats.
Which is easily done by telling Windows you have full range front speakers and no subwoofer, or leaving it to your AVR, as I suggested.
foxyshadis
24th February 2015, 03:19
Which is easily done by telling Windows you have full range front speakers and no subwoofer, or leaving it to your AVR, as I suggested.
Huh, I didn't know the Windows mixer was that smart, I thought it just dropped the LFE. Nice!
Thanks, but even WMP has this 3 options for Dolby Digital:
And limiting it to Dolby Digital is a stupid artifact of putting it in the decoder, since it's just as useful for AAC, DTS, LPCM and every other format.
Try DC-DSP (http://www.dsp-worx.de/?n=4), it has a full-featured Compressor, and presets so you can have easy access (32-bit only right now).
LigH
24th February 2015, 08:49
And limiting it to Dolby Digital is a stupid artifact of putting it in the decoder, since it's just as useful for AAC, DTS, LPCM and every other format.
Well, at least Dolby Labs defined its behavior in specs. And DD audio streams may include metadata to support it. I don't remember other audio formats being prepared for that. So it may only be the kind of limiter or compressor the author of the player implemented.
bjd
25th February 2015, 12:34
v0.64.0 : Getting broken garbled playback on several 1440x1080 H265 (4:3 AR) files when using either DXVA mode on Nvidia GT640 - Cuvid and software fine. Will try and post a sample
bjd
26th February 2015, 13:31
Sample (http://www.filedropper.com/sample_9)
Seems to be only 1440x1080p on DXVA with an issue
nevcairiel
26th February 2015, 13:46
v0.64.0 : Getting broken garbled playback on several 1440x1080 H265 (4:3 AR) files when using either DXVA mode on Nvidia GT640 - Cuvid and software fine. Will try and post a sample
Seems like a NVIDIA bug to me. The hardware decoder on the GTX 960 handles it fine, so its only the hybrid decoder.
The DXVA2 spec says that surfaces should be aligned to 128 pixels, which is what my decoder does, but somehow that causes the NVIDIA Hybrid decoder to fail.
bjd
26th February 2015, 14:47
Seems like a NVIDIA bug to me. The hardware decoder on the GTX 960 handles it fine, so its only the hybrid decoder.
The DXVA2 spec says that surfaces should be aligned to 128 pixels, which is what my decoder does, but somehow that causes the NVIDIA Hybrid decoder to fail.
Thanks for the feedback, it is odd that Cuvid handles it ok if its a hybrid decoder issue.
rd1979
3rd March 2015, 02:12
Hi nevcairiel.
I buy GTX 960, test LAV Video Decoder on HEVC 10bit, then modify MPC-BE's video decoder. And ... perfect work DXVA HEVC 10bit, EVR Custom accept P010 DXVA input.
Here test build - http://aleksoid.voserver.net/MPC-BE/mpc-be.exe_DXVA_HEVC_4K_10Bit.7z
What did you test with? A 4k 10bit HEVC sample.............. I wish I had one of those.
;)
Aleksoid1978
3rd March 2015, 05:37
What did you test with? A 4k 10bit HEVC sample.............. I wish I had one of those.
;)
It's test build. Now in svn fully working decoder with support HEVC 10bit DXVA(work only with EVR Custom/EVR Sync renderers).
stax76
3rd March 2015, 19:15
How does cuvid compare to other modes using a GTX 960? Cuvid and DXVA copy back were fastest using DirectShowSource but DXVA copy back failed to work with several 4k HEVC test samples so I would like to settle with cuvid, I have one problem though, with a couple of TS files there are macroblocks shortly after seeking, here is a 300 MB sample to reproduce this:
http://1drv.ms/1BDzVuB
card: GTX 960
splitter: LAV Filters
decoder: LAV Filters cuvid
General
Audio_Codec_List : MPEG-1 Audio layer 2
Audio_Language_List : German
Codec/String : MPEG-TS
Video
Count : 297
StreamCount : 1
StreamKind : Video
StreamKindID : 0
StreamOrder : 0-0
ID : 6010
MenuID : 28396
Format : AVC
Format_Profile : Main@L4.0
Format_Settings : CABAC / 5 Ref Frames
Format_Settings_GOP : M=16, N=32
Codec : AVC
Codec_Profile : Main@L4.0
Codec_Settings : CABAC / 5 Ref Frames
Codec_Settings_CABAC : Yes
Codec_Settings_RefFrames : 5
Duration/String5 : 00:03:37.300 (00:03:37:15)
BitRate_Mode : VBR
BitRate_Mode/String : Variable
BitRate/String : 11.7 Mbps
BitRate_Maximum/String : 12.0 Mbps
Width/String : 1 280 pixels
Height/String : 720 pixels
PixelAspectRatio : 1.000
DisplayAspectRatio : 1.778
DisplayAspectRatio/String : 16:9
FrameRate/String : 50.000 fps
FrameCount : 10865
Resolution/String : 8 bits
Colorimetry : 4:2:0
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
ScanType : Progressive
Interlacement : PPF
Interlacement/String : Progressive
Bits-(Pixel*Frame) : 0.255
Delay : 52990724.311
Delay/String1 : 14h 43mn 10s 724ms
Delay/String3 : 14:43:10.724
Delay_Source : Container
StreamSize : 318692352
StreamSize/String : 304 MiB (93%)
StreamSize_Proportion : 0.92578
BufferSize : 14880000
colour_description_present: Yes
colour_primaries : BT.709
transfer_characteristics : BT.709
matrix_coefficients : BT.709
colour_range : Limited
nevcairiel
3rd March 2015, 19:19
I don't recommend using CUVID, as its a black box controlled by the NVIDIA driver, and there is nothing any of us can do to fix it.
If you have any issues with DXVA2 for HEVC, especially in Copy-Back, please report the problems you're having instead.
stax76
3rd March 2015, 19:36
here you go: https://www.dropbox.com/s/8zwrjqs3c2oulwf/HEVC%20-%20elecard%20city%202.mkv?dl=0
nevcairiel
3rd March 2015, 19:56
here you go: https://www.dropbox.com/s/8zwrjqs3c2oulwf/HEVC%20-%20elecard%20city%202.mkv?dl=0
That file seems to play just fine using DXVA2-CopyBack on my GTX 960.
Did you try the latest nightly build?
http://files.1f0.de/lavf/nightly/
stax76
3rd March 2015, 20:25
Sorry, didn't know there are nightly builds, I got one that plays with cuvid but not with DXVA, not with the MPC build from above and not with the new VLC version:
http://trailers.divx.com/hevc/TearsOfSteel_4K_24fps_9500kbps_2aud_9subs.mkv
IIRC neuron2 said many good things about cuvid and support from nvidia, do you have a idea what could be the problem with the macroblocks? It happens only with TS files.
nevcairiel
3rd March 2015, 20:45
I don't have the time or patience to try to deal with a corporate machine to try to get support, its easier to simply fix bugs myself in my own code. On top of that CUVID doesn't offer any inherent advantages, in fact it has a couple disadvantages built into its design, so in the end its easier for me and better for everyone if I can just get DXVA2 to be as perfect as possible. :)
stax76
3rd March 2015, 21:04
I'll stick to DXVA copy back then, thanks for the support.
nevcairiel
3rd March 2015, 21:10
Fixed the ToS DivX clip. I do however believe it was encoded with a old version of the encoder, and has some incomplete data, so its not technically valid - but nothing important was missing, so I could just relax an error check.
stax76
3rd March 2015, 21:38
Thanks again!
rd1979
4th March 2015, 01:49
It's test build. Now in svn fully working decoder with support HEVC 10bit DXVA(work only with EVR Custom/EVR Sync renderers).
I mean the 10bit HEVC video itself............
I have no such samples.
Aleksoid1978
4th March 2015, 02:47
I mean the 10bit HEVC video itself............
I have no such samples.
http://www.demo-uhd3d.com/categorie.php?tag=10bits
ddjmagic
4th March 2015, 15:52
Quick question about forced subtitles and LAV Splitter. I have a BD with the following English subtitle layout:
Track 1 - English SDH
Track 2 - English standard (this track also has the forced subtitle mixed in/hidden)
I have LAV subtitle selection mode set to "Only Forced Subtitles" I have 'Deliver only Forced Subtitles' unchecked/disabled.
It seems that LAV only creates a new selectable forced subtitle track for the first subtitle. Only the full subtitle track is selectable on the second track.
Is there a way of selecting the forced subtitle from the second track or is the only way to enable the "Deliver only Forced Subtitle" option?
That works fine, but then obviously the full subtitle can not be selected.
sneaker_ger
4th March 2015, 16:05
It seems in this case (multiple tracks of the same language and you don't want the first) "Deliver only Forced Subtitle" is the only way.
clsid
4th March 2015, 16:54
Thanks, but even WMP has this 3 options for Dolby Digital:
http://i.imgur.com/xknhMEX.jpg
http://i.imgur.com/M2zBh1V.png
There even is a special laptop mode that applies a 11dB gain.
http://support.microsoft.com/kb/944436
QBhd
4th March 2015, 17:31
Quick question about forced subtitles and LAV Splitter. I have a BD with the following English subtitle layout:
Track 1 - English SDH
Track 2 - English standard (this track also has the forced subtitle mixed in/hidden)
I have LAV subtitle selection mode set to "Only Forced Subtitles" I have 'Deliver only Forced Subtitles' unchecked/disabled.
It seems that LAV only creates a new selectable forced subtitle track for the first subtitle. Only the full subtitle track is selectable on the second track.
Is there a way of selecting the forced subtitle from the second track or is the only way to enable the "Deliver only Forced Subtitle" option?
That works fine, but then obviously the full subtitle can not be selected.
I had a similar thing recently, first two sub tracks were ENG... but the first had no forced subs (and as such nothing was delivered), the second had the forced subs (for foreign languages)... All I did was switch to the second sub track and voila, all was well (only forced subs delivered). Without a full scan of all the subs to see which ones have forced in them, I don't see a solution to these rare occurrences.
QB
ddjmagic
4th March 2015, 18:33
I had a similar thing recently, first two sub tracks were ENG... but the first had no forced subs (and as such nothing was delivered), the second had the forced subs (for foreign languages)... All I did was switch to the second sub track and voila, all was well (only forced subs delivered). Without a full scan of all the subs to see which ones have forced in them, I don't see a solution to these rare occurrences.
If I switch to the second English track I only get the full subtitle and not just the forced parts, unless I enable the "Deliver only Forced Subtitles" option, then it works fine (but full subtitle then isn't selectable)
I'm guessing this must be by design in LAV, so you don't have too many selectable subtitles, which could get messy.
There even is a special laptop mode that applies a 11dB gain.
http://support.microsoft.com/kb/944436
Works on Windows 8.1 too?
I have even tried the Microsoft DTV-DVD Audio Decoder without registry change and it's quite louder than LAV :confused:
JMThomas
4th March 2015, 23:00
Windows Media Center & Media Player can't adjust the audio delay to correct sound synchronization problems. This has been an issue since Day One.
I needed to create a negative delay (put the picture behind the sound), something my AV Receive can not do for me.
My first try used Shark007's Advanced Codec Settings http://shark007.net/win7codecs.html to reach the LAV Audio Configuration page to set the delay and make sure LAV was the active splitter.
After more Google-ing, I did the obvious and looked in the LAV Filters start-up folder for the LAV Audio Configuration icon.
Details of my quest are here: http://www.thegreenbutton.tv/forums/viewtopic.php?p=86835#p86835.
:thanks: to LAV!
Stereodude
5th March 2015, 04:13
Quick question about forced subtitles and LAV Splitter. I have a BD with the following English subtitle layout:
Track 1 - English SDH
Track 2 - English standard (this track also has the forced subtitle mixed in/hidden)
I have LAV subtitle selection mode set to "Only Forced Subtitles" I have 'Deliver only Forced Subtitles' unchecked/disabled.
It seems that LAV only creates a new selectable forced subtitle track for the first subtitle. Only the full subtitle track is selectable on the second track.
Is there a way of selecting the forced subtitle from the second track or is the only way to enable the "Deliver only Forced Subtitle" option?
That works fine, but then obviously the full subtitle can not be selected.
Either LAV or MPC-HC needs to properly parse the playlists on Blu-ray discs so that the proper streams are selected (like commercial players do). I've previously mentioned this and was told the specs or format information for parsing the playlists is not publicly available.
nevcairiel
5th March 2015, 10:16
Either LAV or MPC-HC needs to properly parse the playlists on Blu-ray discs so that the proper streams are selected (like commercial players do). I've previously mentioned this and was told the specs or format information for parsing the playlists is not publicly available.
The playlists do not contain such information.
The "proper selection" works through the interactive menus, which is not something you can just parse and find out, you need to execute the full interactive menus and let the user choose the streams to get it right, which is not something thats feasible, obviously.
ddjmagic
5th March 2015, 12:31
I understand that it not possible to automatically select the right track options without menu/user input.
I don't mind switching subtitle tracks at all, but the forced section of the track in question is not selectable without adjusting LAV settings (then the full track is not selectable)
It seems that the forced data for English track 1 is actually empty - nothing is ever shown during playback and during test processing MakeMKV deletes the forced track (turns out to be empty)
Is it possible for LAV to tell if the forced track is empty or would this require much deeper processing?
LigH
5th March 2015, 12:56
I guess there is this usual misunderstanding about the term "forced"... but I don't know the situation on Blu-ray disks. From the DVD Video I do remember:
Subtitle tracks can be both (non-exclusive)
a: selected (and possibly pre-selected by the authored menu logic, selecting no track at all is possible on DVD Video);
b: enabled (and possibly pre-enabled/disabled by the authored menu logic).
Single subtitles in a track can be either (mutually exclusive)
a: normal (to be displayed when a track is both selected and enabled);
b: forced (to be displayed when a track is selected, even if the track is disabled).
So if you set up a splitter/decoder to display only the few forced subtitles in a track, you won't see any subtitles if you selected and disabled a track which does not contain any forced, but only normal subtitles.
If I understand your intentions, you would prefer in such a case that the splitter selects the next track of the same language if the pre-selected track does not contain any forced subtitle? Hard to achieve, because it won't know if any of the subtitles will be forced unless the whole movie is scanned. At least that would be the case for a DVD Video. Not sure about Blu-ray.
ddjmagic
5th March 2015, 13:18
From what I've seen on Blu-ray. There are a couple of different types of forced subtitles:
1. Completely separate track (which is impossible to tell without the menu because it is not marked as such)
2. Forced subtitle is mixed in with the main subtitle track (which LAV can figure out what part is forced and make a selectable forced track)
The disc in question is the second type, but because it is the second track, LAV doesn't create a selectable forced subtitle (even though it can/could).
Stereodude
5th March 2015, 17:56
The playlists do not contain such information.
The "proper selection" works through the interactive menus, which is not something you can just parse and find out, you need to execute the full interactive menus and let the user choose the streams to get it right, which is not something thats feasible, obviously.
Are you sure it's a function of the menus? Movie only discs made with TSmuxer that have no menus can have setstream commands inserted with BDEdit that will change the streams that are used for playback. What prevents LAV or MPC-HC from honoring those commands? I will admit that I don't know if those commands are in the playlists or the clpi file or some other part of the blu-ray structure.
nevcairiel
5th March 2015, 18:13
Just because the menu doesn't actually show any menu doesn't really change anything. Its a fully programmable logic running in a virtual machine, the BDMV, you can't just "parse" that, you need to execute it, and thats not going to give you the information you want.
You are free to write code to prove me wrong, however. =)
Stereodude
5th March 2015, 18:36
From what I've seen on Blu-ray. There are a couple of different types of forced subtitles:
1. Completely separate track (which is impossible to tell without the menu because it is not marked as such)
2. Forced subtitle is mixed in with the main subtitle track (which LAV can figure out what part is forced and make a selectable forced track)
The disc in question is the second type, but because it is the second track, LAV doesn't create a selectable forced subtitle (even though it can/could).
The soft subtitles in type 1) may be flagged in the PGS stream as forced. They may not. However for proper playback of the disc this PGS "track" should chosen and used for playback by default. Currently LAV and MPC-HC can't handle this.
The soft subtitles in type 2) are individually flagged in the PGS stream as forced.
The problem as you've noted for some discs with forced subtitles of type 2) is that the PGS stream with the individually flagged forced subtitles isn't necessary the first PGS "track" of that language in the m2ts so LAV basically selects and watches for individually flagged subtitles in a PGS stream that has none. This seems most common when a disc has both captions (for the hearing impaired) and subtitles. The closed caption track generally will be the first one since it will have non spoken indicators of music or sounds prior to any spoken words that would require subtitles.
I previously requested that LAV "watch" more than the first PGS stream of the chosen language for individually flagged forced subtitles. nevcairiel indicated that was possible, but wasn't a high priority.
This is not a slam at nevcairiel or anyone else in the open source community, but I'm a little surprised that it's been almost 9 years since Blu-Ray appeared on the scene and there no open source solution that can properly play the movie from a decrypted disc (in terms of selecting the right streams, etc). I somewhat regularly find myself interrupting the movie I'm watching to check all the English subtitle tracks to see if there are subtitles I should be seeing but aren't for the spoken foreign language I'm hearing.
I previously paid for and used TMT5, but it won't bitstream audio with my most recent video card (Radeon 7790), and the image quality doesn't measure up to madVR and has subsequently been abandoned / discontinued. So now I'm using MPC-HC + LAV + madVR. This means I either check all the subtitle tracks when I think I'm missing them interrupting playback, I use something like eac3to ahead of time to extract all the English subtitles from the movie so I can figure out if any of them have forced subtitles I should see so I can manually select them for use at the start of playback, or remux the disc so LAV finds them in the first track an they're individually flagged as forced.
Stereodude
5th March 2015, 18:41
Just because the menu doesn't actually show any menu doesn't really change anything. Its a fully programmable logic running in a virtual machine, the BDMV, you can't just "parse" that, you need to execute it, and thats not going to give you the information you want.
You are free to write code to prove me wrong, however. =)
Isn't that what the libbluray effort is all about? I've read (but not tried it) that the latest versions of VLC have menu support.
nevcairiel
5th March 2015, 18:43
This is not a slam at nevcairiel or anyone else in the open source community, but I'm a little surprised that it's been almost 9 years since Blu-Ray appeared on the scene and there no open source solution that can properly play the movie from a decrypted disc (in terms of selecting the right streams, etc). I somewhat regularly find myself interrupting the movie I'm watching to check all the English subtitle tracks to see if there are subtitles I should be seeing but aren't for the spoken foreign language I'm hearing.
Commercial players really also cannot do that like you suggest.
What the commercial players do is use the BDMV or Java stuff to do this, which means they use the Menu. Some discs may not have a menu, but they do have BDMV/Java logic, which is just a small program in itself which sends commands.
There are some solutions for Blu-ray menus in the open source now, you might be able to use those.
But that also means you always get the menu, there is no middleground of knowing the streams but not showing a menu. Honestly, I prefer not having to wait through the menu loading, using some animated thingy to navigate around, having to skip over a bunch of trailers, instead I prefer instant playback. But then I also rip 99% of my discs before I ever watch them, and solve the subtitle problem that way.
stax76
5th March 2015, 18:50
Isn't that what the libbluray effort is all about? I've read (but not tried it) that the latest versions of VLC have menu support.
I tried it without success.
ddjmagic
5th March 2015, 19:51
nevcairiel - Could LAV splitter have an option to create the addition subtitle track for all tracks that match the preferred language? (from the language code)
jkauff
6th March 2015, 18:49
This is not a slam at nevcairiel or anyone else in the open source community, but I'm a little surprised that it's been almost 9 years since Blu-Ray appeared on the scene and there no open source solution that can properly play the movie from a decrypted disc (in terms of selecting the right streams, etc). I somewhat regularly find myself interrupting the movie I'm watching to check all the English subtitle tracks to see if there are subtitles I should be seeing but aren't for the spoken foreign language I'm hearing.
JRiver Media Center somehow manages to find the correct forced subtitles in a Blu-ray folder. Matt, one of the head developers, told me he wrote some custom subtitle-handling code a couple of years ago. I have no idea what he did, but it works.
FireFreak111
7th March 2015, 01:47
I was just wondering what the plans are for DTS-HD decoding? Is the DLL method the intended plan for the foreseeable future? is FFMPEG planning on a decoder any time soon?
With the move to 64 bit, and the faster HEVC performance in 64 bit, the DLL will not be a possibility anymore.
videonerd
9th March 2015, 16:09
Lavfilters seem to be the de facto splitter e.g. mpc hc, mpdn, mpc be etc. Now why is it that WMV seeking is not fixed? Is it too complex of an issue to fix? I am just wondering because all other apps out there do it well e.g. vlc, mpc built in splitters, mpc be splitters, default wmv. So what exactly is the coding issue that the team is facing?
Don't get me wrong, the only reason I raise this is because lavfilters is awesome for everything else (just not WMV).
Any insights anyone?
LigH
9th March 2015, 16:48
Is there a general issue with all WMV files, or only with incomplete ones (without keyframe index)?
Did you activate "fast seeking" in MPC-HC (which jumps to the closest known keyframe, instead of decoding from the last known keyframe up to the seek position)?
nevcairiel
10th March 2015, 14:38
It could also help to provide sample files which don't seek properly (but do seek in other applications).
jkauff
11th March 2015, 14:27
I'm having a problem with QuickSync decoding in LAV. I only use it when I'm running Handbrake (I use CPU decoding normally), but when I do, maybe halfway through an MKV movie the audio and video suddenly lose sync by a lot--5 to 10 seconds. Closing MPC-HC and restarting usually fixes it, but only temporarily.
I don't know if this is a LAV problem, a bug in Eric Gur's code, an MPC-HC glitch, or an Intel driver issue.
Anyone else experienced this?
andyvt
11th March 2015, 14:32
I'm having a problem with QuickSync decoding in LAV. I only use it when I'm running Handbrake (I use CPU decoding normally), but when I do, maybe halfway through an MKV movie the audio and video suddenly lose sync by a lot--5 to 10 seconds. Closing MPC-HC and restarting usually fixes it, but only temporarily.
I don't know if this is a LAV problem, a bug in Eric Gur's code, an MPC-HC glitch, or an Intel driver issue.
Anyone else experienced this?
Have you tried using DXVA instead of QS? If so, is the behavior the same?
jkauff
11th March 2015, 18:58
Have you tried using DXVA instead of QS? If so, is the behavior the same?
I haven't tried it since DXVA still requires work by the CPU. Handbrake uses as much CPU as it can get, up to 100%.
nevcairiel
11th March 2015, 19:00
DXVA-CB uses less CPU than QS these days, and its much less buggy.
NikosD
11th March 2015, 19:09
I haven't tried it since DXVA still requires work by the CPU. Handbrake uses as much CPU as it can get, up to 100%.
DXVA-CB uses less CPU than QS these days, and its much less buggy.
QS uses CPU too, it's a copy-back mechanism and actually it uses more CPU than DXVA-CBD, like Nevcairiel said.
But QS has the advantage of being faster, sometimes a lot faster than the new DXVA-CBD.
There are no new bugs for QS.
Basically the old incompatibilities with .ts files and LAV splitter.
QS works better with Haali splitter.
starla
13th March 2015, 17:25
nevcairiel - Could LAV splitter have an option to create the addition subtitle track for all tracks that match the preferred language? (from the language code)
To mix things up a bit more some disks will have all audio and subtitle streams tagged as UNK. Only the BD-J / Java can select the "correct" stream as they know how to map the stream indices against languages. Not sure if this is some failed copy protection atempt or just a failure to produce valid content :)
romulous
15th March 2015, 03:03
Hi nev,
Can you enable support in LAV Video for the following subtype please?
{3253534D-0000-0010-8000-00AA00389B71}
Sample file:
https://dl.dropboxusercontent.com/u/105555957/madVR%20Screencast%20Issue.wmv (9.48MB)
Thanks!
leeperry
15th March 2015, 05:55
Hi nev, going back to this old post of mine (http://forum.doom9.org/showthread.php?p=1651001#post1651001) I was wondering if you were accepting feature requests?
1) an option to increase the cache of your splitter in order to be able to play untouched bluray from slow storage(optical, USB, network) as I have to force 65MB cache in HMS to play remuxed bluray from this cheapo BD reader because it's choppyland with LAV.
2) lipsync has been recently discussed in mVR's thread but at this point nobody wants to hear about settings to finetune it as madshi rejected the idea, so did Reclock's coder and your video decoder doesn't come with a delay option either :(
I use headphones to a USB DAC, I don't run a fancy AVR with delay settings and atm I'm forcing 28ms as an audio delay in ffdshow because that's the input lag figure a review of my TV measured(in every picture mode, not just gamer) but if I enable linear phase in my VST EQ plugin I have to delay the video so I must force ffdshow video between LAV and mVR for this purpose :o
Also, your 0.64 installer failed to register the filters on my W7SP1 x86 box in case you'd want logs, I had to use the zipped version.
:thanks:
e-t172
15th March 2015, 10:39
2) lipsync has been recently discussed in mVR's thread but at this point nobody wants to hear about settings to finetune it as madshi rejected the idea, so did Reclock's coder and neither of your A/V decoders come with a delay option :(
They do. See "Audio delay" in LAV Audio properties.
leeperry
15th March 2015, 15:32
OK my bad, actually I use ffdshow for audio as I need VST plugins support and it doesn't allow negative delay so if I enable linear phase in my EQ plugin I do need to add delay on the video side(due to the extra latency).
So a delay option in LAV video as well would be pretty sweet, exactly like ffdshow which allows both audio and/or video delay.
clsid
15th March 2015, 16:39
Or you use LAV Audio decoder in combination with ffdshow audio processor.
leeperry
15th March 2015, 17:39
True, but then I might as well use ffdshow video post-processing to add delay to the video. I guess my real problem is that ffdshow audio doesn't allow negative delay but it would make sense to me that both audio and video LAV decoders allow delay, much like ffdshow because some LAV users(such as me) need to add delay to the video without using LAV audio, it's not like both decoders have to be used together :o
nevcairiel
15th March 2015, 17:52
If an audio processor adds a processing delay/latency, then it should automatically compensate for it in the playback chain (which it easily can). If it doesn't, then it is fundamentally broken, and I'm not going to offer options to fix other broken software.
huhn
15th March 2015, 19:29
doesn't all proper player support audio delay/time shift? why is that not good enough or what am i missing?
STaRGaZeR
16th March 2015, 20:19
Am I reading this right? :)
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=217e4ff4d1f845b76e44634e29371cd09313d1c2
nevcairiel
16th March 2015, 21:10
Its quite buggy though, and contrary to the commit message not lossless.
However, there is another alternative, and the next LAV version will include full lossless DTS-HD MA decoding, regardless of that commit there. ;)
STaRGaZeR
16th March 2015, 21:45
Good news!
I noticed after posting that they even say that the output is not lossless in the changelog. Still, it's progress!
06_taro
17th March 2015, 03:25
Great news, DTS-HD is the only reason to use 32-bit players in LAVFilters' side. And the only pity in the chain would be madVR. I believe madshi has a timeline in his mind, to let us throw away all 32-bit stuffs. :)
madshi
17th March 2015, 12:32
However, there is another alternative, and the next LAV version will include full lossless DTS-HD MA decoding, regardless of that commit there. ;)
Ready for prime time? And something that could be used for eac3to, too?
nevcairiel
17th March 2015, 12:36
Ready for prime time? And something that could be used for eac3to, too?
https://github.com/foo86/dcadec
This project has really clean code, and he was very responsive to an issue I reported. It may not be 100% perfect yet, but its in a much better state than the libav decoder in any case, and the developer is still actively working.
madshi
17th March 2015, 12:47
Cool, having a fully featured "free" DTS decoder available would be awesome!
kalston
17th March 2015, 13:31
Omg, that's awesome news!
stax76
17th March 2015, 21:34
Is it correct that the Haali Splitter setup silently disables LAV Filters features? Isn't this very unfortunate for LAV Filters?
I'm asking because of software that rely on Haali splitter like eac3to, gdsmux/dsmux, TS-Doctor, ffms2 etc.
huhn
17th March 2015, 21:34
not sure if you need something special from pot player but with MPC-HC/BE you could use lav audio for decoding, ffdshow for processing and still use the build in time shift from the audio switcher/audio renderer.
and a new audio renderer for MPC-HC is coming "soon" too.
http://forum.doom9.org/showpost.php?p=1709247&postcount=1722
nevcairiel
17th March 2015, 21:36
Is it correct that the Haali Splitter setup silently disables LAV Filters features? Isn't this unfortunate for LAV Filters.
I'm asking because of software that rely on Haali splitter like eac3to, gdsmux/dsmux, TS-Doctor, ffms2 etc.
It doesn't "disable" them as such, it just puts itself into their place.
If you install LAV after Haali, it'll do the same. Both compete for similar functionality afterall, and only one source filter can be registered with DirectShow for each format.
Sparktank
17th March 2015, 21:43
https://github.com/foo86/dcadec
This project has really clean code, and he was very responsive to an issue I reported. It may not be 100% perfect yet, but its in a much better state than the libav decoder in any case, and the developer is still actively working.
This is wonderful news!
I was waiting for something like this to show up in the open-source world.
Really can't wait to see all the new updates from everyone. :goodpost:
leeperry
18th March 2015, 02:23
not sure if you need something special from pot player but with MPC-HC/BE you could use lav audio for decoding, ffdshow for processing and still use the build in time shift from the audio switcher/audio renderer.
Good point, anyway I've run more tests and it seems obvious that LAV's "Auto A/V Sync Correction" helps quite a lot IME when seeking while having Ozone5's GUI running on top of mVR, it doesn't completely avoid random desync when O5's GUI appears but it does seem to kick in and resync by itself rather quickly so all is well, all roads lead to Rome and sorry for the e-drama.
I'm more than ever impressed by what you can achieve with PotPlayer+mVR+LAV+ffdshow. Turns out Ozone5's linear phase EQ latency together with my TV input lag call for -262ms delay in LAV audio for perfect lipsync @24Hz, too good :)
:thanks:
Thunderbolt8
18th March 2015, 02:56
so I guess the only thing now missing is a free Dolby Atmos decoder?
LigH
18th March 2015, 06:54
That will quite certainly stay missing. Atmos relies on measuring the equipment to achieve optimal utilization.
xooyoozoo
18th March 2015, 10:32
That will quite certainly stay missing. Atmos relies on measuring the equipment to achieve optimal utilization.
Rendering to an "idealized" speaker system setup would probably also work. After all, that describes essentially every multichannel mix we've had to date. :)
I think the important part is getting a renderer that can map arbitrary objects at arbitrary points in a 3D space into (semi-customizable) loudspeaker positions. Unfortunately, that part is beyond what's usually expected of simple software decoders.
huhn
18th March 2015, 11:13
i guess we need new hardware to support the 32 channel HDMI 2.0 setup.
without that we can't even send a decoded DD atmos stream to a over 7.1 setup.
i guess this will happen some time in the future this is kinda like room correction software nothing totally new.
and headphone DD atmos is something that makes totally sense for a PC too and a full decoded stream is needed for this.
so i hope it will be added in the feature. but i guess bitstreaming will be the best way to deal with it.
Liandri
19th March 2015, 22:37
I'd like more options for sound mixing.
Right now, I can only choose between mono, stereo, 4.0, 5.1, 6.1 and 7.1.
I have a 5.1 headphones and some videos come with 5.1 channels, but in most of them I got a bad impression due to voices being too silent in 5.1 mode. So I prefer using stereo output.
I'm using KMPlayer and it has an internal "KMP Audio Codec" which has a lot of output options, including "2/0+sub; 2.1 stereo" option. In this mode, the output is stereo but also I really can feel the subwoofer (and I love it).
But with LAV Audio (which I'd really like to use as a main option) I can only set sound mixing to Stereo, with no subwoofer output. Setting to 5.1 only gives me an old result which I don't like.
tl;dr: I want "2.0+sub" output mode for sound mixing.
Pat357
20th March 2015, 00:55
I'd like more options for sound mixing.
Right now, I can only choose between mono, stereo, 4.0, 5.1, 6.1 and 7.1.
I have a 5.1 headphones and some videos come with 5.1 channels, but in most of them I got a bad impression due to voices being too silent in 5.1 mode. So I prefer using stereo output.
I'm using KMPlayer and it has an internal "KMP Audio Codec" which has a lot of output options, including "2/0+sub; 2.1 stereo" option. In this mode, the output is stereo but also I really can feel the subwoofer (and I love it).
But with LAV Audio (which I'd really like to use as a main option) I can only set sound mixing to Stereo, with no subwoofer output. Setting to 5.1 only gives me an old result which I don't like.
tl;dr: I want "2.0+sub" output mode for sound mixing.
If you really want this, move the slider for LFE (Low Frequency ...) to the right in the LAV-audio mixing tab. You need full range speakers for this. Also disable the "normalize matrix" button, just leave the "clipping protection" enabled.
If the surround is to loud (or voices to low), try the to move the slider for surround to the left (less surround) and the slider for the center to the right (more center) in the down-mixing.
You'll need to re-adjust the volume on your AMP/headphones after these to compensate.
Jtacdf
20th March 2015, 06:52
Earlier this month, Intel released a new driver that supposedly add video playback of HEVC video format at 4K.
https://downloadcenter.intel.com/download/24785/Intel-Iris-and-HD-Graphics-Driver-for-Windows-7-8-8-1-64-bit
I'm not sure if it is software, hybrid or QS? Anyway, I'm unable to test it as the HEVC is greyed out with QS as an option.
Liandri
20th March 2015, 07:22
If you really want this, move the slider for LFE (Low Frequency ...) to the right in the LAV-audio mixing tab. You need full range speakers for this. Also disable the "normalize matrix" button, just leave the "clipping protection" enabled.
If the surround is to loud (or voices to low), try the to move the slider for surround to the left (less surround) and the slider for the center to the right (more center) in the down-mixing.
You'll need to re-adjust the volume on your AMP/headphones after these to compensate.
I tried and it seems LFE slider does nothing when mixing mode is Stereo (don't feel anything, also can see in Status that there is no LFE bar). I suppose your recommendation is for case when 5.1 mixing is used. I tried what you said with 5.1 mode and I really didn't like the results.
I'd like to use Stereo mixing mode with subwoofer/LFE working.
mastan
20th March 2015, 13:22
Earlier this month, Intel released a new driver that supposedly add video playback of HEVC video format at 4K.
https://downloadcenter.intel.com/download/24785/Intel-Iris-and-HD-Graphics-Driver-for-Windows-7-8-8-1-64-bit
I'm not sure if it is software, hybrid or QS? Anyway, I'm unable to test it as the HEVC is greyed out with QS as an option.
On Intel HD 4400 LAV uses dxva2cp direct with Sintel_4k_27qp_24fps_1aud_9subs.mkv 4k-video.
QS does not support this(yet?)
DXVAChecker x64 benchmark on the same file shows 40 fps while using 26% of each of CPU kernels on Core i5-4200U.
jmone
20th March 2015, 21:37
https://github.com/foo86/dcadec
This project has really clean code, and he was very responsive to an issue I reported. It may not be 100% perfect yet, but its in a much better state than the libav decoder in any case, and the developer is still actively working.
This is great news and the feature list already looks pretty spot on! Do you know if it will be multi thread safe? eg in MC if you used the convert Video -> Audio feature with the dtsdecoderdll.dll you had to use only one conversion at a time or else odd things happened.
Thanks
Nathan
Arm3nian
23rd March 2015, 05:18
I'd like more options for sound mixing.
Right now, I can only choose between mono, stereo, 4.0, 5.1, 6.1 and 7.1.
I have a 5.1 headphones and some videos come with 5.1 channels, but in most of them I got a bad impression due to voices being too silent in 5.1 mode. So I prefer using stereo output.
I'm using KMPlayer and it has an internal "KMP Audio Codec" which has a lot of output options, including "2/0+sub; 2.1 stereo" option. In this mode, the output is stereo but also I really can feel the subwoofer (and I love it).
But with LAV Audio (which I'd really like to use as a main option) I can only set sound mixing to Stereo, with no subwoofer output. Setting to 5.1 only gives me an old result which I don't like.
tl;dr: I want "2.0+sub" output mode for sound mixing.
I don't know what model of headphones you have, but the "5.1" is most certainly marketing BS. Does your headphone actually have 6 drivers? Doubt it, it most likely has 2. The reason 2.1 is not an option in lav, or pretty much anything is because there is no 2.1 content. There are however 2.1 systems, which include a left and right speaker, the low frequency content is automatically fed to the subwoofer based on the default or specified crossover frequency. The reason the volume is lower when you select 5.1 is because the extra channels are lost.
The '.1' is the dedicated channel for the subwoofer, but you don't have a subwoofer, so what you're asking for doesn't really make sense. As mentioned, moving the LFE slider up is what you're looking for. It mixes the low frequency content from the subwoofer channel instead of throwing it away. I can hear a little difference, using HD650s and an o2odac, I'm not sure how your setup compares to my headphones, the HD650 is known to have good bass reproduction. Another reason why you might not be hearing a difference is because the content you are watching might not actually contain a lot of LFE content. It really is only noticeable on very low frequencies, even on my surround sound system. The bars in the status tab only show what is being played, so if you have stereo selected only the left and right bars are going to show activity. If you leave it on 5.1/7.1 you will see the LFE bar move, and will also see how infrequent and low amplitude it is.Careful what you set the slider to however, headphones can reproduce the low frequency sounds, but are really bad at doing anything else at the same time. You need a dedicated subwoofer for that. I have my settings set to down mix to stereo and the LFE slider set to 1.58. Experiment as settings vary with different equipment.
huhn
23rd March 2015, 11:00
I don't know what model of headphones you have, but the "5.1" is most certainly marketing BS. Does your headphone actually have 6 drivers? Doubt it, it most likely has 2. The reason 2.1 is not an option in lav, or pretty much anything is because there is no 2.1 content. There are however 2.1 systems, which include a left and right speaker, the low frequency content is automatically fed to the subwoofer based on the default or specified crossover frequency. The reason the volume is lower when you select 5.1 is because the extra channels are lost.
The '.1' is the dedicated channel for the subwoofer, but you don't have a subwoofer, so what you're asking for doesn't really make sense. As mentioned, moving the LFE slider up is what you're looking for. It mixes the low frequency content from the subwoofer channel instead of throwing it away. I can hear a little difference, using HD650s and an o2odac, I'm not sure how your setup compares to my headphones, the HD650 is known to have good bass reproduction. Another reason why you might not be hearing a difference is because the content you are watching might not actually contain a lot of LFE content. It really is only noticeable on very low frequencies, even on my surround sound system. The bars in the status tab only show what is being played, so if you have stereo selected only the left and right bars are going to show activity. If you leave it on 5.1/7.1 you will see the LFE bar move, and will also see how infrequent and low amplitude it is.Careful what you set the slider to however, headphones can reproduce the low frequency sounds, but are really bad at doing anything else at the same time. You need a dedicated subwoofer for that. I have my settings set to down mix to stereo and the LFE slider set to 1.58. Experiment as settings vary with different equipment.
a LFE crossover is defiantly not a bad idea. i recommend to add this with the panned addition of up mixing. https://code.google.com/p/lavfilters/issues/detail?id=11&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary%20Modified
and there are a lot of headphones with multiply driver and even a driver for LFE. here an example picture: http://www.tacticalsites.com/~squinty/images/medusaheadphone/openearphone.jpg 4 is the LFE.
these system have a huge problem with bass reproduction when a source is played that's isn't using a LFE channel so a LFE crossover for stereo is a must have for these.
a lot of smaller 5.1 or 7.1 system work the same way and get into the same problem without a LFE channel when they are used analog.
nevcairiel
23rd March 2015, 11:05
Its far more likely that I will decide not to add any kind of upmixing, rather than also consider adding a cross over. You should find someone that builds you a new audio processing filter, LAV isn't the place where this is really going to happen.
Liandri
23rd March 2015, 11:20
I don't know what model of headphones you have, but the "5.1" is most certainly marketing BS. Does your headphone actually have 6 drivers? Doubt it, it most likely has 2. The reason 2.1 is not an option in lav, or pretty much anything is because there is no 2.1 content. There are however 2.1 systems, which include a left and right speaker, the low frequency content is automatically fed to the subwoofer based on the default or specified crossover frequency. The reason the volume is lower when you select 5.1 is because the extra channels are lost.
The '.1' is the dedicated channel for the subwoofer, but you don't have a subwoofer, so what you're asking for doesn't really make sense. As mentioned, moving the LFE slider up is what you're looking for. It mixes the low frequency content from the subwoofer channel instead of throwing it away. I can hear a little difference, using HD650s and an o2odac, I'm not sure how your setup compares to my headphones, the HD650 is known to have good bass reproduction. Another reason why you might not be hearing a difference is because the content you are watching might not actually contain a lot of LFE content. It really is only noticeable on very low frequencies, even on my surround sound system. The bars in the status tab only show what is being played, so if you have stereo selected only the left and right bars are going to show activity. If you leave it on 5.1/7.1 you will see the LFE bar move, and will also see how infrequent and low amplitude it is.Careful what you set the slider to however, headphones can reproduce the low frequency sounds, but are really bad at doing anything else at the same time. You need a dedicated subwoofer for that. I have my settings set to down mix to stereo and the LFE slider set to 1.58. Experiment as settings vary with different equipment.
I have Somic E-95 v2010. Marketing or not, it has more than 2 speakers. I can easily feel 5.1 sound if the source has it. And it has a subwoofer, I've checked it and it works - disabled all channels except LFE and I could hear what I usually hear from my sub from Defender Blaze 60 (2.1) system, plus vibration. So my headphones have .1 channel, and if they do not, I still have a working 2.1 system right here. Extra channels are not lost, otherwise I'd not hear something in 5.1 content, but I can hear everything in 2.0, 2.1 and 5.1 modes. I just don't feel like using 5.1. (and please don't suggest that it's broken)
I can clearly hear the difference. I've checked with the same content. Even for stereo-only content, when KMP Audio is set to 2.1 - LFE channel works (as for how it works, I'm not sure - it probably gets added by mixing both channels) and I can feel bass with vibration, with 2.0 - not. With LAV Audio I can only feel that in 5.1 and above.
As I already mentioned, moving LFE slider did not do anything when Stereo mode was active. If you are suggesting to use 5.1 mode, I can only repeat that I prefer using 2.0/2.1 over 5.1 right now.
LFE in both my 2.1 system and 5.1 headphones can work with both Stereo and 5.1 content. Even if you say there is no 2.1 content, I don't see why there shouldn't be such an option.
Its far more likely that I will decide not to add any kind of upmixing, rather than also consider adding a cross over. You should find someone that builds you a new audio processing filter, LAV isn't the place where this is really going to happen.
That's too bad. Thanks for the honest answer.
Virtual_ManPL
23rd March 2015, 11:45
@ nevcairiel - CUDA 7 was released some days ago.
Will it have any reasons like performance, stability or others ones to update it in LAV Video Decoder for NVIDIA CUVID hardware acceleration decoder mode?
I remember that CUDA 4.0 was used in LAV CUVID Decoder which was next merged into LAV Video Decoder.
On the other hand will The Boost C++ Libraries or similar ones help in performance in LAV Filters, MPC-HC or even madVR?
nevcairiel
23rd March 2015, 11:47
LAV doesn't use CUDA, it only uses the video decoder, which is always the same performance.
Virtual_ManPL
23rd March 2015, 12:14
Hmm, but doesn't LAV Video Decoder in NVIDIA CUVID hardware acceleration decoder mode use NVIDIA CUDA Video Decoder API (https://docs.nvidia.com/cuda/video-decoder/index.html), which on other hand utilizes either CUDA hardware or Video Processor? :p
In LAV Filters source code (hhttps://github.com/Nevcairiel/LAVFilters/tree/master/decoder/LAVVideo/decoders) I'm seeing that CUDA is in version 6.5. ;)
What about second question?
Telion
23rd March 2015, 15:38
That's too bad.
That's perfectly fine, LAV Audio is more of a decoder than a full-blown sound processor. You should just install AC3Filter (http://www.ac3filter.net/wiki/AC3Filter), it has a plethora of channel processing options including upmix to 2.1. In its "System/Use AC3Filter for" disable everything except PCM, and it'll work as a sound processor only while LAV will continue to work as a decoder.
LigH
23rd March 2015, 15:50
ffdshow has some audio postprocessing features too. Just as well, you may disable all formats except "raw" to use it as PP filter only.
leeperry
23rd March 2015, 16:24
I have a 5.1 headphones and some videos come with 5.1 channels, but in most of them I got a bad impression due to voices being too silent in 5.1 mode.
Sounds like what you want is increase the coeff of the center channel, ffdshow audio can easily post-process LAV but it might just be that the mixing matrix of your 5.1'ish phone is wonky to begin with.
And going back to lipsync, a 1ms difference is a lot with headphones IME......I mean ±1 ms and it's easy to see that sync is broken, I'd love a decimal figure tbh.
huhn
23rd March 2015, 17:00
Sounds like what you want is increase the coeff of the center channel, ffdshow audio can easily post-process LAV but it might just be that the mixing matrix of your 5.1'ish phone is wonky to begin with.
And going back to lipsync, a 1ms difference is a lot with headphones IME......I mean ±1 ms and it's easy to see that sync is broken, I'd love a decimal figure tbh.
how will you notice 1 ms of a difference there is usually only a frame every ~42 ms. even reclock with default settings has a max latency of 100 ms (20% of audio buffer which is 500 ms at default). i mean how do you even know it is 1 ms in the first place.
i wouldn't be shocked that it is totally impossible with current hardware to get a perfect sync better than +/-1 ms.
i mean soundcard/DAC delay, audio renderer delay, leo bodner tester "- Provides accurate measurement within 1 millisecond accuracy." and even that is questionable. and all the clocks in a PC that fight each other...
leeperry
23rd March 2015, 17:11
i wouldn't be shocked that it is totally impossible with current hardware to get a perfect sync better than +/-1 ms.
I run Invariant TSC in W7SP1 with a 0.5ms granularity together with an async USB DAC(running off two low-jitter clocks for 44.1/48kHz multiples), using a 1m long DVI cable to my TV and a 1.8m long cable to my headphones. I also use a hub that reclocks USB data for better timings and Slysoft Reclock in 88.2kHz Exclusive mode WASAPI prevails(it runs its audio thread in realtime priority BTW).
Fact is that ±1ms delay in LAV kills lipsync in mVR, I'm quite happy with my current rig but I wouldn't mind a decimal figure to play around with that's all :devil:
Of course 5.1 loudspeakers in a room would be a completely different story and only a proper AVR calibration could compute the perfect delay required for each speaker to reach the hot spot simultaneously.
nevcairiel
23rd March 2015, 17:30
A 0ms perfect sync is practically impossible with DirectShow, just due to the way it syncs playback and how video presentation works. Anyone that claims 1ms makes a difference is delusional.
leeperry
23rd March 2015, 17:39
Right, 42 ms @24Hz ought to be enough for anybody LOL gotta love humorous forums ^^
nevcairiel
23rd March 2015, 17:56
Its not about whats enough or whatnot, its about technical fact, and the fact is that DirectShow is not capable to give you 100% perfect 0ms sync. In fact, I would be surprised if any PC player can really do that, simply because of how VSYNC works.
Knowing that your sync is never going to be precise to the millisecond, its also clear that a 1ms difference is not going to change anything, since its within the margin of error we're going to have anyway.
Sulik
23rd March 2015, 18:14
Here is a 1ms sync adjustment you can do yourself: just move one step back or one step forward (sound waves travel at about one foot (~36cm) per second) :)
James Freeman
23rd March 2015, 19:15
..sound waves travel at about one foot (~36cm) per second) :)
man thats sllloooowwww.... ;)
Liandri
23rd March 2015, 19:51
I'd like to correct myself about 2.1 bass feature. Choosing 2.1 in KMP Audio is not the only thing that is required to make it work. It has a checkbox for "LFE Redirection", which makes it work for stereo source. Same with PotPlayer.
jmonier
23rd March 2015, 19:52
Here is a 1ms sync adjustment you can do yourself: just move one step back or one step forward (sound waves travel at about one foot (~36cm) per second) :)
I think you mean about 1 ft/ms.
nevcairiel
23rd March 2015, 19:54
He probably just meant to say milliseconds, since thats what we talked about. :p
huhn
23rd March 2015, 20:00
I'd like to correct myself about 2.1 bass feature. Choosing 2.1 in KMP Audio is not the only thing that is required to make it work. It has a checkbox for "LFE Redirection", which makes it work for stereo source. Same with PotPlayer.
this may work in your sound driver too. you may have a LFE redirection or you just have to set your speaker to small/not full range or something like that. my creative/ESI soundcards have options like that.
e-t172
23rd March 2015, 21:09
Fact is that ±1ms delay in LAV kills lipsync in mVR.
Right, 42 ms @24Hz ought to be enough for anybody LOL gotta love humorous forums ^^
Your claim is absolutely ridiculous (not quite as ridiculous as your previous claims about high sample rate audio, but close). 1 ms is equivalent to sound traveling 35 cm. Are you seriously claiming that you can perceive the difference in lipsync just by moving 35 centimeters away from the speakers? For reference, my arms are longer than that. That must cause you real trouble in the real world, because that means you would notice lipsync issues just by looking at people talking to you from the other end of a room…
Also, the international standard for sync requirements in professional video production, ITU-R BT.1359 (http://www.itu.int/rec/R-REC-BT.1359-1-199811-I/), states that detection thresholds are as high as 45 ms, while the recommendation allows for delays as high as 90 ms (end to end). This means that your personal sync requirements of <1 ms are two orders of magnitude more stringent than the equipment the material is produced with in the first place.
infiniter
23rd March 2015, 21:52
Hello! I searched this thread, but couldn't find the proper answer, so I ask here.
I got LAV Splitter installer 0.64 downloaded and only installed the splitter (don't need the rest). I got Windows 7 Ultimate x64. Neither the x86, nor the x64 version of lavsplitter.ax would install with regsvr32 lavsplitter.ax. RegSvr32 always said "cannot load module".
I used of course admin shell and there is no former version of LAV splitter on my system. Is this because the installer put all the files in the x86 path of C:\program files? Any idea? Thanks in advance.
Update: I found a ZIP (https://1f0.de/downloads/) of the splitter, unpacked to C:\program files\lavcodecs, ran the install_splitter.bat and it worked. Though the BAT actually does the same as I tried before. It can only mean, that when using the installer of LAVSplitter and only selecting "Splitter (x86)" and "Splitter (x64)" it does not install all files necessary. Doh!
Liandri
23rd March 2015, 22:39
this may work in your sound driver too. you may have a LFE redirection or you just have to set your speaker to small/not full range or something like that. my creative/ESI soundcards have options like that.
The device is from C-Media, and as far as I can see it doesn't have such options.
Arm3nian
24th March 2015, 03:00
a LFE crossover is defiantly not a bad idea. i recommend to add this with the panned addition of up mixing. https://code.google.com/p/lavfilters/issues/detail?id=11&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary%20Modified
and there are a lot of headphones with multiply driver and even a driver for LFE. here an example picture: http://www.tacticalsites.com/~squinty/images/medusaheadphone/openearphone.jpg 4 is the LFE.
these system have a huge problem with bass reproduction when a source is played that's isn't using a LFE channel so a LFE crossover for stereo is a must have for these.
a lot of smaller 5.1 or 7.1 system work the same way and get into the same problem without a LFE channel when they are used analog.
If a system has problems with bass when a LFE channel is not present then that system is a piece of crap...
Almost all content, besides the audio on bluray do not have an LFE channel. So when listening to music or watching videos on youtube there would no bass... but of course there is. The bass is either reproduced by the left and right speakers or fed into to the subwoofer at the crossover frequency. The purpose of an LFE channel is to isolate specific sound effects from the other sounds, so the subwoofer reproduces them instead of the other speakers (since it does a better job). LFE can contain frequencies up to 120hz. An LFE channel can allow you have a higher crossover frequency if your main speakers cannot reproduce low frequency sounds. Headphones do not need this feature as they can reproduce the audible range of tones, but some speakers might. Quality systems focus on a specific frequency response for each speaker.
Basically, any quality headphone has 2 drivers, you should know this. What hifi gear have you seen with 8 drivers that costs $80. That makes no sense when a proper headphone with 2 drivers costs more. Any decent headphone can reproduce bass without a dedicated subwoofer driver/cone. Notice how standalone subwoofers have huge cones? You need them to produce the low frequencies at audible volumes. A half inch subwoofer inside a headphone isn't going to provide much benefit compared to the main drivers.
The surround sound aspect does not make much sense either. Notice how a proper surround system has the surround sound speakers on the opposite sides of the other speakers? The auditory system is good in positioning, but it doesn't make up for the fact that the surround speakers are right next to the other ones in a headphone. Any proper headphone will have a good enough sound stage and imaging capabilities to mimic what multiple drivers do in such a confined space.
tldr: Why should software support badly designed hardware that sells purely on marketing?
I have Somic E-95 v2010. Marketing or not, it has more than 2 speakers. I can easily feel 5.1 sound if the source has it. And it has a subwoofer, I've checked it and it works - disabled all channels except LFE and I could hear what I usually hear from my sub from Defender Blaze 60 (2.1) system, plus vibration. So my headphones have .1 channel, and if they do not, I still have a working 2.1 system right here. Extra channels are not lost, otherwise I'd not hear something in 5.1 content, but I can hear everything in 2.0, 2.1 and 5.1 modes. I just don't feel like using 5.1. (and please don't suggest that it's broken)
I can clearly hear the difference. I've checked with the same content. Even for stereo-only content, when KMP Audio is set to 2.1 - LFE channel works (as for how it works, I'm not sure - it probably gets added by mixing both channels) and I can feel bass with vibration, with 2.0 - not. With LAV Audio I can only feel that in 5.1 and above.
As I already mentioned, moving LFE slider did not do anything when Stereo mode was active. If you are suggesting to use 5.1 mode, I can only repeat that I prefer using 2.0/2.1 over 5.1 right now.
LFE in both my 2.1 system and 5.1 headphones can work with both Stereo and 5.1 content. Even if you say there is no 2.1 content, I don't see why there shouldn't be such an option.
That's too bad. Thanks for the honest answer.
I was not suggesting to use 5.1 but I can see why you are not using it. Your headset has a hardware mixer attached. If you have left the settings on your computer as default, and the voices are too quiet, then the mixer is configured wrong... Blurays are professionally mastered (at least I hope most are), so it should sound correct with no downmixing. I would suggest lowering the volume of all the other channels and leaving the center higher, but from what I can tell the mixer level controls are also the attenuator, meaning you can't amplify after mixing, another limitation of your setup.
Once again, if you are certain the clip you are testing has significant LFE content, and the slider does nothing, then your left and right drivers can't reproduce the sounds. If the "subwoofer" in your headset is not doing anything at all when you have stereo selected in LAV then your headset doesn't even have a passive filter to send to low frequency content to the sub. So if 5.1 doesn't work correctly, and the sub doesn't work unless there is a dedicated feed, then what good is your headset?
Which leads to 2.1. Seems your options for decent bass are to use a directshow filter or to get another pair of headphones :)
And to be clear, I'm going completely off what you're posting. I don't know how your headset performs, but it seems to me it's causing more trouble than it's worth. You're losing the benefit of the extra speakers for movies, and the bass is weak in content without a dedicated LFE stream. The configuration in your player is basically doing what ffdshow/ac3filter would do, which is either downmixing to 2.1 or upmixing 2.0 to 2.1 for the headset to use the subwoofer/manage the bass properly.
kalston
24th March 2015, 08:40
Your claim is absolutely ridiculous (not quite as ridiculous as your previous claims about high sample rate audio, but close). 1 ms is equivalent to sound traveling 35 cm. Are you seriously claiming that you can perceive the difference in lipsync just by moving 35 centimeters away from the speakers? For reference, my arms are longer than that. That must cause you real trouble in the real world, because that means you would notice lipsync issues just by looking at people talking to you from the other end of a room…
Also, the international standard for sync requirements in professional video production, ITU-R BT.1359 (http://www.itu.int/rec/R-REC-BT.1359-1-199811-I/), states that detection thresholds are as high as 45 ms, while the recommendation allows for delays as high as 90 ms (end to end). This means that your personal sync requirements of <1 ms are two orders of magnitude more stringent than the equipment the material is produced with in the first place.
Haha, lipsync issues in real life, I hadn't thought of that but that's a fun way of illustrating how ridiculous his claim was.
huhn
24th March 2015, 09:21
If a system has problems with bass when a LFE channel is not present then that system is a piece of crap...
Almost all content, besides the audio on bluray do not have an LFE channel. So when listening to music or watching videos on youtube there would no bass... but of course there is. The bass is either reproduced by the left and right speakers or fed into to the subwoofer at the crossover frequency. The purpose of an LFE channel is to isolate specific sound effects from the other sounds, so the subwoofer reproduces them instead of the other speakers (since it does a better job). LFE can contain frequencies up to 120hz. An LFE channel can allow you have a higher crossover frequency if your main speakers cannot reproduce low frequency sounds. Headphones do not need this feature as they can reproduce the audible range of tones, but some speakers might. Quality systems focus on a specific frequency response for each speaker.
Basically, any quality headphone has 2 drivers, you should know this. What hifi gear have you seen with 8 drivers that costs $80. That makes no sense when a proper headphone with 2 drivers costs more. Any decent headphone can reproduce bass without a dedicated subwoofer driver/cone. Notice how standalone subwoofers have huge cones? You need them to produce the low frequencies at audible volumes. A half inch subwoofer inside a headphone isn't going to provide much benefit compared to the main drivers.
The surround sound aspect does not make much sense either. Notice how a proper surround system has the surround sound speakers on the opposite sides of the other speakers? The auditory system is good in positioning, but it doesn't make up for the fact that the surround speakers are right next to the other ones in a headphone. Any proper headphone will have a good enough sound stage and imaging capabilities to mimic what multiple drivers do in such a confined space.
tldr: Why should software support badly designed hardware that sells purely on marketing?
i don't use hardware like this and i have personally no need for such a feature with my beyerdynamics T5p...
that doesn't change the fact that people buy logitech speaker on mass. and a system without digital processing can't do the cross over by it self so a cross over is needed.
if you run an sub with an analog connection without digital processing a crossover is needed it's that simple. and this can happen with a more expensive system too.
luckly some soundcards can do this be them self.
nevcairiel clearly said this is not going to happen so no need to discuss about this here.
nevcairiel
24th March 2015, 10:40
The next nightly of LAV will feature the libdcadec (https://github.com/foo86/dcadec) DTS decoder.
It supports full bitexact DTS-HD decoding of up to 96/24, as well as much broader support for DTS extensions than the ffmpeg decoder.
Most prominently (things the ffmpeg decoder didn't do):
- DTS 96/24 (96 kHz support for lossy DTS streams, and DTS-HD HRA)
- Bitexact DTS-HD MA up to 7.1, 96 kHz, 24-bit
The only missing features I'm aware of right now is support for 192kHz DTS-HD MA, which I hope will be added soon, and DTS Express, which may take a bit longer (but is also much less important).
kalston
24th March 2015, 11:50
Awesome! :) Can't wait to try it.
FireFreak111
24th March 2015, 12:05
Good to hear its coming along rapidly. Can't wait to ditch Arcsoft, use something that isn't a black box, and is guaranteed to work as it should.
192khz is important but thankfully its not used much, and I only heard of DTS Express last week.
Will the data of the DTS-HD MA stream be properly reported outside of the Status tab now? Is that a thing? Or will it still report 5.1 for 7.1 streams?
nevcairiel
24th March 2015, 12:07
The splitter will also properly report stream properties now.
One note, the current version will fail to decode 192kHz streams entirely (ie. not even the core). I thought about adding a fallback to core decoding, but I decided to simply wait until the decoder supports 192kHz. If it takes too long, I can still add the fallback later.
kalston
24th March 2015, 12:26
I don't think I have any 192khz DTS files anyway :p But really this is great, even more so knowing that the splitter will properly report it too :)
nevcairiel
24th March 2015, 12:29
They are very rare. Mostly used for a few classical music Blu-rays.
Snowknight26
24th March 2015, 13:46
Most prominently (things the ffmpeg decoder didn't do)
Which is funny because ffmpeg uses a libdcadec wrapper so it should have the same capabilities.
nevcairiel
24th March 2015, 13:48
You do realize that I wrote this wrapper, don't you? :P And it only exist since last week, because thats when I submitted it to ffmpeg, so that LAV (any anyone else) can use it transparently without needing extra code.
And when someone refers to "the ffmpeg decoder", it generally always refers to the native decoder present inside ffmpeg, ie. ffdca or however people like to call it, not an external library that is routed through ffmpeg. If I wanted to discuss the capabilities of an external library, I would call it by name.
Liandri
24th March 2015, 15:18
And to be clear, I'm going completely off what you're posting. I don't know how your headset performs, but it seems to me it's causing more trouble than it's worth. You're losing the benefit of the extra speakers for movies, and the bass is weak in content without a dedicated LFE stream. The configuration in your player is basically doing what ffdshow/ac3filter would do, which is either downmixing to 2.1 or upmixing 2.0 to 2.1 for the headset to use the subwoofer/manage the bass properly.
I'll try harder next time with 5.1 content.
But also I just currently watch mostly stereo content, so there is little reason to mix into 5.1, also LFE still doesn't work in LAV for that case. Seeing my messages, you can tell my request was somewhat incorrect - what I effectively wanted was LFE redirection, not just 2.1 option. I'm not sure if that can be considered upmixing.
I learned that AC3filter can do this (tested and it works, but somehow I found it performing worse in other matters so maybe I need to tweak more settings). Found a good set of information about LFE on its homepage too. From what I understand, without a dedicated LFE stream everything will get processed through usual speakers, but if the source itself has low frequencies outside of speakers' limitations, it's a good idea to redirect those if there is another speaker that can handle those (sw).
Arm3nian
24th March 2015, 18:47
i don't use hardware like this and i have personally no need for such a feature with my beyerdynamics T5p...
that doesn't change the fact that people buy logitech speaker on mass. and a system without digital processing can't do the cross over by it self so a cross over is needed.
if you run an sub with an analog connection without digital processing a crossover is needed it's that simple. and this can happen with a more expensive system too.
luckly some soundcards can do this be them self.
nevcairiel clearly said this is not going to happen so no need to discuss about this here.
What kind of system uses only a direct analog connection from a PC? Sound cards provide less than a watt of power, my sub requires 100+ watts. Yes there are lower powered subs but we are talking order of magnitudes. The sub has to have an amplifier, which will also drive the other 2 speakers, so just put low pass filter in there. No proper system would REQUIRE a dedicated subwoofer channel to deliver bass, even though it might improve it. Not everything you listen to is through mpchc :). A software mixer would not solve the problem.
I'll try harder next time with 5.1 content.
But also I just currently watch mostly stereo content, so there is little reason to mix into 5.1, also LFE still doesn't work in LAV for that case. Seeing my messages, you can tell my request was somewhat incorrect - what I effectively wanted was LFE redirection, not just 2.1 option. I'm not sure if that can be considered upmixing.
I learned that AC3filter can do this (tested and it works, but somehow I found it performing worse in other matters so maybe I need to tweak more settings). Found a good set of information about LFE on its homepage too. From what I understand, without a dedicated LFE stream everything will get processed through usual speakers, but if the source itself has low frequencies outside of speakers' limitations, it's a good idea to redirect those if there is another speaker that can handle those (sw).
Everything without a dedicated LFE stream will be processed through the left and right IF there is no passive low pass filter and nothing is done in software. You can test if your headset has this by seing if the subwoofer driver does something when no LFE stream is present but your content has deep bass. I mentioned why LFE is useful in my previous post.
As mentioned lav is a decoder, but also provides common options that are needed for optimal playback. Requiring an LFE channel for bass is rare. If there is no bass without an LFE stream then that's obviously a problem. The actual LFE content will be hard to reproduce on such a tiny driver/cone, so what you might be experiencing is the sub working vs not working with an LFE channel as all bass is redirected there.
huhn
24th March 2015, 19:05
What kind of system uses only a direct analog connection from a PC? Sound cards provide less than a watt of power, my sub requires 100+ watts. Yes there are lower powered subs but we are talking order of magnitudes. The sub has to have an amplifier, which will also drive the other 2 speakers, so just put low pass filter in there. No proper system would REQUIRE a dedicated subwoofer channel to deliver bass, even though it might improve it. Not everything you listen to is through mpchc :). A software mixer would not solve the problem.
there are analog running amps out there yep not everything is digital to day how can a system without full range speaker redirect the LFE to the sub without digital processing.
and what kind of system? maybe the these headphones that started this hole topic to start with?
not all people can buy a system with full range speaker so sorry they can't get a proper system... just ignore them i guess. all soundcards should remove there LFE redirection/LFE crossover there is no proper system that need these option any way, so why are they even there?
Arm3nian
24th March 2015, 19:20
there are analog running amps out there yep not everything is digital to day how can a system without full range speaker redirect the LFE to the sub without digital processing.
and what kind of system? maybe the these headphones that started this hole topic to start with?
not all people can buy a system with full range speaker so sorry they can't get a proper system... just ignore them i guess. all soundcards should remove there LFE redirection/LFE crossover there is no proper system that need these option any way, so why are they even there?
That was my point, you don't need software to do the crossover and processing. Hardware does it digitally or by analog, and hardware should do it because not every program that outputs audio has the capabilities of lav or all the direct show filters. A low pass filter or simple DSP chip can do it for pennies, and all systems that have a sub should have one built in.
My home theater speakers aren't full range either, the front speakers start at 80hz and the center starts at 120hz, but my receiver has the proper hardware to send bass at the crossover frequency that is not found in the LFE stream to the sub. You don't need a receiver for this capability. What is the point of LFE redirection if the system has proper bass management by sending frequencies at a certain point to the sub. Its the same thing. Full range speakers don't need a sub, that's why they're full range, and non full range speakers already have the capability for content with no LFE stream. If there is no proper bass management to begin with, then content with no LFE stream will have the bass produced by the other speakers, making it sound terrible.
huhn
24th March 2015, 20:09
most soundcards can't do that that's why software is needed.
and a lot of AVR run in problem when used analog because they don't know if that input signal is 5.1 or 2.0 and not doing blindly a LFE crossover.
and true multi channel non virtual sourround 5.1 headsets can't do this at all they need a signal with an extra LFE channel to sound properly.
e-t172
24th March 2015, 21:04
most soundcards can't do that that's why software is needed.
The problem is, what nev is trying to do is to avoid feature bloat. Part of that is making sure that the only features that are added are features that make sense to have in a decoder. Bass redirection is not the decoder's job - in fact, one might argue that even the mixing options in LAV Audio are already out of scope. Normally, bass redirection should be done as close to the speakers as possible - preferably in the AVR, or in the sound card if there's no AVR, or in a system-wide audio effect (sAPO) if the hardware doesn't support it, or at the extreme, in the DirectShow audio renderer (not decoder).
The reason why it's not a good idea to move this processing upstream is because the more upstream you move it, the fewer sources benefit from it. If you do it in the AVR, then it's enabled for all sources connected to the AVR, not just the PC. If it's done in the soundcard, it's enabled for all applications, including WASAPI/ASIO etc. If it's done in an sAPO, it's enabled for all "normal" applications. But if you do it in DirectShow, then only your player benefits. That's why it doesn't make sense to have this stuff in the DirectShow pipeline. This functionality should be provided by the audio equipment downstream of the DirectShow player, and if it doesn't, then you should change your equipment for something that does.
huhn
24th March 2015, 21:44
The problem is, what nev is trying to do is to avoid feature bloat. Part of that is making sure that the only features that are added are features that make sense to have in a decoder. Bass redirection is not the decoder's job - in fact, one might argue that even the mixing options in LAV Audio are already out of scope. Normally, bass redirection should be done as close to the speakers as possible - preferably in the AVR, or in the sound card if there's no AVR, or in a system-wide audio effect (sAPO) if the hardware doesn't support it, or at the extreme, in the DirectShow audio renderer (not decoder).
The reason why it's not a good idea to move this processing upstream is because the more upstream you move it, the fewer sources benefit from it. If you do it in the AVR, then it's enabled for all sources connected to the AVR, not just the PC. If it's done in the soundcard, it's enabled for all applications, including WASAPI/ASIO etc. If it's done in an sAPO, it's enabled for all "normal" applications. But if you do it in DirectShow, then only your player benefits. That's why it doesn't make sense to have this stuff in the DirectShow pipeline. This functionality should be provided by the audio equipment downstream of the DirectShow player, and if it doesn't, then you should change your equipment for something that does.
i'm not trying to change nev mind at all. there are audio processor that can do this and this is fine. i don't even have a use for this personally.
replacing hardware is not an option for everyone this still cost money.
STaRGaZeR
25th March 2015, 00:30
That's why it doesn't make sense to have this stuff in the DirectShow pipeline. This functionality should be provided by the audio equipment downstream of the DirectShow player, and if it doesn't, then you should change your equipment for something that does.
And you have the guts to tell other people they are ridiculous? Talk about being delusional :eek:
Arm3nian
25th March 2015, 02:54
He is correct that the equipment should do the bass management, for two reasons.
1. Your computer is not the only thing connected to speakers. Cable/satellite box, bluray player, basically anything that isn't a computer or professional gear doesn't have capabilities like down mixing or up mixing to 2.1, only traditional formats like stereo or 5.1.
2. You can't use lav or directshow filters with every program. Watching videos on the internet, games, applications, might not support 2.1.
Down mixing to stereo (headphones) exists in pretty much everything, and all standalone speakers or surround configurations require an amplifier which usually also has bass management through passive or active filters. If you want to design a system that doesn't follow the common configurations, you better make sure it works on its own, and does not rely on 3rd party help to make it function.
If you can't get a dedicated LFE stream working, then just set the crossover to 120hz. If you can't set it then hope the default filter is set to a figure that allows your sub to reproduce most of the LFE content, it most likely is, and the system itself is most likely optimized to reproduce the LFE content without a dedicated LFE stream. If your subwoofer doesn't even work without an LFE stream and your other speakers can't deliver bass then you've made the wrong purchase. Even if software supports upmixing or downmixing to 2.1, everything else will sound terrible if the system doesn't already have bass management.
JohnLai
25th March 2015, 05:53
@nevcairiel
Recently, I have been using LAVvf as Directshow source filter for Staxrip.
However, whenever DXVA Native is selected, it will fall back to software decoding. DXVA Copy-back is working, but there is performance penalty in memory copyback.
Any possible solution to make the dxva native decoding works with avisynth/Staxrip?
Note: NikoD and stax76 suggested me to ask in this thread XD.
Asmodian
25th March 2015, 06:42
@nevcairiel
Recently, I have been using LAVvf as Directshow source filter for Staxrip.
However, whenever DXVA Native is selected, it will fall back to software decoding. DXVA Copy-back is working, but there is performance penalty in memory copyback.
Any possible solution to make the dxva native decoding works with avisynth/Staxrip?
Note: NikoD and stax76 suggested me to ask in this thread XD.
DXVA native leaves the decoded video in the GPU's memory. Getting it into the system memory is the "copy-back". DXVA Native cannot work with Avisynth/Staxrip.
omarank
25th March 2015, 08:57
The next nightly of LAV will feature the libdcadec (https://github.com/foo86/dcadec) DTS decoder.
It supports full bitexact DTS-HD decoding of up to 96/24, as well as much broader support for DTS extensions than the ffmpeg decoder.
Hi, I tried the new DTS decoder using the latest nightly build and it works perfectly. Thanks Nevcairiel for this great addition to LAV and also to the developer of the libcadec decoder.
I found that the new DTS decoder also doesn't low-pass the LFE channel of DTS MA streams at 120 Hz, like the Arcsoft decoder. Will you be considering to add an option to low pass the LFE channel of DTS MA streams, especially when they are downmixed to stereo and LFE is included in the mix?
kalston
25th March 2015, 09:02
Just installed the nightly build, will try it when I get back home this afternoon :)
JohnLai
25th March 2015, 09:35
DXVA native leaves the decoded video in the GPU's memory. Getting it into the system memory is the "copy-back". DXVA Native cannot work with Avisynth/Staxrip.
NikoD gonna be sad about this :(
How about quicksync native mode? Current lavfilter quicksync implementation still using copyback.
Developer of handbrake is able to get quicksync decoding natively.
Possible for implementation?
nevcairiel
25th March 2015, 09:37
If you want to use QuickSync without copy-back for decoding+encoding, you need to implement this in one fixed pipeline. You cannot use DirectShow for that.
NikosD
25th March 2015, 09:48
If QS decoder from Eric Gur, which is using MSDK, wasn't implemented with a copy-back mechanism and kept everything in GPU's memory, couldn't be used inside LAV Video and combined with an MSDK HW encoder ?
Liandri
25th March 2015, 10:01
1. Your computer is not the only thing connected to speakers. Cable/satellite box, bluray player, basically anything that isn't a computer or professional gear doesn't have capabilities like down mixing or up mixing to 2.1, only traditional formats like stereo or 5.1.
2. You can't use lav or directshow filters with every program. Watching videos on the internet, games, applications, might not support 2.1.
..
Even if software supports upmixing or downmixing to 2.1, everything else will sound terrible if the system doesn't already have bass management.
I don't undertstand your point. My PC is the only thing that is connected to both speakers and headphones, and I'm not planning to change that in years to come. And I'm not requiring that all the sound will come with proper bass. In fact, my 2.1 system work fine with any software, I just tend to watch video content mostly with my headphones for unrelated reasons.
You say that everything sounds bad on a system when user made a wrong purchase? And that nobody should care because it all would sound terrible anyway? Then how come I find it all sounds perfectly fine? Videos, music, youtube, games and other stuff without directshow etc. I was not complaining that something sounds bad, I was asking for a feature to additionally improve experience on my system. In fact, previously I was using LAV Audio for some time without realizing it doesn't do this. AC3filter and 2 other video players (ironically both of which are banned on this forum) can do that for me, so I guess I'll live with it not being part of LAV Audio feature set.
If something should not be a job for a software then why not provide a hardware requirements for it? Remove an option for mixing into mono and stereo, say that user should buy 5.1 system for optimal experience instead, because why not? What's all the fuss about DXVA decoding when we should all just buy a better CPU?
Still, I found explanation and advice from Telion fair so I may aswell try that.
I'm sorry to sound harsh, I appreciate all the replies, but I just don't understand why you should have such an attitude. A PC is never a perfect (still best of course) platform and everyone should only be grateful if something can be improved or added through software.
nevcairiel
25th March 2015, 10:03
If QS decoder from Eric Gur, which is using MSDK, wasn't implemented with a copy-back mechanism and kept everything in GPU's memory, couldn't be used inside LAV Video and combined with an MSDK HW encoder ?
No, DirectShow doesn't support anything other than software video buffers or DXVA2-Native buffers. If you want anything special like this, gotta implement it yourself without DirectShow - which is probably going to be easier anyway.
NikosD
25th March 2015, 10:14
For the record, I didn't said to JohnLai to write to this thread about that matter, because more or less I had the same opinion about it like you, but thanks for the clarification.
I have proposed to rigaya, the developer of QSVEncC, to convert his encoder to a transcoder, implementing the decoder in HW too, from the first time that I got involved with his app.
Only one fixed pipeline solution implemented with MSDK has a large possibility to become a real app, like HandBrake and QSTranscode.
e-t172
25th March 2015, 11:16
I found that the new DTS decoder also doesn't low-pass the LFE channel of DTS MA streams at 120 Hz, like the Arcsoft decoder. Will you be considering to add an option to low pass the LFE channel of DTS MA streams, especially when they are downmixed to stereo and LFE is included in the mix?
I second this. Leaving LFE untouched is generally a bad idea, because everyone expects it to be low-passed, and sometimes production houses make mistakes and leave high frequency content in the LFE channel, which goes unnoticed because even their own monitoring systems remove it on playback. In fact I believe someone reported this sort of issue at some point in this thread some time ago, where it was fought LAV Audio was corrupting audio, while it was in fact caused by high-frequency garbage in the source LFE channel.
madshi
25th March 2015, 11:37
I'm confused. Isn't lossless decoding supposed to be lossless? Why would we suddenly want the DTS decoder to "process" the LFE channel?
andyvt
25th March 2015, 12:18
If QS decoder from Eric Gur, which is using MSDK, wasn't implemented with a copy-back mechanism and kept everything in GPU's memory, couldn't be used inside LAV Video and combined with an MSDK HW encoder ?
There are sample filters in the MSDK which demonstrate how to leverage QS to transcode content via DirectShow. It should be relatively easy to modify the decoder with Eric's format-a-bitstream code and make it robust enough for production use.
That said, I don't think that DirectShow is the best place to transcode. It works OK if the application doesn't need to support editing, but once that is requirement it is more difficult to keep everything sync'd properly than in an application where the pipeline is entirely self managed.
kalston
25th March 2015, 12:22
And are you guys sure the ArcSoft DTS decoder applied a 120hz low-pass filter for that matter? This reminds me of what I posted before: https://www.doom9.org/showthread.php?p=1702731#post1702731 (check the following replies, nev said that the distortion was barely audible when he applied a filter which would contradict omarank)
nevcairiel
25th March 2015, 12:26
The point is that neither the ArcSoft decoder, nor libdcadec, apply a low-pass, but some users would like to have one to avoid distortions from badly authored LFE channels.
You wouldn't hear those distortions if you use an actual subwoofer, as they are simply incapable of playing those frequencies, but if you mix into stereo (including the LFE), you will hear them.
Its not something libdcadec should do, but something further down in the processing. Not sure I want LAV to be that part, though.
QBhd
25th March 2015, 12:26
I'm confused. Isn't lossless decoding supposed to be lossless? Why would we suddenly want the DTS decoder to "process" the LFE channel?
Agreed....
QB
FireFreak111
25th March 2015, 12:59
New DTS-HD MA decoder is amazing. Works perfectly, sounds great. Based on the source code we know its proper lossless, as is passed down the chain.
For quality output to the Windows mixer, which does all its mixing in 32 bit float since Vista, should we output 32 bit float the whole way? Like send it from LAV to Reclock and then to the Audio engine (effects, etc in the windows pipeline) as a 32 bit float? Mathematical perfection?
kalston
25th March 2015, 13:34
New DTS-HD MA decoder is amazing. Works perfectly, sounds great. Based on the source code we know its proper lossless, as is passed down the chain.
For quality output to the Windows mixer, which does all its mixing in 32 bit float since Vista, should we output 32 bit float the whole way? Like send it from LAV to Reclock and then to the Audio engine (effects, etc in the windows pipeline) as a 32 bit float? Mathematical perfection?
It doesn't matter at all in this case, the only difference is whether LAV or Windows (or Reclock etc.) raises the bit depth. LAV simply decodes the audio and outputs it as is (and DTS-HD is always 16 or 24bit afaik)
e-t172
25th March 2015, 14:22
I'm confused. Isn't lossless decoding supposed to be lossless? Why would we suddenly want the DTS decoder to "process" the LFE channel?
Well, it's... complicated. Genelec (manufacturer of pro audio equipment that's used in production houses) has a good write-up on the subject (http://www.genelec.com/faq/multichannel/101-what-is-the-lfe-1-channel/). Looking at the table in that article, you can see it's kind of a mess. Table note (1) is especially interesting:
In the DTS-HD codec only [DTS-HD Master Audio™ (lossless) and DTS-HD High Resolution Audio™ (lossy)] the DTS-HD decoder applies a low-pass filter at 100 Hz (-3 dB) with a 60 dB/octave roll-off onto the LFE channel.
That seems to indicate that a DTS-HD MA decoder that does not lowpass LFE is not doing the right thing.
The problem is, this is all very theoretical. In practice, one should always lowpass LFE, because the presence of high frequency content in the LFE channel is pretty much guaranteed to be a mistake on the production side. On the production side, no-one in their right mind would knowingly put >120Hz content in LFE because the playback of such content would be completely unpredictable - some playback systems will remove it, some won't.
But the real problem arises if the production house lowpasses LFE in their monitoring systems (which, presumably, some do without even knowing it), which means that if high frequency content accidentally gets thrown into the LFE channel, the production house won't notice it, and it won't be noticed in most playback systems because subwoofers can't reproduce it. So most people won't notice it, but some people will, especially if they have systems that are configured to downmix LFE into full-range (L/R) channels without any lowpass filter. These people will hear a different sound compared to what the production people heard, which is bad, because they're not getting the intended sound and the spurious high frequency content in the LFE channel is likely to be garbage (remember, the production house likely didn't notice it's there) and degrade audio quality. This is the reason why Genelec bass management systems have a redirect feature (http://www.genelec.com/faq/multichannel/95-how-does-the-lfe-input-and-redirect-function-work-on-the-7060b-7070a-7071a-and-7073a/) to check for this, but I'm not sure it's used in actual production workflows.
Said differently, the crux of the problem is that high-frequency content in the LFE channel is kinda like what us programmers would call undefined behavior: no-one really knows what will happen to it, so it's better not to have it at all to enforce consistency. kalston above found the previous post I was referring to (http://forum.doom9.org/showthread.php?p=1702731#post1702731) where we found that some material contained high-frequency garbage in the LFE channel, which led to audible issues after downmixing to full-range channels. Having a LFE lowpass option in LAV would be useful to prevent such issues.
madshi
25th March 2015, 15:07
Well, it's... complicated. Genelec (manufacturer of pro audio equipment that's used in production houses) has a good write-up on the subject (http://www.genelec.com/faq/multichannel/101-what-is-the-lfe-1-channel/). Looking at the table in that article, you can see it's kind of a mess. Table note (1) is especially interesting:
That seems to indicate that a DTS-HD MA decoder that does not lowpass LFE is not doing the right thing.
The problem is, this is all very theoretical. In practice, one should always lowpass LFE, because the presence of high frequency content in the LFE channel is pretty much guaranteed to be a mistake on the production side. On the production side, no-one in their right mind would knowingly put >120Hz content in LFE because the playback of such content would be completely unpredictable - some playback systems will remove it, some won't.
But the real problem arises if the production house lowpasses LFE in their monitoring systems (which, presumably, some do without even knowing it), which means that if high frequency content accidentally gets thrown into the LFE channel, the production house won't notice it, and it won't be noticed in most playback systems because subwoofers can't reproduce it. So most people won't notice it, but some people will, especially if they have systems that are configured to downmix LFE into full-range (L/R) channels without any lowpass filter. These people will hear a different sound compared to what the production people heard, which is bad, because they're not getting the intended sound and the spurious high frequency content in the LFE channel is likely to be garbage (remember, the production house likely didn't notice it's there) and degrade audio quality. This is the reason why Genelec bass management systems have a redirect feature (http://www.genelec.com/faq/multichannel/95-how-does-the-lfe-input-and-redirect-function-work-on-the-7060b-7070a-7071a-and-7073a/) to check for this, but I'm not sure it's used in actual production workflows.
Ok, but it still doesn't make *any* sense to me whatsoever that DTS-MA tracks would need the LFE channel to be filtered, while TrueHD or PCM tracks would not. I would very much like dcadec to stay perfectly lossless. If filtering is needed, it should be done outside of the decoder implementation, and not be limited to DTS-MA, but apply to all audio sources (which need it). I don't care what Genelec says, we developers should think logically, and if DTS-MA needs filtering, then so does TrueHD. Makes no sense to treat them differently, considering that I've often seen TrueHD and DTS-MA tracks decode to the same data, when comparing tracks from different Blu-Ray releases.
kalston
25th March 2015, 15:11
I just setup a low-pass filter for the sub in JRiver (100hz and 48 db/octave because that's the highest value available in JRiver from what I've seen) and it completely gets rid of the distortion in the sample I posted, as expected.
I also found another occurrence on Star Wars Return of the Jedi blu-ray (big explosion at 01:55:42) but it's more much subtle there. Still seems to be some garbage in the LFE channel. I could probably find other examples (but again, much more subtle than the sample I posted where it's really awful) but it's nice to finally understand what it is. I've learned something today :) I think I could even find some True HD tracks where I noticed a similar issue.
edit : oh and the new DTS-HD decoder works perfectly as far as I can tell :)
edit 2 : The Dark Knight has a TrueHD track and I also found a couple spots (yes, I have a good memory like that) where there is some "LFE garbage". Guess that means they had a low-pass filter in the production studio like e-t172 explained.
nevcairiel
25th March 2015, 15:28
Ok, but it still doesn't make *any* sense to me whatsoever that DTS-MA tracks would need the LFE channel to be filtered, while TrueHD or PCM tracks would not.
The link he posted has a summary on the situation for all common audio codecs, and indeed both TrueHD and DTS-HD MA are flagged as including a full bandwidth channel for LFE, while the lossy codecs are band-limited.
The real problem is with other lossless formats. You have no idea what source a FLAC originally came from, for example.
e-t172
25th March 2015, 16:21
Ok, but it still doesn't make *any* sense to me whatsoever that DTS-MA tracks would need the LFE channel to be filtered, while TrueHD or PCM tracks would not. I would very much like dcadec to stay perfectly lossless. If filtering is needed, it should be done outside of the decoder implementation, and not be limited to DTS-MA, but apply to all audio sources (which need it). I don't care what Genelec says, we developers should think logically, and if DTS-MA needs filtering, then so does TrueHD. Makes no sense to treat them differently, considering that I've often seen TrueHD and DTS-MA tracks decode to the same data, when comparing tracks from different Blu-Ray releases.
Genelec is not "mandating" anything - they don't make the specs. They're just documenting the sad state of LFE cut-off specs in the wild.
I wholeheartedly agree that doing different filtering based on format is not tenable - I think LFE should always be lowpassed, period, because as I explained, having high-frequency content in LFE makes no sense and is pretty much guaranteed to be a mistake. I don't really have an opinion as to where (decoder or downstream) it should be done - though I do believe that if LAV Audio is going to include LFE in downmixing, it should have a lowpass filter there just to make sure it's not downmixing high-frequency LFE garbage into the full-range L/R channels.
Stereodude
25th March 2015, 17:01
Ok, but it still doesn't make *any* sense to me whatsoever that DTS-MA tracks would need the LFE channel to be filtered, while TrueHD or PCM tracks would not. I would very much like dcadec to stay perfectly lossless. If filtering is needed, it should be done outside of the decoder implementation, and not be limited to DTS-MA, but apply to all audio sources (which need it). I don't care what Genelec says, we developers should think logically, and if DTS-MA needs filtering, then so does TrueHD. Makes no sense to treat them differently, considering that I've often seen TrueHD and DTS-MA tracks decode to the same data, when comparing tracks from different Blu-Ray releases.
The Dave Matthews and Tim Reynolds: Live at Radio City Blu-ray (http://www.blu-ray.com/movies/Dave-Matthews-and-Tim-Reynolds-Live-at-Radio-City-Blu-ray/489/) has a 5.1 24/96 TrueHD audio track that has content well above 120Hz in the LFE channel. I have no idea if it creates audible artifacts when mixed into the mains though. So DTS-HD MA isn't the only codec that can have content over 120Hz in the LFE channel.
e-t172
25th March 2015, 17:24
Well yeah, that's actually compliant, since TrueHD has a full-range LFE channel (http://www.genelec.com/faq/multichannel/101-what-is-the-lfe-1-channel/). But even if the spec technically allows it, it's still absurd to have high-frequency content in the LFE channel, and there's no reason for it to be there.
kalston
25th March 2015, 17:27
I updated my samples and made them shorter :
-DTS-HD MA with "LFE garbage" https://www.dropbox.com/s/7kcjijo4p34vd3c/dtshdsample.mka?dl=0
-True HD with "LFE garbage" https://www.dropbox.com/s/ar11chywic24wih/truehdsample.mka?dl=0 it's more subtle, but on the last 5 secs or so when the truck is hitting the ground there is some loud crackling if you don't use a low-pass filter at 120hz or less. That's from The Dark Knight blu-ray, I'm honestly surprised they let this slip through but I guess that just illustrates e-t172's point. (and there might differences between the blu-ray releases, this is the French one)
Arm3nian
25th March 2015, 19:12
I don't undertstand your point. My PC is the only thing that is connected to both speakers and headphones, and I'm not planning to change that in years to come. And I'm not requiring that all the sound will come with proper bass. In fact, my 2.1 system work fine with any software, I just tend to watch video content mostly with my headphones for unrelated reasons.
You say that everything sounds bad on a system when user made a wrong purchase? And that nobody should care because it all would sound terrible anyway? Then how come I find it all sounds perfectly fine? Videos, music, youtube, games and other stuff without directshow etc. I was not complaining that something sounds bad, I was asking for a feature to additionally improve experience on my system. In fact, previously I was using LAV Audio for some time without realizing it doesn't do this. AC3filter and 2 other video players (ironically both of which are banned on this forum) can do that for me, so I guess I'll live with it not being part of LAV Audio feature set.
If something should not be a job for a software then why not provide a hardware requirements for it? Remove an option for mixing into mono and stereo, say that user should buy 5.1 system for optimal experience instead, because why not? What's all the fuss about DXVA decoding when we should all just buy a better CPU?
Still, I found explanation and advice from Telion fair so I may aswell try that.
I'm sorry to sound harsh, I appreciate all the replies, but I just don't understand why you should have such an attitude. A PC is never a perfect (still best of course) platform and everyone should only be grateful if something can be improved or added through software.
Your points are contradicting. You say that you get good bass with all content, which means your subwoofer is working without an LFE stream. So if you downmix to stereo and mix the LFE channel, then those tones should get sent to the subwoofer in your headphones along with all other low frequencies. If your headphone has a filter, set somewhere around 80-120hz, then mixing the LFE is the same thing as having a dedicated stream... LFE was created for big systems, where you might want your full range speakers to reproduce some of the bass content in the entire audio but not the sound effects in the sub channel. For your case, you would want your sub to handle all low frequency content, and it should do so automatically. I don't know if something is wrong with your lav configuration, but you seem to have found a solution with ac3filter, so what's the problem? As mentioned, lav audio is a decoder, the options it has are just extras that are useful to have for a variety of systems.
aufkrawall
25th March 2015, 20:17
According to this, NV VPUs (at least on 960?) can decode H.264 lossless?
https://devtalk.nvidia.com/default/topic/821171/unix-graphics-announcements-and-news/linux-solaris-and-freebsd-driver-349-12-beta-/
jmone
25th March 2015, 20:49
I just setup a low-pass filter for the sub in JRiver (100hz and 48 db/octave because that's the highest value available in JRiver from what I've seen) and it completely gets rid of the distortion in the sample I posted, as expected.
Sounds like the player is the correct place to to do it in the chain rather than the decoder.
That said, if you are mixing down in the decoder (instead of the player) you are going to be stuck. One thing I've always liked about LAV is it does it job really well as a decoder and avoided all the feature bloat of previous decoders.
nevcairiel
25th March 2015, 21:11
According to this, NV VPUs (at least on 960?) can decode H.264 lossless?
https://devtalk.nvidia.com/default/topic/821171/unix-graphics-announcements-and-news/linux-solaris-and-freebsd-driver-349-12-beta-/
In theory yes, but only 4:2:0 8-bit, and there is no good way to determine if a GPU is capable of that.
FireFreak111
25th March 2015, 22:37
I updated my samples and made them shorter :
-DTS-HD MA with "LFE garbage" https://www.dropbox.com/s/7kcjijo4p34vd3c/dtshdsample.mka?dl=0
-True HD with "LFE garbage" https://www.dropbox.com/s/ar11chywic24wih/truehdsample.mka?dl=0 it's more subtle, but on the last 5 secs or so when the truck is hitting the ground there is some loud crackling if you don't use a low-pass filter at 120hz or less. That's from The Dark Knight blu-ray, I'm honestly surprised they let this slip through but I guess that just illustrates e-t172's point. (and there might differences between the blu-ray releases, this is the French one)
Turned on downmixing, removed surround and centre channels, put LFE on 0.11. Very distinct distortion on both samples, disappearing when LFE is removed.
I also have The Dark Knight blu-ray, TrueHD. Same distortion.
Low-Pass Filtering for LFE should be a checkbox on the first tab, as it's clear that garbage isn't meant to be there for the majority of formats. If someone doesn't want it, it can be unticked.
huhn
25th March 2015, 23:15
in what case could a LFE low pass filter create trouble?
if i look at it this way why shouldn't it be used i don't see a reason not to use it. a LFE can't or at least shouldn't be able to reproduce anything over 120 hz or something like that.
nevcairiel
25th March 2015, 23:16
If the LFE was already lowpassed, frequencies close to the low-pass point would get quieter. You don't use a brick-wall filter for that, afterall.
Bozotheclown
25th March 2015, 23:27
a small sample for testing
DTS-HD MA 5.1 24/192
http://www63.zippyshare.com/v/NrVKNPqD/file.html
nevcairiel
25th March 2015, 23:28
Samples are not required. 192kHz DTS-HD MA not working is known, and the developer has samples of it.
It'll be supported when it'll be supported. Until then, it'll still decode the core (as before).
huhn
25th March 2015, 23:33
so i guess there is no save way like ~200+ hz or something like that?
the issue in the dark knight sample is very extreme sounds like fireworks...
the down mixer of my asus essence stx isn't using a low pass filter for 2.0 down mixing too. so i would be left in. that's very disappointing.
e-t172
26th March 2015, 00:23
I updated my samples and made them shorter :
-DTS-HD MA with "LFE garbage" https://www.dropbox.com/s/7kcjijo4p34vd3c/dtshdsample.mka?dl=0
-True HD with "LFE garbage" https://www.dropbox.com/s/ar11chywic24wih/truehdsample.mka?dl=0 it's more subtle, but on the last 5 secs or so when the truck is hitting the ground there is some loud crackling if you don't use a low-pass filter at 120hz or less. That's from The Dark Knight blu-ray, I'm honestly surprised they let this slip through but I guess that just illustrates e-t172's point. (and there might differences between the blu-ray releases, this is the French one)
Oh wow, that does confirm it. Thanks for providing actual evidence to illustrate what was originally a simple hypothesis of mine :) I've read these files using MPC-HC's integrated audio switcher/router to route LFE (channel 4) to L/R and mute everything else so I could clearly see (or hear, in that case) what's going on. That makes the problem much clearer.
The first one really has tons of garbage, it's horrifying. It clearly sounds like it's clipping badly, and they didn't notice it because most harmonics from the clipping are above 120Hz. What's the source of the first one? Also, I'm not using the new DTS decoder, I'm still using dtsdecoder.dll 1.1.0.8, so the Arcsoft decoder clearly doesn't seem to lowpass either.
The second one is not as bad but aside from the issue you describe it also contains a loud treble sound at the beginning which is clearly not supposed to be there. You can clearly hear it if you listen only to LFE and mute the other channels.
I tried to dig in further using Audacity, but ironically, on the first one Audacity doesn't show the issue in the LFE channel on the first file (which is most likely because it doesn't support DTS-HD MA, and the DTS core is lowpassed). On the second file (TrueHD) however, the problem can be clearly reproduced and isolated from within Audacity, and made obvious by a spectrum plot.
This is clearly wrong and very audible if LFE is routed to a full-range channel. It definitely needs to be low-passed, otherwise the result is simply unacceptable. It's a shame that even major releases (e.g. Dark Knight) have these issues.
kalston
26th March 2015, 00:37
First one is the same that I uploaded before, The Scorpion King. Not a great film or anything but a "great blu-ray release" according to the (obviously subjective :p ) reviews. PQ is okay I'll give them that but I couldn't listen to the DTS-HD track as it has many occurrences of this kind of crap and I did not know it was the LFE back then (nor did I know anything about low-pass filters) so I just watched it with the DTS core.
jmone
26th March 2015, 03:50
This is great news and the feature list already looks pretty spot on! Do you know if it will be multi thread safe? eg in MC if you used the convert Video -> Audio feature with the dtsdecoderdll.dll you had to use only one conversion at a time or else odd things happened.
Thanks
Nathan
To answer my own question, a quick test of converting a couple of DTS-HA MA streams to flac at the same time worked fine!
Thanks for this inclusion in LAV, working well in my tests! RIP dtsdecoderdll.dll (served us well for many years).
jmone
26th March 2015, 06:47
Wow this DTS-MA discussion goes back a long way! 11th February 2011
....The "real" answer of course if for a Clever Crow to workout the DTS-MA code....
Some beer money sent Nev's way, but does anyone know if foo86/dcadec has a donate button?
madshi
26th March 2015, 08:38
You can open an issue with the dcadec decoder to ask for a donate button. That's the only way I know right now how to get in contact with the dev.
jmone
26th March 2015, 09:06
Thanks Mathias, done (though I notice you still don't have a donate button!)
https://github.com/foo86/dcadec/issues/19
kalston
26th March 2015, 11:05
If the LFE was already lowpassed, frequencies close to the low-pass point would get quieter. You don't use a brick-wall filter for that, afterall.
Makes sense... would have to analyze every single audio track before deciding whether a low-pass filter is needed or not. Sigh, why make it simple when we can make it complicated? :)
But maybe a double low-pass wouldn't be such a big deal though, I'm not sure how important those "on the edge" frequencies are. I'd need to do more testing to see if I can simply leave a permanent low-pass filter or need to worry about disabling it for properly produced tracks. Also, I'm still not sure what slope setting I should use (6, 12, 24, 48db per octave in JRiver?) when the DTS specs on Genelec site mention 60 db which seems incredibly high. Been reading about it last night but I'm a bit lost really.
While I've noticed the "LFE garbage" issue on many blu-rays including some big productions (Star Wars and Nolan's Batmans for example), I also have some surround music and I am 100% certain that my King Crimson (and probably also Pink Floyd) albums have been produced extremely carefully and do not need a low-pass filter and I'd hate to lose something when listening to those.
I personally don't need LAV to do the low-pass filtering or the mixing since I use JRiver but I understand why some people would want it, it makes sense with LAV featuring a mixer.
e-t172
26th March 2015, 17:32
If the LFE was already lowpassed, frequencies close to the low-pass point would get quieter. You don't use a brick-wall filter for that, afterall.
Well, yeah, but one could argue it's negligible if done correctly. For example, using a 4th order Butterworth lowpass filter (which is very simple to implement) at 140Hz will only be -0.1dB down at 120Hz, which is basically inaudible. If you're paranoid, setting the frequency to 200Hz will move the -0.1dB point to 168Hz which brings extra safety. (I'm using this calculator (http://www-users.cs.york.ac.uk/~fisher/mkfilter/)) IMHO it's a non-issue, really. It's way better to have redundant lowpass filters than to risk not having any.
bacondither
27th March 2015, 01:58
Low pass filters
Blue line.... = 1. Butterworth 4th order 120hz
Yellow line. = 1. Butterworth 4th order 120hz, 2. Butterworth 4th order 200hz
Pink line.... = 1. Butterworth 4th order 120hz, 2. Butterworth 4th order 120hz
White line.. = 1. Butterworth 4th order 200hz
Scale in decibels
http://s4.postimg.org/lo6ldpuwd/high_pass_mag.png
Scale in ms
http://s9.postimg.org/a8kyrp00v/high_pass_delay.png
FireFreak111
27th March 2015, 05:39
I was researching Windows 10, universal apps, and have been looking into differences between DirectShow, MediaFoundation and more.
Would it be possible post-BUILD (when we get more info on API changes) for the LAV Filters to work in the WinRT environment? Is LAV too dependent on DirectShow to ever be ported?
https://msdn.microsoft.com/en-us/library/windows/desktop/ms703138(v=vs.85).aspx MFT's are a possible option.
carmeloconny
27th March 2015, 09:42
hello everyone. I'm new in directshow technology.
I use DSPack in lazarus Language.
I can resize format type in LAVSplitter filter or LAV Video Decoder?
I tried this code. not working.
ZeroMemory(@mt, sizeof(AM_MEDIA_TYPE));
mt.majortype := MEDIATYPE_Video;
mt.subtype := MEDIASUBTYPE_RGB555;
mt.pbFormat := CoTaskMemAlloc(sizeof (VIDEOINFOHEADER));
// pVH := mt.pbFormat; // ERROR
ZeroMemory(@pVH, sizeof(VIDEOINFOHEADER));
pVH.bmiHeader.biBitCount := 16;
pVH.bmiHeader.biWidth := 720;
pVH.bmiHeader.biHeight := 576;
pVH.bmiHeader.biPlanes := 1;
pVH.bmiHeader.biXPelsPerMeter := 9;
pVH.bmiHeader.biYPelsPerMeter := 16;
pVH.bmiHeader.biSize := sizeof(BITMAPINFOHEADER);
pVH.bmiHeader.biSizeImage := sizeof(pVH.bmiHeader);
//DIBSIZE (pVideoHeader.bmiHeader);
mt.formattype := FORMAT_VideoInfo;
mt.cbFormat := sizeof(VIDEOINFOHEADER);
mt.bFixedSizeSamples := TRUE;
mt.lSampleSize := sizeof(pVH.bmiHeader);
// ******** end type *************
LAVSplitter.FindPin('Video', out_pin);
out_pin.ConnectionMediaType(mt)
Can someone help me understand how I can resize a video?
My project is to run a playlist files with different format.
I want my graph resize files and works in 720x576 resolution.
Thank you. Sorry for my english
kongfl888
27th March 2015, 10:47
Hi,
There is a problem when I used dxva2 native.
http://s9.postimg.org/5mm6m69uj/mpc.jpg (http://postimg.org/image/5mm6m69uj/)
Display noise(mess).
In fact, It should be:
http://s28.postimg.org/gsiu5qt6x/mpc2.jpg (http://postimg.org/image/gsiu5qt6x/)
It was found that since 0.64.0.12(0.64.0.11 is ok).
---
Testing environment
MPC-HC (Nightly)
----------------
Build information:
Version: 1.7.8.123 (6a123b2) (develop)
Compiler: MSVC 2013 Update 4 (SSE)
Build date: Mar 27 2015 01:04:23
LAV Filters(mpc intenal or nightly (http://files.1f0.de/lavf/nightly/)):
LAV Splitter: 0.64.0.32
LAV Video: 0.64.0.32
LAV Audio: 0.64.0.32
FFmpeg compiler: MinGW-w64 GCC 4.9.2
Operating system:
Name: Windows NT 6.3 (build 9600)
Version: 6.3
Hardware:
CPU: Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz
GPU: Intel(R) HD Graphics 3000 (driver version: 9.17.10.4101, core graphics)
nevcairiel
27th March 2015, 13:50
This issue should be resolved in the next nightly build.
kongfl888
27th March 2015, 15:50
Thank you very much!
ryrynz
28th March 2015, 11:26
Nev, is it possible to improve seeking performance when bitstreaming? I was bitstreaming DTS-ES and a seek delays audio playback for about three seconds on my receiver.
nevcairiel
28th March 2015, 11:39
Buy a receiver that syncs faster to the audio stream. Nothing can be done about slow hardware.
midiboy
28th March 2015, 15:20
Hey guys!
I took the plunge and downloaded and installed Windows10, latest build (10041) on my PC/HTPC and so far I am pretty impressed with its stability and speed. A few bumps here and there but nothing serious so far. I am using ZoomPlayer 10 max together with the latest LAV filters (I also tried the latest nightly build 0.64.33) and latest MadVR renderer and Vobsub on an otherwise clean system (meaning no more codecs, not even ffshow except for the ones that came with ZoomPlayer (LAV + some MP3 filter). Graphics is ATI HD6800 with the video drivers that Win10 downloaded for me. For HDMI passthrough audio I had to install the latest HDMI audio driver from the AMD 15.3 beta driver.
Everything I threw at it so far in terms of audio&video files works great with the notable exception of DTS and DTS-HD. The Onkyo receiver simply does not detect it (it worked before on Win7). I tried both DTS-HD options in LAV audio configuration but even regular DTS does not work.
Dolby seems to work great though.
Question ... do you want me to help you troubleshoot it ? I could send you logs or whatever you need, just let me know what to do. Of course I would like to get it fixed but since Win10 isnt finished yet I accept it if you say you have better bugs to fry ;)
Just let me know!
Alex
PS:I also have a green bar on the top of the video if DXVA native mode is used (I read about it a few posts above) but a fix for that is coming I read ...
SeeMoreDigital
28th March 2015, 16:35
Everything I threw at it so far in terms of audio&video files works great with the notable exception of DTS and DTS-HD. The Onkyo receiver simply does not detect it (it worked before on Win7). I tried both DTS-HD options in LAV audio configuration but even regular DTS does not work.
I'm running the same version of Windows 10 on my Dell XPS 17 laptop, using nVidia 347.25 drivers. I can confirm I don't have any issues sending any flavour of DTS bit-stream via HDMI to my Onkyo TX-NR609 amplifier.
midiboy
28th March 2015, 16:49
I'm running the same version of Windows 10 on my Dell XPS 17 laptop, using nVidia 347.25 drivers. I can confirm I don't have any issues sending any flavour of DTS bit-stream via HDMI to my Onkyo TX-NR609 amplifier.
mhhh... interesting. So maybe it is a problem with the HDMI audio filter? Although the Control Panel->Sound-> AMD HDMI Output -> Properties -> Supported Formats -> Encoded Formats dialog shows DTS and DTS-HD as supported.
SeeMoreDigital
28th March 2015, 16:58
mhhh... interesting. So maybe it is a problem with the HDMI audio filter? Although the Control Panel->Sound-> AMD HDMI Output -> Properties -> Supported Formats -> Encoded Formats dialog shows DTS and DTS-HD as supported.My laptop uses a Realtek hardware chip-set to send bit-stream audio via HDMI.
Out of interest which model of Onkyo amp do you have?
midiboy
29th March 2015, 01:27
Hey,
ups. I am sorry, I totally forgot I now have a Marantz AV7005, not an Onkyo. I used to have an onkyo before ;)
midiboy
29th March 2015, 15:07
Hi again,
ok now after uninstalling and reinstalling HDMI driver and all audio/video filters I got DTS working but ONLY if I do NOT select DTS-HD. If I select DTS-HD LAV-Audio will report bitstreaming but the receiver wont detect DTS and stay quiet. If I deselect DTS-HD again, DTS works. Obviously all the DTS-MA tracks will only playback as DTS. Better than nothing but any ideas how I can get DTS-HD working as well or what the reason for that problem is? HDMI EDID reports that DTS-HD is supported and I know I had DTS-MA soundtracks working with this receiver before. (Use DTS-HD Framing switch doesnt seem to make any difference).
Interesting:
I just tested Dolby Digital Plus and TrueHD testfiles ... they also do not work. So obviously while I can playback standard DTS/Dolby, all HD formats do not work although they did before.
Any idea how I can troubleshoot this further? There was no hardware change so I think I can rule out the receiver, video card and cable.
Ajvar
29th March 2015, 16:36
Why would such thing happen that any video encoded in HEVC x265 by 1.5+444 and up gives crash while trying to play using LAV 0.64? Player crashes with information nvcuvid.dll crash. Using LAV 0.63 works fine. If encode by x264 1.5+439 and earlier = fine. If I just try to play RAW file = fine.
Tried different versions of mkvtoolnix to mux in MKV. Also when playing on Windows 10 it plays fine. But crashes on Windows 7.
P.S. I will try to mux in MP4 and also update Nvidia drivers.
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: PotPlayerMini.exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 54bdb241
Имя модуля с ошибкой: nvcuvid.dll
Версия модуля с ошибкой: 7.17.13.4771
Отметка времени модуля с ошибкой: 54eed51b
Код исключения: c0000005
Смещение исключения: 0009ef27
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
UPDATE: Possible culprit found. It appears that video was set false 1920x1088 instead of 1920*1080 and when encoded by x264 444 and up, it gives crash on nvcuvid.dll when using LAV 0.64.
After muing to mp4 Heigh is fixed to 1080. Why that false heigh appeared in the first place I don't know.
nevcairiel
29th March 2015, 16:37
I cannot do anything about crashes in nvidia binaries. I recommend to use DXVA2 anyway, its superior in every way.
Ajvar
29th March 2015, 19:01
I cannot do anything about crashes in nvidia binaries. I recommend to use DXVA2 anyway, its superior in every way.
Thanks, I get it. And I also heared from many that DXVA2/DXVA2 copy-back is best, but I just tested once that CUDA decode gives lower CPU load on my config when I use SVP (frame interpolation). Perhaps it is matter of personal preferences/PC confiig/workload.
BTW, Problem found: if you set --min-cu-size 16 while encoding in HEVC then frame size will be scewed (1088 instead of 1080) and that will bring a crash on LAV 0.64 but only if file encoded by x265 1.5+444 and up.
WOW! That was very tricky to find. Not sure if it is a bug or just evolution of x265 encoder/LAV decoder.
captainadamo
29th March 2015, 19:24
BTW, Problem found: if you set --min-cu-size 16 while encoding in HEVC then frame size will be scewed (1088 instead of 1080) and that will bring a crash on LAV 0.64 but only if file encoded by x265 1.5+444 and up.
Why is that surprising? You told it to use a min CU size of 16x16 so it would have to pad out to a mod-16 width because of that. 1088 being a proper mod-16 value.
Ajvar
29th March 2015, 20:12
Why is that surprising? You told it to use a min CU size of 16x16 so it would have to pad out to a mod-16 width because of that. 1088 being a proper mod-16 value.
I get about heigh (16*68=1088) but that nvcuvid crash was the mystery. It happens only with latest versions of x265 and on 0.64 LAV (why 0.64 LAV is also not surprisingly to me because I know that HEVC decoding stuff was programmed there).
FireFreak111
30th March 2015, 04:08
Any news on the Low-Pass Filter decision? I was watching the Interstellar blu-ray (DTS-HD MA track, newest nightly, no DLL), and their is distinct audio distortion on high-bass parts (wormhole, waves), distortion that definitely shouldn't be there (Audio switcher, only LFE ticked). As far as I know, even with the Dolby Home Theatre v4 black-box, there is no low-pass filtering in the entire audio chain. For a standard USB DAC, motherboard audio or sound card, there won't be low-pass filtering, which means distortion. Should this be done at the individual decoder level, or globally by LAV? It would keep LAV simple if the decoder was responsible for low-pass filtering, ending concerns about double-filtering. Especially considering that many of the codecs people use are filtered at the encoding stage (AC3, standard DTS), and its only a few popular codecs that need filtering (DTS-HD, TrueHD). And conveniently, one of those decoders is still in active development, the other implemented by FFmpeg (I think) which could still be patched.
Star Trek (TrueHD 5.1) also has distortion in the LFE channel.
ryrynz
30th March 2015, 07:38
Any news on the Low-Pass Filter decision?
With all the discussion and the obvious downfalls and examples of problems not having one I think it's a no-brainer, there needs to be a filter.
P.J
30th March 2015, 11:16
Just recorded a video with DVBViewer from Eutelsat 4k HEVC 10bit channel but the seekbar in MPC-HC doesn't work :confused:
LigH
30th March 2015, 11:48
Possible that the player is unable to guess a playing time because it misses an average video bitrate field in a header or continuous time stamps through the whole video. Players usually don't scan the whole file before playing. Remultiplex the TS to MKV, then it should be possible to seek, because the MKV should have a keyframe index then.
Aleksoid1978
30th March 2015, 12:27
Just recorded a video with DVBViewer from Eutelsat 4k HEVC 10bit channel but the seekbar in MPC-HC doesn't work :confused:
Upload a sample file.
Qaq
30th March 2015, 12:49
I just tested Dolby Digital Plus and TrueHD testfiles ... they also do not work. So obviously while I can playback standard DTS/Dolby, all HD formats do not work although they did before.Check out the AVR settings. Perhaps, its set to pass sound to TV, and since TV doesn't supports HD sound... Also check Windows sound properties for HDMI audio. Do you see HD formats there?
sneaker_ger
30th March 2015, 13:15
@Nev
Could you help out a little? There was a discussion in the x265 thread about playback problems when muxing with mkvtoolnix. After some generations of muxing/demuxing LAV software playback hangs at the start, first generation crashes CUVID.
Here is a sample file:
https://mega.co.nz/#!M4k1xAKZ!ExOzB1CoPpoBVVYmYexSBWdffoRQtxACD8kuJ7-vGxg
Is this a bug in LAV or in mkvtoolnix? If it's in mkvtoolnix it would be great if you could answer in the mkvtoolnix thread (http://forum.doom9.org/showthread.php?p=1715328#post1715328)
/edit:
Sorry, I still had old mkvtoolnix version installed for test. Ignore the sample.
Kazuya
30th March 2015, 14:17
Hi,
I think there is a problem on LAVaudio with surround output.
On 5.1 sound, the surround sound goes on the back surround output, and this is wrong !
5.1 surround sound should be on side speakers, not back.
With a 7.1 system playing 5.1 movies, it's a big problem.
On 7.1 sound, no problem, back surround is on back and side on side.
Look at this picture captured on live stream :
http://nsa33.casimages.com/img/2015/03/30/150330031733813860.jpg (http://www.casimages.com/i/150330031733813860.jpg)
Thanks for the support !
SeeMoreDigital
30th March 2015, 16:48
When playing 6 channel PCM, DTS, AC3, etc audio files, using LAV 0.64.0.33-git, and passing the audio via HDMI to my Onkyo amp. I can confirm that the audio is correctly output to my 'side left' and 'side right' speakers, but LAV's graphic reveals that they are 'back left' and 'back right' speakers: -
http://i57.tinypic.com/1hxk3l.png
Cheers
Kazuya
30th March 2015, 16:50
But have you a 7.1 system ?
SeeMoreDigital
30th March 2015, 16:53
But have you a 7.1 system ? Yes I do...
huhn
30th March 2015, 17:42
for some reason output is 8 channel 0x63f not 6 channel 0x3f
kalston
30th March 2015, 17:45
Doesn't LAV have an option for that? "convert to standard channel layout" it's called I believe.
P.J
30th March 2015, 21:13
Upload a sample file.
How to edit/trim HEVC? :confused:
Ajvar
30th March 2015, 22:22
How to edit/trim HEVC? :confused:
mkvtoolnix
MMG>Global> split based on fields numbers.
BatKnight
30th March 2015, 22:24
Hi,
I think there is a problem on LAVaudio with surround output.
On 5.1 sound, the surround sound goes on the back surround output, and this is wrong !
5.1 surround sound should be on side speakers, not back.
With a 7.1 system playing 5.1 movies, it's a big problem.
On 7.1 sound, no problem, back surround is on back and side on side.
I have the same problem with my 7.1 setup. When playing 5.1 audio I get the side's sound on the back speakers.
I work it around using MPC-HC audio switcher custom channel mapping. I select 6 channel's and then map the back speakers to the side speaker.
But yes, I would prefer that LAV Audio had it correctly, so I could disable MPC-HC's audio switcher.
Bat
sneaker_ger
30th March 2015, 22:27
Nev has already made a change to the git which I think could be for addressing the issue. Test the upcoming nightly.
https://github.com/Nevcairiel/LAVFilters/commit/3942a7b368325b4e0db980877b777c2708549c18
BatKnight
31st March 2015, 00:18
Nev has already made a change to the git which I think could be for addressing the issue. Test the upcoming nightly.
https://github.com/Nevcairiel/LAVFilters/commit/3942a7b368325b4e0db980877b777c2708549c18
Yes, it is corrected.
I've disabled the custom channel mapping and MPC-HC's audio switcher and now LAV Audio plays the 5.1 side channels on the side speakers, on my 7.1 setup.
Thanks nevcairiel! :thanks:
Bat
Aleksoid1978
31st March 2015, 05:09
How to edit/trim HEVC? :confused:
As you talking about recorded mpeg - can split it's as binary file, use dgsplit, http://neuron2.net/dgsplit/dgsplit12.zip
midiboy
31st March 2015, 07:59
Check out the AVR settings. Perhaps, its set to pass sound to TV, and since TV doesn't supports HD sound... Also check Windows sound properties for HDMI audio. Do you see HD formats there?
Hey Qaq!
I already checked, the receiver is set to AMP not TV. I can see all supported formats in the HDMI settings dialog in Windows, as you can see, it should support all HD formats:
http://i.imgur.com/sVxpP5s.png
bouwew
31st March 2015, 09:04
Why not use AC3Filter (lite)? It can perform all that is needed: LFE filtering and 10dB amplification.
I use it in combination with LAV for DTS HD-MA decoding since my receiver can only do upto DTS. I'm streaming 6-channel pcm to my receiver when looking at a movie with DTS HD-MA audio.
If you want, I can post my AC3Filter-settings.
Any news on the Low-Pass Filter decision? I was watching the Interstellar blu-ray (DTS-HD MA track, newest nightly, no DLL), and their is distinct audio distortion on high-bass parts (wormhole, waves), distortion that definitely shouldn't be there (Audio switcher, only LFE ticked). As far as I know, even with the Dolby Home Theatre v4 black-box, there is no low-pass filtering in the entire audio chain. For a standard USB DAC, motherboard audio or sound card, there won't be low-pass filtering, which means distortion. Should this be done at the individual decoder level, or globally by LAV? It would keep LAV simple if the decoder was responsible for low-pass filtering, ending concerns about double-filtering. Especially considering that many of the codecs people use are filtered at the encoding stage (AC3, standard DTS), and its only a few popular codecs that need filtering (DTS-HD, TrueHD). And conveniently, one of those decoders is still in active development, the other implemented by FFmpeg (I think) which could still be patched.
Star Trek (TrueHD 5.1) also has distortion in the LFE channel.
nevcairiel
31st March 2015, 09:06
If you use a receiver, you should not perform the 10dB LFE attenuation in software. Instead, do it with the receiver (if it doesn't do it already, anyway!)
Also, most receivers have a LFE Low-Pass option, too.
bouwew
31st March 2015, 09:32
Update: just checked the settings of my receiver, turns out they were reset somehow, I need to retest to make sure my statement below is still correct.
In my case, when sending 6-channel PCM, that is not the case.
When I'm bitstreaming, via HDMI, DTS to my receiver, and when I'm sending decoded DTS via 6-channel PCM to my receiver, I can hear clearly that the volume of the LFE frequencies is lower in the second case.
Btw, my spreaker setup is a 5.0 setup. 3 small speakers: center, surround left and right, 2 full range speakers: left and right.
bouwew
31st March 2015, 11:19
Update 2:
I have setup my receiver (Onkyo TX-SR804) correctly now: disabled the LFE and set the front speakers to FULL BAND. I noticed the "LFP of LFE" option has not disappeared so I assume the LPF is still active. Will test later.
Now, when retesting the two scenario's described above, I can hear a distinct difference in Bass-level. With a tick in the LAV audio filter DTS-box the Bass sounds louder than without this tick. Apparently, in the 6-channel PCM case the Bass gets redirected to the fronts but not at the correct level. When I then enable AC3Filter and enable the option that redirects the LFE channel to the fronts, the Bass seems to be at the same level. But this could give 6dB amplification, a difference of 4dB is less easy to hear than 10dB.
Nev, can I request that you add a 5.0-option to the Output Speaker Configurations? In that case I can omit AC3Filter and just use LAV mixing to get the Bass to the right level :)
ryrynz
31st March 2015, 11:32
Buy a receiver that syncs faster to the audio stream. Nothing can be done about slow hardware.
Found the culprit, default Directsound out. MPC-BE's audio renderer is a lot faster. Looks like MPC-HC really could use that new audio renderer released asap.
bouwew
31st March 2015, 12:03
Nev, another question/issue:
Since my receiver can decode DTS at max/best, I want libdcadec to decode the DTS HD-MA and TrueHD audio. In LAV audio filter I have unticked the DTS-HD and TrueHD boxes to match my receiver capabilities.
Now, what is happening when I play a movie with DTS HD audio, MPC-HC with LAV filters outputs the DTS core to my receiver. The only way to get DTS-HD decoded correctly (by libdcade) is by unticking the DTS-box in LAV audio. Is there any way to automatically achieve that DTS audio is bitstreamed to the receiver and DTS-HA audio is decoded by MPC-HC/LAV/libdcadec and then streamed as 6-channel PCM?
nevcairiel
31st March 2015, 12:04
This is not possible, and its not an option I plan to offer.
bouwew
31st March 2015, 12:07
This is not possible, and its not an option I plan to offer.
This is regarding the DTS / DTS-HD question/issue? No problem, I can work around that :)
Or the 5.0 configuration request? That would be nice to have.
SeeMoreDigital
31st March 2015, 16:57
Hi Nev,
I can't remember if it's been asked before, but would it be possible to add a multi-channel PCM 'bitstreaming/pass-through' option to LAV Audio Decoder?
http://i62.tinypic.com/oqca4g.png
The Blu-ray audio HFPA disc format is including multi-channel PCM (anything up-to 192KHz/24-bit) on some of their disc releases.
Cheers
nevcairiel
31st March 2015, 17:01
PCM is PCM, you don't need any bitstreaming for it, and the IEC 60958 or IEC 61937 spec also doesn't define anything for it.
Helios61
31st March 2015, 17:19
PCM is PCM, you don't need any bitstreaming for it, and the IEC 60958 or IEC 61937 spec also doesn't define anything for it.
Does that mean, that PCM isn't processed by Windows Mixxer?
andyvt
31st March 2015, 17:23
Does that mean, that PCM isn't processed by Windows Mixxer?
To bypass the mixer you need to use a WASAPI renderer. It's not a function of the decoder.
SeeMoreDigital
31st March 2015, 18:17
PCM is PCM, you don't need any bitstreaming for it, and the IEC 60958 or IEC 61937 spec also doesn't define anything for it.It would be most useful to have an easy option to pass multi-channel PCM audio via HDMI. Without having to fiddle about with your software media players settings...
mindbomb
31st March 2015, 21:58
It would be most useful to have an easy option to pass multi-channel PCM audio via HDMI. Without having to fiddle about with your software media players settings...
The output format settings on the right are the settings that control pcm output from lav audio. I think what you want is a different audio renderer.
Fantasy
1st April 2015, 11:50
hello,
I encode video in webm format with high bitdepth (10 bit).
Then I play it with MPC-HC and LAV Video Decoder 0.64.0 but it seems that MPC-HC with LAV Video Decoder can't decoded webm format with high bitdepth.
Can you add support for decoding webm format with high bitdepth please?
mkvtoolnix
MMG>Global> split based on fields numbers.
It refuses to work due to so many artifacts
As you talking about recorded mpeg - can split it's as binary file, use dgsplit, http://neuron2.net/dgsplit/dgsplit12.zip
After splitting, the problem disappears and I can use the seekbar :confused:
Aleksoid1978
3rd April 2015, 00:16
After splitting, the problem disappears and I can use the seekbar :confused:
Upload original file :)
Arm3nian
3rd April 2015, 02:56
It would be most useful to have an easy option to pass multi-channel PCM audio via HDMI. Without having to fiddle about with your software media players settings...
Multichannel pcm is already the default, through windows or software. Everything is decoded and output in pcm unless you choose to bitstream. If you want wasapi for pcm output then tick the box in the renderer. Wasapi is useless and often creates problems for bitstream, since the output is already untouched.
NikosD
3rd April 2015, 09:05
Hello.
Using LAV Video x64 0.64.38 I have visual glitches with almost every .ts HEVC file 8bit and 10bit using SW decoder, DXVA Copy-back and DXVA native.
Looks like a LAV splitter problem with .ts files.
The glitches appear after seeking and sometimes at the beginning of the file.
nevcairiel
3rd April 2015, 09:21
Glitches after random access in TS files are normal, the TS format was built for streaming and broadcasting, not with seeking as its primary purpose.
The format does not include any information where a "clean" seek point is, so without that information, the decoder has to recover from whichever position you seeked to, which can and will result in a few broken frames after seek (and/or at the start of the file, if the file was cut badly).
NikosD
3rd April 2015, 09:29
Thanks.
The reason I report that now, is because I don't remember those glitches with previous version of LAV.
It seemed to me that something changed relatively recently.
Glitches after random access in TS files are normal, the TS format was built for streaming and broadcasting, not with seeking as its primary purpose.
The format does not include any information where a "clean" seek point is, so without that information, the decoder has to recover from whichever position you seeked to, which can and will result in a few broken frames after seek (and/or at the start of the file, if the file was cut badly).
Yes, this problem looks even much worse in DXVA2 copy-back.
No need to seek, just a bad frame causes it while playing :(
http://phota.me/1xEK.png
madshi
3rd April 2015, 09:54
In h264 there are recovery point SEIs that allow to find out which frame is "safe" to seek to. Are these SEIs gone in h265? If all else fails, shouldn't it be possible to analyze the bitstream to search for a frame which has no references to any past frames? Such a frame should be safe to seek to, shouldn't it? I think it should be technically possible to find a safe seek position, even if it may be more difficult compared to h264 (I don't know).
nevcairiel
3rd April 2015, 10:17
Of course its possible somehow, but its super complex, so I'm not going to bother. Maybe someone will do this for ffmpeg.
FWIW, for H264 this is not implemented in the demuxer either, the decoder just discards any frames that are not "clean".
Asking a demuxer to know about a long and ever growing list of video formats and be able to identify keyframes for all of them is just madness, so it will never do that. It will act on information inside the container metadata, and not try to interpret the video data inside it at all.
The decoder can handle all the video stuff then, including dropping any corrupted frames if this is implemented for the codec in question. It just isn't for HEVC, maybe some day someone will do it.
Ideally, videos should just come in containers that have key-frame info, like MP4 or MKV. Commercially, TS is only really used for broadcasts (and Blu-ray, but Blu-ray has extra metadata for clean seek points), and people are generally just too lazy to remux the videos after recording a broadcast, so shrug.
Aleksoid1978
3rd April 2015, 10:51
Of course its possible somehow, but its super complex, so I'm not going to bother. Maybe someone will do this for ffmpeg.
FWIW, for H264 this is not implemented in the demuxer either, the decoder just discards any frames that are not "clean".
Asking a demuxer to know about a long and ever growing list of video formats and be able to identify keyframes for all of them is just madness, so it will never do that. It will act on information inside the container metadata, and not try to interpret the video data inside it at all.
The decoder can handle all the video stuff then, including dropping any corrupted frames if this is implemented for the codec in question. It just isn't for HEVC, maybe some day someone will do it.
Ideally, videos should just come in containers that have key-frame info, like MP4 or MKV. Commercially, TS is only really used for broadcasts (and Blu-ray, but Blu-ray has extra metadata for clean seek points), and people are generally just too lazy to remux the videos after recording a broadcast, so shrug.
About H265(HEVC) - ffmpeg support detect and set key-frame marker. So - you can use it's after seeking as well as for MPEG2/VC1 in decoder. I use it in MPC-BE - and no artefact after seeking :)
nevcairiel
3rd April 2015, 10:52
HEVC is much more complex than that. It wouldn't work reliably for H264, and it won't work reliably for HEVC.
There can easily be streams without key-frames, or "key" frames that are not enough to avoid artifacts - just like in H264. Its a complex codec, so I rather not try to do some half-baked solution. Who really cares about a few frames of artifacts, if the alternative is a black screen and not seeing anything?
SeeMoreDigital
3rd April 2015, 11:04
Multichannel pcm is already the default, through windows or software. Everything is decoded and output in pcm unless you choose to bitstream. If you want wasapi for pcm output then tick the box in the renderer. Wasapi is useless and often creates problems for bitstream, since the output is already untouched.
Well, try as I might, I'm unable to figure out how to reliably pass multi-channel PCM audio via HDMI to my surround sound amplifier using LAV injunction with MPC-BE.
I currently have some 6Ch and 8Ch PCM samples placed within the .m2ts container, which engages LAV Audio Decoder just fine, but my surround sound amplifier is only detecting 2 channels.
I'm sure I've had this working in the past :eek:
madshi
3rd April 2015, 11:24
Of course its possible somehow, but its super complex, so I'm not going to bother. Maybe someone will do this for ffmpeg.
FWIW, for H264 this is not implemented in the demuxer either, the decoder just discards any frames that are not "clean".
Asking a demuxer to know about a long and ever growing list of video formats and be able to identify keyframes for all of them is just madness, so it will never do that. It will act on information inside the container metadata, and not try to interpret the video data inside it at all.
The decoder can handle all the video stuff then, including dropping any corrupted frames if this is implemented for the codec in question. It just isn't for HEVC, maybe some day someone will do it.
Ideally, videos should just come in containers that have key-frame info, like MP4 or MKV. Commercially, TS is only really used for broadcasts (and Blu-ray, but Blu-ray has extra metadata for clean seek points), and people are generally just too lazy to remux the videos after recording a broadcast, so shrug.
I wouldn't implement codec specific custom seeking for every codec out there, that would be madness, I fully agree with you there. However, there are only a handful of codecs which are commonly used in TS, so implementing some extra seeking support only for those few codecs might make some sense - depending on how much of a perfectionist you are.
Of course simply discarding unclean frames in the decoder works ok, too. However, that comes with its own set of limitations: E.g. if there's a key frame only every 10 seconds of playback, imagine the user seeks to a specific time frame, then playback will either have a "black screen" or corrupted frames for up to 10 seconds for every seek.
Ideally the demuxer would be clever enough to start demuxing from the nearest seek point *before* the desired time frame. Then the decoder would discard any frames prior to the desired time frame, and then the whole playback chain could do frame perfect seeks. I might be asking a lot here, but wouldn't that be needed for a perfect end user seek experience with TS files? The big question might be whether we "need" a perfect seek experience with TS files. But don't we developers all strive for a perfect end user experience?
e-t172
3rd April 2015, 11:38
I currently have some 6Ch and 8Ch PCM samples placed within the .m2ts container, which engages LAV Audio Decoder just fine, but my surround sound amplifier is only detecting 2 channels.
Are you sure downmixing is disabled in LAV Audio, that your player doesn't have some downmixing/routing feature enabled, and most importantly, that the Windows sound device (in the control panel) is configured for 7.1 and not for stereo?
But don't we developers all strive for a perfect end user experience?
Well yeah, but there are hidden costs here. Consider that this would require complex code that would then have to be maintained (technical debt) and could make future changes harder. Maybe it could make it harder to add improvements that are more important than seeking-in-TS in the first place. Sometimes it's just not worth it because the potential consequences from the technical debt are larger than the immediate benefit.
nevcairiel
3rd April 2015, 11:52
"Perfect" seeking in MPEG-TS would be incredibly slow. The format has no index, so even finding the timestamp we want is already quite a slow and heuristic process (a binary search, usually). Add on top of that going backwards and parsing frame headers, and it will probably be a noticeable slow-down again, especially over high-latency or slow-random-access connections (ie. network, or optical mediums). That IO APIs are not designed to read backwards doesn't help.
I will rather continue to advice people to remux to proper containers for offline playback, instead of "ab"using a streaming/broadcasting container format. There are people that have an even stricter interpretation and say that seeking in TS should just flat out not be supported at all, since the format isn't build for that.
NikosD
3rd April 2015, 12:18
About H265(HEVC) - ffmpeg support detect and set key-frame marker. So - you can use it's after seeking as well as for MPEG2/VC1 in decoder. I use it in MPC-BE - and no artefact after seeking :)
I'm impressed by the way that MPC-BE x64 v1.4.4.265 handles .ts files.
No artifacts at all, just a minimal pause of the frame after seeking (much better than artifacts of course).
But I'm more impressed of the ability to decode 10bit H.264/H.265 videos without disabling P010/P016 output, that I have to disable using MPC-HC (LAV Video).
How is this even possible ?
I thought it was a bug of Intel drivers and as a matter of fact I posted a bug report today in Intel forums!
nevcairiel
3rd April 2015, 12:50
Please move discussion about MPC-BE to its own thread.
NikosD
3rd April 2015, 13:06
OK, but the discussion of 10bit - P010/P016 output is more appropriate here, because in LAV we have to disable it in order to decode the 10bit H.264/H.265 clips.
Is it a bug of Intel drivers or incompatibility of LAV - Intel drivers ?
Can you be more specific why isn't working with LAV and if there is any workaround for that ?
Because as I've already written above, I posted that to Intel forums in order to fix it!
Thanks!
huhn
3rd April 2015, 13:12
this is a bug in the intel driver and has nothing to do with what lav does.
EVR from intel says it can handle p016 and than it fails that's all.
clsid
3rd April 2015, 13:16
MPC-HC has a workaround for that P010 bug. MPC-BE probably just copied that.
Speaking of MPEG-TS, is program switching/selection functionality something we can expect soonish, or is that still low priority?
NikosD
3rd April 2015, 13:23
MPC-HC has a workaround for that P010 bug. MPC-BE probably just copied that.
I'm using MPC-HC x64 v1.7.8.123 and LAV x64 0.64.38 and when I enable P010/P016 output in LAV properties I get a black screen when I'm trying to decode 10bit H.264/H.265 clips with any decoder (SW, DXVA)
How could I enable that workaround ?
clsid
3rd April 2015, 13:38
It is applied automatically for EVR. If it doesn't work there must be a bug.
Edit: looking at the source, it seems only applied to vanilla EVR. See HookWorkAroundNVIDIADriverBug uses in the code.
The effect is the same as disabling P010, so you might as well just keep doing that.
huhn
3rd April 2015, 13:40
madVR is the best "workaround" it can deal with all colorspaces lavfilter can output
nevcairiel
3rd April 2015, 13:40
I think it was only enabled for P010 for NVIDIA, while the Intel bug is with P016, maybe MPC-HC didnt blacklist P016 in addition to P010, who knows.
NikosD
3rd April 2015, 13:50
It is applied automatically for EVR. If it doesn't work there must be a bug.
Edit: looking at the source, it seems only applied to vanilla EVR. See HookWorkAroundNVIDIADriverBug uses in the code.
The effect is the same as disabling P010, so you might as well just keep doing that.
Well, it isn't applied even for vanilla EVR. I tried that too.
Disabling P010/P016 still is the only way for MPC-HC.
Upload original file :)
I'll capture it again in short time and upload it :)
I'm impressed by the way that MPC-BE x64 v1.4.4.265 handles .ts files.
No artifacts at all, just a minimal pause of the frame after seeking (much better than artifacts of course).
But I'm more impressed of the ability to decode 10bit H.264/H.265 videos without disabling P010/P016 output, that I have to disable using MPC-HC (LAV Video).
How is this even possible ?
I thought it was a bug of Intel drivers and as a matter of fact I posted a bug report today in Intel forums!
Agree, and I have to use copy-back mode with GTX960 :rolleyes:
madshi
3rd April 2015, 17:46
"Perfect" seeking in MPEG-TS would be incredibly slow. The format has no index, so even finding the timestamp we want is already quite a slow and heuristic process (a binary search, usually). Add on top of that going backwards and parsing frame headers, and it will probably be a noticeable slow-down again, especially over high-latency or slow-random-access connections (ie. network, or optical mediums). That IO APIs are not designed to read backwards doesn't help.
Well, with TS you have to use random access to find the proper position in the file, anyway. So wouldn't it be possible to implement some clever algorithm like this: Average Bandwidth = file size / runtime. Max seek distance = statistic LAV collected during playback so far (initialized to maybe 5 seconds). So if a seek occurs, you could jump back about twice the max seek distance, just to be safe, and then simply start demuxing from that point. No further checks *at all*. You would simply start demuxing "too early". The only negative side effect would be that it would take longer for a seek to take effect. But the delay would almost completely depend on the decoder. So with a fast decoder (e.g. MPEG2 and probably also h264) it might not be noticeable at all. With h265 it would be noticeable, of course. Shouldn't this "simple" method of starting demuxing too early automatically take care of all graphical corruption and provide frame perfect seeking? The video and audio renderers are supposed to automatically delete frames which are "too early", so there's nothing else LAV Splitter would have to do, I think. Ok, some users might have different priorities than others. I'd prefer frame perfect seeking over fast seeking times. Other users might prefer fast seeking and be willing to live with non-perfect seeking instead. So maybe there would have to be an option for this.
Just throwing around some ideas. Feel free to ignore if you don't like it.
Arm3nian
4th April 2015, 01:42
Well, try as I might, I'm unable to figure out how to reliably pass multi-channel PCM audio via HDMI to my surround sound amplifier using LAV injunction with MPC-BE.
I currently have some 6Ch and 8Ch PCM samples placed within the .m2ts container, which engages LAV Audio Decoder just fine, but my surround sound amplifier is only detecting 2 channels.
I'm sure I've had this working in the past :eek:
It should be plug and play.
What are the outputs at lav and the mpcbe audio renderer? Are both showing multichannel output? The lav output goes to the renderer, and the renderer outputs via hdmi. My onkyo receiver has internal mixing options that you can select. If I start playing a 5.1 source then it automatically switches to 5.1 mpcm, but I can change it to stereo if I want. Maybe you need to manually select mpcm on the receiver. Also make sure your system is configured as 5.1/7.1 in the windows mixer just in case wasapi isn't working properly.
jkauff
4th April 2015, 02:03
The software that comes with Hauppauge video capture hardware outputs a .TS file, but provides an option to convert the file to .MP4. It makes sense to me that the burden of delivering a file to the end user with a better container for playback should rest with the capture program, rather than expecting LAV to handle the quirks of .TS files.
SeeMoreDigital
4th April 2015, 17:21
It should be plug and play.
What are the outputs at lav and the mpcbe audio renderer? Are both showing multichannel output? The lav output goes to the renderer, and the renderer outputs via hdmi. My onkyo receiver has internal mixing options that you can select. If I start playing a 5.1 source then it automatically switches to 5.1 mpcm, but I can change it to stereo if I want. Maybe you need to manually select mpcm on the receiver. Also make sure your system is configured as 5.1/7.1 in the windows mixer just in case wasapi isn't working properly.Thanks...
I ended up having to uninstall my 'Realtek High Definition Audio' drivers. After re-booting my computer the audio drivers re-installed themselves and all is well with (7.1) multi-channel PCM audio again. What a pain in the arse that was ;)
Cheers
macycat
5th April 2015, 01:34
My version of the HDPVR comes with arcsoft capture software, and one can select .ts, .m2ts, or .mp4. I usually select the .m2ts version. While seeking on a video file in MPC-HC, I usually see a brief flash of garbled video, and then things sync up.
Does anyone know if there is an advantage to .m2ts vs. .ts vs. .mp4 for playback using LAV splitter/video filters?
The software that comes with Hauppauge video capture hardware outputs a .TS file, but provides an option to convert the file to .MP4. It makes sense to me that the burden of delivering a file to the end user with a better container for playback should rest with the capture program, rather than expecting LAV to handle the quirks of .TS files.
Pat357
5th April 2015, 13:53
My version of the HDPVR comes with arcsoft capture software, and one can select .ts, .m2ts, or .mp4. I usually select the .m2ts version. While seeking on a video file in MPC-HC, I usually see a brief flash of garbled video, and then things sync up.
Does anyone know if there is an advantage to .m2ts vs. .ts vs. .mp4 for playback using LAV splitter/video filters?
The MP4 format should be better for seeking : much less or no image distortion after seek.
Of course this is in the assumption that the MP4 is properly muxed by your software. Try it and see the difference !!
captainadamo
5th April 2015, 17:47
My version of the HDPVR comes with arcsoft capture software, and one can select .ts, .m2ts, or .mp4. I usually select the .m2ts version. While seeking on a video file in MPC-HC, I usually see a brief flash of garbled video, and then things sync up.
Does anyone know if there is an advantage to .m2ts vs. .ts vs. .mp4 for playback using LAV splitter/video filters?
m2ts should theoretically be better at seeking over plain ts since it was specifically modified for random-access media, but MP4 is still going to be the best choice of the three if seeking is an important container attribute.
SeeMoreDigital
5th April 2015, 18:09
m2ts should theoretically be better at seeking over plain ts since it was specifically modified for random-access media, but MP4 is still going to be the best choice of the three if seeking is an important container attribute.Don't forget Matroska. It's mkv container is no slouch when it comes to seeking ;)
iSunrise
5th April 2015, 19:38
@nevcairiel:
Is there a specific reason why audio tracks like DTS-HD MA don't show the bitrate (in kbps) in the splitter info? Is that info not exposed through the new dcadec properties? Is that because LAV would need to calculate an average?
Also, it seems from the commits that foo86 finally added high-resolution DTS-HD support:
- Add support for 192 kHz XLL audio.
- Fix parsing 16-bit 192 kHz XLL audio.
sneaker_ger
5th April 2015, 19:48
@nevcairiel:
Is there a specific reason why audio tracks like DTS-HD MA don't show the bitrate (in kbps) in the splitter info? Is that info not exposed through the new dcadec properties? Is that because LAV would need to calculate an average?
You would need to parse the complete file to get that information because lossless DTS-HD MA is variable bitrate.
iSunrise
5th April 2015, 20:03
You would need to parse the complete file to get that information because lossless DTS-HD MA is variable bitrate.
Ok, thought something like that is necessary. Well, you can't have all can you.
nevcairiel
5th April 2015, 22:07
Also, it seems from the commits that foo86 finally added high-resolution DTS-HD support:
The version included in latest nightly LAV should already play 192kHz just fine. Don't worry, I'm keeping well on top of dcadec changes!
willyarm
5th April 2015, 23:52
I've just bought a GTX 960, it works great for HEVC in my Windows 7 64bit machine, but in my Windows 8.1 32bit PC the video freezes up whenever I resize the window or go full screen. I've tried DVBViewer (and I have to 'rebuild graph' to get video back) and MPC-HC (and I have to press stop and play to get video back).
Any ideas?
tobindac
6th April 2015, 00:00
I heard there might be issues with native vs loopback GPU decoding. If I have no issues with native should I keep using it? Shouldn't it be faster?
willyarm
6th April 2015, 17:10
Furthur to my previous post... I have just installed Windows 8.1 64 bit (Dual Boot) on the same PC as I had Windows 8.1 32 bit, and everything works perfectly, when I switch back to 32 bit the problem comes back. I have tried various versions of LAV including the latest nightly build, I have an LG UHD TV, its running at 3840x2160 (4:2:0, 8 bit). I have configured MPC-HC to not use its internal filters. I have set LAV to use copy-back, both 32 and 64 bit play in H/W just fine, its just resizing under 32 bit thats an issue. Is there any info I can get that might help debug this issue?
huhn
6th April 2015, 17:44
maybe to little ram?
but why are you even using the 32 bit version?
James Freeman
7th April 2015, 08:12
Where can one see the changelog for each nightly build?
nevcairiel
7th April 2015, 08:49
Where can one see the changelog for each nightly build?
There is no formal changelog for nightlies. You can however just check the repository, ie. https://github.com/Nevcairiel/LAVFilters/commits/master
mzso
7th April 2015, 17:06
There's this file I have a trouble with. The video freezes for seconds if I seek to a specific spot. It happens when I jump to 00:04.422 or using the jump to subtitle feature of potplayer, it happens with mpc too with internal LAV, AVSplitter is also affected. It looks like Haali and Potplayers internal splitter is immune to this issue.
https://drive.google.com/open?id=0ByfdfPvnoDuzOGF5RXR6N3I1bHc&authuser=0
LigH
8th April 2015, 00:36
Without downloading it, I would guess that remultiplexing and rebuilding a clean container (open in MKVmergeGUI and save as a copy) may fix it. If not, then there may be a stream error which should be reported while trying to remultiplex.
mzso
8th April 2015, 09:56
Without downloading it, I would guess that remultiplexing and rebuilding a clean container (open in MKVmergeGUI and save as a copy) may fix it. If not, then there may be a stream error which should be reported while trying to remultiplex.
As that's a sample it's already remuxed, with mkvmerge. But I also re-remuxed it with ffmpeg when I made it (a while ago). With FFmpeg file the issue wasn't present.
Just tried it again. The outcome is the same and neither gives an error or a warning.
(It's 30MB-s, not quite overwhelming to download)
nevcairiel
8th April 2015, 10:12
The video just doesn't have a whole lot of keyframes, it has a video Cue at 2.377 and one at 12.387, but a bunch of subtitle Cues in between.
Ideally it should use the video Cue and start demuxing from that, not sure why it doesn't. I think it seeks to a subtitle Cue point instead, which is of course hardly ideal.
Edit:
Fixed
mzso
9th April 2015, 10:06
Edit:
Fixed
Great!
ryrynz
9th April 2015, 10:34
Ideally it should use the video Cue and start demuxing from that, not sure why it doesn't. I think it seeks to a subtitle Cue point instead, which is of course hardly ideal.
I gotta ask, was this added to ffmpeg recently because of this issue? or was it something that LAV just wasn't taking advantage of and has been in ffmpeg for a while?
nevcairiel
9th April 2015, 12:08
I am not sure what you are asking.
Some time ago, the only Cue points in MKVs used to be for video keyframes, so the naive seeking approach was simple: Seek to the closests Cue point, demux from there.
Recently, mkvtoolnix (and ffmpeg as well) started to write Cue points for subtitles. Trying to use those for seeking is of course not that great, since they don't necessarily have a video keyframe - so they don't help.
Now, the demuxer will always prefer video Cues for seeking.
Unrelated to this fix, a change was submitted to LAV recently which also makes use of those subtitle Cues to load subtitles on a seek which started before the seek point, but should still be displayed.
ryrynz
9th April 2015, 12:29
Was just wondering if the ability to seek via subtitle cue points was something ffmpeg already had and was just now added to LAV.
It's just the build notes give the impression LAV's fork of ffmpeg is a little behind, but I wasn't sure if that was actually the case or not.
nevcairiel
9th April 2015, 12:34
ffmpeg doesn't make any use of subtitle Cues when demuxing, as far as I know. To be honest, ffmpegs built-in mkv demuxer has a rather bad seeking function as is.
It writes them when muxing though.
Zoomplayer 10,LAV 0.64,madVR v0.87.19
Not relevant.
Fixed everything by clicking on "Auto-configure"...:D
Smashing,smashing work,Nevcairiel.Thank you.
Nerva
10th April 2015, 04:13
I have the same problem with my 7.1 setup. When playing 5.1 audio I get the side's sound on the back speakers.
I work it around using MPC-HC audio switcher custom channel mapping. I select 6 channel's and then map the back speakers to the side speaker.
But yes, I would prefer that LAV Audio had it correctly, so I could disable MPC-HC's audio switcher.
Bat
Apparently it has been fixed in the nightlies -- does anyone know when the fix is going to find its way into a K-Lite Codec Pack build?
hello_hello
10th April 2015, 07:07
I have a problem with MKVs and MPC-HC that seems to be caused by the LAV splitter. MPC-HC is currently using "LAV 0.63.0.52-git" as it's "internal" filters.
When the x264 encoder is writing it's output to an MKV, I often open the MKV to preview the output while the encoding still progresses. This has worked fine in the past, but since MPC-HC 1.7.7 the MKVs will often open without the ability to navigate. So far I can fix the problem by either switching to the Haali splitter or by deleting the MPC-HC "LAVFilters" folder and replacing it with the same folder from MPC-HC 1.7.6, which would then mean it's using LAV 0.62.0.0.
I assume therefore it's a splitter problem and not a MPC-HC problem.
Here's a sample MKV. I posted it in the MPC-HC forum a while back but the link hasn't expired yet.
http://ge.tt/7lVDr642/v/0?c (about 29MB).
MPC-HC will open the sample and allow me to navigate when using Haali or LAV 0.62.0.0 but it won't let me navigate when "LAV 0.63.0.52-git" is used. The same applies to the flavour of LAV used by MPC-HC 1.7.7, which is LAV 0.63.0.18
Thanks.
Pat357
10th April 2015, 12:07
I have a problem with MKVs and MPC-HC that seems to be caused by the LAV splitter. MPC-HC is currently using "LAV 0.63.0.52-git" as it's "internal" filters.
When the x264 encoder is writing it's output to an MKV, I often open the MKV to preview the output while the encoding still progresses. This has worked fine in the past, but since MPC-HC 1.7.7 the MKVs will often open without the ability to navigate. So far I can fix the problem by either switching to the Haali splitter or by deleting the MPC-HC "LAVFilters" folder and replacing it with the same folder from MPC-HC 1.7.6, which would then mean it's using LAV 0.62.0.0.
I assume therefore it's a splitter problem and not a MPC-HC problem.
Here's a sample MKV. I posted it in the MPC-HC forum a while back but the link hasn't expired yet.
http://ge.tt/7lVDr642/v/0?c (about 29MB).
MPC-HC will open the sample and allow me to navigate when using Haali or LAV 0.62.0.0 but it won't let me navigate when "LAV 0.63.0.52-git" is used. The same applies to the flavour of LAV used by MPC-HC 1.7.7, which is LAV 0.63.0.18
Thanks.
It's just a badly or incomplete muxed video.
After properly remuxing (Mkvmerge), Lav will support seeking.
hello_hello
10th April 2015, 13:41
It's just a badly or incomplete muxed video.
After properly remuxing (Mkvmerge), Lav will support seeking.
Yes, but that's not the problem as such. I can seek using the file I linked to with LAV 0.62.0.0 (or even Haali) but I can't seek using the file I linked to with LAV 0.63.0.18.
I've been opening MKVs as they're written by the x264 encoder for a long time without an issue. Sometime around LAV 0.63.0.0 something must have changed. Now LAV won't always create an index (or whatever it needs to do) in order to allow seeking. Sometimes it does, sometimes not.
I can literally open an MKV as it's being written by the x264 encoder and not be able to seek. I close MPC-HC and open it again and I can, then next time maybe I can't etc, but only recently. It's never been a problem before. I actually had a little trouble creating a sample that consistently won't allow me to seek any time it's opened with LAV 0.63.0.18, but the sample I linked to won't.
Thanks.
Pat357
10th April 2015, 17:57
Yes, but that's not the problem as such. I can seek using the file I linked to with LAV 0.62.0.0 (or even Haali) but I can't seek using the file I linked to with LAV 0.63.0.18.
I've been opening MKVs as they're written by the x264 encoder for a long time without an issue. Sometime around LAV 0.63.0.0 something must have changed. Now LAV won't always create an index (or whatever it needs to do) in order to allow seeking. Sometimes it does, sometimes not.
I can literally open an MKV as it's being written by the x264 encoder and not be able to seek. I close MPC-HC and open it again and I can, then next time maybe I can't etc, but only recently. It's never been a problem before. I actually had a little trouble creating a sample that consistently won't allow me to seek any time it's opened with LAV 0.63.0.18, but the sample I linked to won't.
Thanks.
I see.
I 'd recommend you to try the latest LAV, but I'm relative sure this will not work either. -:)
What you ask, seek support in badly muxed MKV's, is the about same as asking to support seeking in RAW H264 files, what is currently not supported.
Sure it's possible because other players or other splitters can do it.
I don't know why the older LAV 062 supported seeking in that file and how it's possible that later LAV versions can't any more, it's indeed a bit strange ..
I think the author (Nev) has other task on his "to-do-list" with higher priorities than seeking in RAW H264 files.
Note : FFMpeg's player FFPlay has some support to seek in such files and because LAV is based on FFMpeg, one might assume that LAV would also support this, but it's not.
Maybe that's why earlier LAV versions managed to do it: like a kind of "not-intentional" supported feature that was later on dropped to allow other improvements for playback of normal (=properly muxed) media files -:)
Does this make sense to you or not ?
andybkma
11th April 2015, 02:42
Hi madshi, I need to report that 87.19 has a playback bug. When any video starts (any format), it is frozen for a split second then plays quick catchup (plays fast for a another split second) then will start to play normally. I went from 87.17 to 87.19 and 87.17 didn't have this problem so this is something new that was introduced in the last two versions. Thank you :-)
nevcairiel
11th April 2015, 03:05
I think you got slightly confused about some things.
andybkma
11th April 2015, 03:09
I think you got slightly confused about some things.
Indeed I did :-) I go report that in the proper thread right away hehe
qtwebkit
11th April 2015, 09:30
Hi,Nev!
Could you please transfer all your lav codes to github?
Kurtnoise
11th April 2015, 09:48
https://github.com/Nevcairiel/LAVFilters
qtwebkit
11th April 2015, 09:56
https://github.com/Nevcairiel/LAVFilters
But ffmpeg, libburay and qsdecoder are not included.
nevcairiel
11th April 2015, 12:28
The code stays where it is.
hello_hello
11th April 2015, 17:07
What you ask, seek support in badly muxed MKV's, is the about same as asking to support seeking in RAW H264 files, what is currently not supported.
Sure it's possible because other players or other splitters can do it.
Maybe, but it's not like I'm expecting a new feature that's not been implemented previously. I'm just pointing out something no longer works as it did.
I don't know why the older LAV 062 supported seeking in that file and how it's possible that later LAV versions can't any more, it's indeed a bit strange ..
I think the author (Nev) has other task on his "to-do-list" with higher priorities than seeking in RAW H264 files.
Note : FFMpeg's player FFPlay has some support to seek in such files and because LAV is based on FFMpeg, one might assume that LAV would also support this, but it's not.
MPC-BE seeks when opening the file I linked to (internal filters). I've never has an issue getting it to seek after opening MKVs as the x264 encoder is writing them.
VLC has never been able to seek in such files.
I'll confess I was encoding today and it took three goes for LAV 0.62.0.0 to open the MKV so I could navigate, but once it did, it's opened it fine each time since. Version 0.62.0.0 has otherwise been pretty reliable in that respect.
Maybe that's why earlier LAV versions managed to do it: like a kind of "not-intentional" supported feature that was later on dropped to allow other improvements for playback of normal (=properly muxed) media files -
Does this make sense to you or not ?
Yes and no.
Here's what happens when you open a similar file with MPC-BE (my limited understanding is the inability to navigate is due to a lack of an index and the player/splitter needs to create one).
MPC-BE opens the file showing no duration initially and you can't navigate. As it's creating an index (or whatever it is it's doing) it shows you the progress.
Like this:
http://s29.postimg.org/qysjdbznb/image.jpg (http://postimage.org/)
When it's done, it displays the correct duration, allows you to navigate, and even gets all previewie. :)
Like this:
http://s11.postimg.org/v4hjph98z/image.jpg (http://postimage.org/)
I assume MPC-HC used to do exactly the same thing. I say "assume" because it didn't show you the progress while indexing as MPC-BE does, but it'd usually be faster to show the correct duration and allow you to navigate.
Since around LAV 0.63.0.0 it's been very inconsistent, only opening files (as they're being written) with the ability to navigate around a fifth of the time at best, but the file I linked to is one where it'll never let you navigate. I was hoping someone might want to work out why given LAV 0.62.0.0 does.
I guess I'll need to keep a second player installed using a different splitter by default with which I can open MKVs as they're being written to preview the encoding, although I'd rather just use the one player for everything if possible.
sneaker_ger
11th April 2015, 17:11
Try the newest nightly.
I also wish LAV would at least do some dumb seeking in files without an index (e.g. H.264 and H.265 ES), I'd rather have dumb seeking than no seeking - it would be good enough to take a few glimpses at a new encode. But this has been discussed on here before without any result. Nev must have his reasons for not implementing it.
hello_hello
11th April 2015, 17:42
Try the newest nightly.
I also wish LAV would at least do some dumb seeking in files without an index (e.g. H.264 and H.265 ES), I'd rather have dumb seeking than no seeking - it would be good enough to take a few glimpses at a new encode. But this has been discussed on here before without any result. Nev must have his reasons for not implementing it.
That's why I get the x264 encoder to write directly to MKV. I've always been able to seek that way in the past.
Anyway, after all that..... I just tried 0.64 and it appears to be okay. I didn't want to start installing stuff right this minute so I downloaded the 0.64 zip file, replaced everything in the MPC-HC\LAVFilters folder and it looks like things are back to normal in respect to MKVs. The file I liked to earlier can now be navigated and the MKV file the x264 encoder is currently writing has opened with navigation each time so far. I guess I complained too late. :)
I'll report back if anything changes.
Thanks.
hello_hello
11th April 2015, 17:56
Okay, I spoke too soon. I thought I'd copied all the files, but I missed one. As it turns out though, that helped me find the problem, or part of it.
When libbluray.dll is in the MPC-HC\LAVFilters folder and I open the MKV I linked to, MPC-HC won't navigate. If I delete libbluray.dll, it will. So libbluray.dll is somehow the culprit there. I haven't got time to test MKVs as they're being written at the moment, but it looks like libbluray.dll is at least partly to blame there, but it's late, I'm tired, and I've got to work tomorrow. I'll experiment some more tomorrow night. At least that's a start in the right direction.
sneaker_ger
11th April 2015, 18:03
Why don't you install the nightly like I told you to? You are wasting everyone's time by not testing the newest version.
About the libbluray.dll thing: I assume when you deleted it from MPC-HC\LAVFilters the splitter could not load anymore and MPC-HC switched from its internal to the one you have installed in your system which happens to be 0.62 or whatever you have still installed. Delete the both the internal and the system LAVFilters folders and do a clean install of the nightly build.
nevcairiel
11th April 2015, 20:40
If you delete libbluray.dll, then LAV will fail to load entirely and not be used at all anymore.
sneaker_ger
11th April 2015, 20:48
I mean if he still has it in the system's LAV Filters folder (c:\program files (x86)\LAV Filters\...). MPC-HC will not be able to load the internal version from MPC-HC\LAVFilters if he deletes the libbluray.dll there but of course should still be able to load the system version if that one still has the dll.
hello_hello
12th April 2015, 10:05
Why don't you install the nightly like I told you to? You are wasting everyone's time by not testing the newest version.
Because I don't have LAV installed at all (it's just being used by MPC-HC as it's internal filters), it was late at night, the PC was in the middle of running some encodes, and I didn't want to start installing new software that might mess things up until I've got time to spend sorting it out. So I tried the zip file of version 0.64 and used it to replaced the files MPC-HC is using instead.
That, and because there's no indication as to why the latest nightly should be a magic bullet, and because if I install it and it does work differently installed than when MPC-HC is using it as it's internal filters, how do I know it'll continue to work the same way when it is? Although I guess that'd probably be worth finding out.
I'm wondering why I even bothered posting a sample. I thought maybe someone running a later LAV version or has it installed might test it, but I've posted about a problem I thought would be worth looking into and so far received enough negativity to be close to losing interest and just using something else. Especially as I've already tried going through this process in the MPC-HC thread without getting anywhere.
If you delete libbluray.dll, then LAV will fail to load entirely and not be used at all anymore.
Yes, you're correct. I didn't realise it at the time (it was three in the morning and I was pretty tired), but with libbluray.dll gone from the MPC-HC\LAVFilters folder MPC-HC is using the Haali splitter along with the LAV video decoder and that combination works as it should.
I'll try some more testing later on. I have a clean Windows (XP) install on another drive. Once the latest encoding has finished I'll boot from it, install LAV and see what happens from there. Mightn't be until tomorrow now...... :)
Thanks.
qtwebkit
12th April 2015, 11:16
Its difficult for us Chinese users to sync with those codes due to the block of GFW.
Moving to github would make it much more handy, I would appreciate if you would consider it.
sneaker_ger
12th April 2015, 16:07
That, and because there's no indication as to why the latest nightly should be a magic bullet, and because if I install it and it does work differently installed than when MPC-HC is using it as it's internal filters, how do I know it'll continue to work the same way when it is? Although I guess that'd probably be worth finding out.
I'm wondering why I even bothered posting a sample. I thought maybe someone running a later LAV version or has it installed might test it, but I've posted about a problem I thought would be worth looking into and so far received enough negativity to be close to losing interest and just using something else. Especially as I've already tried going through this process in the MPC-HC thread without getting anywhere.
I wasn't suggesting the nightly just because it's newer but because Nev did a commit the day before yesterday that fixes your sample. Your report was not in vain - he sometimes just silently fixes things reported without giving direct feedback in here.
hello_hello
12th April 2015, 17:16
I wasn't suggesting the nightly just because it's newer but because Nev did a commit the day before yesterday that fixes your sample. Your report was not in vain - he sometimes just silently fixes things reported without giving direct feedback in here.
Sorry. Had I known that I wouldn't have wasted time with 0.64, but nobody mentioned it.
I haven't quite got to the "ready to reboot" stage yet as I haven't had much spare time today, the PC's still encoding, and it's late so it looks like I'll have to try the nightly tomorrow (there's no zip for the nightlies I could find).
If it's fixed though, many thinks to Nev in advance!
I'll report back tomorrow once I've installed the nightly.
sneaker_ger
12th April 2015, 18:29
You should be able to unpack the installer using innounp (http://innounp.sourceforge.net/). Then you can simply replace MPC-HC's internal version with the nightly by copying the files into the MPC-HC\LAVFilters folder without the installer messing with your system.
DigitalLF
12th April 2015, 22:06
i got a little wish that would help me out alot and proberly others to.
"mix settings depending on output"
I would love to see a setting that would allow me to always downmix to 2.0 on my DAC and on my home cinema there should be no downmix.
I have to change my default output unit in ReClock everytime i go from "home cinema" to "headphones" and if i would be able to simplify it a bit like "mix settings depending on output" it would be great!!
other then that i just want to say GREAT work with LAV Filters :)
Thunderbolt8
12th April 2015, 22:53
getting MPC-HC crash when closing it down, but otherwise everything seems to be working fine here (Windows 8.1, GTX760M, GeForce 347.88)
Problem signature:
Problem Event Name: BEX64
Application Name: mpc-hc64.exe
Application Version: 1.7.8.152
Application Timestamp: 5526f937
Fault Module Name: StackHash_1e37
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 00000000
Exception Offset: PCH_AB
Exception Code: c0000005
Exception Data: 0000000000000008
OS Version: 6.3.9600.2.0.0.256.4
Locale ID: 1031
Additional Information 1: 1e37
Additional Information 2: 1e373e69fff075aed81f57003e66ce10
Additional Information 3: 9f0e
Additional Information 4: 9f0e095f32a88249d7a2b7eca4e322ea
sneaker_ger
12th April 2015, 22:55
Are you using madVR 64? Known issue (http://forum.doom9.org/showpost.php?p=1717318&postcount=28846), probably not related to LAV.
ryrynz
12th April 2015, 23:10
are you using madvr 64? known issue (http://forum.doom9.org/showpost.php?p=1717318&postcount=28846), probably not related to lav.
MadVR 64?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.