Diff of /ppc/swscale_altivec_template.c [bfb6f3] .. [39cfab]  Maximize  Restore

  Switch to unified view

a/ppc/swscale_altivec_template.c b/ppc/swscale_altivec_template.c
...
...
90
                      uint8_t *dest, uint8_t *uDest, uint8_t *vDest, int dstW, int chrDstW)
90
                      uint8_t *dest, uint8_t *uDest, uint8_t *vDest, int dstW, int chrDstW)
91
{
91
{
92
    const vector signed int vini = {(1 << 18), (1 << 18), (1 << 18), (1 << 18)};
92
    const vector signed int vini = {(1 << 18), (1 << 18), (1 << 18), (1 << 18)};
93
    register int i, j;
93
    register int i, j;
94
    {
94
    {
95
        int __attribute__ ((aligned (16))) val[dstW];
95
        DECLARE_ALIGNED(16, int, val[dstW]);
96
96
97
        for (i = 0; i < (dstW -7); i+=4) {
97
        for (i = 0; i < (dstW -7); i+=4) {
98
            vec_st(vini, i << 2, val);
98
            vec_st(vini, i << 2, val);
99
        }
99
        }
100
        for (; i < dstW; i++) {
100
        for (; i < dstW; i++) {
...
...
138
            }
138
            }
139
        }
139
        }
140
        altivec_packIntArrayToCharArray(val, dest, dstW);
140
        altivec_packIntArrayToCharArray(val, dest, dstW);
141
    }
141
    }
142
    if (uDest != 0) {
142
    if (uDest != 0) {
143
        int  __attribute__ ((aligned (16))) u[chrDstW];
143
        DECLARE_ALIGNED(16, int, u[chrDstW]);
144
        int  __attribute__ ((aligned (16))) v[chrDstW];
144
        DECLARE_ALIGNED(16, int, v[chrDstW]);
145
145
146
        for (i = 0; i < (chrDstW -7); i+=4) {
146
        for (i = 0; i < (chrDstW -7); i+=4) {
147
            vec_st(vini, i << 2, u);
147
            vec_st(vini, i << 2, u);
148
            vec_st(vini, i << 2, v);
148
            vec_st(vini, i << 2, v);
149
        }
149
        }
...
...
212
                                       const uint8_t *src, int srcW,
212
                                       const uint8_t *src, int srcW,
213
                                       int xInc, const int16_t *filter,
213
                                       int xInc, const int16_t *filter,
214
                                       const int16_t *filterPos, int filterSize)
214
                                       const int16_t *filterPos, int filterSize)
215
{
215
{
216
    register int i;
216
    register int i;
217
    int __attribute__ ((aligned (16))) tempo[4];
217
    DECLARE_ALIGNED(16, int, tempo[4]);
218
218
219
    if (filterSize % 4) {
219
    if (filterSize % 4) {
220
        for (i=0; i<dstW; i++) {
220
        for (i=0; i<dstW; i++) {
221
            register int j;
221
            register int j;
222
            register int srcPos = filterPos[i];
222
            register int srcPos = filterPos[i];

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks