aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mpegvideo.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2002-11-02 11:28:08 +0000
committerMichael Niedermayer <michaelni@gmx.at>2002-11-02 11:28:08 +0000
commit05c4072b45f3cde1185de6eccfe7febf91d9f8fd (patch)
tree164979e7e556e44f5678d5599a40810bbf89fed8 /libavcodec/mpegvideo.h
parent26b35efb3a0d02a1ef6a8af804e6c59c1a190fa3 (diff)
downloadffmpeg-05c4072b45f3cde1185de6eccfe7febf91d9f8fd.tar.gz
Altivec Patch (Mark III) by (Dieter Shirley <dieters at schemasoft dot com>)
Originally committed as revision 1147 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.h')
-rw-r--r--libavcodec/mpegvideo.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index 272f75cfe0..631db8973a 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -103,6 +103,10 @@ typedef struct ScanTable{
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 @@ typedef struct MpegEncContext {
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 @@ typedef struct MpegEncContext {
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 @@ void MPV_common_init_mlib(MpegEncContext *s);
#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);