Fixed the last commit. :(

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1488 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
arcum42 2009-07-11 17:26:11 +00:00
parent 192f602ae7
commit 18dfadfa79
2 changed files with 7 additions and 24 deletions

View File

@ -461,7 +461,6 @@ static __forceinline BOOL ipuIDEC(u32 val)
s_routine = so_create(mpeg2sliceIDEC, &s_RoutineDone, s_tempstack, sizeof(s_tempstack));
assert(s_routine != NULL);
//return;
so_call(s_routine);
if (s_RoutineDone) s_routine = NULL;

View File

@ -1131,7 +1131,8 @@ void __forceinline finishmpeg2sliceIDEC(decoder_t* &decoder)
}
// This fixes Mana Khemia if uncommented, but needs testing.
#define ALWAYS_RESUME_BEFORE_EXITING
// Breaks Figital Devil Saga.
//#define ALWAYS_RESUME_BEFORE_EXITING
void mpeg2sliceIDEC(void* pdone)
{
u32 read;
@ -1221,11 +1222,6 @@ void mpeg2sliceIDEC(void* pdone)
while (g_nIPU0Data > 0)
{
read = FIFOfrom_write((u32*)g_pIPU0Pointer, g_nIPU0Data);
if (read != 8)
{
Console::Error("g_nIPU0Data = 0x%x; read = 0x%x", params g_nIPU0Data, read);
}
if (read == 0)
{
@ -1245,14 +1241,6 @@ void mpeg2sliceIDEC(void* pdone)
NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr);
mba_inc = 0;
#ifdef ALWAYS_RESUME_BEFORE_EXITING
if (!resumed)
{
so_resume();
Console::Error("Resume forced in mpeg2sliceIDEC:1");
}
#endif
while (1)
{
@ -1270,20 +1258,20 @@ void mpeg2sliceIDEC(void* pdone)
{
case 8: /* macroblock_escape */
Console::Error("macroblock escape ");
mba_inc += 33;
/* pass through */
case 15: /* macroblock_stuffing (MPEG1 only) */
Console::Error("macroblock_stuffing (MPEG1 only) ");
DUMPBITS(decoder->bitstream_buf, decoder->bitstream_bits, 11);
NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr);
continue;
default: /* end of slice/frame, or error? */
{
Console::Error("UBITS(decoder->bitstream_buf, 11) is 0x%x", params UBITS(decoder->bitstream_buf, 11));
#ifdef ALWAYS_RESUME_BEFORE_EXITING
if (!resumed) so_resume();
#endif
finishmpeg2sliceIDEC(decoder);
*(int*)pdone = 1;
@ -1311,11 +1299,7 @@ void mpeg2sliceIDEC(void* pdone)
}
#ifdef ALWAYS_RESUME_BEFORE_EXITING
if (!resumed)
{
so_resume();
Console::Error("Resume forced in mpeg2sliceIDEC:2");
}
if (!resumed) so_resume();
#endif
finishmpeg2sliceIDEC(decoder);