comparison simple_idct.c @ 642:4263629270c8 libavcodec

10l (compilation if defined ARCH_ALPHA)
author michaelni
date Mon, 02 Sep 2002 17:08:40 +0000
parents e7b72c1dfa1b
children 2b7ff6dfee35
comparison
equal deleted inserted replaced
641:eaa9ef2e2557 642:4263629270c8
171 row[7] = (a0 - b0) >> ROW_SHIFT; 171 row[7] = (a0 - b0) >> ROW_SHIFT;
172 172
173 return 2; 173 return 2;
174 } 174 }
175 175
176 inline static void idctSparseCol(int16_t *col) 176 inline static void idctSparseCol2(int16_t *col)
177 { 177 {
178 int a0, a1, a2, a3, b0, b1, b2, b3; 178 int a0, a1, a2, a3, b0, b1, b2, b3;
179 179
180 col[0] += (1 << (COL_SHIFT - 1)) / W4; 180 col[0] += (1 << (COL_SHIFT - 1)) / W4;
181 181
484 } 484 }
485 485
486 static inline void idctSparseCol (int16_t * col) 486 static inline void idctSparseCol (int16_t * col)
487 { 487 {
488 int a0, a1, a2, a3, b0, b1, b2, b3; 488 int a0, a1, a2, a3, b0, b1, b2, b3;
489 UINT8 *cm = cropTbl + MAX_NEG_CROP;
490 489
491 /* XXX: I did that only to give same values as previous code */ 490 /* XXX: I did that only to give same values as previous code */
492 a0 = W4 * (col[8*0] + ((1<<(COL_SHIFT-1))/W4)); 491 a0 = W4 * (col[8*0] + ((1<<(COL_SHIFT-1))/W4));
493 a1 = a0; 492 a1 = a0;
494 a2 = a0; 493 a2 = a0;
595 if (rowsZero) { 594 if (rowsZero) {
596 idctCol2(block); 595 idctCol2(block);
597 } else if (rowsConstant) { 596 } else if (rowsConstant) {
598 uint64_t *lblock = (uint64_t *) block; 597 uint64_t *lblock = (uint64_t *) block;
599 598
600 idctSparseCol(block); 599 idctSparseCol2(block);
601 for (i = 0; i < 8; i++) { 600 for (i = 0; i < 8; i++) {
602 uint64_t v = (uint16_t) block[i * 8]; 601 uint64_t v = (uint16_t) block[i * 8];
603 602
604 v += v << 16; 603 v += v << 16;
605 v += v << 32; 604 v += v << 32;
607 lblock[1] = v; 606 lblock[1] = v;
608 lblock += 2; 607 lblock += 2;
609 } 608 }
610 } else { 609 } else {
611 for (i = 0; i < 8; i++) 610 for (i = 0; i < 8; i++)
612 idctSparseCol(block + i); 611 idctSparseCol2(block + i);
613 } 612 }
614 } 613 }
615 614
616 /* XXX: suppress this mess */ 615 /* XXX: suppress this mess */
617 void simple_idct_put(UINT8 *dest, int line_size, DCTELEM *block) 616 void simple_idct_put(UINT8 *dest, int line_size, DCTELEM *block)