static void mono_to_gray(AVPicture *dst, AVPicture *src,
static void mono_to_gray(AVPicture *dst, const AVPicture *src,
static void mono_to_gray(AVPicture *dst, AVPicture *src,                         int width, int height, int xor_mask){    const unsigned char *p;    unsigned char *q;    int v, dst_wrap, src_wrap;    int y, w;    p = src->data[0];    src_wrap = src->linesize[0] - ((width + 7) >> 3);    q = dst->data[0];    dst_wrap = dst->linesize[0] - width;    for(y=0;y<height;y++) {        w = width;         while (w >= 8) {            v = *p++ ^ xor_mask;            q[0] = -(v >> 7);            q[1] = -((v >> 6) & 1);            q[2] = -((v >> 5) & 1);            q[3] = -((v >> 4) & 1);            q[4] = -((v >> 3) & 1);            q[5] = -((v >> 2) & 1);            q[6] = -((v >> 1) & 1);            q[7] = -((v >> 0) & 1);            w -= 8;            q += 8;        }        if (w > 0) {            v = *p++ ^ xor_mask;            do {                q[0] = -((v >> 7) & 1);                q++;                v <<= 1;            } while (--w);        }        p += src_wrap;        q += dst_wrap;    }}