[XviD-devel] [PATCH] x86_64 QPel tables declaration fix

Martin Drab drab at kepler.fjfi.cvut.cz
Mon Jul 11 18:13:31 CEST 2005


Hi,

this patch makes GCC (at least the 4.1.x) stop complaining about 
incomplete types and makes it compile the XviD for x86_64. (BTW: I even 
think "int x[][]" is not allowed in C, I had a discussion with the GCC 
guys on this topic a while ago.)

Martin
-------------- next part --------------
diff -Napur orig/src/image/qpel.c new/src/image/qpel.c
--- orig/src/image/qpel.c	2005-01-06 01:24:58.000000000 +0100
+++ new/src/image/qpel.c	2005-07-10 23:52:03.000000000 +0200
@@ -397,7 +397,7 @@ uint16_t xvid_Expand_mmx[256][4]; /* 8b 
 #endif
 
 #ifdef ARCH_IS_X86_64
-extern uint16_t xvid_Expand_mmx[][]; /* 8b -> 64b expansion table */
+extern uint16_t xvid_Expand_mmx[256][4]; /* 8b -> 64b expansion table */
 #endif
 
 /* Alternate way of filtering (cf. USE_TABLES flag in qpel_mmx.asm)
@@ -408,23 +408,23 @@ extern uint16_t xvid_Expand_mmx[][]; /* 
  * Using Symmetries (and bswap) could reduce further
  * the memory to 7 tables (->14K). */
 #ifdef ARCH_IS_X86_64
-extern int16_t xvid_FIR_1_0_0_0[][];
-extern int16_t xvid_FIR_3_1_0_0[][];
-extern int16_t xvid_FIR_6_3_1_0[][];
-extern int16_t xvid_FIR_14_3_2_1[][];
-extern int16_t xvid_FIR_20_6_3_1[][];
-extern int16_t xvid_FIR_20_20_6_3[][];
-extern int16_t xvid_FIR_23_19_6_3[][];
-extern int16_t xvid_FIR_7_20_20_6[][];
-extern int16_t xvid_FIR_6_20_20_6[][];
-extern int16_t xvid_FIR_6_20_20_7[][];
-extern int16_t xvid_FIR_3_6_20_20[][];
-extern int16_t xvid_FIR_3_6_19_23[][];
-extern int16_t xvid_FIR_1_3_6_20[][];
-extern int16_t xvid_FIR_1_2_3_14[][];
-extern int16_t xvid_FIR_0_1_3_6[][];
-extern int16_t xvid_FIR_0_0_1_3[][];
-extern int16_t xvid_FIR_0_0_0_1[][];
+extern int16_t xvid_FIR_1_0_0_0[256][4];
+extern int16_t xvid_FIR_3_1_0_0[256][4];
+extern int16_t xvid_FIR_6_3_1_0[256][4];
+extern int16_t xvid_FIR_14_3_2_1[256][4];
+extern int16_t xvid_FIR_20_6_3_1[256][4];
+extern int16_t xvid_FIR_20_20_6_3[256][4];
+extern int16_t xvid_FIR_23_19_6_3[256][4];
+extern int16_t xvid_FIR_7_20_20_6[256][4];
+extern int16_t xvid_FIR_6_20_20_6[256][4];
+extern int16_t xvid_FIR_6_20_20_7[256][4];
+extern int16_t xvid_FIR_3_6_20_20[256][4];
+extern int16_t xvid_FIR_3_6_19_23[256][4];
+extern int16_t xvid_FIR_1_3_6_20[256][4];
+extern int16_t xvid_FIR_1_2_3_14[256][4];
+extern int16_t xvid_FIR_0_1_3_6[256][4];
+extern int16_t xvid_FIR_0_0_1_3[256][4];
+extern int16_t xvid_FIR_0_0_0_1[256][4];
 #else
 int16_t xvid_FIR_1_0_0_0[256][4];
 int16_t xvid_FIR_3_1_0_0[256][4];


More information about the XviD-devel mailing list