Mercurial > libavcodec.hg
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 */ |