Revision 9c49ca0f

View differences:

libswscale/swscale.c
1859 1859

  
1860 1860
#define DITHER_COPY(dst, dstStride, src, srcStride)\
1861 1861
    for (i = 0; i < height; i++) {\
1862
        int shift= src_depth-dst_depth;\
1862 1863
        uint8_t *dither= dithers[src_depth-9][i&7];\
1863 1864
        for (j = 0; j < length-7; j+=8){\
1864
            dst[j+0] = (src[j+0] + dither[0])>>(src_depth-dst_depth);\
1865
            dst[j+1] = (src[j+1] + dither[1])>>(src_depth-dst_depth);\
1866
            dst[j+2] = (src[j+2] + dither[2])>>(src_depth-dst_depth);\
1867
            dst[j+3] = (src[j+3] + dither[3])>>(src_depth-dst_depth);\
1868
            dst[j+4] = (src[j+4] + dither[4])>>(src_depth-dst_depth);\
1869
            dst[j+5] = (src[j+5] + dither[5])>>(src_depth-dst_depth);\
1870
            dst[j+6] = (src[j+6] + dither[6])>>(src_depth-dst_depth);\
1871
            dst[j+7] = (src[j+7] + dither[7])>>(src_depth-dst_depth);\
1865
            dst[j+0] = (src[j+0] + dither[0])>>shift;\
1866
            dst[j+1] = (src[j+1] + dither[1])>>shift;\
1867
            dst[j+2] = (src[j+2] + dither[2])>>shift;\
1868
            dst[j+3] = (src[j+3] + dither[3])>>shift;\
1869
            dst[j+4] = (src[j+4] + dither[4])>>shift;\
1870
            dst[j+5] = (src[j+5] + dither[5])>>shift;\
1871
            dst[j+6] = (src[j+6] + dither[6])>>shift;\
1872
            dst[j+7] = (src[j+7] + dither[7])>>shift;\
1872 1873
        }\
1873 1874
        for (; j < length; j++)\
1874
            dst[j] = (src[j] + dither[j&7])>>(src_depth-dst_depth);\
1875
            dst[j] = (src[j] + dither[j&7])>>shift;\
1875 1876
        dst += dstStride;\
1876 1877
        src += srcStride;\
1877 1878
    }

Also available in: Unified diff