Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Oct 2024 20:27:38 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 282188] New port: multimedia/ffmpeg3 (legacy ffmpeg as a dependency for emulators/ppsspp)
Message-ID:  <bug-282188-7788-y4hZ1sW0Hw@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-282188-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-282188-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D282188

--- Comment #4 from Kevin Reinholz <kreinholz@gmail.com> ---
Daniel,

Thanks for your comments! I share many of your concerns, which is why I deb=
ated
submitting a proposed new (old) port in the first place. For the past 5-6
months I've been building/rebuilding my local ffmpeg-3.0.2 port and slightly
modified emulators/ppsspp port with synth, and have been quite pleased with=
 the
results. It makes ppsspp usable again, without the need to skip in-game FMV=
s or
cross my fingers there won't be a crash.

I observed frequent crashes with ppsspp-1.17.1 (and previous versions) when
built against default ffmpeg (6.x)--typically near the end of an in-game FM=
V.
It's not that the video wouldn't play--it's that a bad packet, missing head=
er,
or some other deviation between the PSP's video API and ffmpeg's would
eventually get reached, and freeze the video/crash ppsspp. This behavior is=
 not
present when ppsspp is built against ffmpeg-3.0.2, the version recommended =
by
the ppsspp devs.

>From what I can tell, "bundled" ffmpeg used in the Mac, Linux, and Windows
builds of ppsspp is just ffmpeg-3.0.2 with a lot of options turned off:

https://github.com/hrydgard/ppsspp-ffmpeg/blob/master/shared_options.sh

I had assumed x264 was needed for mp4 playback, but will try building ffmpeg
with it disabled. A cursory look at the ffmpeg sources led me to (perhaps
wrongly) conclude that libavcodec could take advantage of gpu acceleration,
which is why I kept VAAPI and VDPAU enabled. It shouldn't be a problem to
disable both of those options.

I'd debated between a quick-and-dirty hack to the existing ppsspp port to b=
uild
against ffmpeg-3.0.2 shared libs, and hacking the ppsspp port more extensiv=
ely
to build ffmpeg-3.0.2 static libs and "bundle" them with ppsspp. The follow=
ing
discussion from 2022 made me wary of trying to bundle:

https://github.com/hrydgard/ppsspp/issues/15969

jbeich pointed out issues with attempting to build ppsspp with bundled-ffmp=
eg
here:

https://github.com/hrydgard/ppsspp/issues/15308#issuecomment-1529076719

It seems the ppsspp devs have not been successful in incorporating their fo=
rked
ffmpeg-3.0.2 sources into the ppsspp build process, but instead build
ffmpeg-3.0.2 separately, dump the libs and header files into a folder, and =
then
point ppsspp to the precompiled libs as part of their packing build process.
There's no release tarball for their bundled-ffmpeg, either, making it easi=
er
to just grab the official ffmpeg-3.0.2 and build that.

That said, I'm very open to exploring the best way to do this. For starters,
I'll try disabling ASM, VAAPI, VDPAU, and X264, and confirm whether ppsspp
in-game FMV playback still works.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-282188-7788-y4hZ1sW0Hw>