diff options
| author | 2021-12-12 18:28:52 -0700 | |
|---|---|---|
| committer | 2021-12-13 22:31:19 -0700 | |
| commit | dd72e4dce4641498bd7e73f09afd7d90961c435d (patch) | |
| tree | 39ca50e569b17e002657484be046e0878b355bbc | |
| parent | video_core/codecs: skip decoders that use hw frames ... (diff) | |
| download | yuzu-dd72e4dce4641498bd7e73f09afd7d90961c435d.tar.gz yuzu-dd72e4dce4641498bd7e73f09afd7d90961c435d.tar.xz yuzu-dd72e4dce4641498bd7e73f09afd7d90961c435d.zip | |
CI: fix CI on Linux
| -rwxr-xr-x | .ci/scripts/windows/docker.sh | 5 | ||||
| -rw-r--r-- | externals/ffmpeg/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/video_core/command_classes/codecs/codec.cpp | 3 |
3 files changed, 3 insertions, 7 deletions
diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index 298421a1a..584b9b39f 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh | |||
| @@ -41,12 +41,11 @@ for i in package/*.exe; do | |||
| 41 | done | 41 | done |
| 42 | 42 | ||
| 43 | pip3 install pefile | 43 | pip3 install pefile |
| 44 | python3 .ci/scripts/windows/scan_dll.py package/*.exe "package/" | 44 | python3 .ci/scripts/windows/scan_dll.py package/*.exe package/imageformats/*.dll "package/" |
| 45 | python3 .ci/scripts/windows/scan_dll.py package/imageformats/*.dll "package/" | ||
| 46 | 45 | ||
| 47 | # copy FFmpeg libraries | 46 | # copy FFmpeg libraries |
| 48 | EXTERNALS_PATH="$(pwd)/build/externals" | 47 | EXTERNALS_PATH="$(pwd)/build/externals" |
| 49 | FFMPEG_DLL_PATH="$(find ${EXTERNALS_PATH} -maxdepth 1 -type d | grep ffmpeg)/ffmpeg/bin" | 48 | FFMPEG_DLL_PATH="$(find "${EXTERNALS_PATH}" -maxdepth 1 -type d | grep 'ffmpeg-')/bin" |
| 50 | find ${FFMPEG_DLL_PATH} -type f -regex ".*\.dll" -exec cp -v {} package/ ';' | 49 | find ${FFMPEG_DLL_PATH} -type f -regex ".*\.dll" -exec cp -v {} package/ ';' |
| 51 | 50 | ||
| 52 | # copy libraries from yuzu.exe path | 51 | # copy libraries from yuzu.exe path |
diff --git a/externals/ffmpeg/CMakeLists.txt b/externals/ffmpeg/CMakeLists.txt index 63896edd5..7da89d2c5 100644 --- a/externals/ffmpeg/CMakeLists.txt +++ b/externals/ffmpeg/CMakeLists.txt | |||
| @@ -17,7 +17,7 @@ if (NOT WIN32) | |||
| 17 | endif() | 17 | endif() |
| 18 | 18 | ||
| 19 | set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg/ffmpeg) | 19 | set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg/ffmpeg) |
| 20 | set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg) | 20 | set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg-build) |
| 21 | set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile) | 21 | set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile) |
| 22 | make_directory(${FFmpeg_BUILD_DIR}) | 22 | make_directory(${FFmpeg_BUILD_DIR}) |
| 23 | 23 | ||
diff --git a/src/video_core/command_classes/codecs/codec.cpp b/src/video_core/command_classes/codecs/codec.cpp index 439c47209..868b82f9b 100644 --- a/src/video_core/command_classes/codecs/codec.cpp +++ b/src/video_core/command_classes/codecs/codec.cpp | |||
| @@ -257,9 +257,6 @@ void Codec::Decode() { | |||
| 257 | final_frame->format = PREFERRED_GPU_FMT; | 257 | final_frame->format = PREFERRED_GPU_FMT; |
| 258 | const int ret = av_hwframe_transfer_data(final_frame.get(), initial_frame.get(), 0); | 258 | const int ret = av_hwframe_transfer_data(final_frame.get(), initial_frame.get(), 0); |
| 259 | ASSERT_MSG(!ret, "av_hwframe_transfer_data error {}", ret); | 259 | ASSERT_MSG(!ret, "av_hwframe_transfer_data error {}", ret); |
| 260 | // null the hw frame context to prevent the buffer from being deleted | ||
| 261 | // and leaving a dangling reference in the av_codec_ctx | ||
| 262 | initial_frame->hw_frames_ctx = nullptr; | ||
| 263 | } else { | 260 | } else { |
| 264 | final_frame = std::move(initial_frame); | 261 | final_frame = std::move(initial_frame); |
| 265 | } | 262 | } |