mirror of https://github.com/PCSX2/pcsx2.git
IPU: Minor tweaks to casts and static vars while looking for potential GCC issues.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3584 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
844bfd297a
commit
fa14e157c6
|
@ -926,7 +926,7 @@ u16 __fastcall FillInternalBuffer(u32 * pointer, u32 advance, u32 size)
|
|||
inc_readbits();
|
||||
g_BP.FP = 1;
|
||||
}
|
||||
|
||||
|
||||
if ((g_BP.FP < 2) && ((*(int*)pointer + size) >= 128))
|
||||
{
|
||||
if (ipu_fifo.in.read(next_readbits())) g_BP.FP += 1;
|
||||
|
@ -954,7 +954,6 @@ u8 __fastcall getBits128(u8 *address, u32 advance)
|
|||
{
|
||||
u64 mask2;
|
||||
u128 mask;
|
||||
u32 shift;
|
||||
u8* readpos;
|
||||
|
||||
// Check if the current BP has exceeded or reached the limit of 128
|
||||
|
@ -962,7 +961,7 @@ u8 __fastcall getBits128(u8 *address, u32 advance)
|
|||
|
||||
readpos = readbits + (int)g_BP.BP / 8;
|
||||
|
||||
if (g_BP.BP & 7)
|
||||
if (uint shift = (g_BP.BP & 7))
|
||||
{
|
||||
shift = g_BP.BP & 7;
|
||||
mask2 = 0xff >> shift;
|
||||
|
@ -999,17 +998,15 @@ u8 __fastcall getBits128(u8 *address, u32 advance)
|
|||
u8 __fastcall getBits64(u8 *address, u32 advance)
|
||||
{
|
||||
register u64 mask = 0;
|
||||
int shift = 0;
|
||||
u8* readpos;
|
||||
|
||||
// Check if the current BP has exceeded or reached the limit of 128
|
||||
if (FillInternalBuffer(&g_BP.BP, 1, 64) < 64) return 0;
|
||||
|
||||
readpos = readbits + (int)g_BP.BP / 8;
|
||||
|
||||
if (g_BP.BP & 7)
|
||||
|
||||
if (uint shift = (g_BP.BP & 7))
|
||||
{
|
||||
shift = g_BP.BP & 7;
|
||||
mask = (0xff >> shift);
|
||||
mask = mask | (mask << 8) | (mask << 16) | (mask << 24) | (mask << 32) | (mask << 40) | (mask << 48) | (mask << 56);
|
||||
|
||||
|
@ -1029,7 +1026,7 @@ u8 __fastcall getBits64(u8 *address, u32 advance)
|
|||
// while the high bits come from the current byte
|
||||
u8 __fastcall getBits32(u8 *address, u32 advance)
|
||||
{
|
||||
register u32 mask, shift = 0;
|
||||
u32 mask;
|
||||
u8* readpos;
|
||||
|
||||
// Check if the current BP has exceeded or reached the limit of 128
|
||||
|
@ -1037,9 +1034,8 @@ u8 __fastcall getBits32(u8 *address, u32 advance)
|
|||
|
||||
readpos = readbits + (int)g_BP.BP / 8;
|
||||
|
||||
if (g_BP.BP & 7)
|
||||
if (uint shift = (g_BP.BP & 7))
|
||||
{
|
||||
shift = g_BP.BP & 7;
|
||||
mask = (0xff >> shift);
|
||||
mask = mask | (mask << 8) | (mask << 16) | (mask << 24);
|
||||
|
||||
|
@ -1057,7 +1053,7 @@ u8 __fastcall getBits32(u8 *address, u32 advance)
|
|||
|
||||
__forceinline u8 __fastcall getBits16(u8 *address, u32 advance)
|
||||
{
|
||||
register u32 mask, shift = 0;
|
||||
u32 mask;
|
||||
u8* readpos;
|
||||
|
||||
// Check if the current BP has exceeded or reached the limit of 128
|
||||
|
@ -1065,7 +1061,7 @@ __forceinline u8 __fastcall getBits16(u8 *address, u32 advance)
|
|||
|
||||
readpos = readbits + (int)g_BP.BP / 8;
|
||||
|
||||
if (g_BP.BP & 7)
|
||||
if (uint shift = (g_BP.BP & 7))
|
||||
{
|
||||
shift = g_BP.BP & 7;
|
||||
mask = (0xff >> shift);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "IPU_Fifo.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma pack(1)
|
||||
//#pragma pack(1)
|
||||
#endif
|
||||
|
||||
#define ipumsk( src ) ( (src) & 0xff )
|
||||
|
@ -112,7 +112,7 @@ struct tIPU_BP {
|
|||
};
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma pack()
|
||||
//#pragma pack()
|
||||
#endif
|
||||
|
||||
union tIPU_CMD_IDEC
|
||||
|
|
|
@ -192,10 +192,6 @@ static __forceinline int get_coded_block_pattern()
|
|||
|
||||
int __forceinline get_motion_delta(const int f_code)
|
||||
{
|
||||
#define bit_buf (decoder.bitstream_buf)
|
||||
#define bits (decoder.bitstream_bits)
|
||||
#define bit_ptr (decoder.bitstream_ptr)
|
||||
|
||||
int delta;
|
||||
int sign;
|
||||
const MVtab * tab;
|
||||
|
@ -221,10 +217,6 @@ int __forceinline get_motion_delta(const int f_code)
|
|||
sign = SBITS(1);
|
||||
DUMPBITS(1);
|
||||
return (delta ^ sign) - sign;
|
||||
|
||||
#undef bit_buf
|
||||
#undef bits
|
||||
#undef bit_ptr
|
||||
}
|
||||
|
||||
int __forceinline get_dmv()
|
||||
|
|
|
@ -30,13 +30,14 @@
|
|||
#ifndef __VLC_H__
|
||||
#define __VLC_H__
|
||||
|
||||
static u8 data[2];
|
||||
//static u8 word[4];
|
||||
//static u8 dword[8];
|
||||
//static u8 qword[16];
|
||||
|
||||
static __forceinline int GETWORD()
|
||||
{
|
||||
static u8 data[2];
|
||||
|
||||
if (decoder.bitstream_bits > 0)
|
||||
{
|
||||
if(!getBits16(data,1))
|
||||
|
@ -48,7 +49,7 @@ static __forceinline int GETWORD()
|
|||
BigEndian(data, *(u32*)word);
|
||||
decoder.bitstream_buf |= (u64)data << decoder.bitstream_bits;
|
||||
decoder.bitstream_bits -= 32;*/
|
||||
decoder.bitstream_buf |= ((u32)(((u16)data[0] << 8) | data[1])) << decoder.bitstream_bits;
|
||||
decoder.bitstream_buf |= (((u32)data[0] << 8) | data[1]) << decoder.bitstream_bits;
|
||||
decoder.bitstream_bits -= 16;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue