[FFmpeg-devel] [PATCH] Use DECLARE_ALIGNED in libpostprocess
Reimar Doeffinger
Reimar.Doeffinger
Thu May 17 00:07:13 CEST 2007
Hello,
is attached patch desirable? If yes, something similar (but much
larger) remains to be don for libswscale.
I also don't really know where to best best place things like const,
static, attribute_used etc. relative to the DECLARE_ALIGNED macro.
I also haven't tried if there is some way to make DECLARE_ALIGNED work
for compilers that specify alignment via #pragma, but I somewhat doubt
it.
Greetings,
Reimar Doeffinger
-------------- next part --------------
Index: libpostproc/postprocess_template.c
===================================================================
--- libpostproc/postprocess_template.c (revision 9038)
+++ libpostproc/postprocess_template.c (working copy)
@@ -3348,7 +3348,7 @@
static void RENAME(postProcess)(uint8_t src[], int srcStride, uint8_t dst[], int dstStride, int width, int height,
QP_STORE_T QPs[], int QPStride, int isColor, PPContext *c2)
{
- PPContext __attribute__((aligned(8))) c= *c2; //copy to stack for faster access
+ DECLARE_ALIGNED(8, PPContext, c)= *c2; //copy to stack for faster access
int x,y;
#ifdef COMPILE_TIME_MODE
const int mode= COMPILE_TIME_MODE;
@@ -3717,7 +3717,7 @@
else if(mode & H_DEBLOCK)
{
#ifdef HAVE_ALTIVEC
- unsigned char __attribute__ ((aligned(16))) tempBlock[272];
+ DECLARE_ALIGNED(16, unsigned char, tempBlock[272]);
transpose_16x8_char_toPackedAlign_altivec(tempBlock, dstBlock - (4 + 1), stride);
const int t=vertClassify_altivec(tempBlock-48, 16, &c);
Index: libpostproc/postprocess.c
===================================================================
--- libpostproc/postprocess.c (revision 9038)
+++ libpostproc/postprocess.c (working copy)
@@ -106,14 +106,14 @@
//#define NUM_BLOCKS_AT_ONCE 16 //not used yet
#if defined(ARCH_X86)
-static uint64_t __attribute__((aligned(8))) attribute_used w05= 0x0005000500050005LL;
-static uint64_t __attribute__((aligned(8))) attribute_used w04= 0x0004000400040004LL;
-static uint64_t __attribute__((aligned(8))) attribute_used w20= 0x0020002000200020LL;
-static uint64_t __attribute__((aligned(8))) attribute_used b00= 0x0000000000000000LL;
-static uint64_t __attribute__((aligned(8))) attribute_used b01= 0x0101010101010101LL;
-static uint64_t __attribute__((aligned(8))) attribute_used b02= 0x0202020202020202LL;
-static uint64_t __attribute__((aligned(8))) attribute_used b08= 0x0808080808080808LL;
-static uint64_t __attribute__((aligned(8))) attribute_used b80= 0x8080808080808080LL;
+static DECLARE_ALIGNED(8, uint64_t attribute_used, w05)= 0x0005000500050005LL;
+static DECLARE_ALIGNED(8, uint64_t attribute_used, w04)= 0x0004000400040004LL;
+static DECLARE_ALIGNED(8, uint64_t attribute_used, w20)= 0x0020002000200020LL;
+static DECLARE_ALIGNED(8, uint64_t attribute_used, b00)= 0x0000000000000000LL;
+static DECLARE_ALIGNED(8, uint64_t attribute_used, b01)= 0x0101010101010101LL;
+static DECLARE_ALIGNED(8, uint64_t attribute_used, b02)= 0x0202020202020202LL;
+static DECLARE_ALIGNED(8, uint64_t attribute_used, b08)= 0x0808080808080808LL;
+static DECLARE_ALIGNED(8, uint64_t attribute_used, b80)= 0x8080808080808080LL;
#endif
static uint8_t clip_table[3*256];
More information about the ffmpeg-devel
mailing list