Originally committed as revision 26060 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
static volatile uint64_t attribute_used __attribute__((aligned(8))) g6Dither;
static volatile uint64_t attribute_used __attribute__((aligned(8))) r5Dither;
-DECLARE_ASM_CONST(8, uint64_t, dither4[2])={
+const DECLARE_ALIGNED(8, uint64_t, ff_dither4[2]) = {
0x0103010301030103LL,
0x0200020002000200LL,};
-DECLARE_ASM_CONST(8, uint64_t, dither8[2])={
+const DECLARE_ALIGNED(8, uint64_t, ff_dither8[2]) = {
0x0602060206020602LL,
0x0004000400040004LL,};
{
volatile int i= bF8+bFC+w10+
bm00001111+bm00000111+bm11111000+b16Mask+g16Mask+r16Mask+b15Mask+g15Mask+r15Mask+
- ff_M24A+ff_M24B+ff_M24C+w02 + b5Dither+g5Dither+r5Dither+g6Dither+dither4[0]+dither8[0]+bm01010101;
+ ff_M24A+ff_M24B+ff_M24C+w02 + b5Dither+g5Dither+r5Dither+g6Dither+ff_dither4[0]+ff_dither8[0]+bm01010101;
if (i) i=0;
}
#endif
}
}
+extern const DECLARE_ALIGNED(8, uint64_t, ff_dither4[2]);
+extern const DECLARE_ALIGNED(8, uint64_t, ff_dither8[2]);
+
#endif /* FFMPEG_SWSCALE_INTERNAL_H */
}
#ifdef HAVE_MMX
- b5Dither= dither8[dstY&1];
- g6Dither= dither4[dstY&1];
- g5Dither= dither8[dstY&1];
- r5Dither= dither8[(dstY+1)&1];
+ b5Dither= ff_dither8[dstY&1];
+ g6Dither= ff_dither4[dstY&1];
+ g5Dither= ff_dither8[dstY&1];
+ r5Dither= ff_dither8[(dstY+1)&1];
#endif
if (dstY < dstH-2)
{
static volatile uint64_t attribute_used __attribute__((aligned(8))) g6Dither;
static volatile uint64_t attribute_used __attribute__((aligned(8))) r5Dither;
-DECLARE_ASM_CONST(8, uint64_t, dither4[2])={
- 0x0103010301030103LL,
- 0x0200020002000200LL,};
-
-DECLARE_ASM_CONST(8, uint64_t, dither8[2])={
- 0x0602060206020602LL,
- 0x0004000400040004LL,};
-
#undef HAVE_MMX
//MMX versions
uint8_t *pv = src[2] + (y>>1)*srcStride[2];
long index= -h_size/2;
- b5Dither= dither8[y&1];
- g6Dither= dither4[y&1];
- g5Dither= dither8[y&1];
- r5Dither= dither8[(y+1)&1];
+ b5Dither= ff_dither8[y&1];
+ g6Dither= ff_dither4[y&1];
+ g5Dither= ff_dither8[y&1];
+ r5Dither= ff_dither8[(y+1)&1];
/* this mmx assembly code deals with SINGLE scan line at a time, it convert 8
pixels in each iteration */
__asm__ __volatile__ (
uint8_t *pv = src[2] + (y>>1)*srcStride[2];
long index= -h_size/2;
- b5Dither= dither8[y&1];
- g6Dither= dither4[y&1];
- g5Dither= dither8[y&1];
- r5Dither= dither8[(y+1)&1];
+ b5Dither= ff_dither8[y&1];
+ g6Dither= ff_dither4[y&1];
+ g5Dither= ff_dither8[y&1];
+ r5Dither= ff_dither8[(y+1)&1];
/* this mmx assembly code deals with SINGLE scan line at a time, it convert 8
pixels in each iteration */
__asm__ __volatile__ (