Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
5th August 2008, 22:28 | #3621 | Link |
MPC-HC Project Manager
Join Date: Mar 2007
Posts: 2,317
|
I have been talking with a freind, and been reading a lot of DXVA documentation.
1. i have posted a plug-and-play commitable change to the level detection code, the freind helped me get it into actual c++ code. Its based on the ieee standards of SD and HD. The code now defines anything with a width of 1024 and higher as HD. This is correct according to all the documentation i have seen. i do not test for height as cropping makes the height an unreliable test. 2.after read a lot of documentation it seems like DXVA doesn't care about levels at all, this means that as soon as we find the correct commands we can have 16 ref frame SD files hardware decoded as level4.1, in other words the broken files would work, but it would still be a hack of sorts. Below is the code, it needs to be commited to: mpc-hc/trunk/src/filters/transform/mpcvideodec/FfmpegContext.c Code:
int FFH264CheckCompatibility(int nWidth, int nHeight, struct AVCodecContext* pAVCtx, BYTE* pBuffer, UINT nSize) { H264Context* pContext = (H264Context*) pAVCtx->priv_data; SPS* cur_sps; PPS* cur_pps; if (pBuffer != NULL) av_h264_decode_frame (pAVCtx, pBuffer, nSize); cur_sps = pContext->sps_buffers[0]; cur_pps = pContext->pps_buffers[0]; if (cur_sps != NULL) { // Check max num reference frame according to the level #define MAX_DPB_41 8355840 // value for level 4.1 (that be HD for the uninitiated) #define MAX_DPB_31 4608000 // value for level 3.1 (that be SD for the uninitiated) if (cur_sps->ref_frame_count*nWidth*nHeight) > (MAX_DPB_41)) //width*height*ref_frame_count higher than max dpb is bad return 2; // Too much ref frames //got to check if this might in fact be SD. We assume anything with a width lower than 1024 is SD, if(nWidth < 1024) { if (cur_sps->ref_frame_count*nWidth*nHeight) > (MAX_DPB_31)) // width*height*ref_frame_count higher than max dpb is bad return 2; } } //if control reaches this, we're inside DPB limits return 0; } Last edited by tetsuo55; 5th August 2008 at 22:42. |
6th August 2008, 02:15 | #3624 | Link |
Registered User
Join Date: Nov 2007
Posts: 340
|
The Haali Splitter does not always work right for MPEG1 content, as I have posted twice in this thread... is there a way to contact the developer about that ?
__________________
s/w: Vista Home Basic 32bit (no Aero), MPC-HC, EVR Custom Presenter, CoreAVC Pro, ffdshow, SPDIFer h/w: Antec 2480 case, Gigabyte GA-MA69GM-S2H, 4200+, 2.5gb+512mb, ATI x1250 IGP, MS MCE remote |
6th August 2008, 09:25 | #3625 | Link | |
Registered User
Join Date: Dec 2007
Posts: 1,138
|
Quote:
If this is the way we should think, one can also say there are better / "good working" alternatives for all MPC-HC internal (Transform) Fiters / decoders not only for internal Splitters so "improving the internal" (Transform) Fiters / decoders should also be "very low priority" !!! In my opinion the internal Splitters (ogg, ts, ... also, not just Matroska) ARE THE ONE MAKING THE DIFFERENCE FOR MPC-HC, since the only "real" alternative it's Haali's (or none for 64-bit version), and for internal (Transform) Fiters / decoders are MANY MORE other "good working alternative" !!! So i think fixing / improving the internal SPLITTERS (TS, OGG, Matroska, ... ) should be TOP PRIORITY ! But that's just me ! P.S. I can confirm that and not just for MPEG1 content !!!
__________________
Intel UHD Graphics 750; Win 10 22H2 Last edited by Mercury_22; 6th August 2008 at 09:40. |
|
6th August 2008, 09:54 | #3626 | Link | |
MPC-HC Project Manager
Join Date: Mar 2007
Posts: 2,317
|
Quote:
-Files with more than 16 ref frames are very valid, this has been proven in the past. -The current code allows SD files with too many ref frames to be decoded in DXVA model which causes crashes or green screens, some SD files have an upper limit of 8 or less ref frames My code allows ALL valid files and blocks ALL invalid files completely accurately. -It is based on the h264, DXVA, HD rules and guidelines. -It is based on realworld tests in the past -All the files that the current code is trying to block are still blocked with my code, but now in an accurate way. --------------- The bug you're talking about has nothing to do with the blocking code, i'm very close to finding the cause. Here is my theory in short: DXVA does not talk about levels, the software is completely responsible for making sure the decoder sets the correct mode. When the software does not provide the needed information the decoder guesses the level. The problem is that nvidia and ati guess differently Last edited by tetsuo55; 6th August 2008 at 10:15. |
|
6th August 2008, 11:42 | #3627 | Link | ||
*****
Join Date: Feb 2005
Posts: 5,642
|
Quote:
Quote:
And since Casimir's ToDo list is already several meters long, it doesn't help if everyone constantly keeps bitching about the same issues. It ain't gonna magically fix things quicker.
__________________
MPC-HC 2.1.7.2 |
||
6th August 2008, 11:53 | #3629 | Link |
MPC-HC Project Manager
Join Date: Mar 2007
Posts: 2,317
|
Yeah i am going to need your help later too, as you seem to have many borderline test cases.
So could someone please at least build a test-version with my code? --- Casimir, How much ms lag does the Anti-Tearing code introduce? Last edited by tetsuo55; 6th August 2008 at 12:14. |
6th August 2008, 12:32 | #3630 | Link | ||
Registered User
Join Date: Dec 2007
Posts: 1,138
|
Quote:
I was just thinking that being able to play all those type of files (without external help / filters ) it's an "essential functionality" and for the moment it's more important than improving the quality. I just have one question for you about Quote:
__________________
Intel UHD Graphics 750; Win 10 22H2 Last edited by Mercury_22; 6th August 2008 at 13:09. |
||
6th August 2008, 13:14 | #3631 | Link | |||
Registered User
Join Date: Apr 2004
Posts: 402
|
Quote:
Quote:
If you check the log I had nearly exactly the same code (rev 517) but some people complain here because some of their files didn't play anymore. Quote:
Last edited by MatMaul; 6th August 2008 at 13:17. |
|||
6th August 2008, 13:56 | #3632 | Link |
MPC-HC Project Manager
Join Date: Mar 2007
Posts: 2,317
|
oops i meant more than 11 ref frames but less than 17 :P
The old code was not exactly the same as mine. Lets just test my code with a test-build before changing anything on the SVN. Which file is the basis for the bug casimir is working on? Since no-one seems to be stepping up to the plate i will try to encode a couple of 5 second test files later. Only borderline tests though. We need a group of guaranteed accurately encoded test files anyway Last edited by tetsuo55; 6th August 2008 at 13:58. |
6th August 2008, 14:27 | #3633 | Link | ||
*****
Join Date: Feb 2005
Posts: 5,642
|
Quote:
You seem to care only about your own user experience. While I care about the user experience of the average user. Quote:
__________________
MPC-HC 2.1.7.2 |
||
6th August 2008, 15:43 | #3634 | Link | ||
Registered User
Join Date: Dec 2007
Posts: 1,138
|
Quote:
But like I've said before Quote:
__________________
Intel UHD Graphics 750; Win 10 22H2 |
||
6th August 2008, 21:03 | #3635 | Link | |
Registered User
Join Date: Jan 2007
Posts: 455
|
Quote:
http://www.zshare.net/download/16631247cc8efe85/ Please let me know if this modification should be commited or not.
__________________
Tired of tearing? Try this Media Player Classic mod : http://mpc-hc.sourceforge.net |
|
6th August 2008, 21:13 | #3636 | Link |
Registered User
Join Date: Mar 2003
Posts: 24
|
I really like, being able to choose which Screen to use when playing full screen, but sometimesI play video fullscreen on computer screen sometimes not, and it is really anoying to modify preferences each times.
Would it be possible to add command key, in preferences to be able to configure two keys (or more if people have more than two screen), to play full screen on screen 1 or 2 .... ? Like F11 play full screen on screen1, and F12 play full screen on screen2. Or something like two left click, play full screen on screen1 and two right click play it on screen2 ? (and two middle click play it on screen3 .... ) Thanks for your great work, keep going Tery. Last edited by Tery; 6th August 2008 at 21:18. |
6th August 2008, 21:19 | #3637 | Link | |
Registered User
Join Date: Mar 2008
Posts: 2,021
|
Quote:
Subtitle DXVA feature is a bonus as well |
|
6th August 2008, 21:49 | #3638 | Link |
Otaku
Join Date: Sep 2006
Location: Portugal
Posts: 576
|
I want to translate MPC HC to Portuguese, how can I do it? I it's a text based file it would be nice!
__________________
In the school, the three guys met. Their relation had been changed in the season, and turned into three love stories.
|
6th August 2008, 21:59 | #3639 | Link |
*****
Join Date: Feb 2005
Posts: 5,642
|
Download "mplayerc.rc" from the SVN repository. It is text based. Translate that and send it to Casimir.
__________________
MPC-HC 2.1.7.2 |
6th August 2008, 22:04 | #3640 | Link |
Registered User
Join Date: Jan 2007
Posts: 455
|
Can somebody try this release of VSFilter with Haali Renderer and told me if it solve the freeze problem in mpc :
http://www.zshare.net/download/16633220b12de839/ @Kado Someone is already working on the Portuguese translation, but thanks for your proposition :-)
__________________
Tired of tearing? Try this Media Player Classic mod : http://mpc-hc.sourceforge.net |
Tags |
dxva, h264, home cinema, media player classic, mpc-hc |
Thread Tools | Search this Thread |
Display Modes | |
|
|