hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
10.79k stars 2.12k forks source link

video-support branch& ffmpeg not yet working for ios #1730

Closed theavengerr closed 11 years ago

theavengerr commented 11 years ago

in the video-support branch,USE_FFMPEG is not defined for ios and ffmpeg libraries are not linked when using cmake,i tried linking them myself but xcode drove me nuts,also the ios build script is not working for the currently used ffmpeg version but it worked flawlessly on a fresh clone from latest git

cv47 commented 11 years ago

We need ARMv7s arch build script for IOS...

theavengerr commented 11 years ago

@cv47 here is a script that seems to build and install fine but i can't test because i am having trouble linking ./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch=arm --target-os=darwin --cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7s' --extra-ldflags='-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk' --enable-pic --enable-decoder=rawvideo --disable-asm ,for easier building we could make both armv7 and armv7s libs and and make a fat lib using lipo

cv47 commented 11 years ago

I have already tried this script...not working Failed on lipo command....return same architecture

theavengerr commented 11 years ago

weird worked with me,will try to upload fat ffmpeg libraries after i manage to get them both

theavengerr commented 11 years ago

alright,here's a fat library,please test it as i have given up on linking with xcode http://www.mediafire.com/download.php?y4932z5esuurbqb also it didn't work because the lipo that comes with mountain lion doesn't know anything about the armv7s arch,so if you use lipo to check them it will return armv7 only,instead use the one in the ios sdk using this command xcrun -sdk iphoneos lipo

theavengerr commented 11 years ago

@cv47 i have successfully compiled ppsspp video-support branch using the fat libraries i supplied earlier for both arch armv7 and armv7s and it is working perfectly,please note the configurations i used for the libraries are the following: for armv7: ./configure \ --prefix=armv7 \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --enable-avresample \ --enable-cross-compile \ --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk" \ --target-os=darwin \ --cc="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc" \ --extra-cflags="-arch armv7 -mfpu=neon -miphoneos-version-min=6.0" \ --extra-ldflags="-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -miphoneos-version-min=6.0" \ --arch=arm \ --cpu=cortex-a8 \ --enable-pic \

for armv7s: ./configure \ --prefix=armv7s \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --enable-avresample \ --enable-cross-compile \ --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk" --target-os=darwin \ --cc="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc" \ --extra-cflags="-arch armv7s -mfpu=neon -miphoneos-version-min=6.0" \ --extra-ldflags="-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -miphoneos-version-min=6.0" \ --arch=arm \ --cpu=cortex-a9 \ --enable-pic \

then i used xcrun -sdk iphoneos lipo to create the fat libraries since the lipo that comes with mac doesn't know about armv7s

bsauvage1 commented 11 years ago

Hi! any progress on this ? so eager to get video on iOS....

theavengerr commented 11 years ago

so i managed to get it working but i can't seem to able to link the needed libraries through cmake,any help on the subject would be appreciated

unknownbrackets commented 11 years ago

Can you paste the errors you get?

-[Unknown]

bsauvage1 commented 11 years ago

btw sorry it's not the right place to ask, but @theavengerr do you think you could write up a simple guide to teach others how to build for iOS? (I'd love to try and experiment!)

On Sun, Jun 2, 2013 at 8:07 AM, Unknown W. Brackets < notifications@github.com> wrote:

Can you paste the errors you get?

-[Unknown]

— Reply to this email directly or view it on GitHubhttps://github.com/hrydgard/ppsspp/issues/1730#issuecomment-18799391 .

cv47 commented 11 years ago

video build testing......i don't have any IOS device Based on v0.7.6-1107 http://www.mediafire.com/download/ud5284e5itzf779/PPSSPP.ipa

tamagotchi commented 11 years ago

it works flawlessly

tamagotchi commented 11 years ago

how do we get an ios build with atrac3+ working ??? they have it on Android already

cv47 commented 11 years ago

@tamagotchi someone can take some time to compile a shared library and rewrite atrac3plus interface

theavengerr commented 11 years ago

&cv47 it works And I can already make it but i can't seem to be able to link the libraries with cmake so it's not supported out of the box like other platforms

tamagotchi commented 11 years ago

?? Does that mean that we need a cydia type tweak to enable atrac3+ on ios devices??

DarkTony93 commented 11 years ago

