CVE and update status of the FreeBSD ports tree3,864 unaddressed CVEs in 671 portsAll times are CET
Port details

emulators/ppsspp 1.20.4

PSP emulator in C++ with dynarec JIT for x86, ARM, MIPS

Port info

Maintainer
kreinholz@gmail.com
Packages
latest: 1.20.4
Upstream
up to date
Last update
to 1.20.4 · ff89d13a99
Quarterly
2026Q4: 1.20.4
Formerly
emulators/ppsspp-devel until 2019-03-14
WWW
https://www.ppsspp.org/
Links
cgit · VuXML

Install

Package
# pkg install ppsspp
installs 1.20.4 from latest; from quarterly (2026Q4) 1.20.4
Port
# cd /usr/ports/emulators/ppsspp && make install clean
# make -C /usr/ports/emulators/ppsspp config  # change options first
Size
16 MiB download · 41 MiB installed
Depends on
archivers/libzip 1.12.1, archivers/snappy 1.3.1, archivers/zstd 1.5.7_2, devel/desktop-file-utils 0.28, devel/libchdr 0.3.0, devel/sdl20 2.32.10_2, devel/xdg-utils 1.2.1, graphics/glew 2.3.1, graphics/libglvnd 1.7.0, graphics/openxr 1.1.65, graphics/png 1.6.59_1, graphics/vulkan-loader 1.4.365, misc/shared-mime-info 2.4_2, net/miniupnpc 2.3.3_1, print/freetype2 2.14.3
License
BSD3CLAUSE and GPLv2+
Options
1 of 1 on in the package: VULKAN
pkg-message
Shown after installing
Known issues:
- Default assignment of joystick buttons requires evdev-based driver e.g.,
  hgame(4) on FreeBSD >= 13.0, sysutils/iichid or multimedia/webcamd.
  If your joystick isn't detected consider defining SDL_GAMECONTROLLERCONFIG
  in environ(7) after generating the entry via controllermap (or antimicro).

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 161.20.41.20.4–
FreeBSD 151.20.41.20.4–
FreeBSD 141.20.41.20.41.20.4

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 151.20.41.20.4–
FreeBSD 141.20.41.20.41.20.4

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 1.20.4.

Fixed (1)

Show 1 fixed
VuXML entries whose affected range the packaged version has left.

Problem reports (0) · open in Bugzilla, most recently changed first

None.

Commits (215)

Piotr Kubaj (pkubaj) · 1.20.4
emulators/ppsspp: fix build on powerpc64le

FakeJit lacks the GetCodeBase() override the JIT interface requires.
ff89d13a99
Daniel Engberg (diizzy) · 1.20.4
emulators/ppsspp: Backport upstream commit to fix build on arm64

Backport upstream commit 9c4fdde20f829d091ba164c3728755cfe9d7bee7

Reference:
https://github.com/hrydgard/ppsspp/commit/9c4fdde20f829d091ba164c3728755cfe9d7bee7

PR:		295657
7f471bd53b
Daniel Engberg (diizzy) · 1.20.4
emulators/ppsspp: Update to 1.20.4

Changelog: https://github.com/hrydgard/ppsspp/releases/tag/v1.20.4

PR:		293847
c1059a29cc
Rene Ladan (rene) · 1.20.2_2
all: drop support for FreeBSD 13, mips and risc64sf

Reviewed by:            many (*)
Differential Revision:  https://reviews.freebsd.org/D55624
Differential Revision:  https://reviews.freebsd.org/D55642 (merged in from bofh)

many (*)
  acm arrowd brooks cmt dch decke dinoex eduardo fluffy fuz gahr garga
  jbeich joerg jrm kai kenrap martymac matthew mfechner michaelo mizhka
  nobutaka pkubaj se tagattie thj

  Anton Saietskii
  GenericRikka
  Gert Doering
  Jan Bramkamp
  Oleh Hushchenkov
  Oleksandr Kryvulia
  Ralf van der Enden
  Yamagi

  desktop kde python tcltk office
2a7c056120
Robert Clausecker (fuz) · 1.20.2_2
emulators/*: bump PORTREVISION after libchdr update

PR:		294810
Event:		Wiesbaden Hackathon 202604
42e984c430
Daniel Engberg (diizzy) · 1.20.2_1
*/*: Bump consumers of devel/libchdr

