Log in

View Full Version : MPC-HC tester builds for internal renderer fixes


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

burfadel
28th February 2012, 02:24
Still no go with r4101 with it reset etc. Its only an issue with EVR-CP and Direct3D fullscreen enabled. I tried a build of the standard r4104 found here http://henry.fushizen.eu/builds/MPC-HC/#!/view=details/lang=en/sort=na and no issues, so I don't know... but if nobody else is having the issue with the r4101 mod with EVR-CP and Direct3D, it must be just me :)

GREG1292
28th February 2012, 03:09
Avx 4075 works good for me and many thanks. I would like to see more use of the GPU as it looks like eye candy to me
with EVR CP and 32 float and SVP 3.06. Had to upgrade my video card from a AMD 6570 93% gpu and stuttering to a
GTX-480 and 33% GPU and smooth playback.

burfadel
28th February 2012, 03:35
Have you tried r4101?

The HD6570 is a low end budget graphics card, and the GTX 480 a high end card (it was the top model in that range), but that you really shouldn't be wanting high GPU use just for video playback :)

golagoda
28th February 2012, 03:35
Still no go with r4101 with it reset etc. Its only an issue with EVR-CP and Direct3D fullscreen enabled. I tried a build of the standard r4104 found here http://henry.fushizen.eu/builds/MPC-HC/#!/view=details/lang=en/sort=na and no issues, so I don't know... but if nobody else is having the issue with the r4101 mod with EVR-CP and Direct3D, it must be just me :)
Anyone had the same issue with this, or is it just me?!

I'm having a (possibly) related issue which is extremely hard to explain.

I personally don't use D3DFS like you've said you do but I do use EVR-CP and with the latest build sometimes the video will just freeze/not show but the sound will continue playing, the video starts out playing perfectly fine but then it occurs randomly. Seeking to random spots in a video sometimes seems to fix it but it's weird.

For the record this is with the x64 version.

burfadel
28th February 2012, 05:09
I'm using the x86 version, but yes its a similar thing :) the sound plays but no video. What I said earlier in the first post about the issue: 'I also tried the SSE version, and the picture windows did show with the first frame or two, but then crashed. ', which does suggest that the issue may show differently with different builds (as in SSE, SSE2, x64, AVX for those that can try it etc).

Going by that, I dare say your issue and mine are resultant of the same cause.

Hera
28th February 2012, 07:00
So, got the normal 64-bit latest binary from you,

Launched some MKV, realized that DTV-DVD codec was incompatible
Also unchecked disable Desktop Composition
Blocked DTV-DVD codec and told MPC:HC to open the file again

Got the following error,
Error creating EVR Custom Renderer
Access is Denied.
CreateDeviceEx failed initialization
DX9AllocatorPresenter failed
Access is denied.

This made the file play without video

Sry, don't have time to help much atm (or volition for that matter)

Also the speeding up / audio cutting out problem is still there.

pururin
28th February 2012, 09:19
@ryrynz, nevcairiel and especially JanWillem32
Thanks a lot for the explanation :)
So far I've heard about those extensions but I don't really know how it works. I guess I can see the big picture now(at least a bit).

nev has a point though, which I wonder the same a little, about the measurable difference(s).
Can I benchmark it in someway? Like testing the subtitle rendering performance in heavy karaoke subtitle clips between those versions?

Btw I heard that internal subtitle renderer has some disadvantages to the external one like xy-vsfilter, especially about typesetting.
Here's a sample clip that shows how ISR resize incorrectly: http://www.mediafire.com/?301dtzr51lflvj2

ryrynz
28th February 2012, 09:47
It would not be worthwhile benchmarking them the difference is likely to be so small between SSE2 and AVX versions as to be unnoticeable as Nevcairiel stated, only use the SSE version if you must.

GREG1292
28th February 2012, 17:11
Have you tried r4101?

The HD6570 is a low end budget graphics card, and the GTX 480 a high end card (it was the top model in that range), but that you really shouldn't be wanting high GPU use just for video playback :)
Have tried r4101 and went back to AVX 4075 but like in games why not take advantage of all the
shaders and so fourth? With the better card madVr is at 43% gpu and a better picture. Though with a low end card EVR CP
looked better as I could not run madVr. So something is going on with more access to the GPU?

Hera
1st March 2012, 21:56
Anyone get 1x1 video size on W8?
All codecs / splitters.

1.6.1.4075 works but the newer one DOES NOT.

CruNcher
5th March 2012, 01:05
@ Jan
Do you have a idea why this simple chain http://img62.imageshack.us/img62/4116/failsmpchc.png doesn't work with MPC-HC ?

