Bug 455357 - WinCE LibTheora Pre-defined Macro usage in local variable. patch by wolfe, r=chris.double

This commit is contained in:
Doug Turner 2008-09-25 09:08:33 -07:00
Родитель 38ddfc8205
Коммит 1fea03fd98
2 изменённых файлов: 15 добавлений и 5 удалений

Просмотреть файл

@ -2,3 +2,13 @@ The source from this directory was copied from the libtheora-1.0beta3
source distribution using the update.sh script. The changes made were
those applied by update.sh, the addition/update of Makefile.in files
for the Mozilla build system and the patch in bug 450265.
Bug 455357 - WinCE LibTheora Pre-defined Macro usage in local variable
455357_wince_local_variable_macro_clash_patch
This patch is needed for building WinCE / WinMobile because the
Mozilla WinCE Shunt Library currently includes windows.h header file,
which causes a conflict with local variables in the oc_dering_block()
function. This issue should be cleared up soon, with a reworking of
the WinCE Shunt Library (Bug 456788 - reduce windows ce shunt impact).
Until then, this simple patch allows WinCE to finish compiling.

Просмотреть файл

@ -1803,8 +1803,8 @@ static void oc_dec_deblock_frag_rows(oc_dec_ctx *_dec,
static void oc_dering_block(unsigned char *_idata,int _ystride,int _b,
int _dc_scale,int _sharp_mod,int _strong){
static const int MOD_MAX[2]={24,32};
static const int MOD_SHIFT[2]={1,0};
static const int OCDB_MOD_MAX[2]={24,32};
static const int OCDB_MOD_SHIFT[2]={1,0};
const unsigned char *psrc;
const unsigned char *src;
const unsigned char *nsrc;
@ -1814,14 +1814,14 @@ static void oc_dering_block(unsigned char *_idata,int _ystride,int _b,
int mod_hi;
int by;
int bx;
mod_hi=OC_MINI(3*_dc_scale,MOD_MAX[_strong]);
mod_hi=OC_MINI(3*_dc_scale,OCDB_MOD_MAX[_strong]);
dst=_idata;
src=dst;
psrc=src-(_ystride&-!(_b&4));
for(by=0;by<9;by++){
for(bx=0;bx<8;bx++){
int mod;
mod=32+_dc_scale-(abs(src[bx]-psrc[bx])<<MOD_SHIFT[_strong]);
mod=32+_dc_scale-(abs(src[bx]-psrc[bx])<<OCDB_MOD_SHIFT[_strong]);
vmod[(by<<3)+bx]=mod<-64?_sharp_mod:OC_CLAMPI(0,mod,mod_hi);
}
psrc=src;
@ -1833,7 +1833,7 @@ static void oc_dering_block(unsigned char *_idata,int _ystride,int _b,
src=nsrc;
for(by=0;by<8;by++){
int mod;
mod=32+_dc_scale-(abs(*src-*psrc)<<MOD_SHIFT[_strong]);
mod=32+_dc_scale-(abs(*src-*psrc)<<OCDB_MOD_SHIFT[_strong]);
hmod[(bx<<3)+by]=mod<-64?_sharp_mod:OC_CLAMPI(0,mod,mod_hi);
psrc+=_ystride;
src+=_ystride;