summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--externals/ffmpeg/CMakeLists.txt4
-rw-r--r--src/video_core/host1x/codecs/codec.cpp3
2 files changed, 4 insertions, 3 deletions
diff --git a/externals/ffmpeg/CMakeLists.txt b/externals/ffmpeg/CMakeLists.txt
index 0a926e399..f2886eb6c 100644
--- a/externals/ffmpeg/CMakeLists.txt
+++ b/externals/ffmpeg/CMakeLists.txt
@@ -164,7 +164,7 @@ if (NOT WIN32 AND NOT ANDROID)
164 --enable-decoder=h264 164 --enable-decoder=h264
165 --enable-decoder=vp8 165 --enable-decoder=vp8
166 --enable-decoder=vp9 166 --enable-decoder=vp9
167 --enable-filter=yadif 167 --enable-filter=yadif,scale
168 --cc="${FFmpeg_CC}" 168 --cc="${FFmpeg_CC}"
169 --cxx="${FFmpeg_CXX}" 169 --cxx="${FFmpeg_CXX}"
170 ${FFmpeg_HWACCEL_FLAGS} 170 ${FFmpeg_HWACCEL_FLAGS}
@@ -254,7 +254,7 @@ elseif(ANDROID)
254 set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE) 254 set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE)
255elseif(WIN32) 255elseif(WIN32)
256 # Use yuzu FFmpeg binaries 256 # Use yuzu FFmpeg binaries
257 set(FFmpeg_EXT_NAME "ffmpeg-5.1.3") 257 set(FFmpeg_EXT_NAME "ffmpeg-6.0")
258 set(FFmpeg_PATH "${CMAKE_BINARY_DIR}/externals/${FFmpeg_EXT_NAME}") 258 set(FFmpeg_PATH "${CMAKE_BINARY_DIR}/externals/${FFmpeg_EXT_NAME}")
259 download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "") 259 download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "")
260 set(FFmpeg_FOUND YES) 260 set(FFmpeg_FOUND YES)
diff --git a/src/video_core/host1x/codecs/codec.cpp b/src/video_core/host1x/codecs/codec.cpp
index 220cce28a..8d7da50fc 100644
--- a/src/video_core/host1x/codecs/codec.cpp
+++ b/src/video_core/host1x/codecs/codec.cpp
@@ -319,6 +319,7 @@ void Codec::Decode() {
319 LOG_WARNING(Service_NVDRV, "Zero width or height in frame"); 319 LOG_WARNING(Service_NVDRV, "Zero width or height in frame");
320 return; 320 return;
321 } 321 }
322 bool is_interlaced = initial_frame->interlaced_frame != 0;
322 if (av_codec_ctx->hw_device_ctx) { 323 if (av_codec_ctx->hw_device_ctx) {
323 final_frame = AVFramePtr{av_frame_alloc(), AVFrameDeleter}; 324 final_frame = AVFramePtr{av_frame_alloc(), AVFrameDeleter};
324 ASSERT_MSG(final_frame, "av_frame_alloc final_frame failed"); 325 ASSERT_MSG(final_frame, "av_frame_alloc final_frame failed");
@@ -334,7 +335,7 @@ void Codec::Decode() {
334 UNIMPLEMENTED_MSG("Unexpected video format: {}", final_frame->format); 335 UNIMPLEMENTED_MSG("Unexpected video format: {}", final_frame->format);
335 return; 336 return;
336 } 337 }
337 if (!final_frame->interlaced_frame) { 338 if (!is_interlaced) {
338 av_frames.push(std::move(final_frame)); 339 av_frames.push(std::move(final_frame));
339 } else { 340 } else {
340 if (!filters_initialized) { 341 if (!filters_initialized) {