comparison dsputil.h @ 34:2733a4c1c693 libavcodec

added block permutation functions
author glantau
date Tue, 07 Aug 2001 22:43:19 +0000
parents 82d4c9be9873
children 4ea4c10d03d8
comparison
equal deleted inserted replaced
33:7cf705a32d1c 34:2733a4c1c693
12 void j_rev_dct (DCTELEM *data); 12 void j_rev_dct (DCTELEM *data);
13 13
14 void fdct_mmx(DCTELEM *block); 14 void fdct_mmx(DCTELEM *block);
15 15
16 void (*av_fdct)(DCTELEM *block); 16 void (*av_fdct)(DCTELEM *block);
17
18 /* encoding scans */
19 extern UINT8 ff_alternate_horizontal_scan[64];
20 extern UINT8 ff_alternate_vertical_scan[64];
21 extern UINT8 zigzag_direct[64];
17 22
18 /* pixel operations */ 23 /* pixel operations */
19 #define MAX_NEG_CROP 384 24 #define MAX_NEG_CROP 384
20 25
21 /* temporary */ 26 /* temporary */
60 int pix_abs16x16_c(UINT8 *blk1, UINT8 *blk2, int lx, int h); 65 int pix_abs16x16_c(UINT8 *blk1, UINT8 *blk2, int lx, int h);
61 int pix_abs16x16_x2_c(UINT8 *blk1, UINT8 *blk2, int lx, int h); 66 int pix_abs16x16_x2_c(UINT8 *blk1, UINT8 *blk2, int lx, int h);
62 int pix_abs16x16_y2_c(UINT8 *blk1, UINT8 *blk2, int lx, int h); 67 int pix_abs16x16_y2_c(UINT8 *blk1, UINT8 *blk2, int lx, int h);
63 int pix_abs16x16_xy2_c(UINT8 *blk1, UINT8 *blk2, int lx, int h); 68 int pix_abs16x16_xy2_c(UINT8 *blk1, UINT8 *blk2, int lx, int h);
64 69
70 static inline int block_permute_op(int j)
71 {
72 return (j & 0x38) | ((j & 6) >> 1) | ((j & 1) << 2);
73 }
74
75 void block_permute(INT16 *block);
76
65 #ifdef HAVE_MMX 77 #ifdef HAVE_MMX
66 78
67 #define MM_MMX 0x0001 /* standard MMX */ 79 #define MM_MMX 0x0001 /* standard MMX */
68 #define MM_3DNOW 0x0004 /* AMD 3DNOW */ 80 #define MM_3DNOW 0x0004 /* AMD 3DNOW */
69 #define MM_MMXEXT 0x0002 /* SSE integer functions or AMD MMX ext */ 81 #define MM_MMXEXT 0x0002 /* SSE integer functions or AMD MMX ext */