View Full Version : MKV and 8500 Full Hardware Acceleration
RaggedEdge
26th June 2007, 14:08
There is a growing army of PureVideo2 graphic card users, that would love to off load the MKV x264 decode process entirely to the GPU.
However the Haali Splitter seems to operate differently to the AVI Splitter in that identical H.254 720P data will play well on the on the AVI Splitter, but slow down to 20 FPS on the Haali Splitter.
1080P x264 does not seem to work at all in full hardware decode mode (using the Cyberlink H.264 AVC decoder). Software decode does work, but CPU usage sky rockets, and on peaks causes stuttering.
Are the root of these problems in the Haali Splitter or the Cyberlink H.264 AVC Decoder?
check
26th June 2007, 14:41
it's quite possibly related to the fact your h264 is in AVI, which means it's been packed into a vfw stream rather than being a native h264 stream. Try transmuxing the data out of vfw into another format, such as mp4 or mkv.
RaggedEdge
26th June 2007, 14:58
it's quite possibly related to the fact your h264 is in AVI, which means it's been packed into a vfw stream rather than being a native h264 stream. Try transmuxing the data out of vfw into another format, such as mp4 or mkv.
The original data file was a BBC HD Discovery 720P x264 MKV File.
The utility (mkv2vfr.exe) that comes with the Haali Splitter allows you to create AVI files from MKV files i.e. the AVI file will pack the exact same x264 data, that is in the MKV file.
Therefore, the data is in x264 format and common to both the AVI and MKV file.
While I'm on the subject, does anyone know how you can use the Mkv2vfr.exe utility to transfer the video and the audio to AVI? At the moment I can only tranfer the video.
It could also be graphic card drivers or hardware limitation.
RaggedEdge
27th June 2007, 00:11
It could also be graphic card drivers or hardware limitation.
At the moment it's beginning to look like Cyberlink is not fully compatible with the Haali Splitter when it comes to fully accelerating MKV files on the 8500/8600.
However, it's a bit strange that the same decoder works fine in software mode.
arfster
27th June 2007, 21:23
Little suggestion: in software mode the cyberlink decoder flagreads to decide video/film, while in hardware it does "smart" analysis. Given that it looks to be wrongly IVTC'ing (ie dumping every 6th frame, resulting in 24*5/6=20fps exactly), why would it only do this with mkv through haali? Anyone know or can speculate what flag or timing issues coming from haali could confuse the 8500/8600, yet not the decoder in software mode?
As above, if you remux the same video into another container it works perfectly.
Schmendrick
27th June 2007, 22:16
@RaggedEdge: Like you I also have found that Mkv2vfr.exe only muxes the video track into the AVI-container. I am using VirtualDubMod to add the audio AC3-track to the AVI-file which I had produced using Mkv2vfr.exe. The H264 originates from a DVB-S2-recoding recorded in MPEG-PES-stream format which is first muxed in the mkv-container and then into AVI as mentioned. The audio-track also originates also out of a MPEG-PES-AC3-track. The PES-format has the advantage that it contains PTS-values (presentation time stamps) which allows to calculate the exact audio/video-delay so that the final AVI-video has video/audio synchronity. On my Core2Duo-T5600 (2x1.86GHz) using the CoreAVC-decoder these videos can be played without stutter in software decoding at 40-60% processor load.
RaggedEdge
28th June 2007, 07:21
@RaggedEdge: Like you I also have found that Mkv2vfr.exe only muxes the video track into the AVI-container. I am using VirtualDubMod to add the audio AC3-track to the AVI-file which I had produced using Mkv2vfr.exe. The H264 originates from a DVB-S2-recoding recorded in MPEG-PES-stream format which is first muxed in the mkv-container and then into AVI as mentioned. The audio-track also originates also out of a MPEG-PES-AC3-track. The PES-format has the advantage that it contains PTS-values (presentation time stamps) which allows to calculate the exact audio/video-delay so that the final AVI-video has video/audio synchronity. On my Core2Duo-T5600 (2x1.86GHz) using the CoreAVC-decoder these videos can be played without stutter in software decoding at 40-60% processor load.
I ignored VirtualDubMode, thinking it may put the audio out of sync, but if you've already had success, I'll give it a go too.
At the moment, I just use graphedit with two file sources: one is the original MKV file with the video path deleted, and the other is the AVI file just containing the video. This keeps the audio in sync too, but it's not exactly user friendly!
I put together a VistaMCE PC using old components. The Intel P4 3GHz (Hyperthreading) is a bit too weak for software only, which is why I'm eager to get this hardware acceleration working. On this CPU, with HW acceleration the load is at less then 5%, in software it climbs to 100% (plus stuttering).
It's a crying shame that the hardware is not being allowed to deliver it's potential because of the software.
RaggedEdge
28th June 2007, 07:27
Little suggestion: in software mode the cyberlink decoder flagreads to decide video/film, while in hardware it does "smart" analysis. Given that it looks to be wrongly IVTC'ing (ie dumping every 6th frame, resulting in 24*5/6=20fps exactly), why would it only do this with mkv through haali? Anyone know or can speculate what flag or timing issues coming from haali could confuse the 8500/8600, yet not the decoder in software mode?
As above, if you remux the same video into another container it works perfectly.
On my setup, I find the video plays back at the full 24FPS for about 20 or so seconds, and then starts to drop to 20FPS.
It's strange that it works perfectly for the first 20 seconds after hitting one of the navigation buttons.
arfster
1st July 2007, 02:41
Found a similar thing happening in DVBViewer, only with the Cyberlink decoder. That app has its own source, and they made a "quickndirty hack" (their words) to fix it, basically involving little more than adding a little latency to the source filter. With a DVB app, this may be the equivalent of buffering a bit more.
At a guess, this maybe means haali is not feeding the cyberlink decoder enough data on time, so it decides to lower the frame rate.
CiNcH
2nd July 2007, 15:16
I have just pushed the PureVideo HD 2 engine within my GeForce 8600GTS a little bit. Therefore I have created a rather complex H.264 HD stream:
Encoder: x264 (svn-598 Build)
Resolution: 1080p (Full-HD)
Nominal Bitrate: 30 mbps (VBR)
H.264 Tools: i8x8 (High Profile), CABAC, Deblocking
Container: MKV
I have performed two passes which resulted in a pretty variable bitrate according to the complexity of the different scenes. Nominal bitrate was chosen to be 30 mbps, peaks even almost reached 50 mbps (26:35 minutes took 5.5GB).
Filter Chain:
- Haali Media Splitter
- CyberLink H.264 Decoder 7.x
- VMR9
PureVideo HD 2 did a great job on this sample. Even though it is specified to work with bitrates up to 40 mbps it even handeled the short 50 mbps peaks properly without any glitches. CPU usage hardly reached 5% on a 2GHz downclocked Core 2 Duo.
Disabling PureVideo HD 2 resultet in 50% CPU usage, but this time SpeedStep clocked the CPU mostly at 2.67 GHz.
I did not mux audio into the MKV container yet. I may do so at a later time with DTS track.
(tested under Windows XP with ForceWare Beta 165.01)
CruNcher
2nd July 2007, 15:50
I have just pushed the PureVideo HD 2 engine within my GeForce 8600GTS a little bit. Therefore I have created a rather complex H.264 HD stream:
Encoder: x264 (svn-598 Build)
Resolution: 1080p (Full-HD)
Nominal Bitrate: 30 mbps (VBR)
H.264 Tools: i8x8 (High Profile), CABAC, Deblocking
Container: MKV
I have performed two passes which resulted in a pretty variable bitrate according to the complexity of the different scenes. Nominal bitrate was chosen to be 30 mbps, peaks even almost reached 50 mbps (26:35 minutes took 5.5GB).
Filter Chain:
- Haali Media Splitter
- CyberLink H.264 Decoder 7.x
- VMR9
PureVideo HD 2 did a great job on this sample. Even though it is specified to work with bitrates up to 40 mbps it even handeled the short 50 mbps peaks properly without any glitches. CPU usage hardly reached 5% on a 2GHz downclocked Core 2 Duo.
Disabling PureVideo HD 2 resultet in 50% CPU usage, but this time SpeedStep clocked the CPU mostly at 2.67 GHz.
I did not mux audio into the MKV container yet. I may do so at a later time with DTS track.
(tested under Windows XP with ForceWare Beta 165.01)
Nice results indeed i trust Doom9 user results more then sites as Hardspell or Co :P looking @ those results for example im not sure to belive them that UVD's AVC Engine is twice as good as PV2's but who knows, fact is that for VC-1 it seemes really much better alot of independent tests all arround the web show this, then Nvidias Engine :D (Nvidia doesn't seem to care about VC-1 because of the less complexity compared to AVC FreXt, hmm saving money in dev time wherever possible it looks like the moto here was "ah the C2D/X2 consumers use todays have no problem to handle that little more decoding complexity so we don't need it for the GPU" ;), bad thinking for Mobile situations, but indeed who the hell really watches HD-DVD on his Notebook on the road, it seemes to less for Nvidia (or that was the reason to leave it out of the Desktop Chips (very clever resource management and R&D i would call this then) so it could be a different situation in the Mobile ones would be interesting to test this too ;) )
http://www.hardspell.com/pic/2007/4/17/5230ce13-18ff-47a6-91c1-89b50786eb8f.gif
http://www.hardspell.com/pic/2007/5/15/0a89f21d-cbec-4425-a69c-f6af385fb013.gif
http://www.hardspell.com/pic/2007/4/17/156e2ec6-6804-404f-956f-0d91d04a217a.gif
http://www.hardspell.com/pic/2007/5/15/661832bc-0e5e-4f23-8be2-10c9ff35aa1b.gif
Im thinking of replacing my old 7600 GS with a X2600XT DDR3 in the next weeks (but maybe im also waiting for the X2600 XT "Gemini" to arrive first a little more 3D power wouldn't be bad @ all at low power consumption as a bonus ;) and maybe you can Compute on each core sometime in the near future :D (Encoding) ) so im gonna test it myself. Especialy bitstream compatibilty as i found some problems with X264 + MP4/MKV + Cyberlinks Decoder on 7600 GS (PV1 DXVA) that doesn't happen with Commercial H.264 Encoders the "continues slowdown" problem, i described in another thread it's the most problematic of them and doesn't happen with Encoders from like Ateme/Mainconcept/Moonlight (old one) only with X264 (maybe a problem with the mvrange highert then 511 in combination with PV1 (DXVA) that was fixed in 663 now (but as this happens only for X264 bitstreams in MP4/MKV i doub't it i think more of a timestamp problem, didn't had the time yet to retest 663 but i will).
Would be cool if we could use the same test files then and compare those results between Nvidia's and Ati's Engine especialy for the Adaptive Deinterlacing part (should reach better quality results then Yadif now does, if i look @ my old Nvidia Deinterlacing results with the Previous GPU Generation (G7x PV1) ) and the last Driver i tested (97.94) allready showed the new Deinterlacing Code wich was better then Yadif, but the ShaderCode seemed to be to slow for the G7x especialy for HD so with the G8x it should reach Realtime now in the newest Vista/XP drivers, if my thoughts are correct.
Compareing that with Ati's Deinterlacing Quality would be really cool (as im still belive that ATI is still a tad better in Video Quality then Nvidia, but for sure the distance is smaller now then it was some years ago as Nvidia did big Research in the last years, their own Mpeg-2 Decoder really showed that (it's almost compareable between Intel and AMD Intel did 2x more Research improvements then AMD it seemes and now AMD stucks behind them, but it isn't exactly the 100% same situation with Nvidia & Ati the research difference is not that big i would say ;) im still waiting for Nvidias own AVC/VC-1 Decoder *g* but i doub't it will come that soon (seeing 3rd party licensing the PV1/PV2 runs so great and PV2/UVD is a direct playback on the Chip now with it's own Engine and Code in the driver package (nvucode.bin).
But i feel i have to leave to Ati again especialy as i still find Video Quality more important then 3D speed and their is not such a big difference between the 3D power if you look @ the lower Energy the RV6xx series needs compared to Nvidias (G8x) cores those 10 fps difference in some applications between the 8600GTS and X2600XT seems really normal to me (looking from the R&D perspective) but seeing that you can save 80 € and some more bucks in terms of Energy (Energy Prices go out of the roof slowly here in Germany) i don't think im gonna buy the Nvidia 8600GTS hehe, but this is a personal preference of mine im no fanboy as you see that i switch from one to the other if i think R&D is better on 1 side happens almost every next generation ;) except such situations as between AMD/Intel wich really where strange, but slowly also come to an end and normal R&D rules seem to set in so the distance is not that big anymore then it was @ the beginning with the C2D ;) )
PS: We should really start on developing Video GPU Encoding more think of the possibilty to use 4 cores like CPU(2) and GPU(2) simultaniously :D 2 cores do the Post Processing (Avisynth) and the others the Encoding or situations like 1 core does the Post 2 the Encoding and 1 the Decoding to see in near realtime what your final results will be, exciting to think about the possibilities.
HowlerX
3rd July 2007, 02:41
This are my big wall o' TEXT.
Invariably, I always start to read your posts and just give up. Your lack of punctuation makes reading anything you post a real chore. And I really, REALLY have interest in this subject you are posting on.
Regardless, I find it unfortunate that Nvidia decided not to include full VC-1 acceleration in their latest cards. That and the fact that their driver support for WinXP (not to mention Vista) has gone down the drain will probably mean my first Radeon purchase in the coming months.
CiNcH
4th July 2007, 16:11
I have now found a problem with PureVideo HD 2. It does not seem to handle MBAFF of BBC HD correctly. Playback becomes jerky after a few seconds of proper decoding.
PAFF of German television H.264 HD channels is handeled correctly however.
arfster
4th July 2007, 21:27
Is that DVBviewer by any chance? There's a dvbsource latency option you can add that fixes it.
CiNcH
4th July 2007, 22:10
Different story ;) . The problem you are mentioning is related to CyberLink's "software algorithms" to decode H.264 that are causing trouble.
RaggedEdge
4th July 2007, 22:55
I have just pushed the PureVideo HD 2 engine within my GeForce 8600GTS a little bit. Therefore I have created a rather complex H.264 HD stream:
Encoder: x264 (svn-598 Build)
Resolution: 1080p (Full-HD)
Nominal Bitrate: 30 mbps (VBR)
H.264 Tools: i8x8 (High Profile), CABAC, Deblocking
Container: MKV
I have performed two passes which resulted in a pretty variable bitrate according to the complexity of the different scenes. Nominal bitrate was chosen to be 30 mbps, peaks even almost reached 50 mbps (26:35 minutes took 5.5GB).
Filter Chain:
- Haali Media Splitter
- CyberLink H.264 Decoder 7.x
- VMR9
PureVideo HD 2 did a great job on this sample. Even though it is specified to work with bitrates up to 40 mbps it even handeled the short 50 mbps peaks properly without any glitches. CPU usage hardly reached 5% on a 2GHz downclocked Core 2 Duo.
Disabling PureVideo HD 2 resultet in 50% CPU usage, but this time SpeedStep clocked the CPU mostly at 2.67 GHz.
I did not mux audio into the MKV container yet. I may do so at a later time with DTS track.
(tested under Windows XP with ForceWare Beta 165.01)
I notice you used VMR - in my own experiments I could never get full h.264 acceleration to work without EVR. I thought DXVA2 was only available in EVR and that it was required to do full hardware decode.
RaggedEdge
4th July 2007, 23:04
Is that DVBviewer by any chance? There's a dvbsource latency option you can add that fixes it.
I'm hoping the next round of driver, cyberlink and Haali splitter updates, begin to address these problems.
The Vista Beta drivers have been stuck at 158.45 for a long time now... maybe their actually working hard to fix this stuff.
CiNcH
4th July 2007, 23:07
I notice you used VMR - in my own experiments I could never get full h.264 acceleration to work without EVR. I thought DXVA2 was only available in EVR and that it was required to do full hardware decode.
True for Vista. Under XP, nVIDIA specified and implemented proprietary API's which are currently only used by CyberLink's H.264 decoder from PowerDVD 7.3.2911.
RaggedEdge
5th July 2007, 15:45
True for Vista. Under XP, nVIDIA specified and implemented proprietary API's which are currently only used by CyberLink's H.264 decoder from PowerDVD 7.3.2911.
That makes sense :)
Are we any closer to determining where the x264 MKV file hardware decoding is going wrong?
I.e. is it the Haali Splitter, Cyberlink's H.264 AVC Decoder or the construction of the MKV file itself.
CiNcH
5th July 2007, 15:58
Probably you should try a different MKV demuxer. It can't be a conflict between container and decoder as at the time video reaches the decoder it is nothing but raw H.264 material. The only problem I can think of is that the demuxer propagates wrong video information on the output pin. But why should the decoder only be affected when acceleration is enabled...
I don't even think that it is a demuxer problem. As I said, PureVideo HD 2 seems to be having problems decoding MBAFF'd source material. So this is probably the cause of your problem...
RaggedEdge
5th July 2007, 16:17
I don't even think that it is a demuxer problem. As I said, PureVideo HD 2 seems to be having problems decoding MBAFF'd source material. So this is probably the cause of your problem...
That's encouraging - it sounds like the problem you described could be fixed by a NVidia driver update.
Haali and Cyberlink don't seem to interested in this problem :(
CiNcH
6th July 2007, 00:41
OK, sorry, MBAFF works perfectly with PureVideo HD 2. It was problem with the player and the renderer in my case...
RaggedEdge
6th July 2007, 01:18
OK, sorry, MBAFF works perfectly with PureVideo HD 2. It was problem with the player and the renderer in my case...
Does that mean you can playback MKV files back fine too? Or just content from another HD source?
If you can playback MKV without the stuttering (20FPS) issue, then please tell us more...
arfster
6th July 2007, 03:59
Probably you should try a different MKV demuxer. It can't be a conflict between container and decoder as at the time video reaches the decoder it is nothing but raw H.264 material. The only problem I can think of is that the demuxer propagates wrong video information on the output pin. But why should the decoder only be affected when acceleration is enabled...
I'd thought something similar, but the same h264 video in another container format works fine, even when also played back through Haali. It also happens only with the 8500/8600 and 2400/2600, which perhaps suggests it's something odd about the fact these cards that do total bitstream offload rather than traditional acceleration?
Alternatively, could it be some buffering issue where the card doesn't receive enough data on time, so drops the frame rate by a fixed amount? It can't be a coincidence it dumps it down from 24 to exactly 20.
RaggedEdge
6th July 2007, 07:26
I'd thought something similar, but the same h264 video in another container format works fine, even when also played back through Haali. It also happens only with the 8500/8600 and 2400/2600, which perhaps suggests it's something odd about the fact these cards that do total bitstream offload rather than traditional acceleration?
Alternatively, could it be some buffering issue where the card doesn't receive enough data on time, so drops the frame rate by a fixed amount? It can't be a coincidence it dumps it down from 24 to exactly 20.
I guess the common denominator is the Cyberlink Decoder and Haali Splitter in that case, and the fault must lie in one or the other.
There are some buffer values in the Haali Splitter - are these relevant to the delay you mentioned?
arfster
6th July 2007, 23:53
I guess the common denominator is the Cyberlink Decoder and Haali Splitter in that case, and the fault must lie in one or the other.
There are some buffer values in the Haali Splitter - are these relevant to the delay you mentioned?
Tried those before, no luck.
Unfortunately we have no other mkv splitter, and no other decoder, so hard to tell :-)
CruNcher
7th July 2007, 00:38
After a long and nerve striking search
http://forum.doom9.org/showthread.php?p=1022197#post1022197
could be also your problems answer, try it :)
RaggedEdge
7th July 2007, 11:51
After a long and nerve striking search
http://forum.doom9.org/showthread.php?p=1022197#post1022197
could be also your problems answer, try it :)
Sounds like your on to something there CruNcher.
Keep us posted on your findings - you obviously know far more then most.
If there's any specific test you'd like us to try then let us know and I'm sure most of us would be more then happy to help out.
morph166955
7th July 2007, 17:27
Ok I just last night finished up my brand spankin new HTPC with a nice 8600GTS in it so I'm very interested in helpin out here if I can! My first question though is PureVideo HD part of the nVidia driver or is it a separate program like original PureVideo? I believe its the former since I for the life of me couldn't find anything to download/bu off of nVidia's site like I did with original PureVideo. My system is running Vista Ultimate 32-bit (and yes I want to be on 64-bit but I had 32-bit around which was free and legal for me to use since I won it from microsoft a while back). I have CoreAVC 1.3, ffdshow rev1324 from x264.nl and the current version of Haali from there as well loaded and running. I'm running the forceware 158.24 driver with my own tweak to let me run at 720p in it. I am noticing that my CPU usage even on high bitrate scenes is still pretty low (sub 40%). Is there a way to disable the gpu H.264 processing to see if its working?
I'm here to help so if theres any tests I can run to push this ahead let me know!
arfster
7th July 2007, 23:32
PVHD is a marketing term, and really a bit of stupidity by NVidia to confuse everybody :-)
For h264 acceleration, you need the right card (8600GTS = fine), right OS (at present Vista, XP in future), and a decoder that supports Purevideo2 (ie the fancy-ass bit that does h264 decoding in the 8500/8600). CoreAVC doesn't have any hardware acceleration support at all, and neither does ffdshow - at present, the only one that really works is PowerDVD 7.3.
morph166955
8th July 2007, 18:35
ok, so i will work on getting powerdvd then. is there any particular version of it I need? I heard that there is a bluray/hddvd version or something like that so i'm just asking so i get the right thing the first time.
EDIT: so did some more looking into it, i need powerdvd ultra i believe right?
morph166955
9th July 2007, 00:16
So I just ran some tests to see how my system would perform and I got some very interesting yet odd results.
First off, my test source was the original m2ts file from the xmen 3 bluray (yes the 20 some odd gig file). I decrypted it down to my hard drive so it was reading it from a 150GB WD Raptor drive. The specific spot that I use is right between 130k and 135k frames since it has some good runs around 20mbit/s but then also peaks up as high as 45mbit/s. This is being run straight through graphedit so that I know the exact filter chain its going through.
What I was seeing which boggled my mind is that no matter what the scene was (i even seeked to one that was down in the 7-9mbit/s range) the cpu just kinda floated between 45% and 75% (both cores running according to the graphs) and occasionally it would jump up to 100% for like half a second or less. The filter chain for this was:
m2ts -> cyberlink PDVD7.x H.264/AVC Decoder -> ffdshow Video Decoder -> video renderer
ffdshow was automatically in when i had graphedit render the file originally, it is however set to disabled for h.264 decoding and from what i was seeing it was only getting a YUY2 input from coreavc that it was dealing with. i also used ffdshow for their nice OSD to see the cpu usage and such. The one other thing in there (which may be in the chain as the m2ts) is the current haali splitter. I know it was running because I was watching it and its graphs also while watching the video in their little screen. It did run perfectly smoothly (atleast to my eye). I saw no visible a/v desyncs or any sort of jumpyness with the video at all and ffdshow stayed pegged at atleast 23.976 fps being pumped into it.
I think my next test is going ot be to remove the haali splitter to see if its causing any sort of difference. any other suggestions on what to try/set?
morph166955
9th July 2007, 02:21
so i did a little bit more playing around with graphedit and i think i found the problem. there are two decoders (well 3 actually but lets just go with 2 since i think one is irrelevant anyway for this). thers the H.264/AVC Decoder, and the BD-HD Decoder. if you go into the options, the BD-HD Decoder has the hardware acceleration box in it, the other one only has the DxVA option. I tried to force it to go to the BD-HD decoder but it could never build a filter chain no matter what i used to pipe it. I'm going to keep playing with it but if anyones got ideas let me know!
arfster
9th July 2007, 05:00
When ffdshow appears after the decoder like that, it's working as a postprocessor. To get rid of this, go into ffdshow and set codecs/raw video to disabled. Any postprocessor between the decoder and renderer will automatically stop hardware acceleration.
Oh, and you need to use EVR as the renderer, or you won't get any acceleraiton either (WMP or PDVD do). When you have acceleration working, you'll notice the cpu dropping to <2%, and the pin output of the video decoder will be called dxva.nv12 or something similar (dxva=hardware acceleration).
The BDHD decoder is something else entirely, ignore that, it will never work outside PDVD.
CruNcher
9th July 2007, 11:29
And don't forget with XP you won't get any accelleration with PV yet only UVD (ATI HD2400/2800 series) works their as of now Nvidia seams to be ultra slow in porting their new Hardware accelleration code to the XP drivers.
@arfster
Mediacoder(mencoder)/Avidemux are bugged in terms of .mp4 muxing seams they use libavformat for .mp4 muxing and that is not working correctly with B-frames yet, that coused the problems for me with Cyberlinks Decoder.
What i said about direct_pred in the post to akupenguin is not quiet right it's working fine (at least with the encoding settings i use now,seams space was running out so the files couldn't mux sucessfull (dumb mp4box temp file creation) ;) ) but the final .mp4 from both Mencoder and Avidemux are wrong and you have to remux them to repair it, also as stated by Mencoder when useing the libavformat muxer the files gonna playback in Mplayer/VLC and such but aren't standard complaint and so can bork and they definately do bork with Nvidias Hardware accelleration via Cyberlinks Decoder.
PS: And the best thing is look @ all the Video Converters (GUis for Mencoder/ffmpeg) on the market that use libavformat they are borked too, they even warn the people with the i_certify_that_my_video_stream_does_not_use_b_frames (option you have to set before muxing would work) thing and a big fat warning message of playback problems that could occour with such libavformat .mp4, but it seams many think this is only meant for .avi (me did too), and the Avidemux author made the same mistake, it seams it's useing libavformat for muxing .mp4 so it should warn people about useing b-frames as mencoder does.
Better would be to use gpac (mp4box) or even my altime favourite mpeg4ip (mp4creator wich doesn't do this shit temp file creation on win32 like mp4box (when muxing non direct), but it needs to be enhanced with some mp4box features like branding and stuff) :P
RaggedEdge
9th July 2007, 16:42
When ffdshow appears after the decoder like that, it's working as a postprocessor. To get rid of this, go into ffdshow and set codecs/raw video to disabled. Any postprocessor between the decoder and renderer will automatically stop hardware acceleration.
Oh, and you need to use EVR as the renderer, or you won't get any acceleraiton either (WMP or PDVD do). When you have acceleration working, you'll notice the cpu dropping to <2%, and the pin output of the video decoder will be called dxva.nv12 or something similar (dxva=hardware acceleration).
The BDHD decoder is something else entirely, ignore that, it will never work outside PDVD.
Have you found anyway of getting hardware acceleration working in Vista 32Bit MCE?
My CPU hits a 100% with H.264 files in MCE, and I haven't found any registry settings that would allow me to set Cyberlink's AVC H.264 decoder as the default. Or could this be an EVR problem in MCE?
morph166955
9th July 2007, 18:35
My vista-32 system defaults to the cyberlink decoder as long as i have h.264 shut off in ffdshow. im goign to attempt to disable the raw video part of ffdshow also as mentioned earlier. my E6600 touches 100% for a brief moment in a crazy high bitrate 1080p scene so im not really overly worried about this working immediately since my cpu is doing a sufficient enough job but i would like it working either way since thats why i paid for that card.
morph166955
11th July 2007, 00:22
I have modified the ffdshow settings and removed the rawvideo option so it doesnt even show up on the graph now. So as it stands my graph is just:
m2ts (haali) -> cyberlink H.264/AVC Decoder (PDVD7.x) -> video renderer
that doesnt do anything in terms of passing it off. my cpu still is around 45-65% exactly like before. I cant for the life of me get the BD/HD decoder to work which is the only one that specifically says Hardware Acceleration in the options. anyone else got an idea?
arfster
11th July 2007, 03:26
"Video renderer" is VMR7, and in Vista h264 acceleration only works with EVR as the renderer.
CruNcher
11th July 2007, 03:28
are you sure -> video renderer is capable of hardware accelleration in your vista case DXVA 2.0 ? i doub't it try "Enhanced Video Renderer" or "Video Mixing Renderer 9 (for XP DXVA 1.0)" :)
PS: Huh hehe arfster was faster :D
morph166955
11th July 2007, 03:37
ok...ill try that. Is there a more full name to EVR so I know what I'm looking for?
RaggedEdge
11th July 2007, 08:53
EVR = Enhanced Video Renderer, as per Cruncher's post.
I just tried the Vista 32Bit 162.15 driver - the 20FPS bug remains (much like we expected!).
On the postivie side, the new drivers have completely fixed an overscan issue with my Samsung Plasma TV. Although, it takes a fluke to get it working - NVidia are a disaster in the HTPC market at the moment!
Thought: I wounder how difficult it would be to write a H.264 hardware decoder for PureVideo2? I would imagine the code would only have to grab the raw H.264 data, and pass it into the PureVideo2 API for decoding.
I maybe missing a million tricks here, but it sounds straightforward in principle, given the hardware takes care of everything... right?
morph166955
11th July 2007, 15:20
Ooooooo new drivers? I shall have to investigate!
I'll try the EVR tonight to see if that fixes things. Can anyone think of anything else that I can try if that fails? I'd like to generate a list of things to try through the day today so that I have more then a few minutes worth of things to play with tonight just in case.
Also, I was reading earlier in this thread about possible problems with the haali splitter, is that still the case or was that decided to be a non issue? I know that my m2ts file is being processed via haali right now so I would like to know that isnt causing a problem.
CruNcher
12th July 2007, 10:40
@all
New Cyberlink Decoder and Black Screen/Slowdown problems fixed a Blu-Ray stream (.m2ts) bug in Haalis Splitter found it seams (frame skipping)
http://forum.doom9.org/showthread.php?p=1023806#post1023806
morph166955
14th July 2007, 01:23
IT WORKED!!!
when I forced to "haali -> cyberlink decoder -> EVR" in graph edit I got cpu percentages of 4-7%!!!!!!
Now the question is how do i get that to work in vista media center? Vista is definitely grabbing the standard video renderer instead of the EVR to do its work and I'd really enjoy passing off my video to the GPU instead of the CPU when I watch my stuff through media center like I want to.
Theliel
14th July 2007, 04:56
Media center/WMP in vista use EVR, so you only need force Cyberlink decoder for all H264 content. change merit in gspot for example for Cyberlink h264/avc decoder and set this to MERIT_PREFERRED
AKarpo
14th July 2007, 18:26
IT WORKED!!!
when I forced to "haali -> cyberlink decoder -> EVR" in graph edit I got cpu percentages of 4-7%!!!!!!
Now the question is how do i get that to work in vista media center? Vista is definitely grabbing the standard video renderer instead of the EVR to do its work and I'd really enjoy passing off my video to the GPU instead of the CPU when I watch my stuff through media center like I want to.
Nice, nice. What are your hardware specs/setup? Are you getting these results with .MKV playback? Do tell.
morph166955
14th July 2007, 21:38
I'll reconfirm with mkv, i confirmed it with a raw m2ts file i extracted from a bluray disc. I figured if nothing else, that should work. I'll test it with an mkv in a few minutes and report back. I'll post the specs then also
EDIT: Most definitely working with mkv files. I've got one playing right now through graphedit with the same chain as before and im averaging 2% cpu usage, ive even seen it drop to 0% a few times although i dont quite believe that. Scenes were explosions/high motion so I should have seen at least something on it but not even a bump.
I think its safe to say, this thing works! Now I gotta get media center to just handle it properly and im set!
@Theliei
can you be more specific to how to do that or provide a link of some sort to the software you mentioned? i'm not too up on the priorities and matches and all of that. THANKS!
AKarpo
14th July 2007, 22:11
I'll reconfirm with mkv, i confirmed it with a raw m2ts file i extracted from a bluray disc. I figured if nothing else, that should work. I'll test it with an mkv in a few minutes and report back. I'll post the specs then also
EDIT: Most definitely working with mkv files. I've got one playing right now through graphedit with the same chain as before and im averaging 2% cpu usage, ive even seen it drop to 0% a few times although i dont quite believe that. Scenes were explosions/high motion so I should have seen at least something on it but not even a bump.
I think its safe to say, this thing works! Now I gotta get media center to just handle it properly and im set!
@Theliei
can you be more specific to how to do that or provide a link of some sort to the software you mentioned? i'm not too up on the priorities and matches and all of that. THANKS!
Could you maybe include a step by step process that would explain to someone who is not familiar with graphedit as to how to "force" this; "when I forced to "haali -> cyberlink decoder -> EVR" in graph edit I got cpu percentages of 4-7%!!!!!!". I've got Haali and the cyberlink decoder, but I've never used graphedit to manipulate how the stream is processed/decoded. I've used graphedit before, however I'm having difficulty finding EVR in any of the filters that I can insert.
morph166955
14th July 2007, 22:33
Intel BOXDP35DPM LGA 775 Intel P35 ATX Intel Motherboard
Intel Core 2 Duo E6600 Conroe 2.4GHz LGA 775 Processor Model BX80557E6600
2x Crucial 1GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400) Desktop Memory Model CT12864AA80E
ASUS EN8600GTS/HTDP/256M GeForce 8600GTS 256MB GDDR3 PCI Express x16 HDCP Video Card
Western Digital Raptor WD1500ADFD 150GB 10,000 RPM Serial ATA150 Hard Drive
Sony NEC Optiarc 18X DVD±R DVD Burner with 12X DVD-RAM Write Black SATA Model AD-7170S-0B
Thermaltake Mozart Sx VC7001SNS Silver 0.8 mm SECC Chassis ATX Media Center Computer Case
CORSAIR CMPSU-520HX ATX12V v2.2 and EPS12V 2.91 520W Power Supply
Thats basically the specs for it, I copied that from my other post bout it that I made before I bought it HTPC
Theliel
14th July 2007, 23:48
Gspot are a good free Audio/Video Analyzer. He can detect for example codec used by any clip and if your computer have installed the proper codec. he have got some interesting features:
http://www.headbands.com/gspot/index.htm
http://www.headbands.com/gspot/v26x/GSpot270a.zip
Gspot search all your installed codec and filter too, and give you access to property sheet of each of them, or set the merit. The merit are the level of preference of one codec. For example, you can have installed two diferent codec for H264, CoreAVC and Cyberlink. If you want that Cyberlink will be your default h264 decoder (because some player, like WMP, only use the default codec) you must set the merit of Cyberlink H264/AVC decoder higher than CoreAVC or lower CoreAVC Merit.
Open your media with GraphEdit. The default filters used will be the filter that Graphedit show. With this information, open Gspot.
System/List Codecs And other filters
And in the list, search the codecs/filter that you want will be used by default and change the merit RightClick/Change Merit. If you want that one filter never will be used, set merit to lower value. The default codec/filter always will be the codec/filter with higher merit of all codec/filter for the same subtype (mediatype)
FFdshow work a little diferent. If you want use a specific mediatype with ffdshow, the most easy are forcing this in ffdshow video decoder config, and if you want disable ffdshow for specific mediatype, you should disabled in ffdshow too.
GraphEdit are a little programs that give you access to all filters installed in your PC.
Move your Video to the graphedit windows, and automatically graphedit load your default codec chain. You can now choose the filter you want use. EVR are present only in Windows Vista under DirectShow Filter->Enhanced Video Renderer.
morph166955
15th July 2007, 17:30
It wont let me reset the filter merit on the enhanced video renderer for some reason...any ideas?
morph166955
15th July 2007, 17:55
Ok i just got some really odd results, ill make a longer post later on about them since im running out now
long story short, media player for m2ts files works perfectly with the offloading (4-6% cpu in 35+ mbit/s scenes). however when playing from an mkv file in media player (not media center which does work), the image is completely green! AHHHHHHHH lol.
EDIT: and btw, mkv is not being offloaded in my case either right now. i havent tried to manually set it in graphedit, only straight through media center (which does play although media player doesnt as stated above)
RaynQuist
15th July 2007, 17:58
I believe the suggestion was to up the merit on the Cyberlink decoder
EDIT: Nevermind I saw you got it working
Theliel
15th July 2007, 21:28
you can't change EVR filter. WMP or WM Center under vista use EVR. If yo want unse EVR in other players, the player must support this new mode. In this moment only Zoomplayer 5.5 alpha and the special EVR edition MPC can work in EVR. if you got a green screen the most probable are you are using VMR.
In this moment i dont have any mkv h264, if you want, upload a sample and i can make a lot of test.
apatch
19th July 2007, 13:45
latest modded MPC
http://sourceforge.net/project/showfiles.php?group_id=170561
you need .net 3.0
if you dont want to install it
http://www.zshare.net/download/2363822cf12890/
copy both dll’s to \windows\system32 and register
evr.dll with regsvr32 - or use the reg_drag&drop.exe
and kmplayer also support EVR, try with these
RaggedEdge
20th July 2007, 09:19
Updated to 1.0.90 :)
The 20 FPS remains though...
I was looking at the Pin info on the Enhanced Video Renderer when comparing identical H.264 streams in an MKV and AVI container.
I noticed the following differences:
************** MKV ******************
Pin: Video Out
- Connection media type:
Video: DXVA 1280x528 23.98fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_NV12 {3231564E-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 518400
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,528)
rcTarget: (0,0)-(1280,528)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
************* AVI ********************
Pin: Video Out
- Connection media type:
Video: DXVA 1280x528
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_NV12 {3231564E-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1013760
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1280,528)
rcTarget: (0,0)-(1280,528)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 0
**************************************
Why is the lSampleSize and AvgTimeForSample different? And, is it of significance to the 20FPS bug?
hekoheko
7th August 2007, 22:29
Any news on the 20fps bug, Im diying here. :)
I have 2600XT though, but suffering from same bug.
jhoff80
8th August 2007, 06:45
I'd love to see a fix for this 20fps thing too, before I make any purchasing decision. I'm either going to buy a new PC for HTPC only duties, or just get the AGP HD2600 and hold off for at least a year on the new PC.
RaggedEdge
8th August 2007, 09:09
Just installed the latest NVidia driver 163.11 Vista 32Bit and the latest Cyberlink PowerDVD Version 3104a.1.
The bug is still there - I guess the only person who can fix this is Haali.
I just hope someone can lend him a 8500/8600 or ATI equivalent card for a few days of testing... I'm beginning to think it maybe more down to the Haali splitter then Cyberlink because the very same data plays great in an AVI container...
hekoheko
8th August 2007, 10:18
Just installed the latest NVidia driver 163.11 Vista 32Bit and the latest Cyberlink PowerDVD Version 3104a.1.
The bug is still there - I guess the only person who can fix this is Haali.
I just hope someone can lend him a 8500/8600 or ATI equivalent card for a few days of testing... I'm beginning to think it maybe more down to the Haali splitter then Cyberlink because the very same data plays great in an AVI container...
How did you put h264 stream from MKV to AVI container?
hekoheko
8th August 2007, 10:50
Step 1 Take your MKV file run it throught mkv2vfr (command line mkv2vfr name.mkv name.avi)
Step 2 Take the MKV file again and run through mkvguiextract (load the mkv file, and just extract the audio)
Step 3 Take the AVI file and the AC3 and run though avi-mux gui (output settings - AVI ; make rec lists ticked, mp3 and add junk off)
dxva now works.
oomka
8th August 2007, 15:34
I did some testing and here are my results:
20fps is there until you disable hardware acceleration (DXVA), as soon as it is disabled 20fps goes away.
1080p mkv produce black screen until you disable hardware acceleration (DXVA), as soon as it is disabled video plays fine.
To me it sounds like a driver NVIDIA issue more than Haali (I cant explain muxing to a differnt container AVI workaround, which does not work for 1080p)
Is it really Haali at fault?
And is there a way to play 1080p mkv with DXVA without black screen?
hekoheko
8th August 2007, 18:24
I did some testing and here are my results:
20fps is there until you disable hardware acceleration (DXVA), as soon as it is disabled 20fps goes away.
1080p mkv produce black screen until you disable hardware acceleration (DXVA), as soon as it is disabled video plays fine.
To me it sounds like a driver NVIDIA issue more than Haali (I cant explain muxing to a differnt container AVI workaround, which does not work for 1080p)
Is it really Haali at fault?
And is there a way to play 1080p mkv with DXVA without black screen?
It certainly isnt nvidias driver fault when same errors come with ati catalyst.
I have also tested that h264 transport stream put in to a MKV container works up to 1080p with DXVA.
So the x264 might be the problem.
oomka
8th August 2007, 19:00
It certainly isnt nvidias driver fault when same errors come with ati catalyst.
I have also tested that h264 transport stream put in to a MKV container works up to 1080p with DXVA.
So the x264 might be the problem.
On the second note I just realized that I can play some 1080p original tv caps from euro tv in a TS container.
So I think you right about that x264 encode method of 1080p is at fault. But what specific about the 1080p encodes that produces a black screen with DXVA on?
hekoheko
8th August 2007, 19:30
On the second note I just realized that I can play some 1080p original tv caps from euro tv in a TS container.
So I think you right about that x264 encode method of 1080p is at fault. But what specific about the 1080p encodes that produces a black screen with DXVA on?
Exactly.
I've found one 720p MKV that works fine with DXVA on, and doesn't slow down, I wish I knew what's different about that specific file.
oomka
8th August 2007, 21:36
Do you mind sharing the release name for the 720p that plays with hardware accelelration without stutter? pm maybe?
plane
9th August 2007, 12:48
It certainly isnt nvidias driver fault when same errors come with ati catalyst.
I have also tested that h264 transport stream put in to a MKV container works up to 1080p with DXVA.
So the x264 might be the problem.
http://forum.doom9.org/showthread.php?p=1022197#post1022197
x264 b-frame might be one of the problem. This thread seems fixed the mp4 x264 slowdown by forcing direct_pred=temporal(not sure about mkv).
http://forum.doom9.org/showthread.php?p=1023806#post1023806
For the black screen, it sounds like you need to get the latest Splitter 1.7.189.11
http://forum.doom9.org/showthread.php?p=1023991#post1023991
Also, please make sure you use this MP4Box(GPAC version 0.4.5-DEV - compiled by Kurtnoise - Jul 3 2007).
hekoheko
9th August 2007, 14:22
http://forum.doom9.org/showthread.php?p=1022197#post1022197
x264 b-frame might be one of the problem. This thread seems fixed the mp4 x264 slowdown by forcing direct_pred=temporal(not sure about mkv).
http://forum.doom9.org/showthread.php?p=1023806#post1023806
For the black screen, it sounds like you need to get the latest Splitter 1.7.189.11
http://forum.doom9.org/showthread.php?p=1023991#post1023991
Also, please make sure you use this MP4Box(GPAC version 0.4.5-DEV - compiled by Kurtnoise - Jul 3 2007).
I have that haali splitter version, 720p=slowdown 1080p=black screen.
Why would I need mp4box? I dont watch mp4's.
oomka
9th August 2007, 15:23
I have that haali splitter version, 720p=slowdown 1080p=black screen.
Why would I need mp4box? I dont watch mp4's.
I second that
plane
9th August 2007, 15:43
I have that haali splitter version, 720p=slowdown 1080p=black screen.
Why would I need mp4box? I dont watch mp4's.
I know you have some mkv playing fine with DXVA but maybe you can give mp4 a try with the h264 vids you can't play right with mkv(although I think endedup it may still need to re-encode with temporal b-frame if the clip was from x264).
oomka
9th August 2007, 15:46
I know you have some mkv playing fine with DXVA but maybe you can give mp4 a try with the h264 vids you can't play right with mkv(although I think endedup it may still need to re-encode with temporal b-frame if the clip was from x264).
I tried extracting from mkv and creating mp4 with the new version of the MP4box, same problem
720p - slowdown,
1080p - black screen
hekoheko
9th August 2007, 16:25
As I mentioned before, x264 from MKV put into a AVI container works perfectly.
jhoff80
9th August 2007, 17:49
As I mentioned before, x264 from MKV put into a AVI container works perfectly.
Yeah, but remuxing everything I have doesn't seem like a realistic solution for me, so it would be great if we could figure out what exactly is causing the issue.
RaggedEdge
9th August 2007, 19:49
My workaround to this really annoying issue is to use MKV2VFR.EXE, which comes with Haali splitter, to produce a video only version of the MKV file.
No I have one fully working video file without audio.
So, I use graphedit to playback both the AVI and the MKV file at the same time, but delete the video render path from the MKV side.
Now I can watch all 720p material with full audio sync.
It's damn annoying to have to do this, because the fix must be trivial if the AVI version works out of the box.
Haali doesn't have access to one of these H.264 capable cards and therefore can't look into the difference between MP4 in an AVI and MKV container...
oomka
9th August 2007, 22:50
My workaround to this really annoying issue is to use MKV2VFR.EXE, which comes with Haali splitter, to produce a video only version of the MKV file.
No I have one fully working video file without audio.
So, I use graphedit to playback both the AVI and the MKV file at the same time, but delete the video render path from the MKV side.
Now I can watch all 720p material with full audio sync.
It's damn annoying to have to do this, because the fix must be trivial if the AVI version works out of the box.
Haali doesn't have access to one of these H.264 capable cards and therefore can't look into the difference between MP4 in an AVI and MKV container...
this method does not solve black screen in 1080p reencodes:confused:
RaggedEdge
9th August 2007, 23:25
this method does not solve black screen in 1080p reencodes:confused:
Nope - it's just the quickest hack for playing back 720P content with full hardware acceleration.
The fact 1080P doesn't work in a different container, suggests a more serious bug...
hekoheko
10th August 2007, 06:22
Nope - it's just the quickest hack for playing back 720P content with full hardware acceleration.
The fact 1080P doesn't work in a different container, suggests a more serious bug...
Even if we get DXVA working, it won't work with subs anyway.
I'm focusing on blu-ray/hd-dvd, coz it's stunning how much better it looks than 1080p MKV.
morph166955
13th August 2007, 14:48
Even if we get DXVA working, it won't work with subs anyway.
I'm focusing on blu-ray/hd-dvd, coz it's stunning how much better it looks than 1080p MKV.
you can seriously tell the difference between a 1080p mkv and a 1080p bluray/hddvd? damn youve got a good eye! i've compared the bluray of xmen3 to the mkv I made of it on my projector (granted its a 720p projector but still, its at 90 inches so imperfections are easy to see). I can't tell a bloddy difference and there are points in the bluray that go as high as 45mbit where the mkv doesnt break above 10 at all.
Also to note, the bluray transport stream works with dxva, the mkv here also (as expected) does not. I refuse to use h264 in an avi container. For more info why, search on here as to why people aren't using avi's that much with h264, theres a few really good reasons I'm just not going to get into for brevity right now. I haven't tried to mux it into mp4 format but I'm also skeptical to do this since the audio is in ac3/dts and i dont wanna convert it over to aac so that it works in mp4. I might mux just the video over to see if its working though just for simple curiosity.
hekoheko
13th August 2007, 18:39
you can seriously tell the difference between a 1080p mkv and a 1080p bluray/hddvd? damn youve got a good eye! i've compared the bluray of xmen3 to the mkv I made of it on my projector (granted its a 720p projector but still, its at 90 inches so imperfections are easy to see). I can't tell a bloddy difference and there are points in the bluray that go as high as 45mbit where the mkv doesnt break above 10 at all.
Also to note, the bluray transport stream works with dxva, the mkv here also (as expected) does not. I refuse to use h264 in an avi container. For more info why, search on here as to why people aren't using avi's that much with h264, theres a few really good reasons I'm just not going to get into for brevity right now. I haven't tried to mux it into mp4 format but I'm also skeptical to do this since the audio is in ac3/dts and i dont wanna convert it over to aac so that it works in mp4. I might mux just the video over to see if its working though just for simple curiosity.
I have to take my words back, I just checked recent 1080p MKV's, they do look pretty similar.
The difference is so small that it don't mind.
Because using MKV as primary source of material has other benefits. :p
I still would like to get DXVA to MKV since my CPU can't cope those, but until then, 720p ftw.
morph166955
13th August 2007, 21:35
i completely agree with getting mkv & dxva working. i just built a new media center for myself about a month ago with a nice shiny new nvidia card in it that I would like to use for a little more then what its doing now. Its kinda cool to pipe a 45mbit stream through it and have 2% cpu usage as opposed to the close to 90% usage when im piping it via mkv.
arfster
14th August 2007, 02:32
I have to take my words back, I just checked recent 1080p MKV's, they do look pretty similar.
They do vary a lot. A 1080p 120 min movie made for a DVD5 only has 4.5mbit video bitrate to play with, and won't look that good. At 100 mins and a DVD9 to fit into, there's 11.5mbit - and that's enough to look excellent. It's not even that far off what some commercial discs use. Bluray/HDDVD can look a lot better, but it depends how good the source is.
ferry1
19th August 2007, 12:32
This is screaming out to be fixed, what can we do to speed things up, donate money, send Haali a 8400 or what?
CruNcher
19th August 2007, 15:16
@ arfster
for many 1080p scenarios 4.5 mbit (120 min of the most source are no problem problematic are 180 min) ) would be enough and HD-DVD,Blu-Ray to DVD5 (HD-DVD,Blu-Ray,PC (unconstrained) ) would look HVS wise still sufficient enough (without grain preservation) im very sure about this, but the whole encoder has to be optimized for this scenario entirely (to be maximal balanced).
I also found ways to lower the complexity of x264 streams @ Decoding (with PV1/PV2) within the code, but i still need to test the efficiency and compression loss (HVS difference) these modifications will result in (i don't want to endup @ ATI Encoder quality :P).
plane
19th August 2007, 17:03
This is screaming out to be fixed, what can we do to speed things up, donate money, send Haali a 8400 or what?
http://news.gmane.org/gmane.comp.multimedia.matroska.devel
Try report this bug on mkv dev board but I think they already knew it.
Actually, we need to donate a Vista plus PowerDVD Ultra plus 8500?
RaggedEdge
29th August 2007, 15:58
http://news.gmane.org/gmane.comp.multimedia.matroska.devel
Try report this bug on mkv dev board but I think they already knew it.
Actually, we need to donate a Vista plus PowerDVD Ultra plus 8500?
NVidia is getting all the profits for 8500/8600 sales - they are the ones that should donate it.
However, I suspect the software only decoder guys maybe paying Haali to avoid the fix, so they can continue to make money on the software only solution...
RaggedEdge
4th September 2007, 10:56
This is weird...
Using this 1080P MP4 file:
http://trailers.nerodigital.com/Wink_Inc/WG30secSpot_AVC_HDTV.mp4
I can playback fully hardware accelerated 1080P H.264 content using the Haali Splitter and the Cyberlink H.264 Decoder without a single hichup...
Does that mean there is no problem with the Haali splitter or Cyberlink? I.e. the problem is more to do with how the H.264 was encoded?
KoD
4th September 2007, 11:25
It means the graphic cards simply were not made to accelerate h264 streams that use certain features or that have certain parameter values. Just like the PSP or any other hardware device, those graphic cards are limited in what they can "accelerate" (read "decode"). I hope that was enlightening.
RaggedEdge
4th September 2007, 12:23
It means the graphic cards simply were not made to accelerate h264 streams that use certain features or that have certain parameter values. Just like the PSP or any other hardware device, those graphic cards are limited in what they can "accelerate" (read "decode"). I hope that was enlightening.
You can take the raw H.264 data from a MKV container, and put it straight into an AVI container, and it all just works!
So, I think there are solutions to the 20fps MKV bug, but there does not seem to be a will to fix it...
You maybe right though, these cards have been geared towards HD-DVD and BlueRay decoding, so there is a chance they won't be compliant with out of spec streams. Just won't know for sure until someone like Haali takes a closer look at the actual problem...
gruven42
6th September 2007, 01:16
Step 1 Take your MKV file run it throught mkv2vfr (command line mkv2vfr name.mkv name.avi)
Step 2 Take the MKV file again and run through mkvguiextract (load the mkv file, and just extract the audio)
Step 3 Take the AVI file and the AC3 and run though avi-mux gui (output settings - AVI ; make rec lists ticked, mp3 and add junk off)
dxva now works.
I tried this and got the exact same results as the mkv.
liquidator87
6th September 2007, 02:57
I don't think the problem is anywhere except in the interaction between h264 stream and decoder...
From all my tests, changing splitter and/or container doesn't solve anything, the problem is that cyberlink codec doesn't handle correctly B-frames with x264 encodes when dxva is enabled... In fact, the only way I found to "solve" this is to entirely re-encode the video w/o B-frames... the result is simply perfect
hekoheko
6th September 2007, 06:19
I tried this and got the exact same results as the mkv.
720p mkv works in AVI container! PERIOID!
1080p gives black screen.
This on ATI cards.
BTW there is dude that has some beta nvidia drivers 163. something, he has 8600 I think and every MKV works withouth any tricks.
liquidator87
6th September 2007, 12:34
Yes, you were right... Switching to avi seems to work (but why?)
RaggedEdge
6th September 2007, 12:41
720p mkv works in AVI container! PERIOID!
1080p gives black screen.
This on ATI cards.
BTW there is dude that has some beta nvidia drivers 163. something, he has 8600 I think and every MKV works withouth any tricks.
Please try to get more info about this dude - if there is a beta driver that fixes this, I'll be over the moon... along with a thousand and one other 8500/8600 users... although, I suspect he's probably just running in software only decode, I guess...
FYI: I'm on the latest official BETA release from NVidia's website, and the problem is still there.
hekoheko
6th September 2007, 13:38
Please try to get more info about this dude - if there is a beta driver that fixes this, I'll be over the moon... along with a thousand and one other 8500/8600 users... although, I suspect he's probably just running in software only decode, I guess...
FYI: I'm on the latest official BETA release from NVidia's website, and the problem is still there.
The site is down where I would have quoted the message.
He claims it is working, on Core2Duo T7200, or something, I think it's laptop CPU.
Under 10% CPU, and without DXVA it was something like 30-40%, which I think is too much for such CPU, not sure.
Trahald
6th September 2007, 15:18
I use the evr edition of mpc. I get 5% or less usage on my single core chip with my 8500 on mkvs. i just set cyberlink avc decoder to prefered. also disabled vobsub. even with subs turned off, if vobsub gets in the graph it kills the acceleration so setting vobsub direct merit to blocked worked. im using vista 32.
graph is haali --> cyberlink --> evr
am i missing something or should it have been harder? or is it the subs thing?
RaggedEdge
6th September 2007, 20:39
I use the evr edition of mpc. I get 5% or less usage on my single core chip with my 8500 on mkvs. i just set cyberlink avc decoder to prefered. also disabled vobsub. even with subs turned off, if vobsub gets in the graph it kills the acceleration so setting vobsub direct merit to blocked worked. im using vista 32.
graph is haali --> cyberlink --> evr
am i missing something or should it have been harder? or is it the subs thing?
You must be in software decode:
Is DXVA enabled in the Cyberlink H.264 Decoder?
Are you using the Vista/.NET EVR renderer or the custom EVR renderer?
I suspect you maybe using the custom EVR, which is software only decode...
Your CPU is probably powerful enough to make the software/hardware performance difference unimportant.
Trahald
6th September 2007, 22:02
You must be in software decode:
Is DXVA enabled in the Cyberlink H.264 Decoder?
Are you using the Vista/.NET EVR renderer or the custom EVR renderer?
I suspect you maybe using the custom EVR, which is software only decode...Use DxVA is checked. Renderer is set to EVR (Vista/.Net3)
Your CPU is probably powerful enough to make the software/hardware performance difference unimportant.i have a 3800+ single core that is native 2.4ghz but i actually have it UNDERclocked to 2.0ghz because of my cheap stock cooler.
RaggedEdge
6th September 2007, 23:28
Use DxVA is checked. Renderer is set to EVR (Vista/.Net3)
i have a 3800+ single core that is native 2.4ghz but i actually have it UNDERclocked to 2.0ghz because of my cheap stock cooler.
That's really encouraging.
Would you please detail the version of the NVidia driver, MPC Player (+ any custom settings) and Cyberlink PowerDVD etc.
If we can duplicate your success - it would help so many of us who are getting black screens with 1080P content and stutter/jitter (20 fps bug) with 720P content.
In the meantime, I just got this from Cyberlink:
Thank you for contacting CyberLink Online Support.
We understand your concern related with MKV file support.
We regret to inform you that MKV files are not supported by PowerDVD. However, we have again forwarded this concern to the appropriate department for future updates.
Please keep visit www.CyberLink.com for latest updates.
Please feel free to contact us back for any further clarification or for any assistance related to CyberLink Products.
Trahald
7th September 2007, 08:15
Nvidia driver == 162.22_forceware_winvista_32bit_english_whql.exe (latest on site)
powerdvd = v7.3
mpc == v1.0.9.0 'HomeCinema' edition
Mpc filters --
cyberlink avc decoder - merit to prefer
directvobsub - merit to blocked
ffdshow audio decoder - merit to prefer
EVR (vista/net3) output
dragongodz
7th September 2007, 13:11
BTW there is dude that has some beta nvidia drivers 163
possibly these(163.44, released for bioshock)
http://www.nzone.com/object/nzone_downloads_rel70betadriver.html
TheShadowRunner
3rd October 2007, 03:29
I'm having the exact same issue.
Card is Geforce 8500GT, drivers 163.71. OS is XP SP2.
When I use the Cyberlink filter with DXVA enabled along with VMR9, i do get hardware accelaration (CPU between 0 and 2% !!) on MKV/AVC1 but I can see 20fps in VMR9 filter properties and experience stuttering.
Has anyone found a solution for this yet?
cl264dec.ax is version 2.0.0.1904, is there a newer out?
I also happen to have 720p MKVs that give a black screen, so the problem of black screen isn't only 1080p related.
I checked and each time (for working and non-working MKVs) the 4CC is AVC1 so at least that's not a problem of 4cc.
Thanks for any help.
Later,
TSR
Also, the mp4 "WG30secSport_AVC_HDTV" plays perfectly with AVC1 but the fps is 29.9..
Maybe this bug is due to compatibility issue with fps 24 for movies?
One strange thing is that for all the MKVs with the 20fps problem, the deinterlacing tab of VMR9 renderer says 47.95 Hz.. isn't that odd ?
TheShadowRunner
3rd October 2007, 18:50
47.95Hz = 20.87FPS if im doing the math right.
oh that's quite interesting!
Are we onto a lead...?
Later,
TSR
tommy_vercetti
3rd October 2007, 23:32
Anbody tried the new drivers, seems they support the Hardware acceleration in XP
TheShadowRunner
4th October 2007, 00:00
tommy, read the 2 posts above yours ;)
TheShadowRunner
10th October 2007, 23:18
Well i used mkv2vfr to remux the h264 stream from the MKV container to AVI.
Still on XP SP2, nvidia 163.71, vmr9 and cyberlink with hardware acceleration enabled..
It works! Solid 24 fps all the way WITH hardware acceleration enabled (CPU between 0-2%) :D
But man, remuxing isn't a real solution :/
Later,
TSR
DrNein
11th October 2007, 01:00
Interesting but if there is a fault with the MKV wouldn't it make more sense to remux into an MPEG-2 Program or Transport stream?
If the video is demuxed is it still accelerated or is AVI bypassing or forcing correction of a flaw somehow?
homerpez
3rd November 2007, 05:32
Sorry to jump in here, I'm also trying to get this to work, and getting mixed results. So many options/filters (and many of which I've never heard of) have been mentioned, hopefully if I just post my situation, someone can help me...
The card is the 8600 GT... and I'm also noticing that I get hardware acceleration while in PowerDVD (no more than 30%, even for VC-1) but when I play an H.264 codec video in Media Player Classic, it doesn't accelerate at all.
The material here is H.264, 720p, with ac3 audio attached. I purposely disabled "libvacodec" in FFDShow so it would use what's left (Cyberlink PoweDVD's filter).
When I check the filter it's using, it says it's the Cyberlink filter, and the checkbox for hSorry to jump in here, I'm also trying to get this to work, and getting mixed results. So many options/filters (and many of which I've never heard of) have been mentioned, hopefully if I just post my situation, someone can help me...
The card is the 8600 GT... and I'm also noticing that I get hardware acceleration while in PowerDVD (no more than 30%, even for VC-1) but when I play an H.264 codec video in Media Player Classic, it doesn't accelerate at all.
The material here is H.264, 720p, with ac3 audio attached. I purposely disabled "libvacodec" in FFDShow so it would use what's left (Cyberlink PoweDVD's filter).
When I check the filter it's using, it says it's the Cyberlink filter, and the checkbox for hardware acceleration is checked.
So why again is it not working, when it IS supposedly using the Cyberlink filter?
I guess I've read what I could here.. seen many things mentioned, but no clarity on the issue.. I think the codecs I'm using would be simple enough to diagnose...
Using latest Nvidia driver for Vista 32 as well (169.04).
I should add this: I did try enabling EVR in Vista 32 (by using a patched MPC mod that allows for this), however, this bricks MPC altogether. There's no video OR audio output when I use EVR Vista/net. When I use the "custom", I get audio only.
Without EVR working, I'm out of options for now...
Thanks for any tips that will give me some success here!ardware acceleration is checked.
So why again is it not working, when it IS supposedly using the Cyberlink filter?
I guess I've read what I could here.. seen many things mentioned, but no clarity on the issue.. I think the codecs I'm using would be simple enough to diagnose...
Using latest Nvidia driver for Vista 32 as well (169.04).
Thanks for any tips that will give me some success here!
Sulik
3rd November 2007, 06:55
It's quite simple: H.264 acceleration on Vista will ONLY work with DXVA2, which requires EVR (Microsoft does not provide DXVA1 support for H.264)
EVR requires specific support from the application (Sounds like EVR support is not yet fully functional in MPC).
homerpez
3rd November 2007, 08:46
It's quite simple: H.264 acceleration on Vista will ONLY work with DXVA2, which requires EVR (Microsoft does not provide DXVA1 support for H.264)
EVR requires specific support from the application (Sounds like EVR support is not yet fully functional in MPC).
I have just tried to use the MPC "Home Cinema" Build... it allows you to activate EVR I guess, I could only bring up a picture by using "custom" (3d display, Bicubic, 5 EVR buffers)...
I think I have another problem... when I bring up the filter menu in MPC, it still only shows that it was "DXVA1"... not "DXVA2". Holding CTRL while I bring up the config, I see it's saying "SW" mode.
What would cause this now? It's an 8600 card, it's using the latest drivers from Nvidia, and it's using the Cyberlink filter... how do I get DXVA2 to activate? or does the screen look the same?
Unfortunately, I'd running an encode now, so I can't test the CPU usage... but I have a feeling it still doesn't work...
Could someone who HAS gotten this to work tell me the steps? Some other method to try maybe? :thanks:
TheShadowRunner
3rd November 2007, 09:28
A very easy way to see if the Cyberlink decoder is in sofware or in hardware mode is the color levels on its property tab.
If color levels are locked : hardware acceleration.
if color levels can be altered : software.
Hope it helps, somehow.
See you,
TSR
homerpez
3rd November 2007, 09:42
A very easy way to see if the Cyberlink decoder is in sofware or in hardware mode is the color levels on its property tab.
If color levels are locked : hardware acceleration.
if color levels can be altered : software.
Hope it helps, somehow.
See you,
TSR
Thanks, this actually did help some...
I just discovered that DXVA acceleration isn't working @ all with MPC Home Cinema, using EVR.
Under the "EVR Custom", I get the movie to play, but it's using software only. "SW" mode.
When I set it to use "EVR Vista / Net 3", it just hangs totally, and will not play. When I go into the Cyberlink filter options, the color bars are greyed out as you said, and it says "Bitstream" now, but does nothing else. Frozen solid.
So... looks like EVR + DXVA doesn't seem to work right...
EDIT:
I have now tried this on 2 Nvidia machines. The 8600 GT and the 8800 GTS. This behavior is the same on both machines, with DXVA1 and DXVA2.
When "EVR Vista/Net" is the output, Nvidia PureVideo 1 AND 2 choke in the same fashion. The only difference is that PureVideo 1 (8800 GTS) will say "BC" and PureVideo 2 (8600 GT) will say "Bitstream", then both freeze in place.
Once or twice (and only once or twice), PureVideo 1 began to play, but the image was pixellated and awful. Purevideo 2 won't play at all.
This seems to be in the way that "Home Cinema" + EVR Vista/Net and Purevideo 1 and 2 interact... the addition of EVR seems pointless if it doesn't bring you to the ability to accelerate with hardware...
RaggedEdge
7th November 2007, 18:21
I wonder if there is a filter that we could fit between the Haali file reader and the cyberlink H.264 decoder, to find out what info is being passed, and maybe to even tweak FPS values etc... without reprocessing the actual video data. Is there such a filter beast?
hekoheko
1st December 2007, 15:35
Any news on the 20 fps bug for ATI?
valnar
7th December 2007, 12:20
I don't know if this solves all the woes, but check out this thread on AVS.
http://www.avsforum.com/avs-vb/showthread.php?p=12423227#post12423227
-Robert
shon3i
7th December 2007, 19:04
Hmm, maybe is true. It will hard to find PDVD 7.2 but sounds promising.
btw is 20fps bug presist aslo on nvidia cards or only for ati? I have 2600XT AGP, and HW acceleration work good with HDDVD and BluRay titles.
Dark Eiri
8th December 2007, 00:55
I don't know if it fixes the 20fps bug, but I tried PDVD 7.2 and I still got a black screen. No video at all. If I uncheck DxVA it goes without a flaw. 8600GT + XP here. Same problem with Vista.
I guess I'll have to stick with CoreAVC.
Sulik
8th December 2007, 06:23
The black video on 1080 content is most likely due to using num_ref_frames > 4
Dark Eiri
8th December 2007, 16:19
It was a 720p video. By the way, hundreds of videos. Same problem? Guess I'll just have to reencode all of them =/
Some videos play with stuttering ,though.
Thanks for warning me about this issue! I'll encode the videos with 4 Ref's now.
NanoBot
9th December 2007, 00:21
Hi,
I think it is neccessary to distinguish between the to problems:
The black screen when playing back 1080p streams with > 4 reference frames could be caused by a lack of memory on the video card. As more reference frames are used, as more of them must be held in the video cards memory to be able to decode a frame.
Nevertheless, the "20fps" problem IMHO is definitely a bug in the cyberlink decoder, since there is an older version where it does not occure. And as far as I could test it, the 20 fps problem is not caused by any of the x264 paramters used during the encode. I encoded a small 720p video with 23,976fps, using two reference frames, two b frames and no b-pyramids, and the problem is still there. The encoder was the newest x264 available and the decoder is the newest cl264dec.ax ( 2.1.0.1108 )
So it looks to me that cyberlink was not able to fix the problem with their latest update of powerdvd, and we will have to wait for the next update.
C.U. NanoBot
riadmelb
16th December 2007, 10:55
Hi all, this is my first post here, and not sure if the following information is usual
I have PowerDVD v7.3 with latest patch applied, have CCCP installed and latest nVidia drivers running on MSI 8500GT with HDMI port. My main media player is MediaPortal, but I’m using PowerDVD player for testing. These are the only components installed after fresh install of XP sitting on Intel 6120 with 1GB of ram.
When hardware acceleration is disabled I can play 1080p in PowerDVD, but when hardware acceleration is enabled I get the black screen in PowerDVD.
While I was troubleshooting MediaPortal problem playing 1080p in the latest release, a user in MediaPortal forum (thank you Atarian) mentioned that we need to configure halli splitter to autoload vsfilter in order to play 1080p in MediaPortal. Although this change fixed my MediaPortal problem, it also fixed PowerDVD playback problem (black screen) as well.
But even though I have hardware acceleration enabled, I think it’s not being utilized, because cpu usage is between 40-60% and sometimes jumps to 90%.
Hope this helps in something,
Riad
TheShadowRunner
16th December 2007, 15:35
As soon as vsfilter is loaded, cyberlink automatically falls back to software mode.
TheShadowRunner
16th June 2008, 01:58
Just to let you guys know that cl264.ax v2.2.0.527 is the new v1.99.0.1405, aka no 20fps bug on this one either. :D
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.