Update to ppsspp-1.18.1.

This commit is contained in:
bentley
2024-11-06 09:19:15 +00:00
parent 79d32f96f5
commit 31b440e674
12 changed files with 13 additions and 231 deletions
+1 -2
View File
@@ -4,8 +4,7 @@ NOT_FOR_ARCHS = ${BE_ARCHS}
COMMENT = Sony PlayStation Portable emulator
DISTNAME = ppsspp-$V
V = 1.17.1
REVISION = 2
V = 1.18.1
SITES = https://github.com/hrydgard/ppsspp/releases/download/v$V/
+2 -2
View File
@@ -1,2 +1,2 @@
SHA256 (ppsspp-1.17.1.tar.xz) = I+C4ZJzIEksMIqYtTUG1kra9QGS86MCbDUq86JXhMq4=
SIZE (ppsspp-1.17.1.tar.xz) = 54663108
SHA256 (ppsspp-1.18.1.tar.xz) = eMXRfwlEPX6kUPzp/cBYG1IM8gbEIJXdhV6Uvi4Jvc8=
SIZE (ppsspp-1.18.1.tar.xz) = 54239412
+2 -63
View File
@@ -1,25 +1,10 @@
- ffmpeg: Improved fix for checking if const AVCodec* is necessary
930b7f644d74c74d9e58bf8e5300bf9ea9fb78a9
- ffmpeg: Fix the HAVE_LIBAVCODEC_CONST_AVCODEC test
43b7ca6908c3d33be7a1b6eac4aede49d0541833
- Minor CMake fix
457924128195116216da81a3493b9db8f399807f
- Honor CFLAGS and DEBUG
- Use system libpng on arm platforms
Index: CMakeLists.txt
--- CMakeLists.txt.orig
+++ CMakeLists.txt
@@ -117,6 +117,7 @@ if(NOT IOS)
endif()
include(ccache)
+include(CheckCXXSourceCompiles)
include(GNUInstallDirs)
add_definitions(-DASSETS_DIR="${CMAKE_INSTALL_FULL_DATADIR}/ppsspp/assets/")
@@ -385,13 +386,13 @@ if(NOT MSVC)
@@ -423,13 +423,13 @@ if(NOT MSVC)
endif()
endif()
@@ -37,32 +22,7 @@ Index: CMakeLists.txt
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG")
# Enable checking printf-like format strings (also works for logging functions)
@@ -949,6 +950,24 @@ if(USE_FFMPEG)
endif()
find_package(FFmpeg REQUIRED avcodec avformat avutil swresample swscale)
+ # Check if we need to use avcodec_(alloc|free)_frame instead of av_frame_(alloc|free)
+ # Check if we need to use const AVCodec
+ set(CMAKE_REQUIRED_INCLUDES ${FFmpeg_INCLUDE_avcodec};${FFmpeg_INCLUDE_avformat})
+ set(CMAKE_REQUIRED_LIBRARIES FFmpeg::avcodec;FFmpeg::avformat)
+ set(CMAKE_REQUIRED_FLAGS "-pedantic -Wall -Werror -Wno-unused-variable")
+ check_cxx_source_compiles("extern \"C\" {
+ #include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+ }
+ static AVCodecContext *s_codec_context = NULL;
+ int main() {
+ const AVCodec *codec = avcodec_find_encoder(s_codec_context->codec_id);
+ return 0;
+ }
+ " HAVE_LIBAVCODEC_CONST_AVCODEC FAIL_REGEX "invalid conversion")
+
+ # Check if we need to use avcodec_alloc_context3 instead of stream->codec
+ # Check if we need to use av_frame_get_buffer instead of avcodec_default_get_buffer
endif(USE_FFMPEG)
find_package(ZLIB)
@@ -1147,7 +1166,7 @@ else()
@@ -1206,7 +1206,7 @@ else()
endif()
# Arm platforms require at least libpng17.
@@ -71,24 +31,3 @@ Index: CMakeLists.txt
set(PNG_REQUIRED_VERSION 1.7)
else()
set(PNG_REQUIRED_VERSION 1.6)
@@ -2020,6 +2039,7 @@ add_library(${CoreLibName} ${CoreLinkType}
Core/ELF/PrxDecrypter.h
Core/ELF/ParamSFO.cpp
Core/ELF/ParamSFO.h
+ Core/FFMPEGCompat.h
Core/FileSystems/tlzrc.cpp
Core/FileSystems/BlobFileSystem.cpp
Core/FileSystems/BlobFileSystem.h
@@ -2354,8 +2374,11 @@ target_compile_features(${CoreLibName} PUBLIC cxx_std_
if(FFmpeg_FOUND)
target_compile_definitions(${CoreLibName} PRIVATE USE_FFMPEG=1)
+ if (HAVE_LIBAVCODEC_CONST_AVCODEC)
+ target_compile_definitions(${CoreLibName} PRIVATE HAVE_LIBAVCODEC_CONST_AVCODEC=1)
+ endif()
set_target_properties(${CoreLibName} PROPERTIES NO_SYSTEM_FROM_IMPORTED true)
- target_include_directories(${CoreLibName} BEFORE PUBLIC ${FFmpeg_INCLUDE_avcodec})
+ target_include_directories(${CoreLibName} BEFORE PUBLIC ${FFmpeg_INCLUDE_avcodec} ${FFmpeg_INCLUDE_avformat})
target_link_libraries(${CoreLibName}
FFmpeg::avcodec
FFmpeg::avformat
@@ -1,37 +0,0 @@
Unbreak on riscv64, we don't have sys/auxv.h or getauxval().
OpenBSD/riscv64 assumes RV64GC, aka RV64IMAFDC.
Our kernel provides no support for the V extension.
Index: Common/RiscVCPUDetect.cpp
--- Common/RiscVCPUDetect.cpp.orig
+++ Common/RiscVCPUDetect.cpp
@@ -27,7 +27,6 @@
#include <cstring>
#include <set>
#include <sstream>
-#include <sys/auxv.h>
#include <vector>
#include "Common/Common.h"
#include "Common/CPUDetect.h"
@@ -201,13 +200,13 @@ void CPUInfo::Detect()
}
#endif
- unsigned long hwcap = getauxval(AT_HWCAP);
- RiscV_M = ExtensionSupported(hwcap, 'M');
- RiscV_A = ExtensionSupported(hwcap, 'A');
- RiscV_F = ExtensionSupported(hwcap, 'F');
- RiscV_D = ExtensionSupported(hwcap, 'D');
- RiscV_C = ExtensionSupported(hwcap, 'C');
- RiscV_V = ExtensionSupported(hwcap, 'V');
+ /* OpenBSD uses rv64gc */
+ RiscV_M = true;
+ RiscV_A = true;
+ RiscV_F = true;
+ RiscV_D = true;
+ RiscV_C = true;
+ RiscV_V = false;
// We assume as in RVA20U64 that F means Zicsr is available.
RiscV_Zicsr = RiscV_F;
@@ -1,17 +0,0 @@
- ffmpeg: Improved fix for checking if const AVCodec* is necessary
930b7f644d74c74d9e58bf8e5300bf9ea9fb78a9
Index: Core/AVIDump.cpp
--- Core/AVIDump.cpp.orig
+++ Core/AVIDump.cpp
@@ -45,9 +45,7 @@ extern "C" {
#define av_frame_free avcodec_free_frame
#endif
-#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(59, 16, 100)
-#define AVCodec const AVCodec
-#endif
+#include "FFMPEGCompat.h"
static AVFormatContext *s_format_context = nullptr;
static AVCodecContext *s_codec_context = nullptr;
@@ -1,15 +0,0 @@
- ffmpeg: Improved fix for checking if const AVCodec* is necessary
930b7f644d74c74d9e58bf8e5300bf9ea9fb78a9
Index: Core/FFMPEGCompat.h
--- Core/FFMPEGCompat.h.orig
+++ Core/FFMPEGCompat.h
@@ -0,0 +1,8 @@
+#ifndef FFMPEG_COMPAT_H
+#define FFMPEG_COMPAT_H
+
+#ifdef HAVE_LIBAVCODEC_CONST_AVCODEC
+#define AVCodec const AVCodec
+#endif
+
+#endif // FFMPEG_COMPAT_H
@@ -1,18 +0,0 @@
- ffmpeg: Improved fix for checking if const AVCodec* is necessary
930b7f644d74c74d9e58bf8e5300bf9ea9fb78a9
Index: Core/HLE/sceAtrac.cpp
--- Core/HLE/sceAtrac.cpp.orig
+++ Core/HLE/sceAtrac.cpp
@@ -129,10 +129,7 @@ extern "C" {
#include "libavcodec/avcodec.h"
#include "libavutil/version.h"
}
-
-#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(59, 16, 100)
-#define AVCodec const AVCodec
-#endif
+#include "Core/FFMPEGCompat.h"
#endif // USE_FFMPEG
@@ -1,17 +0,0 @@
- ffmpeg: Improved fix for checking if const AVCodec* is necessary
930b7f644d74c74d9e58bf8e5300bf9ea9fb78a9
Index: Core/HLE/sceMpeg.cpp
--- Core/HLE/sceMpeg.cpp.orig
+++ Core/HLE/sceMpeg.cpp
@@ -113,9 +113,7 @@ extern "C" {
#include "libswscale/swscale.h"
#include "libavcodec/avcodec.h"
}
-#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(59, 16, 100)
-#define AVCodec const AVCodec
-#endif
+#include "Core/FFMPEGCompat.h"
static AVPixelFormat pmp_want_pix_fmt;
#endif
@@ -1,17 +0,0 @@
- ffmpeg: Improved fix for checking if const AVCodec* is necessary
930b7f644d74c74d9e58bf8e5300bf9ea9fb78a9
Index: Core/HW/MediaEngine.cpp
--- Core/HW/MediaEngine.cpp.orig
+++ Core/HW/MediaEngine.cpp
@@ -56,9 +56,7 @@ extern "C" {
#ifdef USE_FFMPEG
-#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(59, 16, 100)
-#define AVCodec const AVCodec
-#endif
+#include "Core/FFMPEGCompat.h"
static AVPixelFormat getSwsFormat(int pspFormat)
{
@@ -1,14 +0,0 @@
- ffmpeg: Improved fix for checking if const AVCodec* is necessary
930b7f644d74c74d9e58bf8e5300bf9ea9fb78a9
Index: Core/HW/SimpleAudioDec.cpp
--- Core/HW/SimpleAudioDec.cpp.orig
+++ Core/HW/SimpleAudioDec.cpp
@@ -33,6 +33,7 @@ extern "C" {
#include "libavutil/samplefmt.h"
#include "libavcodec/avcodec.h"
}
+#include "Core/FFMPEGCompat.h"
#endif // USE_FFMPEG
@@ -1,29 +0,0 @@
- ffmpeg: Improved fix for checking if const AVCodec* is necessary
930b7f644d74c74d9e58bf8e5300bf9ea9fb78a9
Index: Core/HW/SimpleAudioDec.h
--- Core/HW/SimpleAudioDec.h.orig
+++ Core/HW/SimpleAudioDec.h
@@ -33,12 +33,8 @@ extern "C" {
#include "libavutil/version.h"
};
-#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(59, 16, 100)
-#define AVCodec const AVCodec
#endif
-#endif
-
// Wraps FFMPEG for audio decoding in a nice interface.
// Decodes packet by packet - does NOT demux.
@@ -90,6 +86,9 @@ class SimpleAudio { (private)
int wanted_resample_freq; // wanted resampling rate/frequency
AVFrame *frame_;
+#if HAVE_LIBAVCODEC_CONST_AVCODEC // USE_FFMPEG is implied
+ const
+#endif
AVCodec *codec_;
AVCodecContext *codecCtx_;
SwrContext *swrCtx_;
+8
View File
@@ -84,6 +84,7 @@ share/ppsspp/assets/lang/it_IT.ini
share/ppsspp/assets/lang/ja_JP.ini
share/ppsspp/assets/lang/jv_ID.ini
share/ppsspp/assets/lang/ko_KR.ini
share/ppsspp/assets/lang/ku_SO.ini
share/ppsspp/assets/lang/lo_LA.ini
share/ppsspp/assets/lang/lt-LT.ini
share/ppsspp/assets/lang/ms_MY.ini
@@ -107,8 +108,10 @@ share/ppsspp/assets/logo.png
share/ppsspp/assets/ppge_atlas.meta
share/ppsspp/assets/ppge_atlas.zim
share/ppsspp/assets/rargray.png
share/ppsspp/assets/sfx_achievement_unlocked.wav
share/ppsspp/assets/sfx_back.wav
share/ppsspp/assets/sfx_confirm.wav
share/ppsspp/assets/sfx_leaderbord_submitted.wav
share/ppsspp/assets/sfx_select.wav
share/ppsspp/assets/sfx_toggle_off.wav
share/ppsspp/assets/sfx_toggle_on.wav
@@ -147,12 +150,17 @@ share/ppsspp/assets/shaders/tex_4xbrz.csh
share/ppsspp/assets/shaders/tex_mmpx.csh
share/ppsspp/assets/shaders/upscale_bicubic.fsh
share/ppsspp/assets/shaders/upscale_bicubic.vsh
share/ppsspp/assets/shaders/upscale_sharp_bilinear.fsh
share/ppsspp/assets/shaders/upscale_sharp_bilinear.vsh
share/ppsspp/assets/shaders/upscale_spline36.fsh
share/ppsspp/assets/shaders/upscale_spline36.vsh
share/ppsspp/assets/shaders/videoAA.fsh
share/ppsspp/assets/shaders/vignette.fsh
share/ppsspp/assets/themes/
share/ppsspp/assets/themes/1995.ini
share/ppsspp/assets/themes/defaultthemes.ini
share/ppsspp/assets/themes/slateforest.ini
share/ppsspp/assets/themes/vinewood.ini
share/ppsspp/assets/ui_atlas.meta
share/ppsspp/assets/ui_atlas.zim
share/ppsspp/assets/unknown.png