From ee8b0626877a81a5884719d9dc57e6855c2bbb6c Mon Sep 17 00:00:00 2001 From: raven02 Date: Mon, 27 Jan 2014 22:07:30 +0800 Subject: [PATCH] Save the current frame's status to initAddr --- Core/HLE/sceMpeg.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Core/HLE/sceMpeg.cpp b/Core/HLE/sceMpeg.cpp index 2d69ae7299..624649b7bd 100644 --- a/Core/HLE/sceMpeg.cpp +++ b/Core/HLE/sceMpeg.cpp @@ -707,7 +707,8 @@ u32 sceMpegAvcDecode(u32 mpeg, u32 auAddr, u32 frameWidth, u32 bufferAddr, u32 i Memory::WriteStruct(ctx->mpegRingbufferAddr, &ringbuffer); // return 0 in first call, and then return 1, as PSPSDK mentioned - Memory::Write_U32(ctx->avc.avcDecodeResult ? 1 : 0, initAddr); + // Save the current frame's status to initAddr + Memory::Write_U32(ctx->avc.avcFrameStatus, initAddr); ctx->avc.avcDecodeResult = MPEG_AVC_DECODE_SUCCESS; DEBUG_LOG(ME, "sceMpegAvcDecode(%08x, %08x, %i, %08x, %08x)", mpeg, auAddr, frameWidth, bufferAddr, initAddr); @@ -864,7 +865,8 @@ int sceMpegAvcDecodeYCbCr(u32 mpeg, u32 auAddr, u32 bufferAddr, u32 initAddr) Memory::WriteStruct(ctx->mpegRingbufferAddr, &ringbuffer); // return 0 in first call, and then return 1, as PSPSDK mentioned - Memory::Write_U32(ctx->avc.avcDecodeResult ? 1 : 0, initAddr); + // Save the current frame's status to initAddr + Memory::Write_U32(ctx->avc.avcFrameStatus, initAddr); ctx->avc.avcDecodeResult = MPEG_AVC_DECODE_SUCCESS; DEBUG_LOG(ME, "sceMpegAvcDecodeYCbCr(%08x, %08x, %08x, %08x)", mpeg, auAddr, bufferAddr, initAddr);