Bump PORTREVISION to pick up new version

PR:		294074
23d51b193d
Daniel Engberg (diizzy) · 1.20.2
emulators/ppsspp: Update to 1.20.2

* Remove emulators/ppsspp-qt5 due to Qt 5 being end of life
* Unbundle freetype, libchdr and rapidjson
* Remove redundant -msse2 compiler flag on amd64 as this is enabled
  by default

Changes submitted upstream, https://github.com/hrydgard/ppsspp/pull/21428

PR:		293572
3b11c9c53a
Dirk Meyer (dinoex) · 1.19.3_1
net/miniupnpc: Update to 2.3.3
d436d13418
Joel Bodenmann (jbo) · 1.19.3
emulators/ppsspp: Update to 1.19.3

Remove unnecessary patch-Common_GPU_Vulkan_VulkanContext.cpp as it is not
necessary to fix hangs with vulkan backend. Deleting the shader cache files
saved at ~/.nv, ~/.cache/nvidia, etc. after a GPU driver update will suffice.

PR:	288267
830d1743ce
Hiroki Tagato (tagattie) · 1.19.2
emulators/{ppsspp,libretro-ppsspp,ppsspp-qt5}: fix build on arm64

Arm64 requires bundled libpng17 module. Removing it from EXCLUDE
unbreaks build on arm64 platform.

PR:		287572
Reported by:	Kevin Reinholz <kreinholz@gmail.com> (maintainer)
MFH:		2025Q3
689410f908
Hiroki Tagato (tagattie) · 1.19.2
emulators/ppsspp: update to 1.19.2

Changelog: https://www.ppsspp.org/news/release-1.19/

PR:		287565
Reported by:	Kevin Reinholz <kreinholz@gmail.com> (maintainer)
18a641fdb9
Hiroki Tagato (tagattie) · 1.19.1
emulators/ppsspp: update to 1.19.1

While here:
- fix hang when using vulkan graphics backend.
  This is due to FreeBSD mesa- ports, currently on version 24, only
  supporting vulkan api version 1.3.
- add BSD3CLAUSE to LICENSE and LICENSE_FILE.
- remove defunct 2014 Debian man page.
  The fetch link for the man page is broken. There's no longer a
  ppsspp package for Debian.

Changelog: https://www.ppsspp.org/news/release-1.19/

PR:		287409
Reported by:	Kevin Reinholz <kreinholz@gmail.com> (maintainer)
67e9480101
Daniel Engberg (diizzy) · 1.19
emulators/ppsspp: Update to 1.19

* Fix build with system miniupnpc
* Properly use ${LOCALBASE} instead of hardcoding /usr/local
  for multimedia/ffmpeg3 build dependency
* Misc cleanup (missing USES= flag for desktop-file-utils, correct typo
  in rapidjson external module commit tag)

Changelog: https://www.ppsspp.org/news/release-1.19/
eca93dbd6d
Jan Beich (jbeich) · 1.18.1_1
emulators/{ppsspp,rpcs3,yuzu}: temporarily expand USES=elfctl

After a CMake upgrade some ports spuriously rebuild binaries.
Unfortunately, USES=elfctl relies on BUILD_WRKSRC being immutable
after build phase ends.

PR:		283836
fb4c16ee0f
Daniel Engberg (diizzy) · 1.18.1
emulators/ppsspp: Update to 1.18.1

* Use to multimedia/ffmpeg3 for compatibility and stability
* Submitter becomes maintainer

Changelog: https://www.ppsspp.org/news/release-1.18/

Reset PORTREVISION for slave ports, emulators/libretro-ppsspp and
emulators/ppsspp-qt5

PR:		282792
29fccbe5a0
Vladimir Druzenko (vvd) · 1.17.1_1
emulators/{,libretro-}ppsspp{,-qt5}: Fix build with miniupnpc-2.2.8

Upstream bug report: https://github.com/hrydgard/ppsspp/issues/19333

While here fix plist error in libretro-ppsspp and pet portclippy.

PR:	280298
57569e0b98
Dirk Meyer (dinoex) · 1.17.1_1
net/miniupnpc: Update to 2.2.8
a270dbfaa9
Jan Beich (jbeich) · 1.17.1
emulators/ppsspp: update to 1.17.1

