mirror of https://github.com/mpv-player/mpv
Big Endian fix. Patch by Romain Dolbeau
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12516 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
f208bcf694
commit
4e8aa8f506
|
@ -217,12 +217,19 @@ void vf_mpi_clear(mp_image_t* mpi,int x0,int y0,int w,int h){
|
|||
unsigned int* p=(unsigned int*) dst;
|
||||
int size=(mpi->bpp>>3)*w/4;
|
||||
int i;
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
#define CLEAR_PACKEDYUV_PATTERN 0x00800080
|
||||
#define CLEAR_PACKEDYUV_PATTERN_SWAPPED 0x80008000
|
||||
#else
|
||||
#define CLEAR_PACKEDYUV_PATTERN 0x80008000
|
||||
#define CLEAR_PACKEDYUV_PATTERN_SWAPPED 0x00800080
|
||||
#endif
|
||||
if(mpi->flags&MP_IMGFLAG_SWAPPED){
|
||||
for(i=0;i<size;i+=4) p[i]=p[i+1]=p[i+2]=p[i+3]=0x00800080;
|
||||
for(;i<size;i++) p[i]=0x00800080;
|
||||
for(i=0;i<size-3;i+=4) p[i]=p[i+1]=p[i+2]=p[i+3]=CLEAR_PACKEDYUV_PATTERN_SWAPPED;
|
||||
for(;i<size;i++) p[i]=CLEAR_PACKEDYUV_PATTERN_SWAPPED;
|
||||
} else {
|
||||
for(i=0;i<size;i+=4) p[i]=p[i+1]=p[i+2]=p[i+3]=0x80008000;
|
||||
for(;i<size;i++) p[i]=0x80008000;
|
||||
for(i=0;i<size-3;i+=4) p[i]=p[i+1]=p[i+2]=p[i+3]=CLEAR_PACKEDYUV_PATTERN;
|
||||
for(;i<size;i++) p[i]=CLEAR_PACKEDYUV_PATTERN;
|
||||
}
|
||||
} else
|
||||
memset(dst,0,(mpi->bpp>>3)*w);
|
||||
|
|
Loading…
Reference in New Issue