static void store_slice_c(uint8_t *dst, const int16_t *src,

                          int dst_stride, int src_stride,

                          int width, int height, int log2_scale)

{

    int y, x;



#define STORE(pos) do {                                                     \

    temp = ((src[x + y * src_stride + pos] << log2_scale) + d[pos]) >> 8;   \

    if (temp & 0x100) temp = ~(temp >> 31);                                 \

    dst[x + y * dst_stride + pos] = temp;                                   \

} while (0)



    for (y = 0; y < height; y++) {

        const uint8_t *d = dither[y&7];

        for (x = 0; x < width; x += 8) {

            int temp;

            STORE(0);

            STORE(1);

            STORE(2);

            STORE(3);

            STORE(4);

            STORE(5);

            STORE(6);

            STORE(7);

        }

    }

}

static void store_slice_c(uint8_t *dst, const int16_t *src,

                          int dst_stride, int src_stride,

                          int width, int height, int log2_scale)

{

    int y, x;



#define STORE(pos) do {                                                     \

    temp = ((src[x + y * src_stride + pos] << log2_scale) + d[pos]) >> 8;   \

    if (temp & 0x100) temp = ~(temp >> 31);                                 \

    dst[x + y * dst_stride + pos] = temp;                                   \

} while (0)



    for (y = 0; y < height; y++) {

        const uint8_t *d = dither[y&7];

        for (x = 0; x < width; x += 8) {

            int temp;

            STORE(0);

            STORE(1);

            STORE(2);

            STORE(3);

            STORE(4);

            STORE(5);

            STORE(6);

            STORE(7);

        }

    }

}

static void store_slice_c(uint8_t *dst, const int16_t *src,
static void FUNC_0(uint8_t *VAR_0, const int16_t *VAR_1,

                          int VAR_2, int VAR_3,

                          int VAR_4, int VAR_5, int VAR_6)

{

    int VAR_7, VAR_8;



#define STORE(pos) do {                                                     \

    temp = ((VAR_1[VAR_8 + VAR_7 * VAR_3 + pos] << VAR_6) + d[pos]) >> 8;   \

    if (temp & 0x100) temp = ~(temp >> 31);                                 \

    VAR_0[VAR_8 + VAR_7 * VAR_2 + pos] = temp;                                   \

} while (0)



    for (VAR_7 = 0; VAR_7 < VAR_5; VAR_7++) {

        const uint8_t *d = dither[VAR_7&7];

        for (VAR_8 = 0; VAR_8 < VAR_4; VAR_8 += 8) {

            int temp;

            STORE(0);

            STORE(1);

            STORE(2);

            STORE(3);

            STORE(4);

            STORE(5);

            STORE(6);

            STORE(7);

        }

    }

}

static void FUNC_0(uint8_t *VAR_0, const int16_t *VAR_1,
int VAR_2, int VAR_3,
int VAR_4, int VAR_5, int VAR_6)
{ int VAR_7, VAR_8; #define STORE(pos) do {                                                     \ temp = ((VAR_1[VAR_8 + VAR_7 * VAR_3 + pos] << VAR_6) + d[pos]) >> 8;   \ if (temp & 0x100) temp = ~(temp >> 31);                                 \ VAR_0[VAR_8 + VAR_7 * VAR_2 + pos] = temp;                                   \ } while (0) for (VAR_7 = 0; VAR_7 < VAR_5; VAR_7++) { const uint8_t *d = dither[VAR_7&7]; for (VAR_8 = 0; VAR_8 < VAR_4; VAR_8 += 8) { int temp; STORE(0); STORE(1); STORE(2); STORE(3); STORE(4); STORE(5); STORE(6); STORE(7); } } }