Changes:	https://www.ppsspp.org/news/release-1.17/
Reported by:	GitHub (watch releases)
4bb968bc7e
Muhammad Moinur Rahman (bofh) · 1.16.6
*/*: Sunset 12.4-RELEASE/12-STABLE from ports tree

- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64
  ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
- Remove conditionals in Mk/Uses/cabal.mk
- Remove sparc reference from Mk/Uses/qt-dist.mk
- Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64
- Remove BROKEN_FreeBSD_12* from:
- Remove OpenSSL patches from:
- Remove conditional flags for OSVERSION >= 1300000 to fixed flags.
  Also move conditional flags for non sparc64/arm ARCH to fixed flags.

Reviewed by:	brooks, jbeich, rene, salvadore
Differential Revision: https://reviews.freebsd.org/D42068
bbab7f59e9
Jan Beich (jbeich) · 1.16.6
emulators/ppsspp: drop maintainership
d9be720a80
Jan Beich (jbeich) · 1.16.6
emulators/ppsspp: update to 1.16.6

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.16.6
Reported by:	GitHub (watch releases)
78ca970f38
Jan Beich (jbeich) · 1.16.5
emulators/ppsspp: update to 1.16.5

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.16.5
Reported by:	GitHub (watch releases)
fc4930e693
Jan Beich (jbeich) · 1.16.4_1
emulators/ppsspp: unbundle net/miniupnpc after 30529d609400

PPSSPP fork appears to be miniupnpc_2_2_2-6-g3a87be3 snapshot,
thus a subset of system version after 529426676b2b.

https://github.com/hrydgard/ppsspp/commit/521b04452efc
2896515d22
Jan Beich (jbeich) · 1.16.4
emulators/ppsspp: drop redundant CMAKE_ARGS after 0a420a765eba

https://github.com/hrydgard/ppsspp/commit/cbab6770756f
1a624f57cb
Jan Beich (jbeich) · 1.16.4
emulators/ppsspp: update to 1.16.4

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.16.4
Reported by:	GitHub (watch releases)
1f03952a3d
Jan Beich (jbeich) · 1.16.3
emulators/ppsspp: update to 1.16.3

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.16.3
Reported by:	GitHub (watch releases)
0a420a765e
Jan Beich (jbeich) · 1.16.2
emulators/ppsspp: update to 1.16.2

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.16.2
Reported by:	GitHub (watch releases)
1abc1a69cd
Jan Beich (jbeich) · 1.16.1
emulators/ppsspp: update to 1.16.1

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.16.1
Reported by:	GitHub (watch releases)
dcc027c7e6
Jan Beich (jbeich) · 1.16
emulators/ppsspp: update to 1.16

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.16
Reported by:	GitHub (watch releases)
eb20d81b09
Jan Beich (jbeich) · 1.15.4_2
emulators/libretro-ppsspp: enable Vulkan for KMS console after 34a5259f5126

https://github.com/hrydgard/ppsspp/commit/e3540ccd1719
9d3e273606
Jan Beich (jbeich) · 1.15.4_1
emulators/ppsspp: unbundle archivers/zstd after 30529d609400

https://github.com/hrydgard/ppsspp/commit/63966cb7a70d

Inspired by:	Alpine, Arch, Gentoo, OpenBSD, openSUSE, Void
2dbfb23504
Jan Beich (jbeich) · 1.15.4
emulators/ppsspp: compress CMAKE_ON via :L
6d9c5d744c
Jan Beich (jbeich) · 1.15.4
emulators/ppsspp: unbreak on DragonFly after deb6e280f48b

In file included from Core/HLE/sceAudiocodec.cpp:25:
Core/HW/SimpleAudioDec.h:26:1: error: 'const' can only be specified for objects and functions
 const struct AVCodec;
 ^~~~~

Reported by:	DPorts
e316451d37
Jan Beich (jbeich) · 1.15.4
emulators/ppsspp: update to 1.15.4

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.15.4
Reported by:	GitHub (watch releases)
2c9eb4bb74
Jan Beich (jbeich) · 1.15.3
emulators/ppsspp: update to 1.15.3

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.15.3
Reported by:	GitHub (watch releases)
4c5b28c357
Jan Beich (jbeich) · 1.15.2
emulators/ppsspp: update to 1.15.2

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.15.2
Reported by:	GitHub (watch releases)
79c04af9f5
Jan Beich (jbeich) · 1.15.1
emulators/ppsspp: update to 1.15.1

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.15.1
Reported by:	GitHub (watch releases)
75e3162a46
Jan Beich (jbeich) · 1.15_1
emulators/ppsspp: unbreak with kern.elf*.allow_wx=0

Common/MemoryUtil.cpp:194 E[MEMMAP]: Failed to allocate executable memory (1048576) errno=13
f262cd70e9
Jan Beich (jbeich) · 1.15
emulators/ppsspp: simplify ffmpeg >= 5 fix after 18fb7d59e952
5b23aaf61e
Jan Beich (jbeich) · 1.15
emulators/ppsspp: update to 1.15

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.15
Reported by:	GitHub (watch releases)
18fb7d59e9
Daniel Engberg (diizzy) · 1.14.4_2
*/*: Bump all users of multimedia/ffmpeg*

