diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2002-11-02 11:28:08 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2002-11-02 11:28:08 +0000 |
commit | 05c4072b45f3cde1185de6eccfe7febf91d9f8fd (patch) | |
tree | 164979e7e556e44f5678d5599a40810bbf89fed8 /libavcodec/mpegvideo.h | |
parent | 26b35efb3a0d02a1ef6a8af804e6c59c1a190fa3 (diff) | |
download | ffmpeg-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.h | 13 |
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); |