kostik
5th March 2012, 18:19
Hey,
Something strange happens with your builds on my laptop.
First time I opened a movie I had black screen only sound. Tried lav filters, ffdshow, MPC codecs and various settings in renderer settings.
Then I installed windows 8 , tried one of your builds and everything worked well except the MPC message to install new directx redist.
Played some movies and they worked flawlessly and smooth accept the strange ringing (I assume it happened because I didn't install directx update).
After installing directx update (June 2010) I had that black screen again and only sound. madVR played good though.
I searched for the DLLs that were installed by Directx and removed them. Then updated directx to March or February 2010 and everything worked but was very slow on my crazy strong laptop. Tried other drivers and still its not smooth with Pixel Shader 6 .
I just wanted to know why and if someone had the same problem with Directx ?

currently I am going back to Windows 7 and try to play again without Directx update and afterwards with .
My laptop specs:
I7 2920XM
Quadro 4000M
16GB 1600MHz
2XSSD drives
Should be good enough.
Thanks

Hera
12th March 2012, 21:07
W8 - D3DFS
Clicks don't go to the video.
I was clicking on taskbar shortcuts (eclipse, word, IE10, etc..) instead of interacting with the running video.

G_M_C
12th March 2012, 22:21
W8 - D3DFS
Clicks don't go to the video.
I was clicking on taskbar shortcuts (eclipse, word, IE10, etc..) instead of interacting with the running video.

Is 'normal' MPC-HT W8 compatible, or madVR for instance, or is it just the tester builds ?

Hera
12th March 2012, 23:58
Is 'normal' MPC-HT W8 compatible, or madVR for instance, or is it just the tester builds ?

see thread title

JanWillem32
15th March 2012, 10:49
I've just uploaded a new revision. Sorry for my absence lately. I'll try to write responses, a changelog and maybe some more later this afternoon.

kostik
15th March 2012, 13:13
JanWillem32
Thanks for the new version.
I wanted to ask you what is the best combination of shaders I can use to get the best quality video (I watch 1080p X264 movies).
Thanks.

burfadel
15th March 2012, 17:32
I've just uploaded a new revision. Sorry for my absence lately. I'll try to write responses, a changelog and maybe some more later this afternoon.

Thanks, this version works again! (r4101 didn't). I have found it very important to have the alternative scheduler turned on, as its much more stable.

CruNcher
15th March 2012, 20:04
@ Jan
im not sure what happened and im not sure if its a MPC-HC change yet or a tester change but i was testing some Realtime Manipulation stuff in MPC-HC (latency) and with 4075 and the integrated Mpeg-2 Decoder everything was fine when using ffdshow in between but since 4101 tester this got corrupted i get the video flipped and latency is horrible before i got like 70 ms now 180 ms :( when using PP, though im not sure where the change was that causes this could be also the Internal Mpeg-2 Decoder before i got YV12 output from the Mpeg-2 Decoder now its RGB32 and flipped when reaching ffdshow for further processing, the same with tester dfr4148 :(

with the external filter version 4146 as well as the internal in MPC-HC tester 4075 i get YV12->NV12 and the low latency with the internal filter in MPC-HC tester 4101,4148 no matter what selected i get a RGB32->NV12 very high latency and a flipped output


PS: It seems to be a bug in current MPC-HC tester builds something gets wrong @ the colorspace negotiation with the internal Mpeg-2 Decoder (EVR basic) so it falsely sets RGB32 instead of YV12

burfadel
15th March 2012, 21:10
Thanks, this version works again! (r4101 didn't). I have found it very important to have the alternative scheduler turned on, as its much more stable.

Actually when the video file loads and initiates, sometimes mpc-hc r4148 freezes. Once terminated in task manager, you can restart it again and it may work...! this is for both initial load and changing between files. It only happens occasionally though.

Any ideas of if/when the stable new features will be added to the main mpc-hc branch?

RGold
16th March 2012, 06:31
4148 looks promising. Ran some H.264 MKV's and saw no tearing, smooth playback.

JanWillem32
16th March 2012, 18:56
The previous build failed a bit on a few points, so I quickly repaired some parts. I'm going to have dinner in a few minutes, but I promise I'll post later today.

CruNcher
16th March 2012, 20:06
Current Mpc-HC tester 4150 behavior (EVR basic,Intel Scaling) = http://img171.imageshack.us/img171/5488/mpchctesterevrbasic.png
Current MPC-HC trunk 4148 and old tester 4075 behavior (EVR basic,Intel Scaling) = http://img40.imageshack.us/img40/8521/mpchc4148andtester4075.png

JanWillem32
16th March 2012, 23:42
Thanks, as usual. Too bad it took most of my free time for this evening to fix it...

dukey
16th March 2012, 23:42
@ Jan
im not sure what happened and im not sure if its a MPC-HC change yet or a tester change but i was testing some Realtime Manipulation stuff in MPC-HC (latency) and with 4075 and the integrated Mpeg-2 Decoder everything was fine when using ffdshow in between but since 4101 tester this got corrupted i get the video flipped and latency is horrible before i got like 70 ms now 180 ms :( when using PP, though im not sure where the change was that causes this could be also the Internal Mpeg-2 Decoder before i got YV12 output from the Mpeg-2 Decoder now its RGB32 and flipped when reaching ffdshow for further processing, the same with tester dfr4148 :(

with the external filter version 4146 as well as the internal in MPC-HC tester 4075 i get YV12->NV12 and the low latency with the internal filter in MPC-HC tester 4101,4148 no matter what selected i get a RGB32->NV12 very high latency and a flipped output


PS: It seems to be a bug in current MPC-HC tester builds something gets wrong @ the colorspace negotiation with the internal Mpeg-2 Decoder (EVR basic) so it falsely sets RGB32 instead of YV12

sounds like a dynamic format change fail
The renderer sounds like its asking for a negative height, which means the picture is upside down. Check there, that's probably the issue.

CruNcher
17th March 2012, 07:22
Thanks, as usual. Too bad it took most of my free time for this evening to fix it...

Yup fixed and sorry ;) :)

sounds like a dynamic format change fail
The renderer sounds like its asking for a negative height, which means the picture is upside down. Check there, that's probably the issue.

Thx dukey but Jan fixed it

JanWillem32
17th March 2012, 14:17
@ Jan
Do you have a idea why this simple chain http://img62.imageshack.us/img62/4116/failsmpchc.png doesn't work with MPC-HC ?The EVR mixer is picky. It won't just accept any input. The format header sent during connection negotiation must be completely filled in (VMR-9 does accept incomplete headers). Also, the input formats it will accept are limited. Check the video processor section of DXVA checker to see which formats EVR will accept, and with what kind of deinterlacer.

@ryrynz, nevcairiel and especially JanWillem32
Thanks a lot for the explanation :)
So far I've heard about those extensions but I don't really know how it works. I guess I can see the big picture now(at least a bit).

nev has a point though, which I wonder the same a little, about the measurable difference(s).
Can I benchmark it in someway? Like testing the subtitle rendering performance in heavy karaoke subtitle clips between those versions?I haven't been able to fully analyze the core drawing techniques of the subtitle renderer yet. I don't have to guess what I'll find in there though...
I'm mostly annoyed by having to write perfectly nice SSE2 type code first, and then add in a non-SSE2 context version next. SSE2 processors have been common for a decade now. Older systems can use legacy builds. I don't mind writing different x86 and x64 code paths in some spots (even if it involves writing entire assembly functions), but providing more legacy support than that is really unwelcome. Checking the assembly for x64 and SSE2 x86 involves only a minor task. The non-SSE2 level assembly is very different, so I need more time to check it separately. I also can't import SSE2 code without writing a non-SSE2 equivalent. I really don't have time to do that.
In terms of performance, the smaller bits and pieces that are switched won't be much of a problem in terms of performance. Not being able to import functionality is a different matter (same thing with wasting my time on legacy support). The largest performance gap is for the color management section, but that's mostly what the compiler itself optimized. My own input in that is smaller. (My part still initializes more than 384 MB of memory to prepare a large LUT, so not optimizing that and parts after that would be silly.)

Btw I heard that internal subtitle renderer has some disadvantages to the external one like xy-vsfilter, especially about typesetting.
Here's a sample clip that shows how ISR resize incorrectly: http://www.mediafire.com/?301dtzr51lflvj2I've fixed that, along with some other minor flaws in the subtitle renderer. Like the last time, it wasn't really hard to fix at all. The code for the subtitle renderer just 'feels' like it's in a very early stage of development every time I work with it. It's full of rookie programmer flaws, doesn't have properly sorted classes, bad object aliasing, band object naming and lacks even sensible optimizations everywhere. That's all very odd, considering it's size. To compare, the main video renderer was in a bad shape because of rendering method flaws mostly. It didn't have such badly written classes and general coding.

Any ideas of if/when the stable new features will be added to the main mpc-hc branch?I've been working on getting stability for all components I changed. Naturally, VMR-9 r. and EVR CP are the main priority, the subtitle renderer changes are pretty stable already (though there's a lot left to optimize). The most recent stability change is that VSfilter will work again with the code I've changed. It was an absolute menace to fix. The next logical thing to fix would be EVR Sync. Do we have any specialist available for writing renderer code? Hmm, I think I know the answer to that.
The merges to the trunk will be negotiated with the MPC-HC staff. I'm well aware that my changes are high-risk, may require immediate maintenance on various components (probably mostly by me) and when bug reports come in on Trac, I'll have to make time to address them.
That last issue is a problem, as I'm sometimes not available for maybe even two weeks. We could use an administrator. Also, someone to (re-)write parts of the guide on MPC-HC would be welcome. Currently, the Russian guide is more complete than the English one. I've written several parts already (mostly for the Russian guide), but it requires assembling and editing. For general tasks, refer to the OP of "Media Player Classic Home Cinema (MPC-HC) - DXVA!" thread. (I could even use a newbie programmer to simply check typecasting and such.)

sounds like a dynamic format change fail
The renderer sounds like its asking for a negative height, which means the picture is upside down. Check there, that's probably the issue.It was the copy function constructor for the video frames that broke.
An annoying thing that it has to exist anyway. After doing the frame copy, the renderer just copies the same stuff to video memory again. It would be better to connect the raw decoder output to the mixer, but the vanilla mixers in EVR and VMR-9 probably won't like that.

Most notable changes in functionality for the current build (ignoring my failed sets for now) would be the new timer for the alternative scheduler, optimizations for renderer functions (mostly optimizing strings) and the fixes for the /frx and /fry ASS/SSA subtitle tags on resized video.

I'm currently investigating what causes the desynchronization bug that can occur when seeking. I've seen what happens in a debug tracing session, but I don't have a fix ready yet.
I'll take a look at the issues with W8 later on, maybe it needs some special window handle settings, like Vista.

Hera
17th March 2012, 19:18
Latest version still completely bugs out when minimized / hidden.
Does work on W8 though.

clsid
17th March 2012, 19:47
I'm mostly annoyed by having to write perfectly nice SSE2 type code first, and then add in a non-SSE2 context version next. SSE2 processors have been common for a decade now. Older systems can use legacy builds. I don't mind writing different x86 and x64 code paths in some spots (even if it involves writing entire assembly functions), but providing more legacy support than that is really unwelcome. Checking the assembly for x64 and SSE2 x86 involves only a minor task. The non-SSE2 level assembly is very different, so I need more time to check it separately. I also can't import SSE2 code without writing a non-SSE2 equivalent. I really don't have time to do that.
You don't need different code paths. Just use function pointers. Have a look at dsputil.c in the FFmpeg code of MPC.

JanWillem32
20th March 2012, 20:44
@Hera: I'll try to fix it. It's just that when minimized, the function that should report the window size simply outputs 0×0, instead of the restored state.
Good news that W8 seems to work.

@clsid: I'm already using a few function pointers, where appropriate. Though that does still mean that I have to write the different functions to point to. Some items do need to be switched in the compiler context, mostly because of some x86-x64 architectural differences. I also explicitly exclude non-SSE2 code paths if SSE2 paths are available for SSE2 builds.

A somewhat new feature this time, I added live D3D FS switching (again). It required a lot of code changes to maintain compatibility with MadVR, not crash, not fail on some subtitle and OSD interfaces, and most of all, maintain a properly working window that can process keyboard and mouse input. I've added code to support multi-monitor setups when switching (I've even inserted semantics to detect some rare cases). As usual, everything needs to be tested.

burfadel
20th March 2012, 23:49
Just a question... whats with the title 'mpc-hc tester dfr4076i'? don't youe mean 4162i?

Thanks for builds btw! oh, earlier I mentioned about your MPC-HC not starting the video's properly, it seemed to be related to me using ffdshow decoder instead (as I use some of the filters), and having 'queue output samples' enabled. Not sure why it worked with the normal MPC-HC and not with yours though, but I do realise its a at times, 'sketchy' feature.

Hera
21st March 2012, 04:02
@Hera: I'll try to fix it. It's just that when minimized, the function that should report the window size simply outputs 0×0, instead of the restored state.
Good news that W8 seems to work.


0x0 happens when the player is in the background as well?
I got fast forwarding (that ignores pause button) and crackling/odd/but not fast forwarded sound when just snapping another window next to MPC.

W8 may need more testing.

fagoatse
21st March 2012, 11:39
0x0 happens when the player is in the background as well?
I got fast forwarding (that ignores pause button) and crackling/odd/but not fast forwarded sound when just snapping another window next to MPC.

W8 may need more testing.

Hmm, in my case the pause button behaves in exactly the same way. In other words, it doesn't seem to work at all. It's similar to fast forwarding(sort of rendering every X frame) and playing garbled sound in slow tempo. However, this happens in win7 x64 here. I'm using rev4151 SSE2 x86 + lav filters, haali and madflac in EVR-CP renderer. Tested h264 files in both software(10bit) and hardware(8bit, dxva2 native) mode.
Specs:
AMD E-350 1.6 GHz dualcore APU equipped with HD6310 GPU.
3GB ram
Win 7 x64, latest directx and GPU drivers.

I've just switched from the latest PotPlayer beta release because it's internal subtitle renderer cannot keep up and causes frame drops while playing hi10p files with .ass subs(especially more complex, such as karaoke) in software mode.
ISR in potplayer adds 20-30% CPU overhead while rendering even simple subs and that's unacceptable in my case. So I decided to give your mpchc's fork a try, and while I haven't tested everything throughly yet, I'm very satisfied. All these optimizations have really paid off, it's particularly visible on such low-end CPUs as mine. Most frame drops I had in potplayer are now alleviated.

I'll provide more feedback and bug reports later.

EDIT: I've forgotten to bring up another issue:
When the CPU hits 100% usage mark the video stalls, although sound is still playing and timeline moves forward. I guess pausing/resuming playback would fix it but since the pause doesnt work at all I have to stop the playback and skip that part. In potplayer it'd just drop frames massively and continue playing in slow-mo. I'm using the same filters and settings I use there so it appears to be a mpchc issue.
Now that I think of it, do filters/splitters/whatever need to be reconfigured/re-registered or something when switching players?

EDIT2: I can record it and upload @ youtube if you cannot reproduce it or I'm just failing at describing the issue.

EDIT3: My list of external filters:
Haali Media Splitter
madFLAC Source
LAV Splitter Source
madFLAC Decoder
LAV Audio Decoder
LAV Video Decoder
in this order, all set to prefer.


Hopefully im being helpful.

JanWillem32
21st March 2012, 15:37
JanWillem32
Thanks for the new version.
I wanted to ask you what is the best combination of shaders I can use to get the best quality video (I watch 1080p X264 movies).
Thanks.Sorry for replying this late. Your post got buried in the thread. The first set of filters that are easy to configure are in the video section of the configuration panel for your video card (note: mostly EVR-only). Next are the quality options for the video renderer. If you can spare some GPU power when rendering with 16-bit or 32-bit surfaces, you can probably try some of the "sharpen complex, deband and ... denoise" type shaders (of either the RGB or the Y'CbCr type). Some prefer the more basic sharpening types, though.
Most of the other functions have been integrated in the renderer already (except for the 'joke' shaders). Maybe I should integrate these shaders some time...

@burfadel: I probably messed up the title using the auto-form feature.
The functions backing "queue output samples" in the renderer have not been changed by me. I'll see if I can edit a few things where necessary. Thanks for finding this bug. It's not an item I usually test.

@Hera: I can't replicate the issue, but I do know that the renderer can drop a lot of frames when overlapped. For example: the standard right click menu causes the frame rate to drop to about 19 fps in even my case.

@fagoatse: Nice to see in your first post to this forum in here. I can't replicate the issue, but I never hit 100% CPU usage. That could be the reason. What scheduler are you using? (checklist: http://forum.doom9.org/showthread.php?p=1558955#post1558955)
For using external filters, disable the internal ones first. These are preferred when enabled. The filters that are in use can be seen in the "Play", "Filters" menu during playback.

Verified issues when switching D3D FS in 10-bit display mode: again the bugs with black screen after leaving fullscreen, and rainbow colors sometimes in fullscreen mode. I'll try a few things to solve these two issues.

fagoatse
21st March 2012, 19:22
Sorry for replying this late. Your post got buried in the thread. The first set of filters that are easy to configure are in the video section of the configuration panel for your video card (note: mostly EVR-only). Next are the quality options for the video renderer. If you can spare some GPU power when rendering with 16-bit or 32-bit surfaces, you can probably try some of the "sharpen complex, deband and ... denoise" type shaders (of either the RGB or the Y'CbCr type). Some prefer the more basic sharpening types, though.
Most of the other functions have been integrated in the renderer already (except for the 'joke' shaders). Maybe I should integrate these shaders some time...

@burfadel: I probably messed up the title using the auto-form feature.
The functions backing "queue output samples" in the renderer have not been changed by me. I'll see if I can edit a few things where necessary. Thanks for finding this bug. It's not an item I usually test.

@Hera: I can't replicate the issue, but I do know that the renderer can drop a lot of frames when overlapped. For example: the standard right click menu causes the frame rate to drop to about 19 fps in even my case.

@fagoatse: Nice to see in your first post to this forum in here. I can't replicate the issue, but I never hit 100% CPU usage. That could be the reason. What scheduler are you using? (checklist: http://forum.doom9.org/showthread.php?p=1558955#post1558955)
For using external filters, disable the internal ones first. These are preferred when enabled. The filters that are in use can be seen in the "Play", "Filters" menu during playback.

Verified issues when switching D3D FS in 10-bit display mode: again the bugs with black screen after leaving fullscreen, and rainbow colors sometimes in fullscreen mode. I'll try a few things to solve these two issues.


Yes, I've disabled all internal filters, double checked my external ones and everything seems to be fine. MPC-HC's settings are at their defaults values(I increased sub pictures to buffer from 4 to 5 though). The pause bug seems to be happen randomly whereas the 100% usage one happens all the time. I'm uploading vids now. Will be ready in a few mins(I apologize for poor quality but iphone's are terrible and so is lighting in my room)

EDIT:
VIDEO1(100% usage issue): http://www.youtube.com/watch?v=tqfLh6ZcRbE + supplementary vid http://www.youtube.com/watch?v=ZUxRpvfqvn4
VIDEO2(Pause bug as described earlier, @Hera, can you confirm that the same happens to you?) http://www.youtube.com/watch?v=y8HqbjoRGgQ
VIDEO3(A bit different bug, mpchc says that the vid is being played but nothing happens, kinda the opposite to the one above where it says Paused but its being "played" + some strange fast forwarding issues when pausing/resuming) http://www.youtube.com/watch?v=OTCZa9ApnYg (sorry for doing it needlessly long, im jumping on the timeline a lot in order to invoke bugs)

kostik
21st March 2012, 22:09
JanWillem32
When I use Sharpen deband PS I get some warnings and these shaders stress my GPU too much . With regular EVR-CP I don't have any errors when compilling the shader and it sresses my GPU less. Also Y'CbCr pixel shaders dont work for me I get strange colors .
Is there anything that can be done?

D3DXCompileShader succeeded
C:\Users\KostaR\Desktop\memory(147,13): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them
C:\Users\KostaR\Desktop\memory(148,13): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them

Thanks.

Hera
22nd March 2012, 00:01
I think fagoatse is describing my problem.
Oh and this version black screens sometimes when opening / seeking.

JanWillem32
22nd March 2012, 01:14
@fagoatse: I'll take a look at your videos, try to debug and ask another programmer some questions about scheduling later. Thanks a lot for your effort.

@kostik: The warnings are pretty mild. Which shader is it? Maybe I can mask the warnings. The trunk build never outputs warnings for successfully compiled shaders. I changed that behavior.
The "sharpen complex, deband and ... denoise" type shaders range from pretty light (r=1) to heavy (r=6) types. The default enabled filters of the trunk build and mine are different for when the 10- to 32-bit surfaces options are enabled. The difference in load compared to the baseline, caused by adding an extra pixel shader, should be about the same for both builds.

For the Y'CbCr mode pixel shaders with 16- or 32-bit working surfaces, use "Disable RGB Gamma Linearization" and replace it with a pre-resizer chain of:
-RGB to Y'CbCr for SD&HD video input for floating point surfaces
additionally, these two for chroma up-sampling on ATi video cards:
-2. special 4÷2÷0 to 4÷2÷2 intermediate ... chroma up-sampling
-3. special 4÷2÷2 ... chroma up-sampling
-..., sharpen complex, deband, ... denoise and color controls for SD&HD video input

For when using the 10-bit video surfaces option instead of either floating point surfaces options, switch "RGB to Y'CbCr for SD&HD video input for floating point surfaces" for the integer type, and set "#define IntegerSurfaces 0" to 1 inside "..., sharpen complex, deband, ... denoise and color controls for SD&HD video input".

Hera
22nd March 2012, 06:42
You can always just look through the comments and ask yourself what you changed at that time.

Jan 21 # 762
"Is it me or does it now continue playing audio when video cannot catch up?"

Jan 27 # 779
"Then the green line just vanished (division by 0 type vanished) and the video started playing at about 2x speed."

Feb 9 #804
"Audio cuts out and video start playing ~2x
The only way to stop the video from playing is to CTRL-C
Got that through seeking"


Now,
- Seeking is almost completely broken - stops video or black-screens video (Audio will continue at normal speed)..
- Video will fast forward if MPC is not up front (Audio will continue at normal speed).

EDIT: I will post some screenshots...

EDIT, Stuck On Seek but Sound Playing (STR - Seek):
http://dl.dropbox.com/u/20408032/stuck%20on%20seek.png

Paused but still playing (sound goes away when pause button is pressed),
http://dl.dropbox.com/u/20408032/paused%20(but%20still%20playing)%20-%20no%20sound.png

Sound OK, Video doing stupid (too fast, skipping, ???):
http://dl.dropbox.com/u/20408032/fast%20forwarding%20-%20sound%20playing%20ok.png

CruNcher
22nd March 2012, 12:08
@ Jan

I think i found some strange bug :)

https://forum.doom9.org/showpost.php?p=1566483&postcount=19119

so if anyone might got this black screen issue before just try to block ffdshow it might fix it

JanWillem32
22nd March 2012, 18:56
@Hera: I tried to add in some extra checks on the internal timers this time. I don't know if it will help, but it's worth a shot. I haven't gotten around to edit the window size detection parts yet.

@CruNcher: I haven't found anything on this and the "queue output samples" bug yet in my latest quick debug session.

RGold
22nd March 2012, 20:03
Thanks for new release. What the difference between i and none i versions? the current 4170 and has no i latter at the and.

Is the seek freeze fixed in 4170?

JanWillem32
22nd March 2012, 20:46
I've renamed the three files to 4170i. The 'i' types are intermediate builds for which I didn't do a regular debug check for. It takes a lot of time to go through the usual set of scenarios.
I haven't been able to replicate the issues reported, so I can only try changing a few things and hope that people report that it's fixed.

Hera
23rd March 2012, 03:33
From a minute of testing,
I managed to get video stuck from seeking.

RGold
23rd March 2012, 06:36
While seeking forward the video freezes and the audio keeps going.

gilic
23rd March 2012, 12:37
Hello JanWillem32 I'd like to report that at least for me the playback issue when mpc-hc is in the background is fixed with your latest version. Big thanks :]

There seems to be a bug since maybe 4 or 5 versions back relating to subtitles. I noticed with different anime i have that they each crashes repeatedly at the same position (different positions between files). Checking the subtitle with aegisub revealed this happens with negative position values
see here (http://imgur.com/GFm9e)
After deleting these lines and everything play fine.

CruNcher
23rd March 2012, 12:37
@Hera: I tried to add in some extra checks on the internal timers this time. I don't know if it will help, but it's worth a shot. I haven't gotten around to edit the window size detection parts yet.

@CruNcher: I haven't found anything on this and the "queue output samples" bug yet in my latest quick debug session.

x64: http://www.mediafire.com/download.php?2jbjjsqojnh1t57
x86 SSE2: http://www.mediafire.com/download.php?ep4fajmutpe9w3v
x86 SSE: http://www.mediafire.com/download.php?v269cobbaxkm32q

I guess i solved this mysterious black screen :) https://forum.doom9.org/showpost.php?p=1566633&postcount=14905

JanWillem32
24th March 2012, 00:44
@Hera & RGold: I'll just try again...

@gilic: Glad that one thing seems to be fixed.
I've played the sample you indicated, and couldn't get it to crash at all. I'll upload a debug build. If you would like to try it, with some luck it can point at a specific item in the code that's bugged.

@CruNcher: Very well, thanks for linking back.

fagoatse
24th March 2012, 01:16
@Hera & RGold: I'll just try again...

@gilic: Glad that one thing seems to be fixed.
I've played the sample you indicated, and couldn't get it to crash at all. I'll upload a debug build. If you would like to try it, with some luck it can point at a specific item in the code that's bugged.
mpc-hc SSE2 debug tester dfr4171: http://www.mediafire.com/download.php?p6f68ujgc63jxfj

@CruNcher: Very well, thanks for linking back.

will this debug build pick up my settings or i'll have to re-do everything? Will give it a try tommorow. Thanks.

gilic
24th March 2012, 02:02
How can i get useful crash information for you with the debug build? It's still crashing and I didn't notice anything different. Content of a windows .wer file.

Version=1
EventType=APPCRASH
EventTime=129770239115655945
ReportType=2
Consent=1
ReportIdentifier=8a8db7a9-754b-11e1-b2af-4061862e2998
IntegratorReportIdentifier=8a8db7a8-754b-11e1-b2af-4061862e2998
WOW64=1
Response.type=4
Sig[0].Name=Anwendungsname
Sig[0].Value=mpc-hc.exe
Sig[1].Name=Anwendungsversion
Sig[1].Value=1.6.1.4171
Sig[2].Name=Anwendungszeitstempel
Sig[2].Value=4f6d0c87
Sig[3].Name=Fehlermodulname
Sig[3].Value=mpc-hc.exe
Sig[4].Name=Fehlermodulversion
Sig[4].Value=1.6.1.4171
Sig[5].Name=Fehlermodulzeitstempel
Sig[5].Value=4f6d0c87
Sig[6].Name=Ausnahmecode
Sig[6].Value=c0000005
Sig[7].Name=Ausnahmeoffset
Sig[7].Value=01837e9e
DynamicSig[1].Name=Betriebsystemversion
DynamicSig[1].Value=6.1.7601.2.1.0.256.1
DynamicSig[2].Name=Gebietsschema-ID
DynamicSig[2].Value=1031
DynamicSig[22].Name=Zusatzinformation 1
DynamicSig[22].Value=0a9e
DynamicSig[23].Name=Zusatzinformation 2
DynamicSig[23].Value=0a9e372d3b4ad19135b953a78882e789
DynamicSig[24].Name=Zusatzinformation 3
DynamicSig[24].Value=0a9e
DynamicSig[25].Name=Zusatzinformation 4
DynamicSig[25].Value=0a9e372d3b4ad19135b953a78882e789
UI[2]=C:\Multimedia\MPC HC debug\mpc-hc.exe
UI[3]=Media Player Classic - Home Cinema funktioniert nicht mehr
UI[4]=Windows kann online nach einer Lösung für das Problem suchen.
UI[5]=Online nach einer Lösung suchen und das Programm schließen
UI[6]=Später online nach einer Lösung suchen und das Programm schließen
UI[7]=Programm schließen
LoadedModule[0]=C:\Multimedia\MPC HC debug\mpc-hc.exe
LoadedModule[1]=C:\Windows\SysWOW64\ntdll.dll
LoadedModule[2]=C:\Windows\syswow64\kernel32.dll
LoadedModule[3]=C:\Windows\syswow64\KERNELBASE.dll
LoadedModule[4]=C:\Windows\system32\UxTheme.dll
LoadedModule[5]=C:\Windows\syswow64\msvcrt.dll
LoadedModule[6]=C:\Windows\syswow64\USER32.dll
LoadedModule[7]=C:\Windows\syswow64\GDI32.dll
LoadedModule[8]=C:\Windows\syswow64\LPK.dll
LoadedModule[9]=C:\Windows\syswow64\USP10.dll
LoadedModule[10]=C:\Windows\syswow64\ADVAPI32.dll
LoadedModule[11]=C:\Windows\SysWOW64\sechost.dll
LoadedModule[12]=C:\Windows\syswow64\RPCRT4.dll
LoadedModule[13]=C:\Windows\syswow64\SspiCli.dll
LoadedModule[14]=C:\Windows\syswow64\CRYPTBASE.dll
LoadedModule[15]=C:\Windows\system32\DSOUND.dll
LoadedModule[16]=C:\Windows\syswow64\ole32.dll
LoadedModule[17]=C:\Windows\system32\WINMM.dll
LoadedModule[18]=C:\Windows\system32\POWRPROF.dll
LoadedModule[19]=C:\Windows\syswow64\SETUPAPI.dll
LoadedModule[20]=C:\Windows\syswow64\CFGMGR32.dll
LoadedModule[21]=C:\Windows\syswow64\OLEAUT32.dll
LoadedModule[22]=C:\Windows\syswow64\DEVOBJ.dll
LoadedModule[23]=C:\Windows\system32\VERSION.dll
LoadedModule[24]=C:\Windows\syswow64\COMDLG32.dll
LoadedModule[25]=C:\Windows\syswow64\SHLWAPI.dll
LoadedModule[26]=C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\COMCTL32.dll
LoadedModule[27]=C:\Windows\syswow64\SHELL32.dll
LoadedModule[28]=C:\Windows\system32\WINSPOOL.DRV
LoadedModule[29]=C:\Windows\system32\oledlg.dll
LoadedModule[30]=C:\Windows\syswow64\WS2_32.dll
LoadedModule[31]=C:\Windows\syswow64\NSI.dll
LoadedModule[32]=C:\Windows\system32\OLEACC.dll
LoadedModule[33]=C:\Windows\syswow64\WININET.dll
LoadedModule[34]=C:\Windows\syswow64\Normaliz.dll
LoadedModule[35]=C:\Windows\syswow64\iertutil.dll
LoadedModule[36]=C:\Windows\syswow64\urlmon.dll
LoadedModule[37]=C:\Windows\system32\AVIFIL32.dll
LoadedModule[38]=C:\Windows\system32\MSACM32.dll
LoadedModule[39]=C:\Windows\system32\MSVFW32.dll
LoadedModule[40]=C:\Windows\system32\IMM32.DLL
LoadedModule[41]=C:\Windows\syswow64\MSCTF.dll
LoadedModule[42]=C:\Windows\system32\dwmapi.dll
LoadedModule[43]=C:\Windows\syswow64\PSAPI.DLL
LoadedModule[44]=C:\Windows\syswow64\CLBCatQ.DLL
LoadedModule[45]=C:\Windows\SysWOW64\devenum.dll
LoadedModule[46]=C:\Windows\system32\ntmarta.dll
LoadedModule[47]=C:\Windows\syswow64\WLDAP32.dll
LoadedModule[48]=C:\Windows\syswow64\WINTRUST.dll
LoadedModule[49]=C:\Windows\syswow64\CRYPT32.dll
LoadedModule[50]=C:\Windows\syswow64\MSASN1.dll
LoadedModule[51]=C:\Windows\system32\msdmo.dll
LoadedModule[52]=C:\Windows\system32\imaadp32.acm
LoadedModule[53]=C:\Windows\system32\msg711.acm
LoadedModule[54]=C:\Windows\system32\msgsm32.acm
LoadedModule[55]=C:\Windows\system32\msadp32.acm
LoadedModule[56]=C:\Windows\SysWOW64\l3codeca.acm
LoadedModule[57]=C:\Windows\system32\CRYPTSP.dll
LoadedModule[58]=C:\Windows\system32\rsaenh.dll
LoadedModule[59]=C:\Windows\system32\RpcRtRemote.dll
LoadedModule[60]=C:\Windows\system32\WINSTA.dll
LoadedModule[61]=C:\Windows\SysWOW64\quartz.dll
LoadedModule[62]=C:\Windows\system32\MMDevAPI.DLL
LoadedModule[63]=C:\Windows\system32\PROPSYS.dll
LoadedModule[64]=C:\Windows\system32\wdmaud.drv
LoadedModule[65]=C:\Windows\system32\ksuser.dll
LoadedModule[66]=C:\Windows\system32\AVRT.dll
LoadedModule[67]=C:\Windows\system32\AUDIOSES.DLL
LoadedModule[68]=C:\Windows\system32\msacm32.drv
LoadedModule[69]=C:\Windows\system32\midimap.dll
LoadedModule[70]=C:\Multimedia\LAV Filters\x86\LAVSplitter.ax
LoadedModule[71]=C:\Multimedia\LAV Filters\x86\avformat-lav-54.dll
LoadedModule[72]=C:\Multimedia\LAV Filters\x86\avcodec-lav-54.dll
LoadedModule[73]=C:\Multimedia\LAV Filters\x86\avutil-lav-51.dll
LoadedModule[74]=C:\Multimedia\LAV Filters\x86\libbluray.dll
LoadedModule[75]=C:\Windows\system32\d3d9.dll
LoadedModule[76]=C:\Windows\system32\d3d8thk.dll
LoadedModule[77]=C:\Windows\system32\atiu9pag.dll
LoadedModule[78]=C:\Windows\system32\dxva2.dll
LoadedModule[79]=C:\Windows\system32\evr.dll
LoadedModule[80]=C:\Windows\system32\MFPlat.DLL
LoadedModule[81]=C:\Windows\system32\ncrypt.dll
LoadedModule[82]=C:\Windows\system32\bcrypt.dll
LoadedModule[83]=C:\Windows\SysWOW64\bcryptprimitives.dll
LoadedModule[84]=C:\Windows\system32\DShowRdpFilter.dll
LoadedModule[85]=C:\Windows\system32\WTSAPI32.dll
LoadedModule[86]=C:\Windows\system32\slc.dll
LoadedModule[87]=C:\Multimedia\LAV Filters\x86\LAVVideo.ax
LoadedModule[88]=C:\Multimedia\LAV Filters\x86\swscale-lav-2.dll
LoadedModule[89]=C:\Multimedia\LAV Filters\x86\avfilter-lav-2.dll
LoadedModule[90]=C:\Windows\system32\d3dx9_43.dll
LoadedModule[91]=C:\Windows\system32\D3DCompiler_43.dll
LoadedModule[92]=C:\Windows\system32\aticfx32.dll
LoadedModule[93]=C:\Windows\system32\atiumdag.dll
LoadedModule[94]=C:\Windows\system32\atiumdva.dll
LoadedModule[95]=C:\Multimedia\LAV Filters\x86\LAVAudio.ax
FriendlyEventName=Nicht mehr funktionsfähig
ConsentKey=APPCRASH
AppName=Media Player Classic - Home Cinema
AppPath=C:\Multimedia\MPC HC debug\mpc-hc.exe


@fagoatse you can copy your .ini file (options->player->other for setting)