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

Mana Khemia 1 Chinese patch,video skiped during playback #6574

Closed
daniel229 opened this issue Jul 18, 2014 · 22 comments
Closed

Mana Khemia 1 Chinese patch,video skiped during playback #6574

daniel229 opened this issue Jul 18, 2014 · 22 comments
Labels
Patched-game Occurs only on patched or modified version of a game. PSMF / MPEG Issue involves scePsmf or sceMpeg video playback.

Comments

@daniel229
Copy link
Collaborator

Never works before.
debug log (rename jpg to rar)
ppsspplog

@unknownbrackets
Copy link
Collaborator

Skipped entirely, or does the video playback skip?

I see it getting the video data. I wonder if they patched the psmfplayer.prx file or anything...

-[Unknown]

@daniel229
Copy link
Collaborator Author

It plays a few seconds,and then skip the rest and going to the title.I think just patch the .pmf file,if replace the original one,it works fine.I compare these prx files with beyong compare,no difference.

@daniel229
Copy link
Collaborator Author

The other patch things are Japanese to Chinese.

@sum2012
Copy link
Collaborator

sum2012 commented Mar 9, 2016

Update the log to v1.2.1-57-g3924d8b
https://gist.githubusercontent.com/sum2012/d671f413fbf098ea762f/raw/b112bf637f6115435ed840c3d7f4ed27b6fbc391/gistfile1.txt

@unknownbrackets
I try ffplay,it played video without sound,no missing video.
Can we use ffmpeg of HasReachedEnd function or HasReachedEnd has something wrong ?

1

@unknownbrackets
Copy link
Collaborator

Well, ultimately sceMpeg has some of the issues sceAtrac used to... although they're different.

sceMpeg just plays the packets you give it, really. Although it manages forward movement, you're welcome to loop a video by just feeding it packets from earlier in the stream. It will just play them.

So, "has reached end" is kind of a wrong concept to begin with. sceMpeg doesn't think about "end", it just knows when it has no more packets. If I gave it the first half of a video's packets, and then stopped giving it new packets... the video "ended". And if I loop the video, and keep giving it packets forever, it will never "end."

This issue may be similar to the Danball Senki issue - see #8464, e866d83, and #8437. Does it work if you put that change back?

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Mar 10, 2016

@unknownbrackets No,it is psmf

@sum2012
Copy link
Collaborator

sum2012 commented Mar 10, 2016

Hmm so that mean that real psp don't read the header of length of the video file.

@sum2012
Copy link
Collaborator

sum2012 commented Mar 12, 2016

@unknownbrackets
jpcsp can increase video time by this change
sum2012/jpcsp-1@48ca580
Maybe ppsspp also this change ?

@unknownbrackets unknownbrackets added the Needs hardware testing Testing on a real device needed to determine correct behavior. label Mar 12, 2016
@unknownbrackets
Copy link
Collaborator

So basically, you're saying that the length value in the PSMF header is ignored, and it should just use the filesize instead?

That sounds like something we should test.

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Mar 12, 2016

@unknownbrackets Yes,that is my meaning.
@daniel229 Use what software to patch the .pmf file ? I tried to use umdgen but crash in saving.

@daniel229
Copy link
Collaborator Author

Try the WQSG_UMD.

@sum2012
Copy link
Collaborator

sum2012 commented Mar 13, 2016

@daniel229 Thanks,it work

@sum2012
Copy link
Collaborator

sum2012 commented Mar 13, 2016

@unknownbrackets please also test "last timestamp value in the PSMF header is ignored"
JPCSP fix it in jpcsp/jpcsp@7e4a74d
and jpcsp/jpcsp@2c0d219

@unknownbrackets unknownbrackets added the PSMF / MPEG Issue involves scePsmf or sceMpeg video playback. label Jun 6, 2016
@unknownbrackets
Copy link
Collaborator

I used a short video with a header size (12 bytes into the file) of 0006A000. I tried 0000A000 and 0003A000. Both cutoff the video at different points and caused issues. It did not play the entire video.

I tried this with scePsmfPlayerSetPsmfCB, scePsmfPlayerSetPsmf, and scePsmfPlayerSetPsmfOffsetCB.

What header length does it have in this game, and what is the actual file size?

What versions of libpsmfplayer.prx and psmf.prx does it use? This is reported by PPSSPP in the log - you can also try giving me the crc of the files and I can compare with the ones I'm testing against. Maybe this only affects certain psmf versions.

-[Unknown]

@unknownbrackets unknownbrackets removed the Needs hardware testing Testing on a real device needed to determine correct behavior. label Aug 14, 2016
@sum2012
Copy link
Collaborator

sum2012 commented Aug 14, 2016

Accordering my earily log: https://gist.githubusercontent.com/sum2012/d671f413fbf098ea762f/raw/b112bf637f6115435ed840c3d7f4ed27b6fbc391/gistfile1.txt

scePsmf_library with version 0101, devkit 03070010
scePsmfP_library with version 0101, devkit 03070010
psmf.prx Size: 7,056 CRC-32: 089F0C2E
libpsmfplayer.prx Size: 35,520 CRC-32: BEE912BB

Chinese version header:
1

orignal version header(japanese)
2

@unknownbrackets
Copy link
Collaborator

Is the Japanese version 16863232 bytes (~16.08 MB)? How big is the Chinese version? I'm guessing it's larger than 5935104 bytes (~5.66 MB.)

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Aug 14, 2016

Japense Size: 16,863,232
Chinese Size: 17,039,360

@unknownbrackets
Copy link
Collaborator

Thanks - confirmed. That version of the library doesn't have scePsmfPlayerSetPsmfOffset or scePsmfPlayerSetPsmfCB, and also doesn't seem to respect the stream size. Let me check when it changed.

-[Unknown]

unknownbrackets added a commit to unknownbrackets/ppsspp that referenced this issue Aug 15, 2016
Until 5.50, the stream size was not used.  See hrydgard#6574.
@unknownbrackets
Copy link
Collaborator

Okay, #8914 should give that behavior. I'm not sure about the last timestamp handling.

-[Unknown]

@daniel229
Copy link
Collaborator Author

Still skiped later with #8914 merged.

@sum2012
Copy link
Collaborator

sum2012 commented Aug 15, 2016

@unknownbrackets we cannot port JPCSP of "last timestamp" fix
jpcsp/jpcsp@2c0d219 ?

@sum2012
Copy link
Collaborator

sum2012 commented Aug 15, 2016

hmm , I has idea ,just not sure right
I am going to pull request in unknownbrackets:psmf-size branch

@sum2012 sum2012 added the Patched-game Occurs only on patched or modified version of a game. label Aug 16, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Patched-game Occurs only on patched or modified version of a game. PSMF / MPEG Issue involves scePsmf or sceMpeg video playback.
Projects
None yet
Development

No branches or pull requests

3 participants