diff --git a/rpcs3/Emu/Memory/Memory.h b/rpcs3/Emu/Memory/Memory.h index 0c230593d2..4df6ff55a3 100644 --- a/rpcs3/Emu/Memory/Memory.h +++ b/rpcs3/Emu/Memory/Memory.h @@ -657,15 +657,14 @@ public: return false; } - template u8* operator + (const T vaddr) + template void* operator + (const T vaddr) { - u8* ret = GetMemFromAddr(vaddr); - return ret; + return GetMemFromAddr(vaddr); } template u8& operator[] (const T vaddr) { - return *(*this + vaddr); + return *GetMemFromAddr(vaddr); } }; diff --git a/rpcs3/Emu/SysCalls/Modules/cellVdec.cpp b/rpcs3/Emu/SysCalls/Modules/cellVdec.cpp index c2b5d0b99e..9cb6efa0bf 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellVdec.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellVdec.cpp @@ -589,7 +589,7 @@ int cellVdecGetPicture(u32 handle, const mem_ptr_t format, u3 // TODO: zero padding bytes - int err = av_image_copy_to_buffer(Memory + out_addr, buf_size, frame.data, frame.linesize, vdec->ctx->pix_fmt, frame.width, frame.height, 1); + int err = av_image_copy_to_buffer(Memory.GetMemFromAddr(out_addr), buf_size, frame.data, frame.linesize, vdec->ctx->pix_fmt, frame.width, frame.height, 1); if (err < 0) { cellVdec->Error("cellVdecGetPicture: av_image_copy_to_buffer failed(%d)", err);