mirror of https://github.com/PCSX2/pcsx2.git
Fixed the last commit. :(
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1488 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
192f602ae7
commit
18dfadfa79
|
@ -461,7 +461,6 @@ static __forceinline BOOL ipuIDEC(u32 val)
|
||||||
|
|
||||||
s_routine = so_create(mpeg2sliceIDEC, &s_RoutineDone, s_tempstack, sizeof(s_tempstack));
|
s_routine = so_create(mpeg2sliceIDEC, &s_RoutineDone, s_tempstack, sizeof(s_tempstack));
|
||||||
assert(s_routine != NULL);
|
assert(s_routine != NULL);
|
||||||
//return;
|
|
||||||
so_call(s_routine);
|
so_call(s_routine);
|
||||||
if (s_RoutineDone) s_routine = NULL;
|
if (s_RoutineDone) s_routine = NULL;
|
||||||
|
|
||||||
|
|
|
@ -1131,7 +1131,8 @@ void __forceinline finishmpeg2sliceIDEC(decoder_t* &decoder)
|
||||||
}
|
}
|
||||||
|
|
||||||
// This fixes Mana Khemia if uncommented, but needs testing.
|
// 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)
|
void mpeg2sliceIDEC(void* pdone)
|
||||||
{
|
{
|
||||||
u32 read;
|
u32 read;
|
||||||
|
@ -1221,11 +1222,6 @@ void mpeg2sliceIDEC(void* pdone)
|
||||||
while (g_nIPU0Data > 0)
|
while (g_nIPU0Data > 0)
|
||||||
{
|
{
|
||||||
read = FIFOfrom_write((u32*)g_pIPU0Pointer, g_nIPU0Data);
|
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)
|
if (read == 0)
|
||||||
{
|
{
|
||||||
|
@ -1245,14 +1241,6 @@ void mpeg2sliceIDEC(void* pdone)
|
||||||
|
|
||||||
NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr);
|
NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr);
|
||||||
mba_inc = 0;
|
mba_inc = 0;
|
||||||
|
|
||||||
#ifdef ALWAYS_RESUME_BEFORE_EXITING
|
|
||||||
if (!resumed)
|
|
||||||
{
|
|
||||||
so_resume();
|
|
||||||
Console::Error("Resume forced in mpeg2sliceIDEC:1");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
@ -1270,20 +1258,20 @@ void mpeg2sliceIDEC(void* pdone)
|
||||||
{
|
{
|
||||||
|
|
||||||
case 8: /* macroblock_escape */
|
case 8: /* macroblock_escape */
|
||||||
Console::Error("macroblock escape ");
|
|
||||||
mba_inc += 33;
|
mba_inc += 33;
|
||||||
/* pass through */
|
/* pass through */
|
||||||
|
|
||||||
case 15: /* macroblock_stuffing (MPEG1 only) */
|
case 15: /* macroblock_stuffing (MPEG1 only) */
|
||||||
Console::Error("macroblock_stuffing (MPEG1 only) ");
|
|
||||||
DUMPBITS(decoder->bitstream_buf, decoder->bitstream_bits, 11);
|
DUMPBITS(decoder->bitstream_buf, decoder->bitstream_bits, 11);
|
||||||
NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr);
|
NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr);
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
default: /* end of slice/frame, or error? */
|
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);
|
finishmpeg2sliceIDEC(decoder);
|
||||||
|
|
||||||
*(int*)pdone = 1;
|
*(int*)pdone = 1;
|
||||||
|
@ -1311,11 +1299,7 @@ void mpeg2sliceIDEC(void* pdone)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ALWAYS_RESUME_BEFORE_EXITING
|
#ifdef ALWAYS_RESUME_BEFORE_EXITING
|
||||||
if (!resumed)
|
if (!resumed) so_resume();
|
||||||
{
|
|
||||||
so_resume();
|
|
||||||
Console::Error("Resume forced in mpeg2sliceIDEC:2");
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
finishmpeg2sliceIDEC(decoder);
|
finishmpeg2sliceIDEC(decoder);
|
||||||
|
|
Loading…
Reference in New Issue