diff mpegvideo.h @ 828:ace3ccd18dd2 libavcodec

Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
author michaelni
date Sat, 02 Nov 2002 11:28:08 +0000
parents 08423289ec57
children e460775adb38
line wrap: on
line diff
--- a/mpegvideo.h	Sat Nov 02 10:39:22 2002 +0000
+++ b/mpegvideo.h	Sat Nov 02 11:28:08 2002 +0000
@@ -103,6 +103,10 @@
     const UINT8 *scantable;
     UINT8 permutated[64];
     UINT8 raster_end[64];
+#ifdef ARCH_POWERPC
+		/* Used by dct_quantise_alitvec to find last-non-zero */
+    UINT8 __align8 inverse[64];
+#endif
 } ScanTable;
 
 typedef struct MpegEncContext {
@@ -287,8 +291,8 @@
     int min_qcoeff;          /* minimum encodable coefficient */
     int max_qcoeff;          /* maximum encodable coefficient */
     /* precomputed matrix (combine qscale and DCT renorm) */
-    int q_intra_matrix[32][64];
-    int q_inter_matrix[32][64];
+    int __align8 q_intra_matrix[32][64];
+    int __align8 q_inter_matrix[32][64];
     /* identical to the above but for MMX & these are not permutated */
     UINT16 __align8 q_intra_matrix16[32][64];
     UINT16 __align8 q_inter_matrix16[32][64];
@@ -296,7 +300,7 @@
     UINT16 __align8 q_inter_matrix16_bias[32][64];
     int block_last_index[6];  /* last non zero coefficient in block */
     /* scantables */
-    ScanTable intra_scantable;
+    ScanTable __align8 intra_scantable;
     ScanTable intra_h_scantable;
     ScanTable intra_v_scantable;
     ScanTable inter_scantable; // if inter == intra then intra should be used to reduce tha cache usage
@@ -535,6 +539,9 @@
 #ifdef HAVE_MMI
 void MPV_common_init_mmi(MpegEncContext *s);
 #endif
+#ifdef ARCH_POWERPC
+void MPV_common_init_ppc(MpegEncContext *s);
+#endif
 extern void (*draw_edges)(UINT8 *buf, int wrap, int width, int height, int w);
 void ff_conceal_past_errors(MpegEncContext *s, int conceal_all);
 void ff_copy_bits(PutBitContext *pb, UINT8 *src, int length);