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