Revision e8d00417

View differences:

libavcodec/armv4l/dsputil_iwmmxt.c
123 123
        : "cc", "memory", "r12");
124 124
}
125 125

  
126
static void clear_blocks_iwmmxt(DCTELEM *blocks)
127
{
128
    __asm __volatile(
129
                "wzero wr0                      \n\t"
130
                "mov r1, #(128 * 6 / 32)        \n\t"
131
                "1:                             \n\t"
132
                "wstrd wr0, [%0]                \n\t"
133
                "wstrd wr0, [%0, #8]            \n\t"
134
                "wstrd wr0, [%0, #16]           \n\t"
135
                "wstrd wr0, [%0, #24]           \n\t"
136
                "subs r1, r1, #1                \n\t"
137
                "add %0, %0, #32                \n\t"
138
                "bne 1b                         \n\t"
139
                : "+r"(blocks)
140
                :
141
                : "r1"
142
        );
143
}
144

  
126 145
static void nop(uint8_t *block, const uint8_t *pixels, int line_size, int h)
127 146
{
128 147
    return;
......
146 165

  
147 166
    c->add_pixels_clamped = add_pixels_clamped_iwmmxt;
148 167

  
168
    c->clear_blocks = clear_blocks_iwmmxt;
169

  
149 170
    c->put_pixels_tab[0][0] = put_pixels16_iwmmxt;
150 171
    c->put_pixels_tab[0][1] = put_pixels16_x2_iwmmxt;
151 172
    c->put_pixels_tab[0][2] = put_pixels16_y2_iwmmxt;

Also available in: Unified diff