When I install the PPSSPP ipa compiled by cv47, I can't get Dynarec to work because it detects my iPhone 4S as an Unjailbroken Device, but that's not true. I tried reinstalling it but nothing happened. Does anyone else have the same problem?

bsauvage1 commented 11 years ago

Same problem (iPad 3). But there's really not much point fixing this, as @theavengerr will hopefully soon find a way to link the libraries properly, so the separate built won't be needed anymore.

DarkTony93 commented 11 years ago

Well, that's true, but it would be great to have something in hand by now xD I really hope this comes out soon... Where will he release the new builds? His cydia repo hasn't been updated for a long time.

bsauvage1 commented 11 years ago

Ideally he will push a commit (once he fixes it) that @hrydgard will merge in the main code, so that we can simply pick it up from @angelXwind repo.

On Sun, Jun 9, 2013 at 3:43 PM, DarkTony93 notifications@github.com wrote:

Well, that's true, but it would be great to have something in hand by now xD I really hope this comes out soon... Where will he release the new builds? His cydia repo hasn't been updated for a long time.

— Reply to this email directly or view it on GitHubhttps://github.com/hrydgard/ppsspp/issues/1730#issuecomment-19162223 .

DarkTony93 commented 11 years ago

Oh, I see. That's the usual way :) Thanks @bsauvage1, have a nice day :) Keep up the good work, devs! =D

DarkTony93 commented 11 years ago

Before: image

After: image

I found a way to force Dynarec to work. In the Documents folder of PPSSPP cg there is a file called ppsspp.ini with all your saved settings in it. You only have to switch Jit from false to true and it will work. :)

bsauvage1 commented 11 years ago

Great!!!! (but strange that we have to force this... well it's an experimental build after all... I'm also hoping this addition (and the atrac3+) can be added to iOS very soon...!!!!)

On Sun, Jun 9, 2013 at 4:49 PM, DarkTony93 notifications@github.com wrote:

I found a way to force Dynarec to work. In the document folder there is a file called ppsspp.ini with all your saved settings in it. You only have to switch Dynarec from false to true and it will work. :)

— Reply to this email directly or view it on GitHubhttps://github.com/hrydgard/ppsspp/issues/1730#issuecomment-19162811 .

tamagotchi commented 11 years ago

is there a test version of the ios atrac3+ build?

ghost commented 11 years ago

be patient,guy...this testing version get crash on some games, unstable (not compile by me) http://www.mediafire.com/?m6aspsoschw6thb

bsauvage1 commented 11 years ago

@openglhk just tried and couldn't make it work on any game (crash at the first video): FF7CC, Persona 3, GoW Chains of Sparta...

Guess we'll just have to wait!

Thanks for posting this anyway.

bsauvage1 commented 11 years ago

@DarkTony93 I have updated the ppsspp.ini, yet it still refuses to turn on Dynarec (iPad 3)

Video works great @46fps on the iPad (but frameskip makes it stutter very badly, so it's better without it)

tamagotchi commented 11 years ago

It works on iphone with Need for speed most wanted.music and videos but other games crash..

tamagotchi commented 11 years ago

Thank you for posting

DarkTony93 commented 11 years ago

@bsauvage1 You don't have to turn it on in the settings, you just have to change the value in the .ini file. Even after the mod in that file, don't touch the Dynarec option in the settings :) The build is a little bit slower than the normal one, but it is still a WIP, so that's fine. =D And yeah, you have to turn off frameskip during videos, otherwise it will stutter.

jtraynham commented 11 years ago

I've submitted a pull request (#2241) that modifies the iOS cmake file to include the ffmpeg support. Hopefully it will get merged in soon. Thanks go to @theavengerr for figuring out how to get ffmpeg to compile!

jtraynham commented 11 years ago

Okay, it's been merged. Now it's up to @angelXwind to update her builds

akemin-dayo commented 11 years ago

That will be done in an hour or so as I set up KarenBuildBot again (took it down temporarily to move things around and fix some weird bug with another project I compile)

tamagotchi commented 11 years ago

....does it work with atrac3+ ?

bsauvage1 commented 11 years ago

THANK YOU @theavengerr, @jtraynham, @angelXwind, and all our faithful iOS devs!!!!

theavengerr commented 11 years ago

aaaaaaaand closed