Mercurial > libavcodec.hg
comparison dsputil.c @ 4240:e880555ad2c6 libavcodec
Move copy_block* functions to dsp dsputil.h
Patch by Brian Foley % bfoley A compsoc P nuigalway P ie %
Original thread:
Date: Nov 26, 2006 6:44 PM
Subject: Re: [Ffmpeg-devel] [PATCH] put_mpeg4_qpel16_h_lowpass altivec, take 2
author | gpoirier |
---|---|
date | Sun, 26 Nov 2006 18:25:07 +0000 |
parents | bbe0bc387a19 |
children | de525a2b41db |
comparison
equal
deleted
inserted
replaced
4239:30b14d0f2324 | 4240:e880555ad2c6 |
---|---|
1510 dst[7] = (A*src[7] + B*src[8] + C*src[stride+7] + D*src[stride+8] + 32 - 4) >> 6; | 1510 dst[7] = (A*src[7] + B*src[8] + C*src[stride+7] + D*src[stride+8] + 32 - 4) >> 6; |
1511 dst+= stride; | 1511 dst+= stride; |
1512 src+= stride; | 1512 src+= stride; |
1513 } | 1513 } |
1514 } | 1514 } |
1515 | |
1516 static inline void copy_block2(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) | |
1517 { | |
1518 int i; | |
1519 for(i=0; i<h; i++) | |
1520 { | |
1521 ST16(dst , LD16(src )); | |
1522 dst+=dstStride; | |
1523 src+=srcStride; | |
1524 } | |
1525 } | |
1526 | |
1527 static inline void copy_block4(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) | |
1528 { | |
1529 int i; | |
1530 for(i=0; i<h; i++) | |
1531 { | |
1532 ST32(dst , LD32(src )); | |
1533 dst+=dstStride; | |
1534 src+=srcStride; | |
1535 } | |
1536 } | |
1537 | |
1538 static inline void copy_block8(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) | |
1539 { | |
1540 int i; | |
1541 for(i=0; i<h; i++) | |
1542 { | |
1543 ST32(dst , LD32(src )); | |
1544 ST32(dst+4 , LD32(src+4 )); | |
1545 dst+=dstStride; | |
1546 src+=srcStride; | |
1547 } | |
1548 } | |
1549 | |
1550 static inline void copy_block16(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) | |
1551 { | |
1552 int i; | |
1553 for(i=0; i<h; i++) | |
1554 { | |
1555 ST32(dst , LD32(src )); | |
1556 ST32(dst+4 , LD32(src+4 )); | |
1557 ST32(dst+8 , LD32(src+8 )); | |
1558 ST32(dst+12, LD32(src+12)); | |
1559 dst+=dstStride; | |
1560 src+=srcStride; | |
1561 } | |
1562 } | |
1563 | |
1564 static inline void copy_block17(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) | |
1565 { | |
1566 int i; | |
1567 for(i=0; i<h; i++) | |
1568 { | |
1569 ST32(dst , LD32(src )); | |
1570 ST32(dst+4 , LD32(src+4 )); | |
1571 ST32(dst+8 , LD32(src+8 )); | |
1572 ST32(dst+12, LD32(src+12)); | |
1573 dst[16]= src[16]; | |
1574 dst+=dstStride; | |
1575 src+=srcStride; | |
1576 } | |
1577 } | |
1578 | |
1579 static inline void copy_block9(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h) | |
1580 { | |
1581 int i; | |
1582 for(i=0; i<h; i++) | |
1583 { | |
1584 ST32(dst , LD32(src )); | |
1585 ST32(dst+4 , LD32(src+4 )); | |
1586 dst[8]= src[8]; | |
1587 dst+=dstStride; | |
1588 src+=srcStride; | |
1589 } | |
1590 } | |
1591 | |
1592 | 1515 |
1593 #define QPEL_MC(r, OPNAME, RND, OP) \ | 1516 #define QPEL_MC(r, OPNAME, RND, OP) \ |
1594 static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\ | 1517 static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\ |
1595 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ | 1518 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
1596 int i;\ | 1519 int i;\ |