...to make sure all picks up new version(s)
f7accb23bf
Christian Weisgerber (naddy) · 1.14.4_1
audio/opus: bump consumers after update to 1.4
feb1fa34f5
Muhammad Moinur Rahman (bofh) · 1.14.4
*/*: Sunset 12.3-RELEASE from ports tree

- Mk/bsd.port.mk: mark FreeBSD 12.3 as unsupported.
- Mk/Uses/cabal.mk: Remove the text-2 workaround for 12.3-RELEASE
- biology/wfa2-lib: remove obsolete patch
- databases/mongodb60: remove IGNORE for EOL FreeBSD 12.3
- devel/concurrencpp: remove workaround for EOL FreeBSD 12.3
- devel/electron22: remove IGNORE for EOL FreeBSD 12.3
- devel/malloy: this should build fine on 12.4-RELEASE
- devel/qcoro: remove BROKEN for EOL FreeBSD 12.3
- devel/root: remove workaround for EOL FreeBSD 12.3
- editors/imhex: remove IGNORE for EOL FreeBSD 12.3
- emulators/ppsspp: remove workaround for EOL FreeBSD 12.3
- emulators/rpcs3: remove workaround for EOL FreeBSD 12.3
- emulators/yuzu: remove workaround for EOL 12.3-RELEASE
- games/aquaria: remove support for EOL FreeBSD 12.3
- games/punchy: remove workaround for EOL FreeBSD 12.3
- graphics/cxxplot: remove support for EOL FreeBSD 12.3
- lang/gcc11*: bump a __FreeBSD_version in libphobos to 1204000
- lang/rust: untangle OSVERSION logic a bit
- misc/mbuffer: remove workaround for EOL FreeBSD 12.3 for aarch64
- sysutils/libdisplay-info: remove workaround for EOL FreeBSD 12.3
- www/*chromium: remove IGNORE for EOL FreeBSD 12.3
- x11/hyprpaper: remove workaround for expired FreeBSD 12.3
- x11-wm/labwc: remove workaround for EOL FreeBSD 12.3
- x11-wm/kwinft: remove workaround for EOL FreeBSD 12.3
- www/iridium: remove IGNORE for EOL FreeBSD 12.3

Differential Revision: https://reviews.freebsd.org/D38664
56932296b7
Jan Beich (jbeich) · 1.14.4
emulators/ppsspp: unbreak with ffmpeg 5.0

Core/HW/MediaEngine.cpp:437:12: error: no member named 'need_parsing' in 'AVStream'
                        stream->need_parsing = AVSTREAM_PARSE_FULL;
                        ~~~~~~  ^
Core/HW/MediaEngine.cpp:524:12: error: cannot initialize a variable of type 'AVCodec *' with an rvalue of type 'const AVCodec *'
                AVCodec *pCodec = avcodec_find_decoder(stream->codecpar->codec_id);
                         ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Core/HW/SimpleAudioDec.cpp:83:11: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
        codec_ = avcodec_find_decoder((AVCodecID)audioCodecId);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Core/HW/SimpleAudioDec.cpp:90:14: error: use of undeclared identifier 'avcodec_alloc_context3'
        codecCtx_ = avcodec_alloc_context3(codec_);
                    ^
Core/HW/SimpleAudioDec.cpp:95:11: error: member access into incomplete type 'AVCodecContext'
        codecCtx_->channels = channels_;
                 ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:96:11: error: member access into incomplete type 'AVCodecContext'
        codecCtx_->channel_layout = channels_ == 2 ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO;
                 ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:97:11: error: member access into incomplete type 'AVCodecContext'
        codecCtx_->sample_rate = sample_rate_;
                 ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:106:15: error: member access into incomplete type 'AVCodecContext'
        if (codecCtx_->block_align == 0) {
                     ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:107:12: error: member access into incomplete type 'AVCodecContext'
                codecCtx_->block_align = block_align;
                         ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:111:15: error: use of undeclared identifier 'avcodec_open2'
        int retval = avcodec_open2(codecCtx_, codec_, &opts);
                     ^
Core/HW/SimpleAudioDec.cpp:126:12: error: member access into incomplete type 'AVCodecContext'
                codecCtx_->extradata = (uint8_t *)av_mallocz(size);
                         ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:127:12: error: member access into incomplete type 'AVCodecContext'
                codecCtx_->extradata_size = size;
                         ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:128:12: error: member access into incomplete type 'AVCodecContext'
                codecCtx_->block_align = wav_bytes_per_packet;
                         ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:132:20: error: member access into incomplete type 'AVCodecContext'
                        memcpy(codecCtx_->extradata, data, size);
                                        ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:149:12: error: member access into incomplete type 'AVCodecContext'
                codecCtx_->channels = channels_;
                         ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:150:12: error: member access into incomplete type 'AVCodecContext'
                codecCtx_->channel_layout = channels_ == 2 ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO;
                         ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:163:2: error: use of undeclared identifier 'avcodec_close'; did you mean 'avio_close'?
        avcodec_close(codecCtx_);
        ^~~~~~~~~~~~~
        avio_close
/usr/local/include/libavformat/avio.h:704:5: note: 'avio_close' declared here
int avio_close(AVIOContext *s);
    ^
Core/HW/SimpleAudioDec.cpp:163:16: error: cannot initialize a parameter of type 'AVIOContext *' with an lvalue of type 'AVCodecContext *'
        avcodec_close(codecCtx_);
                      ^~~~~~~~~
Core/HW/MediaEngine.h:41:8: note: 'AVCodecContext' is not defined, but forward declared here; conversion would be valid if it was derived from 'AVIOContext'
struct AVCodecContext;
       ^
/usr/local/include/libavformat/avio.h:704:29: note: passing argument to parameter 's' here
int avio_close(AVIOContext *s);
                            ^
Core/HW/SimpleAudioDec.cpp:164:21: error: member access into incomplete type 'AVCodecContext'
        av_freep(&codecCtx_->extradata);
                           ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:165:21: error: member access into incomplete type 'AVCodecContext'
        av_freep(&codecCtx_->subtitle_header);
                           ^
Core/HW/MediaEngine.h:41:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HW/SimpleAudioDec.cpp:213:12: error: use of undeclared identifier 'avcodec_decode_audio4'
        int len = avcodec_decode_audio4(codecCtx_, frame_, &got_frame, &packet);
                  ^
Core/HLE/sceAtrac.cpp:462:3: error: use of undeclared identifier 'avcodec_close'; did you mean 'avio_close'?
                avcodec_close(codecCtx_);
                ^~~~~~~~~~~~~
                avio_close
/usr/local/include/libavformat/avio.h:704:5: note: 'avio_close' declared here
int avio_close(AVIOContext *s);
    ^
Core/HLE/sceAtrac.cpp:462:17: error: cannot initialize a parameter of type 'AVIOContext *' with an lvalue of type 'AVCodecContext *'
                avcodec_close(codecCtx_);
                              ^~~~~~~~~
Core/HW/SimpleAudioDec.h:27:8: note: 'AVCodecContext' is not defined, but forward declared here; conversion would be valid if it was derived from 'AVIOContext'
struct AVCodecContext;
       ^
/usr/local/include/libavformat/avio.h:704:29: note: passing argument to parameter 's' here
int avio_close(AVIOContext *s);
                            ^
Core/HLE/sceAtrac.cpp:468:3: error: use of undeclared identifier 'av_free_packet'; did you mean 'av_init_packet'?
                av_free_packet(packet_);
                ^~~~~~~~~~~~~~
                av_init_packet
/usr/local/include/libavcodec/packet.h:512:6: note: 'av_init_packet' declared here
void av_init_packet(AVPacket *pkt);
     ^
Core/HLE/sceAtrac.cpp:477:3: error: use of undeclared identifier 'avcodec_flush_buffers'
                avcodec_flush_buffers(codecCtx_);
                ^
Core/HLE/sceAtrac.cpp:502:4: error: use of undeclared identifier 'avcodec_flush_buffers'
                        avcodec_flush_buffers(codecCtx_);
                        ^
Core/HLE/sceAtrac.cpp:591:20: error: use of undeclared identifier 'avcodec_decode_audio4'
                int bytes_read = avcodec_decode_audio4(codecCtx_, frame_, &got_frame, packet_);
                                 ^
Core/HLE/sceAtrac.cpp:596:3: error: use of undeclared identifier 'av_free_packet'; did you mean 'av_init_packet'?
                av_free_packet(packet_);
                ^~~~~~~~~~~~~~
                av_init_packet
/usr/local/include/libavcodec/packet.h:512:6: note: 'av_init_packet' declared here
void av_init_packet(AVPacket *pkt);
     ^
Core/HLE/sceAtrac.cpp:1823:20: error: member access into incomplete type 'AVCodecContext'
                        atrac->codecCtx_->sample_rate,
                                        ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1825:20: error: member access into incomplete type 'AVCodecContext'
                        atrac->codecCtx_->sample_fmt,
                                        ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1826:20: error: member access into incomplete type 'AVCodecContext'
                        atrac->codecCtx_->sample_rate,
                                        ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1856:21: error: use of undeclared identifier 'avcodec_alloc_context3'
        atrac->codecCtx_ = avcodec_alloc_context3(codec);
                           ^
Core/HLE/sceAtrac.cpp:1860:19: error: member access into incomplete type 'AVCodecContext'
                atrac->codecCtx_->extradata = (uint8_t *)av_mallocz(14);
                                ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1861:19: error: member access into incomplete type 'AVCodecContext'
                atrac->codecCtx_->extradata_size = 14;
                                ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1865:19: error: member access into incomplete type 'AVCodecContext'
                atrac->codecCtx_->extradata[0] = 1;
                                ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1866:19: error: member access into incomplete type 'AVCodecContext'
                atrac->codecCtx_->extradata[3] = atrac->channels_ << 3;
                                ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1867:19: error: member access into incomplete type 'AVCodecContext'
                atrac->codecCtx_->extradata[6] = atrac->jointStereo_;
                                ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1868:19: error: member access into incomplete type 'AVCodecContext'
                atrac->codecCtx_->extradata[8] = atrac->jointStereo_;
                                ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1869:19: error: member access into incomplete type 'AVCodecContext'
                atrac->codecCtx_->extradata[10] = 1;
                                ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceAtrac.cpp:1874:19: error: member access into incomplete type 'AVCodecContext'
                atrac->codecCtx_->channels = 1;
                                ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:804:12: error: cannot initialize a variable of type 'AVCodec *' with an rvalue of type 'const AVCodec *'
        AVCodec * pmp_Codec = avcodec_find_decoder(AV_CODEC_ID_H264);
                  ^           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Core/HLE/sceMpeg.cpp:811:34: error: use of undeclared identifier 'avcodec_alloc_context3'
        AVCodecContext * pmp_CodecCtx = avcodec_alloc_context3(pmp_Codec);
                                        ^
Core/HLE/sceMpeg.cpp:817:14: error: member access into incomplete type 'AVCodecContext'
        pmp_CodecCtx->flags |= AV_CODEC_FLAG_OUTPUT_CORRUPT | AV_CODEC_FLAG_LOW_DELAY;
                    ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:824:14: error: member access into incomplete type 'AVCodecContext'
        pmp_CodecCtx->width = 480;
                    ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:825:14: error: member access into incomplete type 'AVCodecContext'
        pmp_CodecCtx->height = 272;
                    ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:826:41: error: member access into incomplete type 'AVCodecContext'
        mediaengine->m_desHeight = pmp_CodecCtx->height;
                                               ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:827:40: error: member access into incomplete type 'AVCodecContext'
        mediaengine->m_desWidth = pmp_CodecCtx->width;
                                              ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:830:6: error: use of undeclared identifier 'avcodec_open2'
        if (avcodec_open2(pmp_CodecCtx, pmp_Codec, NULL) < 0){
            ^
Core/HLE/sceMpeg.cpp:847:76: error: member access into incomplete type 'AVCodecContext'
        mediaengine->m_bufSize = avpicture_get_size(pmp_want_pix_fmt, pmp_CodecCtx->width, pmp_CodecCtx->height);
                                                                                  ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:847:97: error: member access into incomplete type 'AVCodecContext'
        mediaengine->m_bufSize = avpicture_get_size(pmp_want_pix_fmt, pmp_CodecCtx->width, pmp_CodecCtx->height);
                                                                                                       ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:986:35: error: member access into incomplete type 'AVCodecContext'
                av_new_packet(&packet, pCodecCtx->width*pCodecCtx->height);
                                                ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:1001:19: error: use of undeclared identifier 'AVPicture'
                avpicture_fill((AVPicture *)pFrameRGB, mediaengine->m_buffer, pmp_want_pix_fmt, pCodecCtx->width, pCodecCtx->height);
                                ^
Core/HLE/sceMpeg.cpp:1001:30: error: expected expression
                avpicture_fill((AVPicture *)pFrameRGB, mediaengine->m_buffer, pmp_want_pix_fmt, pCodecCtx->width, pCodecCtx->height);
                                           ^
Core/HLE/sceMpeg.cpp:1001:92: error: member access into incomplete type 'AVCodecContext'
                avpicture_fill((AVPicture *)pFrameRGB, mediaengine->m_buffer, pmp_want_pix_fmt, pCodecCtx->width, pCodecCtx->height);
                                                                                                         ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:1001:110: error: member access into incomplete type 'AVCodecContext'
                avpicture_fill((AVPicture *)pFrameRGB, mediaengine->m_buffer, pmp_want_pix_fmt, pCodecCtx->width, pCodecCtx->height);
                                                                                                                           ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:1020:13: error: use of undeclared identifier 'avcodec_decode_video2'
                int len = avcodec_decode_video2(pCodecCtx, pFrame, &got_picture, &packet);
                          ^
Core/HLE/sceMpeg.cpp:1026:14: error: member access into incomplete type 'AVCodecContext'
                                pCodecCtx->width,
                                         ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:1027:14: error: member access into incomplete type 'AVCodecContext'
                                pCodecCtx->height,
                                         ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/HLE/sceMpeg.cpp:1028:14: error: member access into incomplete type 'AVCodecContext'
                                pCodecCtx->pix_fmt,
                                         ^
Core/HW/SimpleAudioDec.h:27:8: note: forward declaration of 'AVCodecContext'
struct AVCodecContext;
       ^
Core/AVIDump.cpp:148:10: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
        codec = avcodec_find_encoder(s_codec_context->codec_id);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PR:		270201
Obtained from:	upstream
deb6e280f4
Jan Beich (jbeich) · 1.14.4
Adjust estimated 12.3 EOL date to actual
eb35c77bfe
Jan Beich (jbeich) · 1.14.4
emulators/ppsspp: update to 1.14.4

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.14.4
Reported by:	GitHub (watch releases)
5d942c73f0
Jan Beich (jbeich) · 1.14.3
emulators/ppsspp: limit wayland category to SDL frontend
edcf04f27c
Jan Beich (jbeich) · 1.14.3
emulators/ppsspp: update to 1.14.3

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.14.3
Reported by:	GitHub (watch releases)
dd8f161f2b
Jan Beich (jbeich) · 1.14.2
emulators/ppsspp: add to wayland category after 8211f9d43fd3

https://github.com/hrydgard/ppsspp/commit/b0ceeede7902
https://github.com/hrydgard/ppsspp/commit/83fccd0835b9
0b5e755cc7
Jan Beich (jbeich) · 1.14.2
emulators/ppsspp: update to 1.14.2

Changes:	https://github.com/hrydgard/ppsspp/releases/tag/v1.14.2
Reported by:	GitHub (watch releases)
7f5aeb5f02