comparison dsputil.c @ 866:725ef4ea3ecc libavcodec

huffyuv
author michaelni
date Thu, 14 Nov 2002 19:20:04 +0000
parents 243cc33da3eb
children 34943cb0c2fb
comparison
equal deleted inserted replaced
865:704f13bfc652 866:725ef4ea3ecc
1340 static void clear_blocks_c(DCTELEM *blocks) 1340 static void clear_blocks_c(DCTELEM *blocks)
1341 { 1341 {
1342 memset(blocks, 0, sizeof(DCTELEM)*6*64); 1342 memset(blocks, 0, sizeof(DCTELEM)*6*64);
1343 } 1343 }
1344 1344
1345 static void add_bytes_c(uint8_t *dst, uint8_t *src, int w){
1346 int i;
1347 for(i=0; i+7<w; i++){
1348 dst[i+0] += src[i+0];
1349 dst[i+1] += src[i+1];
1350 dst[i+2] += src[i+2];
1351 dst[i+3] += src[i+3];
1352 dst[i+4] += src[i+4];
1353 dst[i+5] += src[i+5];
1354 dst[i+6] += src[i+6];
1355 dst[i+7] += src[i+7];
1356 }
1357 for(; i<w; i++)
1358 dst[i+0] += src[i+0];
1359 }
1360
1361 static void diff_bytes_c(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w){
1362 int i;
1363 for(i=0; i+7<w; i++){
1364 dst[i+0] = src1[i+0]-src2[i+0];
1365 dst[i+1] = src1[i+1]-src2[i+1];
1366 dst[i+2] = src1[i+2]-src2[i+2];
1367 dst[i+3] = src1[i+3]-src2[i+3];
1368 dst[i+4] = src1[i+4]-src2[i+4];
1369 dst[i+5] = src1[i+5]-src2[i+5];
1370 dst[i+6] = src1[i+6]-src2[i+6];
1371 dst[i+7] = src1[i+7]-src2[i+7];
1372 }
1373 for(; i<w; i++)
1374 dst[i+0] = src1[i+0]-src2[i+0];
1375 }
1376
1345 void dsputil_init(DSPContext* c, unsigned mask) 1377 void dsputil_init(DSPContext* c, unsigned mask)
1346 { 1378 {
1347 static int init_done = 0; 1379 static int init_done = 0;
1348 int i; 1380 int i;
1349 1381
1428 dspfunc(put_no_rnd_qpel, 1, 8); 1460 dspfunc(put_no_rnd_qpel, 1, 8);
1429 1461
1430 dspfunc(avg_qpel, 1, 8); 1462 dspfunc(avg_qpel, 1, 8);
1431 /* dspfunc(avg_no_rnd_qpel, 1, 8); */ 1463 /* dspfunc(avg_no_rnd_qpel, 1, 8); */
1432 #undef dspfunc 1464 #undef dspfunc
1465
1466 c->add_bytes= add_bytes_c;
1467 c->diff_bytes= diff_bytes_c;
1433 1468
1434 #ifdef HAVE_MMX 1469 #ifdef HAVE_MMX
1435 dsputil_init_mmx(c, mask); 1470 dsputil_init_mmx(c, mask);
1436 if (ff_bit_exact) 1471 if (ff_bit_exact)
1437 { 1472 {