Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempt to revert #5044 and maintain fix to Killzone Liberation #5179

Closed
wants to merge 1 commit into from
Closed

Attempt to revert #5044 and maintain fix to Killzone Liberation #5179

wants to merge 1 commit into from

Conversation

dbz400
Copy link
Contributor

@dbz400 dbz400 commented Jan 22, 2014

This break fixes FIFA 2013/2014 #5168 or may be others .

Killzone Liberation still be good with this commit as it expects
ctx->avc.avcDecodeResult = MPEG_AVC_DECODE_SUCCESS

// The avcau struct may have been modified by mediaengine, write it back.
sceAu.write(auAddr);

// Jeanne d'Arc return 00000000 as attrAddr here and cause WriteToHardware error
if (Memory::IsValidAddress(attrAddr)) {
Memory::Write_U32(1, attrAddr);
ctx->avc.avcDecodeResult = MPEG_AVC_DECODE_SUCCESS;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The commit isn't very well named ("Revert #5044") as it makes this additional change, too. I hope this additional change (that you say fixes Killzone) is well tested.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rename to better title for this commit.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe Make Revert and this additional change as a Separate commit.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By the way, I find this logic pretty strange. attrAddr is the pointer to some optional extra parameter. So, if this is correct, we're supposed to set the result to SUCCESS only if the game supplies an attrAddr? And not, if the game doesn't? That's pretty odd.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or the attrAddr write 0 or 1 depends on ctx->avc.avcDecodeResult ?

Memory::Write_U32(ctx->avc.avcDecodeResult ? 1 : 0, attrAddr);

I also tested Killzone Liberation on JPCSP , it stucks at that video as well .

@sum2012
Copy link
Collaborator

sum2012 commented Jan 22, 2014

Wait 5 more minute,I am compiling to test NFS Carbon and UEFA Euro 2008

@sum2012
Copy link
Collaborator

sum2012 commented Jan 22, 2014

Fixed NFS Carbon and UEFA Euro 2008 crash

@sum2012
Copy link
Collaborator

sum2012 commented Jan 22, 2014

@raven02 Just a note.
I test Killzone Liberation have problem in current master...
turn off memory,trimed log
https://gist.github.com/sum2012/9a24370e3c8a8d8a241c

@daniel229
Copy link
Collaborator

@sum2012 I think you forget to change to PSP-1000 mode.

@sum2012
Copy link
Collaborator

sum2012 commented Jan 22, 2014

@daniel229 Thanks.It is the first game need change the mode.

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 24, 2014

@hrydgard , probably we can simply revert #5044 and get those game working again at least if we cannot confirm ctx->avc.avcDecodeResult = MPEG_AVC_DECODE_SUCCESS here.

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 24, 2014

@sum2012 , do you mind helping JPCSPtrace sceMpegGetAvcAu here ? so we can know if it indeed return MPEG_AVC_DECODE_SUCCESS somehow.

@sum2012
Copy link
Collaborator

sum2012 commented Jan 24, 2014

@raven02 Which game(s) do you want me test ?
I have NFS Carbon ,UEFA Euro 2008 and Killzone Liberation
edit:Sorry , my mom tell me that I need sleep now
edit2:Other game also okay but need 2 days

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 24, 2014

Killzone Liberation here .Thanks

@sum2012
Copy link
Collaborator

sum2012 commented Jan 24, 2014

@raven02 let me do the log before sleep

@sum2012
Copy link
Collaborator

sum2012 commented Jan 24, 2014

@raven02 Here is Killzone Liberation JPCSP trace log:
https://gist.github.com/sum2012/9338fd9c47067e12480f
Hmm last line:23:09:09 user_main - sceMpegGetAvcAu 0x8E4E308, 0x98726C0, 0x8E4E390, 0x8E85550 = 0x80618001(PSP_ERROR_MPEG_NO_DATA)

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 24, 2014

Thanks let me check it out .

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 25, 2014

Should be correct .This is the log generated from PPSSPP

29:13:022 user_main I[ME]: HLE\sceMpeg.cpp:1110 0=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:023 user_main I[ME]: HLE\sceMpeg.cpp:1110 0=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:025 user_main I[ME]: HLE\sceMpeg.cpp:1110 0=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:027 user_main I[ME]: HLE\sceMpeg.cpp:1110 0=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:029 user_main I[ME]: HLE\sceMpeg.cpp:1110 0=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:031 user_main I[ME]: HLE\sceMpeg.cpp:1110 0=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:032 user_main I[ME]: HLE\sceMpeg.cpp:1110 0=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:034 user_main I[ME]: HLE\sceMpeg.cpp:1110 0=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:036 user_main I[ME]: HLE\sceMpeg.cpp:1110 0=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:038 user_main I[ME]: HLE\sceMpeg.cpp:1054 PSP_ERROR_MPEG_NO_DATA=sceMpegGetAvcAu(08e4a308, 00000001, 08e4a390, 08e81550)
29:13:038 MovieSoundTh I[KERNEL]: HLE\sceKernelThread.cpp:2299 sceKernelExitDeleteThread(0)

@dbz400 dbz400 closed this Jan 25, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants