static void blur(CoverContext *cover, AVFrame *in, int offx, int offy)

{

    int x, y, p;



    for (p=0; p<3; p++) {

        int ox = offx>>!!p;

        int oy = offy>>!!p;

        int stride = in->linesize[p];

        uint8_t *data = in->data[p] + ox + oy * stride;

        int w = FF_CEIL_RSHIFT(cover->width , !!p);

        int h = FF_CEIL_RSHIFT(cover->height, !!p);

        int iw = FF_CEIL_RSHIFT(in->width , !!p);

        int ih = FF_CEIL_RSHIFT(in->height, !!p);

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

            for (x = 0; x < w; x++) {

                int c = 0;

                int s = 0;

                if (ox) {

                    int scale = 65536 / (x + 1);

                    s += data[-1 + y*stride] * scale;

                    c += scale;

                }

                if (oy) {

                    int scale = 65536 / (y + 1);

                    s += data[x - stride] * scale;

                    c += scale;

                }

                if (ox + w < iw) {

                    int scale = 65536 / (w - x);

                    s += data[w + y*stride] * scale;

                    c += scale;

                }

                if (oy + h < ih) {

                    int scale = 65536 / (h - y);

                    s += data[x + h*stride] * scale;

                    c += scale;

                }

                data[x + y*stride] = (s + (c>>1)) / c;

            }

        }

    }

}

static void blur(CoverContext *cover, AVFrame *in, int offx, int offy)

{

    int x, y, p;



    for (p=0; p<3; p++) {

        int ox = offx>>!!p;

        int oy = offy>>!!p;

        int stride = in->linesize[p];

        uint8_t *data = in->data[p] + ox + oy * stride;

        int w = FF_CEIL_RSHIFT(cover->width , !!p);

        int h = FF_CEIL_RSHIFT(cover->height, !!p);

        int iw = FF_CEIL_RSHIFT(in->width , !!p);

        int ih = FF_CEIL_RSHIFT(in->height, !!p);

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

            for (x = 0; x < w; x++) {

                int c = 0;

                int s = 0;

                if (ox) {

                    int scale = 65536 / (x + 1);

                    s += data[-1 + y*stride] * scale;

                    c += scale;

                }

                if (oy) {

                    int scale = 65536 / (y + 1);

                    s += data[x - stride] * scale;

                    c += scale;

                }

                if (ox + w < iw) {

                    int scale = 65536 / (w - x);

                    s += data[w + y*stride] * scale;

                    c += scale;

                }

                if (oy + h < ih) {

                    int scale = 65536 / (h - y);

                    s += data[x + h*stride] * scale;

                    c += scale;

                }

                data[x + y*stride] = (s + (c>>1)) / c;

            }

        }

    }

}

                data[x + y*stride] = (s + (c>>1)) / c;
static void FUNC_0(CoverContext *VAR_0, AVFrame *VAR_1, int VAR_2, int VAR_3)

{

    int VAR_4, VAR_5, VAR_6;



    for (VAR_6=0; VAR_6<3; VAR_6++) {

        int VAR_7 = VAR_2>>!!VAR_6;

        int VAR_8 = VAR_3>>!!VAR_6;

        int VAR_9 = VAR_1->linesize[VAR_6];

        uint8_t *data = VAR_1->data[VAR_6] + VAR_7 + VAR_8 * VAR_9;

        int VAR_10 = FF_CEIL_RSHIFT(VAR_0->width , !!VAR_6);

        int VAR_11 = FF_CEIL_RSHIFT(VAR_0->height, !!VAR_6);

        int VAR_12 = FF_CEIL_RSHIFT(VAR_1->width , !!VAR_6);

        int VAR_13 = FF_CEIL_RSHIFT(VAR_1->height, !!VAR_6);

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

            for (VAR_4 = 0; VAR_4 < VAR_10; VAR_4++) {

                int VAR_14 = 0;

                int VAR_15 = 0;

                if (VAR_7) {

                    int VAR_17 = 65536 / (VAR_4 + 1);

                    VAR_15 += data[-1 + VAR_5*VAR_9] * VAR_17;

                    VAR_14 += VAR_17;

                }

                if (VAR_8) {

                    int VAR_17 = 65536 / (VAR_5 + 1);

                    VAR_15 += data[VAR_4 - VAR_9] * VAR_17;

                    VAR_14 += VAR_17;

                }

                if (VAR_7 + VAR_10 < VAR_12) {

                    int VAR_17 = 65536 / (VAR_10 - VAR_4);

                    VAR_15 += data[VAR_10 + VAR_5*VAR_9] * VAR_17;

                    VAR_14 += VAR_17;

                }

                if (VAR_8 + VAR_11 < VAR_13) {

                    int VAR_17 = 65536 / (VAR_11 - VAR_5);

                    VAR_15 += data[VAR_4 + VAR_11*VAR_9] * VAR_17;

                    VAR_14 += VAR_17;

                }

                data[VAR_4 + VAR_5*VAR_9] = (VAR_15 + (VAR_14>>1)) / VAR_14;

            }

        }

    }

}

static void FUNC_0(CoverContext *VAR_0, AVFrame *VAR_1, int VAR_2, int VAR_3)
{ int VAR_4, VAR_5, VAR_6; for (VAR_6=0; VAR_6<3; VAR_6++) { int VAR_7 = VAR_2>>!!VAR_6; int VAR_8 = VAR_3>>!!VAR_6; int VAR_9 = VAR_1->linesize[VAR_6]; uint8_t *data = VAR_1->data[VAR_6] + VAR_7 + VAR_8 * VAR_9; int VAR_10 = FF_CEIL_RSHIFT(VAR_0->width , !!VAR_6); int VAR_11 = FF_CEIL_RSHIFT(VAR_0->height, !!VAR_6); int VAR_12 = FF_CEIL_RSHIFT(VAR_1->width , !!VAR_6); int VAR_13 = FF_CEIL_RSHIFT(VAR_1->height, !!VAR_6); for (VAR_5 = 0; VAR_5 < VAR_11; VAR_5++) { for (VAR_4 = 0; VAR_4 < VAR_10; VAR_4++) { int VAR_14 = 0; int VAR_15 = 0; if (VAR_7) { int VAR_17 = 65536 / (VAR_4 + 1); VAR_15 += data[-1 + VAR_5*VAR_9] * VAR_17; VAR_14 += VAR_17; } if (VAR_8) { int VAR_17 = 65536 / (VAR_5 + 1); VAR_15 += data[VAR_4 - VAR_9] * VAR_17; VAR_14 += VAR_17; } if (VAR_7 + VAR_10 < VAR_12) { int VAR_17 = 65536 / (VAR_10 - VAR_4); VAR_15 += data[VAR_10 + VAR_5*VAR_9] * VAR_17; VAR_14 += VAR_17; } if (VAR_8 + VAR_11 < VAR_13) { int VAR_17 = 65536 / (VAR_11 - VAR_5); VAR_15 += data[VAR_4 + VAR_11*VAR_9] * VAR_17; VAR_14 += VAR_17; } data[VAR_4 + VAR_5*VAR_9] = (VAR_15 + (VAR_14>>1)) / VAR_14; } } } }