swscale: set dither to a specific value for rgb/bgr8 output
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 19 Aug 2013 16:29:40 +0000 (18:29 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 19 Aug 2013 16:31:35 +0000 (18:31 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libswscale/utils.c

index 3303dcb..89b8a61 100644 (file)
@@ -1203,6 +1203,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
        dstFormat == AV_PIX_FMT_RGB4_BYTE ||
        dstFormat == AV_PIX_FMT_BGR8 ||
        dstFormat == AV_PIX_FMT_RGB8) {
+        if (c->dither == SWS_DITHER_AUTO)
+            c->dither = (flags & SWS_FULL_CHR_H_INT) ? SWS_DITHER_ED : SWS_DITHER_BAYER;
         if (c->dither == SWS_DITHER_ED && !(flags & SWS_FULL_CHR_H_INT)) {
             av_log(c, AV_LOG_DEBUG,
                 "Error diffusion dither is only supported in full chroma interpolation for destination format '%s'\n",