Mercurial > libavcodec.hg
comparison dsputil.c @ 4176:23da44e8fd05 libavcodec
rename cropTbl -> ff_cropTbl
author | mru |
---|---|
date | Sun, 12 Nov 2006 20:08:09 +0000 |
parents | 8535fcac43c1 |
children | 46d38e3d7038 |
comparison
equal
deleted
inserted
replaced
4175:b3328ed50a5e | 4176:23da44e8fd05 |
---|---|
38 void ff_spatial_dwt(int *buffer, int width, int height, int stride, int type, int decomposition_count); | 38 void ff_spatial_dwt(int *buffer, int width, int height, int stride, int type, int decomposition_count); |
39 | 39 |
40 /* vorbis.c */ | 40 /* vorbis.c */ |
41 void vorbis_inverse_coupling(float *mag, float *ang, int blocksize); | 41 void vorbis_inverse_coupling(float *mag, float *ang, int blocksize); |
42 | 42 |
43 uint8_t cropTbl[256 + 2 * MAX_NEG_CROP] = {0, }; | 43 uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP] = {0, }; |
44 uint32_t squareTbl[512] = {0, }; | 44 uint32_t squareTbl[512] = {0, }; |
45 | 45 |
46 const uint8_t ff_zigzag_direct[64] = { | 46 const uint8_t ff_zigzag_direct[64] = { |
47 0, 1, 8, 16, 9, 2, 3, 10, | 47 0, 1, 8, 16, 9, 2, 3, 10, |
48 17, 24, 32, 25, 18, 11, 4, 5, | 48 17, 24, 32, 25, 18, 11, 4, 5, |
434 | 434 |
435 static void put_pixels_clamped_c(const DCTELEM *block, uint8_t *restrict pixels, | 435 static void put_pixels_clamped_c(const DCTELEM *block, uint8_t *restrict pixels, |
436 int line_size) | 436 int line_size) |
437 { | 437 { |
438 int i; | 438 int i; |
439 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 439 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
440 | 440 |
441 /* read the pixels */ | 441 /* read the pixels */ |
442 for(i=0;i<8;i++) { | 442 for(i=0;i<8;i++) { |
443 pixels[0] = cm[block[0]]; | 443 pixels[0] = cm[block[0]]; |
444 pixels[1] = cm[block[1]]; | 444 pixels[1] = cm[block[1]]; |
456 | 456 |
457 static void put_pixels_clamped4_c(const DCTELEM *block, uint8_t *restrict pixels, | 457 static void put_pixels_clamped4_c(const DCTELEM *block, uint8_t *restrict pixels, |
458 int line_size) | 458 int line_size) |
459 { | 459 { |
460 int i; | 460 int i; |
461 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 461 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
462 | 462 |
463 /* read the pixels */ | 463 /* read the pixels */ |
464 for(i=0;i<4;i++) { | 464 for(i=0;i<4;i++) { |
465 pixels[0] = cm[block[0]]; | 465 pixels[0] = cm[block[0]]; |
466 pixels[1] = cm[block[1]]; | 466 pixels[1] = cm[block[1]]; |
474 | 474 |
475 static void put_pixels_clamped2_c(const DCTELEM *block, uint8_t *restrict pixels, | 475 static void put_pixels_clamped2_c(const DCTELEM *block, uint8_t *restrict pixels, |
476 int line_size) | 476 int line_size) |
477 { | 477 { |
478 int i; | 478 int i; |
479 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 479 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
480 | 480 |
481 /* read the pixels */ | 481 /* read the pixels */ |
482 for(i=0;i<2;i++) { | 482 for(i=0;i<2;i++) { |
483 pixels[0] = cm[block[0]]; | 483 pixels[0] = cm[block[0]]; |
484 pixels[1] = cm[block[1]]; | 484 pixels[1] = cm[block[1]]; |
511 | 511 |
512 static void add_pixels_clamped_c(const DCTELEM *block, uint8_t *restrict pixels, | 512 static void add_pixels_clamped_c(const DCTELEM *block, uint8_t *restrict pixels, |
513 int line_size) | 513 int line_size) |
514 { | 514 { |
515 int i; | 515 int i; |
516 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 516 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
517 | 517 |
518 /* read the pixels */ | 518 /* read the pixels */ |
519 for(i=0;i<8;i++) { | 519 for(i=0;i<8;i++) { |
520 pixels[0] = cm[pixels[0] + block[0]]; | 520 pixels[0] = cm[pixels[0] + block[0]]; |
521 pixels[1] = cm[pixels[1] + block[1]]; | 521 pixels[1] = cm[pixels[1] + block[1]]; |
532 | 532 |
533 static void add_pixels_clamped4_c(const DCTELEM *block, uint8_t *restrict pixels, | 533 static void add_pixels_clamped4_c(const DCTELEM *block, uint8_t *restrict pixels, |
534 int line_size) | 534 int line_size) |
535 { | 535 { |
536 int i; | 536 int i; |
537 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 537 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
538 | 538 |
539 /* read the pixels */ | 539 /* read the pixels */ |
540 for(i=0;i<4;i++) { | 540 for(i=0;i<4;i++) { |
541 pixels[0] = cm[pixels[0] + block[0]]; | 541 pixels[0] = cm[pixels[0] + block[0]]; |
542 pixels[1] = cm[pixels[1] + block[1]]; | 542 pixels[1] = cm[pixels[1] + block[1]]; |
549 | 549 |
550 static void add_pixels_clamped2_c(const DCTELEM *block, uint8_t *restrict pixels, | 550 static void add_pixels_clamped2_c(const DCTELEM *block, uint8_t *restrict pixels, |
551 int line_size) | 551 int line_size) |
552 { | 552 { |
553 int i; | 553 int i; |
554 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 554 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
555 | 555 |
556 /* read the pixels */ | 556 /* read the pixels */ |
557 for(i=0;i<2;i++) { | 557 for(i=0;i<2;i++) { |
558 pixels[0] = cm[pixels[0] + block[0]]; | 558 pixels[0] = cm[pixels[0] + block[0]]; |
559 pixels[1] = cm[pixels[1] + block[1]]; | 559 pixels[1] = cm[pixels[1] + block[1]]; |
1590 } | 1590 } |
1591 | 1591 |
1592 | 1592 |
1593 #define QPEL_MC(r, OPNAME, RND, OP) \ | 1593 #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){\ | 1594 static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\ |
1595 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 1595 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
1596 int i;\ | 1596 int i;\ |
1597 for(i=0; i<h; i++)\ | 1597 for(i=0; i<h; i++)\ |
1598 {\ | 1598 {\ |
1599 OP(dst[0], (src[0]+src[1])*20 - (src[0]+src[2])*6 + (src[1]+src[3])*3 - (src[2]+src[4]));\ | 1599 OP(dst[0], (src[0]+src[1])*20 - (src[0]+src[2])*6 + (src[1]+src[3])*3 - (src[2]+src[4]));\ |
1600 OP(dst[1], (src[1]+src[2])*20 - (src[0]+src[3])*6 + (src[0]+src[4])*3 - (src[1]+src[5]));\ | 1600 OP(dst[1], (src[1]+src[2])*20 - (src[0]+src[3])*6 + (src[0]+src[4])*3 - (src[1]+src[5]));\ |
1609 }\ | 1609 }\ |
1610 }\ | 1610 }\ |
1611 \ | 1611 \ |
1612 static void OPNAME ## mpeg4_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ | 1612 static void OPNAME ## mpeg4_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ |
1613 const int w=8;\ | 1613 const int w=8;\ |
1614 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 1614 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
1615 int i;\ | 1615 int i;\ |
1616 for(i=0; i<w; i++)\ | 1616 for(i=0; i<w; i++)\ |
1617 {\ | 1617 {\ |
1618 const int src0= src[0*srcStride];\ | 1618 const int src0= src[0*srcStride];\ |
1619 const int src1= src[1*srcStride];\ | 1619 const int src1= src[1*srcStride];\ |
1636 src++;\ | 1636 src++;\ |
1637 }\ | 1637 }\ |
1638 }\ | 1638 }\ |
1639 \ | 1639 \ |
1640 static void OPNAME ## mpeg4_qpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\ | 1640 static void OPNAME ## mpeg4_qpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\ |
1641 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 1641 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
1642 int i;\ | 1642 int i;\ |
1643 \ | 1643 \ |
1644 for(i=0; i<h; i++)\ | 1644 for(i=0; i<h; i++)\ |
1645 {\ | 1645 {\ |
1646 OP(dst[ 0], (src[ 0]+src[ 1])*20 - (src[ 0]+src[ 2])*6 + (src[ 1]+src[ 3])*3 - (src[ 2]+src[ 4]));\ | 1646 OP(dst[ 0], (src[ 0]+src[ 1])*20 - (src[ 0]+src[ 2])*6 + (src[ 1]+src[ 3])*3 - (src[ 2]+src[ 4]));\ |
1663 src+=srcStride;\ | 1663 src+=srcStride;\ |
1664 }\ | 1664 }\ |
1665 }\ | 1665 }\ |
1666 \ | 1666 \ |
1667 static void OPNAME ## mpeg4_qpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ | 1667 static void OPNAME ## mpeg4_qpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ |
1668 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 1668 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
1669 int i;\ | 1669 int i;\ |
1670 const int w=16;\ | 1670 const int w=16;\ |
1671 for(i=0; i<w; i++)\ | 1671 for(i=0; i<w; i++)\ |
1672 {\ | 1672 {\ |
1673 const int src0= src[0*srcStride];\ | 1673 const int src0= src[0*srcStride];\ |
2089 | 2089 |
2090 #if 1 | 2090 #if 1 |
2091 #define H264_LOWPASS(OPNAME, OP, OP2) \ | 2091 #define H264_LOWPASS(OPNAME, OP, OP2) \ |
2092 static void OPNAME ## h264_qpel2_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ | 2092 static void OPNAME ## h264_qpel2_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ |
2093 const int h=2;\ | 2093 const int h=2;\ |
2094 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 2094 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
2095 int i;\ | 2095 int i;\ |
2096 for(i=0; i<h; i++)\ | 2096 for(i=0; i<h; i++)\ |
2097 {\ | 2097 {\ |
2098 OP(dst[0], (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]));\ | 2098 OP(dst[0], (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]));\ |
2099 OP(dst[1], (src[1]+src[2])*20 - (src[0 ]+src[3])*5 + (src[-1]+src[4]));\ | 2099 OP(dst[1], (src[1]+src[2])*20 - (src[0 ]+src[3])*5 + (src[-1]+src[4]));\ |
2102 }\ | 2102 }\ |
2103 }\ | 2103 }\ |
2104 \ | 2104 \ |
2105 static void OPNAME ## h264_qpel2_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ | 2105 static void OPNAME ## h264_qpel2_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ |
2106 const int w=2;\ | 2106 const int w=2;\ |
2107 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 2107 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
2108 int i;\ | 2108 int i;\ |
2109 for(i=0; i<w; i++)\ | 2109 for(i=0; i<w; i++)\ |
2110 {\ | 2110 {\ |
2111 const int srcB= src[-2*srcStride];\ | 2111 const int srcB= src[-2*srcStride];\ |
2112 const int srcA= src[-1*srcStride];\ | 2112 const int srcA= src[-1*srcStride];\ |
2123 }\ | 2123 }\ |
2124 \ | 2124 \ |
2125 static void OPNAME ## h264_qpel2_hv_lowpass(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\ | 2125 static void OPNAME ## h264_qpel2_hv_lowpass(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\ |
2126 const int h=2;\ | 2126 const int h=2;\ |
2127 const int w=2;\ | 2127 const int w=2;\ |
2128 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 2128 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
2129 int i;\ | 2129 int i;\ |
2130 src -= 2*srcStride;\ | 2130 src -= 2*srcStride;\ |
2131 for(i=0; i<h+5; i++)\ | 2131 for(i=0; i<h+5; i++)\ |
2132 {\ | 2132 {\ |
2133 tmp[0]= (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]);\ | 2133 tmp[0]= (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]);\ |
2151 tmp++;\ | 2151 tmp++;\ |
2152 }\ | 2152 }\ |
2153 }\ | 2153 }\ |
2154 static void OPNAME ## h264_qpel4_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ | 2154 static void OPNAME ## h264_qpel4_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ |
2155 const int h=4;\ | 2155 const int h=4;\ |
2156 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 2156 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
2157 int i;\ | 2157 int i;\ |
2158 for(i=0; i<h; i++)\ | 2158 for(i=0; i<h; i++)\ |
2159 {\ | 2159 {\ |
2160 OP(dst[0], (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]));\ | 2160 OP(dst[0], (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]));\ |
2161 OP(dst[1], (src[1]+src[2])*20 - (src[0 ]+src[3])*5 + (src[-1]+src[4]));\ | 2161 OP(dst[1], (src[1]+src[2])*20 - (src[0 ]+src[3])*5 + (src[-1]+src[4]));\ |
2166 }\ | 2166 }\ |
2167 }\ | 2167 }\ |
2168 \ | 2168 \ |
2169 static void OPNAME ## h264_qpel4_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ | 2169 static void OPNAME ## h264_qpel4_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ |
2170 const int w=4;\ | 2170 const int w=4;\ |
2171 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 2171 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
2172 int i;\ | 2172 int i;\ |
2173 for(i=0; i<w; i++)\ | 2173 for(i=0; i<w; i++)\ |
2174 {\ | 2174 {\ |
2175 const int srcB= src[-2*srcStride];\ | 2175 const int srcB= src[-2*srcStride];\ |
2176 const int srcA= src[-1*srcStride];\ | 2176 const int srcA= src[-1*srcStride];\ |
2191 }\ | 2191 }\ |
2192 \ | 2192 \ |
2193 static void OPNAME ## h264_qpel4_hv_lowpass(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\ | 2193 static void OPNAME ## h264_qpel4_hv_lowpass(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\ |
2194 const int h=4;\ | 2194 const int h=4;\ |
2195 const int w=4;\ | 2195 const int w=4;\ |
2196 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 2196 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
2197 int i;\ | 2197 int i;\ |
2198 src -= 2*srcStride;\ | 2198 src -= 2*srcStride;\ |
2199 for(i=0; i<h+5; i++)\ | 2199 for(i=0; i<h+5; i++)\ |
2200 {\ | 2200 {\ |
2201 tmp[0]= (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]);\ | 2201 tmp[0]= (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]);\ |
2226 }\ | 2226 }\ |
2227 }\ | 2227 }\ |
2228 \ | 2228 \ |
2229 static void OPNAME ## h264_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ | 2229 static void OPNAME ## h264_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ |
2230 const int h=8;\ | 2230 const int h=8;\ |
2231 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 2231 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
2232 int i;\ | 2232 int i;\ |
2233 for(i=0; i<h; i++)\ | 2233 for(i=0; i<h; i++)\ |
2234 {\ | 2234 {\ |
2235 OP(dst[0], (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3 ]));\ | 2235 OP(dst[0], (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3 ]));\ |
2236 OP(dst[1], (src[1]+src[2])*20 - (src[0 ]+src[3])*5 + (src[-1]+src[4 ]));\ | 2236 OP(dst[1], (src[1]+src[2])*20 - (src[0 ]+src[3])*5 + (src[-1]+src[4 ]));\ |
2245 }\ | 2245 }\ |
2246 }\ | 2246 }\ |
2247 \ | 2247 \ |
2248 static void OPNAME ## h264_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ | 2248 static void OPNAME ## h264_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ |
2249 const int w=8;\ | 2249 const int w=8;\ |
2250 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 2250 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
2251 int i;\ | 2251 int i;\ |
2252 for(i=0; i<w; i++)\ | 2252 for(i=0; i<w; i++)\ |
2253 {\ | 2253 {\ |
2254 const int srcB= src[-2*srcStride];\ | 2254 const int srcB= src[-2*srcStride];\ |
2255 const int srcA= src[-1*srcStride];\ | 2255 const int srcA= src[-1*srcStride];\ |
2278 }\ | 2278 }\ |
2279 \ | 2279 \ |
2280 static void OPNAME ## h264_qpel8_hv_lowpass(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\ | 2280 static void OPNAME ## h264_qpel8_hv_lowpass(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\ |
2281 const int h=8;\ | 2281 const int h=8;\ |
2282 const int w=8;\ | 2282 const int w=8;\ |
2283 uint8_t *cm = cropTbl + MAX_NEG_CROP;\ | 2283 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\ |
2284 int i;\ | 2284 int i;\ |
2285 src -= 2*srcStride;\ | 2285 src -= 2*srcStride;\ |
2286 for(i=0; i<h+5; i++)\ | 2286 for(i=0; i<h+5; i++)\ |
2287 {\ | 2287 {\ |
2288 tmp[0]= (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3 ]);\ | 2288 tmp[0]= (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3 ]);\ |
2580 #undef op_scale1 | 2580 #undef op_scale1 |
2581 #undef op_scale2 | 2581 #undef op_scale2 |
2582 #undef H264_WEIGHT | 2582 #undef H264_WEIGHT |
2583 | 2583 |
2584 static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){ | 2584 static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){ |
2585 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 2585 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
2586 int i; | 2586 int i; |
2587 | 2587 |
2588 for(i=0; i<h; i++){ | 2588 for(i=0; i<h; i++){ |
2589 dst[0]= cm[(9*(src[0] + src[1]) - (src[-1] + src[2]) + 8)>>4]; | 2589 dst[0]= cm[(9*(src[0] + src[1]) - (src[-1] + src[2]) + 8)>>4]; |
2590 dst[1]= cm[(9*(src[1] + src[2]) - (src[ 0] + src[3]) + 8)>>4]; | 2590 dst[1]= cm[(9*(src[1] + src[2]) - (src[ 0] + src[3]) + 8)>>4]; |
2625 put_pixels8_c(dst, src, stride, 8); | 2625 put_pixels8_c(dst, src, stride, 8); |
2626 } | 2626 } |
2627 #endif /* CONFIG_VC1_DECODER||CONFIG_WMV3_DECODER */ | 2627 #endif /* CONFIG_VC1_DECODER||CONFIG_WMV3_DECODER */ |
2628 | 2628 |
2629 static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int w){ | 2629 static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int w){ |
2630 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 2630 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
2631 int i; | 2631 int i; |
2632 | 2632 |
2633 for(i=0; i<w; i++){ | 2633 for(i=0; i<w; i++){ |
2634 const int src_1= src[ -srcStride]; | 2634 const int src_1= src[ -srcStride]; |
2635 const int src0 = src[0 ]; | 2635 const int src0 = src[0 ]; |
3845 add_pixels_clamped2_c(block, dest, line_size); | 3845 add_pixels_clamped2_c(block, dest, line_size); |
3846 } | 3846 } |
3847 | 3847 |
3848 static void ff_jref_idct1_put(uint8_t *dest, int line_size, DCTELEM *block) | 3848 static void ff_jref_idct1_put(uint8_t *dest, int line_size, DCTELEM *block) |
3849 { | 3849 { |
3850 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 3850 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
3851 | 3851 |
3852 dest[0] = cm[(block[0] + 4)>>3]; | 3852 dest[0] = cm[(block[0] + 4)>>3]; |
3853 } | 3853 } |
3854 static void ff_jref_idct1_add(uint8_t *dest, int line_size, DCTELEM *block) | 3854 static void ff_jref_idct1_add(uint8_t *dest, int line_size, DCTELEM *block) |
3855 { | 3855 { |
3856 uint8_t *cm = cropTbl + MAX_NEG_CROP; | 3856 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; |
3857 | 3857 |
3858 dest[0] = cm[dest[0] + ((block[0] + 4)>>3)]; | 3858 dest[0] = cm[dest[0] + ((block[0] + 4)>>3)]; |
3859 } | 3859 } |
3860 | 3860 |
3861 static void just_return() { return; } | 3861 static void just_return() { return; } |
3863 /* init static data */ | 3863 /* init static data */ |
3864 void dsputil_static_init(void) | 3864 void dsputil_static_init(void) |
3865 { | 3865 { |
3866 int i; | 3866 int i; |
3867 | 3867 |
3868 for(i=0;i<256;i++) cropTbl[i + MAX_NEG_CROP] = i; | 3868 for(i=0;i<256;i++) ff_cropTbl[i + MAX_NEG_CROP] = i; |
3869 for(i=0;i<MAX_NEG_CROP;i++) { | 3869 for(i=0;i<MAX_NEG_CROP;i++) { |
3870 cropTbl[i] = 0; | 3870 ff_cropTbl[i] = 0; |
3871 cropTbl[i + MAX_NEG_CROP + 256] = 255; | 3871 ff_cropTbl[i + MAX_NEG_CROP + 256] = 255; |
3872 } | 3872 } |
3873 | 3873 |
3874 for(i=0;i<512;i++) { | 3874 for(i=0;i<512;i++) { |
3875 squareTbl[i] = (i - 256) * (i - 256); | 3875 squareTbl[i] = (i - 256) * (i - 256); |
3876 } | 3876 } |